1 $NetBSD: syscalls.master,v 1.53 2006/09/01 20:58:18 matt Exp $ 2 3; from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp 4; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 5 6; NetBSD system call name/number "master" file. 7; (See syscalls.conf to see what it is processed into.) 8; 9; Fields: number type [type-dependent ...] 10; number system call number, must be in order 11; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 12; the compatibility options defined in syscalls.conf. 13; 14; types: 15; STD always included 16; OBSOL obsolete, not included in system 17; UNIMPL unimplemented, not included in system 18; EXCL implemented, but not included in system 19; NODEF included, but don't define the syscall number 20; NOARGS included, but don't define the syscall args structure 21; INDIR included, but don't define the syscall args structure, 22; and allow it to be "really" varargs. 23; 24; The compat options are defined in the syscalls.conf file, and the 25; compat option name is prefixed to the syscall name. Other than 26; that, they're like NODEF (for 'compat' options), or STD (for 27; 'libcompat' options). 28; 29; The type-dependent arguments are as follows: 30; For STD, NODEF, NOARGS, and compat syscalls: 31; { pseudo-proto } [alias] 32; For other syscalls: 33; [comment] 34; 35; #ifdef's, etc. may be included, and are copied to the output files. 36; #include's are copied to the syscall names and switch definition files only. 37 38#if defined(_KERNEL_OPT) 39#include "opt_ktrace.h" 40#include "opt_nfsserver.h" 41#include "opt_compat_netbsd.h" 42#include "opt_ntp.h" 43#include "opt_sysv.h" 44#include "opt_compat_43.h" 45#include "opt_posix.h" 46 47#include "fs_lfs.h" 48#include "fs_nfs.h" 49#endif 50 51#include <sys/param.h> 52#include <sys/systm.h> 53#include <sys/signal.h> 54#include <sys/mount.h> 55#include <sys/sa.h> 56#include <sys/syscallargs.h> 57 58#include <compat/netbsd32/netbsd32.h> 59#include <compat/netbsd32/netbsd32_syscallargs.h> 60 61%% 62 63; Reserved/unimplemented system calls in the range 0-150 inclusive 64; are reserved for use in future Berkeley releases. 65; Additional system calls implemented in vendor and other 66; redistributions should be placed in the reserved range at the end 67; of the current calls. 68 690 INDIR { int sys_syscall(int number, ...); } 701 STD { void netbsd32_exit(int rval); } 712 NOARGS { int sys_fork(void); } 723 STD { netbsd32_ssize_t netbsd32_read(int fd, netbsd32_voidp buf, netbsd32_size_t nbyte); } 734 STD { netbsd32_ssize_t netbsd32_write(int fd, const netbsd32_voidp buf, netbsd32_size_t nbyte); } 745 STD { int netbsd32_open(const netbsd32_charp path, int flags, ... mode_t mode); } 756 STD { int netbsd32_close(int fd); } 767 STD { int netbsd32_wait4(int pid, netbsd32_intp status, int options, netbsd32_rusagep_t rusage); } 778 COMPAT_43 { int netbsd32_ocreat(const netbsd32_charp path, mode_t mode); } 789 STD { int netbsd32_link(const netbsd32_charp path, const netbsd32_charp link); } 7910 STD { int netbsd32_unlink(const netbsd32_charp path); } 8011 OBSOL execv 8112 STD { int netbsd32_chdir(const netbsd32_charp path); } 8213 STD { int netbsd32_fchdir(int fd); } 8314 STD { int netbsd32_mknod(const netbsd32_charp path, mode_t mode, dev_t dev); } 8415 STD { int netbsd32_chmod(const netbsd32_charp path, mode_t mode); } 8516 STD { int netbsd32_chown(const netbsd32_charp path, uid_t uid, gid_t gid); } 8617 STD { int netbsd32_break(netbsd32_charp nsize); } 8718 COMPAT_20 { int netbsd32_getfsstat(netbsd32_statfsp_t buf, netbsd32_long bufsize, int flags); } 8819 COMPAT_43 { netbsd32_long netbsd32_olseek(int fd, netbsd32_long offset, int whence); } 8920 NOARGS MPSAFE { pid_t sys_getpid(void); } 9021 STD { int netbsd32_mount(const netbsd32_charp type, const netbsd32_charp path, int flags, netbsd32_voidp data); } 9122 STD { int netbsd32_unmount(const netbsd32_charp path, int flags); } 9223 STD { int netbsd32_setuid(uid_t uid); } 9324 NOARGS { uid_t sys_getuid(void); } 9425 NOARGS { uid_t sys_geteuid(void); } 9526 STD { int netbsd32_ptrace(int req, pid_t pid, netbsd32_caddr_t addr, int data); } 9627 STD { netbsd32_ssize_t netbsd32_recvmsg(int s, netbsd32_msghdrp_t msg, int flags); } 9728 STD { netbsd32_ssize_t netbsd32_sendmsg(int s, const netbsd32_msghdrp_t msg, int flags); } 9829 STD { netbsd32_ssize_t netbsd32_recvfrom(int s, netbsd32_voidp buf, netbsd32_size_t len, int flags, netbsd32_sockaddrp_t from, netbsd32_intp fromlenaddr); } 9930 STD { int netbsd32_accept(int s, netbsd32_sockaddrp_t name, netbsd32_intp anamelen); } 10031 STD { int netbsd32_getpeername(int fdes, netbsd32_sockaddrp_t asa, netbsd32_intp alen); } 10132 STD { int netbsd32_getsockname(int fdes, netbsd32_sockaddrp_t asa, netbsd32_intp alen); } 10233 STD { int netbsd32_access(const netbsd32_charp path, int flags); } 10334 STD { int netbsd32_chflags(const netbsd32_charp path, netbsd32_u_long flags); } 10435 STD { int netbsd32_fchflags(int fd, netbsd32_u_long flags); } 10536 NOARGS { void sys_sync(void); } 10637 STD { int netbsd32_kill(int pid, int signum); } 10738 COMPAT_43 { int netbsd32_stat43(const netbsd32_charp path, netbsd32_stat43p_t ub); } 10839 NOARGS { pid_t sys_getppid(void); } 10940 COMPAT_43 { int netbsd32_lstat43(const netbsd32_charp path, netbsd32_stat43p_t ub); } 11041 STD { int netbsd32_dup(int fd); } 11142 NOARGS { int sys_pipe(void); } 11243 NOARGS { gid_t sys_getegid(void); } 11344 STD { int netbsd32_profil(netbsd32_caddr_t samples, netbsd32_size_t size, netbsd32_u_long offset, u_int scale); } 114#if defined(KTRACE) || !defined(_KERNEL) 11545 STD { int netbsd32_ktrace(const netbsd32_charp fname, int ops, int facs, int pid); } 116#else 11745 EXCL netbsd32_ktrace 118#endif 11946 STD { int netbsd32_sigaction(int signum, const netbsd32_sigactionp_t nsa, netbsd32_sigactionp_t osa); } 12047 NOARGS { gid_t sys_getgid(void); } 12148 COMPAT_13 { int netbsd32_sigprocmask(int how, \ 122 int mask); } sigprocmask13 12349 STD { int netbsd32___getlogin(netbsd32_charp namebuf, u_int namelen); } 12450 STD { int netbsd32_setlogin(const netbsd32_charp namebuf); } 12551 STD { int netbsd32_acct(const netbsd32_charp path); } 12652 COMPAT_13 { int sys_sigpending(void); } sigpending13 12753 COMPAT_13 { int netbsd32_sigaltstack13(const netbsd32_sigaltstack13p_t nss, netbsd32_sigaltstack13p_t oss); } 12854 STD { int netbsd32_ioctl(int fd, netbsd32_u_long com, ... netbsd32_voidp data); } 12955 COMPAT_12 { int netbsd32_reboot(int opt); } 13056 STD { int netbsd32_revoke(const netbsd32_charp path); } 13157 STD { int netbsd32_symlink(const netbsd32_charp path, const netbsd32_charp link); } 13258 STD { int netbsd32_readlink(const netbsd32_charp path, netbsd32_charp buf, netbsd32_size_t count); } 13359 STD { int netbsd32_execve(const netbsd32_charp path, netbsd32_charpp argp, netbsd32_charpp envp); } 13460 STD { mode_t netbsd32_umask(mode_t newmask); } 13561 STD { int netbsd32_chroot(const netbsd32_charp path); } 13662 COMPAT_43 { int netbsd32_fstat43(int fd, netbsd32_stat43p_t sb); } 13763 COMPAT_43 { int netbsd32_ogetkerninfo(int op, netbsd32_charp where, netbsd32_intp size, int arg); } 13864 COMPAT_43 { int sys_getpagesize(void); } ogetpagesize 13965 COMPAT_12 { int netbsd32_msync(netbsd32_caddr_t addr, netbsd32_size_t len); } 140; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)? 14166 NOARGS { int sys_vfork(void); } 14267 OBSOL vread 14368 OBSOL vwrite 14469 STD { int netbsd32_sbrk(netbsd32_intptr_t incr); } 14570 STD { int netbsd32_sstk(int incr); } 14671 COMPAT_43 { int netbsd32_ommap(netbsd32_caddr_t addr, netbsd32_size_t len, int prot, int flags, int fd, netbsd32_long pos); } 14772 STD { int netbsd32_ovadvise(int anom); } vadvise 14873 STD { int netbsd32_munmap(netbsd32_voidp addr, netbsd32_size_t len); } 14974 STD { int netbsd32_mprotect(netbsd32_voidp addr, netbsd32_size_t len, int prot); } 15075 STD { int netbsd32_madvise(netbsd32_voidp addr, netbsd32_size_t len, int behav); } 15176 OBSOL vhangup 15277 OBSOL vlimit 15378 STD { int netbsd32_mincore(netbsd32_caddr_t addr, netbsd32_size_t len, netbsd32_charp vec); } 15479 STD { int netbsd32_getgroups(int gidsetsize, netbsd32_gid_tp gidset); } 15580 STD { int netbsd32_setgroups(int gidsetsize, const netbsd32_gid_tp gidset); } 15681 NOARGS { int sys_getpgrp(void); } 15782 STD { int netbsd32_setpgid(int pid, int pgid); } 15883 STD { int netbsd32_setitimer(int which, const netbsd32_itimervalp_t itv, netbsd32_itimervalp_t oitv); } 15984 COMPAT_43 { int sys_wait(void); } owait 16085 COMPAT_12 { int netbsd32_oswapon(const netbsd32_charp name); } 16186 STD { int netbsd32_getitimer(int which, netbsd32_itimervalp_t itv); } 16287 COMPAT_43 { int netbsd32_ogethostname(netbsd32_charp hostname, u_int len); } 16388 COMPAT_43 { int netbsd32_osethostname(netbsd32_charp hostname, u_int len); } 16489 COMPAT_43 { int sys_getdtablesize(void); } ogetdtablesize 16590 STD { int netbsd32_dup2(int from, int to); } 16691 UNIMPL getdopt 16792 STD { int netbsd32_fcntl(int fd, int cmd, ... netbsd32_voidp arg); } 16893 STD { int netbsd32_select(int nd, netbsd32_fd_setp_t in, netbsd32_fd_setp_t ou, netbsd32_fd_setp_t ex, netbsd32_timevalp_t tv); } 16994 UNIMPL setdopt 17095 STD { int netbsd32_fsync(int fd); } 17196 STD { int netbsd32_setpriority(int which, int who, int prio); } 17297 COMPAT_30 { int netbsd32_socket(int domain, int type, int protocol); } 17398 STD { int netbsd32_connect(int s, const netbsd32_sockaddrp_t name, int namelen); } 17499 COMPAT_43 { int netbsd32_oaccept(int s, netbsd32_caddr_t name, netbsd32_intp anamelen); } 175100 STD { int netbsd32_getpriority(int which, int who); } 176101 COMPAT_43 { int netbsd32_osend(int s, netbsd32_caddr_t buf, int len, int flags); } 177102 COMPAT_43 { int netbsd32_orecv(int s, netbsd32_caddr_t buf, int len, int flags); } 178103 COMPAT_13 { int netbsd32_sigreturn(netbsd32_sigcontextp_t sigcntxp); } sigreturn13 179104 STD { int netbsd32_bind(int s, const netbsd32_sockaddrp_t name, int namelen); } 180105 STD { int netbsd32_setsockopt(int s, int level, int name, const netbsd32_voidp val, int valsize); } 181106 STD { int netbsd32_listen(int s, int backlog); } 182107 OBSOL vtimes 183108 COMPAT_43 { int netbsd32_osigvec(int signum, netbsd32_sigvecp_t nsv, netbsd32_sigvecp_t osv); } 184#if defined(COMPAT_43) || defined(COMPAT_SUNOS) 185109 COMPAT_43 { int netbsd32_sigblock(int mask); } 186110 COMPAT_43 { int netbsd32_sigsetmask(int mask); } 187#else 188109 OBSOL sigblock 189110 OBSOL sigsetmask 190#endif 191111 COMPAT_13 { int netbsd32_sigsuspend(int mask); } sigsuspend13 192112 COMPAT_43 { int netbsd32_osigstack(netbsd32_sigstackp_t nss, netbsd32_sigstackp_t oss); } 193113 COMPAT_43 { int netbsd32_orecvmsg(int s, netbsd32_omsghdrp_t msg, int flags); } 194114 COMPAT_43 { int netbsd32_osendmsg(int s, netbsd32_caddr_t msg, int flags); } 195115 OBSOL vtrace 196116 STD { int netbsd32_gettimeofday(netbsd32_timevalp_t tp, netbsd32_timezonep_t tzp); } 197117 STD { int netbsd32_getrusage(int who, netbsd32_rusagep_t rusage); } 198118 STD { int netbsd32_getsockopt(int s, int level, int name, netbsd32_voidp val, netbsd32_intp avalsize); } 199119 OBSOL resuba 200120 STD { netbsd32_ssize_t netbsd32_readv(int fd, const netbsd32_iovecp_t iovp, int iovcnt); } 201121 STD { netbsd32_ssize_t netbsd32_writev(int fd, const netbsd32_iovecp_t iovp, int iovcnt); } 202122 STD { int netbsd32_settimeofday(const netbsd32_timevalp_t tv, const netbsd32_timezonep_t tzp); } 203123 STD { int netbsd32_fchown(int fd, uid_t uid, gid_t gid); } 204124 STD { int netbsd32_fchmod(int fd, mode_t mode); } 205125 COMPAT_43 { int netbsd32_orecvfrom(int s, netbsd32_caddr_t buf, netbsd32_size_t len, int flags, netbsd32_caddr_t from, netbsd32_intp fromlenaddr); } 206126 STD { int netbsd32_setreuid(uid_t ruid, uid_t euid); } 207127 STD { int netbsd32_setregid(gid_t rgid, gid_t egid); } 208128 STD { int netbsd32_rename(const netbsd32_charp from, const netbsd32_charp to); } 209129 COMPAT_43 { int netbsd32_otruncate(const netbsd32_charp path, netbsd32_long length); } 210130 COMPAT_43 { int netbsd32_oftruncate(int fd, netbsd32_long length); } 211131 STD { int netbsd32_flock(int fd, int how); } 212132 STD { int netbsd32_mkfifo(const netbsd32_charp path, mode_t mode); } 213133 STD { netbsd32_ssize_t netbsd32_sendto(int s, const netbsd32_voidp buf, netbsd32_size_t len, int flags, const netbsd32_sockaddrp_t to, int tolen); } 214134 STD { int netbsd32_shutdown(int s, int how); } 215135 STD { int netbsd32_socketpair(int domain, int type, int protocol, netbsd32_intp rsv); } 216136 STD { int netbsd32_mkdir(const netbsd32_charp path, mode_t mode); } 217137 STD { int netbsd32_rmdir(const netbsd32_charp path); } 218138 STD { int netbsd32_utimes(const netbsd32_charp path, const netbsd32_timevalp_t tptr); } 219139 OBSOL 4.2 sigreturn 220140 STD { int netbsd32_adjtime(const netbsd32_timevalp_t delta, netbsd32_timevalp_t olddelta); } 221141 COMPAT_43 { int netbsd32_ogetpeername(int fdes, netbsd32_caddr_t asa, netbsd32_intp alen); } 222142 COMPAT_43 { int32_t sys_gethostid(void); } ogethostid 223#if defined(COMPAT_43) || defined(COMPAT_SUNOS) 224143 COMPAT_43 { int netbsd32_sethostid(int32_t hostid); } 225#else 226143 OBSOL sethostid 227#endif 228144 COMPAT_43 { int netbsd32_ogetrlimit(int which, netbsd32_orlimitp_t rlp); } 229145 COMPAT_43 { int netbsd32_osetrlimit(int which, const netbsd32_orlimitp_t rlp); } 230#if defined(COMPAT_43) || defined(COMPAT_SUNOS) 231146 COMPAT_43 { int netbsd32_killpg(int pgid, int signum); } 232#else 233146 OBSOL killpg 234#endif 235147 NOARGS { int sys_setsid(void); } 236148 STD { int netbsd32_quotactl(const netbsd32_charp path, int cmd, int uid, netbsd32_caddr_t arg); } 237149 COMPAT_43 { int sys_quota(void); } oquota 238150 COMPAT_43 { int netbsd32_ogetsockname(int fdec, netbsd32_caddr_t asa, netbsd32_intp alen); } 239 240; Syscalls 151-180 inclusive are reserved for vendor-specific 241; system calls. (This includes various calls added for compatibity 242; with other Unix variants.) 243; Some of these calls are now supported by BSD... 244151 UNIMPL 245152 UNIMPL 246153 UNIMPL 247154 UNIMPL 248#if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL) 249155 STD { int netbsd32_nfssvc(int flag, netbsd32_voidp argp); } 250#else 251155 EXCL netbsd32_nfssvc 252#endif 253156 COMPAT_43 { int netbsd32_ogetdirentries(int fd, netbsd32_charp buf, u_int count, netbsd32_longp basep); } 254157 COMPAT_20 { int netbsd32_statfs(const netbsd32_charp path, netbsd32_statfsp_t buf); } 255158 COMPAT_20 { int netbsd32_fstatfs(int fd, netbsd32_statfsp_t buf); } 256159 UNIMPL 257160 UNIMPL 258161 COMPAT_30 { int netbsd32_getfh(const netbsd32_charp fname, netbsd32_compat_30_fhandlep_t fhp); } 259162 COMPAT_09 { int netbsd32_ogetdomainname(netbsd32_charp domainname, int len); } 260163 COMPAT_09 { int netbsd32_osetdomainname(netbsd32_charp domainname, int len); } 261164 COMPAT_09 { int netbsd32_uname(netbsd32_outsnamep_t name); } 262165 STD { int netbsd32_sysarch(int op, netbsd32_voidp parms); } 263166 UNIMPL 264167 UNIMPL 265168 UNIMPL 266#if defined(SYSVSEM) || !defined(_KERNEL) 267169 COMPAT_10 { int netbsd32_sys_semsys(int which, int a2, int a3, int a4, int a5); } osemsys 268#else 269169 EXCL netbsd32_sys_semsys 270#endif 271#if defined(SYSVMSG) || !defined(_KERNEL) 272170 COMPAT_10 { int netbsd32_sys_msgsys(int which, int a2, int a3, int a4, int a5, int a6); } omsgsys 273#else 274170 EXCL netbsd32_sys_msgsys 275#endif 276#if defined(SYSVSHM) || !defined(_KERNEL) 277171 COMPAT_10 { int netbsd32_sys_shmsys(int which, int a2, int a3, int a4); } oshmsys 278#else 279171 EXCL netbsd32_sys_shmsys 280#endif 281172 UNIMPL 282173 STD { netbsd32_ssize_t netbsd32_pread(int fd, netbsd32_voidp buf, netbsd32_size_t nbyte, int pad, off_t offset); } 283174 STD { netbsd32_ssize_t netbsd32_pwrite(int fd, const netbsd32_voidp buf, netbsd32_size_t nbyte, int pad, off_t offset); } 284175 COMPAT_30 { int netbsd32_ntp_gettime(netbsd32_ntptimevalp_t ntvp); } 285176 STD { int netbsd32_ntp_adjtime(netbsd32_timexp_t tp); } 286177 UNIMPL 287178 UNIMPL 288179 UNIMPL 289180 UNIMPL 290 291; Syscalls 180-199 are used by/reserved for BSD 292181 STD { int netbsd32_setgid(gid_t gid); } 293182 STD { int netbsd32_setegid(gid_t egid); } 294183 STD { int netbsd32_seteuid(uid_t euid); } 295#if defined(LFS) || !defined(_KERNEL) 296184 STD { int netbsd32_sys_lfs_bmapv(netbsd32_fsid_tp_t fsidp, netbsd32_block_infop_t blkiov, int blkcnt); } 297185 STD { int netbsd32_sys_lfs_markv(netbsd32_fsid_tp_t fsidp, netbsd32_block_infop_t blkiov, int blkcnt); } 298186 STD { int netbsd32_sys_lfs_segclean(netbsd32_fsid_tp_t fsidp, netbsd32_u_long segment); } 299187 STD { int netbsd32_sys_lfs_segwait(netbsd32_fsid_tp_t fsidp, netbsd32_timevalp_t tv); } 300#else 301184 EXCL netbsd32_sys_lfs_bmapv 302185 EXCL netbsd32_sys_lfs_markv 303186 EXCL netbsd32_sys_lfs_segclean 304187 EXCL netbsd32_sys_lfs_segwait 305#endif 306188 COMPAT_12 { int netbsd32_stat12(const netbsd32_charp path, netbsd32_stat12p_t ub); } 307189 COMPAT_12 { int netbsd32_fstat12(int fd, netbsd32_stat12p_t sb); } 308190 COMPAT_12 { int netbsd32_lstat12(const netbsd32_charp path, netbsd32_stat12p_t ub); } 309191 STD { netbsd32_long netbsd32_pathconf(const netbsd32_charp path, int name); } 310192 STD { netbsd32_long netbsd32_fpathconf(int fd, int name); } 311193 UNIMPL 312194 STD { int netbsd32_getrlimit(int which, netbsd32_rlimitp_t rlp); } 313195 STD { int netbsd32_setrlimit(int which, const netbsd32_rlimitp_t rlp); } 314196 COMPAT_12 { int netbsd32_getdirentries(int fd, netbsd32_charp buf, u_int count, netbsd32_longp basep); } 315197 STD { netbsd32_voidp netbsd32_mmap(netbsd32_voidp addr, netbsd32_size_t len, int prot, int flags, int fd, netbsd32_long pad, off_t pos); } 316198 INDIR { quad_t sys___syscall(quad_t num, ...); } 317199 STD { off_t netbsd32_lseek(int fd, int pad, off_t offset, int whence); } 318200 STD { int netbsd32_truncate(const netbsd32_charp path, int pad, off_t length); } 319201 STD { int netbsd32_ftruncate(int fd, int pad, off_t length); } 320202 STD { int netbsd32___sysctl(netbsd32_intp name, u_int namelen, netbsd32_voidp old, netbsd32_size_tp oldlenp, netbsd32_voidp new, netbsd32_size_t newlen); } 321203 STD { int netbsd32_mlock(const netbsd32_voidp addr, netbsd32_size_t len); } 322204 STD { int netbsd32_munlock(const netbsd32_voidp addr, netbsd32_size_t len); } 323205 STD { int netbsd32_undelete(const netbsd32_charp path); } 324206 STD { int netbsd32_futimes(int fd, const netbsd32_timevalp_t tptr); } 325207 STD { int netbsd32_getpgid(pid_t pid); } 326208 STD { int netbsd32_reboot(int opt, netbsd32_charp bootstr); } 327209 STD { int netbsd32_poll(netbsd32_pollfdp_t fds, u_int nfds, int timeout); } 328; 329; Syscalls 210-219 are reserved for dynamically loaded syscalls 330; 331#if defined(LKM) || !defined(_KERNEL) 332210 NODEF { int sys_lkmnosys(void); } 333211 NODEF { int sys_lkmnosys(void); } 334212 NODEF { int sys_lkmnosys(void); } 335213 NODEF { int sys_lkmnosys(void); } 336214 NODEF { int sys_lkmnosys(void); } 337215 NODEF { int sys_lkmnosys(void); } 338216 NODEF { int sys_lkmnosys(void); } 339217 NODEF { int sys_lkmnosys(void); } 340218 NODEF { int sys_lkmnosys(void); } 341219 NODEF { int sys_lkmnosys(void); } 342#else /* !LKM || !_KERNEL */ 343210 EXCL lkmnosys 344211 EXCL lkmnosys 345212 EXCL lkmnosys 346213 EXCL lkmnosys 347214 EXCL lkmnosys 348215 EXCL lkmnosys 349216 EXCL lkmnosys 350217 EXCL lkmnosys 351218 EXCL lkmnosys 352219 EXCL lkmnosys 353#endif /* !LKM || !_KERNEL */ 354; System calls 220-300 are reserved for use by NetBSD 355#if defined(SYSVSEM) || !defined(_KERNEL) 356220 COMPAT_14 { int netbsd32___semctl(int semid, int semnum, int cmd, netbsd32_semunu_t arg); } 357221 STD { int netbsd32_semget(netbsd32_key_t key, int nsems, int semflg); } 358222 STD { int netbsd32_semop(int semid, netbsd32_sembufp_t sops, netbsd32_size_t nsops); } 359223 STD { int netbsd32_semconfig(int flag); } 360#else 361220 EXCL compat_14_netbsd32_semctl 362221 EXCL netbsd32_semget 363222 EXCL netbsd32_semop 364223 EXCL netbsd32_semconfig 365#endif 366#if defined(SYSVMSG) || !defined(_KERNEL) 367224 COMPAT_14 { int netbsd32_msgctl(int msqid, int cmd, netbsd32_msqid_dsp_t buf); } 368225 STD { int netbsd32_msgget(netbsd32_key_t key, int msgflg); } 369226 STD { int netbsd32_msgsnd(int msqid, const netbsd32_voidp msgp, netbsd32_size_t msgsz, int msgflg); } 370227 STD { netbsd32_ssize_t netbsd32_msgrcv(int msqid, netbsd32_voidp msgp, netbsd32_size_t msgsz, netbsd32_long msgtyp, int msgflg); } 371#else 372224 EXCL compat_14_netbsd32_msgctl 373225 EXCL netbsd32_msgget 374226 EXCL netbsd32_msgsnd 375227 EXCL netbsd32_msgrcv 376#endif 377#if defined(SYSVSHM) || !defined(_KERNEL) 378228 STD { netbsd32_voidp netbsd32_shmat(int shmid, const netbsd32_voidp shmaddr, int shmflg); } 379229 COMPAT_14 { int netbsd32_shmctl(int shmid, int cmd, netbsd32_shmid_dsp_t buf); } 380230 STD { int netbsd32_shmdt(const netbsd32_voidp shmaddr); } 381231 STD { int netbsd32_shmget(netbsd32_key_t key, netbsd32_size_t size, int shmflg); } 382#else 383228 EXCL netbsd32_shmat 384229 EXCL compat_14_netbsd32_shmctl 385230 EXCL netbsd32_shmdt 386231 EXCL netbsd32_shmget 387#endif 388232 STD { int netbsd32_clock_gettime(netbsd32_clockid_t clock_id, netbsd32_timespecp_t tp); } 389233 STD { int netbsd32_clock_settime(netbsd32_clockid_t clock_id, const netbsd32_timespecp_t tp); } 390234 STD { int netbsd32_clock_getres(netbsd32_clockid_t clock_id, netbsd32_timespecp_t tp); } 391235 STD { int netbsd32_timer_create(netbsd32_clockid_t clock_id, netbsd32_sigeventp_t evp, \ 392 netbsd32_timerp_t timerid); } 393236 STD { int netbsd32_timer_delete(netbsd32_timer_t timerid); } 394237 STD { int netbsd32_timer_settime(netbsd32_timer_t timerid, int flags, \ 395 const netbsd32_itimerspecp_t value, \ 396 netbsd32_itimerspecp_t ovalue); } 397238 STD { int netbsd32_timer_gettime(netbsd32_timer_t timerid, netbsd32_itimerspecp_t value); } 398239 STD { int netbsd32_timer_getoverrun(netbsd32_timer_t timerid); } 399; 400; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 401; 402240 STD { int netbsd32_nanosleep(const netbsd32_timespecp_t rqtp, netbsd32_timespecp_t rmtp); } 403241 STD { int netbsd32_fdatasync(int fd); } 404242 STD { int netbsd32_mlockall(int flags); } 405243 NOARGS { int sys_munlockall(void); } 406244 STD { int netbsd32___sigtimedwait(const netbsd32_sigsetp_t set, \ 407 netbsd32_siginfop_t info, \ 408 netbsd32_timespecp_t timeout); } 409245 UNIMPL 410246 UNIMPL 411#if defined(P1003_1B_SEMAPHORE) || (!defined(_KERNEL) && defined(_LIBC)) 412247 STD { int netbsd32__ksem_init(unsigned int value, netbsd32_semidp_t idp); } 413248 STD { int netbsd32__ksem_open(const netbsd32_charp name, int oflag, \ 414 mode_t mode, unsigned int value, netbsd32_semidp_t idp); } 415249 STD { int netbsd32__ksem_unlink(const netbsd32_charp name); } 416250 STD { int netbsd32__ksem_close(netbsd32_semid_t id); } 417251 STD { int netbsd32__ksem_post(netbsd32_semid_t id); } 418252 STD { int netbsd32__ksem_wait(netbsd32_semid_t id); } 419253 STD { int netbsd32__ksem_trywait(netbsd32_semid_t id); } 420254 STD { int netbsd32__ksem_getvalue(netbsd32_semid_t id, \ 421 netbsd32_intp value); } 422255 STD { int netbsd32__ksem_destroy(netbsd32_semid_t id); } 423256 UNIMPL sys__ksem_timedwait 424#else 425247 EXCL sys__ksem_init 426248 EXCL sys__ksem_open 427249 EXCL sys__ksem_unlink 428250 EXCL sys__ksem_close 429251 EXCL sys__ksem_post 430252 EXCL sys__ksem_wait 431253 EXCL sys__ksem_trywait 432254 EXCL sys__ksem_getvalue 433255 EXCL sys__ksem_destroy 434256 UNIMPL sys__ksem_timedwait 435#endif 436257 UNIMPL 437258 UNIMPL 438259 UNIMPL 439260 UNIMPL 440261 UNIMPL 441262 UNIMPL 442263 UNIMPL 443264 UNIMPL 444265 UNIMPL 445266 UNIMPL 446267 UNIMPL 447268 UNIMPL 448269 UNIMPL 449270 STD { int netbsd32___posix_rename(const netbsd32_charp from, const netbsd32_charp to); } 450271 STD { int netbsd32_swapctl(int cmd, netbsd32_voidp arg, int misc); } 451272 STD { int netbsd32_getdents(int fd, netbsd32_charp buf, netbsd32_size_t count); } 452273 STD { int netbsd32_minherit(netbsd32_voidp addr, netbsd32_size_t len, int inherit); } 453274 STD { int netbsd32_lchmod(const netbsd32_charp path, mode_t mode); } 454275 STD { int netbsd32_lchown(const netbsd32_charp path, uid_t uid, gid_t gid); } 455276 STD { int netbsd32_lutimes(const netbsd32_charp path, const netbsd32_timevalp_t tptr); } 456277 STD { int netbsd32___msync13(netbsd32_voidp addr, netbsd32_size_t len, int flags); } 457278 STD { int netbsd32___stat13(const netbsd32_charp path, netbsd32_stat13p_t ub); } 458279 STD { int netbsd32___fstat13(int fd, netbsd32_stat13p_t sb); } 459280 STD { int netbsd32___lstat13(const netbsd32_charp path, netbsd32_stat13p_t ub); } 460281 STD { int netbsd32___sigaltstack14(const netbsd32_sigaltstackp_t nss, netbsd32_sigaltstackp_t oss); } 461282 NOARGS { int sys___vfork14(void); } 462283 STD { int netbsd32___posix_chown(const netbsd32_charp path, uid_t uid, gid_t gid); } 463284 STD { int netbsd32___posix_fchown(int fd, uid_t uid, gid_t gid); } 464285 STD { int netbsd32___posix_lchown(const netbsd32_charp path, uid_t uid, gid_t gid); } 465286 STD { pid_t netbsd32_getsid(pid_t pid); } 466287 STD { int netbsd32___clone(int flags, netbsd32_voidp stack); } 467#if defined(KTRACE) || !defined(_KERNEL) 468288 STD { int netbsd32_fktrace(const int fd, int ops, int facs, int pid); } 469#else 470288 EXCL netbsd32_fktrace 471#endif 472289 STD { netbsd32_ssize_t netbsd32_preadv(int fd, const netbsd32_iovecp_t iovp, int iovcnt, int pad, off_t offset); } 473290 STD { netbsd32_ssize_t netbsd32_pwritev(int fd, const netbsd32_iovecp_t iovp, int iovcnt, int pad, off_t offset); } 474291 STD { int netbsd32___sigaction14(int signum, \ 475 const netbsd32_sigactionp_t nsa, \ 476 netbsd32_sigactionp_t osa); } 477292 STD { int netbsd32___sigpending14(netbsd32_sigsetp_t set); } 478293 STD { int netbsd32___sigprocmask14(int how, \ 479 const netbsd32_sigsetp_t set, \ 480 netbsd32_sigsetp_t oset); } 481294 STD { int netbsd32___sigsuspend14(const netbsd32_sigsetp_t set); } 482295 COMPAT_16 { int netbsd32___sigreturn14(netbsd32_sigcontextp_t sigcntxp); } 483296 STD { int netbsd32___getcwd(netbsd32_charp bufp, netbsd32_size_t length); } 484297 STD { int netbsd32_fchroot(int fd); } 485298 COMPAT_30 { int netbsd32_fhopen(const netbsd32_fhandlep_t fhp, \ 486 int flags); } 487299 COMPAT_30 { int netbsd32_fhstat(const netbsd32_fhandlep_t fhp, \ 488 netbsd32_stat13p_t sb); } 489300 COMPAT_20 { int netbsd32_fhstatfs(netbsd32_fhandlep_t fhp, \ 490 netbsd32_statp_t buf); } 491#if defined(SYSVSEM) || !defined(_KERNEL) 492301 STD { int netbsd32___semctl14(int semid, int semnum, int cmd, \ 493 ... netbsd32_semunp_t arg); } 494#else 495301 EXCL __semctl14 496#endif 497#if defined(SYSVMSG) || !defined(_KERNEL) 498302 STD { int netbsd32___msgctl13(int msqid, int cmd, \ 499 netbsd32_msqid_dsp_t buf); } 500#else 501302 EXCL __msgctl13 502#endif 503#if defined(SYSVSHM) || !defined(_KERNEL) 504303 STD { int netbsd32___shmctl13(int shmid, int cmd, \ 505 netbsd32_shmid_dsp_t buf); } 506#else 507303 EXCL __shmctl13 508#endif 509304 STD { int netbsd32_lchflags(const netbsd32_charp path, netbsd32_u_long flags); } 510305 STD { int sys_issetugid(void); } 511306 STD { int netbsd32_utrace(const netbsd32_charp label, netbsd32_voidp addr, \ 512 netbsd32_size_t len); } 513; 514; Syscalls 307 and 308 are reserved for getcontext and setcontext 515; 516307 STD { int netbsd32_getcontext(netbsd32_ucontextp ucp); } 517308 STD { int netbsd32_setcontext(netbsd32_ucontextp ucp, \ 518 uint32_t flags, netbsd32_lwpidp new_lwp); } 519; 520; Syscalls 309-339 are reserved for LWP and scheduler activation syscalls. 521; 522309 STD { int netbsd32__lwp_create(const netbsd32_ucontextp ucp, \ 523 netbsd32_u_long flags, netbsd32_lwpidp new_lwp); } 524310 NOARGS { int sys__lwp_exit(void); } 525311 NOARGS { lwpid_t sys__lwp_self(void); } 526312 STD { int netbsd32__lwp_wait(lwpid_t wait_for, \ 527 netbsd32_lwpidp departed); } 528313 STD { int netbsd32__lwp_suspend(lwpid_t target); } 529314 STD { int netbsd32__lwp_continue(lwpid_t target); } 530315 STD { int netbsd32__lwp_wakeup(lwpid_t target); } 531316 NOARGS { void *sys__lwp_getprivate(void); } 532317 STD { void netbsd32__lwp_setprivate(netbsd32_voidp ptr); } 533318 UNIMPL 534319 UNIMPL 535320 UNIMPL 536321 UNIMPL 537322 UNIMPL 538323 UNIMPL 539324 UNIMPL 540325 UNIMPL 541326 UNIMPL 542327 UNIMPL 543328 UNIMPL 544329 UNIMPL 545330 STD { int netbsd32_sa_register(netbsd32_sa_upcall_t new, \ 546 netbsd32_sa_upcallp_t old, int flags, \ 547 netbsd32_ssize_t stackinfo_offset); } 548331 STD { int netbsd32_sa_stacks(int num, netbsd32_stackp_t stacks); } 549332 NOARGS { int sys_sa_enable(void); } 550333 STD { int netbsd32_sa_setconcurrency(int concurrency); } 551334 NOARGS { int sys_sa_yield(void); } 552335 STD { int netbsd32_sa_preempt(int sa_id); } 553336 OBSOL sys_sa_unblockyield 554337 UNIMPL 555338 UNIMPL 556339 UNIMPL 557340 STD { int netbsd32___sigaction_sigtramp(int signum, \ 558 const netbsd32_sigactionp_t nsa, \ 559 netbsd32_sigactionp_t osa, \ 560 netbsd32_voidp tramp, int vers); } 561341 UNIMPL 562342 UNIMPL 563343 STD { int netbsd32_rasctl(netbsd32_caddr_t addr, netbsd32_size_t len, \ 564 int op); } 565344 NOARGS { int sys_kqueue(void); } 566345 STD { int netbsd32_kevent(int fd, \ 567 netbsd32_keventp_t changelist, netbsd32_size_t nchanges, \ 568 netbsd32_keventp_t eventlist, netbsd32_size_t nevents, \ 569 netbsd32_timespecp_t timeout); } 570346 UNIMPL 571347 UNIMPL 572348 UNIMPL 573349 UNIMPL 574350 UNIMPL 575351 UNIMPL 576352 UNIMPL 577353 UNIMPL 578354 STD { int netbsd32_fsync_range(int fd, int flags, off_t start, \ 579 off_t length); } 580355 STD { int netbsd32_uuidgen(netbsd32_uuidp_t store, int count); } 581356 STD { int netbsd32_getvfsstat(netbsd32_statvfsp_t buf, \ 582 netbsd32_size_t bufsize, int flags); } 583357 STD { int netbsd32_statvfs1(const netbsd32_charp path, \ 584 netbsd32_statvfsp_t buf, int flags); } 585358 STD { int netbsd32_fstatvfs1(int fd, netbsd32_statvfsp_t buf, \ 586 int flags); } 587359 COMPAT_30 { int netbsd32_fhstatvfs1(const netbsd32_fhandlep_t fhp, \ 588 netbsd32_statvfsp_t buf, int flags); } 589360 STD { int netbsd32_extattrctl(const netbsd32_charp path, \ 590 int cmd, const netbsd32_charp filename, int attrnamespace, \ 591 const netbsd32_charp attrname); } 592361 STD { int netbsd32_extattr_set_file(const netbsd32_charp path, \ 593 int attrnamespace, const netbsd32_charp attrname, \ 594 const netbsd32_voidp data, netbsd32_size_t nbytes); } 595362 STD { int netbsd32_extattr_get_file(const netbsd32_charp path, \ 596 int attrnamespace, const netbsd32_charp attrname, \ 597 netbsd32_voidp data, netbsd32_size_t nbytes); } 598363 STD { int netbsd32_extattr_delete_file(const netbsd32_charp path, \ 599 int attrnamespace, const netbsd32_charp attrname); } 600364 STD { int netbsd32_extattr_set_fd(int fd, \ 601 int attrnamespace, const netbsd32_charp attrname, \ 602 const netbsd32_voidp data, netbsd32_size_t nbytes); } 603365 STD { int netbsd32_extattr_get_fd(int fd, \ 604 int attrnamespace, const netbsd32_charp attrname, \ 605 netbsd32_voidp data, netbsd32_size_t nbytes); } 606366 STD { int netbsd32_extattr_delete_fd(int fd, \ 607 int attrnamespace, const netbsd32_charp attrname); } 608367 STD { int netbsd32_extattr_set_link(const netbsd32_charp path, \ 609 int attrnamespace, const netbsd32_charp attrname, \ 610 const netbsd32_voidp data, netbsd32_size_t nbytes); } 611368 STD { int netbsd32_extattr_get_link(const netbsd32_charp path, \ 612 int attrnamespace, const netbsd32_charp attrname, \ 613 netbsd32_voidp data, netbsd32_size_t nbytes); } 614369 STD { int netbsd32_extattr_delete_link(const netbsd32_charp path, \ 615 int attrnamespace, const netbsd32_charp attrname); } 616370 STD { int netbsd32_extattr_list_fd(int fd, \ 617 int attrnamespace, netbsd32_voidp data, \ 618 netbsd32_size_t nbytes); } 619371 STD { int netbsd32_extattr_list_file(const netbsd32_charp path, \ 620 int attrnamespace, netbsd32_voidp data, \ 621 netbsd32_size_t nbytes); } 622372 STD { int netbsd32_extattr_list_link(const netbsd32_charp path, \ 623 int attrnamespace, netbsd32_voidp data, \ 624 netbsd32_size_t nbytes); } 625373 STD { int netbsd32_pselect(int nd, netbsd32_fd_setp_t in, \ 626 netbsd32_fd_setp_t ou, netbsd32_fd_setp_t ex, \ 627 const netbsd32_timespecp_t ts, const netbsd32_sigsetp_t mask); } 628374 STD { int netbsd32_pollts(netbsd32_pollfdp_t fds, u_int nfds, \ 629 const netbsd32_timespecp_t ts, const netbsd32_sigsetp_t mask); } 630375 STD { int netbsd32_setxattr(const netbsd32_charp path, \ 631 const netbsd32_charp name, netbsd32_voidp value, \ 632 netbsd32_size_t size, int flags); } 633376 STD { int netbsd32_lsetxattr(const netbsd32_charp path, \ 634 const netbsd32_charp name, netbsd32_voidp value, \ 635 netbsd32_size_t size, int flags); } 636377 STD { int netbsd32_fsetxattr(int fd, \ 637 const netbsd32_charp name, netbsd32_voidp value, \ 638 netbsd32_size_t size, int flags); } 639378 STD { int netbsd32_getxattr(const netbsd32_charp path, \ 640 const netbsd32_charp name, netbsd32_voidp value, \ 641 netbsd32_size_t size); } 642379 STD { int netbsd32_lgetxattr(const netbsd32_charp path, \ 643 const netbsd32_charp name, netbsd32_voidp value, \ 644 netbsd32_size_t size); } 645380 STD { int netbsd32_fgetxattr(int fd, \ 646 const netbsd32_charp name, netbsd32_voidp value, \ 647 netbsd32_size_t size); } 648381 STD { int netbsd32_listxattr(const netbsd32_charp path, \ 649 netbsd32_charp list, netbsd32_size_t size); } 650382 STD { int netbsd32_llistxattr(const netbsd32_charp path, \ 651 netbsd32_charp list, netbsd32_size_t size); } 652383 STD { int netbsd32_flistxattr(int fd, \ 653 netbsd32_charp list, netbsd32_size_t size); } 654384 STD { int netbsd32_removexattr(const netbsd32_charp path, \ 655 const netbsd32_charp name); } 656385 STD { int netbsd32_lremovexattr(const netbsd32_charp path, \ 657 const netbsd32_charp name); } 658386 STD { int netbsd32_fremovexattr(int fd, \ 659 const netbsd32_charp name); } 660387 STD { int netbsd32_sys___stat30(const netbsd32_charp path, \ 661 netbsd32_statp_t ub); } 662388 STD { int netbsd32_sys___fstat30(int fd, \ 663 netbsd32_statp_t sb); } 664389 STD { int netbsd32_sys___lstat30( \ 665 const netbsd32_charp path, netbsd32_statp_t ub); } 666390 STD { int netbsd32_sys___getdents30(int fd, \ 667 netbsd32_charp buf, netbsd32_size_t count); } 668391 NOARGS { int sys_posix_fadvise(int fd, off_t offset, \ 669 off_t len, int advice); } 670392 COMPAT_30 { int netbsd32_sys___fhstat30( \ 671 const netbsd32_fhandlep_t fhp, \ 672 netbsd32_statp_t sb); } 673393 STD { int netbsd32_ntp_gettime(netbsd32_ntptimevalp_t ntvp); } 674394 STD { int netbsd32_sys___socket30(int domain, int type, int protocol); } 675395 STD { int netbsd32___getfh30(const netbsd32_charp fname, netbsd32_pointer_t fhp, netbsd32_size_tp fh_size); } 676396 STD { int netbsd32___fhopen40(const netbsd32_pointer_t fhp, \ 677 netbsd32_size_t fh_size, int flags); } 678397 STD { int netbsd32___fhstatvfs140( \ 679 netbsd32_pointer_t fhp, netbsd32_size_t fh_size,\ 680 netbsd32_statvfsp_t buf, int flags); } 681398 STD { int netbsd32___fhstat40( \ 682 netbsd32_pointer_t fhp, netbsd32_size_t fh_size,\ 683 netbsd32_statp_t sb); } 684