VSF Documented
capability.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SYS_CAPABILITY_H__
2#define __VSF_LINUX_SYS_CAPABILITY_H__
3
5
6#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
7# include "./types.h"
8#else
9# include <sys/types.h>
10#endif
11#include <linux/capability.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#if VSF_LINUX_CFG_WRAPPER == ENABLED
18#define capget VSF_LINUX_WRAPPER(capget)
19#define capset VSF_LINUX_WRAPPER(capset)
20#endif
21
22#if VSF_LINUX_APPLET_USE_SYS_CAPABILITY == ENABLED
30# ifndef __VSF_APPLET__
32# endif
33#endif
34
35#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_CAPABILITY_LIB__))\
36 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_CAPABILITY == ENABLED
37
38#ifndef VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT
39# if VSF_LINUX_USE_APPLET == ENABLED
40# define VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT \
41 ((vsf_linux_sys_capability_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_capability_vplt))
42# else
43# define VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT \
44 ((vsf_linux_sys_capability_vplt_t *)vsf_vplt((void *)0))
45# endif
46#endif
47
48#define VSF_LINUX_APPLET_SYS_CAPABILITY_ENTRY(__NAME) \
49 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT, __NAME)
50#define VSF_LINUX_APPLET_SYS_CAPABILITY_IMP(...) \
51 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT, __VA_ARGS__)
52
53#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_CAPABILITY
54
56int capset(cap_user_header_t hdrp, const cap_user_data_t datap);
57
58#endif // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_CAPABILITY
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif // __VSF_LINUX_CAPABILITY_H__
Definition capability.h:24
Definition capability.h:19
Definition capability.h:23
VSF_APPLET_VPLT_ENTRY_MOD_DEF(libsys_capability)
vsf_vplt_info_t info
Definition capability.h:24
#define capset
Definition capability.h:19
__VSF_VPLT_DECORATOR__ vsf_linux_sys_capability_vplt_t vsf_linux_sys_capability_vplt
Definition vsf_linux.c:5106
#define capget
Definition capability.h:18
struct vsf_linux_sys_capability_vplt_t vsf_linux_sys_capability_vplt_t
Definition vsf_cfg.h:95
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
Generated from commit: vsfteam/vsf@ed71743