syscalls.master revision 1.118
1 $NetBSD: syscalls.master,v 1.118 2003/01/18 10:06:35 thorpej 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, NODEF, NOARGS, or one of 11; the compatibility options defined in syscalls.conf. 12; 13; An optional field, MPSAFE, after the type field, indicates that 14; the system call is MP-safe. 15; 16; types: 17; STD always included 18; OBSOL obsolete, not included in system 19; UNIMPL unimplemented, not included in system 20; EXCL implemented, but not included in system 21; NODEF included, but don't define the syscall number 22; NOARGS included, but don't define the syscall args structure 23; INDIR included, but don't define the syscall args structure, 24; and allow it to be "really" varargs. 25; 26; The compat options are defined in the syscalls.conf file, and the 27; compat option name is prefixed to the syscall name. Other than 28; that, they're like NODEF (for 'compat' options), or STD (for 29; 'libcompat' options). 30; 31; The type-dependent arguments are as follows: 32; For STD, NODEF, NOARGS, and compat syscalls: 33; { pseudo-proto } [alias] 34; For other syscalls: 35; [comment] 36; 37; #ifdef's, etc. may be included, and are copied to the output files. 38; #include's are copied to the syscall names and switch definition files only. 39 40#include "opt_ktrace.h" 41#include "opt_nfsserver.h" 42#include "opt_ntp.h" 43#include "opt_compat_netbsd.h" 44#include "opt_sysv.h" 45#include "opt_compat_43.h" 46 47#include "fs_lfs.h" 48#include "fs_nfs.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/sa.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 number, ...); } 661 STD { void sys_exit(int rval); } 672 STD { int sys_fork(void); } 683 STD { ssize_t sys_read(int fd, void *buf, size_t nbyte); } 694 STD { ssize_t sys_write(int fd, const void *buf, \ 70 size_t nbyte); } 715 STD { int sys_open(const char *path, \ 72 int flags, ... mode_t mode); } 736 STD { int sys_close(int fd); } 747 STD { int sys_wait4(int pid, int *status, int options, \ 75 struct rusage *rusage); } 768 COMPAT_43 { int sys_creat(const char *path, mode_t mode); } ocreat 779 STD { int sys_link(const char *path, const char *link); } 7810 STD { int sys_unlink(const char *path); } 7911 OBSOL execv 8012 STD { int sys_chdir(const char *path); } 8113 STD { int sys_fchdir(int fd); } 8214 STD { int sys_mknod(const char *path, mode_t mode, \ 83 dev_t dev); } 8415 STD { int sys_chmod(const char *path, mode_t mode); } 8516 STD { int sys_chown(const char *path, uid_t uid, \ 86 gid_t gid); } 8717 STD { int sys_obreak(char *nsize); } break 8818 STD { int sys_getfsstat(struct statfs *buf, long bufsize, \ 89 int flags); } 9019 COMPAT_43 { long sys_lseek(int fd, long offset, int whence); } \ 91 olseek 92#ifdef COMPAT_43 9320 STD { pid_t sys_getpid_with_ppid(void); } getpid 94#else 9520 STD MPSAFE { pid_t sys_getpid(void); } 96#endif 9721 STD { int sys_mount(const char *type, const char *path, \ 98 int flags, void *data); } 9922 STD { int sys_unmount(const char *path, int flags); } 10023 STD { int sys_setuid(uid_t uid); } 101#ifdef COMPAT_43 10224 STD { uid_t sys_getuid_with_euid(void); } getuid 103#else 10424 STD { uid_t sys_getuid(void); } 105#endif 10625 STD { uid_t sys_geteuid(void); } 10726 STD { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ 108 int data); } 10927 STD { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ 110 int flags); } 11128 STD { ssize_t sys_sendmsg(int s, \ 112 const struct msghdr *msg, int flags); } 11329 STD { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ 114 int flags, struct sockaddr *from, \ 115 unsigned int *fromlenaddr); } 11630 STD { int sys_accept(int s, struct sockaddr *name, \ 117 unsigned int *anamelen); } 11831 STD { int sys_getpeername(int fdes, struct sockaddr *asa, \ 119 unsigned int *alen); } 12032 STD { int sys_getsockname(int fdes, struct sockaddr *asa, \ 121 unsigned int *alen); } 12233 STD { int sys_access(const char *path, int flags); } 12334 STD { int sys_chflags(const char *path, u_long flags); } 12435 STD { int sys_fchflags(int fd, u_long flags); } 12536 STD { void sys_sync(void); } 12637 STD { int sys_kill(int pid, int signum); } 12738 COMPAT_43 { int sys_stat(const char *path, struct stat43 *ub); } \ 128 stat43 12939 STD { pid_t sys_getppid(void); } 13040 COMPAT_43 { int sys_lstat(const char *path, \ 131 struct stat43 *ub); } lstat43 13241 STD { int sys_dup(int fd); } 13342 STD { int sys_pipe(void); } 13443 STD { gid_t sys_getegid(void); } 13544 STD { int sys_profil(caddr_t samples, size_t size, \ 136 u_long offset, u_int scale); } 137#if defined(KTRACE) || !defined(_KERNEL) 13845 STD { int sys_ktrace(const char *fname, int ops, \ 139 int facs, int pid); } 140#else 14145 EXCL ktrace 142#endif 14346 COMPAT_13 { int sys_sigaction(int signum, \ 144 const struct sigaction13 *nsa, \ 145 struct sigaction13 *osa); } sigaction13 146#ifdef COMPAT_43 14747 STD { gid_t sys_getgid_with_egid(void); } getgid 148#else 14947 STD { gid_t sys_getgid(void); } 150#endif 15148 COMPAT_13 { int sys_sigprocmask(int how, \ 152 int mask); } sigprocmask13 15349 STD { int sys___getlogin(char *namebuf, size_t namelen); } 15450 STD { int sys___setlogin(const char *namebuf); } 15551 STD { int sys_acct(const char *path); } 15652 COMPAT_13 { int sys_sigpending(void); } sigpending13 15753 COMPAT_13 { int sys_sigaltstack( \ 158 const struct sigaltstack13 *nss, \ 159 struct sigaltstack13 *oss); } sigaltstack13 16054 STD { int sys_ioctl(int fd, \ 161 u_long com, ... void *data); } 16255 COMPAT_12 { int sys_reboot(int opt); } oreboot 16356 STD { int sys_revoke(const char *path); } 16457 STD { int sys_symlink(const char *path, \ 165 const char *link); } 16658 STD { int sys_readlink(const char *path, char *buf, \ 167 size_t count); } 16859 STD { int sys_execve(const char *path, \ 169 char * const *argp, char * const *envp); } 17060 STD { mode_t sys_umask(mode_t newmask); } 17161 STD { int sys_chroot(const char *path); } 17262 COMPAT_43 { int sys_fstat(int fd, struct stat43 *sb); } fstat43 17363 COMPAT_43 { int sys_getkerninfo(int op, char *where, int *size, \ 174 int arg); } ogetkerninfo 17564 COMPAT_43 { int sys_getpagesize(void); } ogetpagesize 17665 COMPAT_12 { int sys_msync(caddr_t addr, size_t len); } 177; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)? 17866 STD { int sys_vfork(void); } 17967 OBSOL vread 18068 OBSOL vwrite 18169 STD { int sys_sbrk(intptr_t incr); } 18270 STD { int sys_sstk(int incr); } 18371 COMPAT_43 { int sys_mmap(caddr_t addr, size_t len, int prot, \ 184 int flags, int fd, long pos); } ommap 18572 STD { int sys_ovadvise(int anom); } vadvise 18673 STD { int sys_munmap(void *addr, size_t len); } 18774 STD { int sys_mprotect(void *addr, size_t len, \ 188 int prot); } 18975 STD { int sys_madvise(void *addr, size_t len, \ 190 int behav); } 19176 OBSOL vhangup 19277 OBSOL vlimit 19378 STD { int sys_mincore(void *addr, size_t len, \ 194 char *vec); } 19579 STD { int sys_getgroups(int gidsetsize, \ 196 gid_t *gidset); } 19780 STD { int sys_setgroups(int gidsetsize, \ 198 const gid_t *gidset); } 19981 STD { int sys_getpgrp(void); } 20082 STD { int sys_setpgid(int pid, int pgid); } 20183 STD { int sys_setitimer(int which, \ 202 const struct itimerval *itv, \ 203 struct itimerval *oitv); } 20484 COMPAT_43 { int sys_wait(void); } owait 20585 COMPAT_12 { int sys_swapon(const char *name); } oswapon 20686 STD { int sys_getitimer(int which, \ 207 struct itimerval *itv); } 20887 COMPAT_43 { int sys_gethostname(char *hostname, u_int len); } \ 209 ogethostname 21088 COMPAT_43 { int sys_sethostname(char *hostname, u_int len); } \ 211 osethostname 21289 COMPAT_43 { int sys_getdtablesize(void); } ogetdtablesize 21390 STD { int sys_dup2(int from, int to); } 21491 UNIMPL getdopt 21592 STD { int sys_fcntl(int fd, int cmd, ... void *arg); } 21693 STD { int sys_select(int nd, fd_set *in, fd_set *ou, \ 217 fd_set *ex, struct timeval *tv); } 21894 UNIMPL setdopt 21995 STD { int sys_fsync(int fd); } 22096 STD { int sys_setpriority(int which, int who, int prio); } 22197 STD { int sys_socket(int domain, int type, int protocol); } 22298 STD { int sys_connect(int s, const struct sockaddr *name, \ 223 unsigned int namelen); } 22499 COMPAT_43 { int sys_accept(int s, caddr_t name, \ 225 int *anamelen); } oaccept 226100 STD { int sys_getpriority(int which, int who); } 227101 COMPAT_43 { int sys_send(int s, caddr_t buf, int len, \ 228 int flags); } osend 229102 COMPAT_43 { int sys_recv(int s, caddr_t buf, int len, \ 230 int flags); } orecv 231103 COMPAT_13 { int sys_sigreturn(struct sigcontext13 *sigcntxp); } \ 232 sigreturn13 233104 STD { int sys_bind(int s, const struct sockaddr *name, \ 234 unsigned int namelen); } 235105 STD { int sys_setsockopt(int s, int level, int name, \ 236 const void *val, unsigned int valsize); } 237106 STD { int sys_listen(int s, int backlog); } 238107 OBSOL vtimes 239108 COMPAT_43 { int sys_sigvec(int signum, struct sigvec *nsv, \ 240 struct sigvec *osv); } osigvec 241109 COMPAT_43 { int sys_sigblock(int mask); } osigblock 242110 COMPAT_43 { int sys_sigsetmask(int mask); } osigsetmask 243111 COMPAT_13 { int sys_sigsuspend(int mask); } sigsuspend13 244112 COMPAT_43 { int sys_sigstack(struct sigstack *nss, \ 245 struct sigstack *oss); } osigstack 246113 COMPAT_43 { int sys_recvmsg(int s, struct omsghdr *msg, \ 247 int flags); } orecvmsg 248114 COMPAT_43 { int sys_sendmsg(int s, caddr_t msg, int flags); } \ 249 osendmsg 250115 OBSOL vtrace 251116 STD { int sys_gettimeofday(struct timeval *tp, \ 252 struct timezone *tzp); } 253117 STD { int sys_getrusage(int who, struct rusage *rusage); } 254118 STD { int sys_getsockopt(int s, int level, int name, \ 255 void *val, unsigned int *avalsize); } 256119 OBSOL resuba 257120 STD { ssize_t sys_readv(int fd, \ 258 const struct iovec *iovp, int iovcnt); } 259121 STD { ssize_t sys_writev(int fd, \ 260 const struct iovec *iovp, int iovcnt); } 261122 STD { int sys_settimeofday(const struct timeval *tv, \ 262 const struct timezone *tzp); } 263123 STD { int sys_fchown(int fd, uid_t uid, gid_t gid); } 264124 STD { int sys_fchmod(int fd, mode_t mode); } 265125 COMPAT_43 { int sys_recvfrom(int s, caddr_t buf, size_t len, \ 266 int flags, caddr_t from, int *fromlenaddr); } \ 267 orecvfrom 268126 STD { int sys_setreuid(uid_t ruid, uid_t euid); } 269127 STD { int sys_setregid(gid_t rgid, gid_t egid); } 270128 STD { int sys_rename(const char *from, const char *to); } 271129 COMPAT_43 { int sys_truncate(const char *path, long length); } \ 272 otruncate 273130 COMPAT_43 { int sys_ftruncate(int fd, long length); } oftruncate 274131 STD { int sys_flock(int fd, int how); } 275132 STD { int sys_mkfifo(const char *path, mode_t mode); } 276133 STD { ssize_t sys_sendto(int s, const void *buf, \ 277 size_t len, int flags, const struct sockaddr *to, \ 278 unsigned int tolen); } 279134 STD { int sys_shutdown(int s, int how); } 280135 STD { int sys_socketpair(int domain, int type, \ 281 int protocol, int *rsv); } 282136 STD { int sys_mkdir(const char *path, mode_t mode); } 283137 STD { int sys_rmdir(const char *path); } 284138 STD { int sys_utimes(const char *path, \ 285 const struct timeval *tptr); } 286139 OBSOL 4.2 sigreturn 287140 STD { int sys_adjtime(const struct timeval *delta, \ 288 struct timeval *olddelta); } 289141 COMPAT_43 { int sys_getpeername(int fdes, caddr_t asa, \ 290 int *alen); } ogetpeername 291142 COMPAT_43 { int32_t sys_gethostid(void); } ogethostid 292143 COMPAT_43 { int sys_sethostid(int32_t hostid); } osethostid 293144 COMPAT_43 { int sys_getrlimit(int which, \ 294 struct orlimit *rlp); } ogetrlimit 295145 COMPAT_43 { int sys_setrlimit(int which, \ 296 const struct orlimit *rlp); } osetrlimit 297146 COMPAT_43 { int sys_killpg(int pgid, int signum); } okillpg 298147 STD { int sys_setsid(void); } 299148 STD { int sys_quotactl(const char *path, int cmd, \ 300 int uid, caddr_t arg); } 301149 COMPAT_43 { int sys_quota(void); } oquota 302150 COMPAT_43 { int sys_getsockname(int fdec, caddr_t asa, \ 303 int *alen); } ogetsockname 304 305; Syscalls 151-180 inclusive are reserved for vendor-specific 306; system calls. (This includes various calls added for compatibity 307; with other Unix variants.) 308; Some of these calls are now supported by BSD... 309151 UNIMPL 310152 UNIMPL 311153 UNIMPL 312154 UNIMPL 313#if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL) 314155 STD { int sys_nfssvc(int flag, void *argp); } 315#else 316155 EXCL nfssvc 317#endif 318156 COMPAT_43 { int sys_getdirentries(int fd, char *buf, \ 319 u_int count, long *basep); } ogetdirentries 320157 STD { int sys_statfs(const char *path, \ 321 struct statfs *buf); } 322158 STD { int sys_fstatfs(int fd, struct statfs *buf); } 323159 UNIMPL 324160 UNIMPL 325161 STD { int sys_getfh(const char *fname, fhandle_t *fhp); } 326162 COMPAT_09 { int sys_getdomainname(char *domainname, int len); } \ 327 ogetdomainname 328163 COMPAT_09 { int sys_setdomainname(char *domainname, int len); } \ 329 osetdomainname 330164 COMPAT_09 { int sys_uname(struct outsname *name); } ouname 331165 STD { int sys_sysarch(int op, void *parms); } 332166 UNIMPL 333167 UNIMPL 334168 UNIMPL 335; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 336#if (defined(SYSVSEM) || !defined(_KERNEL)) && !defined(_LP64) 337169 COMPAT_10 { int sys_semsys(int which, int a2, int a3, int a4, \ 338 int a5); } osemsys 339#else 340169 EXCL 1.0 semsys 341#endif 342; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 343#if (defined(SYSVMSG) || !defined(_KERNEL)) && !defined(_LP64) 344170 COMPAT_10 { int sys_msgsys(int which, int a2, int a3, int a4, \ 345 int a5, int a6); } omsgsys 346#else 347170 EXCL 1.0 msgsys 348#endif 349; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 350#if (defined(SYSVSHM) || !defined(_KERNEL)) && !defined(_LP64) 351171 COMPAT_10 { int sys_shmsys(int which, int a2, int a3, int a4); } \ 352 oshmsys 353#else 354171 EXCL 1.0 shmsys 355#endif 356172 UNIMPL 357173 STD { ssize_t sys_pread(int fd, void *buf, \ 358 size_t nbyte, int pad, off_t offset); } 359174 STD { ssize_t sys_pwrite(int fd, const void *buf, \ 360 size_t nbyte, int pad, off_t offset); } 361; For some reason, ntp_gettime doesn't want to raise SIGSYS when it's excluded. 362175 STD { int sys_ntp_gettime(struct ntptimeval *ntvp); } 363#if defined(NTP) || !defined(_KERNEL) 364176 STD { int sys_ntp_adjtime(struct timex *tp); } 365#else 366176 EXCL ntp_adjtime 367#endif 368177 UNIMPL 369178 UNIMPL 370179 UNIMPL 371180 UNIMPL 372 373; Syscalls 180-199 are used by/reserved for BSD 374181 STD { int sys_setgid(gid_t gid); } 375182 STD { int sys_setegid(gid_t egid); } 376183 STD { int sys_seteuid(uid_t euid); } 377#if defined(LFS) || !defined(_KERNEL) 378184 STD { int sys_lfs_bmapv(fsid_t *fsidp, \ 379 struct block_info *blkiov, int blkcnt); } 380185 STD { int sys_lfs_markv(fsid_t *fsidp, \ 381 struct block_info *blkiov, int blkcnt); } 382186 STD { int sys_lfs_segclean(fsid_t *fsidp, u_long segment); } 383187 STD { int sys_lfs_segwait(fsid_t *fsidp, \ 384 struct timeval *tv); } 385#else 386184 EXCL lfs_bmapv 387185 EXCL lfs_markv 388186 EXCL lfs_segclean 389187 EXCL lfs_segwait 390#endif 391188 COMPAT_12 { int sys_stat(const char *path, struct stat12 *ub); } \ 392 stat12 393189 COMPAT_12 { int sys_fstat(int fd, struct stat12 *sb); } fstat12 394190 COMPAT_12 { int sys_lstat(const char *path, \ 395 struct stat12 *ub); } lstat12 396191 STD { long sys_pathconf(const char *path, int name); } 397192 STD { long sys_fpathconf(int fd, int name); } 398193 UNIMPL 399194 STD { int sys_getrlimit(int which, \ 400 struct rlimit *rlp); } 401195 STD { int sys_setrlimit(int which, \ 402 const struct rlimit *rlp); } 403196 COMPAT_12 { int sys_getdirentries(int fd, char *buf, \ 404 u_int count, long *basep); } 405197 STD { void *sys_mmap(void *addr, size_t len, int prot, \ 406 int flags, int fd, long pad, off_t pos); } 407198 INDIR { quad_t sys___syscall(quad_t num, ...); } 408199 STD { off_t sys_lseek(int fd, int pad, off_t offset, \ 409 int whence); } 410200 STD { int sys_truncate(const char *path, int pad, \ 411 off_t length); } 412201 STD { int sys_ftruncate(int fd, int pad, off_t length); } 413202 STD { int sys___sysctl(int *name, u_int namelen, \ 414 void *old, size_t *oldlenp, void *new, \ 415 size_t newlen); } 416203 STD { int sys_mlock(const void *addr, size_t len); } 417204 STD { int sys_munlock(const void *addr, size_t len); } 418205 STD { int sys_undelete(const char *path); } 419206 STD { int sys_futimes(int fd, \ 420 const struct timeval *tptr); } 421207 STD { pid_t sys_getpgid(pid_t pid); } 422208 STD { int sys_reboot(int opt, char *bootstr); } 423209 STD { int sys_poll(struct pollfd *fds, u_int nfds, \ 424 int timeout); } 425; 426; Syscalls 210-219 are reserved for dynamically loaded syscalls 427; 428#if defined(LKM) || !defined(_KERNEL) 429210 NODEF { int sys_lkmnosys(void); } 430211 NODEF { int sys_lkmnosys(void); } 431212 NODEF { int sys_lkmnosys(void); } 432213 NODEF { int sys_lkmnosys(void); } 433214 NODEF { int sys_lkmnosys(void); } 434215 NODEF { int sys_lkmnosys(void); } 435216 NODEF { int sys_lkmnosys(void); } 436217 NODEF { int sys_lkmnosys(void); } 437218 NODEF { int sys_lkmnosys(void); } 438219 NODEF { int sys_lkmnosys(void); } 439#else /* !LKM */ 440210 EXCL lkmnosys 441211 EXCL lkmnosys 442212 EXCL lkmnosys 443213 EXCL lkmnosys 444214 EXCL lkmnosys 445215 EXCL lkmnosys 446216 EXCL lkmnosys 447217 EXCL lkmnosys 448218 EXCL lkmnosys 449219 EXCL lkmnosys 450#endif /* !LKM */ 451; System calls 220-300 are reserved for use by NetBSD 452#if defined(SYSVSEM) || !defined(_KERNEL) 453220 COMPAT_14 { int sys___semctl(int semid, int semnum, int cmd, \ 454 union __semun *arg); } 455221 STD { int sys_semget(key_t key, int nsems, int semflg); } 456222 STD { int sys_semop(int semid, struct sembuf *sops, \ 457 size_t nsops); } 458223 STD { int sys_semconfig(int flag); } 459#else 460220 EXCL compat_14_semctl 461221 EXCL semget 462222 EXCL semop 463223 EXCL semconfig 464#endif 465#if defined(SYSVMSG) || !defined(_KERNEL) 466224 COMPAT_14 { int sys_msgctl(int msqid, int cmd, \ 467 struct msqid_ds14 *buf); } 468225 STD { int sys_msgget(key_t key, int msgflg); } 469226 STD { int sys_msgsnd(int msqid, const void *msgp, \ 470 size_t msgsz, int msgflg); } 471227 STD { ssize_t sys_msgrcv(int msqid, void *msgp, \ 472 size_t msgsz, long msgtyp, int msgflg); } 473#else 474224 EXCL compat_14_msgctl 475225 EXCL msgget 476226 EXCL msgsnd 477227 EXCL msgrcv 478#endif 479#if defined(SYSVSHM) || !defined(_KERNEL) 480228 STD { void *sys_shmat(int shmid, const void *shmaddr, \ 481 int shmflg); } 482229 COMPAT_14 { int sys_shmctl(int shmid, int cmd, \ 483 struct shmid_ds14 *buf); } 484230 STD { int sys_shmdt(const void *shmaddr); } 485231 STD { int sys_shmget(key_t key, size_t size, int shmflg); } 486#else 487228 EXCL shmat 488229 EXCL compat_14_shmctl 489230 EXCL shmdt 490231 EXCL shmget 491#endif 492232 STD { int sys_clock_gettime(clockid_t clock_id, \ 493 struct timespec *tp); } 494233 STD { int sys_clock_settime(clockid_t clock_id, \ 495 const struct timespec *tp); } 496234 STD { int sys_clock_getres(clockid_t clock_id, \ 497 struct timespec *tp); } 498235 STD { int sys_timer_create(clockid_t clock_id, \ 499 struct sigevent *evp, timer_t *timerid); } 500236 STD { int sys_timer_delete(timer_t timerid); } 501237 STD { int sys_timer_settime(timer_t timerid, int flags, \ 502 const struct itimerspec *value, \ 503 struct itimerspec *ovalue); } 504238 STD { int sys_timer_gettime(timer_t timerid, struct \ 505 itimerspec *value); } 506239 STD { int sys_timer_getoverrun(timer_t timerid); } 507; 508; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 509; 510240 STD { int sys_nanosleep(const struct timespec *rqtp, \ 511 struct timespec *rmtp); } 512241 STD { int sys_fdatasync(int fd); } 513242 STD { int sys_mlockall(int flags); } 514243 STD { int sys_munlockall(void); } 515244 UNIMPL sys_sigwaitinfo 516245 UNIMPL sys_sigtimedwait 517246 UNIMPL sys_sigqueue 518247 UNIMPL 519248 UNIMPL 520249 UNIMPL 521250 UNIMPL 522251 UNIMPL 523252 UNIMPL 524253 UNIMPL 525254 UNIMPL 526255 UNIMPL 527256 UNIMPL 528257 UNIMPL 529258 UNIMPL 530259 UNIMPL 531260 UNIMPL 532261 UNIMPL 533262 UNIMPL 534263 UNIMPL 535264 UNIMPL 536265 UNIMPL 537266 UNIMPL 538267 UNIMPL 539268 UNIMPL 540269 UNIMPL 541270 STD { int sys___posix_rename(const char *from, \ 542 const char *to); } 543271 STD { int sys_swapctl(int cmd, const void *arg, int misc); } 544272 STD { int sys_getdents(int fd, char *buf, size_t count); } 545273 STD { int sys_minherit(void *addr, size_t len, \ 546 int inherit); } 547274 STD { int sys_lchmod(const char *path, mode_t mode); } 548275 STD { int sys_lchown(const char *path, uid_t uid, \ 549 gid_t gid); } 550276 STD { int sys_lutimes(const char *path, \ 551 const struct timeval *tptr); } 552277 STD { int sys___msync13(void *addr, size_t len, int flags); } 553278 STD { int sys___stat13(const char *path, struct stat *ub); } 554279 STD { int sys___fstat13(int fd, struct stat *sb); } 555280 STD { int sys___lstat13(const char *path, struct stat *ub); } 556281 STD { int sys___sigaltstack14( \ 557 const struct sigaltstack *nss, \ 558 struct sigaltstack *oss); } 559282 STD { int sys___vfork14(void); } 560283 STD { int sys___posix_chown(const char *path, uid_t uid, \ 561 gid_t gid); } 562284 STD { int sys___posix_fchown(int fd, uid_t uid, \ 563 gid_t gid); } 564285 STD { int sys___posix_lchown(const char *path, uid_t uid, \ 565 gid_t gid); } 566286 STD { pid_t sys_getsid(pid_t pid); } 567287 STD { pid_t sys___clone(int flags, void *stack); } 568#if defined(KTRACE) || !defined(_KERNEL) 569288 STD { int sys_fktrace(const int fd, int ops, \ 570 int facs, int pid); } 571#else 572288 EXCL ktrace 573#endif 574289 STD { ssize_t sys_preadv(int fd, \ 575 const struct iovec *iovp, int iovcnt, \ 576 int pad, off_t offset); } 577290 STD { ssize_t sys_pwritev(int fd, \ 578 const struct iovec *iovp, int iovcnt, \ 579 int pad, off_t offset); } 580291 STD { int sys___sigaction14(int signum, \ 581 const struct sigaction *nsa, \ 582 struct sigaction *osa); } 583292 STD { int sys___sigpending14(sigset_t *set); } 584293 STD { int sys___sigprocmask14(int how, \ 585 const sigset_t *set, \ 586 sigset_t *oset); } 587294 STD { int sys___sigsuspend14(const sigset_t *set); } 588295 STD { int sys___sigreturn14(struct sigcontext *sigcntxp); } 589296 STD { int sys___getcwd(char *bufp, size_t length); } 590297 STD { int sys_fchroot(int fd); } 591298 STD { int sys_fhopen(const fhandle_t *fhp, int flags); } 592299 STD { int sys_fhstat(const fhandle_t *fhp, \ 593 struct stat *sb); } 594300 STD { int sys_fhstatfs(const fhandle_t *fhp, \ 595 struct statfs *buf); } 596#if defined(SYSVSEM) || !defined(_KERNEL) 597301 STD { int sys_____semctl13(int semid, int semnum, int cmd, \ 598 ... union __semun *arg); } 599#else 600301 EXCL ____semctl13 601#endif 602#if defined(SYSVMSG) || !defined(_KERNEL) 603302 STD { int sys___msgctl13(int msqid, int cmd, \ 604 struct msqid_ds *buf); } 605#else 606302 EXCL __msgctl13 607#endif 608#if defined(SYSVSHM) || !defined(_KERNEL) 609303 STD { int sys___shmctl13(int shmid, int cmd, \ 610 struct shmid_ds *buf); } 611#else 612303 EXCL __shmctl13 613#endif 614304 STD { int sys_lchflags(const char *path, u_long flags); } 615305 STD { int sys_issetugid(void); } 616306 STD { int sys_utrace(const char *label, void *addr, \ 617 size_t len); } 618307 STD { int sys_getcontext(struct __ucontext *ucp); } 619308 STD { int sys_setcontext(const struct __ucontext *ucp); } 620309 STD { int sys__lwp_create(const struct __ucontext *ucp, \ 621 u_long flags, lwpid_t *new_lwp); } 622310 STD { int sys__lwp_exit(void); } 623311 STD { lwpid_t sys__lwp_self(void); } 624312 STD { int sys__lwp_wait(lwpid_t wait_for, \ 625 lwpid_t *departed); } 626313 STD { int sys__lwp_suspend(lwpid_t target); } 627314 STD { int sys__lwp_continue(lwpid_t target); } 628315 STD { int sys__lwp_wakeup(lwpid_t target); } 629316 STD { void *sys__lwp_getprivate(void); } 630317 STD { int sys__lwp_setprivate(void *ptr); } 631; Syscalls 318-329 reserved for remaining Solaris-compatible LWP calls. 632318 UNIMPL 633319 UNIMPL 634320 UNIMPL 635321 UNIMPL 636322 UNIMPL 637323 UNIMPL 638324 UNIMPL 639325 UNIMPL 640326 UNIMPL 641327 UNIMPL 642328 UNIMPL 643329 UNIMPL 644; Scheduler activation syscalls 645330 STD { int sys_sa_register(sa_upcall_t new, \ 646 sa_upcall_t *old, int flags); } 647331 STD { int sys_sa_stacks(int num, stack_t *stacks); } 648332 STD { int sys_sa_enable(void); } 649333 STD { int sys_sa_setconcurrency(int concurrency); } 650334 STD { int sys_sa_yield(void); } 651335 STD { int sys_sa_preempt(int sa_id); } 652; 653; Syscalls 336-339 are reserved for other scheduler activation syscalls. 654; 655336 UNIMPL 656337 UNIMPL 657338 UNIMPL 658339 UNIMPL 659340 STD { int sys___sigaction_sigtramp(int signum, \ 660 const struct sigaction *nsa, \ 661 struct sigaction *osa, \ 662 void *tramp, int vers); } 663341 STD { int sys_pmc_get_info(int ctr, int op, void *args); } 664342 STD { int sys_pmc_control(int ctr, int op, void *args); } 665343 STD { int sys_rasctl(caddr_t addr, size_t len, int op); } 666344 STD { int sys_kqueue(void); } 667345 STD { int sys_kevent(int fd, \ 668 const struct kevent *changelist, size_t nchanges, \ 669 struct kevent *eventlist, size_t nevents, \ 670 const struct timespec *timeout); } 671