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
25
29# ifndef __VSF_APPLET__
31# endif
32#endif
33
34#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_CAPABILITY_LIB__))\
35 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_CAPABILITY == ENABLED
36
37#ifndef VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT
38# if VSF_LINUX_USE_APPLET == ENABLED
39# define VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT \
40 ((vsf_linux_sys_capability_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_capability_vplt))
41# else
42# define VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT \
43 ((vsf_linux_sys_capability_vplt_t *)vsf_vplt((void *)0))
44# endif
45#endif
46
47#define VSF_LINUX_APPLET_SYS_CAPABILITY_ENTRY(__NAME) \
48 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT, __NAME)
49#define VSF_LINUX_APPLET_SYS_CAPABILITY_IMP(...) \
50 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_CAPABILITY_VPLT, __VA_ARGS__)
51
52#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_CAPABILITY
53
55int capset(cap_user_header_t hdrp, const cap_user_data_t datap);
56
57#endif // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_CAPABILITY
58
59#ifdef __cplusplus
60}
61#endif
62
63#endif // __VSF_LINUX_CAPABILITY_H__
Definition capability.h:24
Definition capability.h:19
Definition capability.h:23
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:4807
#define capget
Definition capability.h:18
Definition vsf_cfg.h:95
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93