The improved --xattrs option is landing on the trunk.
[rsync/rsync.git] / lib / sysxattrs.h
1 #ifdef SUPPORT_XATTRS
2
3 #if defined HAVE_ATTR_XATTR_H
4 #include <attr/xattr.h>
5 #elif defined HAVE_SYS_XATTR_H
6 #include <sys/xattr.h>
7 #elif defined HAVE_SYS_EXTATTR_H
8 #include <sys/extattr.h>
9 #endif
10
11 /* Linux 2.4 does not define this as a distinct errno value: */
12 #ifndef ENOATTR
13 #define ENOATTR ENODATA
14 #endif
15
16 ssize_t sys_lgetxattr(const char *path, const char *name, void *value, size_t size);
17 ssize_t sys_fgetxattr(int filedes, const char *name, void *value, size_t size);
18 int sys_lsetxattr(const char *path, const char *name, const void *value, size_t size);
19 int sys_lremovexattr(const char *path, const char *name);
20 ssize_t sys_llistxattr(const char *path, char *list, size_t size);
21
22 #else
23
24 /* No xattrs available */
25
26 #endif