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, void *value, mph_size_t size, gint32 flags)
29 mph_return_if_size_t_overflow (size);
31 if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
35 return setxattr (path, name, value, size, 0, _flags);
37 return setxattr (path, name, value, size, _flags);
43 Mono_Posix_Syscall_lsetxattr (const char *path, const char *name, void *value, mph_size_t size, gint32 flags)
46 mph_return_if_size_t_overflow (size);
48 if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
51 return lsetxattr (path, name, value, size, _flags);
56 Mono_Posix_Syscall_fsetxattr (int fd, const char *name, void *value, mph_size_t size, gint32 flags)
59 mph_return_if_size_t_overflow (size);
61 if (Mono_Posix_FromXattrFlags (flags, &_flags) == -1)
65 return fsetxattr (fd, name, value, (size_t) size, 0, _flags);
67 return fsetxattr (fd, name, value, (size_t) size, _flags);
73 Mono_Posix_Syscall_getxattr (const char *path, const char *name, void *value, mph_size_t size)
75 mph_return_if_size_t_overflow (size);
77 return getxattr (path, name, value, (size_t) size, 0, 0);
79 return getxattr (path, name, value, (size_t) size);
85 Mono_Posix_Syscall_lgetxattr (const char *path, const char *name, void *value, mph_size_t size)
87 mph_return_if_size_t_overflow (size);
88 return lgetxattr (path, name, value, (size_t) size);
93 Mono_Posix_Syscall_fgetxattr (int fd, const char *name, void *value, mph_size_t size)
95 mph_return_if_size_t_overflow (size);
97 return fgetxattr (fd, name, value, (size_t) size, 0, 0);
99 return fgetxattr (fd, name, value, (size_t) size);
104 Mono_Posix_Syscall_listxattr (const char *path, void *list, mph_size_t size)
106 mph_return_if_size_t_overflow (size);
108 return listxattr (path, (char *) list, (size_t) size, 0);
110 return listxattr (path, (char *) list, (size_t) size);
116 Mono_Posix_Syscall_llistxattr (const char *path, void *list, mph_size_t size)
118 mph_return_if_size_t_overflow (size);
119 return llistxattr (path, (char *) list, (size_t) size);
124 Mono_Posix_Syscall_flistxattr (int fd, void *list, mph_size_t size)
126 mph_return_if_size_t_overflow (size);
128 return flistxattr (fd, (char *) list, (size_t) size, 0);
130 return flistxattr (fd, (char *) list, (size_t) size);
136 #endif /* def HAVE_ATTR_XATTR_H */