1; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 2; $FreeBSD: src/sys/kern/syscalls.master,v 1.72.2.10 2002/07/12 08:22:46 alfred Exp $ 3; 4; System call name/number master file. 5; Processed to create kern/init_sysent.c, kern/syscalls.c, sys/syscall.h, 6; sys/syscall.mk, sys/sysproto.h and sys/sysunion.h 7 8; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments 9; number system call number, must be in order 10; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT, 11; NODEF, NOARGS, NOPROTO, NOIMPL 12; name pseudo-prototype of syscall routine 13; If one of the following alts is different, then all appear: 14; altname name of system call if different 15; alttag name of args struct tag if different from [o]`name'"_args" 16; altrtyp return type if not int (bogus - syscalls always return int) 17; for UNIMPL/OBSOL, name continues with comments 18; 19; NOTE: All system calls are now called without the MP lock. Those 20; that need the MP lock will acquire it. 21 22; types: 23; STD always included 24; COMPAT included on COMPAT #ifdef 25; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 26; OBSOL obsolete, not included in system, only specifies name 27; UNIMPL not implemented, placeholder only 28 29; #ifdef's, etc. may be included, and are copied to the output files. 30 31#include <sys/param.h> 32#include <sys/sysent.h> 33#include <sys/sysproto.h> 34#include <sys/statvfs.h> 35 36#ifdef COMPAT_43 37#include <emulation/43bsd/stat.h> 38#endif 39 40#include <emulation/dragonfly12/stat.h> 41 42; Reserved/unimplemented system calls in the range 0-150 inclusive 43; are reserved for use in future Berkeley releases. 44; Additional system calls implemented in vendor and other 45; redistributions should be placed in the reserved range at the end 46; of the current calls. 47 480 STD { int nosys(void); } syscall nosys_args int 491 STD { void exit(int rval); } 502 STD { int fork(void); } 513 STD { ssize_t read(int fd, void *buf, size_t nbyte); } 524 STD { ssize_t write(int fd, const void *buf, size_t nbyte); } 535 STD { int open(char *path, int flags, int mode); } 54; XXX should be { int open(const char *path, int flags, ...); } 55; but we're not ready for `const' or varargs. 56; XXX man page says `mode_t mode'. 576 STD { int close(int fd); } 587 STD { int wait4(int pid, int *status, int options, \ 59 struct rusage *rusage); } wait4 wait_args int 608 COMPAT { int creat(char *path, int mode); } 619 STD { int link(char *path, char *link); } 6210 STD { int unlink(char *path); } 6311 OBSOL execv 6412 STD { int chdir(char *path); } 6513 STD { int fchdir(int fd); } 6614 STD { int mknod(char *path, int mode, int dev); } 6715 STD { int chmod(char *path, int mode); } 6816 STD { int chown(char *path, int uid, int gid); } 6917 STD { int obreak(char *nsize); } break obreak_args int 7018 STD { int getfsstat(struct statfs *buf, long bufsize, \ 71 int flags); } 7219 COMPAT { long lseek(int fd, long offset, int whence); } 7320 STD { pid_t getpid(void); } 7421 STD { int mount(char *type, char *path, int flags, \ 75 caddr_t data); } 76; XXX `path' should have type `const char *' but we're not ready for that. 7722 STD { int unmount(char *path, int flags); } 7823 STD { int setuid(uid_t uid); } 7924 STD { uid_t getuid(void); } 8025 STD { uid_t geteuid(void); } 8126 STD { int ptrace(int req, pid_t pid, caddr_t addr, \ 82 int data); } 8327 STD { int recvmsg(int s, struct msghdr *msg, int flags); } 8428 STD { int sendmsg(int s, caddr_t msg, int flags); } 8529 STD { int recvfrom(int s, caddr_t buf, size_t len, \ 86 int flags, caddr_t from, int *fromlenaddr); } 8730 STD { int accept(int s, caddr_t name, int *anamelen); } 8831 STD { int getpeername(int fdes, caddr_t asa, int *alen); } 8932 STD { int getsockname(int fdes, caddr_t asa, int *alen); } 9033 STD { int access(char *path, int flags); } 9134 STD { int chflags(char *path, int flags); } 9235 STD { int fchflags(int fd, int flags); } 9336 STD { int sync(void); } 9437 STD { int kill(int pid, int signum); } 9538 COMPAT { int stat(char *path, struct ostat *ub); } 9639 STD { pid_t getppid(void); } 9740 COMPAT { int lstat(char *path, struct ostat *ub); } 9841 STD { int dup(u_int fd); } 9942 STD { int pipe(void); } 10043 STD { gid_t getegid(void); } 10144 STD { int profil(caddr_t samples, size_t size, \ 102 size_t offset, u_int scale); } 10345 STD { int ktrace(const char *fname, int ops, int facs, \ 104 int pid); } 10546 OBSOL freebsd3_sigaction 10647 STD { gid_t getgid(void); } 10748 OBSOL freebsd3_sigprocmask 108; XXX note nonstandard (bogus) calling convention - the libc stub passes 109; us the mask, not a pointer to it, and we return the old mask as the 110; (int) return value. 11149 STD { int getlogin(char *namebuf, u_int namelen); } 11250 STD { int setlogin(char *namebuf); } 11351 STD { int acct(char *path); } 11452 OBSOL freebsd3_sigpending 11553 STD { int sigaltstack(stack_t *ss, stack_t *oss); } 11654 STD { int ioctl(int fd, u_long com, caddr_t data); } 11755 STD { int reboot(int opt); } 11856 STD { int revoke(char *path); } 11957 STD { int symlink(char *path, char *link); } 12058 STD { int readlink(char *path, char *buf, int count); } 12159 STD { int execve(char *fname, char **argv, char **envv); } 12260 STD { int umask(int newmask); } umask umask_args int 12361 STD { int chroot(char *path); } 12462 COMPAT { int fstat(int fd, struct ostat *sb); } 12563 COMPAT { int getkerninfo(int op, char *where, size_t *size, \ 126 int arg); } getkerninfo getkerninfo_args int 12764 COMPAT { int getpagesize(void); } \ 128 getpagesize getpagesize_args int 12965 STD { int msync(void *addr, size_t len, int flags); } 13066 STD { pid_t vfork(void); } 13167 OBSOL vread 13268 OBSOL vwrite 13369 STD { int sbrk(int incr); } 13470 STD { int sstk(int incr); } 13571 COMPAT { int mmap(void *addr, int len, int prot, \ 136 int flags, int fd, long pos); } 13772 COMPAT { int vadvise(int anom); } vadvise ovadvise_args int 13873 STD { int munmap(void *addr, size_t len); } 13974 STD { int mprotect(void *addr, size_t len, int prot); } 14075 STD { int madvise(void *addr, size_t len, int behav); } 14176 OBSOL vhangup 14277 OBSOL vlimit 14378 STD { int mincore(const void *addr, size_t len, \ 144 char *vec); } 14579 STD { int getgroups(u_int gidsetsize, gid_t *gidset); } 14680 STD { int setgroups(u_int gidsetsize, gid_t *gidset); } 14781 STD { int getpgrp(void); } 14882 STD { int setpgid(int pid, int pgid); } 14983 STD { int setitimer(u_int which, struct itimerval *itv, \ 150 struct itimerval *oitv); } 15184 COMPAT { int wait(void); } 15285 STD { int swapon(char *name); } 15386 STD { int getitimer(u_int which, struct itimerval *itv); } 15487 COMPAT { int gethostname(char *hostname, u_int len); } \ 155 gethostname gethostname_args int 15688 COMPAT { int sethostname(char *hostname, u_int len); } \ 157 sethostname sethostname_args int 15889 STD { int getdtablesize(void); } 15990 STD { int dup2(u_int from, u_int to); } 16091 UNIMPL getdopt 16192 STD { int fcntl(int fd, int cmd, long arg); } 162; XXX should be { int fcntl(int fd, int cmd, ...); } 163; but we're not ready for varargs. 164; XXX man page says `int arg' too. 16593 STD { int select(int nd, fd_set *in, fd_set *ou, \ 166 fd_set *ex, struct timeval *tv); } 16794 UNIMPL setdopt 16895 STD { int fsync(int fd); } 16996 STD { int setpriority(int which, int who, int prio); } 17097 STD { int socket(int domain, int type, int protocol); } 17198 STD { int connect(int s, caddr_t name, int namelen); } 17299 CPT_NOA { int accept(int s, caddr_t name, int *anamelen); } \ 173 accept accept_args int 174100 STD { int getpriority(int which, int who); } 175101 COMPAT { int send(int s, caddr_t buf, int len, int flags); } 176102 COMPAT { int recv(int s, caddr_t buf, int len, int flags); } 177103 OBSOL freebsd3_sigreturn 178104 STD { int bind(int s, caddr_t name, int namelen); } 179105 STD { int setsockopt(int s, int level, int name, \ 180 caddr_t val, int valsize); } 181106 STD { int listen(int s, int backlog); } 182107 OBSOL vtimes 183108 COMPAT { int sigvec(int signum, struct sigvec *nsv, \ 184 struct sigvec *osv); } 185109 COMPAT { int sigblock(int mask); } 186110 COMPAT { int sigsetmask(int mask); } 187111 OBSOL freebsd3_sigsuspend 188; XXX note nonstandard (bogus) calling convention - the libc stub passes 189; us the mask, not a pointer to it. 190112 COMPAT { int sigstack(struct sigstack *nss, \ 191 struct sigstack *oss); } 192113 COMPAT { int recvmsg(int s, struct omsghdr *msg, int flags); } 193114 COMPAT { int sendmsg(int s, caddr_t msg, int flags); } 194115 OBSOL vtrace 195116 STD { int gettimeofday(struct timeval *tp, \ 196 struct timezone *tzp); } 197117 STD { int getrusage(int who, struct rusage *rusage); } 198118 STD { int getsockopt(int s, int level, int name, \ 199 caddr_t val, int *avalsize); } 200119 UNIMPL resuba (BSD/OS 2.x) 201120 STD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 202121 STD { int writev(int fd, struct iovec *iovp, \ 203 u_int iovcnt); } 204122 STD { int settimeofday(struct timeval *tv, \ 205 struct timezone *tzp); } 206123 STD { int fchown(int fd, int uid, int gid); } 207124 STD { int fchmod(int fd, int mode); } 208125 CPT_NOA { int recvfrom(int s, caddr_t buf, size_t len, \ 209 int flags, caddr_t from, int *fromlenaddr); } \ 210 recvfrom recvfrom_args int 211126 STD { int setreuid(int ruid, int euid); } 212127 STD { int setregid(int rgid, int egid); } 213128 STD { int rename(char *from, char *to); } 214129 COMPAT { int truncate(char *path, long length); } 215130 COMPAT { int ftruncate(int fd, long length); } 216131 STD { int flock(int fd, int how); } 217132 STD { int mkfifo(char *path, int mode); } 218133 STD { int sendto(int s, caddr_t buf, size_t len, \ 219 int flags, caddr_t to, int tolen); } 220134 STD { int shutdown(int s, int how); } 221135 STD { int socketpair(int domain, int type, int protocol, \ 222 int *rsv); } 223136 STD { int mkdir(char *path, int mode); } 224137 STD { int rmdir(char *path); } 225138 STD { int utimes(char *path, struct timeval *tptr); } 226139 OBSOL 4.2 sigreturn 227140 STD { int adjtime(struct timeval *delta, \ 228 struct timeval *olddelta); } 229141 COMPAT { int getpeername(int fdes, caddr_t asa, int *alen); } 230142 COMPAT { long gethostid(void); } 231143 COMPAT { int sethostid(long hostid); } 232144 COMPAT { int getrlimit(u_int which, struct orlimit *rlp); } 233145 COMPAT { int setrlimit(u_int which, struct orlimit *rlp); } 234146 COMPAT { int killpg(int pgid, int signum); } 235147 STD { int setsid(void); } 236148 STD { int quotactl(char *path, int cmd, int uid, \ 237 caddr_t arg); } 238149 COMPAT { int quota(void); } 239150 CPT_NOA { int getsockname(int fdec, caddr_t asa, int *alen); }\ 240 getsockname getsockname_args int 241 242; Syscalls 151-180 inclusive are reserved for vendor-specific 243; system calls. (This includes various calls added for compatibity 244; with other Unix variants.) 245; Some of these calls are now supported by BSD... 246151 UNIMPL sem_lock (BSD/OS 2.x) 247152 UNIMPL sem_wakeup (BSD/OS 2.x) 248153 UNIMPL asyncdaemon (BSD/OS 2.x) 249154 UNIMPL nosys 250; 155 is initialized by the NFS code, if present. 251155 NOIMPL { int nfssvc(int flag, caddr_t argp); } 252156 COMPAT { int getdirentries(int fd, char *buf, u_int count, \ 253 long *basep); } 254157 STD { int statfs(char *path, struct statfs *buf); } 255158 STD { int fstatfs(int fd, struct statfs *buf); } 256159 UNIMPL nosys 257160 UNIMPL nosys 258; 161 is initialized by the NFS code, if present. 259161 STD { int getfh(char *fname, struct fhandle *fhp); } 260162 STD { int getdomainname(char *domainname, int len); } 261163 STD { int setdomainname(char *domainname, int len); } 262164 STD { int uname(struct utsname *name); } 263165 STD { int sysarch(int op, char *parms); } 264166 STD { int rtprio(int function, pid_t pid, \ 265 struct rtprio *rtp); } 266167 UNIMPL nosys 267168 UNIMPL nosys 268169 STD { int semsys(int which, int a2, int a3, int a4, \ 269 int a5); } 270; XXX should be { int semsys(int which, ...); } 271170 STD { int msgsys(int which, int a2, int a3, int a4, \ 272 int a5, int a6); } 273; XXX should be { int msgsys(int which, ...); } 274171 STD { int shmsys(int which, int a2, int a3, int a4); } 275; XXX should be { int shmsys(int which, ...); } 276172 UNIMPL nosys 277173 STD { ssize_t extpread(int fd, void *buf, \ 278 size_t nbyte, int flags, off_t offset); } 279174 STD { ssize_t extpwrite(int fd, const void *buf, \ 280 size_t nbyte, int flags, off_t offset); } 281175 UNIMPL nosys 282176 STD { int ntp_adjtime(struct timex *tp); } 283177 UNIMPL sfork (BSD/OS 2.x) 284178 UNIMPL getdescriptor (BSD/OS 2.x) 285179 UNIMPL setdescriptor (BSD/OS 2.x) 286180 UNIMPL nosys 287 288; Syscalls 181-199 are used by/reserved for BSD 289181 STD { int setgid(gid_t gid); } 290182 STD { int setegid(gid_t egid); } 291183 STD { int seteuid(uid_t euid); } 292184 UNIMPL lfs_bmapv 293185 UNIMPL lfs_markv 294186 UNIMPL lfs_segclean 295187 UNIMPL lfs_segwait 296188 COMPAT_DF12 { int stat(const char *path, struct dfbsd12_stat *ub); } 297189 COMPAT_DF12 { int fstat(int fd, struct dfbsd12_stat *sb); } 298190 COMPAT_DF12 { int lstat(const char *path, struct dfbsd12_stat *ub); } 299191 STD { int pathconf(char *path, int name); } 300192 STD { int fpathconf(int fd, int name); } 301193 UNIMPL nosys 302194 STD { int getrlimit(u_int which, \ 303 struct rlimit *rlp); } \ 304 getrlimit __getrlimit_args int 305195 STD { int setrlimit(u_int which, \ 306 struct rlimit *rlp); } \ 307 setrlimit __setrlimit_args int 308196 COMPAT_DF12 { int getdirentries(int fd, char *buf, \ 309 u_int count, long *basep); } 310197 STD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 311 int flags, int fd, int pad, off_t pos); } 312198 STD { int nosys(void); } __syscall __syscall_args int 313199 STD { off_t lseek(int fd, int pad, off_t offset, \ 314 int whence); } 315200 STD { int truncate(char *path, int pad, off_t length); } 316201 STD { int ftruncate(int fd, int pad, off_t length); } 317202 STD { int __sysctl(int *name, u_int namelen, void *old, \ 318 size_t *oldlenp, void *new, size_t newlen); } \ 319 __sysctl sysctl_args int 320203 STD { int mlock(const void *addr, size_t len); } 321204 STD { int munlock(const void *addr, size_t len); } 322205 STD { int undelete(char *path); } 323206 STD { int futimes(int fd, struct timeval *tptr); } 324207 STD { int getpgid(pid_t pid); } 325208 UNIMPL newreboot (NetBSD) 326209 STD { int poll(struct pollfd *fds, u_int nfds, \ 327 int timeout); } 328 329; 330; The following are reserved for loadable syscalls 331; 332; 210 is used by the Checkpoint Module 333210 NODEF lkmnosys lkmnosys nosys_args int 334211 NODEF lkmnosys lkmnosys nosys_args int 335212 NODEF lkmnosys lkmnosys nosys_args int 336213 NODEF lkmnosys lkmnosys nosys_args int 337214 NODEF lkmnosys lkmnosys nosys_args int 338215 NODEF lkmnosys lkmnosys nosys_args int 339216 NODEF lkmnosys lkmnosys nosys_args int 340217 NODEF lkmnosys lkmnosys nosys_args int 341218 NODEF lkmnosys lkmnosys nosys_args int 342219 NODEF lkmnosys lkmnosys nosys_args int 343 344; 345; The following were introduced with NetBSD/4.4Lite-2 346; 347220 STD { int __semctl(int semid, int semnum, int cmd, \ 348 union semun *arg); } 349221 STD { int semget(key_t key, int nsems, int semflg); } 350222 STD { int semop(int semid, struct sembuf *sops, \ 351 u_int nsops); } 352223 UNIMPL semconfig 353224 STD { int msgctl(int msqid, int cmd, \ 354 struct msqid_ds *buf); } 355225 STD { int msgget(key_t key, int msgflg); } 356226 STD { int msgsnd(int msqid, void *msgp, size_t msgsz, \ 357 int msgflg); } 358227 STD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 359 long msgtyp, int msgflg); } 360228 STD { caddr_t shmat(int shmid, const void *shmaddr, \ 361 int shmflg); } 362229 STD { int shmctl(int shmid, int cmd, \ 363 struct shmid_ds *buf); } 364230 STD { int shmdt(const void *shmaddr); } 365231 STD { int shmget(key_t key, size_t size, int shmflg); } 366; 367232 STD { int clock_gettime(clockid_t clock_id, \ 368 struct timespec *tp); } 369233 STD { int clock_settime(clockid_t clock_id, \ 370 const struct timespec *tp); } 371234 STD { int clock_getres(clockid_t clock_id, \ 372 struct timespec *tp); } 373235 UNIMPL timer_create 374236 UNIMPL timer_delete 375237 UNIMPL timer_settime 376238 UNIMPL timer_gettime 377239 UNIMPL timer_getoverrun 378240 STD { int nanosleep(const struct timespec *rqtp, \ 379 struct timespec *rmtp); } 380241 UNIMPL nosys 381242 UNIMPL nosys 382243 UNIMPL nosys 383244 UNIMPL nosys 384245 UNIMPL nosys 385246 UNIMPL nosys 386247 UNIMPL nosys 387248 UNIMPL nosys 388249 UNIMPL nosys 389; syscall numbers initially used in OpenBSD 390250 STD { int minherit(void *addr, size_t len, int inherit); } 391251 STD { int rfork(int flags); } 392252 STD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 393 int timeout); } 394253 STD { int issetugid(void); } 395254 STD { int lchown(char *path, int uid, int gid); } 396255 UNIMPL nosys 397256 UNIMPL nosys 398257 UNIMPL nosys 399258 UNIMPL nosys 400259 UNIMPL nosys 401260 UNIMPL nosys 402261 UNIMPL nosys 403262 UNIMPL nosys 404263 UNIMPL nosys 405264 UNIMPL nosys 406265 UNIMPL nosys 407266 UNIMPL nosys 408267 UNIMPL nosys 409268 UNIMPL nosys 410269 UNIMPL nosys 411270 UNIMPL nosys 412271 UNIMPL nosys 413272 COMPAT_DF12 { int getdents(int fd, char *buf, size_t count); } 414273 UNIMPL nosys 415274 STD { int lchmod(char *path, mode_t mode); } 416275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 417276 STD { int lutimes(char *path, struct timeval *tptr); } 418277 NOPROTO { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 419278 OBSOL { int nstat(char *path, struct nstat *ub); } 420279 OBSOL { int nfstat(int fd, struct nstat *sb); } 421280 OBSOL { int nlstat(char *path, struct nstat *ub); } 422281 UNIMPL nosys 423282 UNIMPL nosys 424283 UNIMPL nosys 425284 UNIMPL nosys 426285 UNIMPL nosys 427286 UNIMPL nosys 428287 UNIMPL nosys 429288 UNIMPL nosys 430; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 431289 STD { ssize_t extpreadv(int fd, struct iovec *iovp, \ 432 u_int iovcnt, int flags, off_t offset); } 433290 STD { ssize_t extpwritev(int fd, struct iovec *iovp,\ 434 u_int iovcnt, int flags, off_t offset); } 435291 UNIMPL nosys 436292 UNIMPL nosys 437293 UNIMPL nosys 438294 UNIMPL nosys 439295 UNIMPL nosys 440296 UNIMPL nosys 441; XXX 297 is 300 in NetBSD 442297 STD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 443298 STD { int fhopen(const struct fhandle *u_fhp, int flags); } 444299 COMPAT_DF12 { int fhstat(const struct fhandle *u_fhp, struct dfbsd12_stat *sb); } 445; syscall numbers for FreeBSD 446300 STD { int modnext(int modid); } 447301 STD { int modstat(int modid, struct module_stat* stat); } 448302 STD { int modfnext(int modid); } 449303 STD { int modfind(const char *name); } 450304 STD { int kldload(const char *file); } 451305 STD { int kldunload(int fileid); } 452306 STD { int kldfind(const char *file); } 453307 STD { int kldnext(int fileid); } 454308 STD { int kldstat(int fileid, struct kld_file_stat* stat); } 455309 STD { int kldfirstmod(int fileid); } 456310 STD { int getsid(pid_t pid); } 457311 STD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 458312 STD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 459313 OBSOL signanosleep 460314 STD { int aio_return(struct aiocb *aiocbp); } 461315 STD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } 462316 STD { int aio_cancel(int fd, struct aiocb *aiocbp); } 463317 STD { int aio_error(struct aiocb *aiocbp); } 464318 STD { int aio_read(struct aiocb *aiocbp); } 465319 STD { int aio_write(struct aiocb *aiocbp); } 466320 STD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } 467321 STD { int yield(void); } 468322 UNIMPL thr_sleep 469323 UNIMPL thr_wakeup 470324 STD { int mlockall(int how); } 471325 STD { int munlockall(void); } 472326 STD { int __getcwd(u_char *buf, u_int buflen); } 473 474327 STD { int sched_setparam (pid_t pid, const struct sched_param *param); } 475328 STD { int sched_getparam (pid_t pid, struct sched_param *param); } 476 477329 STD { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 478330 STD { int sched_getscheduler (pid_t pid); } 479 480331 STD { int sched_yield (void); } 481332 STD { int sched_get_priority_max (int policy); } 482333 STD { int sched_get_priority_min (int policy); } 483334 STD { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 484335 STD { int utrace(const void *addr, size_t len); } 485336 OBSOL freebsd4_sendfile 486337 STD { int kldsym(int fileid, int cmd, void *data); } 487338 STD { int jail(struct jail *jail); } 488339 UNIMPL pioctl 489340 STD { int sigprocmask(int how, const sigset_t *set, \ 490 sigset_t *oset); } 491341 STD { int sigsuspend(const sigset_t *sigmask); } 492342 STD { int sigaction(int sig, const struct sigaction *act, \ 493 struct sigaction *oact); } 494343 STD { int sigpending(sigset_t *set); } 495344 STD { int sigreturn(ucontext_t *sigcntxp); } 496345 STD { int sigtimedwait(const sigset_t *set,\ 497 siginfo_t *info, const struct timespec *timeout); } 498346 STD { int sigwaitinfo(const sigset_t *set,\ 499 siginfo_t *info); } 500347 STD { int __acl_get_file(const char *path, \ 501 acl_type_t type, struct acl *aclp); } 502348 STD { int __acl_set_file(const char *path, \ 503 acl_type_t type, struct acl *aclp); } 504349 STD { int __acl_get_fd(int filedes, acl_type_t type, \ 505 struct acl *aclp); } 506350 STD { int __acl_set_fd(int filedes, acl_type_t type, \ 507 struct acl *aclp); } 508351 STD { int __acl_delete_file(const char *path, \ 509 acl_type_t type); } 510352 STD { int __acl_delete_fd(int filedes, acl_type_t type); } 511353 STD { int __acl_aclcheck_file(const char *path, \ 512 acl_type_t type, struct acl *aclp); } 513354 STD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 514 struct acl *aclp); } 515355 STD { int extattrctl(const char *path, int cmd, \ 516 const char *filename, int attrnamespace, \ 517 const char *attrname); } 518356 STD { int extattr_set_file(const char *path, \ 519 int attrnamespace, const char *attrname, \ 520 void *data, size_t nbytes); } 521357 STD { int extattr_get_file(const char *path, \ 522 int attrnamespace, const char *attrname, \ 523 void *data, size_t nbytes); } 524358 STD { int extattr_delete_file(const char *path, \ 525 int attrnamespace, const char *attrname); } 526359 STD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } 527360 STD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 528361 STD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 529362 STD { int kqueue(void); } 530363 STD { int kevent(int fd, \ 531 const struct kevent *changelist, int nchanges, \ 532 struct kevent *eventlist, int nevents, \ 533 const struct timespec *timeout); } 534364 STD { int sctp_peeloff(int sd, caddr_t name ); } 535; 365-392 used by FreeBSD-current 536365 UNIMPL nosys 537366 UNIMPL nosys 538367 UNIMPL nosys 539368 UNIMPL nosys 540369 UNIMPL nosys 541370 UNIMPL nosys 542371 UNIMPL nosys 543372 UNIMPL nosys 544373 UNIMPL nosys 545374 UNIMPL nosys 546375 UNIMPL nosys 547376 UNIMPL nosys 548377 UNIMPL nosys 549378 UNIMPL nosys 550379 UNIMPL nosys 551380 UNIMPL nosys 552381 UNIMPL nosys 553382 UNIMPL nosys 554383 UNIMPL nosys 555384 UNIMPL nosys 556385 UNIMPL nosys 557386 UNIMPL nosys 558387 UNIMPL nosys 559388 UNIMPL nosys 560389 UNIMPL nosys 561390 UNIMPL nosys 562391 STD { int lchflags(char *path, int flags); } 563392 STD { int uuidgen(struct uuid *store, int count); } 564393 STD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 565 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 566; 394-439 used by FreeBSD-current 567394 UNIMPL nosys 568395 UNIMPL nosys 569396 UNIMPL nosys 570397 UNIMPL nosys 571398 UNIMPL nosys 572399 UNIMPL nosys 573400 UNIMPL nosys 574401 UNIMPL nosys 575402 UNIMPL nosys 576403 UNIMPL nosys 577404 UNIMPL nosys 578405 UNIMPL nosys 579406 UNIMPL nosys 580407 UNIMPL nosys 581408 UNIMPL nosys 582409 UNIMPL nosys 583410 UNIMPL nosys 584411 UNIMPL nosys 585412 UNIMPL nosys 586413 UNIMPL nosys 587414 UNIMPL nosys 588415 UNIMPL nosys 589416 UNIMPL nosys 590417 UNIMPL nosys 591418 UNIMPL nosys 592419 UNIMPL nosys 593420 UNIMPL nosys 594421 UNIMPL nosys 595422 UNIMPL nosys 596423 UNIMPL nosys 597424 UNIMPL nosys 598425 UNIMPL nosys 599426 UNIMPL nosys 600427 UNIMPL nosys 601428 UNIMPL nosys 602429 UNIMPL nosys 603430 UNIMPL nosys 604431 UNIMPL nosys 605432 UNIMPL nosys 606433 UNIMPL nosys 607434 UNIMPL nosys 608435 UNIMPL nosys 609436 UNIMPL nosys 610437 UNIMPL nosys 611438 UNIMPL nosys 612439 UNIMPL nosys 613; 440-449 reserved for FreeBSD-5.x growth 614440 UNIMPL nosys 615441 UNIMPL nosys 616442 UNIMPL nosys 617443 UNIMPL nosys 618444 UNIMPL nosys 619445 UNIMPL nosys 620446 UNIMPL nosys 621447 UNIMPL nosys 622448 UNIMPL nosys 623449 UNIMPL nosys 624; 450 DragonFly system calls 625450 STD { int varsym_set(int level, const char *name, const char *data); } 626451 STD { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } 627452 STD { int varsym_list(int level, char *buf, int maxsize, int *marker); } 628453 OBSOL upc_register 629454 OBSOL upc_control 630455 OBSOL caps_sys_service 631456 OBSOL caps_sys_client 632457 OBSOL caps_sys_close 633458 OBSOL caps_sys_put 634459 OBSOL caps_sys_reply 635460 OBSOL caps_sys_get 636461 OBSOL caps_sys_wait 637462 OBSOL caps_sys_abort 638463 OBSOL caps_sys_getgen 639464 OBSOL caps_sys_setgen 640465 STD { int exec_sys_register(void *entry); } 641466 STD { int exec_sys_unregister(int id); } 642467 STD { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } 643468 STD { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } 644469 STD { int umtx_sleep(volatile const int *ptr, int value, int timeout); } 645470 STD { int umtx_wakeup(volatile const int *ptr, int count); } 646471 STD { int jail_attach(int jid); } 647472 STD { int set_tls_area(int which, struct tls_info *info, size_t infosize); } 648473 STD { int get_tls_area(int which, struct tls_info *info, size_t infosize); } 649474 STD { int closefrom(int fd); } 650475 STD { int stat(const char *path, struct stat *ub); } 651476 STD { int fstat(int fd, struct stat *sb); } 652477 STD { int lstat(const char *path, struct stat *ub); } 653478 STD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 654479 STD { int getdirentries(int fd, char *buf, u_int count, \ 655 long *basep); } 656480 STD { int getdents(int fd, char *buf, size_t count); } 657481 STD { int usched_set(pid_t pid, int cmd, void *data, \ 658 int bytes); } 659482 STD { int extaccept(int s, int flags, caddr_t name, int *anamelen); } 660483 STD { int extconnect(int s, int flags, caddr_t name, int namelen); } 661484 OBSOL syslink 662485 STD { int mcontrol(void *addr, size_t len, int behav, off_t value); } 663486 STD { int vmspace_create(void *id, int type, void *data); } 664487 STD { int vmspace_destroy(void *id); } 665488 STD { int vmspace_ctl(void *id, int cmd, \ 666 struct trapframe *tframe, \ 667 struct vextframe *vframe); } 668489 STD { int vmspace_mmap(void *id, void *addr, size_t len, \ 669 int prot, int flags, int fd, \ 670 off_t offset); } 671490 STD { int vmspace_munmap(void *id, void *addr, \ 672 size_t len); } 673491 STD { int vmspace_mcontrol(void *id, void *addr, \ 674 size_t len, int behav, off_t value); } 675492 STD { ssize_t vmspace_pread(void *id, void *buf, \ 676 size_t nbyte, int flags, off_t offset); } 677493 STD { ssize_t vmspace_pwrite(void *id, const void *buf, \ 678 size_t nbyte, int flags, off_t offset); } 679494 STD { void extexit(int how, int status, void *addr); } 680495 STD { int lwp_create(struct lwp_params *params); } 681496 STD { lwpid_t lwp_gettid(void); } 682497 STD { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } 683498 STD { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } 684499 STD { int pselect(int nd, fd_set *in, fd_set *ou, \ 685 fd_set *ex, const struct timespec *ts, \ 686 const sigset_t *sigmask); } 687500 STD { int statvfs(const char *path, struct statvfs *buf); } 688501 STD { int fstatvfs(int fd, struct statvfs *buf); } 689502 STD { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } 690503 STD { int getvfsstat(struct statfs *buf, \ 691 struct statvfs *vbuf, long vbufsize, int flags); } 692504 STD { int openat(int fd, char *path, int flags, int mode); } 693; XXX should be { int openat(int fd, const char *path, int flags, ...);} 694; but we're not ready for `const' or varargs. 695; XXX man page says `mode_t mode'. 696505 STD { int fstatat(int fd, char *path, \ 697 struct stat *sb, int flags); } 698506 STD { int fchmodat(int fd, char *path, int mode, \ 699 int flags); } 700507 STD { int fchownat(int fd, char *path, int uid, int gid, \ 701 int flags); } 702508 STD { int unlinkat(int fd, char *path, int flags); } 703509 STD { int faccessat(int fd, char *path, int amode, \ 704 int flags); } 705 706; POSIX message queues system calls 707510 STD { mqd_t mq_open(const char * name, int oflag, \ 708 mode_t mode, struct mq_attr *attr); } 709511 STD { int mq_close(mqd_t mqdes); } 710512 STD { int mq_unlink(const char *name); } 711513 STD { int mq_getattr(mqd_t mqdes, \ 712 struct mq_attr *mqstat); } 713514 STD { int mq_setattr(mqd_t mqdes, \ 714 const struct mq_attr *mqstat, \ 715 struct mq_attr *omqstat); } 716515 STD { int mq_notify(mqd_t mqdes, \ 717 const struct sigevent *notification); } 718516 STD { int mq_send(mqd_t mqdes, const char *msg_ptr, \ 719 size_t msg_len, unsigned msg_prio); } 720517 STD { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ 721 size_t msg_len, unsigned *msg_prio); } 722518 STD { int mq_timedsend(mqd_t mqdes, \ 723 const char *msg_ptr, size_t msg_len, \ 724 unsigned msg_prio, \ 725 const struct timespec *abs_timeout); } 726519 STD { ssize_t mq_timedreceive(mqd_t mqdes, \ 727 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 728 const struct timespec *abs_timeout); } 729520 STD { int ioprio_set(int which, int who, int prio); } 730521 STD { int ioprio_get(int which, int who); } 731522 STD { int chroot_kernel(char *path); } 732523 STD { int renameat(int oldfd, char *old, int newfd, \ 733 char *new); } 734524 STD { int mkdirat(int fd, char *path, mode_t mode); } 735525 STD { int mkfifoat(int fd, char *path, mode_t mode); } 736526 STD { int mknodat(int fd, char *path, mode_t mode, \ 737 dev_t dev); } 738527 STD { int readlinkat(int fd, char *path, char *buf, \ 739 size_t bufsize); } 740528 STD { int symlinkat(char *path1, int fd, char *path2); } 741529 STD { int swapoff(char *name); } 742530 STD { int vquotactl(const char *path, \ 743 struct plistref *pref); } 744531 STD { int linkat(int fd1, char *path1, int fd2, \ 745 char *path2, int flags); } 746532 STD { int eaccess(char *path, int flags); } 747533 STD { int lpathconf(char *path, int name); } 748534 STD { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } 749535 STD { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } 750