11.73Schristos $NetBSD: syscalls.master,v 1.73 2019/06/18 01:42:36 christos Exp $ 21.1Smycroft 31.1Smycroft; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 41.1Smycroft 51.1Smycroft; NetBSD COMPAT_FREEBSD system call name/number "master" file. 61.1Smycroft; (See syscalls.conf to see what it is processed into.) 71.1Smycroft; 81.1Smycroft; Fields: number type [type-dependent ...] 91.1Smycroft; number system call number, must be in order 101.1Smycroft; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 111.1Smycroft; the compatibility options defined in syscalls.conf. 121.1Smycroft; 131.1Smycroft; types: 141.1Smycroft; STD always included 151.1Smycroft; OBSOL obsolete, not included in system 161.1Smycroft; UNIMPL unimplemented, not included in system 171.1Smycroft; NODEF included, but don't define the syscall number 181.1Smycroft; NOARGS included, but don't define the syscall args structure 191.1Smycroft; 201.1Smycroft; The compat options are defined in the syscalls.conf file, and the 211.1Smycroft; compat option name is prefixed to the syscall name. Other than 221.1Smycroft; that, they're like NODEF (for 'compat' options), or STD (for 231.1Smycroft; 'libcompat' options). 241.1Smycroft; 251.1Smycroft; The type-dependent arguments are as follows: 261.1Smycroft; For STD, NODEF, NOARGS, and compat syscalls: 271.1Smycroft; { pseudo-proto } [alias] 281.1Smycroft; For other syscalls: 291.1Smycroft; [comment] 301.1Smycroft; 311.1Smycroft; #ifdef's, etc. may be included, and are copied to the output files. 321.15Sthorpej; #include's are copied to the syscall names and switch definition files only. 331.17Sthorpej 341.35Smrg#if defined(_KERNEL_OPT) 351.17Sthorpej#include "opt_ktrace.h" 361.29Sbjh21#include "opt_ntp.h" 371.20Stron#include "opt_sysv.h" 381.21Schristos#include "opt_compat_43.h" 391.73Schristos#include "opt_quota.h" 401.32Smycroft#endif 411.1Smycroft 421.1Smycroft#include <sys/param.h> 431.1Smycroft#include <sys/systm.h> 441.1Smycroft#include <sys/signal.h> 451.1Smycroft#include <sys/mount.h> 461.1Smycroft#include <sys/syscallargs.h> 471.1Smycroft 481.49Schristos#include <compat/sys/signal.h> 491.61Schristos#include <compat/sys/time.h> 501.49Schristos 511.1Smycroft#include <compat/freebsd/freebsd_syscallargs.h> 521.1Smycroft 531.68Smaxv#include <compat/freebsd/freebsd_machdep.h> 541.32Smycroft 551.32Smycroft%% 561.1Smycroft 571.1Smycroft; Reserved/unimplemented system calls in the range 0-150 inclusive 581.1Smycroft; are reserved for use in future Berkeley releases. 591.1Smycroft; Additional system calls implemented in vendor and other 601.1Smycroft; redistributions should be placed in the reserved range at the end 611.1Smycroft; of the current calls. 621.1Smycroft 631.62Spooka0 NOARGS { int|sys||nosys(void); } syscall 641.62Spooka1 NOARGS { int|sys||exit(int rval); } 651.62Spooka2 NOARGS { int|sys||fork(void); } 661.62Spooka3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 671.62Spooka4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 681.62Spooka5 NOARGS { int|sys||open(const char *path, int flags, int mode); } 691.62Spooka6 NOARGS { int|sys||close(int fd); } 701.62Spooka7 NOARGS { int|compat_50_sys||wait4(int pid, int *status, \ 711.61Schristos int options, struct rusage50 *rusage); } 721.62Spooka8 NOARGS { int|compat_43_sys||creat(const char *path, \ 731.1Smycroft int mode); } ocreat 741.62Spooka9 NOARGS { int|sys||link(const char *path, const char *link); } 751.62Spooka10 NOARGS { int|sys||unlink(const char *path); } 761.1Smycroft11 OBSOL execv 771.62Spooka12 NOARGS { int|sys||chdir(const char *path); } 781.62Spooka13 NOARGS { int|sys||fchdir(int fd); } 791.62Spooka14 NOARGS { int|compat_50_sys||mknod(const char *path, int mode, int dev); } 801.62Spooka15 NOARGS { int|sys||chmod(const char *path, int mode); } 811.62Spooka16 NOARGS { int|sys||chown(const char *path, int uid, int gid); } 821.62Spooka17 NOARGS { int|sys||obreak(char *nsize); } break 831.62Spooka18 NOARGS { int|compat_20_sys||getfsstat(struct statfs12 *buf, \ 841.44Schristos long bufsize, int flags); } 851.62Spooka19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 861.1Smycroft int whence); } olseek 871.62Spooka20 NOARGS { pid_t|sys||getpid_with_ppid(void); } 881.62Spooka21 STD { int|freebsd_sys||mount(int type, const char *path, \ 891.57Schristos int flags, void *data); } 901.62Spooka22 NOARGS { int|sys||unmount(const char *path, int flags); } 911.62Spooka23 NOARGS { int|sys||setuid(uid_t uid); } 921.62Spooka24 NOARGS { uid_t|sys||getuid_with_euid(void); } 931.62Spooka25 NOARGS { uid_t|sys||geteuid(void); } 941.62Spooka26 STD { int|freebsd_sys||ptrace(int req, pid_t pid, \ 951.57Schristos void *addr, int data); } 961.62Spooka27 NOARGS { int|sys||recvmsg(int s, struct msghdr *msg, \ 971.1Smycroft int flags); } 981.62Spooka28 NOARGS { int|sys||sendmsg(int s, void *msg, int flags); } 991.62Spooka29 NOARGS { int|sys||recvfrom(int s, void *buf, size_t len, \ 1001.57Schristos int flags, void *from, int *fromlenaddr); } 1011.62Spooka30 NOARGS { int|sys||accept(int s, void *name, int *anamelen); } 1021.62Spooka31 NOARGS { int|sys||getpeername(int fdes, void *asa, \ 1031.1Smycroft int *alen); } 1041.62Spooka32 NOARGS { int|sys||getsockname(int fdes, void *asa, \ 1051.1Smycroft int *alen); } 1061.62Spooka33 NOARGS { int|sys||access(const char *path, int flags); } 1071.62Spooka34 NOARGS { int|sys||chflags(const char *path, int flags); } 1081.62Spooka35 NOARGS { int|sys||fchflags(int fd, int flags); } 1091.62Spooka36 NOARGS { int|sys||sync(void); } 1101.62Spooka37 NOARGS { int|sys||kill(int pid, int signum); } 1111.62Spooka38 NOARGS { int|compat_43_sys||stat(const char *path, \ 1121.11Schristos struct stat43 *ub); } stat43 1131.62Spooka39 NOARGS { pid_t|sys||getppid(void); } 1141.62Spooka40 NOARGS { int|compat_43_sys||lstat(const char *path, \ 1151.11Schristos struct stat43 *ub); } lstat43 1161.67Snjoly41 NOARGS { int|sys||dup(int fd); } 1171.62Spooka42 NOARGS { int|sys||pipe(void); } 1181.62Spooka43 NOARGS { gid_t|sys||getegid(void); } 1191.62Spooka44 NOARGS { int|sys||profil(void *samples, u_int size, \ 1201.1Smycroft u_int offset, u_int scale); } 1211.1Smycroft#ifdef KTRACE 1221.62Spooka45 NOARGS { int|sys||ktrace(char *fname, int ops, int facs, \ 1231.1Smycroft int pid); } 1241.1Smycroft#else 1251.34Sjdolecek45 EXCL ktrace 1261.1Smycroft#endif 1271.62Spooka46 NOARGS { int|compat_13_sys||sigaction(int signum, \ 1281.19Smycroft const struct sigaction13 *nsa, \ 1291.19Smycroft struct sigaction13 *osa); } 1301.62Spooka47 NOARGS { gid_t|sys||getgid_with_egid(void); } 1311.62Spooka48 NOARGS { int|compat_13_sys||sigprocmask(int how, \ 1321.19Smycroft int mask); } 1331.62Spooka49 NOARGS { int|sys||__getlogin(char *namebuf, u_int namelen); } 1341.62Spooka50 NOARGS { int|sys||__setlogin(char *namebuf); } 1351.62Spooka51 NOARGS { int|sys||acct(char *path); } 1361.62Spooka52 NOARGS { int|compat_13_sys||sigpending(void); } 1371.62Spooka53 NOARGS { int|compat_13_sys||sigaltstack( \ 1381.13Sveego const struct sigaltstack13 *nss, \ 1391.13Sveego struct sigaltstack13 *oss); } 1401.62Spooka54 STD { int|freebsd_sys||ioctl(int fd, u_long com, \ 1411.57Schristos void *data); } 1421.62Spooka55 NOARGS { int|sys||reboot(int opt); } oreboot 1431.62Spooka56 NOARGS { int|sys||revoke(const char *path); } 1441.62Spooka57 NOARGS { int|sys||symlink(const char *path, const char *link); } 1451.62Spooka58 NOARGS { int|sys||readlink(const char *path, \ 1461.22Schristos char *buf, int count); } 1471.62Spooka59 NOARGS { int|sys||execve(const char *path, \ 1481.22Schristos char **argp, char **envp); } 1491.62Spooka60 NOARGS { int|sys||umask(int newmask); } 1501.62Spooka61 NOARGS { int|sys||chroot(const char *path); } 1511.62Spooka62 NOARGS { int|compat_43_sys||fstat(int fd, struct stat43 *sb); } \ 1521.11Schristos fstat43 1531.62Spooka63 NOARGS { int|compat_43_sys||getkerninfo(int op, char *where, \ 1541.1Smycroft int *size, int arg); } ogetkerninfo 1551.62Spooka64 NOARGS { int|compat_43_sys||getpagesize(void); } ogetpagesize 1561.62Spooka65 STD { int|freebsd_sys||msync(void *addr, size_t len, \ 1571.1Smycroft int flags); } 1581.62Spooka66 NOARGS { int|sys||vfork(void); } 1591.1Smycroft67 OBSOL vread 1601.1Smycroft68 OBSOL vwrite 1611.70Skamil69 OBSOL sbrk 1621.69Skamil70 OBSOL sstk 1631.62Spooka71 NOARGS { int|compat_43_sys||mmap(void *addr, size_t len, \ 1641.1Smycroft int prot, int flags, int fd, long pos); } ommap 1651.72Skamil72 NOARGS { int|sys||ovadvise(int anom); } vadvise 1661.62Spooka73 NOARGS { int|sys||munmap(void *addr, size_t len); } 1671.62Spooka74 NOARGS { int|sys||mprotect(void *addr, size_t len, \ 1681.1Smycroft int prot); } 1691.62Spooka75 NOARGS { int|sys||madvise(void *addr, size_t len, \ 1701.1Smycroft int behav); } 1711.1Smycroft76 OBSOL vhangup 1721.1Smycroft77 OBSOL vlimit 1731.62Spooka78 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 1741.62Spooka79 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 1751.62Spooka80 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 1761.62Spooka81 NOARGS { int|sys||getpgrp(void); } 1771.62Spooka82 NOARGS { int|sys||setpgid(int pid, int pgid); } 1781.62Spooka83 NOARGS { int|compat_50_sys||setitimer(u_int which, \ 1791.61Schristos struct itimerval50 *itv, struct itimerval50 *oitv); } 1801.62Spooka84 NOARGS { int|compat_43_sys||wait(void); } owait 1811.62Spooka85 NOARGS { int|compat_12_sys||swapon(char *name); } 1821.62Spooka86 NOARGS { int|compat_50_sys||getitimer(u_int which, \ 1831.61Schristos struct itimerval50 *itv); } 1841.62Spooka87 NOARGS { int|compat_43_sys||gethostname(char *hostname, \ 1851.1Smycroft u_int len); } ogethostname 1861.62Spooka88 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 1871.1Smycroft u_int len); } osethostname 1881.62Spooka89 NOARGS { int|compat_43_sys||getdtablesize(void); } \ 1891.1Smycroft ogetdtablesize 1901.67Snjoly90 NOARGS { int|sys||dup2(int from, int to); } 1911.1Smycroft91 UNIMPL getdopt 1921.62Spooka92 NOARGS { int|sys||fcntl(int fd, int cmd, void *arg); } 1931.62Spooka93 NOARGS { int|compat_50_sys||select(u_int nd, fd_set *in, \ 1941.61Schristos fd_set *ou, fd_set *ex, struct timeval50 *tv); } 1951.1Smycroft94 UNIMPL setdopt 1961.62Spooka95 NOARGS { int|sys||fsync(int fd); } 1971.62Spooka96 NOARGS { int|sys||setpriority(int which, int who, int prio); } 1981.62Spooka97 NOARGS { int|compat_30_sys||socket(int domain, int type, int protocol); } 1991.62Spooka98 NOARGS { int|sys||connect(int s, void *name, int namelen); } 2001.62Spooka99 NOARGS { int|compat_43_sys||accept(int s, void *name, \ 2011.1Smycroft int *anamelen); } oaccept 2021.62Spooka100 NOARGS { int|sys||getpriority(int which, int who); } 2031.62Spooka101 NOARGS { int|compat_43_sys||send(int s, void *buf, int len, \ 2041.1Smycroft int flags); } osend 2051.62Spooka102 NOARGS { int|compat_43_sys||recv(int s, void *buf, int len, \ 2061.1Smycroft int flags); } orecv 2071.62Spooka103 STD { int|freebsd_sys||sigreturn( \ 2081.1Smycroft struct freebsd_sigcontext *scp); } 2091.62Spooka104 NOARGS { int|sys||bind(int s, void *name, int namelen); } 2101.62Spooka105 NOARGS { int|sys||setsockopt(int s, int level, int name, \ 2111.57Schristos void *val, int valsize); } 2121.62Spooka106 NOARGS { int|sys||listen(int s, int backlog); } 2131.1Smycroft107 OBSOL vtimes 2141.62Spooka108 NOARGS { int|compat_43_sys||sigvec(int signum, \ 2151.1Smycroft struct sigvec *nsv, struct sigvec *osv); } osigvec 2161.62Spooka109 NOARGS { int|compat_43_sys||sigblock(int mask); } osigblock 2171.62Spooka110 NOARGS { int|compat_43_sys||sigsetmask(int mask); } osigsetmask 2181.62Spooka111 NOARGS { int|compat_13_sys||sigsuspend(int mask); } 2191.62Spooka112 NOARGS { int|compat_43_sys||sigstack(struct sigstack *nss, \ 2201.1Smycroft struct sigstack *oss); } osigstack 2211.62Spooka113 NOARGS { int|compat_43_sys||recvmsg(int s, \ 2221.1Smycroft struct omsghdr *msg, int flags); } orecvmsg 2231.62Spooka114 NOARGS { int|compat_43_sys||sendmsg(int s, void *msg, \ 2241.1Smycroft int flags); } osendmsg 2251.1Smycroft#ifdef TRACE 2261.62Spooka115 NOARGS { int|sys||vtrace(int request, int value); } 2271.1Smycroft#else 2281.1Smycroft115 OBSOL vtrace 2291.1Smycroft#endif 2301.62Spooka116 NOARGS { int|compat_50_sys||gettimeofday(struct timeval50 *tp, \ 2311.1Smycroft struct timezone *tzp); } 2321.62Spooka117 NOARGS { int|compat_50_sys||getrusage(int who, \ 2331.61Schristos struct rusage50 *rusage); } 2341.62Spooka118 NOARGS { int|sys||getsockopt(int s, int level, int name, \ 2351.57Schristos void *val, int *avalsize); } 2361.1Smycroft119 OBSOL resuba 2371.62Spooka120 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ 2381.1Smycroft u_int iovcnt); } 2391.62Spooka121 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ 2401.1Smycroft u_int iovcnt); } 2411.62Spooka122 NOARGS { int|compat_50_sys||settimeofday(struct timeval50 *tv, \ 2421.61Schristos struct timezone50 *tzp); } 2431.62Spooka123 NOARGS { int|sys||fchown(int fd, int uid, int gid); } 2441.62Spooka124 NOARGS { int|sys||fchmod(int fd, int mode); } 2451.62Spooka125 NOARGS { int|compat_43_sys||recvfrom(int s, void *buf, \ 2461.57Schristos size_t len, int flags, void *from, \ 2471.1Smycroft int *fromlenaddr); } orecvfrom 2481.62Spooka126 NOARGS { int|sys||setreuid(int ruid, int euid); } 2491.62Spooka127 NOARGS { int|sys||setregid(int rgid, int egid); } 2501.62Spooka128 NOARGS { int|sys||rename(const char *from, const char *to); } 2511.62Spooka129 NOARGS { int|compat_43_sys||truncate(const char *path, \ 2521.1Smycroft long length); } otruncate 2531.62Spooka130 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } \ 2541.2Smycroft oftruncate 2551.62Spooka131 NOARGS { int|sys||flock(int fd, int how); } 2561.62Spooka132 NOARGS { int|sys||mkfifo(const char *path, int mode); } 2571.62Spooka133 NOARGS { int|sys||sendto(int s, void *buf, size_t len, \ 2581.57Schristos int flags, void *to, int tolen); } 2591.62Spooka134 NOARGS { int|sys||shutdown(int s, int how); } 2601.62Spooka135 NOARGS { int|sys||socketpair(int domain, int type, \ 2611.1Smycroft int protocol, int *rsv); } 2621.62Spooka136 NOARGS { int|sys||mkdir(const char *path, int mode); } 2631.62Spooka137 NOARGS { int|sys||rmdir(const char *path); } 2641.62Spooka138 NOARGS { int|compat_50_sys||utimes(char *path, \ 2651.61Schristos struct timeval50 *tptr); } 2661.1Smycroft139 OBSOL 4.2 sigreturn 2671.62Spooka140 NOARGS { int|compat_50_sys||adjtime(struct timeval50 *delta, \ 2681.61Schristos struct timeval50 *olddelta); } 2691.62Spooka141 NOARGS { int|compat_43_sys||getpeername(int fdes, void *asa, \ 2701.1Smycroft int *alen); } ogetpeername 2711.62Spooka142 NOARGS { int32_t|compat_43_sys||gethostid(void); } ogethostid 2721.62Spooka143 NOARGS { int|compat_43_sys||sethostid(int32_t hostid); } \ 2731.1Smycroft osethostid 2741.62Spooka144 NOARGS { int|compat_43_sys||getrlimit(u_int which, \ 2751.10Smycroft struct orlimit *rlp); } ogetrlimit 2761.62Spooka145 NOARGS { int|compat_43_sys||setrlimit(u_int which, \ 2771.10Smycroft struct orlimit *rlp); } osetrlimit 2781.62Spooka146 NOARGS { int|compat_43_sys||killpg(int pgid, int signum); } \ 2791.1Smycroft okillpg 2801.62Spooka147 NOARGS { int|sys||setsid(void); } 2811.73Schristos#if defined(QUOTA) || !defined(_KERNEL_OPT) 2821.65Sbouyer148 NOARGS { int|compat_50_sys||quotactl(char *path, int cmd, \ 2831.65Sbouyer int uid, void *arg); } 2841.62Spooka149 NOARGS { int|compat_43_sys||quota(void); } oquota 2851.73Schristos#else 2861.73Schristos148 EXCL compat_50_sys_quotactl 2871.73Schristos149 EXCL compat_43_sys_quota 2881.73Schristos#endif 2891.62Spooka150 NOARGS { int|compat_43_sys||getsockname(int fdec, void *asa, \ 2901.1Smycroft int *alen); } ogetsockname 2911.1Smycroft 2921.1Smycroft; Syscalls 151-180 inclusive are reserved for vendor-specific 2931.1Smycroft; system calls. (This includes various calls added for compatibity 2941.1Smycroft; with other Unix variants.) 2951.1Smycroft; Some of these calls are now supported by BSD... 2961.27Stv151 UNIMPL sem_lock 2971.27Stv152 UNIMPL sem_wakeup 2981.27Stv153 UNIMPL asyncdaemon 2991.1Smycroft154 UNIMPL 3001.27Stv155 UNIMPL nfssvc 3011.62Spooka156 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \ 3021.1Smycroft u_int count, long *basep); } ogetdirentries 3031.62Spooka157 NOARGS { int|compat_20_sys||statfs(const char *path, \ 3041.44Schristos struct statfs12 *buf); } 3051.62Spooka158 NOARGS { int|compat_20_sys||fstatfs(int fd, \ 3061.44Schristos struct statfs12 *buf); } 3071.1Smycroft159 UNIMPL 3081.1Smycroft160 UNIMPL 3091.62Spooka161 NOARGS { int|compat_30_sys||getfh(const char *fname, \ 3101.53Smartin struct compat_30_fhandle *fhp); } 3111.62Spooka162 NOARGS { int|compat_09_sys||getdomainname(char *domainname, \ 3121.1Smycroft int len); } 3131.62Spooka163 NOARGS { int|compat_09_sys||setdomainname(char *domainname, \ 3141.1Smycroft int len); } 3151.62Spooka164 NOARGS { int|compat_09_sys||uname(struct outsname *name); } 3161.62Spooka165 NOARGS { int|sys||sysarch(int op, char *parms); } 3171.62Spooka166 STD { int|freebsd_sys||rtprio(int function, pid_t pid, \ 3181.1Smycroft struct freebsd_rtprio *rtp); } 3191.1Smycroft167 UNIMPL 3201.1Smycroft168 UNIMPL 3211.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3221.37Seeh#if defined(SYSVSEM) && !defined(_LP64) 3231.62Spooka169 STD { int|freebsd_sys||semsys(int which, int a2, int a3, \ 3241.1Smycroft int a4, int a5); } 3251.1Smycroft#else 3261.1Smycroft169 UNIMPL 1.0 semsys 3271.1Smycroft#endif 3281.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3291.37Seeh#if defined(SYSVMSG) && !defined(_LP64) 3301.62Spooka170 STD { int|freebsd_sys||msgsys(int which, int a2, int a3, \ 3311.1Smycroft int a4, int a5, int a6); } 3321.1Smycroft#else 3331.1Smycroft170 UNIMPL 1.0 msgsys 3341.1Smycroft#endif 3351.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3361.37Seeh#if defined(SYSVSHM) && !defined(_LP64) 3371.62Spooka171 STD { int|freebsd_sys||shmsys(int which, int a2, int a3, \ 3381.1Smycroft int a4); } 3391.1Smycroft#else 3401.1Smycroft171 UNIMPL 1.0 shmsys 3411.1Smycroft#endif 3421.1Smycroft172 UNIMPL 3431.62Spooka173 NOARGS { ssize_t|sys||pread(int fd, void *buf, \ 3441.27Stv size_t nbyte, int pad, off_t offset); } 3451.62Spooka174 NOARGS { ssize_t|sys||pwrite(int fd, const void *buf, \ 3461.27Stv size_t nbyte, int pad, off_t offset); } 3471.1Smycroft175 UNIMPL 3481.30Sitojun#ifdef NTP 3491.62Spooka176 STD { int|freebsd||ntp_adjtime(struct freebsd_timex *tp); } 3501.29Sbjh21#else 3511.29Sbjh21176 EXCL ntp_adjtime 3521.29Sbjh21#endif 3531.27Stv177 UNIMPL sfork 3541.27Stv178 UNIMPL getdescriptor 3551.27Stv179 UNIMPL setdescriptor 3561.1Smycroft180 UNIMPL 3571.1Smycroft 3581.1Smycroft; Syscalls 180-199 are used by/reserved for BSD 3591.62Spooka181 NOARGS { int|sys||setgid(gid_t gid); } 3601.62Spooka182 NOARGS { int|sys||setegid(gid_t egid); } 3611.62Spooka183 NOARGS { int|sys||seteuid(uid_t euid); } 3621.1Smycroft184 UNIMPL 3631.1Smycroft185 UNIMPL 3641.1Smycroft186 UNIMPL 3651.1Smycroft187 UNIMPL 3661.62Spooka188 NOARGS { int|compat_12_sys||stat(const char *path, \ 3671.12Schristos struct stat12 *ub); } 3681.62Spooka189 NOARGS { int|compat_12_sys||fstat(int fd, \ 3691.12Schristos struct stat12 *sb); } 3701.62Spooka190 NOARGS { int|compat_12_sys||lstat(const char *path, \ 3711.12Schristos struct stat12 *ub); } 3721.62Spooka191 NOARGS { int|sys||pathconf(const char *path, int name); } 3731.62Spooka192 NOARGS { int|sys||fpathconf(int fd, int name); } 3741.1Smycroft193 UNIMPL 3751.62Spooka194 NOARGS { int|sys||getrlimit(u_int which, struct rlimit *rlp); } 3761.62Spooka195 NOARGS { int|sys||setrlimit(u_int which, struct rlimit *rlp); } 3771.62Spooka196 NOARGS { int|compat_12_sys||getdirentries(int fd, char *buf, \ 3781.1Smycroft u_int count, long *basep); } 3791.62Spooka197 STD { void *|freebsd_sys||mmap(void *addr, size_t len, \ 3801.41Spooka int prot, int flags, int fd, long pad, off_t pos); } 3811.62Spooka198 NOARGS { int|sys||nosys(void); } __syscall 3821.62Spooka199 NOARGS { off_t|sys||lseek(int fd, int pad, off_t offset, \ 3831.1Smycroft int whence); } 3841.62Spooka200 NOARGS { int|sys||truncate(const char *path, int pad, \ 3851.1Smycroft off_t length); } 3861.62Spooka201 NOARGS { int|sys||ftruncate(int fd, int pad, off_t length); } 3871.62Spooka202 STD { int|freebsd_sys||sysctl(int *name, u_int namelen, \ 3881.1Smycroft void *old, size_t *oldlenp, void *new, \ 3891.1Smycroft size_t newlen); } 3901.62Spooka203 NOARGS { int|sys||mlock(void *addr, size_t len); } 3911.62Spooka204 NOARGS { int|sys||munlock(void *addr, size_t len); } 3921.1Smycroft#ifdef FREEBSD_BASED_ON_44LITE_R2 3931.62Spooka205 STD { int|freebsd_sys||undelete(char *path); } 3941.1Smycroft#else 3951.27Stv205 UNIMPL undelete 3961.1Smycroft#endif 3971.62Spooka206 NOARGS { int|compat_50_sys||futimes(int fd, \ 3981.61Schristos const struct timeval50 *tptr); } 3991.62Spooka207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 4001.22Schristos#if 0 4011.62Spooka208 NOARGS { int|sys||reboot(int opt, char *bootstr); } 4021.22Schristos#else 4031.22Schristos208 UNIMPL newreboot 4041.22Schristos#endif 4051.62Spooka209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 4061.22Schristos int timeout); } 4071.1Smycroft; 4081.1Smycroft; Syscalls 210-219 are reserved for dynamically loaded syscalls 4091.1Smycroft; 4101.1Smycroft210 UNIMPL 4111.1Smycroft211 UNIMPL 4121.1Smycroft212 UNIMPL 4131.1Smycroft213 UNIMPL 4141.1Smycroft214 UNIMPL 4151.1Smycroft215 UNIMPL 4161.1Smycroft216 UNIMPL 4171.1Smycroft217 UNIMPL 4181.1Smycroft218 UNIMPL 4191.1Smycroft219 UNIMPL 4201.9Senami; 4211.9Senami; Syscalls 220-239 are reserved for syscalls imported from NetBSD 4221.9Senami; 4231.22Schristos#ifdef SYSVSEM 4241.62Spooka220 NOARGS { int|compat_14_sys||__semctl(int semid, int semnum, \ 4251.25Sthorpej int cmd, union __semun *arg); } 4261.62Spooka221 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 4271.62Spooka222 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 4281.22Schristos u_int nsops); } 4291.62Spooka223 NOARGS { int|sys||semconfig(int flag); } 4301.22Schristos#else 4311.22Schristos220 UNIMPL semctl 4321.22Schristos221 UNIMPL semget 4331.22Schristos222 UNIMPL semop 4341.22Schristos223 UNIMPL semconfig 4351.22Schristos#endif 4361.22Schristos#ifdef SYSVMSG 4371.62Spooka224 NOARGS { int|compat_14_sys||msgctl(int msqid, int cmd, \ 4381.25Sthorpej struct msqid14_ds *buf); } 4391.62Spooka225 NOARGS { int|sys||msgget(key_t key, int msgflg); } 4401.62Spooka226 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 4411.22Schristos int msgflg); } 4421.62Spooka227 NOARGS { int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \ 4431.22Schristos long msgtyp, int msgflg); } 4441.22Schristos#else 4451.22Schristos224 UNIMPL msgctl 4461.22Schristos225 UNIMPL msgget 4471.22Schristos226 UNIMPL msgsnd 4481.22Schristos227 UNIMPL msgrcv 4491.22Schristos#endif 4501.22Schristos#ifdef SYSVSHM 4511.62Spooka228 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 4521.62Spooka229 NOARGS { int|compat_14_sys||shmctl(int shmid, int cmd, \ 4531.25Sthorpej struct shmid_ds14 *buf); } 4541.62Spooka230 NOARGS { int|sys||shmdt(void *shmaddr); } 4551.62Spooka231 NOARGS { int|sys||shmget(key_t key, int size, int shmflg); } 4561.22Schristos#else 4571.22Schristos228 UNIMPL shmat 4581.22Schristos229 UNIMPL shmctl 4591.22Schristos230 UNIMPL shmdt 4601.22Schristos231 UNIMPL shmget 4611.22Schristos#endif 4621.22Schristos; 4631.22Schristos; XXXX 4641.62Spooka232 NOARGS { int|compat_50_sys||clock_gettime(clockid_t clock_id, \ 4651.61Schristos struct timespec50 *tp); } 4661.62Spooka233 NOARGS { int|compat_50_sys||clock_settime(clockid_t clock_id, \ 4671.61Schristos const struct timespec50 *tp); } 4681.62Spooka234 NOARGS { int|compat_50_sys||clock_getres(clockid_t clock_id, \ 4691.61Schristos struct timespec50 *tp); } 4701.22Schristos235 UNIMPL timer_create 4711.22Schristos236 UNIMPL timer_delete 4721.22Schristos237 UNIMPL timer_settime 4731.22Schristos238 UNIMPL timer_gettime 4741.22Schristos239 UNIMPL timer_getoverrun 4751.62Spooka240 NOARGS { int|compat_50_sys||nanosleep( \ 4761.61Schristos const struct timespec50 *rqtp, \ 4771.61Schristos struct timespec50 *rmtp); } 4781.9Senami241 UNIMPL 4791.9Senami242 UNIMPL 4801.9Senami243 UNIMPL 4811.9Senami244 UNIMPL 4821.9Senami245 UNIMPL 4831.9Senami246 UNIMPL 4841.9Senami247 UNIMPL 4851.9Senami248 UNIMPL 4861.9Senami249 UNIMPL 4871.22Schristos; syscall numbers initially used in OpenBSD 4881.62Spooka250 NOARGS { int|sys||minherit(void *addr, size_t len, \ 4891.36Sjdolecek int inherit); } 4901.62Spooka251 STD { int|freebsd_sys||rfork(int flags); } 4911.22Schristos252 UNIMPL openbsd_poll 4921.62Spooka253 NOARGS { int|sys||issetugid(void); } 4931.62Spooka254 NOARGS { int|sys||lchown(const char *path, int uid, int gid); } 4941.22Schristos255 UNIMPL 4951.22Schristos256 UNIMPL 4961.22Schristos257 UNIMPL 4971.22Schristos258 UNIMPL 4981.22Schristos259 UNIMPL 4991.22Schristos260 UNIMPL 5001.22Schristos261 UNIMPL 5011.22Schristos262 UNIMPL 5021.22Schristos263 UNIMPL 5031.22Schristos264 UNIMPL 5041.22Schristos265 UNIMPL 5051.22Schristos266 UNIMPL 5061.22Schristos267 UNIMPL 5071.22Schristos268 UNIMPL 5081.22Schristos269 UNIMPL 5091.22Schristos270 UNIMPL 5101.22Schristos271 UNIMPL 5111.62Spooka272 NOARGS { int|compat_30_sys||getdents(int fd, char *buf, size_t count); } 5121.22Schristos273 UNIMPL 5131.62Spooka274 NOARGS { int|sys||lchmod(const char *path, mode_t mode); } 5141.62Spooka275 NOARGS { int|sys||lchown(const char *path, uid_t uid, \ 5151.22Schristos gid_t gid); } netbsd_lchown 5161.62Spooka276 NOARGS { int|compat_50_sys||lutimes(const char *path, \ 5171.61Schristos const struct timeval50 *tptr); } 5181.62Spooka277 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 5191.62Spooka278 NOARGS { int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); } 5201.62Spooka279 NOARGS { int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); } 5211.62Spooka280 NOARGS { int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);} 5221.22Schristos281 UNIMPL 5231.22Schristos282 UNIMPL 5241.22Schristos283 UNIMPL 5251.22Schristos284 UNIMPL 5261.22Schristos285 UNIMPL 5271.22Schristos286 UNIMPL 5281.22Schristos287 UNIMPL 5291.22Schristos288 UNIMPL 5301.22Schristos289 UNIMPL 5311.22Schristos290 UNIMPL 5321.22Schristos291 UNIMPL 5331.22Schristos292 UNIMPL 5341.22Schristos293 UNIMPL 5351.22Schristos294 UNIMPL 5361.22Schristos295 UNIMPL 5371.22Schristos296 UNIMPL 5381.62Spooka297 NOARGS { int|compat_20_sys||fhstatfs(const struct \ 5391.53Smartin compat_30_fhandle *fhp, \ 5401.44Schristos struct statfs12 *buf); } 5411.62Spooka298 NOARGS { int|compat_30_sys||fhopen(const \ 5421.53Smartin struct compat_30_fhandle *fhp, int flags); } 5431.62Spooka299 NOARGS { int|compat_30_sys||fhstat(const \ 5441.53Smartin struct cocmpat_30_fhandlez *fhp, \ 5451.51Schristos struct stat13 *sb); } 5461.22Schristos; syscall numbers for FreeBSD 5471.22Schristos300 UNIMPL modnext 5481.22Schristos301 UNIMPL modstat 5491.22Schristos302 UNIMPL modfnext 5501.22Schristos303 UNIMPL modfind 5511.22Schristos304 UNIMPL kldload 5521.22Schristos305 UNIMPL kldunload 5531.22Schristos306 UNIMPL kldfind 5541.22Schristos307 UNIMPL kldnext 5551.22Schristos308 UNIMPL kldstat 5561.22Schristos309 UNIMPL kldfirstmod 5571.62Spooka310 NOARGS { pid_t|sys||getsid(pid_t pid); } 5581.22Schristos311 UNIMPL setresuid 5591.22Schristos312 UNIMPL setresgid 5601.22Schristos313 UNIMPL signanosleep 5611.22Schristos314 UNIMPL aio_return 5621.22Schristos315 UNIMPL aio_suspend 5631.22Schristos316 UNIMPL aio_cancel 5641.22Schristos317 UNIMPL aio_error 5651.22Schristos318 UNIMPL aio_read 5661.22Schristos319 UNIMPL aio_write 5671.22Schristos320 UNIMPL lio_listio 5681.62Spooka321 NOARGS { void|freebsd_sys||yield(void); } 5691.22Schristos322 UNIMPL thr_sleep 5701.22Schristos323 UNIMPL thr_wakeup 5711.62Spooka324 NOARGS { int|sys||mlockall(int flags); } 5721.62Spooka325 NOARGS { int|sys||munlockall(void); } 5731.62Spooka326 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 5741.62Spooka327 STD { int|freebsd_sys||sched_setparam(pid_t pid, \ 5751.39Sgmcgarry const struct freebsd_sched_param *sp); } 5761.62Spooka328 STD { int|freebsd_sys||sched_getparam(pid_t pid, \ 5771.39Sgmcgarry struct freebsd_sched_param *sp); } 5781.62Spooka329 STD { int|freebsd_sys||sched_setscheduler(pid_t pid, \ 5791.39Sgmcgarry int policy, const struct sched_param *sp); } 5801.62Spooka330 STD { int|freebsd_sys||sched_getscheduler(pid_t pid); } 5811.62Spooka331 STD { int|freebsd_sys||sched_yield(void); } 5821.62Spooka332 STD { int|freebsd_sys||sched_get_priority_max(int policy); } 5831.62Spooka333 STD { int|freebsd_sys||sched_get_priority_min(int policy); } 5841.22Schristos334 UNIMPL sched_rr_get_interval 5851.62Spooka335 STD { int|freebsd_sys||utrace(void *addr, size_t len); } 5861.22Schristos336 UNIMPL sendfile 5871.22Schristos337 UNIMPL kldsym 5881.27Stv338 UNIMPL jail 5891.27Stv339 UNIMPL pioctl 5901.62Spooka340 NOARGS { int|sys|14|sigprocmask(int how, \ 5911.28Sonoe const sigset_t *set, \ 5921.28Sonoe sigset_t *oset); } 5931.62Spooka341 NOARGS { int|sys|14|sigsuspend(const sigset_t *set); } 5941.62Spooka342 STD { int|freebsd_sys||sigaction4(int signum, \ 5951.28Sonoe const struct freebsd_sigaction4 *nsa, \ 5961.28Sonoe struct freebsd_sigaction4 *osa); } 5971.62Spooka343 NOARGS { int|sys|14|sigpending(const sigset_t *set); } 5981.27Stv344 UNIMPL 4.0 sigreturn 5991.27Stv345 UNIMPL sigtimedwait 6001.27Stv346 UNIMPL sigwaitinfo 6011.27Stv347 UNIMPL __acl_get_file 6021.27Stv348 UNIMPL __acl_set_file 6031.27Stv349 UNIMPL __acl_get_fd 6041.27Stv350 UNIMPL __acl_set_fd 6051.27Stv351 UNIMPL __acl_delete_file 6061.27Stv352 UNIMPL __acl_delete_fd 6071.27Stv353 UNIMPL __acl_aclcheck_file 6081.27Stv354 UNIMPL __acl_aclcheck_fd 6091.27Stv355 UNIMPL extattrctl 6101.27Stv356 UNIMPL extattr_set_file 6111.27Stv357 UNIMPL extattr_get_file 6121.27Stv358 UNIMPL extattr_delete_file 6131.27Stv359 UNIMPL aio_waitcomplete 6141.27Stv360 UNIMPL getresuid 6151.27Stv361 UNIMPL getresgid 6161.27Stv362 UNIMPL kqueue 6171.27Stv363 UNIMPL kevent 6181.42Sjdolecek364 UNIMPL __cap_get_proc 6191.42Sjdolecek365 UNIMPL __cap_set_proc 6201.42Sjdolecek366 UNIMPL __cap_get_fd 6211.42Sjdolecek367 UNIMPL __cap_get_file 6221.42Sjdolecek368 UNIMPL __cap_set_fd 6231.42Sjdolecek369 UNIMPL __cap_set_file 6241.42Sjdolecek370 UNIMPL lkmressym 6251.42Sjdolecek371 UNIMPL extattr_set_fd 6261.42Sjdolecek372 UNIMPL extattr_get_fd 6271.42Sjdolecek373 UNIMPL extattr_delete_fd 6281.42Sjdolecek374 UNIMPL __setugid 6291.42Sjdolecek375 UNIMPL nfsclnt 6301.42Sjdolecek376 UNIMPL eaccess 6311.42Sjdolecek377 UNIMPL afs_syscall 6321.42Sjdolecek378 UNIMPL nmount 6331.42Sjdolecek379 UNIMPL kse_exit 6341.42Sjdolecek380 UNIMPL kse_wakeup 6351.42Sjdolecek381 UNIMPL kse_create 6361.42Sjdolecek382 UNIMPL kse_thr_interrupt 6371.42Sjdolecek383 UNIMPL kse_release 6381.42Sjdolecek384 UNIMPL __mac_get_proc 6391.42Sjdolecek385 UNIMPL __mac_set_proc 6401.42Sjdolecek386 UNIMPL __mac_get_fd 6411.42Sjdolecek387 UNIMPL __mac_get_file 6421.42Sjdolecek388 UNIMPL __mac_set_fd 6431.42Sjdolecek389 UNIMPL __mac_set_file 6441.42Sjdolecek390 UNIMPL kenv 6451.62Spooka391 NOARGS { int|sys||lchflags(const char *path, u_long flags); } 6461.62Spooka392 NOARGS { int|sys||uuidgen(struct uuid *store, int count); } 6471.42Sjdolecek393 UNIMPL sendfile 6481.42Sjdolecek394 UNIMPL mac_syscall 6491.42Sjdolecek395 UNIMPL getfsstat 6501.42Sjdolecek396 UNIMPL statfs 6511.42Sjdolecek397 UNIMPL fsstatfs 6521.42Sjdolecek398 UNIMPL fhstatfs 6531.42Sjdolecek399 UNIMPL nosys 6541.62Spooka400 NOARGS { int|sys||_ksem_close(intptr_t id); } 6551.62Spooka401 NOARGS { int|sys||_ksem_post(intptr_t id); } 6561.62Spooka402 NOARGS { int|sys||_ksem_wait(intptr_t id); } 6571.62Spooka403 NOARGS { int|sys||_ksem_trywait(intptr_t id); } 6581.42Sjdolecek404 UNIMPL ksem_init 6591.42Sjdolecek405 UNIMPL ksem_open 6601.62Spooka406 NOARGS { int|sys||_ksem_unlink(const char *name); } 6611.62Spooka407 NOARGS { int|sys||_ksem_getvalue(intptr_t id, \ 6621.42Sjdolecek unsigned int *value); } 6631.62Spooka408 NOARGS { int|sys||_ksem_destroy(intptr_t id); } 6641.42Sjdolecek409 UNIMPL __mac_get_pid 6651.42Sjdolecek410 UNIMPL __mac_get_link 6661.42Sjdolecek411 UNIMPL __mac_set_link 6671.42Sjdolecek412 UNIMPL extattr_set_link 6681.42Sjdolecek413 UNIMPL extattr_get_link 6691.42Sjdolecek414 UNIMPL extattr_delete_link 6701.42Sjdolecek415 UNIMPL __mac_execve 6711.42Sjdolecek416 UNIMPL sigaction 6721.42Sjdolecek417 UNIMPL sigreturn 6731.42Sjdolecek418 UNIMPL __xstat 6741.42Sjdolecek419 UNIMPL __xfstat 6751.42Sjdolecek420 UNIMPL __xlstat 6761.42Sjdolecek421 UNIMPL getcontext 6771.42Sjdolecek422 UNIMPL setcontext 6781.42Sjdolecek423 UNIMPL swapcontext 6791.42Sjdolecek424 UNIMPL swapoff 6801.42Sjdolecek425 UNIMPL __acl_get_link 6811.42Sjdolecek426 UNIMPL __acl_set_link 6821.42Sjdolecek427 UNIMPL __acl_delete_link 6831.42Sjdolecek428 UNIMPL __acl_aclcheck_link 6841.42Sjdolecek429 UNIMPL sigwait 6851.42Sjdolecek430 UNIMPL thr_create 6861.42Sjdolecek431 UNIMPL thr_exit 6871.42Sjdolecek432 UNIMPL thr_self 6881.42Sjdolecek433 UNIMPL thr_kill 6891.42Sjdolecek434 UNIMPL _umtx_lock 6901.42Sjdolecek435 UNIMPL _umtx_unlock 6911.42Sjdolecek436 UNIMPL jail_attach 6921.42Sjdolecek437 UNIMPL extattr_list_fd 6931.42Sjdolecek438 UNIMPL extattr_list_file 6941.42Sjdolecek439 UNIMPL extattr_list_link 695