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 OBSOL old lseek 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 OBSOL old stat 9139 STD { pid_t getppid(void); } 9240 OBSOL old lstat 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 10349 STD { int getlogin(char *namebuf, u_int namelen); } 10450 STD { int setlogin(char *namebuf); } 10551 STD { int acct(char *path); } 10652 OBSOL freebsd3_sigpending 10753 STD { int sigaltstack(stack_t *ss, stack_t *oss); } 10854 STD { int ioctl(int fd, u_long com, caddr_t data); } 10955 STD { int reboot(int opt); } 11056 STD { int revoke(char *path); } 11157 STD { int symlink(char *path, char *link); } 11258 STD { int readlink(char *path, char *buf, int count); } 11359 STD { int execve(char *fname, char **argv, char **envv); } 11460 STD { int umask(int newmask); } umask umask_args int 11561 STD { int chroot(char *path); } 11662 OBSOL old fstat 11763 OBSOL getkerninfo 11864 OBSOL getpagesize 11965 STD { int msync(void *addr, size_t len, int flags); } 12066 STD { pid_t vfork(void); } 12167 OBSOL vread 12268 OBSOL vwrite 12369 STD { int sbrk(int incr); } 12470 STD { int sstk(int incr); } 12571 OBSOL old mmap 12672 OBSOL vadvise 12773 STD { int munmap(void *addr, size_t len); } 12874 STD { int mprotect(void *addr, size_t len, int prot); } 12975 STD { int madvise(void *addr, size_t len, int behav); } 13076 OBSOL vhangup 13177 OBSOL vlimit 13278 STD { int mincore(const void *addr, size_t len, \ 133 char *vec); } 13479 STD { int getgroups(u_int gidsetsize, gid_t *gidset); } 13580 STD { int setgroups(u_int gidsetsize, gid_t *gidset); } 13681 STD { int getpgrp(void); } 13782 STD { int setpgid(int pid, int pgid); } 13883 STD { int setitimer(u_int which, struct itimerval *itv, \ 139 struct itimerval *oitv); } 14084 OBSOL wait 14185 STD { int swapon(char *name); } 14286 STD { int getitimer(u_int which, struct itimerval *itv); } 14387 OBSOL gethostname 14488 OBSOL sethostname 14589 STD { int getdtablesize(void); } 14690 STD { int dup2(int from, int to); } 14791 UNIMPL getdopt 14892 STD { int fcntl(int fd, int cmd, long arg); } 149; XXX should be { int fcntl(int fd, int cmd, ...); } 150; but we're not ready for varargs. 151; XXX man page says `int arg' too. 15293 STD { int select(int nd, fd_set *in, fd_set *ou, \ 153 fd_set *ex, struct timeval *tv); } 15494 UNIMPL setdopt 15595 STD { int fsync(int fd); } 15696 STD { int setpriority(int which, int who, int prio); } 15797 STD { int socket(int domain, int type, int protocol); } 15898 STD { int connect(int s, caddr_t name, int namelen); } 15999 OBSOL old accept 160100 STD { int getpriority(int which, int who); } 161101 OBSOL send 162102 OBSOL recv 163103 OBSOL freebsd3_sigreturn 164104 STD { int bind(int s, caddr_t name, int namelen); } 165105 STD { int setsockopt(int s, int level, int name, \ 166 caddr_t val, int valsize); } 167106 STD { int listen(int s, int backlog); } 168107 OBSOL vtimes 169108 OBSOL 4.3 sigvec 170109 OBSOL 4.3 sigblock 171110 OBSOL 4.3 sigsetmask 172111 OBSOL freebsd3_sigsuspend 173112 OBSOL sigstack 174113 OBSOL old recvmsg 175114 OBSOL old sendmsg 176115 OBSOL vtrace 177116 STD { int gettimeofday(struct timeval *tp, \ 178 struct timezone *tzp); } 179117 STD { int getrusage(int who, struct rusage *rusage); } 180118 STD { int getsockopt(int s, int level, int name, \ 181 caddr_t val, int *avalsize); } 182119 UNIMPL resuba (BSD/OS 2.x) 183120 STD { int readv(int fd, struct iovec *iovp, u_int iovcnt); } 184121 STD { int writev(int fd, struct iovec *iovp, \ 185 u_int iovcnt); } 186122 STD { int settimeofday(struct timeval *tv, \ 187 struct timezone *tzp); } 188123 STD { int fchown(int fd, int uid, int gid); } 189124 STD { int fchmod(int fd, int mode); } 190125 OBSOL old recvfrom 191126 STD { int setreuid(int ruid, int euid); } 192127 STD { int setregid(int rgid, int egid); } 193128 STD { int rename(char *from, char *to); } 194129 OBSOL old truncate 195130 OBSOL old ftruncate 196131 STD { int flock(int fd, int how); } 197132 STD { int mkfifo(char *path, int mode); } 198133 STD { int sendto(int s, caddr_t buf, size_t len, \ 199 int flags, caddr_t to, int tolen); } 200134 STD { int shutdown(int s, int how); } 201135 STD { int socketpair(int domain, int type, int protocol, \ 202 int *rsv); } 203136 STD { int mkdir(char *path, int mode); } 204137 STD { int rmdir(char *path); } 205138 STD { int utimes(char *path, struct timeval *tptr); } 206139 OBSOL 4.2 sigreturn 207140 STD { int adjtime(struct timeval *delta, \ 208 struct timeval *olddelta); } 209141 OBSOL old getpeername 210142 OBSOL 4.3 gethostid 211143 OBSOL 4.3 sethostid 212144 OBSOL old getrlimit 213145 OBSOL old setrlimit 214146 OBSOL 4.3 killpg 215147 STD { int setsid(void); } 216148 STD { int quotactl(char *path, int cmd, int uid, \ 217 caddr_t arg); } 218149 OBSOL quota 219150 OBSOL old getsockname 220 221; Syscalls 151-180 inclusive are reserved for vendor-specific 222; system calls. (This includes various calls added for compatibity 223; with other Unix variants.) 224; Some of these calls are now supported by BSD... 225151 UNIMPL sem_lock (BSD/OS 2.x) 226152 UNIMPL sem_wakeup (BSD/OS 2.x) 227153 UNIMPL asyncdaemon (BSD/OS 2.x) 228154 UNIMPL nosys 229; 155 is initialized by the NFS code, if present. 230155 NOIMPL { int nfssvc(int flag, caddr_t argp); } 231156 OBSOL old getdirentries 232157 STD { int statfs(char *path, struct statfs *buf); } 233158 STD { int fstatfs(int fd, struct statfs *buf); } 234159 UNIMPL nosys 235160 UNIMPL nosys 236; 161 is initialized by the NFS code, if present. 237161 STD { int getfh(char *fname, struct fhandle *fhp); } 238162 STD { int getdomainname(char *domainname, int len); } 239163 STD { int setdomainname(char *domainname, int len); } 240164 STD { int uname(struct utsname *name); } 241165 STD { int sysarch(int op, char *parms); } 242166 STD { int rtprio(int function, pid_t pid, \ 243 struct rtprio *rtp); } 244167 UNIMPL nosys 245168 UNIMPL nosys 246169 OBSOL semsys 247170 OBSOL msgsys 248171 OBSOL shmsys 249172 UNIMPL nosys 250173 STD { ssize_t extpread(int fd, void *buf, \ 251 size_t nbyte, int flags, off_t offset); } 252174 STD { ssize_t extpwrite(int fd, const void *buf, \ 253 size_t nbyte, int flags, off_t offset); } 254175 UNIMPL nosys 255176 STD { int ntp_adjtime(struct timex *tp); } 256177 UNIMPL sfork (BSD/OS 2.x) 257178 UNIMPL getdescriptor (BSD/OS 2.x) 258179 UNIMPL setdescriptor (BSD/OS 2.x) 259180 UNIMPL nosys 260 261; Syscalls 181-199 are used by/reserved for BSD 262181 STD { int setgid(gid_t gid); } 263182 STD { int setegid(gid_t egid); } 264183 STD { int seteuid(uid_t euid); } 265184 UNIMPL lfs_bmapv 266185 UNIMPL lfs_markv 267186 UNIMPL lfs_segclean 268187 UNIMPL lfs_segwait 269188 UNIMPL nosys 270189 UNIMPL nosys 271190 UNIMPL nosys 272191 STD { int pathconf(char *path, int name); } 273192 STD { int fpathconf(int fd, int name); } 274193 UNIMPL nosys 275194 STD { int getrlimit(u_int which, \ 276 struct rlimit *rlp); } \ 277 getrlimit __getrlimit_args int 278195 STD { int setrlimit(u_int which, \ 279 struct rlimit *rlp); } \ 280 setrlimit __setrlimit_args int 281196 UNIMPL nosys 282197 STD { caddr_t mmap(caddr_t addr, size_t len, int prot, \ 283 int flags, int fd, int pad, off_t pos); } 284198 STD { int nosys(void); } __syscall __syscall_args int 285199 STD { off_t lseek(int fd, int pad, off_t offset, \ 286 int whence); } 287200 STD { int truncate(char *path, int pad, off_t length); } 288201 STD { int ftruncate(int fd, int pad, off_t length); } 289202 STD { int __sysctl(int *name, u_int namelen, void *old, \ 290 size_t *oldlenp, void *new, size_t newlen); } \ 291 __sysctl sysctl_args int 292203 STD { int mlock(const void *addr, size_t len); } 293204 STD { int munlock(const void *addr, size_t len); } 294205 STD { int undelete(char *path); } 295206 STD { int futimes(int fd, struct timeval *tptr); } 296207 STD { int getpgid(pid_t pid); } 297208 UNIMPL newreboot (NetBSD) 298209 STD { int poll(struct pollfd *fds, u_int nfds, \ 299 int timeout); } 300 301; 302; The following are reserved for loadable syscalls 303; 304; 210 is used by the Checkpoint Module 305210 NODEF lkmnosys lkmnosys nosys_args int 306211 NODEF lkmnosys lkmnosys nosys_args int 307212 NODEF lkmnosys lkmnosys nosys_args int 308213 NODEF lkmnosys lkmnosys nosys_args int 309214 NODEF lkmnosys lkmnosys nosys_args int 310215 NODEF lkmnosys lkmnosys nosys_args int 311216 NODEF lkmnosys lkmnosys nosys_args int 312217 NODEF lkmnosys lkmnosys nosys_args int 313218 NODEF lkmnosys lkmnosys nosys_args int 314219 NODEF lkmnosys lkmnosys nosys_args int 315 316; 317; The following were introduced with NetBSD/4.4Lite-2 318; 319220 STD { int __semctl(int semid, int semnum, int cmd, \ 320 union semun *arg); } 321221 STD { int semget(key_t key, int nsems, int semflg); } 322222 STD { int semop(int semid, struct sembuf *sops, \ 323 u_int nsops); } 324223 UNIMPL semconfig 325224 STD { int msgctl(int msqid, int cmd, \ 326 struct msqid_ds *buf); } 327225 STD { int msgget(key_t key, int msgflg); } 328226 STD { int msgsnd(int msqid, const void *msgp, size_t msgsz, \ 329 int msgflg); } 330227 STD { int msgrcv(int msqid, void *msgp, size_t msgsz, \ 331 long msgtyp, int msgflg); } 332228 STD { caddr_t shmat(int shmid, const void *shmaddr, \ 333 int shmflg); } 334229 STD { int shmctl(int shmid, int cmd, \ 335 struct shmid_ds *buf); } 336230 STD { int shmdt(const void *shmaddr); } 337231 STD { int shmget(key_t key, size_t size, int shmflg); } 338; 339232 STD { int clock_gettime(clockid_t clock_id, \ 340 struct timespec *tp); } 341233 STD { int clock_settime(clockid_t clock_id, \ 342 const struct timespec *tp); } 343234 STD { int clock_getres(clockid_t clock_id, \ 344 struct timespec *tp); } 345235 UNIMPL timer_create 346236 UNIMPL timer_delete 347237 UNIMPL timer_settime 348238 UNIMPL timer_gettime 349239 UNIMPL timer_getoverrun 350240 STD { int nanosleep(const struct timespec *rqtp, \ 351 struct timespec *rmtp); } 352241 UNIMPL nosys 353242 UNIMPL nosys 354243 UNIMPL nosys 355244 UNIMPL nosys 356245 UNIMPL nosys 357246 UNIMPL nosys 358247 UNIMPL nosys 359248 UNIMPL nosys 360249 UNIMPL nosys 361; syscall numbers initially used in OpenBSD 362250 STD { int minherit(void *addr, size_t len, int inherit); } 363251 STD { int rfork(int flags); } 364252 STD { int openbsd_poll(struct pollfd *fds, u_int nfds, \ 365 int timeout); } 366253 STD { int issetugid(void); } 367254 STD { int lchown(char *path, int uid, int gid); } 368255 UNIMPL nosys 369256 UNIMPL nosys 370257 UNIMPL nosys 371258 UNIMPL nosys 372259 UNIMPL nosys 373260 UNIMPL nosys 374261 UNIMPL nosys 375262 UNIMPL nosys 376263 UNIMPL nosys 377264 UNIMPL nosys 378265 UNIMPL nosys 379266 UNIMPL nosys 380267 UNIMPL nosys 381268 UNIMPL nosys 382269 UNIMPL nosys 383270 UNIMPL nosys 384271 UNIMPL nosys 385272 UNIMPL nosys 386273 UNIMPL nosys 387274 STD { int lchmod(char *path, mode_t mode); } 388275 NOPROTO { int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int 389276 STD { int lutimes(char *path, struct timeval *tptr); } 390277 NOPROTO { int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int 391278 OBSOL nstat 392279 OBSOL nfstat 393280 OBSOL nlstat 394281 UNIMPL nosys 395282 UNIMPL nosys 396283 UNIMPL nosys 397284 UNIMPL nosys 398285 UNIMPL nosys 399286 UNIMPL nosys 400287 UNIMPL nosys 401288 UNIMPL nosys 402; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 403289 STD { ssize_t extpreadv(int fd, const struct iovec *iovp, \ 404 int iovcnt, int flags, off_t offset); } 405290 STD { ssize_t extpwritev(int fd, const struct iovec *iovp, \ 406 int iovcnt, int flags, off_t offset); } 407291 UNIMPL nosys 408292 UNIMPL nosys 409293 UNIMPL nosys 410294 UNIMPL nosys 411295 UNIMPL nosys 412296 UNIMPL nosys 413; XXX 297 is 300 in NetBSD 414297 STD { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } 415298 STD { int fhopen(const struct fhandle *u_fhp, int flags); } 416299 UNIMPL nosys 417; syscall numbers for FreeBSD 418300 STD { int modnext(int modid); } 419301 STD { int modstat(int modid, struct module_stat* stat); } 420302 STD { int modfnext(int modid); } 421303 STD { int modfind(const char *name); } 422304 STD { int kldload(const char *file); } 423305 STD { int kldunload(int fileid); } 424306 STD { int kldfind(const char *file); } 425307 STD { int kldnext(int fileid); } 426308 STD { int kldstat(int fileid, struct kld_file_stat* stat); } 427309 STD { int kldfirstmod(int fileid); } 428310 STD { int getsid(pid_t pid); } 429311 STD { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } 430312 STD { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } 431313 OBSOL signanosleep 432314 STD { int aio_return(struct aiocb *aiocbp); } 433315 STD { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } 434316 STD { int aio_cancel(int fd, struct aiocb *aiocbp); } 435317 STD { int aio_error(struct aiocb *aiocbp); } 436318 STD { int aio_read(struct aiocb *aiocbp); } 437319 STD { int aio_write(struct aiocb *aiocbp); } 438320 STD { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } 439321 STD { int yield(void); } 440322 UNIMPL thr_sleep 441323 UNIMPL thr_wakeup 442324 STD { int mlockall(int how); } 443325 STD { int munlockall(void); } 444326 STD { int __getcwd(u_char *buf, u_int buflen); } 445 446327 STD { int sched_setparam (pid_t pid, const struct sched_param *param); } 447328 STD { int sched_getparam (pid_t pid, struct sched_param *param); } 448 449329 STD { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } 450330 STD { int sched_getscheduler (pid_t pid); } 451 452331 STD { int sched_yield (void); } 453332 STD { int sched_get_priority_max (int policy); } 454333 STD { int sched_get_priority_min (int policy); } 455334 STD { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } 456335 STD { int utrace(const void *addr, size_t len); } 457336 OBSOL freebsd4_sendfile 458337 STD { int kldsym(int fileid, int cmd, void *data); } 459338 STD { int jail(struct jail *jail); } 460339 UNIMPL pioctl 461340 STD { int sigprocmask(int how, const sigset_t *set, \ 462 sigset_t *oset); } 463341 STD { int sigsuspend(const sigset_t *sigmask); } 464342 STD { int sigaction(int sig, const struct sigaction *act, \ 465 struct sigaction *oact); } 466343 STD { int sigpending(sigset_t *set); } 467344 STD { int sigreturn(ucontext_t *sigcntxp); } 468345 STD { int sigtimedwait(const sigset_t *set,\ 469 siginfo_t *info, const struct timespec *timeout); } 470346 STD { int sigwaitinfo(const sigset_t *set,\ 471 siginfo_t *info); } 472347 STD { int __acl_get_file(const char *path, \ 473 acl_type_t type, struct acl *aclp); } 474348 STD { int __acl_set_file(const char *path, \ 475 acl_type_t type, struct acl *aclp); } 476349 STD { int __acl_get_fd(int filedes, acl_type_t type, \ 477 struct acl *aclp); } 478350 STD { int __acl_set_fd(int filedes, acl_type_t type, \ 479 struct acl *aclp); } 480351 STD { int __acl_delete_file(const char *path, \ 481 acl_type_t type); } 482352 STD { int __acl_delete_fd(int filedes, acl_type_t type); } 483353 STD { int __acl_aclcheck_file(const char *path, \ 484 acl_type_t type, struct acl *aclp); } 485354 STD { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ 486 struct acl *aclp); } 487355 STD { int extattrctl(const char *path, int cmd, \ 488 const char *filename, int attrnamespace, \ 489 const char *attrname); } 490356 STD { int extattr_set_file(const char *path, \ 491 int attrnamespace, const char *attrname, \ 492 void *data, size_t nbytes); } 493357 STD { int extattr_get_file(const char *path, \ 494 int attrnamespace, const char *attrname, \ 495 void *data, size_t nbytes); } 496358 STD { int extattr_delete_file(const char *path, \ 497 int attrnamespace, const char *attrname); } 498359 STD { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } 499360 STD { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } 500361 STD { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } 501362 STD { int kqueue(void); } 502363 STD { int kevent(int fd, \ 503 const struct kevent *changelist, int nchanges, \ 504 struct kevent *eventlist, int nevents, \ 505 const struct timespec *timeout); } 506364 UNIMPL sctp_peeloff 507; 365-392 used by FreeBSD-current 508365 UNIMPL nosys 509366 UNIMPL nosys 510367 UNIMPL nosys 511368 UNIMPL nosys 512369 UNIMPL nosys 513370 UNIMPL nosys 514371 UNIMPL nosys 515372 UNIMPL nosys 516373 UNIMPL nosys 517374 UNIMPL nosys 518375 UNIMPL nosys 519376 UNIMPL nosys 520377 UNIMPL nosys 521378 UNIMPL nosys 522379 UNIMPL nosys 523380 UNIMPL nosys 524381 UNIMPL nosys 525382 UNIMPL nosys 526383 UNIMPL nosys 527384 UNIMPL nosys 528385 UNIMPL nosys 529386 UNIMPL nosys 530387 UNIMPL nosys 531388 UNIMPL nosys 532389 UNIMPL nosys 533390 STD { int kenv(int what, const char *name, char *value, int len); } 534391 STD { int lchflags(char *path, int flags); } 535392 STD { int uuidgen(struct uuid *store, int count); } 536393 STD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ 537 struct sf_hdtr *hdtr, off_t *sbytes, int flags); } 538; 394-439 used by FreeBSD-current 539394 UNIMPL nosys 540395 UNIMPL nosys 541396 UNIMPL nosys 542397 UNIMPL nosys 543398 UNIMPL nosys 544399 UNIMPL nosys 545400 UNIMPL nosys 546401 UNIMPL nosys 547402 UNIMPL nosys 548403 UNIMPL nosys 549404 UNIMPL nosys 550405 UNIMPL nosys 551406 UNIMPL nosys 552407 UNIMPL nosys 553408 UNIMPL nosys 554409 UNIMPL nosys 555410 UNIMPL nosys 556411 UNIMPL nosys 557412 UNIMPL nosys 558413 UNIMPL nosys 559414 UNIMPL nosys 560415 UNIMPL nosys 561416 UNIMPL nosys 562417 UNIMPL nosys 563418 UNIMPL nosys 564419 UNIMPL nosys 565420 UNIMPL nosys 566421 UNIMPL nosys 567422 UNIMPL nosys 568423 UNIMPL nosys 569424 UNIMPL nosys 570425 UNIMPL nosys 571426 UNIMPL nosys 572427 UNIMPL nosys 573428 UNIMPL nosys 574429 UNIMPL nosys 575430 UNIMPL nosys 576431 UNIMPL nosys 577432 UNIMPL nosys 578433 UNIMPL nosys 579434 UNIMPL nosys 580435 UNIMPL nosys 581436 UNIMPL nosys 582437 UNIMPL nosys 583438 UNIMPL nosys 584439 UNIMPL nosys 585; 440-449 reserved for FreeBSD-5.x growth 586440 UNIMPL nosys 587441 UNIMPL nosys 588442 UNIMPL nosys 589443 UNIMPL nosys 590444 UNIMPL nosys 591445 UNIMPL nosys 592446 UNIMPL nosys 593447 UNIMPL nosys 594448 UNIMPL nosys 595449 UNIMPL nosys 596; 450 DragonFly system calls 597450 STD { int varsym_set(int level, const char *name, const char *data); } 598451 STD { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } 599452 STD { int varsym_list(int level, char *buf, int maxsize, int *marker); } 600453 OBSOL upc_register 601454 OBSOL upc_control 602455 OBSOL caps_sys_service 603456 OBSOL caps_sys_client 604457 OBSOL caps_sys_close 605458 OBSOL caps_sys_put 606459 OBSOL caps_sys_reply 607460 OBSOL caps_sys_get 608461 OBSOL caps_sys_wait 609462 OBSOL caps_sys_abort 610463 OBSOL caps_sys_getgen 611464 OBSOL caps_sys_setgen 612465 STD { int exec_sys_register(void *entry); } 613466 STD { int exec_sys_unregister(int id); } 614467 STD { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } 615468 STD { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } 616469 STD { int umtx_sleep(volatile const int *ptr, int value, int timeout); } 617470 STD { int umtx_wakeup(volatile const int *ptr, int count); } 618471 STD { int jail_attach(int jid); } 619472 STD { int set_tls_area(int which, struct tls_info *info, size_t infosize); } 620473 STD { int get_tls_area(int which, struct tls_info *info, size_t infosize); } 621474 STD { int closefrom(int fd); } 622475 STD { int stat(const char *path, struct stat *ub); } 623476 STD { int fstat(int fd, struct stat *sb); } 624477 STD { int lstat(const char *path, struct stat *ub); } 625478 STD { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } 626479 STD { int getdirentries(int fd, char *buf, u_int count, \ 627 long *basep); } 628480 STD { int getdents(int fd, char *buf, size_t count); } 629481 STD { int usched_set(pid_t pid, int cmd, void *data, \ 630 int bytes); } 631482 STD { int extaccept(int s, int flags, caddr_t name, int *anamelen); } 632483 STD { int extconnect(int s, int flags, caddr_t name, int namelen); } 633484 OBSOL syslink 634485 STD { int mcontrol(void *addr, size_t len, int behav, off_t value); } 635486 STD { int vmspace_create(void *id, int type, void *data); } 636487 STD { int vmspace_destroy(void *id); } 637488 STD { int vmspace_ctl(void *id, int cmd, \ 638 struct trapframe *tframe, \ 639 struct vextframe *vframe); } 640489 STD { int vmspace_mmap(void *id, void *addr, size_t len, \ 641 int prot, int flags, int fd, \ 642 off_t offset); } 643490 STD { int vmspace_munmap(void *id, void *addr, \ 644 size_t len); } 645491 STD { int vmspace_mcontrol(void *id, void *addr, \ 646 size_t len, int behav, off_t value); } 647492 STD { ssize_t vmspace_pread(void *id, void *buf, \ 648 size_t nbyte, int flags, off_t offset); } 649493 STD { ssize_t vmspace_pwrite(void *id, const void *buf, \ 650 size_t nbyte, int flags, off_t offset); } 651494 STD { void extexit(int how, int status, void *addr); } 652495 STD { int lwp_create(struct lwp_params *params); } 653496 STD { lwpid_t lwp_gettid(void); } 654497 STD { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } 655498 STD { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } 656499 STD { int pselect(int nd, fd_set *in, fd_set *ou, \ 657 fd_set *ex, const struct timespec *ts, \ 658 const sigset_t *sigmask); } 659500 STD { int statvfs(const char *path, struct statvfs *buf); } 660501 STD { int fstatvfs(int fd, struct statvfs *buf); } 661502 STD { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } 662503 STD { int getvfsstat(struct statfs *buf, \ 663 struct statvfs *vbuf, long vbufsize, int flags); } 664504 STD { int openat(int fd, char *path, int flags, int mode); } 665; XXX should be { int openat(int fd, const char *path, int flags, ...);} 666; but we're not ready for `const' or varargs. 667; XXX man page says `mode_t mode'. 668505 STD { int fstatat(int fd, char *path, \ 669 struct stat *sb, int flags); } 670506 STD { int fchmodat(int fd, char *path, int mode, \ 671 int flags); } 672507 STD { int fchownat(int fd, char *path, int uid, int gid, \ 673 int flags); } 674508 STD { int unlinkat(int fd, char *path, int flags); } 675509 STD { int faccessat(int fd, char *path, int amode, \ 676 int flags); } 677 678; POSIX message queues system calls 679510 STD { mqd_t mq_open(const char * name, int oflag, \ 680 mode_t mode, struct mq_attr *attr); } 681511 STD { int mq_close(mqd_t mqdes); } 682512 STD { int mq_unlink(const char *name); } 683513 STD { int mq_getattr(mqd_t mqdes, \ 684 struct mq_attr *mqstat); } 685514 STD { int mq_setattr(mqd_t mqdes, \ 686 const struct mq_attr *mqstat, \ 687 struct mq_attr *omqstat); } 688515 STD { int mq_notify(mqd_t mqdes, \ 689 const struct sigevent *notification); } 690516 STD { int mq_send(mqd_t mqdes, const char *msg_ptr, \ 691 size_t msg_len, unsigned msg_prio); } 692517 STD { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ 693 size_t msg_len, unsigned *msg_prio); } 694518 STD { int mq_timedsend(mqd_t mqdes, \ 695 const char *msg_ptr, size_t msg_len, \ 696 unsigned msg_prio, \ 697 const struct timespec *abs_timeout); } 698519 STD { ssize_t mq_timedreceive(mqd_t mqdes, \ 699 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 700 const struct timespec *abs_timeout); } 701520 STD { int ioprio_set(int which, int who, int prio); } 702521 STD { int ioprio_get(int which, int who); } 703522 STD { int chroot_kernel(char *path); } 704523 STD { int renameat(int oldfd, char *old, int newfd, \ 705 char *new); } 706524 STD { int mkdirat(int fd, char *path, mode_t mode); } 707525 STD { int mkfifoat(int fd, char *path, mode_t mode); } 708526 STD { int mknodat(int fd, char *path, mode_t mode, \ 709 dev_t dev); } 710527 STD { int readlinkat(int fd, char *path, char *buf, \ 711 size_t bufsize); } 712528 STD { int symlinkat(char *path1, int fd, char *path2); } 713529 STD { int swapoff(char *name); } 714530 STD { int vquotactl(const char *path, \ 715 struct plistref *pref); } 716531 STD { int linkat(int fd1, char *path1, int fd2, \ 717 char *path2, int flags); } 718532 STD { int eaccess(char *path, int flags); } 719533 STD { int lpathconf(char *path, int name); } 720534 STD { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } 721535 STD { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } 722536 STD { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } 723537 STD { int chflagsat(int fd, const char *path, int flags, int atflags);} 724538 STD { int pipe2(int *fildes, int flags); } 725539 STD { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } 726540 STD { int futimens(int fd, const struct timespec *ts); } 727541 STD { int accept4(int s, caddr_t name, int *anamelen, int flags); } 728542 STD { int lwp_setname(lwpid_t tid, const char *name); } 729543 STD { int ppoll(struct pollfd *fds, u_int nfds, \ 730 const struct timespec *ts, const sigset_t *sigmask); } 731544 STD { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } 732545 STD { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } 733546 STD { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } 734547 STD { int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); } 735548 STD { int wait6(idtype_t idtype, id_t id, int *status, int options, \ 736 struct __wrusage *wrusage, siginfo_t *info); } 737