1#ifndef __VSF_LINUX_SYS_XATTR_H__
2#define __VSF_LINUX_SYS_XATTR_H__
5#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
6# include "../sys/types.h"
15#if VSF_LINUX_CFG_WRAPPER == ENABLED
16#define removexattr VSF_LINUX_WRAPPER(removexattr)
17#define lremovexattr VSF_LINUX_WRAPPER(lremovexattr)
18#define fremovexattr VSF_LINUX_WRAPPER(fremovexattr)
19#define setxattr VSF_LINUX_WRAPPER(setxattr)
20#define lsetxattr VSF_LINUX_WRAPPER(lsetxattr)
21#define fsetxattr VSF_LINUX_WRAPPER(fsetxattr)
22#define getxattr VSF_LINUX_WRAPPER(getxattr)
23#define lgetxattr VSF_LINUX_WRAPPER(lgetxattr)
24#define fgetxattr VSF_LINUX_WRAPPER(fgetxattr)
27#if VSF_LINUX_APPLET_USE_SYS_XATTR == ENABLED
41# ifndef __VSF_APPLET__
46#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_XATTR_LIB__))\
47 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_XATTR == ENABLED
49#ifndef VSF_LINUX_APPLET_SYS_XATTR_VPLT
50# if VSF_LINUX_USE_APPLET == ENABLED
51# define VSF_LINUX_APPLET_SYS_XATTR_VPLT \
52 ((vsf_linux_sys_xattr_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_xattr_vplt))
54# define VSF_LINUX_APPLET_SYS_XATTR_VPLT \
55 ((vsf_linux_sys_xattr_vplt_t *)vsf_vplt((void *)0))
59#define VSF_LINUX_APPLET_SYS_XATTR_ENTRY(__NAME) \
60 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_XATTR_VPLT, __NAME)
61#define VSF_LINUX_APPLET_SYS_XATTR_IMP(...) \
62 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_XATTR_VPLT, __VA_ARGS__)
64VSF_LINUX_APPLET_SYS_XATTR_IMP(
removexattr,
int,
const char *path,
const char *name) {
66 return VSF_LINUX_APPLET_SYS_XATTR_ENTRY(
removexattr)(path, name);
68VSF_LINUX_APPLET_SYS_XATTR_IMP(
lremovexattr,
int,
const char *path,
const char *name) {
70 return VSF_LINUX_APPLET_SYS_XATTR_ENTRY(
lremovexattr)(path, name);
72VSF_LINUX_APPLET_SYS_XATTR_IMP(
fremovexattr,
int,
int fd,
const char *name) {
74 return VSF_LINUX_APPLET_SYS_XATTR_ENTRY(
fremovexattr)(fd, name);
77VSF_LINUX_APPLET_SYS_XATTR_IMP(
setxattr,
int,
const char *path,
const char *name,
const void *
value,
size_t size,
int flags) {
79 return VSF_LINUX_APPLET_SYS_XATTR_ENTRY(
setxattr)(path, name,
value,
size, flags);
81VSF_LINUX_APPLET_SYS_XATTR_IMP(
lsetxattr,
int,
const char *path,
const char *name,
const void *
value,
size_t size,
int flags) {
85VSF_LINUX_APPLET_SYS_XATTR_IMP(
fsetxattr,
int,
int fd,
const char *name,
const void *
value,
size_t size,
int flags) {
105int removexattr(
const char *path,
const char *name);
109int setxattr(
const char *path,
const char *name,
const void *
value,
size_t size,
int flags);
110int lsetxattr(
const char *path,
const char *name,
const void *
value,
size_t size,
int flags);
int ssize_t
Definition types.h:68
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(lremovexattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(lgetxattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(lsetxattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getxattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(setxattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(fgetxattr)
vsf_vplt_info_t info
Definition xattr.h:29
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(removexattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(fsetxattr)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(fremovexattr)
#define removexattr
Definition xattr.h:16
#define lsetxattr
Definition xattr.h:20
__VSF_VPLT_DECORATOR__ vsf_linux_sys_xattr_vplt_t vsf_linux_sys_xattr_vplt
Definition vsf_linux.c:5261
#define setxattr
Definition xattr.h:19
#define lremovexattr
Definition xattr.h:17
#define getxattr
Definition xattr.h:22
#define fsetxattr
Definition xattr.h:21
#define fgetxattr
Definition xattr.h:24
#define lgetxattr
Definition xattr.h:23
#define fremovexattr
Definition xattr.h:18
vk_av_control_value_t value
Definition vsf_audio.h:171
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165
uint32_t size
Definition vsf_memfs.h:50