1 $NetBSD: syscalls.master,v 1.238 2010/09/07 17:10:08 pooka Exp $ 2 3; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 4 5; NetBSD system call name/number "master" file. 6; (See syscalls.conf to see what it is processed into.) 7; 8; Fields: number type [type-dependent ...] 9; number system call number, must be in order 10; type one of STD, OBSOL, UNIMPL, IGNORED, NODEF, NOARGS, or one of 11; the compatibility options defined in syscalls.conf. 12; 13; Optional fields are specified after the type field 14; (NOTE! they *must* be specified in this order): 15; MODULAR:attempt to autoload system call if not present 16; RUMP: the system call can be called directly from rumps 17; 18; types: 19; STD always included 20; OBSOL obsolete, not included in system 21; IGNORED syscall is a null op, but always succeeds 22; UNIMPL unimplemented, not included in system 23; EXCL implemented, but not included in system 24; NODEF included, but don't define the syscall number 25; NOARGS included, but don't define the syscall args structure 26; INDIR included, but don't define the syscall args structure, 27; and allow it to be "really" varargs. 28; 29; arguments: 30; PAD argument not part of the C interface, used only for padding 31; 32; The compat options are defined in the syscalls.conf file, and the 33; compat option name is prefixed to the syscall name. Other than 34; that, they're like NODEF (for 'compat' options), or STD (for 35; 'libcompat' options). 36; 37; The type-dependent arguments are as follows: 38; For STD, NODEF, NOARGS, and compat syscalls: 39; { return_type|prefix|compat(optional)|basename(pseudo-proto); } [alias] 40; For other syscalls: 41; [comment] 42; 43; #ifdef's, etc. may be included, and are copied to the output files. 44; #include's are copied to the syscall names and switch definition files only. 45 46#include "opt_modular.h" 47#include "opt_ntp.h" 48#include "opt_sysv.h" 49 50#include <sys/param.h> 51#include <sys/systm.h> 52#include <sys/signal.h> 53#include <sys/mount.h> 54#include <sys/sched.h> 55#include <sys/syscallargs.h> 56 57%% 58 59; Reserved/unimplemented system calls in the range 0-150 inclusive 60; are reserved for use in future Berkeley releases. 61; Additional system calls implemented in vendor and other 62; redistributions should be placed in the reserved range at the end 63; of the current calls. 64 650 INDIR { int|sys||syscall(int code, \ 66 ... register_t args[SYS_MAXSYSARGS]); } 671 STD { void|sys||exit(int rval); } 682 STD { int|sys||fork(void); } 693 STD RUMP { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 704 STD RUMP { ssize_t|sys||write(int fd, const void *buf, \ 71 size_t nbyte); } 725 STD RUMP { int|sys||open(const char *path, \ 73 int flags, ... mode_t mode); } 746 STD RUMP { int|sys||close(int fd); } 757 COMPAT_50 MODULAR { int|sys||wait4(int pid, int *status, \ 76 int options, struct rusage50 *rusage); } 778 COMPAT_43 MODULAR { int|sys||creat(const char *path, mode_t mode); } ocreat 789 STD RUMP { int|sys||link(const char *path, const char *link); } 7910 STD RUMP { int|sys||unlink(const char *path); } 8011 OBSOL execv 8112 STD RUMP { int|sys||chdir(const char *path); } 8213 STD RUMP { int|sys||fchdir(int fd); } 8314 COMPAT_50 MODULAR { int|sys||mknod(const char *path, mode_t mode, \ 84 uint32_t dev); } 8515 STD RUMP { int|sys||chmod(const char *path, mode_t mode); } 8616 STD RUMP { int|sys||chown(const char *path, uid_t uid, \ 87 gid_t gid); } 8817 STD { int|sys||obreak(char *nsize); } break 8918 COMPAT_20 MODULAR { int|sys||getfsstat(struct statfs12 *buf, \ 90 long bufsize, int flags); } 9119 COMPAT_43 MODULAR { long|sys||lseek(int fd, long offset, int whence); }\ 92 olseek 9320 STD RUMP { pid_t|sys||getpid_with_ppid(void); } getpid 9421 COMPAT_40 MODULAR { int|sys||mount(const char *type, const char *path, \ 95 int flags, void *data); } 9622 STD RUMP { int|sys||unmount(const char *path, int flags); } 9723 STD RUMP { int|sys||setuid(uid_t uid); } 9824 STD RUMP { uid_t|sys||getuid_with_euid(void); } getuid 9925 STD RUMP { uid_t|sys||geteuid(void); } 10026 STD { int|sys||ptrace(int req, pid_t pid, void *addr, \ 101 int data); } 10227 STD RUMP { ssize_t|sys||recvmsg(int s, struct msghdr *msg, \ 103 int flags); } 10428 STD RUMP { ssize_t|sys||sendmsg(int s, \ 105 const struct msghdr *msg, int flags); } 10629 STD RUMP { ssize_t|sys||recvfrom(int s, void *buf, size_t len, \ 107 int flags, struct sockaddr *from, \ 108 unsigned int *fromlenaddr); } 10930 STD RUMP { int|sys||accept(int s, struct sockaddr *name, \ 110 unsigned int *anamelen); } 11131 STD RUMP { int|sys||getpeername(int fdes, struct sockaddr *asa, \ 112 unsigned int *alen); } 11332 STD RUMP { int|sys||getsockname(int fdes, struct sockaddr *asa, \ 114 unsigned int *alen); } 11533 STD RUMP { int|sys||access(const char *path, int flags); } 11634 STD RUMP { int|sys||chflags(const char *path, u_long flags); } 11735 STD RUMP { int|sys||fchflags(int fd, u_long flags); } 11836 STD RUMP { void|sys||sync(void); } 11937 STD { int|sys||kill(int pid, int signum); } 12038 COMPAT_43 MODULAR { int|sys||stat(const char *path, struct stat43 *ub); } \ 121 stat43 12239 STD RUMP { pid_t|sys||getppid(void); } 12340 COMPAT_43 MODULAR { int|sys||lstat(const char *path, \ 124 struct stat43 *ub); } lstat43 12541 STD RUMP { int|sys||dup(int fd); } 12642 STD RUMP { int|sys||pipe(void); } 12743 STD RUMP { gid_t|sys||getegid(void); } 12844 STD { int|sys||profil(char *samples, size_t size, \ 129 u_long offset, u_int scale); } 13045 STD { int|sys||ktrace(const char *fname, int ops, \ 131 int facs, int pid); } 13246 COMPAT_13 MODULAR { int|sys||sigaction(int signum, \ 133 const struct sigaction13 *nsa, \ 134 struct sigaction13 *osa); } sigaction13 13547 STD RUMP { gid_t|sys||getgid_with_egid(void); } getgid 13648 COMPAT_13 MODULAR { int|sys||sigprocmask(int how, \ 137 int mask); } sigprocmask13 13849 STD RUMP { int|sys||__getlogin(char *namebuf, size_t namelen); } 13950 STD RUMP { int|sys||__setlogin(const char *namebuf); } 14051 STD { int|sys||acct(const char *path); } 14152 COMPAT_13 MODULAR { int|sys||sigpending(void); } sigpending13 14253 COMPAT_13 MODULAR { int|sys||sigaltstack( \ 143 const struct sigaltstack13 *nss, \ 144 struct sigaltstack13 *oss); } sigaltstack13 14554 STD RUMP { int|sys||ioctl(int fd, \ 146 u_long com, ... void *data); } 14755 COMPAT_12 MODULAR { int|sys||reboot(int opt); } oreboot 14856 STD RUMP { int|sys||revoke(const char *path); } 14957 STD RUMP { int|sys||symlink(const char *path, \ 150 const char *link); } 15158 STD RUMP { ssize_t|sys||readlink(const char *path, char *buf, \ 152 size_t count); } 15359 STD { int|sys||execve(const char *path, \ 154 char * const *argp, char * const *envp); } 15560 STD RUMP { mode_t|sys||umask(mode_t newmask); } 15661 STD RUMP { int|sys||chroot(const char *path); } 15762 COMPAT_43 MODULAR { int|sys||fstat(int fd, struct stat43 *sb); } fstat43 15863 COMPAT_43 MODULAR { int|sys||getkerninfo(int op, char *where, int *size, \ 159 int arg); } ogetkerninfo 16064 COMPAT_43 MODULAR { int|sys||getpagesize(void); } ogetpagesize 16165 COMPAT_12 MODULAR { int|sys||msync(void *addr, size_t len); } 162; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)? 16366 STD { int|sys||vfork(void); } 16467 OBSOL vread 16568 OBSOL vwrite 16669 STD { int|sys||sbrk(intptr_t incr); } 16770 STD { int|sys||sstk(int incr); } 16871 COMPAT_43 MODULAR { int|sys||mmap(void *addr, size_t len, int prot, \ 169 int flags, int fd, long pos); } ommap 17072 STD { int|sys||ovadvise(int anom); } vadvise 17173 STD { int|sys||munmap(void *addr, size_t len); } 17274 STD { int|sys||mprotect(void *addr, size_t len, \ 173 int prot); } 17475 STD { int|sys||madvise(void *addr, size_t len, \ 175 int behav); } 17676 OBSOL vhangup 17777 OBSOL vlimit 17878 STD { int|sys||mincore(void *addr, size_t len, \ 179 char *vec); } 18079 STD RUMP { int|sys||getgroups(int gidsetsize, \ 181 gid_t *gidset); } 18280 STD RUMP { int|sys||setgroups(int gidsetsize, \ 183 const gid_t *gidset); } 18481 STD RUMP { int|sys||getpgrp(void); } 18582 STD RUMP { int|sys||setpgid(int pid, int pgid); } 18683 COMPAT_50 MODULAR { int|sys||setitimer(int which, \ 187 const struct itimerval50 *itv, \ 188 struct itimerval50 *oitv); } 18984 COMPAT_43 MODULAR { int|sys||wait(void); } owait 19085 COMPAT_12 MODULAR { int|sys||swapon(const char *name); } oswapon 19186 COMPAT_50 MODULAR { int|sys||getitimer(int which, \ 192 struct itimerval50 *itv); } 19387 COMPAT_43 MODULAR { int|sys||gethostname(char *hostname, u_int len); } \ 194 ogethostname 19588 COMPAT_43 MODULAR { int|sys||sethostname(char *hostname, u_int len); } \ 196 osethostname 19789 COMPAT_43 MODULAR { int|sys||getdtablesize(void); } ogetdtablesize 19890 STD RUMP { int|sys||dup2(int from, int to); } 19991 UNIMPL getdopt 20092 STD RUMP { int|sys||fcntl(int fd, int cmd, ... void *arg); } 20193 COMPAT_50 MODULAR { int|sys||select(int nd, fd_set *in, fd_set *ou, \ 202 fd_set *ex, struct timeval50 *tv); } 20394 UNIMPL setdopt 20495 STD RUMP { int|sys||fsync(int fd); } 20596 STD { int|sys||setpriority(int which, id_t who, int prio); } 20697 COMPAT_30 MODULAR { int|sys||socket(int domain, int type, int protocol); } 20798 STD RUMP { int|sys||connect(int s, const struct sockaddr *name, \ 208 unsigned int namelen); } 20999 COMPAT_43 MODULAR { int|sys||accept(int s, void *name, \ 210 int *anamelen); } oaccept 211100 STD { int|sys||getpriority(int which, id_t who); } 212101 COMPAT_43 MODULAR { int|sys||send(int s, void *buf, int len, \ 213 int flags); } osend 214102 COMPAT_43 MODULAR { int|sys||recv(int s, void *buf, int len, \ 215 int flags); } orecv 216103 COMPAT_13 MODULAR { int|sys||sigreturn(struct sigcontext13 *sigcntxp); } \ 217 sigreturn13 218104 STD RUMP { int|sys||bind(int s, const struct sockaddr *name, \ 219 unsigned int namelen); } 220105 STD RUMP { int|sys||setsockopt(int s, int level, int name, \ 221 const void *val, unsigned int valsize); } 222106 STD RUMP { int|sys||listen(int s, int backlog); } 223107 OBSOL vtimes 224108 COMPAT_43 MODULAR { int|sys||sigvec(int signum, struct sigvec *nsv, \ 225 struct sigvec *osv); } osigvec 226109 COMPAT_43 MODULAR { int|sys||sigblock(int mask); } osigblock 227110 COMPAT_43 MODULAR { int|sys||sigsetmask(int mask); } osigsetmask 228111 COMPAT_13 MODULAR { int|sys||sigsuspend(int mask); } sigsuspend13 229112 COMPAT_43 MODULAR { int|sys||sigstack(struct sigstack *nss, \ 230 struct sigstack *oss); } osigstack 231113 COMPAT_43 MODULAR { int|sys||recvmsg(int s, struct omsghdr *msg, \ 232 int flags); } orecvmsg 233114 COMPAT_43 MODULAR { int|sys||sendmsg(int s, void *msg, int flags); } \ 234 osendmsg 235115 OBSOL vtrace 236116 COMPAT_50 MODULAR { int|sys||gettimeofday(struct timeval50 *tp, \ 237 void *tzp); } 238117 COMPAT_50 MODULAR { int|sys||getrusage(int who, struct rusage50 *rusage); } 239118 STD RUMP { int|sys||getsockopt(int s, int level, int name, \ 240 void *val, unsigned int *avalsize); } 241119 OBSOL resuba 242120 STD RUMP { ssize_t|sys||readv(int fd, \ 243 const struct iovec *iovp, int iovcnt); } 244121 STD RUMP { ssize_t|sys||writev(int fd, \ 245 const struct iovec *iovp, int iovcnt); } 246122 COMPAT_50 MODULAR { int|sys||settimeofday(const struct timeval50 *tv, \ 247 const void *tzp); } 248123 STD RUMP { int|sys||fchown(int fd, uid_t uid, gid_t gid); } 249124 STD RUMP { int|sys||fchmod(int fd, mode_t mode); } 250125 COMPAT_43 MODULAR { int|sys||recvfrom(int s, void *buf, size_t len, \ 251 int flags, void *from, int *fromlenaddr); } \ 252 orecvfrom 253126 STD RUMP { int|sys||setreuid(uid_t ruid, uid_t euid); } 254127 STD RUMP { int|sys||setregid(gid_t rgid, gid_t egid); } 255128 STD RUMP { int|sys||rename(const char *from, const char *to); } 256129 COMPAT_43 MODULAR { int|sys||truncate(const char *path, long length); } \ 257 otruncate 258130 COMPAT_43 MODULAR { int|sys||ftruncate(int fd, long length); } oftruncate 259131 STD RUMP { int|sys||flock(int fd, int how); } 260132 STD RUMP { int|sys||mkfifo(const char *path, mode_t mode); } 261133 STD RUMP { ssize_t|sys||sendto(int s, const void *buf, \ 262 size_t len, int flags, const struct sockaddr *to, \ 263 unsigned int tolen); } 264134 STD RUMP { int|sys||shutdown(int s, int how); } 265135 STD RUMP { int|sys||socketpair(int domain, int type, \ 266 int protocol, int *rsv); } 267136 STD RUMP { int|sys||mkdir(const char *path, mode_t mode); } 268137 STD RUMP { int|sys||rmdir(const char *path); } 269138 COMPAT_50 MODULAR { int|sys||utimes(const char *path, \ 270 const struct timeval50 *tptr); } 271139 OBSOL 4.2 sigreturn 272140 COMPAT_50 MODULAR { int|sys||adjtime(const struct timeval50 *delta, \ 273 struct timeval50 *olddelta); } 274141 COMPAT_43 MODULAR { int|sys||getpeername(int fdes, void *asa, \ 275 int *alen); } ogetpeername 276142 COMPAT_43 MODULAR { int32_t|sys||gethostid(void); } ogethostid 277143 COMPAT_43 MODULAR { int|sys||sethostid(int32_t hostid); } osethostid 278144 COMPAT_43 MODULAR { int|sys||getrlimit(int which, \ 279 struct orlimit *rlp); } ogetrlimit 280145 COMPAT_43 MODULAR { int|sys||setrlimit(int which, \ 281 const struct orlimit *rlp); } osetrlimit 282146 COMPAT_43 MODULAR { int|sys||killpg(int pgid, int signum); } okillpg 283147 STD RUMP { int|sys||setsid(void); } 284148 STD { int|sys||quotactl(const char *path, int cmd, \ 285 int uid, void *arg); } 286149 COMPAT_43 MODULAR { int|sys||quota(void); } oquota 287150 COMPAT_43 MODULAR { int|sys||getsockname(int fdec, void *asa, \ 288 int *alen); } ogetsockname 289 290; Syscalls 151-180 inclusive are reserved for vendor-specific 291; system calls. (This includes various calls added for compatibity 292; with other Unix variants.) 293; Some of these calls are now supported by BSD... 294151 UNIMPL 295152 UNIMPL 296153 UNIMPL 297154 UNIMPL 298155 STD MODULAR RUMP { int|sys||nfssvc(int flag, void *argp); } 299156 COMPAT_43 MODULAR { int|sys||getdirentries(int fd, char *buf, \ 300 u_int count, long *basep); } ogetdirentries 301157 COMPAT_20 MODULAR { int|sys||statfs(const char *path, \ 302 struct statfs12 *buf); } 303158 COMPAT_20 MODULAR { int|sys||fstatfs(int fd, struct statfs12 *buf); } 304159 UNIMPL 305160 UNIMPL 306161 COMPAT_30 MODULAR { int|sys||getfh(const char *fname, \ 307 struct compat_30_fhandle *fhp); } 308162 COMPAT_09 MODULAR { int|sys||getdomainname(char *domainname, int len); } \ 309 ogetdomainname 310163 COMPAT_09 MODULAR { int|sys||setdomainname(char *domainname, int len); } \ 311 osetdomainname 312164 COMPAT_09 MODULAR { int|sys||uname(struct outsname *name); } ouname 313165 STD { int|sys||sysarch(int op, void *parms); } 314166 UNIMPL 315167 UNIMPL 316168 UNIMPL 317; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 318#if (defined(SYSVSEM) || !defined(_KERNEL_OPT)) && !defined(_LP64) 319169 COMPAT_10 MODULAR { int|sys||semsys(int which, int a2, int a3, int a4, \ 320 int a5); } osemsys 321#else 322169 EXCL 1.0 semsys 323#endif 324; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 325#if (defined(SYSVMSG) || !defined(_KERNEL_OPT)) && !defined(_LP64) 326170 COMPAT_10 MODULAR { int|sys||msgsys(int which, int a2, int a3, int a4, \ 327 int a5, int a6); } omsgsys 328#else 329170 EXCL 1.0 msgsys 330#endif 331; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 332#if (defined(SYSVSHM) || !defined(_KERNEL_OPT)) && !defined(_LP64) 333171 COMPAT_10 MODULAR { int|sys||shmsys(int which, int a2, int a3, int a4); } \ 334 oshmsys 335#else 336171 EXCL 1.0 shmsys 337#endif 338172 UNIMPL 339173 STD RUMP { ssize_t|sys||pread(int fd, void *buf, \ 340 size_t nbyte, int PAD, off_t offset); } 341174 STD RUMP { ssize_t|sys||pwrite(int fd, const void *buf, \ 342 size_t nbyte, int PAD, off_t offset); } 343; For some reason, ntp_gettime doesn't want to raise SIGSYS when it's excluded. 344175 COMPAT_30 { int|sys||ntp_gettime(struct ntptimeval30 *ntvp); } 345#if defined(NTP) || !defined(_KERNEL_OPT) 346176 STD { int|sys||ntp_adjtime(struct timex *tp); } 347#else 348176 EXCL ntp_adjtime 349#endif 350177 UNIMPL 351178 UNIMPL 352179 UNIMPL 353180 UNIMPL 354 355; Syscalls 180-199 are used by/reserved for BSD 356181 STD RUMP { int|sys||setgid(gid_t gid); } 357182 STD RUMP { int|sys||setegid(gid_t egid); } 358183 STD RUMP { int|sys||seteuid(uid_t euid); } 359184 STD MODULAR { int|sys||lfs_bmapv(fsid_t *fsidp, \ 360 struct block_info *blkiov, int blkcnt); } 361185 STD MODULAR { int|sys||lfs_markv(fsid_t *fsidp, \ 362 struct block_info *blkiov, int blkcnt); } 363186 STD MODULAR { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); } 364187 COMPAT_50 MODULAR { int|sys||lfs_segwait(fsid_t *fsidp, \ 365 struct timeval50 *tv); } 366188 COMPAT_12 MODULAR { int|sys||stat(const char *path, struct stat12 *ub); } \ 367 stat12 368189 COMPAT_12 MODULAR { int|sys||fstat(int fd, struct stat12 *sb); } fstat12 369190 COMPAT_12 MODULAR { int|sys||lstat(const char *path, \ 370 struct stat12 *ub); } lstat12 371191 STD RUMP { long|sys||pathconf(const char *path, int name); } 372192 STD RUMP { long|sys||fpathconf(int fd, int name); } 373193 UNIMPL 374194 STD RUMP { int|sys||getrlimit(int which, \ 375 struct rlimit *rlp); } 376195 STD RUMP { int|sys||setrlimit(int which, \ 377 const struct rlimit *rlp); } 378196 COMPAT_12 MODULAR { int|sys||getdirentries(int fd, char *buf, \ 379 u_int count, long *basep); } 380197 STD { void *|sys||mmap(void *addr, size_t len, int prot, \ 381 int flags, int fd, long PAD, off_t pos); } 382198 INDIR { quad_t|sys||__syscall(quad_t code, \ 383 ... register_t args[SYS_MAXSYSARGS]); } 384199 STD RUMP { off_t|sys||lseek(int fd, int PAD, off_t offset, \ 385 int whence); } 386200 STD RUMP { int|sys||truncate(const char *path, int PAD, \ 387 off_t length); } 388201 STD RUMP { int|sys||ftruncate(int fd, int PAD, off_t length); } 389202 STD RUMP { int|sys||__sysctl(const int *name, u_int namelen, \ 390 void *old, size_t *oldlenp, const void *new, \ 391 size_t newlen); } 392203 STD { int|sys||mlock(const void *addr, size_t len); } 393204 STD { int|sys||munlock(const void *addr, size_t len); } 394205 STD { int|sys||undelete(const char *path); } 395206 COMPAT_50 MODULAR { int|sys||futimes(int fd, \ 396 const struct timeval50 *tptr); } 397207 STD RUMP { pid_t|sys||getpgid(pid_t pid); } 398208 STD RUMP { int|sys||reboot(int opt, char *bootstr); } 399209 STD RUMP { int|sys||poll(struct pollfd *fds, u_int nfds, \ 400 int timeout); } 401; 402; Syscalls 210-219 are reserved for dynamically loaded syscalls 403; 404210 UNIMPL 405211 UNIMPL 406212 UNIMPL 407213 UNIMPL 408214 UNIMPL 409215 UNIMPL 410216 UNIMPL 411217 UNIMPL 412218 UNIMPL 413219 UNIMPL 414; System calls 220-300 are reserved for use by NetBSD 415#if defined(SYSVSEM) || !defined(_KERNEL_OPT) 416220 COMPAT_14 MODULAR { int|sys||__semctl(int semid, int semnum, int cmd, \ 417 union __semun *arg); } 418221 STD { int|sys||semget(key_t key, int nsems, int semflg); } 419222 STD { int|sys||semop(int semid, struct sembuf *sops, \ 420 size_t nsops); } 421223 STD { int|sys||semconfig(int flag); } 422#else 423220 EXCL compat_14_semctl 424221 EXCL semget 425222 EXCL semop 426223 EXCL semconfig 427#endif 428#if defined(SYSVMSG) || !defined(_KERNEL_OPT) 429224 COMPAT_14 MODULAR { int|sys||msgctl(int msqid, int cmd, \ 430 struct msqid_ds14 *buf); } 431225 STD { int|sys||msgget(key_t key, int msgflg); } 432226 STD { int|sys||msgsnd(int msqid, const void *msgp, \ 433 size_t msgsz, int msgflg); } 434227 STD { ssize_t|sys||msgrcv(int msqid, void *msgp, \ 435 size_t msgsz, long msgtyp, int msgflg); } 436#else 437224 EXCL compat_14_msgctl 438225 EXCL msgget 439226 EXCL msgsnd 440227 EXCL msgrcv 441#endif 442#if defined(SYSVSHM) || !defined(_KERNEL_OPT) 443228 STD { void *|sys||shmat(int shmid, const void *shmaddr, \ 444 int shmflg); } 445229 COMPAT_14 MODULAR { int|sys||shmctl(int shmid, int cmd, \ 446 struct shmid_ds14 *buf); } 447230 STD { int|sys||shmdt(const void *shmaddr); } 448231 STD { int|sys||shmget(key_t key, size_t size, int shmflg); } 449#else 450228 EXCL shmat 451229 EXCL compat_14_shmctl 452230 EXCL shmdt 453231 EXCL shmget 454#endif 455232 COMPAT_50 MODULAR { int|sys||clock_gettime(clockid_t clock_id, \ 456 struct timespec50 *tp); } 457233 COMPAT_50 MODULAR { int|sys||clock_settime(clockid_t clock_id, \ 458 const struct timespec50 *tp); } 459234 COMPAT_50 MODULAR { int|sys||clock_getres(clockid_t clock_id, \ 460 struct timespec50 *tp); } 461235 STD { int|sys||timer_create(clockid_t clock_id, \ 462 struct sigevent *evp, timer_t *timerid); } 463236 STD { int|sys||timer_delete(timer_t timerid); } 464237 COMPAT_50 MODULAR { int|sys||timer_settime(timer_t timerid, int flags, \ 465 const struct itimerspec50 *value, \ 466 struct itimerspec50 *ovalue); } 467238 COMPAT_50 MODULAR { int|sys||timer_gettime(timer_t timerid, struct \ 468 itimerspec50 *value); } 469239 STD { int|sys||timer_getoverrun(timer_t timerid); } 470; 471; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 472; 473240 COMPAT_50 MODULAR { int|sys||nanosleep(const struct timespec50 *rqtp, \ 474 struct timespec50 *rmtp); } 475241 STD RUMP { int|sys||fdatasync(int fd); } 476242 STD { int|sys||mlockall(int flags); } 477243 STD { int|sys||munlockall(void); } 478244 COMPAT_50 MODULAR { int|sys||__sigtimedwait(const sigset_t *set, \ 479 siginfo_t *info, \ 480 struct timespec50 *timeout); } 481245 UNIMPL sys_sigqueue 482246 STD RUMP { int|sys||modctl(int cmd, void *arg); } 483247 STD MODULAR RUMP { int|sys||_ksem_init(unsigned int value, intptr_t *idp); } 484248 STD MODULAR RUMP { int|sys||_ksem_open(const char *name, int oflag, \ 485 mode_t mode, unsigned int value, intptr_t *idp); } 486249 STD MODULAR RUMP { int|sys||_ksem_unlink(const char *name); } 487250 STD MODULAR RUMP { int|sys||_ksem_close(intptr_t id); } 488251 STD MODULAR RUMP { int|sys||_ksem_post(intptr_t id); } 489252 STD MODULAR RUMP { int|sys||_ksem_wait(intptr_t id); } 490253 STD MODULAR RUMP { int|sys||_ksem_trywait(intptr_t id); } 491254 STD MODULAR RUMP { int|sys||_ksem_getvalue(intptr_t id, \ 492 unsigned int *value); } 493255 STD MODULAR RUMP { int|sys||_ksem_destroy(intptr_t id); } 494256 UNIMPL sys__ksem_timedwait 495257 STD MODULAR { mqd_t|sys||mq_open(const char * name, int oflag, \ 496 mode_t mode, struct mq_attr *attr); } 497258 STD MODULAR { int|sys||mq_close(mqd_t mqdes); } 498259 STD MODULAR { int|sys||mq_unlink(const char *name); } 499260 STD MODULAR { int|sys||mq_getattr(mqd_t mqdes, \ 500 struct mq_attr *mqstat); } 501261 STD MODULAR { int|sys||mq_setattr(mqd_t mqdes, \ 502 const struct mq_attr *mqstat, \ 503 struct mq_attr *omqstat); } 504262 STD MODULAR { int|sys||mq_notify(mqd_t mqdes, \ 505 const struct sigevent *notification); } 506263 STD MODULAR { int|sys||mq_send(mqd_t mqdes, const char *msg_ptr, \ 507 size_t msg_len, unsigned msg_prio); } 508264 STD MODULAR { ssize_t|sys||mq_receive(mqd_t mqdes, char *msg_ptr, \ 509 size_t msg_len, unsigned *msg_prio); } 510265 COMPAT_50 MODULAR { int|sys||mq_timedsend(mqd_t mqdes, \ 511 const char *msg_ptr, size_t msg_len, \ 512 unsigned msg_prio, \ 513 const struct timespec50 *abs_timeout); } 514266 COMPAT_50 MODULAR { ssize_t|sys||mq_timedreceive(mqd_t mqdes, \ 515 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 516 const struct timespec50 *abs_timeout); } 517267 UNIMPL 518268 UNIMPL 519269 UNIMPL 520270 STD { int|sys||__posix_rename(const char *from, \ 521 const char *to); } 522271 STD { int|sys||swapctl(int cmd, void *arg, int misc); } 523272 COMPAT_30 MODULAR { int|sys||getdents(int fd, char *buf, size_t count); } 524273 STD { int|sys||minherit(void *addr, size_t len, \ 525 int inherit); } 526274 STD RUMP { int|sys||lchmod(const char *path, mode_t mode); } 527275 STD RUMP { int|sys||lchown(const char *path, uid_t uid, \ 528 gid_t gid); } 529276 COMPAT_50 MODULAR { int|sys||lutimes(const char *path, \ 530 const struct timeval50 *tptr); } 531277 STD { int|sys|13|msync(void *addr, size_t len, int flags); } 532278 COMPAT_30 MODULAR { int|sys|13|stat(const char *path, struct stat13 *ub); } 533279 COMPAT_30 MODULAR { int|sys|13|fstat(int fd, struct stat13 *sb); } 534280 COMPAT_30 MODULAR { int|sys|13|lstat(const char *path, struct stat13 *ub); } 535281 STD { int|sys|14|sigaltstack( \ 536 const struct sigaltstack *nss, \ 537 struct sigaltstack *oss); } 538282 STD { int|sys|14|vfork(void); } 539283 STD { int|sys||__posix_chown(const char *path, uid_t uid, \ 540 gid_t gid); } 541284 STD { int|sys||__posix_fchown(int fd, uid_t uid, \ 542 gid_t gid); } 543285 STD { int|sys||__posix_lchown(const char *path, uid_t uid, \ 544 gid_t gid); } 545286 STD RUMP { pid_t|sys||getsid(pid_t pid); } 546287 STD { pid_t|sys||__clone(int flags, void *stack); } 547288 STD { int|sys||fktrace(int fd, int ops, \ 548 int facs, int pid); } 549289 STD { ssize_t|sys||preadv(int fd, \ 550 const struct iovec *iovp, int iovcnt, \ 551 int PAD, off_t offset); } 552290 STD { ssize_t|sys||pwritev(int fd, \ 553 const struct iovec *iovp, int iovcnt, \ 554 int PAD, off_t offset); } 555291 COMPAT_16 MODULAR { int|sys|14|sigaction(int signum, \ 556 const struct sigaction *nsa, \ 557 struct sigaction *osa); } 558292 STD { int|sys|14|sigpending(sigset_t *set); } 559293 STD { int|sys|14|sigprocmask(int how, \ 560 const sigset_t *set, \ 561 sigset_t *oset); } 562294 STD { int|sys|14|sigsuspend(const sigset_t *set); } 563295 COMPAT_16 MODULAR { int|sys|14|sigreturn(struct sigcontext *sigcntxp); } 564296 STD RUMP { int|sys||__getcwd(char *bufp, size_t length); } 565297 STD RUMP { int|sys||fchroot(int fd); } 566298 COMPAT_30 MODULAR { int|sys||fhopen(const struct compat_30_fhandle *fhp, int flags); } 567299 COMPAT_30 MODULAR { int|sys||fhstat(const struct compat_30_fhandle *fhp, \ 568 struct stat13 *sb); } 569300 COMPAT_20 MODULAR { int|sys||fhstatfs(const struct compat_30_fhandle *fhp, \ 570 struct statfs12 *buf); } 571#if defined(SYSVSEM) || !defined(_KERNEL_OPT) 572301 COMPAT_50 MODULAR { int|sys|13|__semctl(int semid, int semnum, int cmd, \ 573 ... union __semun *arg); } 574#else 575301 EXCL ____semctl13 576#endif 577#if defined(SYSVMSG) || !defined(_KERNEL_OPT) 578302 COMPAT_50 MODULAR { int|sys|13|msgctl(int msqid, int cmd, \ 579 struct msqid_ds *buf); } 580#else 581302 EXCL __msgctl13 582#endif 583#if defined(SYSVSHM) || !defined(_KERNEL_OPT) 584303 COMPAT_50 MODULAR { int|sys|13|shmctl(int shmid, int cmd, \ 585 struct shmid_ds13 *buf); } 586#else 587303 EXCL __shmctl13 588#endif 589304 STD RUMP { int|sys||lchflags(const char *path, u_long flags); } 590305 STD RUMP { int|sys||issetugid(void); } 591306 STD { int|sys||utrace(const char *label, void *addr, \ 592 size_t len); } 593307 STD { int|sys||getcontext(struct __ucontext *ucp); } 594308 STD { int|sys||setcontext(const struct __ucontext *ucp); } 595309 STD { int|sys||_lwp_create(const struct __ucontext *ucp, \ 596 u_long flags, lwpid_t *new_lwp); } 597310 STD { int|sys||_lwp_exit(void); } 598311 STD { lwpid_t|sys||_lwp_self(void); } 599312 STD { int|sys||_lwp_wait(lwpid_t wait_for, \ 600 lwpid_t *departed); } 601313 STD { int|sys||_lwp_suspend(lwpid_t target); } 602314 STD { int|sys||_lwp_continue(lwpid_t target); } 603315 STD { int|sys||_lwp_wakeup(lwpid_t target); } 604316 STD { void *|sys||_lwp_getprivate(void); } 605317 STD { void|sys||_lwp_setprivate(void *ptr); } 606318 STD { int|sys||_lwp_kill(lwpid_t target, int signo); } 607319 STD { int|sys||_lwp_detach(lwpid_t target); } 608320 COMPAT_50 MODULAR { int|sys||_lwp_park(const struct timespec50 *ts, \ 609 lwpid_t unpark, const void *hint, \ 610 const void *unparkhint); } 611321 STD { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } 612322 STD { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, \ 613 size_t ntargets, const void *hint); } 614323 STD { int|sys||_lwp_setname(lwpid_t target, \ 615 const char *name); } 616324 STD { int|sys||_lwp_getname(lwpid_t target, \ 617 char *name, size_t len); } 618325 STD { int|sys||_lwp_ctl(int features, \ 619 struct lwpctl **address); } 620; Syscalls 326-339 reserved for LWP syscalls. 621326 UNIMPL 622327 UNIMPL 623328 UNIMPL 624329 UNIMPL 625; SA system calls. 626330 STD { int|sys||sa_register(sa_upcall_t new, \ 627 sa_upcall_t *old, int flags, \ 628 ssize_t stackinfo_offset); } 629331 STD { int|sys||sa_stacks(int num, stack_t *stacks); } 630332 STD { int|sys||sa_enable(void); } 631333 STD { int|sys||sa_setconcurrency(int concurrency); } 632334 STD { int|sys||sa_yield(void); } 633335 STD { int|sys||sa_preempt(int sa_id); } 634336 OBSOL sys_sa_unblockyield 635; 636; Syscalls 337-339 are reserved for other scheduler activation syscalls. 637; 638337 UNIMPL 639338 UNIMPL 640339 UNIMPL 641340 STD { int|sys||__sigaction_sigtramp(int signum, \ 642 const struct sigaction *nsa, \ 643 struct sigaction *osa, \ 644 const void *tramp, int vers); } 645341 STD { int|sys||pmc_get_info(int ctr, int op, void *args); } 646342 STD { int|sys||pmc_control(int ctr, int op, void *args); } 647343 STD { int|sys||rasctl(void *addr, size_t len, int op); } 648344 STD RUMP { int|sys||kqueue(void); } 649345 COMPAT_50 MODULAR { int|sys||kevent(int fd, \ 650 const struct kevent *changelist, size_t nchanges, \ 651 struct kevent *eventlist, size_t nevents, \ 652 const struct timespec50 *timeout); } 653 654; Scheduling system calls. 655346 STD { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, \ 656 int policy, const struct sched_param *params); } 657347 STD { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, \ 658 int *policy, struct sched_param *params); } 659348 STD { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, \ 660 size_t size, const cpuset_t *cpuset); } 661349 STD { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, \ 662 size_t size, cpuset_t *cpuset); } 663350 STD { int|sys||sched_yield(void); } 664351 UNIMPL 665352 UNIMPL 666353 UNIMPL 667 668354 STD RUMP { int|sys||fsync_range(int fd, int flags, off_t start, \ 669 off_t length); } 670355 STD { int|sys||uuidgen(struct uuid *store, int count); } 671356 STD RUMP { int|sys||getvfsstat(struct statvfs *buf, \ 672 size_t bufsize, int flags); } 673357 STD RUMP { int|sys||statvfs1(const char *path, \ 674 struct statvfs *buf, int flags); } 675358 STD RUMP { int|sys||fstatvfs1(int fd, struct statvfs *buf, \ 676 int flags); } 677359 COMPAT_30 MODULAR { int|sys||fhstatvfs1(const struct compat_30_fhandle *fhp, \ 678 struct statvfs *buf, int flags); } 679360 STD RUMP { int|sys||extattrctl(const char *path, int cmd, \ 680 const char *filename, int attrnamespace, \ 681 const char *attrname); } 682361 STD RUMP { int|sys||extattr_set_file(const char *path, \ 683 int attrnamespace, const char *attrname, \ 684 const void *data, size_t nbytes); } 685362 STD RUMP { ssize_t|sys||extattr_get_file(const char *path, \ 686 int attrnamespace, const char *attrname, \ 687 void *data, size_t nbytes); } 688363 STD RUMP { int|sys||extattr_delete_file(const char *path, \ 689 int attrnamespace, const char *attrname); } 690364 STD RUMP { int|sys||extattr_set_fd(int fd, \ 691 int attrnamespace, const char *attrname, \ 692 const void *data, size_t nbytes); } 693365 STD RUMP { ssize_t|sys||extattr_get_fd(int fd, \ 694 int attrnamespace, const char *attrname, \ 695 void *data, size_t nbytes); } 696366 STD RUMP { int|sys||extattr_delete_fd(int fd, \ 697 int attrnamespace, const char *attrname); } 698367 STD RUMP { int|sys||extattr_set_link(const char *path, \ 699 int attrnamespace, const char *attrname, \ 700 const void *data, size_t nbytes); } 701368 STD RUMP { ssize_t|sys||extattr_get_link(const char *path, \ 702 int attrnamespace, const char *attrname, \ 703 void *data, size_t nbytes); } 704369 STD RUMP { int|sys||extattr_delete_link(const char *path, \ 705 int attrnamespace, const char *attrname); } 706370 STD RUMP { ssize_t|sys||extattr_list_fd(int fd, \ 707 int attrnamespace, void *data, size_t nbytes); } 708371 STD RUMP { ssize_t|sys||extattr_list_file(const char *path, \ 709 int attrnamespace, void *data, size_t nbytes); } 710372 STD RUMP { ssize_t|sys||extattr_list_link(const char *path, \ 711 int attrnamespace, void *data, size_t nbytes); } 712373 COMPAT_50 MODULAR { int|sys||pselect(int nd, fd_set *in, fd_set *ou, \ 713 fd_set *ex, const struct timespec50 *ts, \ 714 const sigset_t *mask); } 715374 COMPAT_50 MODULAR { int|sys||pollts(struct pollfd *fds, u_int nfds, \ 716 const struct timespec50 *ts, const sigset_t *mask); } 717375 STD RUMP { int|sys||setxattr(const char *path, \ 718 const char *name, void *value, size_t size, \ 719 int flags); } 720376 STD RUMP { int|sys||lsetxattr(const char *path, \ 721 const char *name, void *value, size_t size, \ 722 int flags); } 723377 STD RUMP { int|sys||fsetxattr(int fd, \ 724 const char *name, void *value, size_t size, \ 725 int flags); } 726378 STD RUMP { int|sys||getxattr(const char *path, \ 727 const char *name, void *value, size_t size); } 728379 STD RUMP { int|sys||lgetxattr(const char *path, \ 729 const char *name, void *value, size_t size); } 730380 STD RUMP { int|sys||fgetxattr(int fd, \ 731 const char *name, void *value, size_t size); } 732381 STD RUMP { int|sys||listxattr(const char *path, \ 733 char *list, size_t size); } 734382 STD RUMP { int|sys||llistxattr(const char *path, \ 735 char *list, size_t size); } 736383 STD RUMP { int|sys||flistxattr(int fd, \ 737 char *list, size_t size); } 738384 STD RUMP { int|sys||removexattr(const char *path, \ 739 const char *name); } 740385 STD RUMP { int|sys||lremovexattr(const char *path, \ 741 const char *name); } 742386 STD RUMP { int|sys||fremovexattr(int fd, \ 743 const char *name); } 744387 COMPAT_50 MODULAR { int|sys|30|stat(const char *path, struct stat30 *ub); } 745388 COMPAT_50 MODULAR { int|sys|30|fstat(int fd, struct stat30 *sb); } 746389 COMPAT_50 MODULAR { int|sys|30|lstat(const char *path, struct stat30 *ub); } 747390 STD RUMP { int|sys|30|getdents(int fd, char *buf, size_t count); } 748391 IGNORED old posix_fadvise 749392 COMPAT_30 MODULAR { int|sys|30|fhstat(const struct compat_30_fhandle \ 750 *fhp, struct stat30 *sb); } 751393 COMPAT_50 MODULAR { int|sys|30|ntp_gettime(struct ntptimeval50 *ntvp); } 752394 STD RUMP { int|sys|30|socket(int domain, int type, int protocol); } 753395 STD RUMP { int|sys|30|getfh(const char *fname, void *fhp, \ 754 size_t *fh_size); } 755396 STD RUMP { int|sys|40|fhopen(const void *fhp, size_t fh_size,\ 756 int flags); } 757397 STD RUMP { int|sys|40|fhstatvfs1(const void *fhp, \ 758 size_t fh_size, struct statvfs *buf, int flags); } 759398 COMPAT_50 MODULAR { int|sys|40|fhstat(const void *fhp, \ 760 size_t fh_size, struct stat30 *sb); } 761 762; Asynchronous I/O system calls 763399 STD MODULAR { int|sys||aio_cancel(int fildes, struct aiocb *aiocbp); } 764400 STD MODULAR { int|sys||aio_error(const struct aiocb *aiocbp); } 765401 STD MODULAR { int|sys||aio_fsync(int op, struct aiocb *aiocbp); } 766402 STD MODULAR { int|sys||aio_read(struct aiocb *aiocbp); } 767403 STD MODULAR { int|sys||aio_return(struct aiocb *aiocbp); } 768404 COMPAT_50 MODULAR { int|sys||aio_suspend(const struct aiocb *const *list, \ 769 int nent, const struct timespec50 *timeout); } 770405 STD MODULAR { int|sys||aio_write(struct aiocb *aiocbp); } 771406 STD MODULAR { int|sys||lio_listio(int mode, struct aiocb *const *list, \ 772 int nent, struct sigevent *sig); } 773 774407 UNIMPL 775408 UNIMPL 776409 UNIMPL 777 778410 STD RUMP { int|sys|50|mount(const char *type, \ 779 const char *path, int flags, void *data, \ 780 size_t data_len); } 781411 STD { void *|sys||mremap(void *old_address, size_t old_size, \ 782 void *new_address, size_t new_size, int flags); } 783 784; Processor-sets system calls 785412 STD { int|sys||pset_create(psetid_t *psid); } 786413 STD { int|sys||pset_destroy(psetid_t psid); } 787414 STD { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, \ 788 psetid_t *opsid); } 789415 STD { int|sys||_pset_bind(idtype_t idtype, id_t first_id, \ 790 id_t second_id, psetid_t psid, psetid_t *opsid); } 791416 STD { int|sys|50|posix_fadvise(int fd, int PAD, \ 792 off_t offset, off_t len, int advice); } 793417 STD RUMP { int|sys|50|select(int nd, fd_set *in, fd_set *ou, \ 794 fd_set *ex, struct timeval *tv); } 795418 STD { int|sys|50|gettimeofday(struct timeval *tp, \ 796 void *tzp); } 797419 STD { int|sys|50|settimeofday(const struct timeval *tv, \ 798 const void *tzp); } 799420 STD RUMP { int|sys|50|utimes(const char *path, \ 800 const struct timeval *tptr); } 801421 STD { int|sys|50|adjtime(const struct timeval *delta, \ 802 struct timeval *olddelta); } 803422 STD MODULAR { int|sys|50|lfs_segwait(fsid_t *fsidp, \ 804 struct timeval *tv); } 805423 STD RUMP { int|sys|50|futimes(int fd, \ 806 const struct timeval *tptr); } 807424 STD RUMP { int|sys|50|lutimes(const char *path, \ 808 const struct timeval *tptr); } 809425 STD { int|sys|50|setitimer(int which, \ 810 const struct itimerval *itv, \ 811 struct itimerval *oitv); } 812426 STD { int|sys|50|getitimer(int which, \ 813 struct itimerval *itv); } 814427 STD { int|sys|50|clock_gettime(clockid_t clock_id, \ 815 struct timespec *tp); } 816428 STD { int|sys|50|clock_settime(clockid_t clock_id, \ 817 const struct timespec *tp); } 818429 STD { int|sys|50|clock_getres(clockid_t clock_id, \ 819 struct timespec *tp); } 820430 STD { int|sys|50|nanosleep(const struct timespec *rqtp, \ 821 struct timespec *rmtp); } 822431 STD { int|sys|50|__sigtimedwait(const sigset_t *set, \ 823 siginfo_t *info, \ 824 struct timespec *timeout); } 825432 STD MODULAR { int|sys|50|mq_timedsend(mqd_t mqdes, \ 826 const char *msg_ptr, size_t msg_len, \ 827 unsigned msg_prio, \ 828 const struct timespec *abs_timeout); } 829433 STD MODULAR { ssize_t|sys|50|mq_timedreceive(mqd_t mqdes, \ 830 char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 831 const struct timespec *abs_timeout); } 832434 STD { int|sys|50|_lwp_park(const struct timespec *ts, \ 833 lwpid_t unpark, const void *hint, \ 834 const void *unparkhint); } 835435 STD RUMP { int|sys|50|kevent(int fd, \ 836 const struct kevent *changelist, size_t nchanges, \ 837 struct kevent *eventlist, size_t nevents, \ 838 const struct timespec *timeout); } 839436 STD RUMP { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, \ 840 fd_set *ex, const struct timespec *ts, \ 841 const sigset_t *mask); } 842437 STD RUMP { int|sys|50|pollts(struct pollfd *fds, u_int nfds, \ 843 const struct timespec *ts, const sigset_t *mask); } 844438 STD MODULAR { int|sys|50|aio_suspend( \ 845 const struct aiocb *const *list, \ 846 int nent, const struct timespec *timeout); } 847439 STD RUMP { int|sys|50|stat(const char *path, struct stat *ub); } 848440 STD RUMP { int|sys|50|fstat(int fd, struct stat *sb); } 849441 STD RUMP { int|sys|50|lstat(const char *path, struct stat *ub); } 850#if defined(SYSVSEM) || !defined(_KERNEL_OPT) 851442 STD { int|sys|50|__semctl(int semid, int semnum, int cmd, \ 852 ... union __semun *arg); } 853#else 854442 EXCL ____semctl50 855#endif 856#if defined(SYSVSHM) || !defined(_KERNEL_OPT) 857443 STD { int|sys|50|shmctl(int shmid, int cmd, \ 858 struct shmid_ds *buf); } 859#else 860443 EXCL ____shmctl50 861#endif 862#if defined(SYSVMSG) || !defined(_KERNEL_OPT) 863444 STD { int|sys|50|msgctl(int msqid, int cmd, \ 864 struct msqid_ds *buf); } 865#else 866444 EXCL ____msgctl50 867#endif 868445 STD { int|sys|50|getrusage(int who, struct rusage *rusage); } 869446 STD { int|sys|50|timer_settime(timer_t timerid, \ 870 int flags, const struct itimerspec *value, \ 871 struct itimerspec *ovalue); } 872447 STD { int|sys|50|timer_gettime(timer_t timerid, struct \ 873 itimerspec *value); } 874#if defined(NTP) || !defined(_KERNEL_OPT) 875448 STD { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } 876#else 877448 EXCL ___ntp_gettime50 878#endif 879449 STD { int|sys|50|wait4(int pid, int *status, \ 880 int options, struct rusage *rusage); } 881450 STD RUMP { int|sys|50|mknod(const char *path, mode_t mode, \ 882 dev_t dev); } 883451 STD RUMP { int|sys|50|fhstat(const void *fhp, \ 884 size_t fh_size, struct stat *sb); } 885