syscalls.master revision 139292
1165138Syongari $FreeBSD: head/sys/kern/syscalls.master 139292 2004-12-25 13:02:50Z davidxu $ 2165138Syongari; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3165138Syongari; 4165138Syongari; System call name/number master file. 5165138Syongari; Processed to created init_sysent.c, syscalls.c and syscall.h. 6165138Syongari 7165138Syongari; Columns: number [M]type nargs name alt{name,tag,rtyp}/comments 8165138Syongari; number system call number, must be in order 9165138Syongari; type one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA, 10165138Syongari; [M]LIBCOMPAT, [M]NODEF, [M]NOARGS, [M]NOPROTO, [M]NOIMPL, 11165138Syongari; [M]NOSTD, [M]COMPAT4 12165138Syongari; name psuedo-prototype of syscall routine 13165138Syongari; If one of the following alts is different, then all appear: 14165138Syongari; altname name of system call if different 15165138Syongari; alttag name of args struct tag if different from [o]`name'"_args" 16165138Syongari; altrtyp return type if not int (bogus - syscalls always return int) 17165138Syongari; for UNIMPL/OBSOL, name continues with comments 18165138Syongari 19165138Syongari; types: 20165138Syongari; [M] e.g. like MSTD -- means the system call is MP-safe. If no 21165138Syongari; M prefix is used, the syscall wrapper will obtain the Giant 22165138Syongari; lock for the syscall. 23165138Syongari; STD always included 24165138Syongari; COMPAT included on COMPAT #ifdef 25165138Syongari; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) 26165138Syongari; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 27165138Syongari; OBSOL obsolete, not included in system, only specifies name 28165138Syongari; UNIMPL not implemented, placeholder only 29165138Syongari; NOSTD implemented but as a lkm that can be statically 30165138Syongari; compiled in sysent entry will be filled with lkmsys 31165138Syongari; so the SYSCALL_MODULE macro works 32165138Syongari; 33165138Syongari; Please copy any additions and changes to the following compatability tables: 34165138Syongari; sys/compat/freebsd32/syscalls.master 35165138Syongari 36165138Syongari; #ifdef's, etc. may be included, and are copied to the output files. 37165138Syongari 38165138Syongari#include <sys/param.h> 39165138Syongari#include <sys/sysent.h> 40165138Syongari#include <sys/sysproto.h> 41165138Syongari 42165138Syongari; Reserved/unimplemented system calls in the range 0-150 inclusive 43165138Syongari; are reserved for use in future Berkeley releases. 44165138Syongari; Additional system calls implemented in vendor and other 45165138Syongari; redistributions should be placed in the reserved range at the end 46165138Syongari; of the current calls. 47165138Syongari 48165138Syongari0 MSTD { int nosys(void); } syscall nosys_args int 49165138Syongari1 MSTD { void sys_exit(int rval); } exit sys_exit_args void 50165138Syongari2 MSTD { int fork(void); } 51165138Syongari3 MSTD { ssize_t read(int fd, void *buf, size_t nbyte); } 52165138Syongari4 MSTD { ssize_t write(int fd, const void *buf, size_t nbyte); } 53165138Syongari5 MSTD { int open(char *path, int flags, int mode); } 54165138Syongari; XXX should be { int open(const char *path, int flags, ...); } 55165138Syongari; but we're not ready for `const' or varargs. 56165138Syongari; XXX man page says `mode_t mode'. 57165138Syongari6 MSTD { int close(int fd); } 58165138Syongari7 MSTD { int wait4(int pid, int *status, int options, \ 59165138Syongari struct rusage *rusage); } wait4 wait_args int 60165138Syongari8 MCOMPAT { int creat(char *path, int mode); } 61165138Syongari9 MSTD { int link(char *path, char *link); } 62165138Syongari10 MSTD { int unlink(char *path); } 63165138Syongari11 OBSOL execv 64165138Syongari12 STD { int chdir(char *path); } 65165138Syongari13 STD { int fchdir(int fd); } 66165138Syongari14 STD { int mknod(char *path, int mode, int dev); } 67165138Syongari15 STD { int chmod(char *path, int mode); } 68165138Syongari16 STD { int chown(char *path, int uid, int gid); } 69165138Syongari17 MSTD { int obreak(char *nsize); } break obreak_args int 70165138Syongari18 COMPAT4 { int getfsstat(struct ostatfs *buf, long bufsize, int flags); } 71165138Syongari19 COMPAT { long lseek(int fd, long offset, int whence); } 72165138Syongari20 MSTD { pid_t getpid(void); } 73165138Syongari21 MSTD { int mount(char *type, char *path, int flags, caddr_t data); } 74165138Syongari; XXX `path' should have type `const char *' but we're not ready for that. 75165138Syongari22 MSTD { int unmount(char *path, int flags); } 76165138Syongari23 MSTD { int setuid(uid_t uid); } 77165138Syongari24 MSTD { uid_t getuid(void); } 78165138Syongari25 MSTD { uid_t geteuid(void); } 79165138Syongari26 MSTD { int ptrace(int req, pid_t pid, caddr_t addr, int data); } 80165138Syongari27 MSTD { int recvmsg(int s, struct msghdr *msg, int flags); } 81165138Syongari28 MSTD { int sendmsg(int s, struct msghdr *msg, int flags); } 82165138Syongari29 MSTD { int recvfrom(int s, caddr_t buf, size_t len, int flags, \ 83165138Syongari struct sockaddr * __restrict from, \ 84165138Syongari __socklen_t * __restrict fromlenaddr); } 85165138Syongari30 MSTD { int accept(int s, struct sockaddr * __restrict name, \ 86165138Syongari __socklen_t * __restrict anamelen); } 87165138Syongari31 MSTD { int getpeername(int fdes, struct sockaddr * __restrict asa, \ 88165138Syongari __socklen_t * __restrict alen); } 89165138Syongari32 MSTD { int getsockname(int fdes, struct sockaddr * __restrict asa, \ 90165138Syongari __socklen_t * __restrict alen); } 91165138Syongari33 STD { int access(char *path, int flags); } 92165138Syongari34 STD { int chflags(char *path, int flags); } 93165138Syongari35 STD { int fchflags(int fd, int flags); } 94165138Syongari36 STD { int sync(void); } 95165138Syongari37 MSTD { int kill(int pid, int signum); } 96165138Syongari38 COMPAT { int stat(char *path, struct ostat *ub); } 97165138Syongari39 MSTD { pid_t getppid(void); } 98165138Syongari40 COMPAT { int lstat(char *path, struct ostat *ub); } 99165138Syongari41 MSTD { int dup(u_int fd); } 100165138Syongari42 MSTD { int pipe(void); } 101165138Syongari43 MSTD { gid_t getegid(void); } 102165138Syongari44 MSTD { int profil(caddr_t samples, size_t size, size_t offset, \ 103165138Syongari u_int scale); } 104165138Syongari45 MSTD { int ktrace(const char *fname, int ops, int facs, int pid); } 105165138Syongari46 MCOMPAT { int sigaction(int signum, struct osigaction *nsa, \ 106165138Syongari struct osigaction *osa); } 107165138Syongari47 MSTD { gid_t getgid(void); } 108165138Syongari48 MCOMPAT { int sigprocmask(int how, osigset_t mask); } 109165138Syongari; XXX note nonstandard (bogus) calling convention - the libc stub passes 110165138Syongari; us the mask, not a pointer to it, and we return the old mask as the 111165138Syongari; (int) return value. 112165138Syongari49 MSTD { int getlogin(char *namebuf, u_int namelen); } 113165138Syongari50 MSTD { int setlogin(char *namebuf); } 114165138Syongari51 MSTD { int acct(char *path); } 115165138Syongari52 MCOMPAT { int sigpending(void); } 116165138Syongari53 MSTD { int sigaltstack(stack_t *ss, stack_t *oss); } 117165138Syongari54 MSTD { int ioctl(int fd, u_long com, caddr_t data); } 118165138Syongari55 MSTD { int reboot(int opt); } 119165138Syongari56 STD { int revoke(char *path); } 120165138Syongari57 STD { int symlink(char *path, char *link); } 121165138Syongari58 STD { int readlink(char *path, char *buf, int count); } 122165138Syongari59 MSTD { int execve(char *fname, char **argv, char **envv); } 123165138Syongari60 MSTD { int umask(int newmask); } umask umask_args int 124165138Syongari61 STD { int chroot(char *path); } 125165138Syongari62 MCOMPAT { int fstat(int fd, struct ostat *sb); } 126165138Syongari63 MCOMPAT { int getkerninfo(int op, char *where, size_t *size, \ 127165138Syongari int arg); } getkerninfo getkerninfo_args int 128165138Syongari64 MCOMPAT { int getpagesize(void); } getpagesize getpagesize_args int 129165138Syongari65 MSTD { int msync(void *addr, size_t len, int flags); } 130165138Syongari66 MSTD { int vfork(void); } 131165138Syongari67 OBSOL vread 132165138Syongari68 OBSOL vwrite 133174285Sremko69 MSTD { int sbrk(int incr); } 134165138Syongari70 MSTD { int sstk(int incr); } 135165138Syongari71 MCOMPAT { int mmap(void *addr, int len, int prot, int flags, int fd, \ 136165138Syongari long pos); } 137165138Syongari72 MSTD { int ovadvise(int anom); } vadvise ovadvise_args int 138165138Syongari73 MSTD { int munmap(void *addr, size_t len); } 139173775Syongari74 MSTD { int mprotect(const void *addr, size_t len, int prot); } 140165138Syongari75 MSTD { int madvise(void *addr, size_t len, int behav); } 141165138Syongari76 OBSOL vhangup 142165138Syongari77 OBSOL vlimit 143165138Syongari78 MSTD { int mincore(const void *addr, size_t len, char *vec); } 144165138Syongari79 MSTD { int getgroups(u_int gidsetsize, gid_t *gidset); } 145165138Syongari80 MSTD { int setgroups(u_int gidsetsize, gid_t *gidset); } 146165138Syongari81 MSTD { int getpgrp(void); } 147165138Syongari82 MSTD { int setpgid(int pid, int pgid); } 148165138Syongari83 MSTD { int setitimer(u_int which, struct itimerval *itv, \ 149165138Syongari struct itimerval *oitv); } 150165138Syongari84 MCOMPAT { int wait(void); } 151165138Syongari85 MSTD { int swapon(char *name); } 152165138Syongari86 MSTD { int getitimer(u_int which, struct itimerval *itv); } 153165138Syongari87 MCOMPAT { int gethostname(char *hostname, u_int len); } \ 154165138Syongari gethostname gethostname_args int 155165138Syongari88 MCOMPAT { int sethostname(char *hostname, u_int len); } \ 156165138Syongari sethostname sethostname_args int 157165138Syongari89 MSTD { int getdtablesize(void); } 158165138Syongari90 MSTD { int dup2(u_int from, u_int to); } 159165138Syongari91 UNIMPL getdopt 160165138Syongari92 MSTD { int fcntl(int fd, int cmd, long arg); } 161165138Syongari; XXX should be { int fcntl(int fd, int cmd, ...); } 162165138Syongari; but we're not ready for varargs. 163165138Syongari93 MSTD { int select(int nd, fd_set *in, fd_set *ou, \ 164165138Syongari fd_set *ex, struct timeval *tv); } 165165138Syongari94 UNIMPL setdopt 166165138Syongari95 STD { int fsync(int fd); } 167165138Syongari96 MSTD { int setpriority(int which, int who, int prio); } 168165138Syongari97 MSTD { int socket(int domain, int type, int protocol); } 169165138Syongari98 MSTD { int connect(int s, caddr_t name, int namelen); } 170165138Syongari99 MCPT_NOA { int accept(int s, caddr_t name, int *anamelen); } \ 171165138Syongari accept accept_args int 172165138Syongari100 MSTD { int getpriority(int which, int who); } 173165138Syongari101 MCOMPAT { int send(int s, caddr_t buf, int len, int flags); } 174165138Syongari102 MCOMPAT { int recv(int s, caddr_t buf, int len, int flags); } 175165138Syongari103 MCOMPAT { int sigreturn(struct osigcontext *sigcntxp); } 176165138Syongari104 MSTD { int bind(int s, caddr_t name, int namelen); } 177165138Syongari105 MSTD { int setsockopt(int s, int level, int name, caddr_t val, \ 178165138Syongari int valsize); } 179165138Syongari106 MSTD { int listen(int s, int backlog); } 180165138Syongari107 OBSOL vtimes 181165138Syongari108 MCOMPAT { int sigvec(int signum, struct sigvec *nsv, \ 182165138Syongari struct sigvec *osv); } 183165138Syongari109 MCOMPAT { int sigblock(int mask); } 184165138Syongari110 MCOMPAT { int sigsetmask(int mask); } 185165138Syongari111 MCOMPAT { int sigsuspend(osigset_t mask); } 186165138Syongari; XXX note nonstandard (bogus) calling convention - the libc stub passes 187165138Syongari; us the mask, not a pointer to it. 188165138Syongari112 MCOMPAT { int sigstack(struct sigstack *nss, struct sigstack *oss); } 189165138Syongari113 MCOMPAT { int recvmsg(int s, struct omsghdr *msg, int flags); } 190165138Syongari114 MCOMPAT { int sendmsg(int s, caddr_t msg, int flags); } 191165138Syongari115 OBSOL vtrace 192165138Syongari116 MSTD { int gettimeofday(struct timeval *tp, struct timezone *tzp); } 193165138Syongari117 MSTD { int getrusage(int who, struct rusage *rusage); } 194165138Syongari118 MSTD { int getsockopt(int s, int level, int name, caddr_t val, \ 195165138Syongari int *avalsize); } 196165138Syongari119 UNIMPL resuba (BSD/OS 2.x) 197165138Syongari120 MSTD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 198165138Syongari121 MSTD { int writev(int fd, struct iovec *iovp, u_int iovcnt); } 199165138Syongari122 MSTD { int settimeofday(struct timeval *tv, struct timezone *tzp); } 200165138Syongari123 STD { int fchown(int fd, int uid, int gid); } 201165138Syongari124 STD { int fchmod(int fd, int mode); } 202165138Syongari125 MCPT_NOA { int recvfrom(int s, caddr_t buf, size_t len, int flags, \ 203165138Syongari caddr_t from, int *fromlenaddr); } \ 204165138Syongari recvfrom recvfrom_args int 205165138Syongari126 MSTD { int setreuid(int ruid, int euid); } 206165138Syongari127 MSTD { int setregid(int rgid, int egid); } 207165138Syongari128 STD { int rename(char *from, char *to); } 208165138Syongari129 COMPAT { int truncate(char *path, long length); } 209165138Syongari130 COMPAT { int ftruncate(int fd, long length); } 210165138Syongari131 MSTD { int flock(int fd, int how); } 211165138Syongari132 STD { int mkfifo(char *path, int mode); } 212165138Syongari133 MSTD { int sendto(int s, caddr_t buf, size_t len, int flags, \ 213165138Syongari caddr_t to, int tolen); } 214165138Syongari134 MSTD { int shutdown(int s, int how); } 215165138Syongari135 MSTD { int socketpair(int domain, int type, int protocol, \ 216165138Syongari int *rsv); } 217165138Syongari136 STD { int mkdir(char *path, int mode); } 218165138Syongari137 STD { int rmdir(char *path); } 219165138Syongari138 STD { int utimes(char *path, struct timeval *tptr); } 220165138Syongari139 OBSOL 4.2 sigreturn 221165138Syongari140 MSTD { int adjtime(struct timeval *delta, \ 222165138Syongari struct timeval *olddelta); } 223165138Syongari141 MCOMPAT { int getpeername(int fdes, caddr_t asa, int *alen); } 224165138Syongari142 MCOMPAT { long gethostid(void); } 225165138Syongari143 MCOMPAT { int sethostid(long hostid); } 226165138Syongari144 MCOMPAT { int getrlimit(u_int which, struct orlimit *rlp); } 227165138Syongari145 MCOMPAT { int setrlimit(u_int which, struct orlimit *rlp); } 228165138Syongari146 MCOMPAT { int killpg(int pgid, int signum); } 229165138Syongari147 MSTD { int setsid(void); } 230165138Syongari148 STD { int quotactl(char *path, int cmd, int uid, caddr_t arg); } 231165138Syongari149 MCOMPAT { int quota(void); } 232165138Syongari150 MCPT_NOA { int getsockname(int fdec, caddr_t asa, int *alen); }\ 233165138Syongari getsockname getsockname_args int 234165138Syongari 235165138Syongari; Syscalls 151-180 inclusive are reserved for vendor-specific 236165138Syongari; system calls. (This includes various calls added for compatibity 237165138Syongari; with other Unix variants.) 238165138Syongari; Some of these calls are now supported by BSD... 239165138Syongari151 UNIMPL sem_lock (BSD/OS 2.x) 240165138Syongari152 UNIMPL sem_wakeup (BSD/OS 2.x) 241165138Syongari153 UNIMPL asyncdaemon (BSD/OS 2.x) 242165138Syongari154 UNIMPL nosys 243165138Syongari; 155 is initialized by the NFS code, if present. 244165138Syongari155 MNOIMPL { int nfssvc(int flag, caddr_t argp); } 245165138Syongari156 COMPAT { int getdirentries(int fd, char *buf, u_int count, \ 246165138Syongari long *basep); } 247165138Syongari157 COMPAT4 { int statfs(char *path, struct ostatfs *buf); } 248165138Syongari158 COMPAT4 { int fstatfs(int fd, struct ostatfs *buf); } 249165138Syongari159 UNIMPL nosys 250165138Syongari160 STD { int lgetfh(char *fname, struct fhandle *fhp); } 251165138Syongari161 STD { int getfh(char *fname, struct fhandle *fhp); } 252165138Syongari162 MSTD { int getdomainname(char *domainname, int len); } 253165138Syongari163 MSTD { int setdomainname(char *domainname, int len); } 254165138Syongari164 MSTD { int uname(struct utsname *name); } 255165138Syongari165 MSTD { int sysarch(int op, char *parms); } 256165138Syongari166 MSTD { int rtprio(int function, pid_t pid, struct rtprio *rtp); } 257165138Syongari167 UNIMPL nosys 258165138Syongari168 UNIMPL nosys 259165138Syongari; 169 is initialized by the SYSVSEM code if present or loaded 260165138Syongari169 MNOSTD { int semsys(int which, int a2, int a3, int a4, int a5); } 261165138Syongari; 169 is initialized by the SYSVMSG code if present or loaded 262165138Syongari; XXX should be { int semsys(int which, ...); } 263165138Syongari170 MNOSTD { int msgsys(int which, int a2, int a3, int a4, int a5, \ 264165138Syongari int a6); } 265165138Syongari; 169 is initialized by the SYSVSHM code if present or loaded 266165138Syongari; XXX should be { int msgsys(int which, ...); } 267165138Syongari171 MNOSTD { int shmsys(int which, int a2, int a3, int a4); } 268165138Syongari; XXX should be { int shmsys(int which, ...); } 269165138Syongari172 UNIMPL nosys 270165138Syongari173 MSTD { ssize_t pread(int fd, void *buf, size_t nbyte, \ 271165138Syongari int pad, off_t offset); } 272165138Syongari174 MSTD { ssize_t pwrite(int fd, const void *buf, \ 273165138Syongari size_t nbyte, int pad, off_t offset); } 274165138Syongari175 UNIMPL nosys 275165138Syongari176 MSTD { int ntp_adjtime(struct timex *tp); } 276165138Syongari177 UNIMPL sfork (BSD/OS 2.x) 277165138Syongari178 UNIMPL getdescriptor (BSD/OS 2.x) 278165138Syongari179 UNIMPL setdescriptor (BSD/OS 2.x) 279165138Syongari180 UNIMPL nosys 280165138Syongari 281165138Syongari; Syscalls 181-199 are used by/reserved for BSD 282165138Syongari181 MSTD { int setgid(gid_t gid); } 283165138Syongari182 MSTD { int setegid(gid_t egid); } 284165138Syongari183 MSTD { int seteuid(uid_t euid); } 285165138Syongari184 UNIMPL lfs_bmapv 286165138Syongari185 UNIMPL lfs_markv 287165138Syongari186 UNIMPL lfs_segclean 288165138Syongari187 UNIMPL lfs_segwait 289165138Syongari188 STD { int stat(char *path, struct stat *ub); } 290165138Syongari189 MSTD { int fstat(int fd, struct stat *sb); } 291165138Syongari190 STD { int lstat(char *path, struct stat *ub); } 292165138Syongari191 STD { int pathconf(char *path, int name); } 293165138Syongari192 MSTD { int fpathconf(int fd, int name); } 294165138Syongari193 UNIMPL nosys 295165138Syongari194 MSTD { int getrlimit(u_int which, struct rlimit *rlp); } \ 296165138Syongari getrlimit __getrlimit_args int 297165138Syongari195 MSTD { int setrlimit(u_int which, struct rlimit *rlp); } \ 298165138Syongari setrlimit __setrlimit_args int 299165138Syongari196 STD { int getdirentries(int fd, char *buf, u_int count, \ 300165138Syongari long *basep); } 301165138Syongari197 MSTD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 302165138Syongari int flags, int fd, int pad, off_t pos); } 303165138Syongari198 STD { int nosys(void); } __syscall __syscall_args int 304165138Syongari199 STD { off_t lseek(int fd, int pad, off_t offset, int whence); } 305165138Syongari200 STD { int truncate(char *path, int pad, off_t length); } 306165138Syongari201 STD { int ftruncate(int fd, int pad, off_t length); } 307165138Syongari202 MSTD { int __sysctl(int *name, u_int namelen, void *old, \ 308165138Syongari size_t *oldlenp, void *new, size_t newlen); } \ 309165138Syongari __sysctl sysctl_args int 310165138Syongari203 MSTD { int mlock(const void *addr, size_t len); } 311165138Syongari204 MSTD { int munlock(const void *addr, size_t len); } 312165138Syongari205 STD { int undelete(char *path); } 313165138Syongari206 STD { int futimes(int fd, struct timeval *tptr); } 314165138Syongari207 MSTD { int getpgid(pid_t pid); } 315165138Syongari208 UNIMPL newreboot (NetBSD) 316165138Syongari209 MSTD { int poll(struct pollfd *fds, u_int nfds, int timeout); } 317165138Syongari 318165138Syongari; 319165138Syongari; The following are reserved for loadable syscalls 320165138Syongari; 321165138Syongari210 NODEF lkmnosys lkmnosys nosys_args int 322165138Syongari211 NODEF lkmnosys lkmnosys nosys_args int 323165138Syongari212 NODEF lkmnosys lkmnosys nosys_args int 324165138Syongari213 NODEF lkmnosys lkmnosys nosys_args int 325165138Syongari214 NODEF lkmnosys lkmnosys nosys_args int 326165138Syongari215 NODEF lkmnosys lkmnosys nosys_args int 327165138Syongari216 NODEF lkmnosys lkmnosys nosys_args int 328165138Syongari217 NODEF lkmnosys lkmnosys nosys_args int 329165138Syongari218 NODEF lkmnosys lkmnosys nosys_args int 330165138Syongari219 NODEF lkmnosys lkmnosys nosys_args int 331165138Syongari 332165138Syongari; 333165138Syongari; The following were introduced with NetBSD/4.4Lite-2 334165138Syongari; They are initialized by thier respective modules/sysinits 335165138Syongari220 MNOSTD { int __semctl(int semid, int semnum, int cmd, \ 336165138Syongari union semun *arg); } 337165138Syongari221 MNOSTD { int semget(key_t key, int nsems, int semflg); } 338165138Syongari222 MNOSTD { int semop(int semid, struct sembuf *sops, size_t nsops); } 339165138Syongari223 UNIMPL semconfig 340165138Syongari224 MNOSTD { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } 341165138Syongari225 MNOSTD { int msgget(key_t key, int msgflg); } 342165138Syongari226 MNOSTD { int msgsnd(int msqid, const void *msgp, size_t msgsz, \ 343165138Syongari int msgflg); } 344165138Syongari227 MNOSTD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 345165138Syongari long msgtyp, int msgflg); } 346165138Syongari228 MNOSTD { int shmat(int shmid, const void *shmaddr, int shmflg); } 347165138Syongari229 MNOSTD { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } 348165138Syongari230 MNOSTD { int shmdt(const void *shmaddr); } 349165138Syongari231 MNOSTD { int shmget(key_t key, size_t size, int shmflg); } 350165138Syongari; 351165138Syongari232 MSTD { int clock_gettime(clockid_t clock_id, struct timespec *tp); } 352165138Syongari233 MSTD { int clock_settime(clockid_t clock_id, \ 353165138Syongari const struct timespec *tp); } 354165138Syongari234 MSTD { int clock_getres(clockid_t clock_id, struct timespec *tp); } 355165138Syongari235 UNIMPL timer_create 356165138Syongari236 UNIMPL timer_delete 357165138Syongari237 UNIMPL timer_settime 358165138Syongari238 UNIMPL timer_gettime 359165138Syongari239 UNIMPL timer_getoverrun 360165138Syongari240 MSTD { int nanosleep(const struct timespec *rqtp, \ 361165138Syongari struct timespec *rmtp); } 362165138Syongari241 UNIMPL nosys 363165138Syongari242 UNIMPL nosys 364165138Syongari243 UNIMPL nosys 365165138Syongari244 UNIMPL nosys 366165138Syongari245 UNIMPL nosys 367165138Syongari246 UNIMPL nosys 368165138Syongari247 UNIMPL nosys 369165138Syongari248 STD { int ntp_gettime(struct ntptimeval *ntvp); } 370165138Syongari249 UNIMPL nosys 371165138Syongari; syscall numbers initially used in OpenBSD 372165138Syongari250 MSTD { int minherit(void *addr, size_t len, int inherit); } 373165138Syongari251 MSTD { int rfork(int flags); } 374165138Syongari252 MSTD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 375165138Syongari int timeout); } 376165138Syongari253 MSTD { int issetugid(void); } 377165138Syongari254 STD { int lchown(char *path, int uid, int gid); } 378165138Syongari255 UNIMPL nosys 379165138Syongari256 UNIMPL nosys 380165138Syongari257 UNIMPL nosys 381165138Syongari258 UNIMPL nosys 382165138Syongari259 UNIMPL nosys 383165138Syongari260 UNIMPL nosys 384165138Syongari261 UNIMPL nosys 385165138Syongari262 UNIMPL nosys 386165138Syongari263 UNIMPL nosys 387165138Syongari264 UNIMPL nosys 388165138Syongari265 UNIMPL nosys 389165138Syongari266 UNIMPL nosys 390165138Syongari267 UNIMPL nosys 391165138Syongari268 UNIMPL nosys 392165138Syongari269 UNIMPL nosys 393165138Syongari270 UNIMPL nosys 394165138Syongari271 UNIMPL nosys 395165138Syongari272 STD { int getdents(int fd, char *buf, size_t count); } 396165138Syongari273 UNIMPL nosys 397165138Syongari274 STD { int lchmod(char *path, mode_t mode); } 398165138Syongari275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } \ 399165138Syongari netbsd_lchown lchown_args int 400165138Syongari276 STD { int lutimes(char *path, struct timeval *tptr); } 401165138Syongari277 MNOPROTO { int msync(void *addr, size_t len, int flags); } \ 402165138Syongari netbsd_msync msync_args int 403165138Syongari278 STD { int nstat(char *path, struct nstat *ub); } 404165138Syongari279 MSTD { int nfstat(int fd, struct nstat *sb); } 405165138Syongari280 STD { int nlstat(char *path, struct nstat *ub); } 406165138Syongari281 UNIMPL nosys 407165138Syongari282 UNIMPL nosys 408165138Syongari283 UNIMPL nosys 409165138Syongari284 UNIMPL nosys 410165138Syongari285 UNIMPL nosys 411165138Syongari286 UNIMPL nosys 412165138Syongari287 UNIMPL nosys 413165138Syongari288 UNIMPL nosys 414165138Syongari289 UNIMPL nosys 415165138Syongari290 UNIMPL nosys 416165138Syongari291 UNIMPL nosys 417165138Syongari292 UNIMPL nosys 418165138Syongari293 UNIMPL nosys 419165138Syongari294 UNIMPL nosys 420165138Syongari295 UNIMPL nosys 421165138Syongari296 UNIMPL nosys 422165138Syongari; XXX 297 is 300 in NetBSD 423165138Syongari297 COMPAT4 { int fhstatfs(const struct fhandle *u_fhp, \ 424165138Syongari struct ostatfs *buf); } 425165138Syongari298 STD { int fhopen(const struct fhandle *u_fhp, int flags); } 426165138Syongari299 STD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 427165138Syongari; syscall numbers for FreeBSD 428165138Syongari300 MSTD { int modnext(int modid); } 429165138Syongari301 MSTD { int modstat(int modid, struct module_stat* stat); } 430165138Syongari302 MSTD { int modfnext(int modid); } 431165138Syongari303 MSTD { int modfind(const char *name); } 432165138Syongari304 MSTD { int kldload(const char *file); } 433165138Syongari305 MSTD { int kldunload(int fileid); } 434165138Syongari306 MSTD { int kldfind(const char *file); } 435165138Syongari307 MSTD { int kldnext(int fileid); } 436165138Syongari308 MSTD { int kldstat(int fileid, struct kld_file_stat* stat); } 437165138Syongari309 MSTD { int kldfirstmod(int fileid); } 438165138Syongari310 MSTD { int getsid(pid_t pid); } 439165138Syongari311 MSTD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 440165138Syongari312 MSTD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 441165138Syongari313 OBSOL signanosleep 442165138Syongari314 NOSTD { int aio_return(struct aiocb *aiocbp); } 443165138Syongari315 NOSTD { int aio_suspend(struct aiocb * const * aiocbp, int nent, \ 444165138Syongari const struct timespec *timeout); } 445165138Syongari316 NOSTD { int aio_cancel(int fd, struct aiocb *aiocbp); } 446165138Syongari317 NOSTD { int aio_error(struct aiocb *aiocbp); } 447165138Syongari318 NOSTD { int aio_read(struct aiocb *aiocbp); } 448165138Syongari319 NOSTD { int aio_write(struct aiocb *aiocbp); } 449165138Syongari320 NOSTD { int lio_listio(int mode, struct aiocb * const *acb_list, \ 450165138Syongari int nent, struct sigevent *sig); } 451165138Syongari321 MSTD { int yield(void); } 452165138Syongari322 OBSOL thr_sleep 453165138Syongari323 OBSOL thr_wakeup 454165138Syongari324 MSTD { int mlockall(int how); } 455165138Syongari325 MSTD { int munlockall(void); } 456165138Syongari326 STD { int __getcwd(u_char *buf, u_int buflen); } 457165138Syongari 458165138Syongari327 MSTD { int sched_setparam (pid_t pid, \ 459165138Syongari const struct sched_param *param); } 460165138Syongari328 MSTD { int sched_getparam (pid_t pid, struct sched_param *param); } 461165138Syongari 462165138Syongari329 MSTD { int sched_setscheduler (pid_t pid, int policy, \ 463165138Syongari const struct sched_param *param); } 464165138Syongari330 MSTD { int sched_getscheduler (pid_t pid); } 465165138Syongari 466165138Syongari331 MSTD { int sched_yield (void); } 467165138Syongari332 MSTD { int sched_get_priority_max (int policy); } 468165138Syongari333 MSTD { int sched_get_priority_min (int policy); } 469165138Syongari334 MSTD { int sched_rr_get_interval (pid_t pid, \ 470165138Syongari struct timespec *interval); } 471165138Syongari335 MSTD { int utrace(const void *addr, size_t len); } 472165138Syongari336 MCOMPAT4 { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 473165138Syongari struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 474165138Syongari337 STD { int kldsym(int fileid, int cmd, void *data); } 475165138Syongari338 MSTD { int jail(struct jail *jail); } 476165138Syongari339 UNIMPL pioctl 477165138Syongari340 MSTD { int sigprocmask(int how, const sigset_t *set, \ 478165138Syongari sigset_t *oset); } 479165138Syongari341 MSTD { int sigsuspend(const sigset_t *sigmask); } 480165138Syongari342 MCOMPAT4 { int sigaction(int sig, const struct sigaction *act, \ 481165138Syongari struct sigaction *oact); } 482165138Syongari343 MSTD { int sigpending(sigset_t *set); } 483165138Syongari344 MCOMPAT4 { int sigreturn(const struct ucontext4 *sigcntxp); } 484165138Syongari345 MSTD { int sigtimedwait(const sigset_t *set, \ 485165138Syongari siginfo_t *info, const struct timespec *timeout); } 486165138Syongari346 MSTD { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } 487165138Syongari347 MSTD { int __acl_get_file(const char *path, \ 488165138Syongari acl_type_t type, struct acl *aclp); } 489165138Syongari348 MSTD { int __acl_set_file(const char *path, \ 490165138Syongari acl_type_t type, struct acl *aclp); } 491165138Syongari349 MSTD { int __acl_get_fd(int filedes, acl_type_t type, \ 492165138Syongari struct acl *aclp); } 493165138Syongari350 MSTD { int __acl_set_fd(int filedes, acl_type_t type, \ 494165138Syongari struct acl *aclp); } 495165138Syongari351 MSTD { int __acl_delete_file(const char *path, acl_type_t type); } 496165138Syongari352 MSTD { int __acl_delete_fd(int filedes, acl_type_t type); } 497165138Syongari353 MSTD { int __acl_aclcheck_file(const char *path, \ 498165138Syongari acl_type_t type, struct acl *aclp); } 499165138Syongari354 MSTD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 500165138Syongari struct acl *aclp); } 501165138Syongari355 STD { int extattrctl(const char *path, int cmd, \ 502165138Syongari const char *filename, int attrnamespace, \ 503165138Syongari const char *attrname); } 504165138Syongari356 STD { int extattr_set_file(const char *path, \ 505165138Syongari int attrnamespace, const char *attrname, \ 506165138Syongari void *data, size_t nbytes); } 507165138Syongari357 STD { ssize_t extattr_get_file(const char *path, \ 508165138Syongari int attrnamespace, const char *attrname, \ 509165138Syongari void *data, size_t nbytes); } 510165138Syongari358 STD { int extattr_delete_file(const char *path, \ 511165138Syongari int attrnamespace, const char *attrname); } 512165138Syongari359 NOSTD { int aio_waitcomplete(struct aiocb **aiocbp, \ 513165138Syongari struct timespec *timeout); } 514165138Syongari360 MSTD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 515165138Syongari361 MSTD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 516165138Syongari362 MSTD { int kqueue(void); } 517165138Syongari363 MSTD { int kevent(int fd, \ 518165138Syongari const struct kevent *changelist, int nchanges, \ 519165138Syongari struct kevent *eventlist, int nevents, \ 520165138Syongari const struct timespec *timeout); } 521165138Syongari364 UNIMPL __cap_get_proc 522165138Syongari365 UNIMPL __cap_set_proc 523165138Syongari366 UNIMPL __cap_get_fd 524165138Syongari367 UNIMPL __cap_get_file 525165138Syongari368 UNIMPL __cap_set_fd 526165138Syongari369 UNIMPL __cap_set_file 527165138Syongari370 NODEF lkmressys lkmressys nosys_args int 528165138Syongari371 STD { int extattr_set_fd(int fd, int attrnamespace, \ 529165138Syongari const char *attrname, void *data, \ 530165138Syongari size_t nbytes); } 531165138Syongari372 STD { ssize_t extattr_get_fd(int fd, int attrnamespace, \ 532165138Syongari const char *attrname, void *data, size_t nbytes); } 533165138Syongari373 STD { int extattr_delete_fd(int fd, int attrnamespace, \ 534165138Syongari const char *attrname); } 535165138Syongari374 MSTD { int __setugid(int flag); } 536165138Syongari375 NOIMPL { int nfsclnt(int flag, caddr_t argp); } 537165138Syongari376 STD { int eaccess(char *path, int flags); } 538165138Syongari377 UNIMPL afs_syscall 539165138Syongari378 MSTD { int nmount(struct iovec *iovp, unsigned int iovcnt, \ 540165138Syongari int flags); } 541165138Syongari379 MSTD { int kse_exit(void); } 542165138Syongari380 MSTD { int kse_wakeup(struct kse_mailbox *mbx); } 543165138Syongari381 MSTD { int kse_create(struct kse_mailbox *mbx, \ 544165138Syongari int newgroup); } 545165138Syongari382 MSTD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx, int cmd, \ 546165138Syongari long data); } 547165138Syongari383 MSTD { int kse_release(struct timespec *timeout); } 548165138Syongari384 MSTD { int __mac_get_proc(struct mac *mac_p); } 549165138Syongari385 MSTD { int __mac_set_proc(struct mac *mac_p); } 550165138Syongari386 MSTD { int __mac_get_fd(int fd, struct mac *mac_p); } 551165138Syongari387 MSTD { int __mac_get_file(const char *path_p, \ 552165138Syongari struct mac *mac_p); } 553165138Syongari388 MSTD { int __mac_set_fd(int fd, struct mac *mac_p); } 554165138Syongari389 MSTD { int __mac_set_file(const char *path_p, \ 555165138Syongari struct mac *mac_p); } 556165138Syongari390 STD { int kenv(int what, const char *name, char *value, \ 557165138Syongari int len); } 558165138Syongari391 STD { int lchflags(const char *path, int flags); } 559165138Syongari392 STD { int uuidgen(struct uuid *store, int count); } 560165138Syongari393 MSTD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 561165138Syongari struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 562165138Syongari394 MSTD { int mac_syscall(const char *policy, int call, \ 563165138Syongari void *arg); } 564165138Syongari395 STD { int getfsstat(struct statfs *buf, long bufsize, \ 565165138Syongari int flags); } 566165138Syongari396 STD { int statfs(char *path, struct statfs *buf); } 567165138Syongari397 STD { int fstatfs(int fd, struct statfs *buf); } 568165138Syongari398 STD { int fhstatfs(const struct fhandle *u_fhp, \ 569165138Syongari struct statfs *buf); } 570165138Syongari399 UNIMPL nosys 571165138Syongari400 MNOSTD { int ksem_close(semid_t id); } 572165138Syongari401 MNOSTD { int ksem_post(semid_t id); } 573165138Syongari402 MNOSTD { int ksem_wait(semid_t id); } 574165138Syongari403 MNOSTD { int ksem_trywait(semid_t id); } 575165138Syongari404 MNOSTD { int ksem_init(semid_t *idp, unsigned int value); } 576165138Syongari405 MNOSTD { int ksem_open(semid_t *idp, const char *name, \ 577165138Syongari int oflag, mode_t mode, unsigned int value); } 578165138Syongari406 MNOSTD { int ksem_unlink(const char *name); } 579165138Syongari407 MNOSTD { int ksem_getvalue(semid_t id, int *val); } 580165138Syongari408 MNOSTD { int ksem_destroy(semid_t id); } 581165138Syongari409 MSTD { int __mac_get_pid(pid_t pid, struct mac *mac_p); } 582165138Syongari410 MSTD { int __mac_get_link(const char *path_p, \ 583165138Syongari struct mac *mac_p); } 584165138Syongari411 MSTD { int __mac_set_link(const char *path_p, \ 585165138Syongari struct mac *mac_p); } 586165138Syongari412 STD { int extattr_set_link(const char *path, \ 587165138Syongari int attrnamespace, const char *attrname, \ 588165138Syongari void *data, size_t nbytes); } 589165138Syongari413 STD { ssize_t extattr_get_link(const char *path, \ 590165138Syongari int attrnamespace, const char *attrname, \ 591165138Syongari void *data, size_t nbytes); } 592165138Syongari414 STD { int extattr_delete_link(const char *path, \ 593165138Syongari int attrnamespace, const char *attrname); } 594165138Syongari415 MSTD { int __mac_execve(char *fname, char **argv, \ 595165138Syongari char **envv, struct mac *mac_p); } 596165138Syongari416 MSTD { int sigaction(int sig, const struct sigaction *act, \ 597165138Syongari struct sigaction *oact); } 598165138Syongari417 MSTD { int sigreturn(const struct __ucontext *sigcntxp); } 599165138Syongari418 UNIMPL __xstat 600165138Syongari419 UNIMPL __xfstat 601165138Syongari420 UNIMPL __xlstat 602165138Syongari421 MSTD { int getcontext(struct __ucontext *ucp); } 603165138Syongari422 MSTD { int setcontext(const struct __ucontext *ucp); } 604165138Syongari423 MSTD { int swapcontext(struct __ucontext *oucp, \ 605165138Syongari const struct __ucontext *ucp); } 606165138Syongari424 MSTD { int swapoff(const char *name); } 607165138Syongari425 MSTD { int __acl_get_link(const char *path, \ 608165138Syongari acl_type_t type, struct acl *aclp); } 609165138Syongari426 MSTD { int __acl_set_link(const char *path, \ 610165138Syongari acl_type_t type, struct acl *aclp); } 611165138Syongari427 MSTD { int __acl_delete_link(const char *path, \ 612165138Syongari acl_type_t type); } 613165138Syongari428 MSTD { int __acl_aclcheck_link(const char *path, \ 614165138Syongari acl_type_t type, struct acl *aclp); } 615165138Syongari429 MSTD { int sigwait(const sigset_t *set, int *sig); } 616165138Syongari430 MSTD { int thr_create(ucontext_t *ctx, long *id, int flags); } 617165138Syongari431 MSTD { void thr_exit(long *state); } 618165138Syongari432 MSTD { int thr_self(long *id); } 619165138Syongari433 MSTD { int thr_kill(long id, int sig); } 620165138Syongari434 MSTD { int _umtx_lock(struct umtx *umtx); } 621165138Syongari435 MSTD { int _umtx_unlock(struct umtx *umtx); } 622165138Syongari436 MSTD { int jail_attach(int jid); } 623165138Syongari437 STD { ssize_t extattr_list_fd(int fd, int attrnamespace, \ 624165138Syongari void *data, size_t nbytes); } 625165138Syongari438 STD { ssize_t extattr_list_file(const char *path, \ 626165138Syongari int attrnamespace, void *data, size_t nbytes); } 627165138Syongari439 STD { ssize_t extattr_list_link(const char *path, \ 628165138Syongari int attrnamespace, void *data, size_t nbytes); } 629165138Syongari440 MSTD { int kse_switchin(struct kse_thr_mailbox *tmbx, \ 630165138Syongari int flags); } 631165138Syongari441 MNOSTD { int ksem_timedwait(semid_t id, struct timespec *abstime); } 632165138Syongari442 MSTD { int thr_suspend(const struct timespec *timeout); } 633165138Syongari443 MSTD { int thr_wake(long id); } 634165138Syongari444 MSTD { int kldunloadf(int fileid, int flags); } 635165138Syongari445 MNOSTD { int audit(const void *record, u_int length); } 636165138Syongari446 MNOSTD { int auditon(int cmd, void *data, u_int length); } 637165138Syongari447 MNOSTD { int getauid(uid_t *auid); } 638165138Syongari448 MNOSTD { int setauid(uid_t *auid); } 639165138Syongari449 MNOSTD { int getaudit(struct auditinfo *auditinfo); } 640165138Syongari450 MNOSTD { int setaudit(struct auditinfo *auditinfo); } 641165138Syongari451 MNOSTD { int getaudit_addr(struct auditinfo_addr \ 642165138Syongari *auditinfo_addr, u_int length); } 643165138Syongari452 MNOSTD { int setaudit_addr(struct auditinfo_addr \ 644165138Syongari *auditinfo_addr, u_int length); } 645165138Syongari453 MNOSTD { int auditctl(int cmd, char *path); } 646165138Syongari454 MSTD { int _umtx_op(struct umtx *umtx, int op, long id, void *uaddr,\ 647165138Syongari void *uaddr2); } 648165138Syongari; Please copy any additions and changes to the following compatability tables: 649165138Syongari; sys/compat/freebsd32/syscalls.master 650165138Syongari