diff --git a/include/sys/xattr.h b/include/sys/xattr.h index 2801cb8518dd4bde6fe9e78a4ed0059970468794..f926493cbca804f0c53d063fedd8761a46f397a2 100644 --- a/include/sys/xattr.h +++ b/include/sys/xattr.h @@ -20,6 +20,9 @@ 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); +int removexattr(const char *, const char *); +int lremovexattr(const char *, const char *); +int fremovexattr(int, const char *); #ifdef __cplusplus } diff --git a/src/linux/xattr.c b/src/linux/xattr.c index a66ab827c409b371c8c479070d0ee19f37985ace..fea0d209ace7a2bc5f69e70a3951f37ec7f6cbcc 100644 --- a/src/linux/xattr.c +++ b/src/linux/xattr.c @@ -45,3 +45,18 @@ int fsetxattr(int filedes, const char *name, const void *value, size_t size, int { return syscall(SYS_fsetxattr, filedes, name, value, size, flags); } + +int removexattr(const char *path, const char *name) +{ + return syscall(SYS_removexattr, path, name); +} + +int lremovexattr(const char *path, const char *name) +{ + return syscall(SYS_lremovexattr, path, name); +} + +int fremovexattr(int fd, const char *name) +{ + return syscall(SYS_fremovexattr, fd, name); +}