1 $FreeBSD$ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; 4; System call name/number master file. 5; Processed to created init_sysent.c, syscalls.c and syscall.h. 6 7; Columns: number [MPSAFE] type nargs namespc name alt{name,tag,rtyp}/comments 8; number system call number, must be in order 9; MPSAFE optional field, specifies that syscall does not want the 10; BGL grabbed automatically (it is SMP safe). 11; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT, 12; NODEF, NOARGS, NOPROTO, NOIMPL 13; namespc one of POSIX, BSD, NOHIDE 14; name psuedo-prototype of syscall routine 15; If one of the following alts is different, then all appear: 16; altname name of system call if different 17; alttag name of args struct tag if different from [o]`name'"_args" 18; altrtyp return type if not int (bogus - syscalls always return int) 19; for UNIMPL/OBSOL, name continues with comments 20 21; types: 22; STD always included 23; COMPAT included on COMPAT #ifdef 24; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 25; OBSOL obsolete, not included in system, only specifies name 26; UNIMPL not implemented, placeholder only 27 28; #ifdef's, etc. may be included, and are copied to the output files. 29 30#include <sys/param.h> 31#include <sys/sysent.h> 32#include <sys/sysproto.h> 33 34; Reserved/unimplemented system calls in the range 0-150 inclusive 35; are reserved for use in future Berkeley releases. 36; Additional system calls implemented in vendor and other 37; redistributions should be placed in the reserved range at the end 38; of the current calls. 39 400 STD NOHIDE { int nosys(void); } syscall nosys_args int 411 STD NOHIDE { void sys_exit(int rval); } exit sys_exit_args void 422 STD POSIX { int fork(void); } 433 STD POSIX { ssize_t read(int fd, void *buf, size_t nbyte); } 444 STD POSIX { ssize_t write(int fd, const void *buf, size_t nbyte); } 455 STD POSIX { int open(char *path, int flags, int mode); } 46; XXX should be { int open(const char *path, int flags, ...); } 47; but we're not ready for `const' or varargs. 48; XXX man page says `mode_t mode'. 496 STD POSIX { int close(int fd); } 507 STD BSD { int wait4(int pid, int *status, int options, \ 51 struct rusage *rusage); } wait4 wait_args int 528 COMPAT BSD { int creat(char *path, int mode); } 539 STD POSIX { int link(char *path, char *link); } 5410 STD POSIX { int unlink(char *path); } 5511 OBSOL NOHIDE execv 5612 STD POSIX { int chdir(char *path); } 5713 STD BSD { int fchdir(int fd); } 5814 STD POSIX { int mknod(char *path, int mode, int dev); } 5915 STD POSIX { int chmod(char *path, int mode); } 6016 STD POSIX { int chown(char *path, int uid, int gid); } 6117 STD BSD { int obreak(char *nsize); } break obreak_args int 6218 STD BSD { int getfsstat(struct statfs *buf, long bufsize, \ 63 int flags); } 6419 COMPAT POSIX { long lseek(int fd, long offset, int whence); } 6520 STD POSIX { pid_t getpid(void); } 6621 STD BSD { int mount(char *type, char *path, int flags, \ 67 caddr_t data); } 68; XXX 4.4lite2 uses `char *type' but we're not ready for that. 69; XXX `path' should have type `const char *' but we're not ready for that. 7022 STD BSD { int unmount(char *path, int flags); } 7123 STD POSIX { int setuid(uid_t uid); } 7224 MPSAFE STD POSIX { uid_t getuid(void); } 7325 MPSAFE STD POSIX { uid_t geteuid(void); } 7426 STD BSD { int ptrace(int req, pid_t pid, caddr_t addr, \ 75 int data); } 7627 STD BSD { int recvmsg(int s, struct msghdr *msg, int flags); } 7728 STD BSD { int sendmsg(int s, caddr_t msg, int flags); } 7829 STD BSD { int recvfrom(int s, caddr_t buf, size_t len, \ 79 int flags, caddr_t from, int *fromlenaddr); } 8030 STD BSD { int accept(int s, caddr_t name, int *anamelen); } 8131 STD BSD { int getpeername(int fdes, caddr_t asa, int *alen); } 8232 STD BSD { int getsockname(int fdes, caddr_t asa, int *alen); } 8333 STD POSIX { int access(char *path, int flags); } 8434 STD BSD { int chflags(char *path, int flags); } 8535 STD BSD { int fchflags(int fd, int flags); } 8636 STD BSD { int sync(void); } 8737 STD POSIX { int kill(int pid, int signum); } 8838 COMPAT POSIX { int stat(char *path, struct ostat *ub); } 8939 STD POSIX { pid_t getppid(void); } 9040 COMPAT POSIX { int lstat(char *path, struct ostat *ub); } 9141 STD POSIX { int dup(u_int fd); } 9242 STD POSIX { int pipe(void); } 9343 STD POSIX { gid_t getegid(void); } 9444 STD BSD { int profil(caddr_t samples, size_t size, \ 95 size_t offset, u_int scale); } 9645 STD BSD { int ktrace(const char *fname, int ops, int facs, \ 97 int pid); } 9846 COMPAT POSIX { int sigaction(int signum, struct osigaction *nsa, \ 99 struct osigaction *osa); } 10047 MPSAFE STD POSIX { gid_t getgid(void); } 10148 MPSAFE COMPAT POSIX { int sigprocmask(int how, osigset_t mask); } 102; XXX note nonstandard (bogus) calling convention - the libc stub passes 103; us the mask, not a pointer to it, and we return the old mask as the 104; (int) return value. 10549 STD BSD { int getlogin(char *namebuf, u_int namelen); } 10650 STD BSD { int setlogin(char *namebuf); } 10751 STD BSD { int acct(char *path); } 10852 COMPAT POSIX { int sigpending(void); } 10953 STD BSD { int sigaltstack(stack_t *ss, stack_t *oss); } 11054 STD POSIX { int ioctl(int fd, u_long com, caddr_t data); } 11155 STD BSD { int reboot(int opt); } 11256 STD POSIX { int revoke(char *path); } 11357 STD POSIX { int symlink(char *path, char *link); } 11458 STD POSIX { int readlink(char *path, char *buf, int count); } 11559 STD POSIX { int execve(char *fname, char **argv, char **envv); } 11660 MPSAFE STD POSIX { int umask(int newmask); } umask umask_args int 11761 STD BSD { int chroot(char *path); } 11862 COMPAT POSIX { int fstat(int fd, struct ostat *sb); } 11963 COMPAT BSD { int getkerninfo(int op, char *where, size_t *size, \ 120 int arg); } getkerninfo getkerninfo_args int 12164 COMPAT BSD { int getpagesize(void); } \ 122 getpagesize getpagesize_args int 12365 STD BSD { int msync(void *addr, size_t len, int flags); } 12466 STD BSD { int vfork(void); } 12567 OBSOL NOHIDE vread 12668 OBSOL NOHIDE vwrite 12769 STD BSD { int sbrk(int incr); } 12870 STD BSD { int sstk(int incr); } 12971 COMPAT BSD { int mmap(void *addr, int len, int prot, \ 130 int flags, int fd, long pos); } 13172 STD BSD { int ovadvise(int anom); } vadvise ovadvise_args int 13273 STD BSD { int munmap(void *addr, size_t len); } 13374 STD BSD { int mprotect(const void *addr, size_t len, int prot); } 13475 STD BSD { int madvise(void *addr, size_t len, int behav); } 13576 OBSOL NOHIDE vhangup 13677 OBSOL NOHIDE vlimit 13778 STD BSD { int mincore(const void *addr, size_t len, \ 138 char *vec); } 13979 STD POSIX { int getgroups(u_int gidsetsize, gid_t *gidset); } 14080 STD POSIX { int setgroups(u_int gidsetsize, gid_t *gidset); } 14181 MPSAFE STD POSIX { int getpgrp(void); } 14282 STD POSIX { int setpgid(int pid, int pgid); } 14383 STD BSD { int setitimer(u_int which, struct itimerval *itv, \ 144 struct itimerval *oitv); } 14584 COMPAT BSD { int wait(void); } 14685 STD BSD { int swapon(char *name); } 14786 STD BSD { int getitimer(u_int which, struct itimerval *itv); } 14887 COMPAT BSD { int gethostname(char *hostname, u_int len); } \ 149 gethostname gethostname_args int 15088 COMPAT BSD { int sethostname(char *hostname, u_int len); } \ 151 sethostname sethostname_args int 15289 STD BSD { int getdtablesize(void); } 15390 STD POSIX { int dup2(u_int from, u_int to); } 15491 UNIMPL BSD getdopt 15592 STD POSIX { int fcntl(int fd, int cmd, long arg); } 156; XXX should be { int fcntl(int fd, int cmd, ...); } 157; but we're not ready for varargs. 158; XXX man page says `int arg' too. 15993 STD BSD { int select(int nd, fd_set *in, fd_set *ou, \ 160 fd_set *ex, struct timeval *tv); } 16194 UNIMPL BSD setdopt 16295 STD POSIX { int fsync(int fd); } 16396 STD BSD { int setpriority(int which, int who, int prio); } 16497 STD BSD { int socket(int domain, int type, int protocol); } 16598 STD BSD { int connect(int s, caddr_t name, int namelen); } 16699 CPT_NOA BSD { int accept(int s, caddr_t name, int *anamelen); } \ 167 accept accept_args int 168100 STD BSD { int getpriority(int which, int who); } 169101 COMPAT BSD { int send(int s, caddr_t buf, int len, int flags); } 170102 COMPAT BSD { int recv(int s, caddr_t buf, int len, int flags); } 171103 COMPAT BSD { int sigreturn(struct osigcontext *sigcntxp); } 172104 STD BSD { int bind(int s, caddr_t name, int namelen); } 173105 STD BSD { int setsockopt(int s, int level, int name, \ 174 caddr_t val, int valsize); } 175106 STD BSD { int listen(int s, int backlog); } 176107 OBSOL NOHIDE vtimes 177108 COMPAT BSD { int sigvec(int signum, struct sigvec *nsv, \ 178 struct sigvec *osv); } 179109 COMPAT BSD { int sigblock(int mask); } 180110 COMPAT BSD { int sigsetmask(int mask); } 181111 COMPAT POSIX { int sigsuspend(osigset_t mask); } 182; XXX note nonstandard (bogus) calling convention - the libc stub passes 183; us the mask, not a pointer to it. 184112 COMPAT BSD { int sigstack(struct sigstack *nss, \ 185 struct sigstack *oss); } 186113 COMPAT BSD { int recvmsg(int s, struct omsghdr *msg, int flags); } 187114 COMPAT BSD { int sendmsg(int s, caddr_t msg, int flags); } 188115 OBSOL NOHIDE vtrace 189116 STD BSD { int gettimeofday(struct timeval *tp, \ 190 struct timezone *tzp); } 191117 STD BSD { int getrusage(int who, struct rusage *rusage); } 192118 STD BSD { int getsockopt(int s, int level, int name, \ 193 caddr_t val, int *avalsize); } 194119 UNIMPL NOHIDE resuba (BSD/OS 2.x) 195120 STD BSD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 196121 STD BSD { int writev(int fd, struct iovec *iovp, \ 197 u_int iovcnt); } 198122 STD BSD { int settimeofday(struct timeval *tv, \ 199 struct timezone *tzp); } 200123 STD BSD { int fchown(int fd, int uid, int gid); } 201124 STD BSD { int fchmod(int fd, int mode); } 202125 CPT_NOA BSD { int recvfrom(int s, caddr_t buf, size_t len, \ 203 int flags, caddr_t from, int *fromlenaddr); } \ 204 recvfrom recvfrom_args int 205126 STD BSD { int setreuid(int ruid, int euid); } 206127 STD BSD { int setregid(int rgid, int egid); } 207128 STD POSIX { int rename(char *from, char *to); } 208129 COMPAT BSD { int truncate(char *path, long length); } 209130 COMPAT BSD { int ftruncate(int fd, long length); } 210131 STD BSD { int flock(int fd, int how); } 211132 STD POSIX { int mkfifo(char *path, int mode); } 212133 STD BSD { int sendto(int s, caddr_t buf, size_t len, \ 213 int flags, caddr_t to, int tolen); } 214134 STD BSD { int shutdown(int s, int how); } 215135 STD BSD { int socketpair(int domain, int type, int protocol, \ 216 int *rsv); } 217136 STD POSIX { int mkdir(char *path, int mode); } 218137 STD POSIX { int rmdir(char *path); } 219138 STD BSD { int utimes(char *path, struct timeval *tptr); } 220139 OBSOL NOHIDE 4.2 sigreturn 221140 STD BSD { int adjtime(struct timeval *delta, \ 222 struct timeval *olddelta); } 223141 COMPAT BSD { int getpeername(int fdes, caddr_t asa, int *alen); } 224142 COMPAT BSD { long gethostid(void); } 225143 COMPAT BSD { int sethostid(long hostid); } 226144 COMPAT BSD { int getrlimit(u_int which, struct orlimit *rlp); } 227145 COMPAT BSD { int setrlimit(u_int which, struct orlimit *rlp); } 228146 COMPAT BSD { int killpg(int pgid, int signum); } 229147 STD POSIX { int setsid(void); } 230148 STD BSD { int quotactl(char *path, int cmd, int uid, \ 231 caddr_t arg); } 232149 COMPAT BSD { int quota(void); } 233150 CPT_NOA BSD { int getsockname(int fdec, caddr_t asa, int *alen); }\ 234 getsockname getsockname_args int 235 236; Syscalls 151-180 inclusive are reserved for vendor-specific 237; system calls. (This includes various calls added for compatibity 238; with other Unix variants.) 239; Some of these calls are now supported by BSD... 240151 UNIMPL NOHIDE sem_lock (BSD/OS 2.x) 241152 UNIMPL NOHIDE sem_wakeup (BSD/OS 2.x) 242153 UNIMPL NOHIDE asyncdaemon (BSD/OS 2.x) 243154 UNIMPL NOHIDE nosys 244; 155 is initialized by the NFS code, if present. 245155 NOIMPL BSD { int nfssvc(int flag, caddr_t argp); } 246156 COMPAT BSD { int getdirentries(int fd, char *buf, u_int count, \ 247 long *basep); } 248157 STD BSD { int statfs(char *path, struct statfs *buf); } 249158 STD BSD { int fstatfs(int fd, struct statfs *buf); } 250159 UNIMPL NOHIDE nosys 251160 UNIMPL NOHIDE nosys 252; 161 is initialized by the NFS code, if present. 253161 STD BSD { int getfh(char *fname, struct fhandle *fhp); } 254162 STD BSD { int getdomainname(char *domainname, int len); } 255163 STD BSD { int setdomainname(char *domainname, int len); } 256164 STD BSD { int uname(struct utsname *name); } 257165 STD BSD { int sysarch(int op, char *parms); } 258166 STD BSD { int rtprio(int function, pid_t pid, \ 259 struct rtprio *rtp); } 260167 UNIMPL NOHIDE nosys 261168 UNIMPL NOHIDE nosys 262169 STD BSD { int semsys(int which, int a2, int a3, int a4, \ 263 int a5); } 264; XXX should be { int semsys(int which, ...); } 265170 STD BSD { int msgsys(int which, int a2, int a3, int a4, \ 266 int a5, int a6); } 267; XXX should be { int msgsys(int which, ...); } 268171 STD BSD { int shmsys(int which, int a2, int a3, int a4); } 269; XXX should be { int shmsys(int which, ...); } 270172 UNIMPL NOHIDE nosys 271173 STD POSIX { ssize_t pread(int fd, void *buf, size_t nbyte, \ 272 int pad, off_t offset); } 273174 STD POSIX { ssize_t pwrite(int fd, const void *buf, \ 274 size_t nbyte, int pad, off_t offset); } 275175 UNIMPL NOHIDE nosys 276176 STD BSD { int ntp_adjtime(struct timex *tp); } 277177 UNIMPL NOHIDE sfork (BSD/OS 2.x) 278178 UNIMPL NOHIDE getdescriptor (BSD/OS 2.x) 279179 UNIMPL NOHIDE setdescriptor (BSD/OS 2.x) 280180 UNIMPL NOHIDE nosys 281 282; Syscalls 181-199 are used by/reserved for BSD 283181 STD POSIX { int setgid(gid_t gid); } 284182 STD BSD { int setegid(gid_t egid); } 285183 STD BSD { int seteuid(uid_t euid); } 286184 UNIMPL BSD lfs_bmapv 287185 UNIMPL BSD lfs_markv 288186 UNIMPL BSD lfs_segclean 289187 UNIMPL BSD lfs_segwait 290188 STD POSIX { int stat(char *path, struct stat *ub); } 291189 STD POSIX { int fstat(int fd, struct stat *sb); } 292190 STD POSIX { int lstat(char *path, struct stat *ub); } 293191 STD POSIX { int pathconf(char *path, int name); } 294192 STD POSIX { int fpathconf(int fd, int name); } 295193 UNIMPL NOHIDE nosys 296194 STD BSD { int getrlimit(u_int which, \ 297 struct rlimit *rlp); } \ 298 getrlimit __getrlimit_args int 299195 STD BSD { int setrlimit(u_int which, \ 300 struct rlimit *rlp); } \ 301 setrlimit __setrlimit_args int 302196 STD BSD { int getdirentries(int fd, char *buf, u_int count, \ 303 long *basep); } 304197 STD BSD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 305 int flags, int fd, int pad, off_t pos); } 306198 STD NOHIDE { int nosys(void); } __syscall __syscall_args int 307199 STD POSIX { off_t lseek(int fd, int pad, off_t offset, \ 308 int whence); } 309200 STD BSD { int truncate(char *path, int pad, off_t length); } 310201 STD BSD { int ftruncate(int fd, int pad, off_t length); } 311202 STD BSD { int __sysctl(int *name, u_int namelen, void *old, \ 312 size_t *oldlenp, void *new, size_t newlen); } \ 313 __sysctl sysctl_args int 314; properly, __sysctl should be a NOHIDE, but making an exception 315; here allows to avoid one in libc/sys/Makefile.inc. 316203 STD BSD { int mlock(const void *addr, size_t len); } 317204 STD BSD { int munlock(const void *addr, size_t len); } 318205 STD BSD { int undelete(char *path); } 319206 STD BSD { int futimes(int fd, struct timeval *tptr); } 320207 STD BSD { int getpgid(pid_t pid); } 321208 UNIMPL NOHIDE newreboot (NetBSD) 322209 STD BSD { int poll(struct pollfd *fds, u_int nfds, \ 323 int timeout); } 324 325; 326; The following are reserved for loadable syscalls 327; 328210 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 329211 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 330212 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 331213 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 332214 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 333215 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 334216 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 335217 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 336218 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 337219 NODEF NOHIDE lkmnosys lkmnosys nosys_args int 338 339; 340; The following were introduced with NetBSD/4.4Lite-2 341; 342220 STD BSD { int __semctl(int semid, int semnum, int cmd, \ 343 union semun *arg); } 344221 STD BSD { int semget(key_t key, int nsems, int semflg); } 345222 STD BSD { int semop(int semid, struct sembuf *sops, \ 346 u_int nsops); } 347223 UNIMPL NOHIDE semconfig 348224 STD BSD { int msgctl(int msqid, int cmd, \ 349 struct msqid_ds *buf); } 350225 STD BSD { int msgget(key_t key, int msgflg); } 351226 STD BSD { int msgsnd(int msqid, void *msgp, size_t msgsz, \ 352 int msgflg); } 353227 STD BSD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 354 long msgtyp, int msgflg); } 355228 STD BSD { int shmat(int shmid, void *shmaddr, int shmflg); } 356229 STD BSD { int shmctl(int shmid, int cmd, \ 357 struct shmid_ds *buf); } 358230 STD BSD { int shmdt(void *shmaddr); } 359231 STD BSD { int shmget(key_t key, int size, int shmflg); } 360; 361232 STD POSIX { int clock_gettime(clockid_t clock_id, \ 362 struct timespec *tp); } 363233 STD POSIX { int clock_settime(clockid_t clock_id, \ 364 const struct timespec *tp); } 365234 STD POSIX { int clock_getres(clockid_t clock_id, \ 366 struct timespec *tp); } 367235 UNIMPL NOHIDE timer_create 368236 UNIMPL NOHIDE timer_delete 369237 UNIMPL NOHIDE timer_settime 370238 UNIMPL NOHIDE timer_gettime 371239 UNIMPL NOHIDE timer_getoverrun 372240 STD POSIX { int nanosleep(const struct timespec *rqtp, \ 373 struct timespec *rmtp); } 374241 UNIMPL NOHIDE nosys 375242 UNIMPL NOHIDE nosys 376243 UNIMPL NOHIDE nosys 377244 UNIMPL NOHIDE nosys 378245 UNIMPL NOHIDE nosys 379246 UNIMPL NOHIDE nosys 380247 UNIMPL NOHIDE nosys 381248 UNIMPL NOHIDE nosys 382249 UNIMPL NOHIDE nosys 383; syscall numbers initially used in OpenBSD 384250 STD BSD { int minherit(void *addr, size_t len, int inherit); } 385251 STD BSD { int rfork(int flags); } 386252 STD BSD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 387 int timeout); } 388253 STD BSD { int issetugid(void); } 389254 STD BSD { int lchown(char *path, int uid, int gid); } 390255 UNIMPL NOHIDE nosys 391256 UNIMPL NOHIDE nosys 392257 UNIMPL NOHIDE nosys 393258 UNIMPL NOHIDE nosys 394259 UNIMPL NOHIDE nosys 395260 UNIMPL NOHIDE nosys 396261 UNIMPL NOHIDE nosys 397262 UNIMPL NOHIDE nosys 398263 UNIMPL NOHIDE nosys 399264 UNIMPL NOHIDE nosys 400265 UNIMPL NOHIDE nosys 401266 UNIMPL NOHIDE nosys 402267 UNIMPL NOHIDE nosys 403268 UNIMPL NOHIDE nosys 404269 UNIMPL NOHIDE nosys 405270 UNIMPL NOHIDE nosys 406271 UNIMPL NOHIDE nosys 407272 STD BSD { int getdents(int fd, char *buf, size_t count); } 408273 UNIMPL NOHIDE nosys 409274 STD BSD { int lchmod(char *path, mode_t mode); } 410275 NOPROTO BSD { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 411276 STD BSD { int lutimes(char *path, struct timeval *tptr); } 412277 NOPROTO BSD { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 413278 STD BSD { int nstat(char *path, struct nstat *ub); } 414279 STD BSD { int nfstat(int fd, struct nstat *sb); } 415280 STD BSD { int nlstat(char *path, struct nstat *ub); } 416281 UNIMPL NOHIDE nosys 417282 UNIMPL NOHIDE nosys 418283 UNIMPL NOHIDE nosys 419284 UNIMPL NOHIDE nosys 420285 UNIMPL NOHIDE nosys 421286 UNIMPL NOHIDE nosys 422287 UNIMPL NOHIDE nosys 423288 UNIMPL NOHIDE nosys 424289 UNIMPL NOHIDE nosys 425290 UNIMPL NOHIDE nosys 426291 UNIMPL NOHIDE nosys 427292 UNIMPL NOHIDE nosys 428293 UNIMPL NOHIDE nosys 429294 UNIMPL NOHIDE nosys 430295 UNIMPL NOHIDE nosys 431296 UNIMPL NOHIDE nosys 432; XXX 297 is 300 in NetBSD 433297 STD BSD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 434298 STD BSD { int fhopen(const struct fhandle *u_fhp, int flags); } 435299 STD BSD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 436; syscall numbers for FreeBSD 437300 STD BSD { int modnext(int modid); } 438301 STD BSD { int modstat(int modid, struct module_stat* stat); } 439302 STD BSD { int modfnext(int modid); } 440303 STD BSD { int modfind(const char *name); } 441304 STD BSD { int kldload(const char *file); } 442305 STD BSD { int kldunload(int fileid); } 443306 STD BSD { int kldfind(const char *file); } 444307 STD BSD { int kldnext(int fileid); } 445308 STD BSD { int kldstat(int fileid, struct kld_file_stat* stat); } 446309 STD BSD { int kldfirstmod(int fileid); } 447310 STD BSD { int getsid(pid_t pid); } 448311 STD BSD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 449312 STD BSD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 450313 OBSOL NOHIDE signanosleep 451314 STD BSD { int aio_return(struct aiocb *aiocbp); } 452315 STD BSD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } 453316 STD BSD { int aio_cancel(int fd, struct aiocb *aiocbp); } 454317 STD BSD { int aio_error(struct aiocb *aiocbp); } 455318 STD BSD { int aio_read(struct aiocb *aiocbp); } 456319 STD BSD { int aio_write(struct aiocb *aiocbp); } 457320 STD BSD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } 458321 STD BSD { int yield(void); } 459322 STD BSD { int thr_sleep(const struct timespec *timeout); } 460323 STD BSD { int thr_wakeup(pid_t pid); } 461324 STD BSD { int mlockall(int how); } 462325 STD BSD { int munlockall(void); } 463326 STD BSD { int __getcwd(u_char *buf, u_int buflen); } 464 465327 STD POSIX { int sched_setparam (pid_t pid, const struct sched_param *param); } 466328 STD POSIX { int sched_getparam (pid_t pid, struct sched_param *param); } 467 468329 STD POSIX { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 469330 STD POSIX { int sched_getscheduler (pid_t pid); } 470 471331 STD POSIX { int sched_yield (void); } 472332 STD POSIX { int sched_get_priority_max (int policy); } 473333 STD POSIX { int sched_get_priority_min (int policy); } 474334 STD POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 475335 STD BSD { int utrace(const void *addr, size_t len); } 476336 STD BSD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 477 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 478337 STD BSD { int kldsym(int fileid, int cmd, void *data); } 479338 STD BSD { int jail(struct jail *jail); } 480339 UNIMPL BSD pioctl 481340 MPSAFE STD POSIX { int sigprocmask(int how, const sigset_t *set, \ 482 sigset_t *oset); } 483341 STD POSIX { int sigsuspend(const sigset_t *sigmask); } 484342 STD POSIX { int sigaction(int sig, const struct sigaction *act, \ 485 struct sigaction *oact); } 486343 STD POSIX { int sigpending(sigset_t *set); } 487344 STD BSD { int sigreturn(ucontext_t *sigcntxp); } 488345 UNIMPL NOHIDE sigtimedwait 489346 UNIMPL NOHIDE sigwaitinfo 490347 STD BSD { int __acl_get_file(const char *path, \ 491 acl_type_t type, struct acl *aclp); } 492348 STD BSD { int __acl_set_file(const char *path, \ 493 acl_type_t type, struct acl *aclp); } 494349 STD BSD { int __acl_get_fd(int filedes, acl_type_t type, \ 495 struct acl *aclp); } 496350 STD BSD { int __acl_set_fd(int filedes, acl_type_t type, \ 497 struct acl *aclp); } 498351 STD BSD { int __acl_delete_file(const char *path, \ 499 acl_type_t type); } 500352 STD BSD { int __acl_delete_fd(int filedes, acl_type_t type); } 501353 STD BSD { int __acl_aclcheck_file(const char *path, \ 502 acl_type_t type, struct acl *aclp); } 503354 STD BSD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 504 struct acl *aclp); } 505355 STD BSD { int extattrctl(const char *path, int cmd, \ 506 const char *attrname, char *arg); } 507356 STD BSD { int extattr_set_file(const char *path, \ 508 const char *attrname, struct iovec *iovp, \ 509 unsigned iovcnt); } 510357 STD BSD { int extattr_get_file(const char *path, \ 511 const char *attrname, struct iovec *iovp, \ 512 unsigned iovcnt); } 513358 STD BSD { int extattr_delete_file(const char *path, \ 514 const char *attrname); } 515359 STD BSD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } 516360 STD BSD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 517361 STD BSD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 518362 STD BSD { int kqueue(void); } 519363 STD BSD { int kevent(int fd, \ 520 const struct kevent *changelist, int nchanges, \ 521 struct kevent *eventlist, int nevents, \ 522 const struct timespec *timeout); } 523364 STD BSD { int __cap_get_proc(struct cap *cap_p); } 524365 STD BSD { int __cap_set_proc(struct cap *cap_p); } 525366 STD BSD { int __cap_get_fd(int fd, struct cap *cap_p); } 526367 STD BSD { int __cap_get_file(const char *path_p, struct cap *cap_p); } 527368 STD BSD { int __cap_set_fd(int fd, struct cap *cap_p); } 528369 STD BSD { int __cap_set_file(const char *path_p, struct cap *cap_p); } 529