summaryrefslogtreecommitdiffstats
path: root/sys/kern/syscalls.master
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2001-03-31 16:20:05 +0000
committerrwatson <rwatson@FreeBSD.org>2001-03-31 16:20:05 +0000
commitcb4f33ea3159d458714cc82ae47bdeca7b9d636f (patch)
tree6c91438e0bae4ef89921aa2478673f15ddd9b7e3 /sys/kern/syscalls.master
parent1d52622861ade01fba488110e63ed8ba868cfcdf (diff)
downloadFreeBSD-src-cb4f33ea3159d458714cc82ae47bdeca7b9d636f.zip
FreeBSD-src-cb4f33ea3159d458714cc82ae47bdeca7b9d636f.tar.gz
o Introduce extattr_{delete,get,set}_fd() to allow extended attribute
operations on file descriptors, which complement the existing set of calls, extattr_{delete,get,set}_file() which act on paths. In doing so, restructure the system call implementation such that the two sets of functions share most of the relevant code, rather than duplicating it. This pushes the vnode locking into the shared code, but keeps the copying in of some arguments in the system call code. Allowing access via file descriptors reduces the opportunity for race conditions when managing extended attributes. Obtained from: TrustedBSD Project
Diffstat (limited to 'sys/kern/syscalls.master')
-rw-r--r--sys/kern/syscalls.master8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 4130ff6..aec2ea6 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -533,3 +533,11 @@
368 STD BSD { int __cap_set_fd(int fd, struct cap *cap_p); }
369 STD BSD { int __cap_set_file(const char *path_p, struct cap *cap_p); }
370 NODEF NOHIDE lkmressys lkmressys nosys_args int
+371 STD BSD { int extattr_set_fd(int fd, int attrnamespace, \
+ const char *attrname, struct iovec *iovp, \
+ int iovcnt); }
+372 STD BSD { int extattr_get_fd(int fd, int attrnamespace, \
+ const char *attrname, struct iovec *iovp, \
+ int iovcnt); }
+373 STD BSD { int extattr_delete_fd(int fd, int attrnamespace, \
+ const char *attrname); }
OpenPOWER on IntegriCloud