1#ifndef EXTATTR_LINUX_H
2#define EXTATTR_LINUX_H
3
4#include <sys/types.h>
5#include <attr/attributes.h>
6#include <attr/xattr.h>
7
8struct hv;
9
10int linux_setxattr (const char *path,
11                    const char *attrname,
12                    const char *attrvalue,
13                    const size_t slen,
14                    struct hv *flags);
15
16int linux_fsetxattr (const int fd,
17                     const char *attrname,
18                     const char *attrvalue,
19                     const size_t slen,
20                     struct hv *flags);
21
22int linux_getxattr (const char *path,
23                    const char *attrname,
24                    void *attrvalue,
25                    const size_t slen,
26                    struct hv *flags);
27
28int linux_fgetxattr (const int fd,
29                     const char *attrname,
30                     void *attrvalue,
31                     const size_t slen,
32                     struct hv *flags);
33
34int linux_removexattr (const char *path,
35                       const char *attrname,
36                       struct hv *flags);
37
38int linux_fremovexattr (const int fd,
39                        const char *attrname,
40                        struct hv *flags);
41
42ssize_t linux_listxattr (const char *path,
43                         char *buf,
44                         const size_t buflen,
45                         struct hv *flags);
46
47ssize_t linux_flistxattr (const int fd,
48                          char *buf,
49                          const size_t buflen,
50                          struct hv *flags);
51
52ssize_t linux_listxattrns (const char *path,
53			   char *buf,
54			   const size_t buflen,
55			   struct hv *flags);
56
57ssize_t linux_flistxattrns (const int fd,
58			    char *buf,
59			    const size_t buflen,
60			    struct hv *flags);
61
62#endif /* EXTATTR_LINUX_H */
63