75859ca578
by allprison_mtx), a unique prison/jail identifier field, two path fields (pr_path for reporting and pr_root vnode instance) to store the chroot() point of each jail. o Add jail_attach(2) to allow a process to bind to an existing jail. o Add change_root() to perform the chroot operation on a specified vnode. o Generalize change_dir() to accept a vnode, and move namei() calls to callers of change_dir(). o Add a new sysctl (security.jail.list) which is a group of struct xprison instances that represent a snapshot of active jails. Reviewed by: rwatson, tjr
612 lines
25 KiB
Plaintext
612 lines
25 KiB
Plaintext
$FreeBSD$
|
|
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
|
|
; from: src/sys/kern/syscalls.master 1.107
|
|
;
|
|
; System call name/number master file.
|
|
; Processed to created init_sysent.c, syscalls.c and syscall.h.
|
|
|
|
; Columns: number [M]type nargs namespc name alt{name,tag,rtyp}/comments
|
|
; number system call number, must be in order
|
|
; type one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
|
|
; [M]LIBCOMPAT, [M]NODEF, [M]NOARGS, [M]NOPROTO, [M]NOIMPL,
|
|
; [M]NOSTD
|
|
; namespc one of POSIX, BSD, NOHIDE
|
|
; name psuedo-prototype of syscall routine
|
|
; If one of the following alts is different, then all appear:
|
|
; altname name of system call if different
|
|
; alttag name of args struct tag if different from [o]`name'"_args"
|
|
; altrtyp return type if not int (bogus - syscalls always return int)
|
|
; for UNIMPL/OBSOL, name continues with comments
|
|
|
|
; types:
|
|
; [M] e.g. like MSTD -- means the system call is MP-safe. If no
|
|
; M prefix is used, the syscall wrapper will obtain the Giant
|
|
; lock for the syscall.
|
|
; STD always included
|
|
; COMPAT included on COMPAT #ifdef
|
|
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
|
|
; OBSOL obsolete, not included in system, only specifies name
|
|
; UNIMPL not implemented, placeholder only
|
|
; NOSTD implemented but as a lkm that can be statically
|
|
; compiled in sysent entry will be filled with lkmsys
|
|
; so the SYSCALL_MODULE macro works
|
|
|
|
; #ifdef's, etc. may be included, and are copied to the output files.
|
|
|
|
#include <sys/param.h>
|
|
#include <sys/sysent.h>
|
|
#include <sys/sysproto.h>
|
|
#include <sys/mount.h>
|
|
#include <ia64/ia32/ia32.h>
|
|
#include <ia64/ia32/ia32_proto.h>
|
|
|
|
; Reserved/unimplemented system calls in the range 0-150 inclusive
|
|
; are reserved for use in future Berkeley releases.
|
|
; Additional system calls implemented in vendor and other
|
|
; redistributions should be placed in the reserved range at the end
|
|
; of the current calls.
|
|
|
|
0 MNOPROTO NOHIDE { int nosys(void); } syscall nosys_args int
|
|
1 MNOPROTO NOHIDE { void sys_exit(int rval); } exit sys_exit_args void
|
|
2 MNOPROTO POSIX { int fork(void); }
|
|
3 MNOPROTO POSIX { ssize_t read(int fd, void *buf, size_t nbyte); }
|
|
4 MNOPROTO POSIX { ssize_t write(int fd, const void *buf, size_t nbyte); }
|
|
5 STD POSIX { int ia32_open(char *path, int flags, int mode); }
|
|
; XXX should be { int open(const char *path, int flags, ...); }
|
|
; but we're not ready for `const' or varargs.
|
|
; XXX man page says `mode_t mode'.
|
|
6 MNOPROTO POSIX { int close(int fd); }
|
|
7 MSTD BSD { int ia32_wait4(int pid, int *status, int options, \
|
|
struct rusage32 *rusage); }
|
|
8 OBSOL BSD old creat
|
|
9 NOPROTO POSIX { int link(char *path, char *link); }
|
|
10 NOPROTO POSIX { int unlink(char *path); }
|
|
11 OBSOL NOHIDE execv
|
|
12 NOPROTO POSIX { int chdir(char *path); }
|
|
13 NOPROTO BSD { int fchdir(int fd); }
|
|
14 NOPROTO POSIX { int mknod(char *path, int mode, int dev); }
|
|
15 NOPROTO POSIX { int chmod(char *path, int mode); }
|
|
16 NOPROTO POSIX { int chown(char *path, int uid, int gid); }
|
|
17 MNOPROTO BSD { int obreak(char *nsize); } break obreak_args int
|
|
18 STD BSD { int ia32_getfsstat(struct statfs32 *buf, \
|
|
long bufsize, int flags); }
|
|
19 OBSOL POSIX olseek
|
|
20 MNOPROTO POSIX { pid_t getpid(void); }
|
|
21 NOPROTO BSD { int mount(char *type, char *path, int flags, \
|
|
caddr_t data); }
|
|
; XXX `path' should have type `const char *' but we're not ready for that.
|
|
22 NOPROTO BSD { int unmount(char *path, int flags); }
|
|
23 MNOPROTO POSIX { int setuid(uid_t uid); }
|
|
24 MNOPROTO POSIX { uid_t getuid(void); }
|
|
25 MNOPROTO POSIX { uid_t geteuid(void); }
|
|
26 NOPROTO BSD { int ptrace(int req, pid_t pid, caddr_t addr, \
|
|
int data); }
|
|
27 UNIMPL BSD recvmsg
|
|
28 MNOPROTO BSD { int sendmsg(int s, caddr_t msg, int flags); }
|
|
29 MNOPROTO BSD { int recvfrom(int s, caddr_t buf, size_t len, \
|
|
int flags, caddr_t from, int *fromlenaddr); }
|
|
30 MNOPROTO BSD { int accept(int s, caddr_t name, int *anamelen); }
|
|
31 MNOPROTO BSD { int getpeername(int fdes, caddr_t asa, int *alen); }
|
|
32 MNOPROTO BSD { int getsockname(int fdes, caddr_t asa, int *alen); }
|
|
33 STD POSIX { int ia32_access(char *path, int flags); }
|
|
34 STD BSD { int ia32_chflags(char *path, int flags); }
|
|
35 NOPROTO BSD { int fchflags(int fd, int flags); }
|
|
36 NOPROTO BSD { int sync(void); }
|
|
37 MNOPROTO POSIX { int kill(int pid, int signum); }
|
|
38 UNIMPL POSIX ostat
|
|
39 MNOPROTO POSIX { pid_t getppid(void); }
|
|
40 UNIMPL POSIX olstat
|
|
41 NOPROTO POSIX { int dup(u_int fd); }
|
|
42 NOPROTO POSIX { int pipe(void); }
|
|
43 MNOPROTO POSIX { gid_t getegid(void); }
|
|
44 MNOPROTO BSD { int profil(caddr_t samples, size_t size, \
|
|
size_t offset, u_int scale); }
|
|
45 NOPROTO BSD { int ktrace(const char *fname, int ops, int facs, \
|
|
int pid); }
|
|
46 UNIMPL POSIX osigaction
|
|
47 MNOPROTO POSIX { gid_t getgid(void); }
|
|
48 UNIMPL POSIX osigprocmask
|
|
49 MNOPROTO BSD { int getlogin(char *namebuf, u_int namelen); }
|
|
50 MNOPROTO BSD { int setlogin(char *namebuf); }
|
|
51 MNOPROTO BSD { int acct(char *path); }
|
|
52 MNOPROTO POSIX { int sigpending(void); }
|
|
53 STD BSD { int ia32_sigaltstack(struct sigaltstack32 *ss, struct sigaltstack32 *oss); }
|
|
54 MNOPROTO POSIX { int ioctl(int fd, u_long com, caddr_t data); }
|
|
55 MNOPROTO BSD { int reboot(int opt); }
|
|
56 NOPROTO POSIX { int revoke(char *path); }
|
|
57 NOPROTO POSIX { int symlink(char *path, char *link); }
|
|
58 NOPROTO POSIX { int readlink(char *path, char *buf, int count); }
|
|
59 STD POSIX { int ia32_execve(char *fname, u_int32_t *argv, u_int32_t *envv); }
|
|
60 MNOPROTO POSIX { int umask(int newmask); } umask umask_args int
|
|
61 NOPROTO BSD { int chroot(char *path); }
|
|
62 OBSOL POSIX ofstat
|
|
63 OBSOL BSD ogetkerninfo
|
|
64 OBSOL BSD ogetpagesize
|
|
65 OBSOL BSD omsync
|
|
66 OBSOL BSD ovfork
|
|
67 OBSOL NOHIDE vread
|
|
68 OBSOL NOHIDE vwrite
|
|
69 MNOPROTO BSD { int sbrk(int incr); }
|
|
70 MNOPROTO BSD { int sstk(int incr); }
|
|
71 OBSOL BSD ommap
|
|
72 MNOPROTO BSD { int ovadvise(int anom); } vadvise ovadvise_args int
|
|
73 MNOPROTO BSD { int munmap(void *addr, size_t len); }
|
|
74 MNOPROTO BSD { int mprotect(const void *addr, size_t len, int prot); }
|
|
75 MNOPROTO BSD { int madvise(void *addr, size_t len, int behav); }
|
|
76 OBSOL NOHIDE vhangup
|
|
77 OBSOL NOHIDE vlimit
|
|
78 MNOPROTO BSD { int mincore(const void *addr, size_t len, \
|
|
char *vec); }
|
|
79 MNOPROTO POSIX { int getgroups(u_int gidsetsize, gid_t *gidset); }
|
|
80 MNOPROTO POSIX { int setgroups(u_int gidsetsize, gid_t *gidset); }
|
|
81 MNOPROTO POSIX { int getpgrp(void); }
|
|
82 MNOPROTO POSIX { int setpgid(int pid, int pgid); }
|
|
83 STD BSD { int ia32_setitimer(u_int which, \
|
|
struct itimerval32 *itv, \
|
|
struct itimerval32 *oitv); }
|
|
84 OBSOL BSD owait
|
|
85 OBSOL BSD oswapon
|
|
86 OBSOL BSD ogetitimer
|
|
87 OBSOL BSD ogethostname
|
|
88 OBSOL BSD osethostname
|
|
89 MNOPROTO BSD { int getdtablesize(void); }
|
|
90 MNOPROTO POSIX { int dup2(u_int from, u_int to); }
|
|
91 UNIMPL BSD getdopt
|
|
92 MNOPROTO POSIX { int fcntl(int fd, int cmd, long arg); }
|
|
; XXX should be { int fcntl(int fd, int cmd, ...); }
|
|
; but we're not ready for varargs.
|
|
; XXX man page says `int arg' too.
|
|
93 STD BSD { int ia32_select(int nd, fd_set *in, fd_set *ou, \
|
|
fd_set *ex, struct timeval32 *tv); }
|
|
; XXX need to override for big-endian - little-endian should work fine.
|
|
94 UNIMPL BSD setdopt
|
|
95 NOPROTO POSIX { int fsync(int fd); }
|
|
96 MNOPROTO BSD { int setpriority(int which, int who, int prio); }
|
|
97 MNOPROTO BSD { int socket(int domain, int type, int protocol); }
|
|
98 MNOPROTO BSD { int connect(int s, caddr_t name, int namelen); }
|
|
99 MNOPROTO BSD { int accept(int s, caddr_t name, int *anamelen); } \
|
|
accept accept_args int
|
|
100 MNOPROTO BSD { int getpriority(int which, int who); }
|
|
101 OBSOL BSD osend
|
|
102 OBSOL BSD orecv
|
|
103 OBSOL BSD osigreturn
|
|
104 MNOPROTO BSD { int bind(int s, caddr_t name, int namelen); }
|
|
105 MNOPROTO BSD { int setsockopt(int s, int level, int name, \
|
|
caddr_t val, int valsize); }
|
|
106 MNOPROTO BSD { int listen(int s, int backlog); }
|
|
107 OBSOL NOHIDE vtimes
|
|
108 OBSOL BSD osigvec
|
|
109 OBSOL BSD osigblock
|
|
110 OBSOL BSD osigsetmask
|
|
111 OBSOL POSIX osigsuspend
|
|
112 OBSOL BSD osigstack
|
|
113 OBSOL BSD orecvmsg
|
|
114 OBSOL BSD osendmsg
|
|
115 OBSOL NOHIDE vtrace
|
|
116 STD BSD { int ia32_gettimeofday(struct timeval32 *tp, \
|
|
struct timezone *tzp); }
|
|
117 STD BSD { int ia32_getrusage(int who, struct rusage32 *rusage); }
|
|
118 MNOPROTO BSD { int getsockopt(int s, int level, int name, \
|
|
caddr_t val, int *avalsize); }
|
|
119 UNIMPL NOHIDE resuba (BSD/OS 2.x)
|
|
120 STD BSD { int ia32_readv(int fd, struct iovec32 *iovp, u_int iovcnt); }
|
|
121 STD BSD { int ia32_writev(int fd, struct iovec32 *iovp, \
|
|
u_int iovcnt); }
|
|
122 STD BSD { int ia32_settimeofday(struct timeval32 *tv, \
|
|
struct timezone *tzp); }
|
|
123 NOPROTO BSD { int fchown(int fd, int uid, int gid); }
|
|
124 NOPROTO BSD { int fchmod(int fd, int mode); }
|
|
125 MNOPROTO BSD { int recvfrom(int s, caddr_t buf, size_t len, \
|
|
int flags, caddr_t from, int *fromlenaddr); } \
|
|
recvfrom recvfrom_args int
|
|
126 MNOPROTO BSD { int setreuid(int ruid, int euid); }
|
|
127 MNOPROTO BSD { int setregid(int rgid, int egid); }
|
|
128 NOPROTO POSIX { int rename(char *from, char *to); }
|
|
129 OBSOL BSD otruncate
|
|
130 OBSOL BSD ftruncate
|
|
131 MNOPROTO BSD { int flock(int fd, int how); }
|
|
132 NOPROTO POSIX { int mkfifo(char *path, int mode); }
|
|
133 MNOPROTO BSD { int sendto(int s, caddr_t buf, size_t len, \
|
|
int flags, caddr_t to, int tolen); }
|
|
134 MNOPROTO BSD { int shutdown(int s, int how); }
|
|
135 MNOPROTO BSD { int socketpair(int domain, int type, int protocol, \
|
|
int *rsv); }
|
|
136 NOPROTO POSIX { int mkdir(char *path, int mode); }
|
|
137 NOPROTO POSIX { int rmdir(char *path); }
|
|
138 STD BSD { int ia32_utimes(char *path, \
|
|
struct timeval32 *tptr); }
|
|
139 OBSOL NOHIDE 4.2 sigreturn
|
|
140 STD BSD { int ia32_adjtime(struct timeval32 *delta, \
|
|
struct timeval32 *olddelta); }
|
|
141 OBSOL BSD ogetpeername
|
|
142 OBSOL BSD ogethostid
|
|
143 OBSOL BSD sethostid
|
|
144 OBSOL BSD getrlimit
|
|
145 OBSOL BSD setrlimit
|
|
146 OBSOL BSD killpg
|
|
147 MNOPROTO POSIX { int setsid(void); }
|
|
148 NOPROTO BSD { int quotactl(char *path, int cmd, int uid, \
|
|
caddr_t arg); }
|
|
149 OBSOL BSD oquota
|
|
150 OBSOL BSD ogetsockname
|
|
|
|
; Syscalls 151-180 inclusive are reserved for vendor-specific
|
|
; system calls. (This includes various calls added for compatibity
|
|
; with other Unix variants.)
|
|
; Some of these calls are now supported by BSD...
|
|
151 UNIMPL NOHIDE sem_lock (BSD/OS 2.x)
|
|
152 UNIMPL NOHIDE sem_wakeup (BSD/OS 2.x)
|
|
153 UNIMPL NOHIDE asyncdaemon (BSD/OS 2.x)
|
|
154 UNIMPL NOHIDE nosys
|
|
; 155 is initialized by the NFS code, if present.
|
|
155 UNIMPL NOHIDE nfssvc
|
|
156 NOPROTO BSD { int getdirentries(int fd, char *buf, u_int count, \
|
|
long *basep); }
|
|
157 STD BSD { int ia32_statfs(char *path, struct statfs32 *buf); }
|
|
158 STD BSD { int ia32_fstatfs(int fd, struct statfs32 *buf); }
|
|
159 UNIMPL NOHIDE nosys
|
|
160 UNIMPL NOHIDE nosys
|
|
161 NOPROTO BSD { int getfh(char *fname, struct fhandle *fhp); }
|
|
162 MNOPROTO BSD { int getdomainname(char *domainname, int len); }
|
|
163 MNOPROTO BSD { int setdomainname(char *domainname, int len); }
|
|
164 MNOPROTO BSD { int uname(struct utsname *name); }
|
|
165 NOPROTO BSD { int sysarch(int op, char *parms); }
|
|
166 MNOPROTO BSD { int rtprio(int function, pid_t pid, \
|
|
struct rtprio *rtp); }
|
|
167 UNIMPL NOHIDE nosys
|
|
168 UNIMPL NOHIDE nosys
|
|
169 STD BSD { int ia32_semsys(int which, int a2, int a3, int a4, \
|
|
int a5); }
|
|
170 STD BSD { int ia32_msgsys(int which, int a2, int a3, int a4, \
|
|
int a5, int a6); }
|
|
171 STD BSD { int ia32_shmsys(int which, int a2, int a3, int a4); }
|
|
172 UNIMPL NOHIDE nosys
|
|
173 STD POSIX { ssize_t ia32_pread(int fd, void *buf, size_t nbyte, \
|
|
int pad, u_int32_t offsetlo, u_int32_t offsethi); }
|
|
; XXX note - bigendian is different
|
|
174 STD POSIX { ssize_t ia32_pwrite(int fd, const void *buf, \
|
|
size_t nbyte, int pad, u_int32_t offsetlo, \
|
|
u_int32_t offsethi); }
|
|
; XXX note - bigendian is different
|
|
175 UNIMPL NOHIDE nosys
|
|
176 MNOPROTO BSD { int ntp_adjtime(struct timex *tp); }
|
|
177 UNIMPL NOHIDE sfork (BSD/OS 2.x)
|
|
178 UNIMPL NOHIDE getdescriptor (BSD/OS 2.x)
|
|
179 UNIMPL NOHIDE setdescriptor (BSD/OS 2.x)
|
|
180 UNIMPL NOHIDE nosys
|
|
|
|
; Syscalls 181-199 are used by/reserved for BSD
|
|
181 MNOPROTO POSIX { int setgid(gid_t gid); }
|
|
182 MNOPROTO BSD { int setegid(gid_t egid); }
|
|
183 MNOPROTO BSD { int seteuid(uid_t euid); }
|
|
184 UNIMPL BSD lfs_bmapv
|
|
185 UNIMPL BSD lfs_markv
|
|
186 UNIMPL BSD lfs_segclean
|
|
187 UNIMPL BSD lfs_segwait
|
|
188 STD POSIX { int ia32_stat(char *path, struct stat32 *ub); }
|
|
189 STD POSIX { int ia32_fstat(int fd, struct stat32 *ub); }
|
|
190 STD POSIX { int ia32_lstat(char *path, struct stat32 *ub); }
|
|
191 NOPROTO POSIX { int pathconf(char *path, int name); }
|
|
192 MNOPROTO POSIX { int fpathconf(int fd, int name); }
|
|
193 UNIMPL NOHIDE nosys
|
|
194 MNOPROTO BSD { int getrlimit(u_int which, \
|
|
struct rlimit *rlp); } \
|
|
getrlimit __getrlimit_args int
|
|
195 MNOPROTO BSD { int setrlimit(u_int which, \
|
|
struct rlimit *rlp); } \
|
|
setrlimit __setrlimit_args int
|
|
196 NOPROTO BSD { int getdirentries(int fd, char *buf, u_int count, \
|
|
long *basep); }
|
|
197 STD BSD { caddr_t ia32_mmap(caddr_t addr, size_t len, \
|
|
int prot, int flags, int fd, int pad, \
|
|
u_int32_t poslo, u_int32_t poshi); }
|
|
198 NOPROTO NOHIDE { int nosys(void); } __syscall __syscall_args int
|
|
; XXX note - bigendian is different
|
|
199 STD POSIX { off_t ia32_lseek(int fd, int pad, \
|
|
u_int32_t offsetlo, u_int32_t offsethi, \
|
|
int whence); }
|
|
; XXX note - bigendian is different
|
|
200 STD BSD { int ia32_truncate(char *path, int pad, \
|
|
u_int32_t lengthlo, u_int32_t lengthhi); }
|
|
; XXX note - bigendian is different
|
|
201 STD BSD { int ia32_ftruncate(int fd, int pad, \
|
|
u_int32_t lengthlo, u_int32_t lengthhi); }
|
|
202 MSTD BSD { int ia32_sysctl(int *name, u_int namelen, \
|
|
void *old, u_int32_t *oldlenp, void *new, \
|
|
u_int32_t newlen); }
|
|
203 MNOPROTO BSD { int mlock(const void *addr, size_t len); }
|
|
204 MNOPROTO BSD { int munlock(const void *addr, size_t len); }
|
|
205 NOPROTO BSD { int undelete(char *path); }
|
|
206 NOPROTO BSD { int futimes(int fd, struct timeval *tptr); }
|
|
207 MNOPROTO BSD { int getpgid(pid_t pid); }
|
|
208 UNIMPL NOHIDE newreboot (NetBSD)
|
|
209 MNOPROTO BSD { int poll(struct pollfd *fds, u_int nfds, \
|
|
int timeout); }
|
|
|
|
;
|
|
; The following are reserved for loadable syscalls
|
|
;
|
|
210 UNIMPL NOHIDE
|
|
211 UNIMPL NOHIDE
|
|
212 UNIMPL NOHIDE
|
|
213 UNIMPL NOHIDE
|
|
214 UNIMPL NOHIDE
|
|
215 UNIMPL NOHIDE
|
|
216 UNIMPL NOHIDE
|
|
217 UNIMPL NOHIDE
|
|
218 UNIMPL NOHIDE
|
|
219 UNIMPL NOHIDE
|
|
|
|
;
|
|
; The following were introduced with NetBSD/4.4Lite-2
|
|
; They are initialized by thier respective modules/sysinits
|
|
220 MNOPROTO BSD { int __semctl(int semid, int semnum, int cmd, \
|
|
union semun *arg); }
|
|
221 MNOPROTO BSD { int semget(key_t key, int nsems, int semflg); }
|
|
222 MNOPROTO BSD { int semop(int semid, struct sembuf *sops, \
|
|
u_int nsops); }
|
|
223 UNIMPL NOHIDE semconfig
|
|
224 MNOPROTO BSD { int msgctl(int msqid, int cmd, \
|
|
struct msqid_ds *buf); }
|
|
225 MNOPROTO BSD { int msgget(key_t key, int msgflg); }
|
|
226 MNOPROTO BSD { int msgsnd(int msqid, void *msgp, size_t msgsz, \
|
|
int msgflg); }
|
|
227 MNOPROTO BSD { int msgrcv(int msqid, void *msgp, size_t msgsz, \
|
|
long msgtyp, int msgflg); }
|
|
228 MNOPROTO BSD { int shmat(int shmid, void *shmaddr, int shmflg); }
|
|
229 MNOPROTO BSD { int shmctl(int shmid, int cmd, \
|
|
struct shmid_ds *buf); }
|
|
230 MNOPROTO BSD { int shmdt(void *shmaddr); }
|
|
231 MNOPROTO BSD { int shmget(key_t key, int size, int shmflg); }
|
|
;
|
|
232 MNOPROTO POSIX { int clock_gettime(clockid_t clock_id, \
|
|
struct timespec *tp); }
|
|
233 MNOPROTO POSIX { int clock_settime(clockid_t clock_id, \
|
|
const struct timespec *tp); }
|
|
234 MNOPROTO POSIX { int clock_getres(clockid_t clock_id, \
|
|
struct timespec *tp); }
|
|
235 UNIMPL NOHIDE timer_create
|
|
236 UNIMPL NOHIDE timer_delete
|
|
237 UNIMPL NOHIDE timer_settime
|
|
238 UNIMPL NOHIDE timer_gettime
|
|
239 UNIMPL NOHIDE timer_getoverrun
|
|
240 MNOPROTO POSIX { int nanosleep(const struct timespec *rqtp, \
|
|
struct timespec *rmtp); }
|
|
241 UNIMPL NOHIDE nosys
|
|
242 UNIMPL NOHIDE nosys
|
|
243 UNIMPL NOHIDE nosys
|
|
244 UNIMPL NOHIDE nosys
|
|
245 UNIMPL NOHIDE nosys
|
|
246 UNIMPL NOHIDE nosys
|
|
247 UNIMPL NOHIDE nosys
|
|
248 UNIMPL NOHIDE nosys
|
|
249 UNIMPL NOHIDE nosys
|
|
; syscall numbers initially used in OpenBSD
|
|
250 MNOPROTO BSD { int minherit(void *addr, size_t len, int inherit); }
|
|
251 MNOPROTO BSD { int rfork(int flags); }
|
|
252 MNOPROTO BSD { int openbsd_poll(struct pollfd *fds, u_int nfds, \
|
|
int timeout); }
|
|
253 NOPROTO BSD { int issetugid(void); }
|
|
254 NOPROTO BSD { int lchown(char *path, int uid, int gid); }
|
|
255 UNIMPL NOHIDE nosys
|
|
256 UNIMPL NOHIDE nosys
|
|
257 UNIMPL NOHIDE nosys
|
|
258 UNIMPL NOHIDE nosys
|
|
259 UNIMPL NOHIDE nosys
|
|
260 UNIMPL NOHIDE nosys
|
|
261 UNIMPL NOHIDE nosys
|
|
262 UNIMPL NOHIDE nosys
|
|
263 UNIMPL NOHIDE nosys
|
|
264 UNIMPL NOHIDE nosys
|
|
265 UNIMPL NOHIDE nosys
|
|
266 UNIMPL NOHIDE nosys
|
|
267 UNIMPL NOHIDE nosys
|
|
268 UNIMPL NOHIDE nosys
|
|
269 UNIMPL NOHIDE nosys
|
|
270 UNIMPL NOHIDE nosys
|
|
271 UNIMPL NOHIDE nosys
|
|
272 NOPROTO BSD { int getdents(int fd, char *buf, size_t count); }
|
|
273 UNIMPL NOHIDE nosys
|
|
274 NOPROTO BSD { int lchmod(char *path, mode_t mode); }
|
|
275 NOPROTO BSD { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
|
|
276 NOPROTO BSD { int lutimes(char *path, struct timeval *tptr); }
|
|
277 MNOPROTO BSD { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
|
|
278 NOPROTO BSD { int nstat(char *path, struct nstat *ub); }
|
|
279 MNOPROTO BSD { int nfstat(int fd, struct nstat *sb); }
|
|
280 NOPROTO BSD { int nlstat(char *path, struct nstat *ub); }
|
|
281 UNIMPL NOHIDE nosys
|
|
282 UNIMPL NOHIDE nosys
|
|
283 UNIMPL NOHIDE nosys
|
|
284 UNIMPL NOHIDE nosys
|
|
285 UNIMPL NOHIDE nosys
|
|
286 UNIMPL NOHIDE nosys
|
|
287 UNIMPL NOHIDE nosys
|
|
288 UNIMPL NOHIDE nosys
|
|
289 UNIMPL NOHIDE nosys
|
|
290 UNIMPL NOHIDE nosys
|
|
291 UNIMPL NOHIDE nosys
|
|
292 UNIMPL NOHIDE nosys
|
|
293 UNIMPL NOHIDE nosys
|
|
294 UNIMPL NOHIDE nosys
|
|
295 UNIMPL NOHIDE nosys
|
|
296 UNIMPL NOHIDE nosys
|
|
; XXX 297 is 300 in NetBSD
|
|
297 NOPROTO BSD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
|
|
298 NOPROTO BSD { int fhopen(const struct fhandle *u_fhp, int flags); }
|
|
299 NOPROTO BSD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
|
|
; syscall numbers for FreeBSD
|
|
300 MNOPROTO BSD { int modnext(int modid); }
|
|
301 MNOPROTO BSD { int modstat(int modid, struct module_stat* stat); }
|
|
302 MNOPROTO BSD { int modfnext(int modid); }
|
|
303 MNOPROTO BSD { int modfind(const char *name); }
|
|
304 MNOPROTO BSD { int kldload(const char *file); }
|
|
305 MNOPROTO BSD { int kldunload(int fileid); }
|
|
306 MNOPROTO BSD { int kldfind(const char *file); }
|
|
307 MNOPROTO BSD { int kldnext(int fileid); }
|
|
308 MNOPROTO BSD { int kldstat(int fileid, struct kld_file_stat* stat); }
|
|
309 MNOPROTO BSD { int kldfirstmod(int fileid); }
|
|
310 MNOPROTO BSD { int getsid(pid_t pid); }
|
|
311 MNOPROTO BSD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
|
|
312 MNOPROTO BSD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
|
|
313 OBSOL NOHIDE signanosleep
|
|
314 UNIMPL NOHIDE aio_return
|
|
315 UNIMPL NOHIDE aio_suspend
|
|
316 UNIMPL NOHIDE aio_cancel
|
|
317 UNIMPL NOHIDE aio_error
|
|
318 UNIMPL NOHIDE aio_read
|
|
319 UNIMPL NOHIDE aio_write
|
|
320 UNIMPL NOHIDE lio_listio
|
|
321 MNOPROTO BSD { int yield(void); }
|
|
322 OBSOL NOHIDE thr_sleep
|
|
323 OBSOL NOHIDE thr_wakeup
|
|
324 MNOPROTO BSD { int mlockall(int how); }
|
|
325 MNOPROTO BSD { int munlockall(void); }
|
|
326 NOPROTO BSD { int __getcwd(u_char *buf, u_int buflen); }
|
|
|
|
327 MNOPROTO POSIX { int sched_setparam (pid_t pid, const struct sched_param *param); }
|
|
328 MNOPROTO POSIX { int sched_getparam (pid_t pid, struct sched_param *param); }
|
|
|
|
329 MNOPROTO POSIX { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
|
|
330 MNOPROTO POSIX { int sched_getscheduler (pid_t pid); }
|
|
|
|
331 MNOPROTO POSIX { int sched_yield (void); }
|
|
332 MNOPROTO POSIX { int sched_get_priority_max (int policy); }
|
|
333 MNOPROTO POSIX { int sched_get_priority_min (int policy); }
|
|
334 MNOPROTO POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
|
|
335 NOPROTO BSD { int utrace(const void *addr, size_t len); }
|
|
; XXX note - bigendian is different
|
|
336 MCOMPAT4 BSD { int ia32_sendfile(int fd, int s, u_int32_t offsetlo,\
|
|
u_int32_t offsethi, size_t nbytes, \
|
|
struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
|
|
337 NOPROTO BSD { int kldsym(int fileid, int cmd, void *data); }
|
|
338 MNOPROTO BSD { int jail(struct jail *jail); }
|
|
339 UNIMPL BSD pioctl
|
|
340 MNOPROTO POSIX { int sigprocmask(int how, const sigset_t *set, \
|
|
sigset_t *oset); }
|
|
341 MNOPROTO POSIX { int sigsuspend(const sigset_t *sigmask); }
|
|
342 STD POSIX { int ia32_sigaction(int sig, \
|
|
struct sigaction32 *act, \
|
|
struct sigaction32 *oact); }
|
|
343 MNOPROTO POSIX { int sigpending(sigset_t *set); }
|
|
344 MNOPROTO BSD { int sigreturn(const struct __ucontext *sigcntxp); }
|
|
345 UNIMPL NOHIDE sigtimedwait
|
|
346 UNIMPL NOHIDE sigwaitinfo
|
|
347 MNOPROTO BSD { int __acl_get_file(const char *path, \
|
|
acl_type_t type, struct acl *aclp); }
|
|
348 MNOPROTO BSD { int __acl_set_file(const char *path, \
|
|
acl_type_t type, struct acl *aclp); }
|
|
349 MNOPROTO BSD { int __acl_get_fd(int filedes, acl_type_t type, \
|
|
struct acl *aclp); }
|
|
350 MNOPROTO BSD { int __acl_set_fd(int filedes, acl_type_t type, \
|
|
struct acl *aclp); }
|
|
351 MNOPROTO BSD { int __acl_delete_file(const char *path, \
|
|
acl_type_t type); }
|
|
352 MNOPROTO BSD { int __acl_delete_fd(int filedes, acl_type_t type); }
|
|
353 MNOPROTO BSD { int __acl_aclcheck_file(const char *path, \
|
|
acl_type_t type, struct acl *aclp); }
|
|
354 MNOPROTO BSD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \
|
|
struct acl *aclp); }
|
|
355 NOPROTO BSD { int extattrctl(const char *path, int cmd, \
|
|
const char *filename, int attrnamespace, \
|
|
const char *attrname); }
|
|
356 NOPROTO BSD { int extattr_set_file(const char *path, \
|
|
int attrnamespace, const char *attrname, \
|
|
void *data, size_t nbytes); }
|
|
357 NOPROTO BSD { ssize_t extattr_get_file(const char *path, \
|
|
int attrnamespace, const char *attrname, \
|
|
void *data, size_t nbytes); }
|
|
358 NOPROTO BSD { int extattr_delete_file(const char *path, \
|
|
int attrnamespace, const char *attrname); }
|
|
359 UNIMPL NOHIDE aio_waitcomplete
|
|
360 MNOPROTO BSD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
|
|
361 MNOPROTO BSD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
|
|
362 MNOPROTO BSD { int kqueue(void); }
|
|
363 MNOPROTO BSD { int kevent(int fd, \
|
|
const struct kevent *changelist, int nchanges, \
|
|
struct kevent *eventlist, int nevents, \
|
|
const struct timespec *timeout); }
|
|
364 UNIMPL NOHIDE __cap_get_proc
|
|
365 UNIMPL NOHIDE __cap_set_proc
|
|
366 UNIMPL NOHIDE __cap_get_fd
|
|
367 UNIMPL NOHIDE __cap_get_file
|
|
368 UNIMPL NOHIDE __cap_set_fd
|
|
369 UNIMPL NOHIDE __cap_set_file
|
|
370 UNIMPL NOHIDE lkmressys
|
|
371 NOPROTO BSD { int extattr_set_fd(int fd, int attrnamespace, \
|
|
const char *attrname, void *data, \
|
|
size_t nbytes); }
|
|
372 NOPROTO BSD { ssize_t extattr_get_fd(int fd, int attrnamespace, \
|
|
const char *attrname, void *data, size_t nbytes); }
|
|
373 NOPROTO BSD { int extattr_delete_fd(int fd, int attrnamespace, \
|
|
const char *attrname); }
|
|
374 MNOPROTO BSD { int __setugid(int flag); }
|
|
375 UNIMPL BSD nfsclnt
|
|
376 NOPROTO BSD { int eaccess(char *path, int flags); }
|
|
377 UNIMPL BSD afs_syscall
|
|
378 NOPROTO BSD { int nmount(struct iovec *iovp, unsigned int iovcnt, \
|
|
int flags); }
|
|
379 NOPROTO BSD { int kse_exit(void); }
|
|
380 NOPROTO BSD { int kse_wakeup(struct kse_mailbox *mbx); }
|
|
381 NOPROTO BSD { int kse_create(struct kse_mailbox *mbx, \
|
|
int newgroup); }
|
|
382 NOPROTO BSD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
|
|
383 NOPROTO BSD { int kse_release(void); }
|
|
384 UNIMPL BSD __mac_get_proc
|
|
385 UNIMPL BSD __mac_set_proc
|
|
386 UNIMPL BSD __mac_get_fd
|
|
387 UNIMPL BSD __mac_get_file
|
|
388 UNIMPL BSD __mac_set_fd
|
|
389 UNIMPL BSD __mac_set_file
|
|
390 NOPROTO BSD { int kenv(int what, const char *name, char *value, \
|
|
int len); }
|
|
391 NOPROTO BSD { int lchflags(const char *path, int flags); }
|
|
392 NOPROTO BSD { int uuidgen(struct uuid *store, int count); }
|
|
393 MSTD BSD { int ia32_sendfile(int fd, int s, u_int32_t offsetlo, \
|
|
u_int32_t offsethi, size_t nbytes, \
|
|
struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
|
|
394 UNIMPL NOHIDE mac_syscall
|
|
395 UNIMPL NOHIDE nosys
|
|
396 UNIMPL NOHIDE nosys
|
|
397 UNIMPL NOHIDE nosys
|
|
398 UNIMPL NOHIDE nosys
|
|
399 UNIMPL NOHIDE nosys
|
|
400 UNIMPL NOHIDE ksem_close
|
|
401 UNIMPL NOHIDE ksem_post
|
|
402 UNIMPL NOHIDE ksem_wait
|
|
403 UNIMPL NOHIDE ksem_trywait
|
|
404 UNIMPL NOHIDE ksem_init
|
|
405 UNIMPL NOHIDE ksem_open
|
|
406 UNIMPL NOHIDE ksem_unlink
|
|
407 UNIMPL NOHIDE ksem_getvalue
|
|
408 UNIMPL NOHIDE ksem_destroy
|
|
409 UNIMPL BSD __mac_get_pid
|
|
410 UNIMPL BSD __mac_get_link
|
|
411 UNIMPL BSD __mac_set_link
|
|
412 UNIMPL BSD extattr_set_link
|
|
413 UNIMPL BSD extattr_get_link
|
|
414 UNIMPL BSD extattr_delete_link
|
|
415 UNIMPL BSD __mac_execve
|
|
416 UNIMPL BSD newsigreturn
|
|
417 UNIMPL BSD newsigaction
|
|
418 UNIMPL BSD __xstat
|
|
419 UNIMPL BSD __xfstat
|
|
420 UNIMPL BSD __xlstat
|
|
421 UNIMPL BSD getcontext
|
|
422 UNIMPL BSD setcontext
|
|
423 UNIMPL BSD swapcontext
|
|
424 UNIMPL BSD swapoff
|
|
425 UNIMPL BSD __acl_get_link
|
|
426 UNIMPL BSD __acl_set_link
|
|
427 UNIMPL BSD __acl_delete_link
|
|
428 UNIMPL BSD __acl_aclcheck_link
|
|
429 UNIMPL NOHIDE sigwait
|
|
430 STD BSD { int thr_create(ucontext_t *ctx, thr_id_t *id,
|
|
int flag s); }
|
|
431 STD BSD { void thr_exit(void); }
|
|
432 STD BSD { int thr_self(thr_id_t *id); }
|
|
433 STD BSD { int thr_kill(thr_id_t id, int sig); }
|
|
434 MSTD BSD { int _umtx_lock(struct umtx *umtx); }
|
|
435 MSTD BSD { int _umtx_unlock(struct umtx *umtx); }
|
|
436 MSTD BSD { int jail_attach(int jid); }
|
|
|