summaryrefslogtreecommitdiff
path: root/src/libk/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/libk/include')
-rw-r--r--src/libk/include/camellia/syscalls.h3
-rw-r--r--src/libk/include/camellia/types.h4
-rw-r--r--src/libk/include/limits.h3
3 files changed, 10 insertions, 0 deletions
diff --git a/src/libk/include/camellia/syscalls.h b/src/libk/include/camellia/syscalls.h
index 628a511..b8dd52e 100644
--- a/src/libk/include/camellia/syscalls.h
+++ b/src/libk/include/camellia/syscalls.h
@@ -25,6 +25,7 @@
#define _SYS_GETNULL 24
#define _SYS_DUPLEX 25
#define _SYS_INTR_RETURN 26
+#define _SYS_GETXATTR 27
#define _SYS_EXECBUF 100
#define _SYS_DEBUG_KLOG 101
@@ -95,6 +96,8 @@ long _sys_duplex(hid_t from, hid_t to, int flags);
void _sys_intr_return(struct intr_data __user *intr, int flags);
+ssize_t _sys_getxattr(hid_t h, const char __user *name, void __user *buf, size_t len, int flags);
+
/* see shared/execbuf.h */
long _sys_execbuf(void __user *buf, size_t len);
diff --git a/src/libk/include/camellia/types.h b/src/libk/include/camellia/types.h
index 0790db3..6864d4c 100644
--- a/src/libk/include/camellia/types.h
+++ b/src/libk/include/camellia/types.h
@@ -13,6 +13,9 @@
typedef void __user * userptr_t;
typedef int hid_t;
+// TODO custom stdint
+typedef long long ssize_t;
+
enum vfs_op {
VFSOP_OPEN,
VFSOP_READ,
@@ -21,6 +24,7 @@ enum vfs_op {
VFSOP_REMOVE,
VFSOP_CLOSE,
VFSOP_DUPLEX,
+ VFSOP_GETXATTR,
};
struct ufs_request {
diff --git a/src/libk/include/limits.h b/src/libk/include/limits.h
index f0f028c..5ea0a71 100644
--- a/src/libk/include/limits.h
+++ b/src/libk/include/limits.h
@@ -4,3 +4,6 @@
#define PATH_MAX 512
#define _POSIX2_RE_DUP_MAX 255
#define INTR_MAX 64
+
+/* Maximum length of xattr name, including the terminating NUL. */
+#define XATTRNAME_MAX 256