setxattr(2) System Calls Manual setxattr(2) setxattr, lsetxattr, fsetxattr - C (libc, -lc) #include int setxattr(const char *path, const char *name, const void value[.size], size_t size, int flags); int lsetxattr(const char *path, const char *name, const void value[.size], size_t size, int flags); int fsetxattr(int fd, const char *name, const void value[.size], size_t size, int flags); : inode (, , ..). , inode (, stat(2)). xattr(7). setxattr() value , name path . size ( ) value; . lsetxattr() setxattr(), ; , , . fsetxattr() setxattr(), , , fd ( open(2)), path. , null. name ; , inode. value . (. ., flags ), , , , . , flags : XATTR_CREATE , -- . XATTR_REPLACE , -- . On success, zero is returned. On failure, -1 is returned and errno is set to indicate the error. EDQUOT ; . EEXIST XATTR_CREATE, . ENODATA XATTR_REPLACE, . ENOSPC . ENOTSUP name. ENOTSUP . EPERM (immutable) ( FS_IOC_SETFLAGS(2const)). , stat(2). ERANGE name value , . Linux. Linux 2.4, glibc 2.3. getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2), removexattr(2), stat(2), symlink(7), xattr(7) () Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () <>. Linux 6.9.1 13 2024 . setxattr(2)