2 * <sys/xattr.h> wrapper functions.
5 * Daniel Drake (dsd@gentoo.org)
7 * Copyright (C) 2005 Daniel Drake
12 #ifdef HAVE_SYS_XATTR_H
14 #include <sys/types.h>
15 #include <sys/xattr.h>
26 Mono_Posix_Syscall_setxattr (const char *path, const char *name, char *value, mph_size_t size, gint32 flags)
29 mph_return_if_size_t_overflow (size);
31 if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
34 return setxattr (path, name, value, size, _flags);
38 Mono_Posix_Syscall_lsetxattr (const char *path, const char *name, char *value, mph_size_t size, gint32 flags)
41 mph_return_if_size_t_overflow (size);
43 if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
46 return lsetxattr (path, name, value, size, _flags);
50 Mono_Posix_Syscall_fsetxattr (int fd, const char *name, char *value, mph_size_t size, gint32 flags)
53 mph_return_if_size_t_overflow (size);
55 if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
58 return lsetxattr (fd, name, value, (size_t) size, _flags);
62 Mono_Posix_Syscall_getxattr (const char *path, const char *name, void *value, mph_size_t size)
64 mph_return_if_size_t_overflow (size);
65 return getxattr (path, name, value, (size_t) size);
69 Mono_Posix_Syscall_lgetxattr (const char *path, const char *name, void *value, mph_size_t size)
71 mph_return_if_size_t_overflow (size);
72 return lgetxattr (path, name, value, (size_t) size);
76 Mono_Posix_Syscall_fgetxattr (int fd, const char *name, void *value, mph_size_t size)
78 mph_return_if_size_t_overflow (size);
79 return fgetxattr (fd, name, value, (size_t) size);
83 Mono_Posix_Syscall_listxattr (const char *path, char *list, mph_size_t size)
85 mph_return_if_size_t_overflow (size);
86 return listxattr (path, list, (size_t) size);
90 Mono_Posix_Syscall_llistxattr (const char *path, char *list, mph_size_t size)
92 mph_return_if_size_t_overflow (size);
93 return llistxattr (path, list, (size_t) size);
97 Mono_Posix_Syscall_flistxattr (int fd, char *list, mph_size_t size)
99 mph_return_if_size_t_overflow (size);
100 return flistxattr (fd, list, (size_t) size);
105 #endif /* def HAVE_ATTR_XATTR_H */