commit e006165a84869bbda990986d8169cb5592de6fc0
parent 1eb1ee69c681f18377765d0fa8a4a12cd9a84d64
Author: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
Date: Wed, 26 Jun 2024 12:20:08 +0200
syscalls: add setxattr
Diffstat:
1 file changed, 20 insertions(+), 0 deletions(-)
diff --git a/rt/+linux/syscalls.ha b/rt/+linux/syscalls.ha
@@ -1042,3 +1042,23 @@ export fn shutdown(sockfd: int, how: int) (void | errno) = {
wrap_return(syscall2(SYS_shutdown,
sockfd: u64, how: u64))?;
};
+
+// Sets an extended file attribute.
+export fn setxattr(
+ path: path,
+ name: str,
+ value: []u8,
+ flags: int = 0
+) (void | errno) = {
+ let path = kpath(path)?;
+ static let namebuf: [PATH_MAX]u8 = [0...];
+ let name = copy_kpath(name, namebuf)?;
+
+ wrap_return(syscall5(SYS_setxattr,
+ path: uintptr: u64,
+ name: uintptr: u64,
+ value: *[*]u8: uintptr: u64,
+ len(value): u64,
+ flags: u64
+ ))?;
+};