previous: >>108723814
#define __NR_setxattr 188
#define __NR_lsetxattr 189
#define __NR_fsetxattr 190
#define __NR_getxattr 191
#define __NR_lgetxattr 192
#define __NR_fgetxattr 193
#define __NR_listxattr 194
#define __NR_llistxattr 195
#define __NR_flistxattr 196
#define __NR_removexattr 197
#define __NR_lremovexattr 198
#define __NR_fremovexattr 199
#define __NR_setxattrat 463
#define __NR_getxattrat 464
#define __NR_listxattrat 465
#define __NR_removexattrat 466
https://man7.org/linux/man-pages/man7/xattr.7.html
tl;dr:
extended filesystem attributes
the manpage link above doesn't let you immediately jump to *every* xattr syscall manpage, but i believe that by now all of you should have figured out how to navigate the manpages on your own anyway. i believe in you!
basically, these let you set attributes on files (to include directories, etc.) in the form of atomic name:value pairs. the names can be further subdivided into classes, and these always form null-terminated strings. it seems like the value can be a mostly arbitrary length blob. of course, this means that querying for the length in order to allocate a buffer is inherently racy :^) yay linux!
anyone ever had a reason to use these before? i'm sure they're useful to someone, but that person isn't me
relevant resources:
man man
man syscalls
https://man7.org/linux/man-pages/
https://linux.die.net/man/
https://elixir.bootlin.com/linux/
https://elixir.bootlin.com/musl/
https://elixir.bootlin.com/glibc/