mirror of https://git.musl-libc.org/git/musl
2 changed files with 74 additions and 0 deletions
@ -0,0 +1,27 @@ |
|||||
|
#ifndef _SYS_XATTR_H |
||||
|
#define _SYS_XATTR_H |
||||
|
#ifdef __cplusplus |
||||
|
extern "C" { |
||||
|
#endif |
||||
|
|
||||
|
#define __NEED_ssize_t |
||||
|
#define __NEED_size_t |
||||
|
#include <bits/alltypes.h> |
||||
|
|
||||
|
#define XATTR_CREATE 1 |
||||
|
#define XATTR_REPLACE 2 |
||||
|
|
||||
|
ssize_t getxattr(const char *, const char *, void *, size_t); |
||||
|
ssize_t lgetxattr(const char *, const char *, void *, size_t); |
||||
|
ssize_t fgetxattr(int filedes, const char *, void *, size_t); |
||||
|
ssize_t listxattr(const char *, char *, size_t); |
||||
|
ssize_t llistxattr(const char *, char *, size_t); |
||||
|
ssize_t flistxattr(int filedes, char *, size_t); |
||||
|
int setxattr(const char *, const char *, const void *, size_t, int); |
||||
|
int lsetxattr(const char *, const char *, const void *, size_t, int); |
||||
|
int fsetxattr(int, const char *, const void *, size_t, int); |
||||
|
|
||||
|
#ifdef __cplusplus |
||||
|
} |
||||
|
#endif |
||||
|
#endif |
||||
@ -0,0 +1,47 @@ |
|||||
|
#include <sys/xattr.h> |
||||
|
#include "syscall.h" |
||||
|
|
||||
|
ssize_t getxattr(const char *path, const char *name, void *value, size_t size) |
||||
|
{ |
||||
|
return syscall(SYS_getxattr, path, name, value, size); |
||||
|
} |
||||
|
|
||||
|
ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size) |
||||
|
{ |
||||
|
return syscall(SYS_lgetxattr, path, name, value, size); |
||||
|
} |
||||
|
|
||||
|
ssize_t fgetxattr(int filedes, const char *name, void *value, size_t size) |
||||
|
{ |
||||
|
return syscall(SYS_fgetxattr, filedes, name, value, size); |
||||
|
} |
||||
|
|
||||
|
ssize_t listxattr(const char *path, char *list, size_t size) |
||||
|
{ |
||||
|
return syscall(SYS_listxattr, path, list, size); |
||||
|
} |
||||
|
|
||||
|
ssize_t llistxattr(const char *path, char *list, size_t size) |
||||
|
{ |
||||
|
return syscall(SYS_llistxattr, path, list, size); |
||||
|
} |
||||
|
|
||||
|
ssize_t flistxattr(int filedes, char *list, size_t size) |
||||
|
{ |
||||
|
return syscall(SYS_flistxattr, filedes, list, size); |
||||
|
} |
||||
|
|
||||
|
int setxattr(const char *path, const char *name, const void *value, size_t size, int flags) |
||||
|
{ |
||||
|
return syscall(SYS_setxattr, path, name, value, size, flags); |
||||
|
} |
||||
|
|
||||
|
int lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags) |
||||
|
{ |
||||
|
return syscall(SYS_lsetxattr, path, name, value, size, flags); |
||||
|
} |
||||
|
|
||||
|
int fsetxattr(int filedes, const char *name, const void *value, size_t size, int flags) |
||||
|
{ |
||||
|
return syscall(SYS_fsetxattr, filedes, name, value, size, flags); |
||||
|
} |
||||
Loading…
Reference in new issue