syscalls.master revision 176215
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 176215 2008-02-12 20:09:04Z ru $ 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 510 AUE_NULL NOPROTO { int nosys(void); } syscall nosys_args int 521 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \ 53 sys_exit_args void 542 AUE_FORK NOPROTO { int fork(void); } 553 AUE_READ NOPROTO { ssize_t read(int fd, void *buf, \ 56 size_t nbyte); } 574 AUE_WRITE NOPROTO { ssize_t write(int fd, const void *buf, \ 58 size_t nbyte); } 595 AUE_OPEN_RWTC NOPROTO { int open(char *path, int flags, \ 60 int mode); } 616 AUE_CLOSE NOPROTO { int close(int fd); } 627 AUE_WAIT4 STD { int freebsd32_wait4(int pid, int *status, \ 63 int options, struct rusage32 *rusage); } 648 AUE_CREAT OBSOL old creat 659 AUE_LINK NOPROTO { int link(char *path, char *link); } 6610 AUE_UNLINK NOPROTO { int unlink(char *path); } 6711 AUE_NULL OBSOL execv 6812 AUE_CHDIR NOPROTO { int chdir(char *path); } 6913 AUE_FCHDIR NOPROTO { int fchdir(int fd); } 7014 AUE_MKNOD NOPROTO { int mknod(char *path, int mode, int dev); } 7115 AUE_CHMOD NOPROTO { int chmod(char *path, int mode); } 7216 AUE_CHOWN NOPROTO { int chown(char *path, int uid, int gid); } 7317 AUE_NULL NOPROTO { int obreak(char *nsize); } break \ 74 obreak_args int 7518 AUE_GETFSSTAT COMPAT4 { int freebsd32_getfsstat( \ 76 struct statfs32 *buf, long bufsize, \ 77 int flags); } 7819 AUE_LSEEK OBSOL olseek 7920 AUE_GETPID NOPROTO { pid_t getpid(void); } 8021 AUE_MOUNT NOPROTO { int mount(char *type, char *path, \ 81 int flags, caddr_t data); } 8222 AUE_UMOUNT NOPROTO { int unmount(char *path, int flags); } 8323 AUE_SETUID NOPROTO { int setuid(uid_t uid); } 8424 AUE_GETUID NOPROTO { uid_t getuid(void); } 8525 AUE_GETEUID NOPROTO { uid_t geteuid(void); } 8626 AUE_PTRACE NOPROTO { int ptrace(int req, pid_t pid, \ 87 caddr_t addr, int data); } 8827 AUE_RECVMSG STD { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \ 89 int flags); } 9028 AUE_SENDMSG STD { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \ 91 int flags); } 9229 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); } 9530 AUE_ACCEPT NOPROTO { int accept(int s, caddr_t name, \ 96 int *anamelen); } 9731 AUE_GETPEERNAME NOPROTO { int getpeername(int fdes, caddr_t asa, \ 98 int *alen); } 9932 AUE_GETSOCKNAME NOPROTO { int getsockname(int fdes, caddr_t asa, \ 100 int *alen); } 10133 AUE_ACCESS NOPROTO { int access(char *path, int flags); } 10234 AUE_CHFLAGS NOPROTO { int chflags(char *path, int flags); } 10335 AUE_FCHFLAGS NOPROTO { int fchflags(int fd, int flags); } 10436 AUE_SYNC NOPROTO { int sync(void); } 10537 AUE_KILL NOPROTO { int kill(int pid, int signum); } 10638 AUE_STAT UNIMPL ostat 10739 AUE_GETPPID NOPROTO { pid_t getppid(void); } 10840 AUE_LSTAT UNIMPL olstat 10941 AUE_DUP NOPROTO { int dup(u_int fd); } 11042 AUE_PIPE NOPROTO { int pipe(void); } 11143 AUE_GETEGID NOPROTO { gid_t getegid(void); } 11244 AUE_PROFILE NOPROTO { int profil(caddr_t samples, size_t size, \ 113 size_t offset, u_int scale); } 11445 AUE_KTRACE NOPROTO { int ktrace(const char *fname, int ops, \ 115 int facs, int pid); } 11646 AUE_SIGACTION COMPAT { int freebsd32_sigaction( int signum, \ 117 struct osigaction32 *nsa, \ 118 struct osigaction32 *osa); } 11947 AUE_GETGID NOPROTO { gid_t getgid(void); } 12048 AUE_SIGPROCMASK COMPAT { int freebsd32_sigprocmask(int how, \ 121 osigset_t mask); } 12249 AUE_GETLOGIN NOPROTO { int getlogin(char *namebuf, \ 123 u_int namelen); } 12450 AUE_SETLOGIN NOPROTO { int setlogin(char *namebuf); } 12551 AUE_ACCT NOPROTO { int acct(char *path); } 12652 AUE_SIGPENDING COMPAT { int freebsd32_sigpending(void); } 12753 AUE_SIGALTSTACK STD { int freebsd32_sigaltstack( \ 128 struct sigaltstack32 *ss, \ 129 struct sigaltstack32 *oss); } 13054 AUE_IOCTL NOPROTO { int ioctl(int fd, u_long com, \ 131 caddr_t data); } 13255 AUE_REBOOT NOPROTO { int reboot(int opt); } 13356 AUE_REVOKE NOPROTO { int revoke(char *path); } 13457 AUE_SYMLINK NOPROTO { int symlink(char *path, char *link); } 13558 AUE_READLINK NOPROTO { ssize_t readlink(char *path, char *buf, \ 136 size_t count); } 13759 AUE_EXECVE STD { int freebsd32_execve(char *fname, \ 138 u_int32_t *argv, u_int32_t *envv); } 13960 AUE_UMASK NOPROTO { int umask(int newmask); } umask \ 140 umask_args int 14161 AUE_CHROOT NOPROTO { int chroot(char *path); } 14262 AUE_FSTAT OBSOL ofstat 14363 AUE_NULL OBSOL ogetkerninfo 14464 AUE_NULL OBSOL ogetpagesize 14565 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ 146 int flags); } 14766 AUE_VFORK NOPROTO { int vfork(void); } 14867 AUE_NULL OBSOL vread 14968 AUE_NULL OBSOL vwrite 15069 AUE_SBRK NOPROTO { int sbrk(int incr); } 15170 AUE_SSTK NOPROTO { int sstk(int incr); } 15271 AUE_MMAP OBSOL ommap 15372 AUE_O_VADVISE NOPROTO { int ovadvise(int anom); } vadvise \ 154 ovadvise_args int 15573 AUE_MUNMAP NOPROTO { int munmap(void *addr, size_t len); } 15674 AUE_MPROTECT NOPROTO { int mprotect(const void *addr, \ 157 size_t len, int prot); } 15875 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, \ 159 int behav); } 16076 AUE_NULL OBSOL vhangup 16177 AUE_NULL OBSOL vlimit 16278 AUE_MINCORE NOPROTO { int mincore(const void *addr, size_t len, \ 163 char *vec); } 16479 AUE_GETGROUPS NOPROTO { int getgroups(u_int gidsetsize, \ 165 gid_t *gidset); } 16680 AUE_SETGROUPS NOPROTO { int setgroups(u_int gidsetsize, \ 167 gid_t *gidset); } 16881 AUE_GETPGRP NOPROTO { int getpgrp(void); } 16982 AUE_SETPGRP NOPROTO { int setpgid(int pid, int pgid); } 17083 AUE_SETITIMER STD { int freebsd32_setitimer(u_int which, \ 171 struct itimerval32 *itv, \ 172 struct itimerval32 *oitv); } 17384 AUE_NULL OBSOL owait 174; XXX implement 17585 AUE_SWAPON OBSOL oswapon 17686 AUE_GETITIMER STD { int freebsd32_getitimer(u_int which, \ 177 struct itimerval32 *itv); } 17887 AUE_O_GETHOSTNAME OBSOL ogethostname 17988 AUE_O_SETHOSTNAME OBSOL osethostname 18089 AUE_GETDTABLESIZE NOPROTO { int getdtablesize(void); } 18190 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); } 18291 AUE_NULL UNIMPL getdopt 18392 AUE_FCNTL NOPROTO { int fcntl(int fd, int cmd, long arg); } 18493 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. 18894 AUE_NULL UNIMPL setdopt 18995 AUE_FSYNC NOPROTO { int fsync(int fd); } 19096 AUE_SETPRIORITY NOPROTO { int setpriority(int which, int who, \ 191 int prio); } 19297 AUE_SOCKET NOPROTO { int socket(int domain, int type, \ 193 int protocol); } 19498 AUE_CONNECT NOPROTO { int connect(int s, caddr_t name, \ 195 int namelen); } 19699 AUE_NULL OBSOL oaccept 197100 AUE_GETPRIORITY NOPROTO { int getpriority(int which, int who); } 198101 AUE_NULL OBSOL osend 199102 AUE_NULL OBSOL orecv 200103 AUE_NULL OBSOL osigreturn 201104 AUE_BIND NOPROTO { int bind(int s, caddr_t name, \ 202 int namelen); } 203105 AUE_SETSOCKOPT NOPROTO { int setsockopt(int s, int level, \ 204 int name, caddr_t val, int valsize); } 205106 AUE_LISTEN NOPROTO { int listen(int s, int backlog); } 206107 AUE_NULL OBSOL vtimes 207108 AUE_O_SIGVEC COMPAT { int freebsd32_sigvec(int signum, \ 208 struct sigvec32 *nsv, \ 209 struct sigvec32 *osv); } 210109 AUE_O_SIGBLOCK COMPAT { int freebsd32_sigblock(int mask); } 211110 AUE_O_SIGSETMASK COMPAT { int freebsd32_sigsetmask( int mask); } 212111 AUE_SIGSUSPEND COMPAT { int freebsd32_sigsuspend( int mask); } 213112 AUE_O_SIGSTACK COMPAT { int freebsd32_sigstack( \ 214 struct sigstack32 *nss, \ 215 struct sigstack32 *oss); } 216113 AUE_NULL OBSOL orecvmsg 217114 AUE_NULL OBSOL osendmsg 218115 AUE_NULL OBSOL vtrace 219116 AUE_GETTIMEOFDAY STD { int freebsd32_gettimeofday( \ 220 struct timeval32 *tp, \ 221 struct timezone *tzp); } 222117 AUE_GETRUSAGE STD { int freebsd32_getrusage(int who, \ 223 struct rusage32 *rusage); } 224118 AUE_GETSOCKOPT NOPROTO { int getsockopt(int s, int level, \ 225 int name, caddr_t val, int *avalsize); } 226119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) 227120 AUE_READV STD { int freebsd32_readv(int fd, \ 228 struct iovec32 *iovp, u_int iovcnt); } 229121 AUE_WRITEV STD { int freebsd32_writev(int fd, \ 230 struct iovec32 *iovp, u_int iovcnt); } 231122 AUE_SETTIMEOFDAY STD { int freebsd32_settimeofday( \ 232 struct timeval32 *tv, \ 233 struct timezone *tzp); } 234123 AUE_FCHOWN NOPROTO { int fchown(int fd, int uid, int gid); } 235124 AUE_FCHMOD NOPROTO { int fchmod(int fd, int mode); } 236125 AUE_RECVFROM OBSOL orecvfrom 237126 AUE_SETREUID NOPROTO { int setreuid(int ruid, int euid); } 238127 AUE_SETREGID NOPROTO { int setregid(int rgid, int egid); } 239128 AUE_RENAME NOPROTO { int rename(char *from, char *to); } 240129 AUE_TRUNCATE OBSOL otruncate 241130 AUE_FTRUNCATE OBSOL ftruncate 242131 AUE_FLOCK NOPROTO { int flock(int fd, int how); } 243132 AUE_MKFIFO NOPROTO { int mkfifo(char *path, int mode); } 244133 AUE_SENDTO NOPROTO { int sendto(int s, caddr_t buf, \ 245 size_t len, int flags, caddr_t to, \ 246 int tolen); } 247134 AUE_SHUTDOWN NOPROTO { int shutdown(int s, int how); } 248135 AUE_SOCKETPAIR NOPROTO { int socketpair(int domain, int type, \ 249 int protocol, int *rsv); } 250136 AUE_MKDIR NOPROTO { int mkdir(char *path, int mode); } 251137 AUE_RMDIR NOPROTO { int rmdir(char *path); } 252138 AUE_UTIMES STD { int freebsd32_utimes(char *path, \ 253 struct timeval32 *tptr); } 254139 AUE_NULL OBSOL 4.2 sigreturn 255140 AUE_ADJTIME STD { int freebsd32_adjtime( \ 256 struct timeval32 *delta, \ 257 struct timeval32 *olddelta); } 258141 AUE_GETPEERNAME OBSOL ogetpeername 259142 AUE_SYSCTL OBSOL ogethostid 260143 AUE_SYSCTL OBSOL sethostid 261144 AUE_GETRLIMIT OBSOL getrlimit 262145 AUE_SETRLIMIT OBSOL setrlimit 263146 AUE_KILLPG OBSOL killpg 264147 AUE_SETSID NOPROTO { int setsid(void); } 265148 AUE_QUOTACTL NOPROTO { int quotactl(char *path, int cmd, int uid, \ 266 caddr_t arg); } 267149 AUE_O_QUOTA OBSOL oquota 268150 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... 274151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x) 275152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x) 276153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x) 277154 AUE_NULL UNIMPL nosys 278; 155 is initialized by the NFS code, if present. 279; XXX this is a problem!!! 280155 AUE_NFS_SVC UNIMPL nfssvc 281156 AUE_GETDIRENTRIES OBSOL ogetdirentries 282157 AUE_STATFS COMPAT4 { int freebsd32_statfs(char *path, \ 283 struct statfs32 *buf); } 284158 AUE_FSTATFS COMPAT4 { int freebsd32_fstatfs(int fd, \ 285 struct statfs32 *buf); } 286159 AUE_NULL UNIMPL nosys 287160 AUE_LGETFH UNIMPL lgetfh 288161 AUE_NFS_GETFH NOPROTO { int getfh(char *fname, \ 289 struct fhandle *fhp); } 290162 AUE_SYSCTL NOPROTO { int getdomainname(char *domainname, \ 291 int len); } 292163 AUE_SYSCTL NOPROTO { int setdomainname(char *domainname, \ 293 int len); } 294164 AUE_NULL NOPROTO { int uname(struct utsname *name); } 295165 AUE_SYSARCH NOPROTO { int sysarch(int op, char *parms); } 296166 AUE_RTPRIO NOPROTO { int rtprio(int function, pid_t pid, \ 297 struct rtprio *rtp); } 298167 AUE_NULL UNIMPL nosys 299168 AUE_NULL UNIMPL nosys 300169 AUE_SEMSYS STD { int freebsd32_semsys(int which, int a2, \ 301 int a3, int a4, int a5); } 302170 AUE_MSGSYS STD { int freebsd32_msgsys(int which, int a2, \ 303 int a3, int a4, int a5, int a6); } 304171 AUE_SHMSYS STD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \ 305 uint32_t a3, uint32_t a4); } 306172 AUE_NULL UNIMPL nosys 307173 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 311174 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 315175 AUE_NULL UNIMPL nosys 316176 AUE_NTP_ADJTIME NOPROTO { int ntp_adjtime(struct timex *tp); } 317177 AUE_NULL UNIMPL sfork (BSD/OS 2.x) 318178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x) 319179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x) 320180 AUE_NULL UNIMPL nosys 321 322; Syscalls 181-199 are used by/reserved for BSD 323181 AUE_SETGID NOPROTO { int setgid(gid_t gid); } 324182 AUE_SETEGID NOPROTO { int setegid(gid_t egid); } 325183 AUE_SETEUID NOPROTO { int seteuid(uid_t euid); } 326184 AUE_NULL UNIMPL lfs_bmapv 327185 AUE_NULL UNIMPL lfs_markv 328186 AUE_NULL UNIMPL lfs_segclean 329187 AUE_NULL UNIMPL lfs_segwait 330188 AUE_STAT STD { int freebsd32_stat(char *path, \ 331 struct stat32 *ub); } 332189 AUE_FSTAT STD { int freebsd32_fstat(int fd, \ 333 struct stat32 *ub); } 334190 AUE_LSTAT STD { int freebsd32_lstat(char *path, \ 335 struct stat32 *ub); } 336191 AUE_PATHCONF NOPROTO { int pathconf(char *path, int name); } 337192 AUE_FPATHCONF NOPROTO { int fpathconf(int fd, int name); } 338193 AUE_NULL UNIMPL nosys 339194 AUE_GETRLIMIT NOPROTO { int getrlimit(u_int which, \ 340 struct rlimit *rlp); } getrlimit \ 341 __getrlimit_args int 342195 AUE_SETRLIMIT NOPROTO { int setrlimit(u_int which, \ 343 struct rlimit *rlp); } setrlimit \ 344 __setrlimit_args int 345196 AUE_GETDIRENTRIES NOPROTO { int getdirentries(int fd, char *buf, \ 346 u_int count, long *basep); } 347197 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); } 351198 AUE_NULL NOPROTO { int nosys(void); } __syscall \ 352 __syscall_args int 353; XXX note - bigendian is different 354199 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 358200 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 362201 AUE_FTRUNCATE COMPAT6 { int freebsd32_ftruncate(int fd, int pad, \ 363 u_int32_t lengthlo, u_int32_t lengthhi); } 364202 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); } 368203 AUE_MLOCK NOPROTO { int mlock(const void *addr, \ 369 size_t len); } 370204 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, \ 371 size_t len); } 372205 AUE_UNDELETE NOPROTO { int undelete(char *path); } 373206 AUE_FUTIMES STD { int freebsd32_futimes(int fd, \ 374 struct timeval32 *tptr); } 375207 AUE_GETPGID NOPROTO { int getpgid(pid_t pid); } 376208 AUE_NULL UNIMPL newreboot (NetBSD) 377209 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; 383210 AUE_NULL UNIMPL 384211 AUE_NULL UNIMPL 385212 AUE_NULL UNIMPL 386213 AUE_NULL UNIMPL 387214 AUE_NULL UNIMPL 388215 AUE_NULL UNIMPL 389216 AUE_NULL UNIMPL 390217 AUE_NULL UNIMPL 391218 AUE_NULL UNIMPL 392219 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!! 398220 AUE_SEMCTL STD { int freebsd32_semctl(int semid, int semnum, \ 399 int cmd, union semun32 *arg); } 400221 AUE_SEMGET NOPROTO { int semget(key_t key, int nsems, \ 401 int semflg); } 402222 AUE_SEMOP NOPROTO { int semop(int semid, struct sembuf *sops, \ 403 u_int nsops); } 404223 AUE_NULL UNIMPL semconfig 405224 AUE_MSGCTL STD { int freebsd32_msgctl(int msqid, int cmd, \ 406 struct msqid_ds32 *buf); } 407225 AUE_MSGGET NOPROTO { int msgget(key_t key, int msgflg); } 408226 AUE_MSGSND STD { int freebsd32_msgsnd(int msqid, void *msgp, \ 409 size_t msgsz, int msgflg); } 410227 AUE_MSGRCV STD { int freebsd32_msgrcv(int msqid, void *msgp, \ 411 size_t msgsz, long msgtyp, int msgflg); } 412228 AUE_SHMAT NOPROTO { int shmat(int shmid, void *shmaddr, \ 413 int shmflg); } 414229 AUE_SHMCTL STD { int freebsd32_shmctl(int shmid, int cmd, \ 415 struct shmid_ds *buf); } 416230 AUE_SHMDT NOPROTO { int shmdt(void *shmaddr); } 417231 AUE_SHMGET NOPROTO { int shmget(key_t key, int size, \ 418 int shmflg); } 419; 420232 AUE_NULL STD { int freebsd32_clock_gettime(clockid_t clock_id, \ 421 struct timespec32 *tp); } 422233 AUE_CLOCK_SETTIME STD { int freebsd32_clock_settime(clockid_t clock_id, \ 423 const struct timespec32 *tp); } 424234 AUE_NULL STD { int freebsd32_clock_getres(clockid_t clock_id, \ 425 struct timespec32 *tp); } 426235 AUE_NULL UNIMPL timer_create 427236 AUE_NULL UNIMPL timer_delete 428237 AUE_NULL UNIMPL timer_settime 429238 AUE_NULL UNIMPL timer_gettime 430239 AUE_NULL UNIMPL timer_getoverrun 431240 AUE_NULL STD { int freebsd32_nanosleep( \ 432 const struct timespec32 *rqtp, \ 433 struct timespec32 *rmtp); } 434241 AUE_NULL UNIMPL nosys 435242 AUE_NULL UNIMPL nosys 436243 AUE_NULL UNIMPL nosys 437244 AUE_NULL UNIMPL nosys 438245 AUE_NULL UNIMPL nosys 439246 AUE_NULL UNIMPL nosys 440247 AUE_NULL UNIMPL nosys 441248 AUE_NULL UNIMPL ntp_gettime 442249 AUE_NULL UNIMPL nosys 443; syscall numbers initially used in OpenBSD 444250 AUE_MINHERIT NOPROTO { int minherit(void *addr, size_t len, \ 445 int inherit); } 446251 AUE_RFORK NOPROTO { int rfork(int flags); } 447252 AUE_POLL NOPROTO { int openbsd_poll(struct pollfd *fds, \ 448 u_int nfds, int timeout); } 449253 AUE_ISSETUGID NOPROTO { int issetugid(void); } 450254 AUE_LCHOWN NOPROTO { int lchown(char *path, int uid, int gid); } 451255 AUE_NULL UNIMPL nosys 452256 AUE_NULL UNIMPL nosys 453257 AUE_NULL UNIMPL nosys 454258 AUE_NULL UNIMPL nosys 455259 AUE_NULL UNIMPL nosys 456260 AUE_NULL UNIMPL nosys 457261 AUE_NULL UNIMPL nosys 458262 AUE_NULL UNIMPL nosys 459263 AUE_NULL UNIMPL nosys 460264 AUE_NULL UNIMPL nosys 461265 AUE_NULL UNIMPL nosys 462266 AUE_NULL UNIMPL nosys 463267 AUE_NULL UNIMPL nosys 464268 AUE_NULL UNIMPL nosys 465269 AUE_NULL UNIMPL nosys 466270 AUE_NULL UNIMPL nosys 467271 AUE_NULL UNIMPL nosys 468272 AUE_O_GETDENTS NOPROTO { int getdents(int fd, char *buf, \ 469 size_t count); } 470273 AUE_NULL UNIMPL nosys 471274 AUE_LCHMOD NOPROTO { int lchmod(char *path, mode_t mode); } 472275 AUE_LCHOWN NOPROTO { int lchown(char *path, uid_t uid, \ 473 gid_t gid); } netbsd_lchown \ 474 lchown_args int 475276 AUE_LUTIMES STD { int freebsd32_lutimes(char *path, \ 476 struct timeval32 *tptr); } 477277 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ 478 int flags); } netbsd_msync msync_args int 479278 AUE_STAT NOPROTO { int nstat(char *path, struct nstat *ub); } 480279 AUE_FSTAT NOPROTO { int nfstat(int fd, struct nstat *sb); } 481280 AUE_LSTAT NOPROTO { int nlstat(char *path, struct nstat *ub); } 482281 AUE_NULL UNIMPL nosys 483282 AUE_NULL UNIMPL nosys 484283 AUE_NULL UNIMPL nosys 485284 AUE_NULL UNIMPL nosys 486285 AUE_NULL UNIMPL nosys 487286 AUE_NULL UNIMPL nosys 488287 AUE_NULL UNIMPL nosys 489288 AUE_NULL UNIMPL nosys 490; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 491289 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 495290 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 499291 AUE_NULL UNIMPL nosys 500292 AUE_NULL UNIMPL nosys 501293 AUE_NULL UNIMPL nosys 502294 AUE_NULL UNIMPL nosys 503295 AUE_NULL UNIMPL nosys 504296 AUE_NULL UNIMPL nosys 505; XXX 297 is 300 in NetBSD 506297 AUE_FHSTATFS COMPAT4 { int freebsd32_fhstatfs( \ 507 const struct fhandle *u_fhp, \ 508 struct statfs32 *buf); } 509298 AUE_FHOPEN NOPROTO { int fhopen(const struct fhandle *u_fhp, \ 510 int flags); } 511299 AUE_FHSTAT NOPROTO { int fhstat(const struct fhandle *u_fhp, \ 512 struct stat *sb); } 513; syscall numbers for FreeBSD 514300 AUE_NULL NOPROTO { int modnext(int modid); } 515301 AUE_NULL STD { int freebsd32_modstat(int modid, \ 516 struct module_stat32* stat); } 517302 AUE_NULL NOPROTO { int modfnext(int modid); } 518303 AUE_NULL NOPROTO { int modfind(const char *name); } 519304 AUE_MODLOAD NOPROTO { int kldload(const char *file); } 520305 AUE_MODUNLOAD NOPROTO { int kldunload(int fileid); } 521306 AUE_NULL NOPROTO { int kldfind(const char *file); } 522307 AUE_NULL NOPROTO { int kldnext(int fileid); } 523308 AUE_NULL NOPROTO { int kldstat(int fileid, \ 524 struct kld_file_stat* stat); } 525309 AUE_NULL NOPROTO { int kldfirstmod(int fileid); } 526310 AUE_GETSID NOPROTO { int getsid(pid_t pid); } 527311 AUE_SETRESUID NOPROTO { int setresuid(uid_t ruid, uid_t euid, \ 528 uid_t suid); } 529312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \ 530 gid_t sgid); } 531313 AUE_NULL OBSOL signanosleep 532314 AUE_NULL UNIMPL aio_return 533315 AUE_NULL UNIMPL aio_suspend 534316 AUE_NULL UNIMPL aio_cancel 535317 AUE_NULL UNIMPL aio_error 536318 AUE_NULL UNIMPL aio_read 537319 AUE_NULL UNIMPL aio_write 538320 AUE_NULL UNIMPL lio_listio 539321 AUE_NULL NOPROTO { int yield(void); } 540322 AUE_NULL OBSOL thr_sleep 541323 AUE_NULL OBSOL thr_wakeup 542324 AUE_MLOCKALL NOPROTO { int mlockall(int how); } 543325 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 544326 AUE_GETCWD NOPROTO { int __getcwd(u_char *buf, u_int buflen); } 545 546327 AUE_NULL NOPROTO { int sched_setparam (pid_t pid, \ 547 const struct sched_param *param); } 548328 AUE_NULL NOPROTO { int sched_getparam (pid_t pid, \ 549 struct sched_param *param); } 550 551329 AUE_NULL NOPROTO { int sched_setscheduler (pid_t pid, \ 552 int policy, \ 553 const struct sched_param *param); } 554330 AUE_NULL NOPROTO { int sched_getscheduler (pid_t pid); } 555 556331 AUE_NULL NOPROTO { int sched_yield (void); } 557332 AUE_NULL NOPROTO { int sched_get_priority_max (int policy); } 558333 AUE_NULL NOPROTO { int sched_get_priority_min (int policy); } 559334 AUE_NULL NOPROTO { int sched_rr_get_interval (pid_t pid, \ 560 struct timespec *interval); } 561335 AUE_NULL NOPROTO { int utrace(const void *addr, size_t len); } 562; XXX note - bigendian is different 563336 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); } 567337 AUE_NULL NOPROTO { int kldsym(int fileid, int cmd, \ 568 void *data); } 569338 AUE_JAIL NOPROTO { int jail(struct jail *jail); } 570339 AUE_NULL UNIMPL pioctl 571340 AUE_SIGPROCMASK NOPROTO { int sigprocmask(int how, \ 572 const sigset_t *set, sigset_t *oset); } 573341 AUE_SIGSUSPEND NOPROTO { int sigsuspend(const sigset_t *sigmask); } 574342 AUE_SIGACTION COMPAT4 { int freebsd32_sigaction(int sig, \ 575 struct sigaction32 *act, \ 576 struct sigaction32 *oact); } 577343 AUE_SIGPENDING NOPROTO { int sigpending(sigset_t *set); } 578344 AUE_SIGRETURN COMPAT4 { int freebsd32_sigreturn( \ 579 const struct freebsd4_freebsd32_ucontext *sigcntxp); } 580345 AUE_SIGWAIT STD { int freebsd32_sigtimedwait(const sigset_t *set, \ 581 siginfo_t *info, \ 582 const struct timespec *timeout); } 583346 AUE_NULL STD { int freebsd32_sigwaitinfo(const sigset_t *set, \ 584 siginfo_t *info); } 585347 AUE_NULL NOPROTO { int __acl_get_file(const char *path, \ 586 acl_type_t type, struct acl *aclp); } 587348 AUE_NULL NOPROTO { int __acl_set_file(const char *path, \ 588 acl_type_t type, struct acl *aclp); } 589349 AUE_NULL NOPROTO { int __acl_get_fd(int filedes, \ 590 acl_type_t type, struct acl *aclp); } 591350 AUE_NULL NOPROTO { int __acl_set_fd(int filedes, \ 592 acl_type_t type, struct acl *aclp); } 593351 AUE_NULL NOPROTO { int __acl_delete_file(const char *path, \ 594 acl_type_t type); } 595352 AUE_NULL NOPROTO { int __acl_delete_fd(int filedes, \ 596 acl_type_t type); } 597353 AUE_NULL NOPROTO { int __acl_aclcheck_file(const char *path, \ 598 acl_type_t type, struct acl *aclp); } 599354 AUE_NULL NOPROTO { int __acl_aclcheck_fd(int filedes, \ 600 acl_type_t type, struct acl *aclp); } 601355 AUE_EXTATTRCTL NOPROTO { int extattrctl(const char *path, int cmd, \ 602 const char *filename, int attrnamespace, \ 603 const char *attrname); } 604356 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); } 608357 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); } 612358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \ 613 const char *path, int attrnamespace, \ 614 const char *attrname); } 615359 AUE_NULL UNIMPL aio_waitcomplete 616360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ 617 uid_t *suid); } 618361 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \ 619 gid_t *sgid); } 620362 AUE_KQUEUE NOPROTO { int kqueue(void); } 621363 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); } 626364 AUE_NULL UNIMPL __cap_get_proc 627365 AUE_NULL UNIMPL __cap_set_proc 628366 AUE_NULL UNIMPL __cap_get_fd 629367 AUE_NULL UNIMPL __cap_get_file 630368 AUE_NULL UNIMPL __cap_set_fd 631369 AUE_NULL UNIMPL __cap_set_file 632370 AUE_NULL UNIMPL lkmressys 633371 AUE_EXTATTR_SET_FD NOPROTO { int extattr_set_fd(int fd, \ 634 int attrnamespace, const char *attrname, \ 635 void *data, size_t nbytes); } 636372 AUE_EXTATTR_GET_FD NOPROTO { ssize_t extattr_get_fd(int fd, \ 637 int attrnamespace, const char *attrname, \ 638 void *data, size_t nbytes); } 639373 AUE_EXTATTR_DELETE_FD NOPROTO { int extattr_delete_fd(int fd, \ 640 int attrnamespace, \ 641 const char *attrname); } 642374 AUE_NULL NOPROTO { int __setugid(int flag); } 643375 AUE_NULL UNIMPL nfsclnt 644376 AUE_EACCESS NOPROTO { int eaccess(char *path, int flags); } 645377 AUE_NULL UNIMPL afs_syscall 646378 AUE_NMOUNT NOPROTO { int nmount(struct iovec *iovp, \ 647 unsigned int iovcnt, int flags); } 648379 AUE_NULL NOPROTO { int kse_exit(void); } 649380 AUE_NULL NOPROTO { int kse_wakeup(struct kse_mailbox *mbx); } 650381 AUE_NULL NOPROTO { int kse_create(struct kse_mailbox *mbx, \ 651 int newgroup); } 652382 AUE_NULL NOPROTO { int kse_thr_interrupt( \ 653 struct kse_thr_mailbox *tmbx); } 654383 AUE_NULL NOPROTO { int kse_release(void); } 655384 AUE_NULL UNIMPL __mac_get_proc 656385 AUE_NULL UNIMPL __mac_set_proc 657386 AUE_NULL UNIMPL __mac_get_fd 658387 AUE_NULL UNIMPL __mac_get_file 659388 AUE_NULL UNIMPL __mac_set_fd 660389 AUE_NULL UNIMPL __mac_set_file 661390 AUE_NULL NOPROTO { int kenv(int what, const char *name, \ 662 char *value, int len); } 663391 AUE_LCHFLAGS NOPROTO { int lchflags(const char *path, int flags); } 664392 AUE_NULL NOPROTO { int uuidgen(struct uuid *store, \ 665 int count); } 666393 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); } 670394 AUE_NULL UNIMPL mac_syscall 671395 AUE_GETFSSTAT NOPROTO { int getfsstat(struct statfs *buf, \ 672 long bufsize, int flags); } 673396 AUE_STATFS NOPROTO { int statfs(char *path, \ 674 struct statfs *buf); } 675397 AUE_FSTATFS NOPROTO { int fstatfs(int fd, struct statfs *buf); } 676398 AUE_FHSTATFS NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ 677 struct statfs *buf); } 678399 AUE_NULL UNIMPL nosys 679; XXX implement these? 680400 AUE_NULL UNIMPL ksem_close 681401 AUE_NULL UNIMPL ksem_post 682402 AUE_NULL UNIMPL ksem_wait 683403 AUE_NULL UNIMPL ksem_trywait 684404 AUE_NULL UNIMPL ksem_init 685405 AUE_NULL UNIMPL ksem_open 686406 AUE_NULL UNIMPL ksem_unlink 687407 AUE_NULL UNIMPL ksem_getvalue 688408 AUE_NULL UNIMPL ksem_destroy 689409 AUE_NULL UNIMPL __mac_get_pid 690410 AUE_NULL UNIMPL __mac_get_link 691411 AUE_NULL UNIMPL __mac_set_link 692412 AUE_EXTATTR_SET_LINK UNIMPL extattr_set_link 693413 AUE_EXTATTR_GET_LINK UNIMPL extattr_get_link 694414 AUE_EXTATTR_DELETE_LINK UNIMPL extattr_delete_link 695415 AUE_NULL UNIMPL __mac_execve 696416 AUE_SIGACTION STD { int freebsd32_sigaction(int sig, \ 697 struct sigaction32 *act, \ 698 struct sigaction32 *oact); } 699417 AUE_SIGRETURN STD { int freebsd32_sigreturn( \ 700 const struct freebsd32_ucontext *sigcntxp); } 701418 AUE_NULL UNIMPL __xstat 702419 AUE_NULL UNIMPL __xfstat 703420 AUE_NULL UNIMPL __xlstat 704421 AUE_NULL STD { int freebsd32_getcontext( \ 705 struct freebsd32_ucontext *ucp); } 706422 AUE_NULL STD { int freebsd32_setcontext( \ 707 const struct freebsd32_ucontext *ucp); } 708423 AUE_NULL STD { int freebsd32_swapcontext( \ 709 struct freebsd32_ucontext *oucp, \ 710 const struct freebsd32_ucontext *ucp); } 711424 AUE_SWAPOFF UNIMPL swapoff 712425 AUE_NULL UNIMPL __acl_get_link 713426 AUE_NULL UNIMPL __acl_set_link 714427 AUE_NULL UNIMPL __acl_delete_link 715428 AUE_NULL UNIMPL __acl_aclcheck_link 716429 AUE_SIGWAIT NOPROTO { int sigwait(const sigset_t *set, \ 717 int *sig); } 718430 AUE_NULL UNIMPL thr_create; 719431 AUE_NULL NOPROTO { void thr_exit(long *state); } 720432 AUE_NULL NOPROTO { int thr_self(long *id); } 721433 AUE_NULL NOPROTO { int thr_kill(long id, int sig); } 722434 AUE_NULL STD { int freebsd32_umtx_lock(struct umtx *umtx); } 723435 AUE_NULL STD { int freebsd32_umtx_unlock(struct umtx *umtx); } 724436 AUE_NULL NOPROTO { int jail_attach(int jid); } 725437 AUE_EXTATTR_LIST_FD UNIMPL extattr_list_fd 726438 AUE_EXTATTR_LIST_FILE UNIMPL extattr_list_file 727439 AUE_EXTATTR_LIST_LINK UNIMPL extattr_list_link 728440 AUE_NULL UNIMPL kse_switchin 729441 AUE_NULL UNIMPL ksem_timedwait 730442 AUE_NULL STD { int freebsd32_thr_suspend( \ 731 const struct timespec32 *timeout); } 732443 AUE_NULL NOPROTO { int thr_wake(long id); } 733444 AUE_MODUNLOAD NOPROTO { int kldunloadf(int fileid, int flags); } 734445 AUE_AUDIT NOPROTO { int audit(const void *record, \ 735 u_int length); } 736446 AUE_AUDITON NOPROTO { int auditon(int cmd, void *data, \ 737 u_int length); } 738447 AUE_GETAUID NOPROTO { int getauid(uid_t *auid); } 739448 AUE_SETAUID NOPROTO { int setauid(uid_t *auid); } 740449 AUE_GETAUDIT NOPROTO { int getaudit(struct auditinfo *auditinfo); } 741450 AUE_SETAUDIT NOPROTO { int setaudit(struct auditinfo *auditinfo); } 742451 AUE_GETAUDIT_ADDR NOPROTO { int getaudit_addr( \ 743 struct auditinfo_addr *auditinfo_addr, \ 744 u_int length); } 745452 AUE_SETAUDIT_ADDR NOPROTO { int setaudit_addr( \ 746 struct auditinfo_addr *auditinfo_addr, \ 747 u_int length); } 748453 AUE_AUDITCTL NOPROTO { int auditctl(char *path); } 749454 AUE_NULL STD { int freebsd32_umtx_op(void *obj, int op,\ 750 u_long val, void *uaddr, \ 751 void *uaddr2); } 752455 AUE_NULL STD { int freebsd32_thr_new( \ 753 struct thr_param32 *param, \ 754 int param_size); } 755456 AUE_NULL NOPROTO { int sigqueue(pid_t pid, int signum, \ 756 void *value); } 757457 AUE_NULL UNIMPL kmq_open 758458 AUE_NULL UNIMPL kmq_setattr 759459 AUE_NULL UNIMPL kmq_timedreceive 760460 AUE_NULL UNIMPL kmq_timedsend 761461 AUE_NULL UNIMPL kmq_notify 762462 AUE_NULL UNIMPL kmq_unlink 763463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); } 764464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); } 765465 AUE_NULL UNIMPL aio_fsync 766466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \ 767 lwpid_t lwpid, struct rtprio *rtp); } 768467 AUE_NULL UNIMPL nosys 769468 AUE_NULL UNIMPL nosys 770469 AUE_NULL UNIMPL __getpath_fromfd 771470 AUE_NULL UNIMPL __getpath_fromaddr 772471 AUE_NULL NOPROTO { int sctp_peeloff(int sd, uint32_t name); } 773472 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); } 776473 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); } 779474 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); } 782475 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, \ 783 void *buf,size_t nbyte, \ 784 u_int32_t offsetlo, u_int32_t offsethi); } 785476 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); } 788477 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); } 791478 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, \ 792 u_int32_t offsetlo, u_int32_t offsethi, \ 793 int whence); } 794479 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \ 795 u_int32_t lengthlo, u_int32_t lengthhi); } 796480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ 797 u_int32_t lengthlo, u_int32_t lengthhi); } 798481 AUE_KILL NOPROTO { int thr_kill2(pid_t pid, long id, int sig); } 799482 AUE_SHMOPEN NOPROTO { int shm_open(const char *path, int flags, \ 800 mode_t mode); } 801483 AUE_SHMUNLINK NOPROTO { int shm_unlink(const char *path); } 802