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#include <machine/cpumask.h> 36 37; Reserved/unimplemented system calls in the range 0-150 inclusive 38; are reserved for use in future Berkeley releases. 39; Additional system calls implemented in vendor and other 40; redistributions should be placed in the reserved range at the end 41; of the current calls. 42 430 STD { int nosys(void); } syscall nosys_args int 441 STD { void exit(int rval); } 452 STD { int fork(void); } 463 STD { ssize_t read(int fd, void *buf, size_t nbyte); } 474 STD { ssize_t write(int fd, const void *buf, size_t nbyte); } 485 STD { int open(char *path, int flags, int mode); } 49; XXX should be { int open(const char *path, int flags, ...); } 50; but we're not ready for `const' or varargs. 51; XXX man page says `mode_t mode'. 526 STD { int close(int fd); } 537 STD { int wait4(int pid, int *status, int options, \ 54 struct rusage *rusage); } wait4 wait_args int 558 OBSOL 4.3 creat 569 STD { int link(char *path, char *link); } 5710 STD { int unlink(char *path); } 5811 OBSOL execv 5912 STD { int chdir(char *path); } 6013 STD { int fchdir(int fd); } 6114 STD { int mknod(char *path, int mode, int dev); } 6215 STD { int chmod(char *path, int mode); } 6316 STD { int chown(char *path, int uid, int gid); } 6417 STD { int obreak(char *nsize); } break obreak_args int 6518 STD { int getfsstat(struct statfs *buf, long bufsize, \ 66 int flags); } 6719 COMPAT { long lseek(int fd, long offset, int whence); } 6820 STD { pid_t getpid(void); } 6921 STD { int mount(char *type, char *path, int flags, \ 70 caddr_t data); } 71; XXX `path' should have type `const char *' but we're not ready for that. 7222 STD { int unmount(char *path, int flags); } 7323 STD { int setuid(uid_t uid); } 7424 STD { uid_t getuid(void); } 7525 STD { uid_t geteuid(void); } 7626 STD { int ptrace(int req, pid_t pid, caddr_t addr, \ 77 int data); } 7827 STD { int recvmsg(int s, struct msghdr *msg, int flags); } 7928 STD { int sendmsg(int s, caddr_t msg, int flags); } 8029 STD { int recvfrom(int s, caddr_t buf, size_t len, \ 81 int flags, caddr_t from, int *fromlenaddr); } 8230 STD { int accept(int s, caddr_t name, int *anamelen); } 8331 STD { int getpeername(int fdes, caddr_t asa, int *alen); } 8432 STD { int getsockname(int fdes, caddr_t asa, int *alen); } 8533 STD { int access(char *path, int flags); } 8634 STD { int chflags(char *path, int flags); } 8735 STD { int fchflags(int fd, int flags); } 8836 STD { int sync(void); } 8937 STD { int kill(int pid, int signum); } 9038 COMPAT { int stat(char *path, struct ostat *ub); } 9139 STD { pid_t getppid(void); } 9240 COMPAT { int lstat(char *path, struct ostat *ub); } 9341 STD { int dup(int fd); } 9442 STD { int pipe(void); } 9543 STD { gid_t getegid(void); } 9644 STD { int profil(caddr_t samples, size_t size, \ 97 size_t offset, u_int scale); } 9845 STD { int ktrace(const char *fname, int ops, int facs, \ 99 int pid); } 10046 OBSOL freebsd3_sigaction 10147 STD { gid_t getgid(void); } 10248 OBSOL freebsd3_sigprocmask 103; XXX note nonstandard (bogus) calling convention - the libc stub passes 104; us the mask, not a pointer to it, and we return the old mask as the 105; (int) return value. 10649 STD { int getlogin(char *namebuf, u_int namelen); } 10750 STD { int setlogin(char *namebuf); } 10851 STD { int acct(char *path); } 10952 OBSOL freebsd3_sigpending 11053 STD { int sigaltstack(stack_t *ss, stack_t *oss); } 11154 STD { int ioctl(int fd, u_long com, caddr_t data); } 11255 STD { int reboot(int opt); } 11356 STD { int revoke(char *path); } 11457 STD { int symlink(char *path, char *link); } 11558 STD { int readlink(char *path, char *buf, int count); } 11659 STD { int execve(char *fname, char **argv, char **envv); } 11760 STD { int umask(int newmask); } umask umask_args int 11861 STD { int chroot(char *path); } 11962 COMPAT { int fstat(int fd, struct ostat *sb); } 12063 COMPAT { int getkerninfo(int op, char *where, size_t *size, \ 121 int arg); } getkerninfo getkerninfo_args int 12264 COMPAT { int getpagesize(void); } \ 123 getpagesize getpagesize_args int 12465 STD { int msync(void *addr, size_t len, int flags); } 12566 STD { pid_t vfork(void); } 12667 OBSOL vread 12768 OBSOL vwrite 12869 STD { int sbrk(int incr); } 12970 STD { int sstk(int incr); } 13071 COMPAT { int mmap(void *addr, int len, int prot, \ 131 int flags, int fd, long pos); } 13272 COMPAT { int vadvise(int anom); } vadvise ovadvise_args int 13373 STD { int munmap(void *addr, size_t len); } 13474 STD { int mprotect(void *addr, size_t len, int prot); } 13575 STD { int madvise(void *addr, size_t len, int behav); } 13676 OBSOL vhangup 13777 OBSOL vlimit 13878 STD { int mincore(const void *addr, size_t len, \ 139 char *vec); } 14079 STD { int getgroups(u_int gidsetsize, gid_t *gidset); } 14180 STD { int setgroups(u_int gidsetsize, gid_t *gidset); } 14281 STD { int getpgrp(void); } 14382 STD { int setpgid(int pid, int pgid); } 14483 STD { int setitimer(u_int which, struct itimerval *itv, \ 145 struct itimerval *oitv); } 14684 COMPAT { int wait(void); } 14785 STD { int swapon(char *name); } 14886 STD { int getitimer(u_int which, struct itimerval *itv); } 14987 COMPAT { int gethostname(char *hostname, u_int len); } \ 150 gethostname gethostname_args int 15188 COMPAT { int sethostname(char *hostname, u_int len); } \ 152 sethostname sethostname_args int 15389 STD { int getdtablesize(void); } 15490 STD { int dup2(int from, int to); } 15591 UNIMPL getdopt 15692 STD { int fcntl(int fd, int cmd, long arg); } 157; XXX should be { int fcntl(int fd, int cmd, ...); } 158; but we're not ready for varargs. 159; XXX man page says `int arg' too. 16093 STD { int select(int nd, fd_set *in, fd_set *ou, \ 161 fd_set *ex, struct timeval *tv); } 16294 UNIMPL setdopt 16395 STD { int fsync(int fd); } 16496 STD { int setpriority(int which, int who, int prio); } 16597 STD { int socket(int domain, int type, int protocol); } 16698 STD { int connect(int s, caddr_t name, int namelen); } 16799 CPT_NOA { int accept(int s, caddr_t name, int *anamelen); } \ 168 accept accept_args int 169100 STD { int getpriority(int which, int who); } 170101 COMPAT { int send(int s, caddr_t buf, int len, int flags); } 171102 COMPAT { int recv(int s, caddr_t buf, int len, int flags); } 172103 OBSOL freebsd3_sigreturn 173104 STD { int bind(int s, caddr_t name, int namelen); } 174105 STD { int setsockopt(int s, int level, int name, \ 175 caddr_t val, int valsize); } 176106 STD { int listen(int s, int backlog); } 177107 OBSOL vtimes 178108 OBSOL 4.3 sigvec 179109 OBSOL 4.3 sigblock 180110 OBSOL 4.3 sigsetmask 181111 OBSOL freebsd3_sigsuspend 182; XXX note nonstandard (bogus) calling convention - the libc stub passes 183; us the mask, not a pointer to it. 184112 COMPAT { int sigstack(struct sigstack *nss, \ 185 struct sigstack *oss); } 186113 COMPAT { int recvmsg(int s, struct omsghdr *msg, int flags); } 187114 COMPAT { int sendmsg(int s, caddr_t msg, int flags); } 188115 OBSOL vtrace 189116 STD { int gettimeofday(struct timeval *tp, \ 190 struct timezone *tzp); } 191117 STD { int getrusage(int who, struct rusage *rusage); } 192118 STD { int getsockopt(int s, int level, int name, \ 193 caddr_t val, int *avalsize); } 194119 UNIMPL resuba (BSD/OS 2.x) 195120 STD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 196121 STD { int writev(int fd, struct iovec *iovp, \ 197 u_int iovcnt); } 198122 STD { int settimeofday(struct timeval *tv, \ 199 struct timezone *tzp); } 200123 STD { int fchown(int fd, int uid, int gid); } 201124 STD { int fchmod(int fd, int mode); } 202125 CPT_NOA { 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 { int setreuid(int ruid, int euid); } 206127 STD { int setregid(int rgid, int egid); } 207128 STD { int rename(char *from, char *to); } 208129 COMPAT { int truncate(char *path, long length); } 209130 COMPAT { int ftruncate(int fd, long length); } 210131 STD { int flock(int fd, int how); } 211132 STD { int mkfifo(char *path, int mode); } 212133 STD { int sendto(int s, caddr_t buf, size_t len, \ 213 int flags, caddr_t to, int tolen); } 214134 STD { int shutdown(int s, int how); } 215135 STD { int socketpair(int domain, int type, int protocol, \ 216 int *rsv); } 217136 STD { int mkdir(char *path, int mode); } 218137 STD { int rmdir(char *path); } 219138 STD { int utimes(char *path, struct timeval *tptr); } 220139 OBSOL 4.2 sigreturn 221140 STD { int adjtime(struct timeval *delta, \ 222 struct timeval *olddelta); } 223141 COMPAT { int getpeername(int fdes, caddr_t asa, int *alen); } 224142 OBSOL 4.3 gethostid 225143 OBSOL 4.3 sethostid 226144 COMPAT { int getrlimit(u_int which, struct orlimit *rlp); } 227145 COMPAT { int setrlimit(u_int which, struct orlimit *rlp); } 228146 OBSOL 4.3 killpg 229147 STD { int setsid(void); } 230148 STD { int quotactl(char *path, int cmd, int uid, \ 231 caddr_t arg); } 232149 COMPAT { int quota(void); } 233150 CPT_NOA { 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 sem_lock (BSD/OS 2.x) 241152 UNIMPL sem_wakeup (BSD/OS 2.x) 242153 UNIMPL asyncdaemon (BSD/OS 2.x) 243154 UNIMPL nosys 244; 155 is initialized by the NFS code, if present. 245155 NOIMPL { int nfssvc(int flag, caddr_t argp); } 246156 COMPAT { int getdirentries(int fd, char *buf, u_int count, \ 247 long *basep); } 248157 STD { int statfs(char *path, struct statfs *buf); } 249158 STD { int fstatfs(int fd, struct statfs *buf); } 250159 UNIMPL nosys 251160 UNIMPL nosys 252; 161 is initialized by the NFS code, if present. 253161 STD { int getfh(char *fname, struct fhandle *fhp); } 254162 STD { int getdomainname(char *domainname, int len); } 255163 STD { int setdomainname(char *domainname, int len); } 256164 STD { int uname(struct utsname *name); } 257165 STD { int sysarch(int op, char *parms); } 258166 STD { int rtprio(int function, pid_t pid, \ 259 struct rtprio *rtp); } 260167 UNIMPL nosys 261168 UNIMPL nosys 262169 OBSOL semsys 263170 OBSOL msgsys 264171 OBSOL shmsys 265172 UNIMPL nosys 266173 STD { ssize_t extpread(int fd, void *buf, \ 267 size_t nbyte, int flags, off_t offset); } 268174 STD { ssize_t extpwrite(int fd, const void *buf, \ 269 size_t nbyte, int flags, off_t offset); } 270175 UNIMPL nosys 271176 STD { int ntp_adjtime(struct timex *tp); } 272177 UNIMPL sfork (BSD/OS 2.x) 273178 UNIMPL getdescriptor (BSD/OS 2.x) 274179 UNIMPL setdescriptor (BSD/OS 2.x) 275180 UNIMPL nosys 276 277; Syscalls 181-199 are used by/reserved for BSD 278181 STD { int setgid(gid_t gid); } 279182 STD { int setegid(gid_t egid); } 280183 STD { int seteuid(uid_t euid); } 281184 UNIMPL lfs_bmapv 282185 UNIMPL lfs_markv 283186 UNIMPL lfs_segclean 284187 UNIMPL lfs_segwait 285188 UNIMPL nosys 286189 UNIMPL nosys 287190 UNIMPL nosys 288191 STD { int pathconf(char *path, int name); } 289192 STD { int fpathconf(int fd, int name); } 290193 UNIMPL nosys 291194 STD { int getrlimit(u_int which, \ 292 struct rlimit *rlp); } \ 293 getrlimit __getrlimit_args int 294195 STD { int setrlimit(u_int which, \ 295 struct rlimit *rlp); } \ 296 setrlimit __setrlimit_args int 297196 UNIMPL nosys 298197 STD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 299 int flags, int fd, int pad, off_t pos); } 300198 STD { int nosys(void); } __syscall __syscall_args int 301199 STD { off_t lseek(int fd, int pad, off_t offset, \ 302 int whence); } 303200 STD { int truncate(char *path, int pad, off_t length); } 304201 STD { int ftruncate(int fd, int pad, off_t length); } 305202 STD { int __sysctl(int *name, u_int namelen, void *old, \ 306 size_t *oldlenp, void *new, size_t newlen); } \ 307 __sysctl sysctl_args int 308203 STD { int mlock(const void *addr, size_t len); } 309204 STD { int munlock(const void *addr, size_t len); } 310205 STD { int undelete(char *path); } 311206 STD { int futimes(int fd, struct timeval *tptr); } 312207 STD { int getpgid(pid_t pid); } 313208 UNIMPL newreboot (NetBSD) 314209 STD { int poll(struct pollfd *fds, u_int nfds, \ 315 int timeout); } 316 317; 318; The following are reserved for loadable syscalls 319; 320; 210 is used by the Checkpoint Module 321210 NODEF lkmnosys lkmnosys nosys_args int 322211 NODEF lkmnosys lkmnosys nosys_args int 323212 NODEF lkmnosys lkmnosys nosys_args int 324213 NODEF lkmnosys lkmnosys nosys_args int 325214 NODEF lkmnosys lkmnosys nosys_args int 326215 NODEF lkmnosys lkmnosys nosys_args int 327216 NODEF lkmnosys lkmnosys nosys_args int 328217 NODEF lkmnosys lkmnosys nosys_args int 329218 NODEF lkmnosys lkmnosys nosys_args int 330219 NODEF lkmnosys lkmnosys nosys_args int 331 332; 333; The following were introduced with NetBSD/4.4Lite-2 334; 335220 STD { int __semctl(int semid, int semnum, int cmd, \ 336 union semun *arg); } 337221 STD { int semget(key_t key, int nsems, int semflg); } 338222 STD { int semop(int semid, struct sembuf *sops, \ 339 u_int nsops); } 340223 UNIMPL semconfig 341224 STD { int msgctl(int msqid, int cmd, \ 342 struct msqid_ds *buf); } 343225 STD { int msgget(key_t key, int msgflg); } 344226 STD { int msgsnd(int msqid, const void *msgp, size_t msgsz, \ 345 int msgflg); } 346227 STD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 347 long msgtyp, int msgflg); } 348228 STD { caddr_t shmat(int shmid, const void *shmaddr, \ 349 int shmflg); } 350229 STD { int shmctl(int shmid, int cmd, \ 351 struct shmid_ds *buf); } 352230 STD { int shmdt(const void *shmaddr); } 353231 STD { int shmget(key_t key, size_t size, int shmflg); } 354; 355232 STD { int clock_gettime(clockid_t clock_id, \ 356 struct timespec *tp); } 357233 STD { int clock_settime(clockid_t clock_id, \ 358 const struct timespec *tp); } 359234 STD { int clock_getres(clockid_t clock_id, \ 360 struct timespec *tp); } 361235 UNIMPL timer_create 362236 UNIMPL timer_delete 363237 UNIMPL timer_settime 364238 UNIMPL timer_gettime 365239 UNIMPL timer_getoverrun 366240 STD { int nanosleep(const struct timespec *rqtp, \ 367 struct timespec *rmtp); } 368241 UNIMPL nosys 369242 UNIMPL nosys 370243 UNIMPL nosys 371244 UNIMPL nosys 372245 UNIMPL nosys 373246 UNIMPL nosys 374247 UNIMPL nosys 375248 UNIMPL nosys 376249 UNIMPL nosys 377; syscall numbers initially used in OpenBSD 378250 STD { int minherit(void *addr, size_t len, int inherit); } 379251 STD { int rfork(int flags); } 380252 STD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 381 int timeout); } 382253 STD { int issetugid(void); } 383254 STD { int lchown(char *path, int uid, int gid); } 384255 UNIMPL nosys 385256 UNIMPL nosys 386257 UNIMPL nosys 387258 UNIMPL nosys 388259 UNIMPL nosys 389260 UNIMPL nosys 390261 UNIMPL nosys 391262 UNIMPL nosys 392263 UNIMPL nosys 393264 UNIMPL nosys 394265 UNIMPL nosys 395266 UNIMPL nosys 396267 UNIMPL nosys 397268 UNIMPL nosys 398269 UNIMPL nosys 399270 UNIMPL nosys 400271 UNIMPL nosys 401272 UNIMPL nosys 402273 UNIMPL nosys 403274 STD { int lchmod(char *path, mode_t mode); } 404275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 405276 STD { int lutimes(char *path, struct timeval *tptr); } 406277 NOPROTO { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 407278 OBSOL nstat 408279 OBSOL nfstat 409280 OBSOL nlstat 410281 UNIMPL nosys 411282 UNIMPL nosys 412283 UNIMPL nosys 413284 UNIMPL nosys 414285 UNIMPL nosys 415286 UNIMPL nosys 416287 UNIMPL nosys 417288 UNIMPL nosys 418; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 419289 STD { ssize_t extpreadv(int fd, struct iovec *iovp, \ 420 u_int iovcnt, int flags, off_t offset); } 421290 STD { ssize_t extpwritev(int fd, struct iovec *iovp,\ 422 u_int iovcnt, int flags, off_t offset); } 423291 UNIMPL nosys 424292 UNIMPL nosys 425293 UNIMPL nosys 426294 UNIMPL nosys 427295 UNIMPL nosys 428296 UNIMPL nosys 429; XXX 297 is 300 in NetBSD 430297 STD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 431298 STD { int fhopen(const struct fhandle *u_fhp, int flags); } 432299 UNIMPL nosys 433; syscall numbers for FreeBSD 434300 STD { int modnext(int modid); } 435301 STD { int modstat(int modid, struct module_stat* stat); } 436302 STD { int modfnext(int modid); } 437303 STD { int modfind(const char *name); } 438304 STD { int kldload(const char *file); } 439305 STD { int kldunload(int fileid); } 440306 STD { int kldfind(const char *file); } 441307 STD { int kldnext(int fileid); } 442308 STD { int kldstat(int fileid, struct kld_file_stat* stat); } 443309 STD { int kldfirstmod(int fileid); } 444310 STD { int getsid(pid_t pid); } 445311 STD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 446312 STD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 447313 OBSOL signanosleep 448314 STD { int aio_return(struct aiocb *aiocbp); } 449315 STD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } 450316 STD { int aio_cancel(int fd, struct aiocb *aiocbp); } 451317 STD { int aio_error(struct aiocb *aiocbp); } 452318 STD { int aio_read(struct aiocb *aiocbp); } 453319 STD { int aio_write(struct aiocb *aiocbp); } 454320 STD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } 455321 STD { int yield(void); } 456322 UNIMPL thr_sleep 457323 UNIMPL thr_wakeup 458324 STD { int mlockall(int how); } 459325 STD { int munlockall(void); } 460326 STD { int __getcwd(u_char *buf, u_int buflen); } 461 462327 STD { int sched_setparam (pid_t pid, const struct sched_param *param); } 463328 STD { int sched_getparam (pid_t pid, struct sched_param *param); } 464 465329 STD { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 466330 STD { int sched_getscheduler (pid_t pid); } 467 468331 STD { int sched_yield (void); } 469332 STD { int sched_get_priority_max (int policy); } 470333 STD { int sched_get_priority_min (int policy); } 471334 STD { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 472335 STD { int utrace(const void *addr, size_t len); } 473336 OBSOL freebsd4_sendfile 474337 STD { int kldsym(int fileid, int cmd, void *data); } 475338 STD { int jail(struct jail *jail); } 476339 UNIMPL pioctl 477340 STD { int sigprocmask(int how, const sigset_t *set, \ 478 sigset_t *oset); } 479341 STD { int sigsuspend(const sigset_t *sigmask); } 480342 STD { int sigaction(int sig, const struct sigaction *act, \ 481 struct sigaction *oact); } 482343 STD { int sigpending(sigset_t *set); } 483344 STD { int sigreturn(ucontext_t *sigcntxp); } 484345 STD { int sigtimedwait(const sigset_t *set,\ 485 siginfo_t *info, const struct timespec *timeout); } 486346 STD { int sigwaitinfo(const sigset_t *set,\ 487 siginfo_t *info); } 488347 STD { int __acl_get_file(const char *path, \ 489 acl_type_t type, struct acl *aclp); } 490348 STD { int __acl_set_file(const char *path, \ 491 acl_type_t type, struct acl *aclp); } 492349 STD { int __acl_get_fd(int filedes, acl_type_t type, \ 493 struct acl *aclp); } 494350 STD { int __acl_set_fd(int filedes, acl_type_t type, \ 495 struct acl *aclp); } 496351 STD { int __acl_delete_file(const char *path, \ 497 acl_type_t type); } 498352 STD { int __acl_delete_fd(int filedes, acl_type_t type); } 499353 STD { int __acl_aclcheck_file(const char *path, \ 500 acl_type_t type, struct acl *aclp); } 501354 STD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 502 struct acl *aclp); } 503355 STD { int extattrctl(const char *path, int cmd, \ 504 const char *filename, int attrnamespace, \ 505 const char *attrname); } 506356 STD { int extattr_set_file(const char *path, \ 507 int attrnamespace, const char *attrname, \ 508 void *data, size_t nbytes); } 509357 STD { int extattr_get_file(const char *path, \ 510 int attrnamespace, const char *attrname, \ 511 void *data, size_t nbytes); } 512358 STD { int extattr_delete_file(const char *path, \ 513 int attrnamespace, const char *attrname); } 514359 STD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } 515360 STD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 516361 STD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 517362 STD { int kqueue(void); } 518363 STD { int kevent(int fd, \ 519 const struct kevent *changelist, int nchanges, \ 520 struct kevent *eventlist, int nevents, \ 521 const struct timespec *timeout); } 522364 UNIMPL sctp_peeloff 523; 365-392 used by FreeBSD-current 524365 UNIMPL nosys 525366 UNIMPL nosys 526367 UNIMPL nosys 527368 UNIMPL nosys 528369 UNIMPL nosys 529370 UNIMPL nosys 530371 UNIMPL nosys 531372 UNIMPL nosys 532373 UNIMPL nosys 533374 UNIMPL nosys 534375 UNIMPL nosys 535376 UNIMPL nosys 536377 UNIMPL nosys 537378 UNIMPL nosys 538379 UNIMPL nosys 539380 UNIMPL nosys 540381 UNIMPL nosys 541382 UNIMPL nosys 542383 UNIMPL nosys 543384 UNIMPL nosys 544385 UNIMPL nosys 545386 UNIMPL nosys 546387 UNIMPL nosys 547388 UNIMPL nosys 548389 UNIMPL nosys 549390 STD { int kenv(int what, const char *name, char *value, int len); } 550391 STD { int lchflags(char *path, int flags); } 551392 STD { int uuidgen(struct uuid *store, int count); } 552393 STD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 553 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 554; 394-439 used by FreeBSD-current 555394 UNIMPL nosys 556395 UNIMPL nosys 557396 UNIMPL nosys 558397 UNIMPL nosys 559398 UNIMPL nosys 560399 UNIMPL nosys 561400 UNIMPL nosys 562401 UNIMPL nosys 563402 UNIMPL nosys 564403 UNIMPL nosys 565404 UNIMPL nosys 566405 UNIMPL nosys 567406 UNIMPL nosys 568407 UNIMPL nosys 569408 UNIMPL nosys 570409 UNIMPL nosys 571410 UNIMPL nosys 572411 UNIMPL nosys 573412 UNIMPL nosys 574413 UNIMPL nosys 575414 UNIMPL nosys 576415 UNIMPL nosys 577416 UNIMPL nosys 578417 UNIMPL nosys 579418 UNIMPL nosys 580419 UNIMPL nosys 581420 UNIMPL nosys 582421 UNIMPL nosys 583422 UNIMPL nosys 584423 UNIMPL nosys 585424 UNIMPL nosys 586425 UNIMPL nosys 587426 UNIMPL nosys 588427 UNIMPL nosys 589428 UNIMPL nosys 590429 UNIMPL nosys 591430 UNIMPL nosys 592431 UNIMPL nosys 593432 UNIMPL nosys 594433 UNIMPL nosys 595434 UNIMPL nosys 596435 UNIMPL nosys 597436 UNIMPL nosys 598437 UNIMPL nosys 599438 UNIMPL nosys 600439 UNIMPL nosys 601; 440-449 reserved for FreeBSD-5.x growth 602440 UNIMPL nosys 603441 UNIMPL nosys 604442 UNIMPL nosys 605443 UNIMPL nosys 606444 UNIMPL nosys 607445 UNIMPL nosys 608446 UNIMPL nosys 609447 UNIMPL nosys 610448 UNIMPL nosys 611449 UNIMPL nosys 612; 450 DragonFly system calls 613450 STD { int varsym_set(int level, const char *name, const char *data); } 614451 STD { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } 615452 STD { int varsym_list(int level, char *buf, int maxsize, int *marker); } 616453 OBSOL upc_register 617454 OBSOL upc_control 618455 OBSOL caps_sys_service 619456 OBSOL caps_sys_client 620457 OBSOL caps_sys_close 621458 OBSOL caps_sys_put 622459 OBSOL caps_sys_reply 623460 OBSOL caps_sys_get 624461 OBSOL caps_sys_wait 625462 OBSOL caps_sys_abort 626463 OBSOL caps_sys_getgen 627464 OBSOL caps_sys_setgen 628465 STD { int exec_sys_register(void *entry); } 629466 STD { int exec_sys_unregister(int id); } 630467 STD { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } 631468 STD { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } 632469 STD { int umtx_sleep(volatile const int *ptr, int value, int timeout); } 633470 STD { int umtx_wakeup(volatile const int *ptr, int count); } 634471 STD { int jail_attach(int jid); } 635472 STD { int set_tls_area(int which, struct tls_info *info, size_t infosize); } 636473 STD { int get_tls_area(int which, struct tls_info *info, size_t infosize); } 637474 STD { int closefrom(int fd); } 638475 STD { int stat(const char *path, struct stat *ub); } 639476 STD { int fstat(int fd, struct stat *sb); } 640477 STD { int lstat(const char *path, struct stat *ub); } 641478 STD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 642479 STD { int getdirentries(int fd, char *buf, u_int count, \ 643 long *basep); } 644480 STD { int getdents(int fd, char *buf, size_t count); } 645481 STD { int usched_set(pid_t pid, int cmd, void *data, \ 646 int bytes); } 647482 STD { int extaccept(int s, int flags, caddr_t name, int *anamelen); } 648483 STD { int extconnect(int s, int flags, caddr_t name, int namelen); } 649484 OBSOL syslink 650485 STD { int mcontrol(void *addr, size_t len, int behav, off_t value); } 651486 STD { int vmspace_create(void *id, int type, void *data); } 652487 STD { int vmspace_destroy(void *id); } 653488 STD { int vmspace_ctl(void *id, int cmd, \ 654 struct trapframe *tframe, \ 655 struct vextframe *vframe); } 656489 STD { int vmspace_mmap(void *id, void *addr, size_t len, \ 657 int prot, int flags, int fd, \ 658 off_t offset); } 659490 STD { int vmspace_munmap(void *id, void *addr, \ 660 size_t len); } 661491 STD { int vmspace_mcontrol(void *id, void *addr, \ 662 size_t len, int behav, off_t value); } 663492 STD { ssize_t vmspace_pread(void *id, void *buf, \ 664 size_t nbyte, int flags, off_t offset); } 665493 STD { ssize_t vmspace_pwrite(void *id, const void *buf, \ 666 size_t nbyte, int flags, off_t offset); } 667494 STD { void extexit(int how, int status, void *addr); } 668495 STD { int lwp_create(struct lwp_params *params); } 669496 STD { lwpid_t lwp_gettid(void); } 670497 STD { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } 671498 STD { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } 672499 STD { int pselect(int nd, fd_set *in, fd_set *ou, \ 673 fd_set *ex, const struct timespec *ts, \ 674 const sigset_t *sigmask); } 675500 STD { int statvfs(const char *path, struct statvfs *buf); } 676501 STD { int fstatvfs(int fd, struct statvfs *buf); } 677502 STD { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } 678503 STD { int getvfsstat(struct statfs *buf, \ 679 struct statvfs *vbuf, long vbufsize, int flags); } 680504 STD { int openat(int fd, char *path, int flags, int mode); } 681; XXX should be { int openat(int fd, const char *path, int flags, ...);} 682; but we're not ready for `const' or varargs. 683; XXX man page says `mode_t mode'. 684505 STD { int fstatat(int fd, char *path, \ 685 struct stat *sb, int flags); } 686506 STD { int fchmodat(int fd, char *path, int mode, \ 687 int flags); } 688507 STD { int fchownat(int fd, char *path, int uid, int gid, \ 689 int flags); } 690508 STD { int unlinkat(int fd, char *path, int flags); } 691509 STD { int faccessat(int fd, char *path, int amode, \ 692 int flags); } 693 694; POSIX message queues system calls 695510 STD { mqd_t mq_open(const char * name, int oflag, \ 696 mode_t mode, struct mq_attr *attr); } 697511 STD { int mq_close(mqd_t mqdes); } 698512 STD { int mq_unlink(const char *name); } 699513 STD { int mq_getattr(mqd_t mqdes, \ 700 struct mq_attr *mqstat); } 701514 STD { int mq_setattr(mqd_t mqdes, \ 702 const struct mq_attr *mqstat, \ 703 struct mq_attr *omqstat); } 704515 STD { int mq_notify(mqd_t mqdes, \ 705 const struct sigevent *notification); } 706516 STD { int mq_send(mqd_t mqdes, const char *msg_ptr, \ 707 size_t msg_len, unsigned msg_prio); } 708517 STD { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ 709 size_t msg_len, unsigned *msg_prio); } 710518 STD { int mq_timedsend(mqd_t mqdes, \ 711 const char *msg_ptr, size_t msg_len, \ 712 unsigned msg_prio, \ 713 const struct timespec *abs_timeout); } 714519 STD { ssize_t mq_timedreceive(mqd_t mqdes, \ 715 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 716 const struct timespec *abs_timeout); } 717520 STD { int ioprio_set(int which, int who, int prio); } 718521 STD { int ioprio_get(int which, int who); } 719522 STD { int chroot_kernel(char *path); } 720523 STD { int renameat(int oldfd, char *old, int newfd, \ 721 char *new); } 722524 STD { int mkdirat(int fd, char *path, mode_t mode); } 723525 STD { int mkfifoat(int fd, char *path, mode_t mode); } 724526 STD { int mknodat(int fd, char *path, mode_t mode, \ 725 dev_t dev); } 726527 STD { int readlinkat(int fd, char *path, char *buf, \ 727 size_t bufsize); } 728528 STD { int symlinkat(char *path1, int fd, char *path2); } 729529 STD { int swapoff(char *name); } 730530 STD { int vquotactl(const char *path, \ 731 struct plistref *pref); } 732531 STD { int linkat(int fd1, char *path1, int fd2, \ 733 char *path2, int flags); } 734532 STD { int eaccess(char *path, int flags); } 735533 STD { int lpathconf(char *path, int name); } 736534 STD { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } 737535 STD { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } 738536 STD { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } 739537 STD { int chflagsat(int fd, const char *path, int flags, int atflags);} 740538 STD { int pipe2(int *fildes, int flags); } 741539 STD { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } 742540 STD { int futimens(int fd, const struct timespec *ts); } 743541 STD { int accept4(int s, caddr_t name, int *anamelen, int flags); } 744542 STD { int lwp_setname(lwpid_t tid, const char *name); } 745543 STD { int ppoll(struct pollfd *fds, u_int nfds, \ 746 const struct timespec *ts, const sigset_t *sigmask); } 747544 STD { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } 748545 STD { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } 749546 STD { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } 750547 STD { int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); } 751