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; Reserved/unimplemented system calls in the range 0-150 inclusive 37; are reserved for use in future Berkeley releases. 38; Additional system calls implemented in vendor and other 39; redistributions should be placed in the reserved range at the end 40; of the current calls. 41 420 STD { int nosys(void); } syscall nosys_args int 431 STD { void exit(int rval); } 442 STD { int fork(void); } 453 STD { ssize_t read(int fd, void *buf, size_t nbyte); } 464 STD { ssize_t write(int fd, const void *buf, size_t nbyte); } 475 STD { int open(char *path, int flags, int mode); } 48; XXX should be { int open(const char *path, int flags, ...); } 49; but we're not ready for `const' or varargs. 50; XXX man page says `mode_t mode'. 516 STD { int close(int fd); } 527 STD { int wait4(int pid, int *status, int options, \ 53 struct rusage *rusage); } wait4 wait_args int 548 OBSOL 4.3 creat 559 STD { int link(char *path, char *link); } 5610 STD { int unlink(char *path); } 5711 OBSOL execv 5812 STD { int chdir(char *path); } 5913 STD { int fchdir(int fd); } 6014 STD { int mknod(char *path, int mode, int dev); } 6115 STD { int chmod(char *path, int mode); } 6216 STD { int chown(char *path, int uid, int gid); } 6317 STD { int obreak(char *nsize); } break obreak_args int 6418 STD { int getfsstat(struct statfs *buf, long bufsize, \ 65 int flags); } 6619 COMPAT { long lseek(int fd, long offset, int whence); } 6720 STD { pid_t getpid(void); } 6821 STD { int mount(char *type, char *path, int flags, \ 69 caddr_t data); } 70; XXX `path' should have type `const char *' but we're not ready for that. 7122 STD { int unmount(char *path, int flags); } 7223 STD { int setuid(uid_t uid); } 7324 STD { uid_t getuid(void); } 7425 STD { uid_t geteuid(void); } 7526 STD { int ptrace(int req, pid_t pid, caddr_t addr, \ 76 int data); } 7727 STD { int recvmsg(int s, struct msghdr *msg, int flags); } 7828 STD { int sendmsg(int s, caddr_t msg, int flags); } 7929 STD { int recvfrom(int s, caddr_t buf, size_t len, \ 80 int flags, caddr_t from, int *fromlenaddr); } 8130 STD { int accept(int s, caddr_t name, int *anamelen); } 8231 STD { int getpeername(int fdes, caddr_t asa, int *alen); } 8332 STD { int getsockname(int fdes, caddr_t asa, int *alen); } 8433 STD { int access(char *path, int flags); } 8534 STD { int chflags(char *path, int flags); } 8635 STD { int fchflags(int fd, int flags); } 8736 STD { int sync(void); } 8837 STD { int kill(int pid, int signum); } 8938 COMPAT { int stat(char *path, struct ostat *ub); } 9039 STD { pid_t getppid(void); } 9140 COMPAT { int lstat(char *path, struct ostat *ub); } 9241 STD { int dup(int fd); } 9342 STD { int pipe(void); } 9443 STD { gid_t getegid(void); } 9544 STD { int profil(caddr_t samples, size_t size, \ 96 size_t offset, u_int scale); } 9745 STD { int ktrace(const char *fname, int ops, int facs, \ 98 int pid); } 9946 OBSOL freebsd3_sigaction 10047 STD { gid_t getgid(void); } 10148 OBSOL freebsd3_sigprocmask 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 { int getlogin(char *namebuf, u_int namelen); } 10650 STD { int setlogin(char *namebuf); } 10751 STD { int acct(char *path); } 10852 OBSOL freebsd3_sigpending 10953 STD { int sigaltstack(stack_t *ss, stack_t *oss); } 11054 STD { int ioctl(int fd, u_long com, caddr_t data); } 11155 STD { int reboot(int opt); } 11256 STD { int revoke(char *path); } 11357 STD { int symlink(char *path, char *link); } 11458 STD { int readlink(char *path, char *buf, int count); } 11559 STD { int execve(char *fname, char **argv, char **envv); } 11660 STD { int umask(int newmask); } umask umask_args int 11761 STD { int chroot(char *path); } 11862 COMPAT { int fstat(int fd, struct ostat *sb); } 11963 COMPAT { int getkerninfo(int op, char *where, size_t *size, \ 120 int arg); } getkerninfo getkerninfo_args int 12164 COMPAT { int getpagesize(void); } \ 122 getpagesize getpagesize_args int 12365 STD { int msync(void *addr, size_t len, int flags); } 12466 STD { pid_t vfork(void); } 12567 OBSOL vread 12668 OBSOL vwrite 12769 STD { int sbrk(int incr); } 12870 STD { int sstk(int incr); } 12971 COMPAT { int mmap(void *addr, int len, int prot, \ 130 int flags, int fd, long pos); } 13172 COMPAT { int vadvise(int anom); } vadvise ovadvise_args int 13273 STD { int munmap(void *addr, size_t len); } 13374 STD { int mprotect(void *addr, size_t len, int prot); } 13475 STD { int madvise(void *addr, size_t len, int behav); } 13576 OBSOL vhangup 13677 OBSOL vlimit 13778 STD { int mincore(const void *addr, size_t len, \ 138 char *vec); } 13979 STD { int getgroups(u_int gidsetsize, gid_t *gidset); } 14080 STD { int setgroups(u_int gidsetsize, gid_t *gidset); } 14181 STD { int getpgrp(void); } 14282 STD { int setpgid(int pid, int pgid); } 14383 STD { int setitimer(u_int which, struct itimerval *itv, \ 144 struct itimerval *oitv); } 14584 COMPAT { int wait(void); } 14685 STD { int swapon(char *name); } 14786 STD { int getitimer(u_int which, struct itimerval *itv); } 14887 COMPAT { int gethostname(char *hostname, u_int len); } \ 149 gethostname gethostname_args int 15088 COMPAT { int sethostname(char *hostname, u_int len); } \ 151 sethostname sethostname_args int 15289 STD { int getdtablesize(void); } 15390 STD { int dup2(int from, int to); } 15491 UNIMPL getdopt 15592 STD { 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 { int select(int nd, fd_set *in, fd_set *ou, \ 160 fd_set *ex, struct timeval *tv); } 16194 UNIMPL setdopt 16295 STD { int fsync(int fd); } 16396 STD { int setpriority(int which, int who, int prio); } 16497 STD { int socket(int domain, int type, int protocol); } 16598 STD { int connect(int s, caddr_t name, int namelen); } 16699 CPT_NOA { int accept(int s, caddr_t name, int *anamelen); } \ 167 accept accept_args int 168100 STD { int getpriority(int which, int who); } 169101 COMPAT { int send(int s, caddr_t buf, int len, int flags); } 170102 COMPAT { int recv(int s, caddr_t buf, int len, int flags); } 171103 OBSOL freebsd3_sigreturn 172104 STD { int bind(int s, caddr_t name, int namelen); } 173105 STD { int setsockopt(int s, int level, int name, \ 174 caddr_t val, int valsize); } 175106 STD { int listen(int s, int backlog); } 176107 OBSOL vtimes 177108 OBSOL 4.3 sigvec 178109 OBSOL 4.3 sigblock 179110 OBSOL 4.3 sigsetmask 180111 OBSOL freebsd3_sigsuspend 181; XXX note nonstandard (bogus) calling convention - the libc stub passes 182; us the mask, not a pointer to it. 183112 COMPAT { int sigstack(struct sigstack *nss, \ 184 struct sigstack *oss); } 185113 COMPAT { int recvmsg(int s, struct omsghdr *msg, int flags); } 186114 COMPAT { int sendmsg(int s, caddr_t msg, int flags); } 187115 OBSOL vtrace 188116 STD { int gettimeofday(struct timeval *tp, \ 189 struct timezone *tzp); } 190117 STD { int getrusage(int who, struct rusage *rusage); } 191118 STD { int getsockopt(int s, int level, int name, \ 192 caddr_t val, int *avalsize); } 193119 UNIMPL resuba (BSD/OS 2.x) 194120 STD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 195121 STD { int writev(int fd, struct iovec *iovp, \ 196 u_int iovcnt); } 197122 STD { int settimeofday(struct timeval *tv, \ 198 struct timezone *tzp); } 199123 STD { int fchown(int fd, int uid, int gid); } 200124 STD { int fchmod(int fd, int mode); } 201125 CPT_NOA { int recvfrom(int s, caddr_t buf, size_t len, \ 202 int flags, caddr_t from, int *fromlenaddr); } \ 203 recvfrom recvfrom_args int 204126 STD { int setreuid(int ruid, int euid); } 205127 STD { int setregid(int rgid, int egid); } 206128 STD { int rename(char *from, char *to); } 207129 COMPAT { int truncate(char *path, long length); } 208130 COMPAT { int ftruncate(int fd, long length); } 209131 STD { int flock(int fd, int how); } 210132 STD { int mkfifo(char *path, int mode); } 211133 STD { int sendto(int s, caddr_t buf, size_t len, \ 212 int flags, caddr_t to, int tolen); } 213134 STD { int shutdown(int s, int how); } 214135 STD { int socketpair(int domain, int type, int protocol, \ 215 int *rsv); } 216136 STD { int mkdir(char *path, int mode); } 217137 STD { int rmdir(char *path); } 218138 STD { int utimes(char *path, struct timeval *tptr); } 219139 OBSOL 4.2 sigreturn 220140 STD { int adjtime(struct timeval *delta, \ 221 struct timeval *olddelta); } 222141 COMPAT { int getpeername(int fdes, caddr_t asa, int *alen); } 223142 OBSOL 4.3 gethostid 224143 OBSOL 4.3 sethostid 225144 COMPAT { int getrlimit(u_int which, struct orlimit *rlp); } 226145 COMPAT { int setrlimit(u_int which, struct orlimit *rlp); } 227146 OBSOL 4.3 killpg 228147 STD { int setsid(void); } 229148 STD { int quotactl(char *path, int cmd, int uid, \ 230 caddr_t arg); } 231149 COMPAT { int quota(void); } 232150 CPT_NOA { int getsockname(int fdec, caddr_t asa, int *alen); }\ 233 getsockname getsockname_args int 234 235; Syscalls 151-180 inclusive are reserved for vendor-specific 236; system calls. (This includes various calls added for compatibity 237; with other Unix variants.) 238; Some of these calls are now supported by BSD... 239151 UNIMPL sem_lock (BSD/OS 2.x) 240152 UNIMPL sem_wakeup (BSD/OS 2.x) 241153 UNIMPL asyncdaemon (BSD/OS 2.x) 242154 UNIMPL nosys 243; 155 is initialized by the NFS code, if present. 244155 NOIMPL { int nfssvc(int flag, caddr_t argp); } 245156 COMPAT { int getdirentries(int fd, char *buf, u_int count, \ 246 long *basep); } 247157 STD { int statfs(char *path, struct statfs *buf); } 248158 STD { int fstatfs(int fd, struct statfs *buf); } 249159 UNIMPL nosys 250160 UNIMPL nosys 251; 161 is initialized by the NFS code, if present. 252161 STD { int getfh(char *fname, struct fhandle *fhp); } 253162 STD { int getdomainname(char *domainname, int len); } 254163 STD { int setdomainname(char *domainname, int len); } 255164 STD { int uname(struct utsname *name); } 256165 STD { int sysarch(int op, char *parms); } 257166 STD { int rtprio(int function, pid_t pid, \ 258 struct rtprio *rtp); } 259167 UNIMPL nosys 260168 UNIMPL nosys 261169 OBSOL semsys 262170 OBSOL msgsys 263171 OBSOL shmsys 264172 UNIMPL nosys 265173 STD { ssize_t extpread(int fd, void *buf, \ 266 size_t nbyte, int flags, off_t offset); } 267174 STD { ssize_t extpwrite(int fd, const void *buf, \ 268 size_t nbyte, int flags, off_t offset); } 269175 UNIMPL nosys 270176 STD { int ntp_adjtime(struct timex *tp); } 271177 UNIMPL sfork (BSD/OS 2.x) 272178 UNIMPL getdescriptor (BSD/OS 2.x) 273179 UNIMPL setdescriptor (BSD/OS 2.x) 274180 UNIMPL nosys 275 276; Syscalls 181-199 are used by/reserved for BSD 277181 STD { int setgid(gid_t gid); } 278182 STD { int setegid(gid_t egid); } 279183 STD { int seteuid(uid_t euid); } 280184 UNIMPL lfs_bmapv 281185 UNIMPL lfs_markv 282186 UNIMPL lfs_segclean 283187 UNIMPL lfs_segwait 284188 UNIMPL nosys 285189 UNIMPL nosys 286190 UNIMPL nosys 287191 STD { int pathconf(char *path, int name); } 288192 STD { int fpathconf(int fd, int name); } 289193 UNIMPL nosys 290194 STD { int getrlimit(u_int which, \ 291 struct rlimit *rlp); } \ 292 getrlimit __getrlimit_args int 293195 STD { int setrlimit(u_int which, \ 294 struct rlimit *rlp); } \ 295 setrlimit __setrlimit_args int 296196 UNIMPL nosys 297197 STD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 298 int flags, int fd, int pad, off_t pos); } 299198 STD { int nosys(void); } __syscall __syscall_args int 300199 STD { off_t lseek(int fd, int pad, off_t offset, \ 301 int whence); } 302200 STD { int truncate(char *path, int pad, off_t length); } 303201 STD { int ftruncate(int fd, int pad, off_t length); } 304202 STD { int __sysctl(int *name, u_int namelen, void *old, \ 305 size_t *oldlenp, void *new, size_t newlen); } \ 306 __sysctl sysctl_args int 307203 STD { int mlock(const void *addr, size_t len); } 308204 STD { int munlock(const void *addr, size_t len); } 309205 STD { int undelete(char *path); } 310206 STD { int futimes(int fd, struct timeval *tptr); } 311207 STD { int getpgid(pid_t pid); } 312208 UNIMPL newreboot (NetBSD) 313209 STD { int poll(struct pollfd *fds, u_int nfds, \ 314 int timeout); } 315 316; 317; The following are reserved for loadable syscalls 318; 319; 210 is used by the Checkpoint Module 320210 NODEF lkmnosys lkmnosys nosys_args int 321211 NODEF lkmnosys lkmnosys nosys_args int 322212 NODEF lkmnosys lkmnosys nosys_args int 323213 NODEF lkmnosys lkmnosys nosys_args int 324214 NODEF lkmnosys lkmnosys nosys_args int 325215 NODEF lkmnosys lkmnosys nosys_args int 326216 NODEF lkmnosys lkmnosys nosys_args int 327217 NODEF lkmnosys lkmnosys nosys_args int 328218 NODEF lkmnosys lkmnosys nosys_args int 329219 NODEF lkmnosys lkmnosys nosys_args int 330 331; 332; The following were introduced with NetBSD/4.4Lite-2 333; 334220 STD { int __semctl(int semid, int semnum, int cmd, \ 335 union semun *arg); } 336221 STD { int semget(key_t key, int nsems, int semflg); } 337222 STD { int semop(int semid, struct sembuf *sops, \ 338 u_int nsops); } 339223 UNIMPL semconfig 340224 STD { int msgctl(int msqid, int cmd, \ 341 struct msqid_ds *buf); } 342225 STD { int msgget(key_t key, int msgflg); } 343226 STD { int msgsnd(int msqid, const void *msgp, size_t msgsz, \ 344 int msgflg); } 345227 STD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 346 long msgtyp, int msgflg); } 347228 STD { caddr_t shmat(int shmid, const void *shmaddr, \ 348 int shmflg); } 349229 STD { int shmctl(int shmid, int cmd, \ 350 struct shmid_ds *buf); } 351230 STD { int shmdt(const void *shmaddr); } 352231 STD { int shmget(key_t key, size_t size, int shmflg); } 353; 354232 STD { int clock_gettime(clockid_t clock_id, \ 355 struct timespec *tp); } 356233 STD { int clock_settime(clockid_t clock_id, \ 357 const struct timespec *tp); } 358234 STD { int clock_getres(clockid_t clock_id, \ 359 struct timespec *tp); } 360235 UNIMPL timer_create 361236 UNIMPL timer_delete 362237 UNIMPL timer_settime 363238 UNIMPL timer_gettime 364239 UNIMPL timer_getoverrun 365240 STD { int nanosleep(const struct timespec *rqtp, \ 366 struct timespec *rmtp); } 367241 UNIMPL nosys 368242 UNIMPL nosys 369243 UNIMPL nosys 370244 UNIMPL nosys 371245 UNIMPL nosys 372246 UNIMPL nosys 373247 UNIMPL nosys 374248 UNIMPL nosys 375249 UNIMPL nosys 376; syscall numbers initially used in OpenBSD 377250 STD { int minherit(void *addr, size_t len, int inherit); } 378251 STD { int rfork(int flags); } 379252 STD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 380 int timeout); } 381253 STD { int issetugid(void); } 382254 STD { int lchown(char *path, int uid, int gid); } 383255 UNIMPL nosys 384256 UNIMPL nosys 385257 UNIMPL nosys 386258 UNIMPL nosys 387259 UNIMPL nosys 388260 UNIMPL nosys 389261 UNIMPL nosys 390262 UNIMPL nosys 391263 UNIMPL nosys 392264 UNIMPL nosys 393265 UNIMPL nosys 394266 UNIMPL nosys 395267 UNIMPL nosys 396268 UNIMPL nosys 397269 UNIMPL nosys 398270 UNIMPL nosys 399271 UNIMPL nosys 400272 UNIMPL nosys 401273 UNIMPL nosys 402274 STD { int lchmod(char *path, mode_t mode); } 403275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 404276 STD { int lutimes(char *path, struct timeval *tptr); } 405277 NOPROTO { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 406278 OBSOL nstat 407279 OBSOL nfstat 408280 OBSOL nlstat 409281 UNIMPL nosys 410282 UNIMPL nosys 411283 UNIMPL nosys 412284 UNIMPL nosys 413285 UNIMPL nosys 414286 UNIMPL nosys 415287 UNIMPL nosys 416288 UNIMPL nosys 417; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 418289 STD { ssize_t extpreadv(int fd, struct iovec *iovp, \ 419 u_int iovcnt, int flags, off_t offset); } 420290 STD { ssize_t extpwritev(int fd, struct iovec *iovp,\ 421 u_int iovcnt, int flags, off_t offset); } 422291 UNIMPL nosys 423292 UNIMPL nosys 424293 UNIMPL nosys 425294 UNIMPL nosys 426295 UNIMPL nosys 427296 UNIMPL nosys 428; XXX 297 is 300 in NetBSD 429297 STD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 430298 STD { int fhopen(const struct fhandle *u_fhp, int flags); } 431299 UNIMPL nosys 432; syscall numbers for FreeBSD 433300 STD { int modnext(int modid); } 434301 STD { int modstat(int modid, struct module_stat* stat); } 435302 STD { int modfnext(int modid); } 436303 STD { int modfind(const char *name); } 437304 STD { int kldload(const char *file); } 438305 STD { int kldunload(int fileid); } 439306 STD { int kldfind(const char *file); } 440307 STD { int kldnext(int fileid); } 441308 STD { int kldstat(int fileid, struct kld_file_stat* stat); } 442309 STD { int kldfirstmod(int fileid); } 443310 STD { int getsid(pid_t pid); } 444311 STD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 445312 STD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 446313 OBSOL signanosleep 447314 STD { int aio_return(struct aiocb *aiocbp); } 448315 STD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } 449316 STD { int aio_cancel(int fd, struct aiocb *aiocbp); } 450317 STD { int aio_error(struct aiocb *aiocbp); } 451318 STD { int aio_read(struct aiocb *aiocbp); } 452319 STD { int aio_write(struct aiocb *aiocbp); } 453320 STD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } 454321 STD { int yield(void); } 455322 UNIMPL thr_sleep 456323 UNIMPL thr_wakeup 457324 STD { int mlockall(int how); } 458325 STD { int munlockall(void); } 459326 STD { int __getcwd(u_char *buf, u_int buflen); } 460 461327 STD { int sched_setparam (pid_t pid, const struct sched_param *param); } 462328 STD { int sched_getparam (pid_t pid, struct sched_param *param); } 463 464329 STD { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 465330 STD { int sched_getscheduler (pid_t pid); } 466 467331 STD { int sched_yield (void); } 468332 STD { int sched_get_priority_max (int policy); } 469333 STD { int sched_get_priority_min (int policy); } 470334 STD { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 471335 STD { int utrace(const void *addr, size_t len); } 472336 OBSOL freebsd4_sendfile 473337 STD { int kldsym(int fileid, int cmd, void *data); } 474338 STD { int jail(struct jail *jail); } 475339 UNIMPL pioctl 476340 STD { int sigprocmask(int how, const sigset_t *set, \ 477 sigset_t *oset); } 478341 STD { int sigsuspend(const sigset_t *sigmask); } 479342 STD { int sigaction(int sig, const struct sigaction *act, \ 480 struct sigaction *oact); } 481343 STD { int sigpending(sigset_t *set); } 482344 STD { int sigreturn(ucontext_t *sigcntxp); } 483345 STD { int sigtimedwait(const sigset_t *set,\ 484 siginfo_t *info, const struct timespec *timeout); } 485346 STD { int sigwaitinfo(const sigset_t *set,\ 486 siginfo_t *info); } 487347 STD { int __acl_get_file(const char *path, \ 488 acl_type_t type, struct acl *aclp); } 489348 STD { int __acl_set_file(const char *path, \ 490 acl_type_t type, struct acl *aclp); } 491349 STD { int __acl_get_fd(int filedes, acl_type_t type, \ 492 struct acl *aclp); } 493350 STD { int __acl_set_fd(int filedes, acl_type_t type, \ 494 struct acl *aclp); } 495351 STD { int __acl_delete_file(const char *path, \ 496 acl_type_t type); } 497352 STD { int __acl_delete_fd(int filedes, acl_type_t type); } 498353 STD { int __acl_aclcheck_file(const char *path, \ 499 acl_type_t type, struct acl *aclp); } 500354 STD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 501 struct acl *aclp); } 502355 STD { int extattrctl(const char *path, int cmd, \ 503 const char *filename, int attrnamespace, \ 504 const char *attrname); } 505356 STD { int extattr_set_file(const char *path, \ 506 int attrnamespace, const char *attrname, \ 507 void *data, size_t nbytes); } 508357 STD { int extattr_get_file(const char *path, \ 509 int attrnamespace, const char *attrname, \ 510 void *data, size_t nbytes); } 511358 STD { int extattr_delete_file(const char *path, \ 512 int attrnamespace, const char *attrname); } 513359 STD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } 514360 STD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 515361 STD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 516362 STD { int kqueue(void); } 517363 STD { int kevent(int fd, \ 518 const struct kevent *changelist, int nchanges, \ 519 struct kevent *eventlist, int nevents, \ 520 const struct timespec *timeout); } 521364 UNIMPL sctp_peeloff 522; 365-392 used by FreeBSD-current 523365 UNIMPL nosys 524366 UNIMPL nosys 525367 UNIMPL nosys 526368 UNIMPL nosys 527369 UNIMPL nosys 528370 UNIMPL nosys 529371 UNIMPL nosys 530372 UNIMPL nosys 531373 UNIMPL nosys 532374 UNIMPL nosys 533375 UNIMPL nosys 534376 UNIMPL nosys 535377 UNIMPL nosys 536378 UNIMPL nosys 537379 UNIMPL nosys 538380 UNIMPL nosys 539381 UNIMPL nosys 540382 UNIMPL nosys 541383 UNIMPL nosys 542384 UNIMPL nosys 543385 UNIMPL nosys 544386 UNIMPL nosys 545387 UNIMPL nosys 546388 UNIMPL nosys 547389 UNIMPL nosys 548390 STD { int kenv(int what, const char *name, char *value, int len); } 549391 STD { int lchflags(char *path, int flags); } 550392 STD { int uuidgen(struct uuid *store, int count); } 551393 STD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 552 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 553; 394-439 used by FreeBSD-current 554394 UNIMPL nosys 555395 UNIMPL nosys 556396 UNIMPL nosys 557397 UNIMPL nosys 558398 UNIMPL nosys 559399 UNIMPL nosys 560400 UNIMPL nosys 561401 UNIMPL nosys 562402 UNIMPL nosys 563403 UNIMPL nosys 564404 UNIMPL nosys 565405 UNIMPL nosys 566406 UNIMPL nosys 567407 UNIMPL nosys 568408 UNIMPL nosys 569409 UNIMPL nosys 570410 UNIMPL nosys 571411 UNIMPL nosys 572412 UNIMPL nosys 573413 UNIMPL nosys 574414 UNIMPL nosys 575415 UNIMPL nosys 576416 UNIMPL nosys 577417 UNIMPL nosys 578418 UNIMPL nosys 579419 UNIMPL nosys 580420 UNIMPL nosys 581421 UNIMPL nosys 582422 UNIMPL nosys 583423 UNIMPL nosys 584424 UNIMPL nosys 585425 UNIMPL nosys 586426 UNIMPL nosys 587427 UNIMPL nosys 588428 UNIMPL nosys 589429 UNIMPL nosys 590430 UNIMPL nosys 591431 UNIMPL nosys 592432 UNIMPL nosys 593433 UNIMPL nosys 594434 UNIMPL nosys 595435 UNIMPL nosys 596436 UNIMPL nosys 597437 UNIMPL nosys 598438 UNIMPL nosys 599439 UNIMPL nosys 600; 440-449 reserved for FreeBSD-5.x growth 601440 UNIMPL nosys 602441 UNIMPL nosys 603442 UNIMPL nosys 604443 UNIMPL nosys 605444 UNIMPL nosys 606445 UNIMPL nosys 607446 UNIMPL nosys 608447 UNIMPL nosys 609448 UNIMPL nosys 610449 UNIMPL nosys 611; 450 DragonFly system calls 612450 STD { int varsym_set(int level, const char *name, const char *data); } 613451 STD { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } 614452 STD { int varsym_list(int level, char *buf, int maxsize, int *marker); } 615453 OBSOL upc_register 616454 OBSOL upc_control 617455 OBSOL caps_sys_service 618456 OBSOL caps_sys_client 619457 OBSOL caps_sys_close 620458 OBSOL caps_sys_put 621459 OBSOL caps_sys_reply 622460 OBSOL caps_sys_get 623461 OBSOL caps_sys_wait 624462 OBSOL caps_sys_abort 625463 OBSOL caps_sys_getgen 626464 OBSOL caps_sys_setgen 627465 STD { int exec_sys_register(void *entry); } 628466 STD { int exec_sys_unregister(int id); } 629467 STD { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } 630468 STD { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } 631469 STD { int umtx_sleep(volatile const int *ptr, int value, int timeout); } 632470 STD { int umtx_wakeup(volatile const int *ptr, int count); } 633471 STD { int jail_attach(int jid); } 634472 STD { int set_tls_area(int which, struct tls_info *info, size_t infosize); } 635473 STD { int get_tls_area(int which, struct tls_info *info, size_t infosize); } 636474 STD { int closefrom(int fd); } 637475 STD { int stat(const char *path, struct stat *ub); } 638476 STD { int fstat(int fd, struct stat *sb); } 639477 STD { int lstat(const char *path, struct stat *ub); } 640478 STD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 641479 STD { int getdirentries(int fd, char *buf, u_int count, \ 642 long *basep); } 643480 STD { int getdents(int fd, char *buf, size_t count); } 644481 STD { int usched_set(pid_t pid, int cmd, void *data, \ 645 int bytes); } 646482 STD { int extaccept(int s, int flags, caddr_t name, int *anamelen); } 647483 STD { int extconnect(int s, int flags, caddr_t name, int namelen); } 648484 OBSOL syslink 649485 STD { int mcontrol(void *addr, size_t len, int behav, off_t value); } 650486 STD { int vmspace_create(void *id, int type, void *data); } 651487 STD { int vmspace_destroy(void *id); } 652488 STD { int vmspace_ctl(void *id, int cmd, \ 653 struct trapframe *tframe, \ 654 struct vextframe *vframe); } 655489 STD { int vmspace_mmap(void *id, void *addr, size_t len, \ 656 int prot, int flags, int fd, \ 657 off_t offset); } 658490 STD { int vmspace_munmap(void *id, void *addr, \ 659 size_t len); } 660491 STD { int vmspace_mcontrol(void *id, void *addr, \ 661 size_t len, int behav, off_t value); } 662492 STD { ssize_t vmspace_pread(void *id, void *buf, \ 663 size_t nbyte, int flags, off_t offset); } 664493 STD { ssize_t vmspace_pwrite(void *id, const void *buf, \ 665 size_t nbyte, int flags, off_t offset); } 666494 STD { void extexit(int how, int status, void *addr); } 667495 STD { int lwp_create(struct lwp_params *params); } 668496 STD { lwpid_t lwp_gettid(void); } 669497 STD { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } 670498 STD { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } 671499 STD { int pselect(int nd, fd_set *in, fd_set *ou, \ 672 fd_set *ex, const struct timespec *ts, \ 673 const sigset_t *sigmask); } 674500 STD { int statvfs(const char *path, struct statvfs *buf); } 675501 STD { int fstatvfs(int fd, struct statvfs *buf); } 676502 STD { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } 677503 STD { int getvfsstat(struct statfs *buf, \ 678 struct statvfs *vbuf, long vbufsize, int flags); } 679504 STD { int openat(int fd, char *path, int flags, int mode); } 680; XXX should be { int openat(int fd, const char *path, int flags, ...);} 681; but we're not ready for `const' or varargs. 682; XXX man page says `mode_t mode'. 683505 STD { int fstatat(int fd, char *path, \ 684 struct stat *sb, int flags); } 685506 STD { int fchmodat(int fd, char *path, int mode, \ 686 int flags); } 687507 STD { int fchownat(int fd, char *path, int uid, int gid, \ 688 int flags); } 689508 STD { int unlinkat(int fd, char *path, int flags); } 690509 STD { int faccessat(int fd, char *path, int amode, \ 691 int flags); } 692 693; POSIX message queues system calls 694510 STD { mqd_t mq_open(const char * name, int oflag, \ 695 mode_t mode, struct mq_attr *attr); } 696511 STD { int mq_close(mqd_t mqdes); } 697512 STD { int mq_unlink(const char *name); } 698513 STD { int mq_getattr(mqd_t mqdes, \ 699 struct mq_attr *mqstat); } 700514 STD { int mq_setattr(mqd_t mqdes, \ 701 const struct mq_attr *mqstat, \ 702 struct mq_attr *omqstat); } 703515 STD { int mq_notify(mqd_t mqdes, \ 704 const struct sigevent *notification); } 705516 STD { int mq_send(mqd_t mqdes, const char *msg_ptr, \ 706 size_t msg_len, unsigned msg_prio); } 707517 STD { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ 708 size_t msg_len, unsigned *msg_prio); } 709518 STD { int mq_timedsend(mqd_t mqdes, \ 710 const char *msg_ptr, size_t msg_len, \ 711 unsigned msg_prio, \ 712 const struct timespec *abs_timeout); } 713519 STD { ssize_t mq_timedreceive(mqd_t mqdes, \ 714 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 715 const struct timespec *abs_timeout); } 716520 STD { int ioprio_set(int which, int who, int prio); } 717521 STD { int ioprio_get(int which, int who); } 718522 STD { int chroot_kernel(char *path); } 719523 STD { int renameat(int oldfd, char *old, int newfd, \ 720 char *new); } 721524 STD { int mkdirat(int fd, char *path, mode_t mode); } 722525 STD { int mkfifoat(int fd, char *path, mode_t mode); } 723526 STD { int mknodat(int fd, char *path, mode_t mode, \ 724 dev_t dev); } 725527 STD { int readlinkat(int fd, char *path, char *buf, \ 726 size_t bufsize); } 727528 STD { int symlinkat(char *path1, int fd, char *path2); } 728529 STD { int swapoff(char *name); } 729530 STD { int vquotactl(const char *path, \ 730 struct plistref *pref); } 731531 STD { int linkat(int fd1, char *path1, int fd2, \ 732 char *path2, int flags); } 733532 STD { int eaccess(char *path, int flags); } 734533 STD { int lpathconf(char *path, int name); } 735534 STD { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } 736535 STD { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } 737536 STD { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } 738537 STD { int chflagsat(int fd, const char *path, int flags, int atflags);} 739538 STD { int pipe2(int *fildes, int flags); } 740539 STD { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } 741540 STD { int futimens(int fd, const struct timespec *ts); } 742541 STD { int accept4(int s, caddr_t name, int *anamelen, int flags); } 743542 STD { int lwp_setname(lwpid_t tid, const char *name); } 744543 STD { int ppoll(struct pollfd *fds, u_int nfds, \ 745 const struct timespec *ts, const sigset_t *sigmask); } 746