$NetBSD: syscalls.master,v 1.11 2004/05/08 14:31:59 kent Exp $ ; based on NetBSD: syscalls.master,v 1.128 2003/03/18 18:08:49 christos Exp ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; NetBSD system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; An optional field, MPSAFE, after the type field, indicates that ; the system call is MP-safe. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; EXCL implemented, but not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure, ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_ktrace.h" #include "opt_nfsserver.h" #include "opt_ntp.h" #include "opt_compat_netbsd.h" #include "opt_sysv.h" #include "opt_compat_43.h" #include "opt_posix.h" #include "fs_lfs.h" #include "fs_nfs.h" #endif #include #include #include #include #include #include #include %% ; Reserved/unimplemented system calls in the range 0-150 inclusive ; are reserved for use in future Berkeley releases. ; Additional system calls implemented in vendor and other ; redistributions should be placed in the reserved range at the end ; of the current calls. 0 INDIR { int sys_syscall(int number, ...); } 1 NOARGS { void sys_exit(int rval); } 2 NOARGS { int sys_fork(void); } 3 NOARGS { ssize_t sys_read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t sys_write(int fd, const void *buf, \ size_t nbyte); } 5 STD { int pecoff_sys_open(const char *path, \ int flags, ... mode_t mode); } 6 NOARGS { int sys_close(int fd); } 7 NOARGS { int sys_wait4(int pid, int *status, int options, \ struct rusage *rusage); } 8 EXCL { int sys_creat(const char *path, mode_t mode); } ocreat 9 STD { int pecoff_sys_link(const char *path, \ const char *link); } 10 STD { int pecoff_sys_unlink(const char *path); } 11 OBSOL execv 12 STD { int pecoff_sys_chdir(const char *path); } 13 NOARGS { int sys_fchdir(int fd); } 14 NOARGS { int sys_mknod(const char *path, mode_t mode, \ dev_t dev); } 15 STD { int pecoff_sys_chmod(const char *path, mode_t mode); } 16 STD { int pecoff_sys_chown(const char *path, uid_t uid, \ gid_t gid); } 17 NOARGS { int sys_obreak(char *nsize); } break #ifdef COMPAT_20 18 NOARGS { int compat_20_sys_getfsstat(struct statfs12 *buf, \ long bufsize, int flags); } #else 18 EXCL compat_20_sys_getfsstat #endif 19 EXCL { long sys_lseek(int fd, long offset, int whence); } \ olseek #ifdef COMPAT_43 20 NOARGS { pid_t sys_getpid_with_ppid(void); } getpid #else 20 NOARGS MPSAFE { pid_t sys_getpid(void); } #endif 21 NOARGS { int sys_mount(const char *type, const char *path, \ int flags, void *data); } 22 STD { int pecoff_sys_unmount(const char *path, int flags); } 23 NOARGS { int sys_setuid(uid_t uid); } #ifdef COMPAT_43 24 NOARGS { uid_t sys_getuid_with_euid(void); } getuid #else 24 NOARGS { uid_t sys_getuid(void); } #endif 25 NOARGS { uid_t sys_geteuid(void); } 26 NOARGS { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ int data); } 27 NOARGS { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ int flags); } 28 NOARGS { ssize_t sys_sendmsg(int s, \ const struct msghdr *msg, int flags); } 29 NOARGS { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ int flags, struct sockaddr *from, \ unsigned int *fromlenaddr); } 30 NOARGS { int sys_accept(int s, struct sockaddr *name, \ unsigned int *anamelen); } 31 NOARGS { int sys_getpeername(int fdes, struct sockaddr *asa, \ unsigned int *alen); } 32 NOARGS { int sys_getsockname(int fdes, struct sockaddr *asa, \ unsigned int *alen); } 33 STD { int pecoff_sys_access(const char *path, int flags); } 34 STD { int pecoff_sys_chflags(const char *path, \ u_long flags); } 35 NOARGS { int sys_fchflags(int fd, u_long flags); } 36 NOARGS { void sys_sync(void); } 37 NOARGS { int sys_kill(int pid, int signum); } 38 EXCL { int pecoff_compat_43_sys_stat(const char *path, \ struct stat43 *ub); } stat43 39 NOARGS { pid_t sys_getppid(void); } 40 EXCL { int pecoff_compat_43_sys_lstat(const char *path, \ struct stat43 *ub); } lstat43 41 NOARGS { int sys_dup(int fd); } 42 NOARGS { int sys_pipe(void); } 43 NOARGS { gid_t sys_getegid(void); } 44 NOARGS { int sys_profil(caddr_t samples, size_t size, \ u_long offset, u_int scale); } #if defined(KTRACE) || !defined(_KERNEL) 45 NOARGS { int sys_ktrace(const char *fname, int ops, \ int facs, int pid); } #else 45 EXCL ktrace #endif 46 EXCL { int sys_sigaction(int signum, \ const struct sigaction13 *nsa, \ struct sigaction13 *osa); } sigaction13 #ifdef COMPAT_43 47 NOARGS { gid_t sys_getgid_with_egid(void); } getgid #else 47 NOARGS { gid_t sys_getgid(void); } #endif 48 EXCL { int sys_sigprocmask(int how, \ int mask); } sigprocmask13 49 NOARGS { int sys___getlogin(char *namebuf, size_t namelen); } 50 NOARGS { int sys___setlogin(const char *namebuf); } 51 NOARGS { int sys_acct(const char *path); } 52 EXCL { int sys_sigpending(void); } sigpending13 53 EXCL { int sys_sigaltstack( \ const struct sigaltstack13 *nss, \ struct sigaltstack13 *oss); } sigaltstack13 54 NOARGS { int sys_ioctl(int fd, \ u_long com, ... void *data); } 55 EXCL { int sys_reboot(int opt); } oreboot 56 STD { int pecoff_sys_revoke(const char *path); } 57 STD { int pecoff_sys_symlink(const char *path, \ const char *link); } 58 STD { int pecoff_sys_readlink(const char *path, char *buf, \ size_t count); } 59 STD { int pecoff_sys_execve(const char *path, \ char * const *argp, char * const *envp); } 60 NOARGS { mode_t sys_umask(mode_t newmask); } 61 STD { int pecoff_sys_chroot(const char *path); } 62 EXCL { int sys_fstat(int fd, struct stat43 *sb); } fstat43 63 EXCL { int sys_getkerninfo(int op, char *where, int *size, \ int arg); } ogetkerninfo 64 EXCL { int sys_getpagesize(void); } ogetpagesize 65 EXCL { int sys_msync(caddr_t addr, size_t len); } ; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)? 66 NOARGS { int sys_vfork(void); } 67 OBSOL vread 68 OBSOL vwrite 69 NOARGS { int sys_sbrk(intptr_t incr); } 70 NOARGS { int sys_sstk(int incr); } 71 EXCL { int sys_mmap(caddr_t addr, size_t len, int prot, \ int flags, int fd, long pos); } ommap 72 NOARGS { int sys_ovadvise(int anom); } vadvise 73 NOARGS { int sys_munmap(void *addr, size_t len); } 74 NOARGS { int sys_mprotect(void *addr, size_t len, \ int prot); } 75 NOARGS { int sys_madvise(void *addr, size_t len, \ int behav); } 76 OBSOL vhangup 77 OBSOL vlimit 78 NOARGS { int sys_mincore(void *addr, size_t len, \ char *vec); } 79 NOARGS { int sys_getgroups(int gidsetsize, \ gid_t *gidset); } 80 NOARGS { int sys_setgroups(int gidsetsize, \ const gid_t *gidset); } 81 NOARGS { int sys_getpgrp(void); } 82 NOARGS { int sys_setpgid(int pid, int pgid); } 83 NOARGS { int sys_setitimer(int which, \ const struct itimerval *itv, \ struct itimerval *oitv); } 84 EXCL { int sys_wait(void); } owait 85 EXCL { int sys_swapon(const char *name); } oswapon 86 NOARGS { int sys_getitimer(int which, \ struct itimerval *itv); } 87 EXCL { int sys_gethostname(char *hostname, u_int len); } \ ogethostname 88 EXCL { int sys_sethostname(char *hostname, u_int len); } \ osethostname 89 EXCL { int sys_getdtablesize(void); } ogetdtablesize 90 NOARGS { int sys_dup2(int from, int to); } 91 UNIMPL getdopt 92 NOARGS { int sys_fcntl(int fd, int cmd, ... void *arg); } 93 NOARGS { int sys_select(int nd, fd_set *in, fd_set *ou, \ fd_set *ex, struct timeval *tv); } 94 UNIMPL setdopt 95 NOARGS { int sys_fsync(int fd); } 96 NOARGS { int sys_setpriority(int which, int who, int prio); } 97 NOARGS { int sys_socket(int domain, int type, int protocol); } 98 NOARGS { int sys_connect(int s, const struct sockaddr *name, \ unsigned int namelen); } 99 EXCL { int sys_accept(int s, caddr_t name, \ int *anamelen); } oaccept 100 NOARGS { int sys_getpriority(int which, int who); } 101 EXCL { int sys_send(int s, caddr_t buf, int len, \ int flags); } osend 102 EXCL { int sys_recv(int s, caddr_t buf, int len, \ int flags); } orecv 103 EXCL { int sys_sigreturn(struct sigcontext13 *sigcntxp); } \ sigreturn13 104 NOARGS { int sys_bind(int s, const struct sockaddr *name, \ unsigned int namelen); } 105 NOARGS { int sys_setsockopt(int s, int level, int name, \ const void *val, unsigned int valsize); } 106 NOARGS { int sys_listen(int s, int backlog); } 107 OBSOL vtimes 108 EXCL { int sys_sigvec(int signum, struct sigvec *nsv, \ struct sigvec *osv); } osigvec 109 EXCL { int sys_sigblock(int mask); } osigblock 110 EXCL { int sys_sigsetmask(int mask); } osigsetmask 111 EXCL { int sys_sigsuspend(int mask); } sigsuspend13 112 EXCL { int sys_sigstack(struct sigstack *nss, \ struct sigstack *oss); } osigstack 113 EXCL { int sys_recvmsg(int s, struct omsghdr *msg, \ int flags); } orecvmsg 114 EXCL { int sys_sendmsg(int s, caddr_t msg, int flags); } \ osendmsg 115 OBSOL vtrace 116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 118 NOARGS { int sys_getsockopt(int s, int level, int name, \ void *val, unsigned int *avalsize); } 119 OBSOL resuba 120 NOARGS { ssize_t sys_readv(int fd, \ const struct iovec *iovp, int iovcnt); } 121 NOARGS { ssize_t sys_writev(int fd, \ const struct iovec *iovp, int iovcnt); } 122 NOARGS { int sys_settimeofday(const struct timeval *tv, \ const struct timezone *tzp); } 123 NOARGS { int sys_fchown(int fd, uid_t uid, gid_t gid); } 124 NOARGS { int sys_fchmod(int fd, mode_t mode); } 125 EXCL { int sys_recvfrom(int s, caddr_t buf, size_t len, \ int flags, caddr_t from, int *fromlenaddr); } \ orecvfrom 126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 128 STD { int pecoff_sys_rename(const char *from, \ const char *to); } 129 EXCL { int pecoff_compat_43_sys_truncate(const char *path, \ long length); } otruncate 130 EXCL { int sys_ftruncate(int fd, long length); } oftruncate 131 NOARGS { int sys_flock(int fd, int how); } 132 NOARGS { int sys_mkfifo(const char *path, mode_t mode); } 133 NOARGS { ssize_t sys_sendto(int s, const void *buf, \ size_t len, int flags, const struct sockaddr *to, \ unsigned int tolen); } 134 NOARGS { int sys_shutdown(int s, int how); } 135 NOARGS { int sys_socketpair(int domain, int type, \ int protocol, int *rsv); } 136 NOARGS { int sys_mkdir(const char *path, mode_t mode); } 137 STD { int pecoff_sys_rmdir(const char *path); } 138 STD { int pecoff_sys_utimes(const char *path, \ const struct timeval *tptr); } 139 OBSOL 4.2 sigreturn 140 NOARGS { int sys_adjtime(const struct timeval *delta, \ struct timeval *olddelta); } 141 EXCL { int sys_getpeername(int fdes, caddr_t asa, \ int *alen); } ogetpeername 142 EXCL { int32_t sys_gethostid(void); } ogethostid 143 EXCL { int sys_sethostid(int32_t hostid); } osethostid 144 EXCL { int sys_getrlimit(int which, \ struct orlimit *rlp); } ogetrlimit 145 EXCL { int sys_setrlimit(int which, \ const struct orlimit *rlp); } osetrlimit 146 EXCL { int sys_killpg(int pgid, int signum); } okillpg 147 NOARGS { int sys_setsid(void); } 148 NOARGS { int sys_quotactl(const char *path, int cmd, \ int uid, caddr_t arg); } 149 EXCL { int sys_quota(void); } oquota 150 EXCL { int sys_getsockname(int fdec, caddr_t asa, \ int *alen); } ogetsockname ; Syscalls 151-180 inclusive are reserved for vendor-specific ; system calls. (This includes various calls added for compatibity ; with other Unix variants.) ; Some of these calls are now supported by BSD... 151 UNIMPL 152 UNIMPL 153 UNIMPL 154 UNIMPL #if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL) 155 NOARGS { int sys_nfssvc(int flag, void *argp); } #else 155 EXCL nfssvc #endif 156 EXCL { int sys_getdirentries(int fd, char *buf, \ u_int count, long *basep); } ogetdirentries 157 STD { int pecoff_sys_statfs(const char *path, \ struct statvfs12 *buf); } #ifdef COMPAT_20 158 NOARGS { int compat_20_sys_fstatfs(int fd, \ struct statfs12 *buf); } #else 158 EXCL compat_20_sys_fstatfs #endif 159 UNIMPL 160 UNIMPL 161 STD { int pecoff_sys_getfh(const char *fname, \ fhandle_t *fhp); } 162 EXCL { int sys_getdomainname(char *domainname, int len); } \ ogetdomainname 163 EXCL { int sys_setdomainname(char *domainname, int len); } \ osetdomainname 164 EXCL { int sys_uname(struct outsname *name); } ouname 165 NOARGS { int sys_sysarch(int op, void *parms); } 166 UNIMPL 167 UNIMPL 168 UNIMPL ; XXX more generally, never on machines where sizeof(void *) != sizeof(int) #if (defined(SYSVSEM) || !defined(_KERNEL)) && !defined(_LP64) 169 EXCL { int sys_semsys(int which, int a2, int a3, int a4, \ int a5); } osemsys #else 169 EXCL 1.0 semsys #endif ; XXX more generally, never on machines where sizeof(void *) != sizeof(int) #if (defined(SYSVMSG) || !defined(_KERNEL)) && !defined(_LP64) 170 EXCL { int sys_msgsys(int which, int a2, int a3, int a4, \ int a5, int a6); } omsgsys #else 170 EXCL 1.0 msgsys #endif ; XXX more generally, never on machines where sizeof(void *) != sizeof(int) #if (defined(SYSVSHM) || !defined(_KERNEL)) && !defined(_LP64) 171 EXCL { int sys_shmsys(int which, int a2, int a3, int a4); } \ oshmsys #else 171 EXCL 1.0 shmsys #endif 172 UNIMPL 173 NOARGS { ssize_t sys_pread(int fd, void *buf, \ size_t nbyte, int pad, off_t offset); } 174 NOARGS { ssize_t sys_pwrite(int fd, const void *buf, \ size_t nbyte, int pad, off_t offset); } ; For some reason, ntp_gettime doesn't want to raise SIGSYS when it's excluded. 175 NOARGS { int sys_ntp_gettime(struct ntptimeval *ntvp); } #if defined(NTP) || !defined(_KERNEL) 176 NOARGS { int sys_ntp_adjtime(struct timex *tp); } #else 176 EXCL ntp_adjtime #endif 177 UNIMPL 178 UNIMPL 179 UNIMPL 180 UNIMPL ; Syscalls 180-199 are used by/reserved for BSD 181 NOARGS { int sys_setgid(gid_t gid); } 182 NOARGS { int sys_setegid(gid_t egid); } 183 NOARGS { int sys_seteuid(uid_t euid); } #if defined(LFS) || !defined(_KERNEL) 184 NOARGS { int sys_lfs_bmapv(fsid_t *fsidp, \ struct block_info *blkiov, int blkcnt); } 185 NOARGS { int sys_lfs_markv(fsid_t *fsidp, \ struct block_info *blkiov, int blkcnt); } 186 NOARGS { int sys_lfs_segclean(fsid_t *fsidp, u_long segment); } 187 NOARGS { int sys_lfs_segwait(fsid_t *fsidp, \ struct timeval *tv); } #else 184 EXCL lfs_bmapv 185 EXCL lfs_markv 186 EXCL lfs_segclean 187 EXCL lfs_segwait #endif 188 EXCL { int pecoff_compat_12_sys_stat(const char *path, \ struct stat12 *ub); } stat12 189 EXCL { int sys_fstat(int fd, struct stat12 *sb); } fstat12 190 EXCL { int pecoff_compat_12_sys_lstat(const char *path, \ struct stat12 *ub); } lstat12 191 STD { long pecoff_sys_pathconf(const char *path, int name); } 192 NOARGS { long sys_fpathconf(int fd, int name); } 193 UNIMPL 194 NOARGS { int sys_getrlimit(int which, \ struct rlimit *rlp); } 195 NOARGS { int sys_setrlimit(int which, \ const struct rlimit *rlp); } 196 EXCL { int sys_getdirentries(int fd, char *buf, \ u_int count, long *basep); } 197 NOARGS { void *sys_mmap(void *addr, size_t len, int prot, \ int flags, int fd, long pad, off_t pos); } 198 INDIR { quad_t sys___syscall(quad_t num, ...); } 199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ int whence); } 200 STD { int pecoff_sys_truncate(const char *path, int pad, \ off_t length); } 201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ void *old, size_t *oldlenp, void *new, \ size_t newlen); } 203 NOARGS { int sys_mlock(const void *addr, size_t len); } 204 NOARGS { int sys_munlock(const void *addr, size_t len); } 205 STD { int pecoff_sys_undelete(const char *path); } 206 NOARGS { int sys_futimes(int fd, \ const struct timeval *tptr); } 207 NOARGS { pid_t sys_getpgid(pid_t pid); } 208 NOARGS { int sys_reboot(int opt, char *bootstr); } 209 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ int timeout); } ; ; Syscalls 210-219 are reserved for dynamically loaded syscalls ; #if defined(LKM) || !defined(_KERNEL) 210 NODEF { int sys_lkmnosys(void); } 211 NODEF { int sys_lkmnosys(void); } 212 NODEF { int sys_lkmnosys(void); } 213 NODEF { int sys_lkmnosys(void); } 214 NODEF { int sys_lkmnosys(void); } 215 NODEF { int sys_lkmnosys(void); } 216 NODEF { int sys_lkmnosys(void); } 217 NODEF { int sys_lkmnosys(void); } 218 NODEF { int sys_lkmnosys(void); } 219 NODEF { int sys_lkmnosys(void); } #else /* !LKM */ 210 EXCL lkmnosys 211 EXCL lkmnosys 212 EXCL lkmnosys 213 EXCL lkmnosys 214 EXCL lkmnosys 215 EXCL lkmnosys 216 EXCL lkmnosys 217 EXCL lkmnosys 218 EXCL lkmnosys 219 EXCL lkmnosys #endif /* !LKM */ ; System calls 220-300 are reserved for use by NetBSD #if defined(SYSVSEM) || !defined(_KERNEL) 220 EXCL { int sys___semctl(int semid, int semnum, int cmd, \ union __semun *arg); } 221 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 222 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 223 NOARGS { int sys_semconfig(int flag); } #else 220 EXCL compat_14_semctl 221 EXCL semget 222 EXCL semop 223 EXCL semconfig #endif #if defined(SYSVMSG) || !defined(_KERNEL) 224 EXCL { int sys_msgctl(int msqid, int cmd, \ struct msqid_ds14 *buf); } 225 NOARGS { int sys_msgget(key_t key, int msgflg); } 226 NOARGS { int sys_msgsnd(int msqid, const void *msgp, \ size_t msgsz, int msgflg); } 227 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } #else 224 EXCL compat_14_msgctl 225 EXCL msgget 226 EXCL msgsnd 227 EXCL msgrcv #endif #if defined(SYSVSHM) || !defined(_KERNEL) 228 NOARGS { void *sys_shmat(int shmid, const void *shmaddr, \ int shmflg); } 229 EXCL { int sys_shmctl(int shmid, int cmd, \ struct shmid_ds14 *buf); } 230 NOARGS { int sys_shmdt(const void *shmaddr); } 231 NOARGS { int sys_shmget(key_t key, size_t size, int shmflg); } #else 228 EXCL shmat 229 EXCL compat_14_shmctl 230 EXCL shmdt 231 EXCL shmget #endif 232 NOARGS { int sys_clock_gettime(clockid_t clock_id, \ struct timespec *tp); } 233 NOARGS { int sys_clock_settime(clockid_t clock_id, \ const struct timespec *tp); } 234 NOARGS { int sys_clock_getres(clockid_t clock_id, \ struct timespec *tp); } 235 NOARGS { int sys_timer_create(clockid_t clock_id, \ struct sigevent *evp, timer_t *timerid); } 236 NOARGS { int sys_timer_delete(timer_t timerid); } 237 NOARGS { int sys_timer_settime(timer_t timerid, int flags, \ const struct itimerspec *value, \ struct itimerspec *ovalue); } 238 NOARGS { int sys_timer_gettime(timer_t timerid, struct \ itimerspec *value); } 239 NOARGS { int sys_timer_getoverrun(timer_t timerid); } ; ; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls ; 240 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ struct timespec *rmtp); } 241 NOARGS { int sys_fdatasync(int fd); } 242 NOARGS { int sys_mlockall(int flags); } 243 NOARGS { int sys_munlockall(void); } 244 NOARGS { int sys___sigtimedwait(const sigset_t *set, \ siginfo_t *info, \ struct timespec *timeout); } 245 UNIMPL sys_sigqueue ; ; Syscall 246 is free for any use ; 246 UNIMPL #if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL) 247 NOARGS { int sys__ksem_init(unsigned int value, semid_t *idp); } 248 NOARGS { int sys__ksem_open(const char *name, int oflag, \ mode_t mode, unsigned int value, semid_t *idp); } 249 NOARGS { int sys__ksem_unlink(const char *name); } 250 NOARGS { int sys__ksem_close(semid_t id); } 251 NOARGS { int sys__ksem_post(semid_t id); } 252 NOARGS { int sys__ksem_wait(semid_t id); } 253 NOARGS { int sys__ksem_trywait(semid_t id); } 254 NOARGS { int sys__ksem_getvalue(semid_t id, \ unsigned int *value); } 255 NOARGS { int sys__ksem_destroy(semid_t id); } 256 UNIMPL sys__ksem_timedwait #else 247 EXCL sys__ksem_init 248 EXCL sys__ksem_open 249 EXCL sys__ksem_unlink 250 EXCL sys__ksem_close 251 EXCL sys__ksem_post 252 EXCL sys__ksem_wait 253 EXCL sys__ksem_trywait 254 EXCL sys__ksem_getvalue 255 EXCL sys__ksem_destroy 256 UNIMPL sys__ksem_timedwait #endif 257 UNIMPL sys_mq_open 258 UNIMPL sys_mq_close 259 UNIMPL sys_mq_unlink 260 UNIMPL sys_mq_getattr 261 UNIMPL sys_mq_setattr 262 UNIMPL sys_mq_notify 263 UNIMPL sys_mq_send 264 UNIMPL sys_mq_receive 265 UNIMPL sys_mq_timedsend 266 UNIMPL sys_mq_timedreceive 267 UNIMPL 268 UNIMPL 269 UNIMPL 270 STD { int pecoff_sys___posix_rename(const char *from, \ const char *to); } 271 NOARGS { int sys_swapctl(int cmd, const void *arg, int misc); } 272 NOARGS { int sys_getdents(int fd, char *buf, size_t count); } 273 NOARGS { int sys_minherit(void *addr, size_t len, \ int inherit); } 274 STD { int pecoff_sys_lchmod(const char *path, mode_t mode); } 275 STD { int pecoff_sys_lchown(const char *path, uid_t uid, \ gid_t gid); } 276 STD { int pecoff_sys_lutimes(const char *path, \ const struct timeval *tptr); } 277 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } 278 STD { int pecoff_sys___stat13(const char *path, \ struct stat *ub); } 279 NOARGS { int sys___fstat13(int fd, struct stat *sb); } 280 STD { int pecoff_sys___lstat13(const char *path, \ struct stat *ub); } 281 NOARGS { int sys___sigaltstack14( \ const struct sigaltstack *nss, \ struct sigaltstack *oss); } 282 NOARGS { int sys___vfork14(void); } 283 STD { int pecoff_sys___posix_chown(const char *path, \ uid_t uid, gid_t gid); } 284 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \ gid_t gid); } 285 STD { int pecoff_sys___posix_lchown(const char *path, uid_t uid, \ gid_t gid); } 286 NOARGS { pid_t sys_getsid(pid_t pid); } 287 NOARGS { pid_t sys___clone(int flags, void *stack); } #if defined(KTRACE) || !defined(_KERNEL) 288 NOARGS { int sys_fktrace(const int fd, int ops, \ int facs, int pid); } #else 288 EXCL ktrace #endif 289 NOARGS { ssize_t sys_preadv(int fd, \ const struct iovec *iovp, int iovcnt, \ int pad, off_t offset); } 290 NOARGS { ssize_t sys_pwritev(int fd, \ const struct iovec *iovp, int iovcnt, \ int pad, off_t offset); } #ifdef COMPAT_16 291 NOARGS { int compat_16_sys___sigaction14(int signum, \ const struct sigaction *nsa, \ struct sigaction *osa); } #else 291 EXCL compat_16_sys___sigaction14 #endif 292 NOARGS { int sys___sigpending14(sigset_t *set); } 293 NOARGS { int sys___sigprocmask14(int how, \ const sigset_t *set, \ sigset_t *oset); } 294 NOARGS { int sys___sigsuspend14(const sigset_t *set); } 295 NOARGS { int compat_16_sys___sigreturn14(struct sigcontext *sigcntxp); } 296 NOARGS { int sys___getcwd(char *bufp, size_t length); } 297 NOARGS { int sys_fchroot(int fd); } 298 NOARGS { int sys_fhopen(const fhandle_t *fhp, int flags); } 299 NOARGS { int sys_fhstat(const fhandle_t *fhp, \ struct stat *sb); } #ifdef COMPAT_20 300 NOARGS { int compat_20_sys_fhstatfs(const fhandle_t *fhp, \ struct statfs12 *buf); } #else 300 EXCL compat_20_sys_fhstatfs #endif #if defined(SYSVSEM) || !defined(_KERNEL) 301 NOARGS { int sys_____semctl13(int semid, int semnum, int cmd, \ ... union __semun *arg); } #else 301 EXCL ____semctl13 #endif #if defined(SYSVMSG) || !defined(_KERNEL) 302 NOARGS { int sys___msgctl13(int msqid, int cmd, \ struct msqid_ds *buf); } #else 302 EXCL __msgctl13 #endif #if defined(SYSVSHM) || !defined(_KERNEL) 303 NOARGS { int sys___shmctl13(int shmid, int cmd, \ struct shmid_ds *buf); } #else 303 EXCL __shmctl13 #endif 304 STD { int pecoff_sys_lchflags(const char *path, u_long flags); } 305 NOARGS { int sys_issetugid(void); } 306 NOARGS { int sys_utrace(const char *label, void *addr, \ size_t len); } 307 NOARGS { int sys_getcontext(struct __ucontext *ucp); } 308 NOARGS { int sys_setcontext(const struct __ucontext *ucp); } 309 NOARGS { int sys__lwp_create(const struct __ucontext *ucp, \ u_long flags, lwpid_t *new_lwp); } 310 NOARGS { int sys__lwp_exit(void); } 311 NOARGS { lwpid_t sys__lwp_self(void); } 312 NOARGS { int sys__lwp_wait(lwpid_t wait_for, \ lwpid_t *departed); } 313 NOARGS { int sys__lwp_suspend(lwpid_t target); } 314 NOARGS { int sys__lwp_continue(lwpid_t target); } 315 NOARGS { int sys__lwp_wakeup(lwpid_t target); } 316 NOARGS { void *sys__lwp_getprivate(void); } 317 NOARGS { void sys__lwp_setprivate(void *ptr); } ; Syscalls 318-329 reserved for remaining Solaris-compatible LWP calls. 318 UNIMPL 319 UNIMPL 320 UNIMPL 321 UNIMPL 322 UNIMPL 323 UNIMPL 324 UNIMPL 325 UNIMPL 326 UNIMPL 327 UNIMPL 328 UNIMPL 329 UNIMPL ; Scheduler activation syscalls 330 NOARGS { int sys_sa_register(sa_upcall_t new, \ sa_upcall_t *old, int flags); } 331 NOARGS { int sys_sa_stacks(int num, stack_t *stacks); } 332 NOARGS { int sys_sa_enable(void); } 333 NOARGS { int sys_sa_setconcurrency(int concurrency); } 334 NOARGS { int sys_sa_yield(void); } 335 NOARGS { int sys_sa_preempt(int sa_id); } ; ; Syscalls 336-339 are reserved for other scheduler activation syscalls. ; 336 UNIMPL 337 UNIMPL 338 UNIMPL 339 UNIMPL 340 NOARGS { int sys___sigaction_sigtramp(int signum, \ const struct sigaction *nsa, \ struct sigaction *osa, \ void *tramp, int vers); } 341 NOARGS { int sys_pmc_get_info(int ctr, int op, void *args); } 342 NOARGS { int sys_pmc_control(int ctr, int op, void *args); } 343 NOARGS { int sys_rasctl(caddr_t addr, size_t len, int op); } 344 NOARGS { int sys_kqueue(void); } 345 NOARGS { int sys_kevent(int fd, \ const struct kevent *changelist, size_t nchanges, \ struct kevent *eventlist, size_t nevents, \ const struct timespec *timeout); } ; ; Syscalls 346-353 are reserved for the IEEE Std1003.1b scheduling syscalls ; 346 UNIMPL sys_sched_setparam 347 UNIMPL sys_sched_getparam 348 UNIMPL sys_sched_setscheduler 349 UNIMPL sys_sched_getscheduler 350 UNIMPL sys_sched_yield 351 UNIMPL sys_sched_get_priority_max 352 UNIMPL sys_sched_get_priority_min 353 UNIMPL sys_sched_rr_get_interval 354 NOARGS { int sys_fsync_range(int fd, int flags, off_t start, \ off_t length); } 355 NOARGS { int sys_uuidgen(struct uuid *store, int count); } 356 NOARGS { int sys_getvfsstat(struct statvfs *buf, \ size_t bufsize, int flags); } 357 NOARGS { int sys_statvfs1(const char *path, \ struct statvfs *buf, int flags); } 358 NOARGS { int sys_fstatvfs1(int fd, struct statvfs *buf, \ int flags); } 359 NOARGS { int sys_fhstatvfs1(const fhandle_t *fhp, \ struct statvfs *buf, int flags); }