1 $FreeBSD$
2 ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
3 ; from: src/sys/kern/syscalls.master 1.107
4 ;
5 ; System call name/number master file.
6 ; Processed to created init_sysent.c, syscalls.c and syscall.h.
7
8 ; Columns: number audit type nargs name alt{name,tag,rtyp}/comments
9 ; number system call number, must be in order
10 ; audit the audit event associated with the system call
11 ; A value of AUE_NULL means no auditing, but it also means that
12 ; there is no audit event for the call at this time. For the
13 ; case where the event exists, but we don't want auditing, the
14 ; event should be #defined to AUE_NULL in audit_kevents.h.
15 ; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
16 ; NODEF, NOARGS, NOPROTO, NOIMPL, NOSTD, COMPAT4
17 ; name psuedo-prototype of syscall routine
18 ; If one of the following alts is different, then all appear:
19 ; altname name of system call if different
20 ; alttag name of args struct tag if different from [o]`name'"_args"
21 ; altrtyp return type if not int (bogus - syscalls always return int)
22 ; for UNIMPL/OBSOL, name continues with comments
23
24 ; types:
25 ; STD always included
26 ; COMPAT included on COMPAT #ifdef
27 ; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat)
28 ; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
29 ; OBSOL obsolete, not included in system, only specifies name
30 ; UNIMPL not implemented, placeholder only
31 ; NOSTD implemented but as a lkm that can be statically
32 ; compiled in; sysent entry will be filled with lkmsys
33 ; so the SYSCALL_MODULE macro works
34
35 ; #ifdef's, etc. may be included, and are copied to the output files.
36
37 #include <sys/param.h>
38 #include <sys/sysent.h>
39 #include <sys/sysproto.h>
40 #include <sys/mount.h>
41 #include <sys/socket.h>
42 #include <compat/freebsd32/freebsd32.h>
43 #include <compat/freebsd32/freebsd32_proto.h>
44
45 ; Reserved/unimplemented system calls in the range 0-150 inclusive
46 ; are reserved for use in future Berkeley releases.
47 ; Additional system calls implemented in vendor and other
48 ; redistributions should be placed in the reserved range at the end
49 ; of the current calls.
50
51 0 AUE_NULL NOPROTO { int nosys(void); } syscall nosys_args int
52 1 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \
53 sys_exit_args void
54 2 AUE_FORK NOPROTO { int fork(void); }
55 3 AUE_READ NOPROTO { ssize_t read(int fd, void *buf, \
56 size_t nbyte); }
57 4 AUE_WRITE NOPROTO { ssize_t write(int fd, const void *buf, \
58 size_t nbyte); }
59 5 AUE_OPEN_RWTC NOPROTO { int open(char *path, int flags, \
60 int mode); }
61 6 AUE_CLOSE NOPROTO { int close(int fd); }
62 7 AUE_WAIT4 STD { int freebsd32_wait4(int pid, int *status, \
63 int options, struct rusage32 *rusage); }
64 8 AUE_CREAT OBSOL old creat
65 9 AUE_LINK NOPROTO { int link(char *path, char *link); }
66 10 AUE_UNLINK NOPROTO { int unlink(char *path); }
67 11 AUE_NULL OBSOL execv
68 12 AUE_CHDIR NOPROTO { int chdir(char *path); }
69 13 AUE_FCHDIR NOPROTO { int fchdir(int fd); }
70 14 AUE_MKNOD NOPROTO { int mknod(char *path, int mode, int dev); }
71 15 AUE_CHMOD NOPROTO { int chmod(char *path, int mode); }
72 16 AUE_CHOWN NOPROTO { int chown(char *path, int uid, int gid); }
73 17 AUE_NULL NOPROTO { int obreak(char *nsize); } break \
74 obreak_args int
75 18 AUE_GETFSSTAT COMPAT4 { int freebsd32_getfsstat( \
76 struct statfs32 *buf, long bufsize, \
77 int flags); }
78 19 AUE_LSEEK OBSOL olseek
79 20 AUE_GETPID NOPROTO { pid_t getpid(void); }
80 21 AUE_MOUNT NOPROTO { int mount(char *type, char *path, \
81 int flags, caddr_t data); }
82 22 AUE_UMOUNT NOPROTO { int unmount(char *path, int flags); }
83 23 AUE_SETUID NOPROTO { int setuid(uid_t uid); }
84 24 AUE_GETUID NOPROTO { uid_t getuid(void); }
85 25 AUE_GETEUID NOPROTO { uid_t geteuid(void); }
86 26 AUE_PTRACE NOPROTO { int ptrace(int req, pid_t pid, \
87 caddr_t addr, int data); }
88 27 AUE_RECVMSG STD { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \
89 int flags); }
90 28 AUE_SENDMSG STD { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \
91 int flags); }
92 29 AUE_RECVFROM STD { int freebsd32_recvfrom(int s, u_int32_t buf, \
93 u_int32_t len, int flags, u_int32_t from, \
94 u_int32_t fromlenaddr); }
95 30 AUE_ACCEPT NOPROTO { int accept(int s, caddr_t name, \
96 int *anamelen); }
97 31 AUE_GETPEERNAME NOPROTO { int getpeername(int fdes, caddr_t asa, \
98 int *alen); }
99 32 AUE_GETSOCKNAME NOPROTO { int getsockname(int fdes, caddr_t asa, \
100 int *alen); }
101 33 AUE_ACCESS NOPROTO { int access(char *path, int flags); }
102 34 AUE_CHFLAGS NOPROTO { int chflags(char *path, int flags); }
103 35 AUE_FCHFLAGS NOPROTO { int fchflags(int fd, int flags); }
104 36 AUE_SYNC NOPROTO { int sync(void); }
105 37 AUE_KILL NOPROTO { int kill(int pid, int signum); }
106 38 AUE_STAT UNIMPL ostat
107 39 AUE_GETPPID NOPROTO { pid_t getppid(void); }
108 40 AUE_LSTAT UNIMPL olstat
109 41 AUE_DUP NOPROTO { int dup(u_int fd); }
110 42 AUE_PIPE NOPROTO { int pipe(void); }
111 43 AUE_GETEGID NOPROTO { gid_t getegid(void); }
112 44 AUE_PROFILE NOPROTO { int profil(caddr_t samples, size_t size, \
113 size_t offset, u_int scale); }
114 45 AUE_KTRACE NOPROTO { int ktrace(const char *fname, int ops, \
115 int facs, int pid); }
116 46 AUE_SIGACTION COMPAT { int freebsd32_sigaction( int signum, \
117 struct osigaction32 *nsa, \
118 struct osigaction32 *osa); }
119 47 AUE_GETGID NOPROTO { gid_t getgid(void); }
120 48 AUE_SIGPROCMASK COMPAT { int freebsd32_sigprocmask(int how, \
121 osigset_t mask); }
122 49 AUE_GETLOGIN NOPROTO { int getlogin(char *namebuf, \
123 u_int namelen); }
124 50 AUE_SETLOGIN NOPROTO { int setlogin(char *namebuf); }
125 51 AUE_ACCT NOPROTO { int acct(char *path); }
126 52 AUE_SIGPENDING COMPAT { int freebsd32_sigpending(void); }
127 53 AUE_SIGALTSTACK STD { int freebsd32_sigaltstack( \
128 struct sigaltstack32 *ss, \
129 struct sigaltstack32 *oss); }
130 54 AUE_IOCTL NOPROTO { int ioctl(int fd, u_long com, \
131 caddr_t data); }
132 55 AUE_REBOOT NOPROTO { int reboot(int opt); }
133 56 AUE_REVOKE NOPROTO { int revoke(char *path); }
134 57 AUE_SYMLINK NOPROTO { int symlink(char *path, char *link); }
135 58 AUE_READLINK NOPROTO { int readlink(char *path, char *buf, \
136 int count); }
137 59 AUE_EXECVE STD { int freebsd32_execve(char *fname, \
138 u_int32_t *argv, u_int32_t *envv); }
139 60 AUE_UMASK NOPROTO { int umask(int newmask); } umask \
140 umask_args int
141 61 AUE_CHROOT NOPROTO { int chroot(char *path); }
142 62 AUE_FSTAT OBSOL ofstat
143 63 AUE_NULL OBSOL ogetkerninfo
144 64 AUE_NULL OBSOL ogetpagesize
145 65 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \
146 int flags); }
147 66 AUE_VFORK NOPROTO { int vfork(void); }
148 67 AUE_NULL OBSOL vread
149 68 AUE_NULL OBSOL vwrite
150 69 AUE_SBRK NOPROTO { int sbrk(int incr); }
151 70 AUE_SSTK NOPROTO { int sstk(int incr); }
152 71 AUE_MMAP OBSOL ommap
153 72 AUE_O_VADVISE NOPROTO { int ovadvise(int anom); } vadvise \
154 ovadvise_args int
155 73 AUE_MUNMAP NOPROTO { int munmap(void *addr, size_t len); }
156 74 AUE_MPROTECT NOPROTO { int mprotect(const void *addr, \
157 size_t len, int prot); }
158 75 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, \
159 int behav); }
160 76 AUE_NULL OBSOL vhangup
161 77 AUE_NULL OBSOL vlimit
162 78 AUE_MINCORE NOPROTO { int mincore(const void *addr, size_t len, \
163 char *vec); }
164 79 AUE_GETGROUPS NOPROTO { int getgroups(u_int gidsetsize, \
165 gid_t *gidset); }
166 80 AUE_SETGROUPS NOPROTO { int setgroups(u_int gidsetsize, \
167 gid_t *gidset); }
168 81 AUE_GETPGRP NOPROTO { int getpgrp(void); }
169 82 AUE_SETPGRP NOPROTO { int setpgid(int pid, int pgid); }
170 83 AUE_SETITIMER STD { int freebsd32_setitimer(u_int which, \
171 struct itimerval32 *itv, \
172 struct itimerval32 *oitv); }
173 84 AUE_NULL OBSOL owait
174 ; XXX implement
175 85 AUE_SWAPON OBSOL oswapon
176 86 AUE_GETITIMER STD { int freebsd32_getitimer(u_int which, \
177 struct itimerval32 *itv); }
178 87 AUE_O_GETHOSTNAME OBSOL ogethostname
179 88 AUE_O_SETHOSTNAME OBSOL osethostname
180 89 AUE_GETDTABLESIZE NOPROTO { int getdtablesize(void); }
181 90 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); }
182 91 AUE_NULL UNIMPL getdopt
183 92 AUE_FCNTL NOPROTO { int fcntl(int fd, int cmd, long arg); }
184 93 AUE_SELECT STD { int freebsd32_select(int nd, fd_set *in, \
185 fd_set *ou, fd_set *ex, \
186 struct timeval32 *tv); }
187 ; XXX need to override for big-endian - little-endian should work fine.
188 94 AUE_NULL UNIMPL setdopt
189 95 AUE_FSYNC NOPROTO { int fsync(int fd); }
190 96 AUE_SETPRIORITY NOPROTO { int setpriority(int which, int who, \
191 int prio); }
192 97 AUE_SOCKET NOPROTO { int socket(int domain, int type, \
193 int protocol); }
194 98 AUE_CONNECT NOPROTO { int connect(int s, caddr_t name, \
195 int namelen); }
196 99 AUE_NULL OBSOL oaccept
197 100 AUE_GETPRIORITY NOPROTO { int getpriority(int which, int who); }
198 101 AUE_NULL OBSOL osend
199 102 AUE_NULL OBSOL orecv
200 103 AUE_NULL OBSOL osigreturn
201 104 AUE_BIND NOPROTO { int bind(int s, caddr_t name, \
202 int namelen); }
203 105 AUE_SETSOCKOPT NOPROTO { int setsockopt(int s, int level, \
204 int name, caddr_t val, int valsize); }
205 106 AUE_LISTEN NOPROTO { int listen(int s, int backlog); }
206 107 AUE_NULL OBSOL vtimes
207 108 AUE_O_SIGVEC COMPAT { int freebsd32_sigvec(int signum, \
208 struct sigvec32 *nsv, \
209 struct sigvec32 *osv); }
210 109 AUE_O_SIGBLOCK COMPAT { int freebsd32_sigblock(int mask); }
211 110 AUE_O_SIGSETMASK COMPAT { int freebsd32_sigsetmask( int mask); }
212 111 AUE_SIGSUSPEND COMPAT { int freebsd32_sigsuspend( int mask); }
213 112 AUE_O_SIGSTACK COMPAT { int freebsd32_sigstack( \
214 struct sigstack32 *nss, \
215 struct sigstack32 *oss); }
216 113 AUE_NULL OBSOL orecvmsg
217 114 AUE_NULL OBSOL osendmsg
218 115 AUE_NULL OBSOL vtrace
219 116 AUE_GETTIMEOFDAY STD { int freebsd32_gettimeofday( \
220 struct timeval32 *tp, \
221 struct timezone *tzp); }
222 117 AUE_GETRUSAGE STD { int freebsd32_getrusage(int who, \
223 struct rusage32 *rusage); }
224 118 AUE_GETSOCKOPT NOPROTO { int getsockopt(int s, int level, \
225 int name, caddr_t val, int *avalsize); }
226 119 AUE_NULL UNIMPL resuba (BSD/OS 2.x)
227 120 AUE_READV STD { int freebsd32_readv(int fd, \
228 struct iovec32 *iovp, u_int iovcnt); }
229 121 AUE_WRITEV STD { int freebsd32_writev(int fd, \
230 struct iovec32 *iovp, u_int iovcnt); }
231 122 AUE_SETTIMEOFDAY STD { int freebsd32_settimeofday( \
232 struct timeval32 *tv, \
233 struct timezone *tzp); }
234 123 AUE_FCHOWN NOPROTO { int fchown(int fd, int uid, int gid); }
235 124 AUE_FCHMOD NOPROTO { int fchmod(int fd, int mode); }
236 125 AUE_RECVFROM OBSOL orecvfrom
237 126 AUE_SETREUID NOPROTO { int setreuid(int ruid, int euid); }
238 127 AUE_SETREGID NOPROTO { int setregid(int rgid, int egid); }
239 128 AUE_RENAME NOPROTO { int rename(char *from, char *to); }
240 129 AUE_TRUNCATE OBSOL otruncate
241 130 AUE_FTRUNCATE OBSOL ftruncate
242 131 AUE_FLOCK NOPROTO { int flock(int fd, int how); }
243 132 AUE_MKFIFO NOPROTO { int mkfifo(char *path, int mode); }
244 133 AUE_SENDTO NOPROTO { int sendto(int s, caddr_t buf, \
245 size_t len, int flags, caddr_t to, \
246 int tolen); }
247 134 AUE_SHUTDOWN NOPROTO { int shutdown(int s, int how); }
248 135 AUE_SOCKETPAIR NOPROTO { int socketpair(int domain, int type, \
249 int protocol, int *rsv); }
250 136 AUE_MKDIR NOPROTO { int mkdir(char *path, int mode); }
251 137 AUE_RMDIR NOPROTO { int rmdir(char *path); }
252 138 AUE_UTIMES STD { int freebsd32_utimes(char *path, \
253 struct timeval32 *tptr); }
254 139 AUE_NULL OBSOL 4.2 sigreturn
255 140 AUE_ADJTIME STD { int freebsd32_adjtime( \
256 struct timeval32 *delta, \
257 struct timeval32 *olddelta); }
258 141 AUE_GETPEERNAME OBSOL ogetpeername
259 142 AUE_SYSCTL OBSOL ogethostid
260 143 AUE_SYSCTL OBSOL sethostid
261 144 AUE_GETRLIMIT OBSOL getrlimit
262 145 AUE_SETRLIMIT OBSOL setrlimit
263 146 AUE_KILLPG OBSOL killpg
264 147 AUE_SETSID NOPROTO { int setsid(void); }
265 148 AUE_QUOTACTL NOPROTO { int quotactl(char *path, int cmd, int uid, \
266 caddr_t arg); }
267 149 AUE_O_QUOTA OBSOL oquota
268 150 AUE_GETSOCKNAME OBSOL ogetsockname
269
270 ; Syscalls 151-180 inclusive are reserved for vendor-specific
271 ; system calls. (This includes various calls added for compatibity
272 ; with other Unix variants.)
273 ; Some of these calls are now supported by BSD...
274 151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x)
275 152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x)
276 153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x)
277 154 AUE_NULL UNIMPL nosys
278 ; 155 is initialized by the NFS code, if present.
279 ; XXX this is a problem!!!
280 155 AUE_NFS_SVC UNIMPL nfssvc
281 156 AUE_GETDIRENTRIES OBSOL ogetdirentries
282 157 AUE_STATFS COMPAT4 { int freebsd32_statfs(char *path, \
283 struct statfs32 *buf); }
284 158 AUE_FSTATFS COMPAT4 { int freebsd32_fstatfs(int fd, \
285 struct statfs32 *buf); }
286 159 AUE_NULL UNIMPL nosys
287 160 AUE_LGETFH UNIMPL lgetfh
288 161 AUE_NFS_GETFH NOPROTO { int getfh(char *fname, \
289 struct fhandle *fhp); }
290 162 AUE_SYSCTL NOPROTO { int getdomainname(char *domainname, \
291 int len); }
292 163 AUE_SYSCTL NOPROTO { int setdomainname(char *domainname, \
293 int len); }
294 164 AUE_NULL NOPROTO { int uname(struct utsname *name); }
295 165 AUE_SYSARCH NOPROTO { int sysarch(int op, char *parms); }
296 166 AUE_RTPRIO NOPROTO { int rtprio(int function, pid_t pid, \
297 struct rtprio *rtp); }
298 167 AUE_NULL UNIMPL nosys
299 168 AUE_NULL UNIMPL nosys
300 169 AUE_SEMSYS STD { int freebsd32_semsys(int which, int a2, \
301 int a3, int a4, int a5); }
302 170 AUE_MSGSYS STD { int freebsd32_msgsys(int which, int a2, \
303 int a3, int a4, int a5, int a6); }
304 171 AUE_SHMSYS STD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \
305 uint32_t a3, uint32_t a4); }
306 172 AUE_NULL UNIMPL nosys
307 173 AUE_PREAD COMPAT6 { ssize_t freebsd32_pread(int fd, void *buf, \
308 size_t nbyte, int pad, \
309 u_int32_t offsetlo, u_int32_t offsethi); }
310 ; XXX note - bigendian is different
311 174 AUE_PWRITE COMPAT6 { ssize_t freebsd32_pwrite(int fd, \
312 const void *buf, size_t nbyte, int pad, \
313 u_int32_t offsetlo, u_int32_t offsethi); }
314 ; XXX note - bigendian is different
315 175 AUE_NULL UNIMPL nosys
316 176 AUE_NTP_ADJTIME NOPROTO { int ntp_adjtime(struct timex *tp); }
317 177 AUE_NULL UNIMPL sfork (BSD/OS 2.x)
318 178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x)
319 179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x)
320 180 AUE_NULL UNIMPL nosys
321
322 ; Syscalls 181-199 are used by/reserved for BSD
323 181 AUE_SETGID NOPROTO { int setgid(gid_t gid); }
324 182 AUE_SETEGID NOPROTO { int setegid(gid_t egid); }
325 183 AUE_SETEUID NOPROTO { int seteuid(uid_t euid); }
326 184 AUE_NULL UNIMPL lfs_bmapv
327 185 AUE_NULL UNIMPL lfs_markv
328 186 AUE_NULL UNIMPL lfs_segclean
329 187 AUE_NULL UNIMPL lfs_segwait
330 188 AUE_STAT STD { int freebsd32_stat(char *path, \
331 struct stat32 *ub); }
332 189 AUE_FSTAT STD { int freebsd32_fstat(int fd, \
333 struct stat32 *ub); }
334 190 AUE_LSTAT STD { int freebsd32_lstat(char *path, \
335 struct stat32 *ub); }
336 191 AUE_PATHCONF NOPROTO { int pathconf(char *path, int name); }
337 192 AUE_FPATHCONF NOPROTO { int fpathconf(int fd, int name); }
338 193 AUE_NULL UNIMPL nosys
339 194 AUE_GETRLIMIT NOPROTO { int getrlimit(u_int which, \
340 struct rlimit *rlp); } getrlimit \
341 __getrlimit_args int
342 195 AUE_SETRLIMIT NOPROTO { int setrlimit(u_int which, \
343 struct rlimit *rlp); } setrlimit \
344 __setrlimit_args int
345 196 AUE_GETDIRENTRIES NOPROTO { int getdirentries(int fd, char *buf, \
346 u_int count, long *basep); }
347 197 AUE_MMAP COMPAT6 { caddr_t freebsd32_mmap(caddr_t addr, \
348 size_t len, int prot, int flags, int fd, \
349 int pad, u_int32_t poslo, \
350 u_int32_t poshi); }
351 198 AUE_NULL NOPROTO { int nosys(void); } __syscall \
352 __syscall_args int
353 ; XXX note - bigendian is different
354 199 AUE_LSEEK COMPAT6 { off_t freebsd32_lseek(int fd, int pad, \
355 u_int32_t offsetlo, u_int32_t offsethi, \
356 int whence); }
357 ; XXX note - bigendian is different
358 200 AUE_TRUNCATE COMPAT6 { int freebsd32_truncate(char *path, \
359 int pad, u_int32_t lengthlo, \
360 u_int32_t lengthhi); }
361 ; XXX note - bigendian is different
362 201 AUE_FTRUNCATE COMPAT6 { int freebsd32_ftruncate(int fd, int pad, \
363 u_int32_t lengthlo, u_int32_t lengthhi); }
364 202 AUE_SYSCTL STD { int freebsd32_sysctl(int *name, \
365 u_int namelen, void *old, \
366 u_int32_t *oldlenp, void *new, \
367 u_int32_t newlen); }
368 203 AUE_MLOCK NOPROTO { int mlock(const void *addr, \
369 size_t len); }
370 204 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, \
371 size_t len); }
372 205 AUE_UNDELETE NOPROTO { int undelete(char *path); }
373 206 AUE_FUTIMES STD { int freebsd32_futimes(int fd, \
374 struct timeval32 *tptr); }
375 207 AUE_GETPGID NOPROTO { int getpgid(pid_t pid); }
376 208 AUE_NULL UNIMPL newreboot (NetBSD)
377 209 AUE_POLL NOPROTO { int poll(struct pollfd *fds, u_int nfds, \
378 int timeout); }
379
380 ;
381 ; The following are reserved for loadable syscalls
382 ;
383 210 AUE_NULL UNIMPL
384 211 AUE_NULL UNIMPL
385 212 AUE_NULL UNIMPL
386 213 AUE_NULL UNIMPL
387 214 AUE_NULL UNIMPL
388 215 AUE_NULL UNIMPL
389 216 AUE_NULL UNIMPL
390 217 AUE_NULL UNIMPL
391 218 AUE_NULL UNIMPL
392 219 AUE_NULL UNIMPL
393
394 ;
395 ; The following were introduced with NetBSD/4.4Lite-2
396 ; They are initialized by thier respective modules/sysinits
397 ; XXX PROBLEM!!
398 220 AUE_SEMCTL STD { int freebsd32_semctl(int semid, int semnum, \
399 int cmd, union semun32 *arg); }
400 221 AUE_SEMGET NOPROTO { int semget(key_t key, int nsems, \
401 int semflg); }
402 222 AUE_SEMOP NOPROTO { int semop(int semid, struct sembuf *sops, \
403 u_int nsops); }
404 223 AUE_NULL UNIMPL semconfig
405 224 AUE_MSGCTL STD { int freebsd32_msgctl(int msqid, int cmd, \
406 struct msqid_ds32 *buf); }
407 225 AUE_MSGGET NOPROTO { int msgget(key_t key, int msgflg); }
408 226 AUE_MSGSND STD { int freebsd32_msgsnd(int msqid, void *msgp, \
409 size_t msgsz, int msgflg); }
410 227 AUE_MSGRCV STD { int freebsd32_msgrcv(int msqid, void *msgp, \
411 size_t msgsz, long msgtyp, int msgflg); }
412 228 AUE_SHMAT NOPROTO { int shmat(int shmid, void *shmaddr, \
413 int shmflg); }
414 229 AUE_SHMCTL STD { int freebsd32_shmctl(int shmid, int cmd, \
415 struct shmid_ds *buf); }
416 230 AUE_SHMDT NOPROTO { int shmdt(void *shmaddr); }
417 231 AUE_SHMGET NOPROTO { int shmget(key_t key, int size, \
418 int shmflg); }
419 ;
420 232 AUE_NULL STD { int freebsd32_clock_gettime(clockid_t clock_id, \
421 struct timespec32 *tp); }
422 233 AUE_CLOCK_SETTIME STD { int freebsd32_clock_settime(clockid_t clock_id, \
423 const struct timespec32 *tp); }
424 234 AUE_NULL STD { int freebsd32_clock_getres(clockid_t clock_id, \
425 struct timespec32 *tp); }
426 235 AUE_NULL UNIMPL timer_create
427 236 AUE_NULL UNIMPL timer_delete
428 237 AUE_NULL UNIMPL timer_settime
429 238 AUE_NULL UNIMPL timer_gettime
430 239 AUE_NULL UNIMPL timer_getoverrun
431 240 AUE_NULL STD { int freebsd32_nanosleep( \
432 const struct timespec32 *rqtp, \
433 struct timespec32 *rmtp); }
434 241 AUE_NULL UNIMPL nosys
435 242 AUE_NULL UNIMPL nosys
436 243 AUE_NULL UNIMPL nosys
437 244 AUE_NULL UNIMPL nosys
438 245 AUE_NULL UNIMPL nosys
439 246 AUE_NULL UNIMPL nosys
440 247 AUE_NULL UNIMPL nosys
441 248 AUE_NULL UNIMPL ntp_gettime
442 249 AUE_NULL UNIMPL nosys
443 ; syscall numbers initially used in OpenBSD
444 250 AUE_MINHERIT NOPROTO { int minherit(void *addr, size_t len, \
445 int inherit); }
446 251 AUE_RFORK NOPROTO { int rfork(int flags); }
447 252 AUE_POLL NOPROTO { int openbsd_poll(struct pollfd *fds, \
448 u_int nfds, int timeout); }
449 253 AUE_ISSETUGID NOPROTO { int issetugid(void); }
450 254 AUE_LCHOWN NOPROTO { int lchown(char *path, int uid, int gid); }
451 255 AUE_NULL UNIMPL nosys
452 256 AUE_NULL UNIMPL nosys
453 257 AUE_NULL UNIMPL nosys
454 258 AUE_NULL UNIMPL nosys
455 259 AUE_NULL UNIMPL nosys
456 260 AUE_NULL UNIMPL nosys
457 261 AUE_NULL UNIMPL nosys
458 262 AUE_NULL UNIMPL nosys
459 263 AUE_NULL UNIMPL nosys
460 264 AUE_NULL UNIMPL nosys
461 265 AUE_NULL UNIMPL nosys
462 266 AUE_NULL UNIMPL nosys
463 267 AUE_NULL UNIMPL nosys
464 268 AUE_NULL UNIMPL nosys
465 269 AUE_NULL UNIMPL nosys
466 270 AUE_NULL UNIMPL nosys
467 271 AUE_NULL UNIMPL nosys
468 272 AUE_O_GETDENTS NOPROTO { int getdents(int fd, char *buf, \
469 size_t count); }
470 273 AUE_NULL UNIMPL nosys
471 274 AUE_LCHMOD NOPROTO { int lchmod(char *path, mode_t mode); }
472 275 AUE_LCHOWN NOPROTO { int lchown(char *path, uid_t uid, \
473 gid_t gid); } netbsd_lchown \
474 lchown_args int
475 276 AUE_LUTIMES STD { int freebsd32_lutimes(char *path, \
476 struct timeval32 *tptr); }
477 277 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \
478 int flags); } netbsd_msync msync_args int
479 278 AUE_STAT NOPROTO { int nstat(char *path, struct nstat *ub); }
480 279 AUE_FSTAT NOPROTO { int nfstat(int fd, struct nstat *sb); }
481 280 AUE_LSTAT NOPROTO { int nlstat(char *path, struct nstat *ub); }
482 281 AUE_NULL UNIMPL nosys
483 282 AUE_NULL UNIMPL nosys
484 283 AUE_NULL UNIMPL nosys
485 284 AUE_NULL UNIMPL nosys
486 285 AUE_NULL UNIMPL nosys
487 286 AUE_NULL UNIMPL nosys
488 287 AUE_NULL UNIMPL nosys
489 288 AUE_NULL UNIMPL nosys
490 ; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
491 289 AUE_PREADV STD { ssize_t freebsd32_preadv(int fd, \
492 struct iovec32 *iovp, \
493 u_int iovcnt, off_t offset); }
494 ; XXX note - bigendian is different
495 290 AUE_PWRITEV STD { ssize_t freebsd32_pwritev(int fd, \
496 struct iovec32 *iovp, \
497 u_int iovcnt, off_t offset); }
498 ; XXX note - bigendian is different
499 291 AUE_NULL UNIMPL nosys
500 292 AUE_NULL UNIMPL nosys
501 293 AUE_NULL UNIMPL nosys
502 294 AUE_NULL UNIMPL nosys
503 295 AUE_NULL UNIMPL nosys
504 296 AUE_NULL UNIMPL nosys
505 ; XXX 297 is 300 in NetBSD
506 297 AUE_FHSTATFS COMPAT4 { int freebsd32_fhstatfs( \
507 const struct fhandle *u_fhp, \
508 struct statfs32 *buf); }
509 298 AUE_FHOPEN NOPROTO { int fhopen(const struct fhandle *u_fhp, \
510 int flags); }
511 299 AUE_FHSTAT NOPROTO { int fhstat(const struct fhandle *u_fhp, \
512 struct stat *sb); }
513 ; syscall numbers for FreeBSD
514 300 AUE_NULL NOPROTO { int modnext(int modid); }
515 301 AUE_NULL STD { int freebsd32_modstat(int modid, \
516 struct module_stat32* stat); }
517 302 AUE_NULL NOPROTO { int modfnext(int modid); }
518 303 AUE_NULL NOPROTO { int modfind(const char *name); }
519 304 AUE_MODLOAD NOPROTO { int kldload(const char *file); }
520 305 AUE_MODUNLOAD NOPROTO { int kldunload(int fileid); }
521 306 AUE_NULL NOPROTO { int kldfind(const char *file); }
522 307 AUE_NULL NOPROTO { int kldnext(int fileid); }
523 308 AUE_NULL NOPROTO { int kldstat(int fileid, \
524 struct kld_file_stat* stat); }
525 309 AUE_NULL NOPROTO { int kldfirstmod(int fileid); }
526 310 AUE_GETSID NOPROTO { int getsid(pid_t pid); }
527 311 AUE_SETRESUID NOPROTO { int setresuid(uid_t ruid, uid_t euid, \
528 uid_t suid); }
529 312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \
530 gid_t sgid); }
531 313 AUE_NULL OBSOL signanosleep
532 314 AUE_NULL UNIMPL aio_return
533 315 AUE_NULL UNIMPL aio_suspend
534 316 AUE_NULL UNIMPL aio_cancel
535 317 AUE_NULL UNIMPL aio_error
536 318 AUE_NULL UNIMPL aio_read
537 319 AUE_NULL UNIMPL aio_write
538 320 AUE_NULL UNIMPL lio_listio
539 321 AUE_NULL NOPROTO { int yield(void); }
540 322 AUE_NULL OBSOL thr_sleep
541 323 AUE_NULL OBSOL thr_wakeup
542 324 AUE_MLOCKALL NOPROTO { int mlockall(int how); }
543 325 AUE_MUNLOCKALL NOPROTO { int munlockall(void); }
544 326 AUE_GETCWD NOPROTO { int __getcwd(u_char *buf, u_int buflen); }
545
546 327 AUE_NULL NOPROTO { int sched_setparam (pid_t pid, \
547 const struct sched_param *param); }
548 328 AUE_NULL NOPROTO { int sched_getparam (pid_t pid, \
549 struct sched_param *param); }
550
551 329 AUE_NULL NOPROTO { int sched_setscheduler (pid_t pid, \
552 int policy, \
553 const struct sched_param *param); }
554 330 AUE_NULL NOPROTO { int sched_getscheduler (pid_t pid); }
555
556 331 AUE_NULL NOPROTO { int sched_yield (void); }
557 332 AUE_NULL NOPROTO { int sched_get_priority_max (int policy); }
558 333 AUE_NULL NOPROTO { int sched_get_priority_min (int policy); }
559 334 AUE_NULL NOPROTO { int sched_rr_get_interval (pid_t pid, \
560 struct timespec *interval); }
561 335 AUE_NULL NOPROTO { int utrace(const void *addr, size_t len); }
562 ; XXX note - bigendian is different
563 336 AUE_SENDFILE COMPAT4 { int freebsd32_sendfile(int fd, int s, \
564 u_int32_t offsetlo, u_int32_t offsethi, \
565 size_t nbytes, struct sf_hdtr32 *hdtr, \
566 off_t *sbytes, int flags); }
567 337 AUE_NULL NOPROTO { int kldsym(int fileid, int cmd, \
568 void *data); }
569 338 AUE_JAIL NOPROTO { int jail(struct jail *jail); }
570 339 AUE_NULL UNIMPL pioctl
571 340 AUE_SIGPROCMASK NOPROTO { int sigprocmask(int how, \
572 const sigset_t *set, sigset_t *oset); }
573 341 AUE_SIGSUSPEND NOPROTO { int sigsuspend(const sigset_t *sigmask); }
574 342 AUE_SIGACTION COMPAT4 { int freebsd32_sigaction(int sig, \
575 struct sigaction32 *act, \
576 struct sigaction32 *oact); }
577 343 AUE_SIGPENDING NOPROTO { int sigpending(sigset_t *set); }
578 344 AUE_SIGRETURN COMPAT4 { int freebsd32_sigreturn( \
579 const struct freebsd4_freebsd32_ucontext *sigcntxp); }
580 345 AUE_SIGWAIT STD { int freebsd32_sigtimedwait(const sigset_t *set, \
581 siginfo_t *info, \
582 const struct timespec *timeout); }
583 346 AUE_NULL STD { int freebsd32_sigwaitinfo(const sigset_t *set, \
584 siginfo_t *info); }
585 347 AUE_NULL NOPROTO { int __acl_get_file(const char *path, \
586 acl_type_t type, struct acl *aclp); }
587 348 AUE_NULL NOPROTO { int __acl_set_file(const char *path, \
588 acl_type_t type, struct acl *aclp); }
589 349 AUE_NULL NOPROTO { int __acl_get_fd(int filedes, \
590 acl_type_t type, struct acl *aclp); }
591 350 AUE_NULL NOPROTO { int __acl_set_fd(int filedes, \
592 acl_type_t type, struct acl *aclp); }
593 351 AUE_NULL NOPROTO { int __acl_delete_file(const char *path, \
594 acl_type_t type); }
595 352 AUE_NULL NOPROTO { int __acl_delete_fd(int filedes, \
596 acl_type_t type); }
597 353 AUE_NULL NOPROTO { int __acl_aclcheck_file(const char *path, \
598 acl_type_t type, struct acl *aclp); }
599 354 AUE_NULL NOPROTO { int __acl_aclcheck_fd(int filedes, \
600 acl_type_t type, struct acl *aclp); }
601 355 AUE_EXTATTRCTL NOPROTO { int extattrctl(const char *path, int cmd, \
602 const char *filename, int attrnamespace, \
603 const char *attrname); }
604 356 AUE_EXTATTR_SET_FILE NOPROTO { int extattr_set_file( \
605 const char *path, int attrnamespace, \
606 const char *attrname, void *data, \
607 size_t nbytes); }
608 357 AUE_EXTATTR_GET_FILE NOPROTO { ssize_t extattr_get_file( \
609 const char *path, int attrnamespace, \
610 const char *attrname, void *data, \
611 size_t nbytes); }
612 358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \
613 const char *path, int attrnamespace, \
614 const char *attrname); }
615 359 AUE_NULL UNIMPL aio_waitcomplete
616 360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
617 uid_t *suid); }
618 361 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
619 gid_t *sgid); }
620 362 AUE_KQUEUE NOPROTO { int kqueue(void); }
621 363 AUE_NULL STD { int freebsd32_kevent(int fd, \
622 const struct kevent32 *changelist, \
623 int nchanges, \
624 struct kevent32 *eventlist, int nevents, \
625 const struct timespec32 *timeout); }
626 364 AUE_NULL UNIMPL __cap_get_proc
627 365 AUE_NULL UNIMPL __cap_set_proc
628 366 AUE_NULL UNIMPL __cap_get_fd
629 367 AUE_NULL UNIMPL __cap_get_file
630 368 AUE_NULL UNIMPL __cap_set_fd
631 369 AUE_NULL UNIMPL __cap_set_file
632 370 AUE_NULL UNIMPL lkmressys
633 371 AUE_EXTATTR_SET_FD NOPROTO { int extattr_set_fd(int fd, \
634 int attrnamespace, const char *attrname, \
635 void *data, size_t nbytes); }
636 372 AUE_EXTATTR_GET_FD NOPROTO { ssize_t extattr_get_fd(int fd, \
637 int attrnamespace, const char *attrname, \
638 void *data, size_t nbytes); }
639 373 AUE_EXTATTR_DELETE_FD NOPROTO { int extattr_delete_fd(int fd, \
640 int attrnamespace, \
641 const char *attrname); }
642 374 AUE_NULL NOPROTO { int __setugid(int flag); }
643 375 AUE_NULL UNIMPL nfsclnt
644 376 AUE_EACCESS NOPROTO { int eaccess(char *path, int flags); }
645 377 AUE_NULL UNIMPL afs_syscall
646 378 AUE_NMOUNT NOPROTO { int nmount(struct iovec *iovp, \
647 unsigned int iovcnt, int flags); }
648 379 AUE_NULL NOPROTO { int kse_exit(void); }
649 380 AUE_NULL NOPROTO { int kse_wakeup(struct kse_mailbox *mbx); }
650 381 AUE_NULL NOPROTO { int kse_create(struct kse_mailbox *mbx, \
651 int newgroup); }
652 382 AUE_NULL NOPROTO { int kse_thr_interrupt( \
653 struct kse_thr_mailbox *tmbx); }
654 383 AUE_NULL NOPROTO { int kse_release(void); }
655 384 AUE_NULL UNIMPL __mac_get_proc
656 385 AUE_NULL UNIMPL __mac_set_proc
657 386 AUE_NULL UNIMPL __mac_get_fd
658 387 AUE_NULL UNIMPL __mac_get_file
659 388 AUE_NULL UNIMPL __mac_set_fd
660 389 AUE_NULL UNIMPL __mac_set_file
661 390 AUE_NULL NOPROTO { int kenv(int what, const char *name, \
662 char *value, int len); }
663 391 AUE_LCHFLAGS NOPROTO { int lchflags(const char *path, int flags); }
664 392 AUE_NULL NOPROTO { int uuidgen(struct uuid *store, \
665 int count); }
666 393 AUE_SENDFILE STD { int freebsd32_sendfile(int fd, int s, \
667 u_int32_t offsetlo, u_int32_t offsethi, \
668 size_t nbytes, struct sf_hdtr32 *hdtr, \
669 off_t *sbytes, int flags); }
670 394 AUE_NULL UNIMPL mac_syscall
671 395 AUE_GETFSSTAT NOPROTO { int getfsstat(struct statfs *buf, \
672 long bufsize, int flags); }
673 396 AUE_STATFS NOPROTO { int statfs(char *path, \
674 struct statfs *buf); }
675 397 AUE_FSTATFS NOPROTO { int fstatfs(int fd, struct statfs *buf); }
676 398 AUE_FHSTATFS NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \
677 struct statfs *buf); }
678 399 AUE_NULL UNIMPL nosys
679 ; XXX implement these?
680 400 AUE_NULL UNIMPL ksem_close
681 401 AUE_NULL UNIMPL ksem_post
682 402 AUE_NULL UNIMPL ksem_wait
683 403 AUE_NULL UNIMPL ksem_trywait
684 404 AUE_NULL UNIMPL ksem_init
685 405 AUE_NULL UNIMPL ksem_open
686 406 AUE_NULL UNIMPL ksem_unlink
687 407 AUE_NULL UNIMPL ksem_getvalue
688 408 AUE_NULL UNIMPL ksem_destroy
689 409 AUE_NULL UNIMPL __mac_get_pid
690 410 AUE_NULL UNIMPL __mac_get_link
691 411 AUE_NULL UNIMPL __mac_set_link
692 412 AUE_EXTATTR_SET_LINK UNIMPL extattr_set_link
693 413 AUE_EXTATTR_GET_LINK UNIMPL extattr_get_link
694 414 AUE_EXTATTR_DELETE_LINK UNIMPL extattr_delete_link
695 415 AUE_NULL UNIMPL __mac_execve
696 416 AUE_SIGACTION STD { int freebsd32_sigaction(int sig, \
697 struct sigaction32 *act, \
698 struct sigaction32 *oact); }
699 417 AUE_SIGRETURN STD { int freebsd32_sigreturn( \
700 const struct freebsd32_ucontext *sigcntxp); }
701 418 AUE_NULL UNIMPL __xstat
702 419 AUE_NULL UNIMPL __xfstat
703 420 AUE_NULL UNIMPL __xlstat
704 421 AUE_NULL STD { int freebsd32_getcontext( \
705 struct freebsd32_ucontext *ucp); }
706 422 AUE_NULL STD { int freebsd32_setcontext( \
707 const struct freebsd32_ucontext *ucp); }
708 423 AUE_NULL STD { int freebsd32_swapcontext( \
709 struct freebsd32_ucontext *oucp, \
710 const struct freebsd32_ucontext *ucp); }
711 424 AUE_SWAPOFF UNIMPL swapoff
712 425 AUE_NULL UNIMPL __acl_get_link
713 426 AUE_NULL UNIMPL __acl_set_link
714 427 AUE_NULL UNIMPL __acl_delete_link
715 428 AUE_NULL UNIMPL __acl_aclcheck_link
716 429 AUE_SIGWAIT NOPROTO { int sigwait(const sigset_t *set, \
717 int *sig); }
718 430 AUE_NULL UNIMPL thr_create;
719 431 AUE_NULL NOPROTO { void thr_exit(long *state); }
720 432 AUE_NULL NOPROTO { int thr_self(long *id); }
721 433 AUE_NULL NOPROTO { int thr_kill(long id, int sig); }
722 434 AUE_NULL STD { int freebsd32_umtx_lock(struct umtx *umtx); }
723 435 AUE_NULL STD { int freebsd32_umtx_unlock(struct umtx *umtx); }
724 436 AUE_NULL NOPROTO { int jail_attach(int jid); }
725 437 AUE_EXTATTR_LIST_FD UNIMPL extattr_list_fd
726 438 AUE_EXTATTR_LIST_FILE UNIMPL extattr_list_file
727 439 AUE_EXTATTR_LIST_LINK UNIMPL extattr_list_link
728 440 AUE_NULL UNIMPL kse_switchin
729 441 AUE_NULL UNIMPL ksem_timedwait
730 442 AUE_NULL STD { int freebsd32_thr_suspend( \
731 const struct timespec32 *timeout); }
732 443 AUE_NULL NOPROTO { int thr_wake(long id); }
733 444 AUE_MODUNLOAD NOPROTO { int kldunloadf(int fileid, int flags); }
734 445 AUE_AUDIT NOPROTO { int audit(const void *record, \
735 u_int length); }
736 446 AUE_AUDITON NOPROTO { int auditon(int cmd, void *data, \
737 u_int length); }
738 447 AUE_GETAUID NOPROTO { int getauid(uid_t *auid); }
739 448 AUE_SETAUID NOPROTO { int setauid(uid_t *auid); }
740 449 AUE_GETAUDIT NOPROTO { int getaudit(struct auditinfo *auditinfo); }
741 450 AUE_SETAUDIT NOPROTO { int setaudit(struct auditinfo *auditinfo); }
742 451 AUE_GETAUDIT_ADDR NOPROTO { int getaudit_addr( \
743 struct auditinfo_addr *auditinfo_addr, \
744 u_int length); }
745 452 AUE_SETAUDIT_ADDR NOPROTO { int setaudit_addr( \
746 struct auditinfo_addr *auditinfo_addr, \
747 u_int length); }
748 453 AUE_AUDITCTL NOPROTO { int auditctl(char *path); }
749 454 AUE_NULL STD { int freebsd32_umtx_op(void *obj, int op,\
750 u_long val, void *uaddr, \
751 void *uaddr2); }
752 455 AUE_NULL STD { int freebsd32_thr_new( \
753 struct thr_param32 *param, \
754 int param_size); }
755 456 AUE_NULL NOPROTO { int sigqueue(pid_t pid, int signum, \
756 void *value); }
757 457 AUE_NULL UNIMPL kmq_open
758 458 AUE_NULL UNIMPL kmq_setattr
759 459 AUE_NULL UNIMPL kmq_timedreceive
760 460 AUE_NULL UNIMPL kmq_timedsend
761 461 AUE_NULL UNIMPL kmq_notify
762 462 AUE_NULL UNIMPL kmq_unlink
763 463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); }
764 464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); }
765 465 AUE_NULL UNIMPL aio_fsync
766 466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \
767 lwpid_t lwpid, struct rtprio *rtp); }
768 467 AUE_NULL UNIMPL nosys
769 468 AUE_NULL UNIMPL nosys
770 469 AUE_NULL UNIMPL __getpath_fromfd
771 470 AUE_NULL UNIMPL __getpath_fromaddr
772 471 AUE_NULL NOPROTO { int sctp_peeloff(int sd, uint32_t name); }
773 472 AUE_NULL NOPROTO { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
774 caddr_t to, __socklen_t tolen, \
775 struct sctp_sndrcvinfo *sinfo, int flags); }
776 473 AUE_NULL NOPROTO { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
777 caddr_t to, __socklen_t tolen, \
778 struct sctp_sndrcvinfo *sinfo, int flags); }
779 474 AUE_NULL NOPROTO { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
780 struct sockaddr * from, __socklen_t *fromlenaddr, \
781 struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
782 475 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, \
783 void *buf,size_t nbyte, \
784 u_int32_t offsetlo, u_int32_t offsethi); }
785 476 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \
786 const void *buf, size_t nbyte, \
787 u_int32_t offsetlo, u_int32_t offsethi); }
788 477 AUE_MMAP STD { caddr_t freebsd32_mmap(caddr_t addr, \
789 size_t len, int prot, int flags, int fd, \
790 u_int32_t poslo, u_int32_t poshi); }
791 478 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, \
792 u_int32_t offsetlo, u_int32_t offsethi, \
793 int whence); }
794 479 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \
795 u_int32_t lengthlo, u_int32_t lengthhi); }
796 480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \
797 u_int32_t lengthlo, u_int32_t lengthhi); }
798 481 AUE_KILL NOPROTO { int thr_kill2(pid_t pid, long id, int sig); }
Cache object: f49e0d7ac56e02bc9a26ce3a896c54e4
|