syscalls.master revision 1.67
11.67Snjoly $NetBSD: syscalls.master,v 1.67 2013/11/07 19:37:18 njoly 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.32Smycroft#endif 401.1Smycroft 411.1Smycroft#include <sys/param.h> 421.1Smycroft#include <sys/systm.h> 431.1Smycroft#include <sys/signal.h> 441.1Smycroft#include <sys/mount.h> 451.1Smycroft#include <sys/syscallargs.h> 461.1Smycroft 471.49Schristos#include <compat/sys/signal.h> 481.61Schristos#include <compat/sys/time.h> 491.49Schristos 501.1Smycroft#include <compat/freebsd/freebsd_syscallargs.h> 511.1Smycroft 521.1Smycroft#include <machine/freebsd_machdep.h> 531.32Smycroft 541.32Smycroft%% 551.1Smycroft 561.1Smycroft; Reserved/unimplemented system calls in the range 0-150 inclusive 571.1Smycroft; are reserved for use in future Berkeley releases. 581.1Smycroft; Additional system calls implemented in vendor and other 591.1Smycroft; redistributions should be placed in the reserved range at the end 601.1Smycroft; of the current calls. 611.1Smycroft 621.62Spooka0 NOARGS { int|sys||nosys(void); } syscall 631.62Spooka1 NOARGS { int|sys||exit(int rval); } 641.62Spooka2 NOARGS { int|sys||fork(void); } 651.62Spooka3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 661.62Spooka4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 671.62Spooka5 NOARGS { int|sys||open(const char *path, int flags, int mode); } 681.62Spooka6 NOARGS { int|sys||close(int fd); } 691.62Spooka7 NOARGS { int|compat_50_sys||wait4(int pid, int *status, \ 701.61Schristos int options, struct rusage50 *rusage); } 711.62Spooka8 NOARGS { int|compat_43_sys||creat(const char *path, \ 721.1Smycroft int mode); } ocreat 731.62Spooka9 NOARGS { int|sys||link(const char *path, const char *link); } 741.62Spooka10 NOARGS { int|sys||unlink(const char *path); } 751.1Smycroft11 OBSOL execv 761.62Spooka12 NOARGS { int|sys||chdir(const char *path); } 771.62Spooka13 NOARGS { int|sys||fchdir(int fd); } 781.62Spooka14 NOARGS { int|compat_50_sys||mknod(const char *path, int mode, int dev); } 791.62Spooka15 NOARGS { int|sys||chmod(const char *path, int mode); } 801.62Spooka16 NOARGS { int|sys||chown(const char *path, int uid, int gid); } 811.62Spooka17 NOARGS { int|sys||obreak(char *nsize); } break 821.62Spooka18 NOARGS { int|compat_20_sys||getfsstat(struct statfs12 *buf, \ 831.44Schristos long bufsize, int flags); } 841.62Spooka19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 851.1Smycroft int whence); } olseek 861.62Spooka20 NOARGS { pid_t|sys||getpid_with_ppid(void); } 871.62Spooka21 STD { int|freebsd_sys||mount(int type, const char *path, \ 881.57Schristos int flags, void *data); } 891.62Spooka22 NOARGS { int|sys||unmount(const char *path, int flags); } 901.62Spooka23 NOARGS { int|sys||setuid(uid_t uid); } 911.62Spooka24 NOARGS { uid_t|sys||getuid_with_euid(void); } 921.62Spooka25 NOARGS { uid_t|sys||geteuid(void); } 931.62Spooka26 STD { int|freebsd_sys||ptrace(int req, pid_t pid, \ 941.57Schristos void *addr, int data); } 951.62Spooka27 NOARGS { int|sys||recvmsg(int s, struct msghdr *msg, \ 961.1Smycroft int flags); } 971.62Spooka28 NOARGS { int|sys||sendmsg(int s, void *msg, int flags); } 981.62Spooka29 NOARGS { int|sys||recvfrom(int s, void *buf, size_t len, \ 991.57Schristos int flags, void *from, int *fromlenaddr); } 1001.62Spooka30 NOARGS { int|sys||accept(int s, void *name, int *anamelen); } 1011.62Spooka31 NOARGS { int|sys||getpeername(int fdes, void *asa, \ 1021.1Smycroft int *alen); } 1031.62Spooka32 NOARGS { int|sys||getsockname(int fdes, void *asa, \ 1041.1Smycroft int *alen); } 1051.62Spooka33 NOARGS { int|sys||access(const char *path, int flags); } 1061.62Spooka34 NOARGS { int|sys||chflags(const char *path, int flags); } 1071.62Spooka35 NOARGS { int|sys||fchflags(int fd, int flags); } 1081.62Spooka36 NOARGS { int|sys||sync(void); } 1091.62Spooka37 NOARGS { int|sys||kill(int pid, int signum); } 1101.62Spooka38 NOARGS { int|compat_43_sys||stat(const char *path, \ 1111.11Schristos struct stat43 *ub); } stat43 1121.62Spooka39 NOARGS { pid_t|sys||getppid(void); } 1131.62Spooka40 NOARGS { int|compat_43_sys||lstat(const char *path, \ 1141.11Schristos struct stat43 *ub); } lstat43 1151.67Snjoly41 NOARGS { int|sys||dup(int fd); } 1161.62Spooka42 NOARGS { int|sys||pipe(void); } 1171.62Spooka43 NOARGS { gid_t|sys||getegid(void); } 1181.62Spooka44 NOARGS { int|sys||profil(void *samples, u_int size, \ 1191.1Smycroft u_int offset, u_int scale); } 1201.1Smycroft#ifdef KTRACE 1211.62Spooka45 NOARGS { int|sys||ktrace(char *fname, int ops, int facs, \ 1221.1Smycroft int pid); } 1231.1Smycroft#else 1241.34Sjdolecek45 EXCL ktrace 1251.1Smycroft#endif 1261.62Spooka46 NOARGS { int|compat_13_sys||sigaction(int signum, \ 1271.19Smycroft const struct sigaction13 *nsa, \ 1281.19Smycroft struct sigaction13 *osa); } 1291.62Spooka47 NOARGS { gid_t|sys||getgid_with_egid(void); } 1301.62Spooka48 NOARGS { int|compat_13_sys||sigprocmask(int how, \ 1311.19Smycroft int mask); } 1321.62Spooka49 NOARGS { int|sys||__getlogin(char *namebuf, u_int namelen); } 1331.62Spooka50 NOARGS { int|sys||__setlogin(char *namebuf); } 1341.62Spooka51 NOARGS { int|sys||acct(char *path); } 1351.62Spooka52 NOARGS { int|compat_13_sys||sigpending(void); } 1361.62Spooka53 NOARGS { int|compat_13_sys||sigaltstack( \ 1371.13Sveego const struct sigaltstack13 *nss, \ 1381.13Sveego struct sigaltstack13 *oss); } 1391.62Spooka54 STD { int|freebsd_sys||ioctl(int fd, u_long com, \ 1401.57Schristos void *data); } 1411.62Spooka55 NOARGS { int|sys||reboot(int opt); } oreboot 1421.62Spooka56 NOARGS { int|sys||revoke(const char *path); } 1431.62Spooka57 NOARGS { int|sys||symlink(const char *path, const char *link); } 1441.62Spooka58 NOARGS { int|sys||readlink(const char *path, \ 1451.22Schristos char *buf, int count); } 1461.62Spooka59 NOARGS { int|sys||execve(const char *path, \ 1471.22Schristos char **argp, char **envp); } 1481.62Spooka60 NOARGS { int|sys||umask(int newmask); } 1491.62Spooka61 NOARGS { int|sys||chroot(const char *path); } 1501.62Spooka62 NOARGS { int|compat_43_sys||fstat(int fd, struct stat43 *sb); } \ 1511.11Schristos fstat43 1521.62Spooka63 NOARGS { int|compat_43_sys||getkerninfo(int op, char *where, \ 1531.1Smycroft int *size, int arg); } ogetkerninfo 1541.62Spooka64 NOARGS { int|compat_43_sys||getpagesize(void); } ogetpagesize 1551.62Spooka65 STD { int|freebsd_sys||msync(void *addr, size_t len, \ 1561.1Smycroft int flags); } 1571.62Spooka66 NOARGS { int|sys||vfork(void); } 1581.1Smycroft67 OBSOL vread 1591.1Smycroft68 OBSOL vwrite 1601.62Spooka69 NOARGS { int|sys||sbrk(intptr_t incr); } 1611.62Spooka70 NOARGS { int|sys||sstk(int incr); } 1621.62Spooka71 NOARGS { int|compat_43_sys||mmap(void *addr, size_t len, \ 1631.1Smycroft int prot, int flags, int fd, long pos); } ommap 1641.62Spooka72 NOARGS { int|sys||ovadvise(int anom); } vadvise 1651.62Spooka73 NOARGS { int|sys||munmap(void *addr, size_t len); } 1661.62Spooka74 NOARGS { int|sys||mprotect(void *addr, size_t len, \ 1671.1Smycroft int prot); } 1681.62Spooka75 NOARGS { int|sys||madvise(void *addr, size_t len, \ 1691.1Smycroft int behav); } 1701.1Smycroft76 OBSOL vhangup 1711.1Smycroft77 OBSOL vlimit 1721.62Spooka78 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 1731.62Spooka79 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 1741.62Spooka80 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 1751.62Spooka81 NOARGS { int|sys||getpgrp(void); } 1761.62Spooka82 NOARGS { int|sys||setpgid(int pid, int pgid); } 1771.62Spooka83 NOARGS { int|compat_50_sys||setitimer(u_int which, \ 1781.61Schristos struct itimerval50 *itv, struct itimerval50 *oitv); } 1791.62Spooka84 NOARGS { int|compat_43_sys||wait(void); } owait 1801.62Spooka85 NOARGS { int|compat_12_sys||swapon(char *name); } 1811.62Spooka86 NOARGS { int|compat_50_sys||getitimer(u_int which, \ 1821.61Schristos struct itimerval50 *itv); } 1831.62Spooka87 NOARGS { int|compat_43_sys||gethostname(char *hostname, \ 1841.1Smycroft u_int len); } ogethostname 1851.62Spooka88 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 1861.1Smycroft u_int len); } osethostname 1871.62Spooka89 NOARGS { int|compat_43_sys||getdtablesize(void); } \ 1881.1Smycroft ogetdtablesize 1891.67Snjoly90 NOARGS { int|sys||dup2(int from, int to); } 1901.1Smycroft91 UNIMPL getdopt 1911.62Spooka92 NOARGS { int|sys||fcntl(int fd, int cmd, void *arg); } 1921.62Spooka93 NOARGS { int|compat_50_sys||select(u_int nd, fd_set *in, \ 1931.61Schristos fd_set *ou, fd_set *ex, struct timeval50 *tv); } 1941.1Smycroft94 UNIMPL setdopt 1951.62Spooka95 NOARGS { int|sys||fsync(int fd); } 1961.62Spooka96 NOARGS { int|sys||setpriority(int which, int who, int prio); } 1971.62Spooka97 NOARGS { int|compat_30_sys||socket(int domain, int type, int protocol); } 1981.62Spooka98 NOARGS { int|sys||connect(int s, void *name, int namelen); } 1991.62Spooka99 NOARGS { int|compat_43_sys||accept(int s, void *name, \ 2001.1Smycroft int *anamelen); } oaccept 2011.62Spooka100 NOARGS { int|sys||getpriority(int which, int who); } 2021.62Spooka101 NOARGS { int|compat_43_sys||send(int s, void *buf, int len, \ 2031.1Smycroft int flags); } osend 2041.62Spooka102 NOARGS { int|compat_43_sys||recv(int s, void *buf, int len, \ 2051.1Smycroft int flags); } orecv 2061.62Spooka103 STD { int|freebsd_sys||sigreturn( \ 2071.1Smycroft struct freebsd_sigcontext *scp); } 2081.62Spooka104 NOARGS { int|sys||bind(int s, void *name, int namelen); } 2091.62Spooka105 NOARGS { int|sys||setsockopt(int s, int level, int name, \ 2101.57Schristos void *val, int valsize); } 2111.62Spooka106 NOARGS { int|sys||listen(int s, int backlog); } 2121.1Smycroft107 OBSOL vtimes 2131.62Spooka108 NOARGS { int|compat_43_sys||sigvec(int signum, \ 2141.1Smycroft struct sigvec *nsv, struct sigvec *osv); } osigvec 2151.62Spooka109 NOARGS { int|compat_43_sys||sigblock(int mask); } osigblock 2161.62Spooka110 NOARGS { int|compat_43_sys||sigsetmask(int mask); } osigsetmask 2171.62Spooka111 NOARGS { int|compat_13_sys||sigsuspend(int mask); } 2181.62Spooka112 NOARGS { int|compat_43_sys||sigstack(struct sigstack *nss, \ 2191.1Smycroft struct sigstack *oss); } osigstack 2201.62Spooka113 NOARGS { int|compat_43_sys||recvmsg(int s, \ 2211.1Smycroft struct omsghdr *msg, int flags); } orecvmsg 2221.62Spooka114 NOARGS { int|compat_43_sys||sendmsg(int s, void *msg, \ 2231.1Smycroft int flags); } osendmsg 2241.1Smycroft#ifdef TRACE 2251.62Spooka115 NOARGS { int|sys||vtrace(int request, int value); } 2261.1Smycroft#else 2271.1Smycroft115 OBSOL vtrace 2281.1Smycroft#endif 2291.62Spooka116 NOARGS { int|compat_50_sys||gettimeofday(struct timeval50 *tp, \ 2301.1Smycroft struct timezone *tzp); } 2311.62Spooka117 NOARGS { int|compat_50_sys||getrusage(int who, \ 2321.61Schristos struct rusage50 *rusage); } 2331.62Spooka118 NOARGS { int|sys||getsockopt(int s, int level, int name, \ 2341.57Schristos void *val, int *avalsize); } 2351.1Smycroft119 OBSOL resuba 2361.62Spooka120 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ 2371.1Smycroft u_int iovcnt); } 2381.62Spooka121 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ 2391.1Smycroft u_int iovcnt); } 2401.62Spooka122 NOARGS { int|compat_50_sys||settimeofday(struct timeval50 *tv, \ 2411.61Schristos struct timezone50 *tzp); } 2421.62Spooka123 NOARGS { int|sys||fchown(int fd, int uid, int gid); } 2431.62Spooka124 NOARGS { int|sys||fchmod(int fd, int mode); } 2441.62Spooka125 NOARGS { int|compat_43_sys||recvfrom(int s, void *buf, \ 2451.57Schristos size_t len, int flags, void *from, \ 2461.1Smycroft int *fromlenaddr); } orecvfrom 2471.62Spooka126 NOARGS { int|sys||setreuid(int ruid, int euid); } 2481.62Spooka127 NOARGS { int|sys||setregid(int rgid, int egid); } 2491.62Spooka128 NOARGS { int|sys||rename(const char *from, const char *to); } 2501.62Spooka129 NOARGS { int|compat_43_sys||truncate(const char *path, \ 2511.1Smycroft long length); } otruncate 2521.62Spooka130 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } \ 2531.2Smycroft oftruncate 2541.62Spooka131 NOARGS { int|sys||flock(int fd, int how); } 2551.62Spooka132 NOARGS { int|sys||mkfifo(const char *path, int mode); } 2561.62Spooka133 NOARGS { int|sys||sendto(int s, void *buf, size_t len, \ 2571.57Schristos int flags, void *to, int tolen); } 2581.62Spooka134 NOARGS { int|sys||shutdown(int s, int how); } 2591.62Spooka135 NOARGS { int|sys||socketpair(int domain, int type, \ 2601.1Smycroft int protocol, int *rsv); } 2611.62Spooka136 NOARGS { int|sys||mkdir(const char *path, int mode); } 2621.62Spooka137 NOARGS { int|sys||rmdir(const char *path); } 2631.62Spooka138 NOARGS { int|compat_50_sys||utimes(char *path, \ 2641.61Schristos struct timeval50 *tptr); } 2651.1Smycroft139 OBSOL 4.2 sigreturn 2661.62Spooka140 NOARGS { int|compat_50_sys||adjtime(struct timeval50 *delta, \ 2671.61Schristos struct timeval50 *olddelta); } 2681.62Spooka141 NOARGS { int|compat_43_sys||getpeername(int fdes, void *asa, \ 2691.1Smycroft int *alen); } ogetpeername 2701.62Spooka142 NOARGS { int32_t|compat_43_sys||gethostid(void); } ogethostid 2711.62Spooka143 NOARGS { int|compat_43_sys||sethostid(int32_t hostid); } \ 2721.1Smycroft osethostid 2731.62Spooka144 NOARGS { int|compat_43_sys||getrlimit(u_int which, \ 2741.10Smycroft struct orlimit *rlp); } ogetrlimit 2751.62Spooka145 NOARGS { int|compat_43_sys||setrlimit(u_int which, \ 2761.10Smycroft struct orlimit *rlp); } osetrlimit 2771.62Spooka146 NOARGS { int|compat_43_sys||killpg(int pgid, int signum); } \ 2781.1Smycroft okillpg 2791.62Spooka147 NOARGS { int|sys||setsid(void); } 2801.65Sbouyer148 NOARGS { int|compat_50_sys||quotactl(char *path, int cmd, \ 2811.65Sbouyer int uid, void *arg); } 2821.62Spooka149 NOARGS { int|compat_43_sys||quota(void); } oquota 2831.62Spooka150 NOARGS { int|compat_43_sys||getsockname(int fdec, void *asa, \ 2841.1Smycroft int *alen); } ogetsockname 2851.1Smycroft 2861.1Smycroft; Syscalls 151-180 inclusive are reserved for vendor-specific 2871.1Smycroft; system calls. (This includes various calls added for compatibity 2881.1Smycroft; with other Unix variants.) 2891.1Smycroft; Some of these calls are now supported by BSD... 2901.27Stv151 UNIMPL sem_lock 2911.27Stv152 UNIMPL sem_wakeup 2921.27Stv153 UNIMPL asyncdaemon 2931.1Smycroft154 UNIMPL 2941.27Stv155 UNIMPL nfssvc 2951.62Spooka156 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \ 2961.1Smycroft u_int count, long *basep); } ogetdirentries 2971.62Spooka157 NOARGS { int|compat_20_sys||statfs(const char *path, \ 2981.44Schristos struct statfs12 *buf); } 2991.62Spooka158 NOARGS { int|compat_20_sys||fstatfs(int fd, \ 3001.44Schristos struct statfs12 *buf); } 3011.1Smycroft159 UNIMPL 3021.1Smycroft160 UNIMPL 3031.62Spooka161 NOARGS { int|compat_30_sys||getfh(const char *fname, \ 3041.53Smartin struct compat_30_fhandle *fhp); } 3051.62Spooka162 NOARGS { int|compat_09_sys||getdomainname(char *domainname, \ 3061.1Smycroft int len); } 3071.62Spooka163 NOARGS { int|compat_09_sys||setdomainname(char *domainname, \ 3081.1Smycroft int len); } 3091.62Spooka164 NOARGS { int|compat_09_sys||uname(struct outsname *name); } 3101.62Spooka165 NOARGS { int|sys||sysarch(int op, char *parms); } 3111.62Spooka166 STD { int|freebsd_sys||rtprio(int function, pid_t pid, \ 3121.1Smycroft struct freebsd_rtprio *rtp); } 3131.1Smycroft167 UNIMPL 3141.1Smycroft168 UNIMPL 3151.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3161.37Seeh#if defined(SYSVSEM) && !defined(_LP64) 3171.62Spooka169 STD { int|freebsd_sys||semsys(int which, int a2, int a3, \ 3181.1Smycroft int a4, int a5); } 3191.1Smycroft#else 3201.1Smycroft169 UNIMPL 1.0 semsys 3211.1Smycroft#endif 3221.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3231.37Seeh#if defined(SYSVMSG) && !defined(_LP64) 3241.62Spooka170 STD { int|freebsd_sys||msgsys(int which, int a2, int a3, \ 3251.1Smycroft int a4, int a5, int a6); } 3261.1Smycroft#else 3271.1Smycroft170 UNIMPL 1.0 msgsys 3281.1Smycroft#endif 3291.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3301.37Seeh#if defined(SYSVSHM) && !defined(_LP64) 3311.62Spooka171 STD { int|freebsd_sys||shmsys(int which, int a2, int a3, \ 3321.1Smycroft int a4); } 3331.1Smycroft#else 3341.1Smycroft171 UNIMPL 1.0 shmsys 3351.1Smycroft#endif 3361.1Smycroft172 UNIMPL 3371.62Spooka173 NOARGS { ssize_t|sys||pread(int fd, void *buf, \ 3381.27Stv size_t nbyte, int pad, off_t offset); } 3391.62Spooka174 NOARGS { ssize_t|sys||pwrite(int fd, const void *buf, \ 3401.27Stv size_t nbyte, int pad, off_t offset); } 3411.1Smycroft175 UNIMPL 3421.30Sitojun#ifdef NTP 3431.62Spooka176 STD { int|freebsd||ntp_adjtime(struct freebsd_timex *tp); } 3441.29Sbjh21#else 3451.29Sbjh21176 EXCL ntp_adjtime 3461.29Sbjh21#endif 3471.27Stv177 UNIMPL sfork 3481.27Stv178 UNIMPL getdescriptor 3491.27Stv179 UNIMPL setdescriptor 3501.1Smycroft180 UNIMPL 3511.1Smycroft 3521.1Smycroft; Syscalls 180-199 are used by/reserved for BSD 3531.62Spooka181 NOARGS { int|sys||setgid(gid_t gid); } 3541.62Spooka182 NOARGS { int|sys||setegid(gid_t egid); } 3551.62Spooka183 NOARGS { int|sys||seteuid(uid_t euid); } 3561.1Smycroft184 UNIMPL 3571.1Smycroft185 UNIMPL 3581.1Smycroft186 UNIMPL 3591.1Smycroft187 UNIMPL 3601.62Spooka188 NOARGS { int|compat_12_sys||stat(const char *path, \ 3611.12Schristos struct stat12 *ub); } 3621.62Spooka189 NOARGS { int|compat_12_sys||fstat(int fd, \ 3631.12Schristos struct stat12 *sb); } 3641.62Spooka190 NOARGS { int|compat_12_sys||lstat(const char *path, \ 3651.12Schristos struct stat12 *ub); } 3661.62Spooka191 NOARGS { int|sys||pathconf(const char *path, int name); } 3671.62Spooka192 NOARGS { int|sys||fpathconf(int fd, int name); } 3681.1Smycroft193 UNIMPL 3691.62Spooka194 NOARGS { int|sys||getrlimit(u_int which, struct rlimit *rlp); } 3701.62Spooka195 NOARGS { int|sys||setrlimit(u_int which, struct rlimit *rlp); } 3711.62Spooka196 NOARGS { int|compat_12_sys||getdirentries(int fd, char *buf, \ 3721.1Smycroft u_int count, long *basep); } 3731.62Spooka197 STD { void *|freebsd_sys||mmap(void *addr, size_t len, \ 3741.41Spooka int prot, int flags, int fd, long pad, off_t pos); } 3751.62Spooka198 NOARGS { int|sys||nosys(void); } __syscall 3761.62Spooka199 NOARGS { off_t|sys||lseek(int fd, int pad, off_t offset, \ 3771.1Smycroft int whence); } 3781.62Spooka200 NOARGS { int|sys||truncate(const char *path, int pad, \ 3791.1Smycroft off_t length); } 3801.62Spooka201 NOARGS { int|sys||ftruncate(int fd, int pad, off_t length); } 3811.62Spooka202 STD { int|freebsd_sys||sysctl(int *name, u_int namelen, \ 3821.1Smycroft void *old, size_t *oldlenp, void *new, \ 3831.1Smycroft size_t newlen); } 3841.62Spooka203 NOARGS { int|sys||mlock(void *addr, size_t len); } 3851.62Spooka204 NOARGS { int|sys||munlock(void *addr, size_t len); } 3861.1Smycroft#ifdef FREEBSD_BASED_ON_44LITE_R2 3871.62Spooka205 STD { int|freebsd_sys||undelete(char *path); } 3881.1Smycroft#else 3891.27Stv205 UNIMPL undelete 3901.1Smycroft#endif 3911.62Spooka206 NOARGS { int|compat_50_sys||futimes(int fd, \ 3921.61Schristos const struct timeval50 *tptr); } 3931.62Spooka207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 3941.22Schristos#if 0 3951.62Spooka208 NOARGS { int|sys||reboot(int opt, char *bootstr); } 3961.22Schristos#else 3971.22Schristos208 UNIMPL newreboot 3981.22Schristos#endif 3991.62Spooka209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 4001.22Schristos int timeout); } 4011.1Smycroft; 4021.1Smycroft; Syscalls 210-219 are reserved for dynamically loaded syscalls 4031.1Smycroft; 4041.1Smycroft210 UNIMPL 4051.1Smycroft211 UNIMPL 4061.1Smycroft212 UNIMPL 4071.1Smycroft213 UNIMPL 4081.1Smycroft214 UNIMPL 4091.1Smycroft215 UNIMPL 4101.1Smycroft216 UNIMPL 4111.1Smycroft217 UNIMPL 4121.1Smycroft218 UNIMPL 4131.1Smycroft219 UNIMPL 4141.9Senami; 4151.9Senami; Syscalls 220-239 are reserved for syscalls imported from NetBSD 4161.9Senami; 4171.22Schristos#ifdef SYSVSEM 4181.62Spooka220 NOARGS { int|compat_14_sys||__semctl(int semid, int semnum, \ 4191.25Sthorpej int cmd, union __semun *arg); } 4201.62Spooka221 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 4211.62Spooka222 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 4221.22Schristos u_int nsops); } 4231.62Spooka223 NOARGS { int|sys||semconfig(int flag); } 4241.22Schristos#else 4251.22Schristos220 UNIMPL semctl 4261.22Schristos221 UNIMPL semget 4271.22Schristos222 UNIMPL semop 4281.22Schristos223 UNIMPL semconfig 4291.22Schristos#endif 4301.22Schristos#ifdef SYSVMSG 4311.62Spooka224 NOARGS { int|compat_14_sys||msgctl(int msqid, int cmd, \ 4321.25Sthorpej struct msqid14_ds *buf); } 4331.62Spooka225 NOARGS { int|sys||msgget(key_t key, int msgflg); } 4341.62Spooka226 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 4351.22Schristos int msgflg); } 4361.62Spooka227 NOARGS { int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \ 4371.22Schristos long msgtyp, int msgflg); } 4381.22Schristos#else 4391.22Schristos224 UNIMPL msgctl 4401.22Schristos225 UNIMPL msgget 4411.22Schristos226 UNIMPL msgsnd 4421.22Schristos227 UNIMPL msgrcv 4431.22Schristos#endif 4441.22Schristos#ifdef SYSVSHM 4451.62Spooka228 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 4461.62Spooka229 NOARGS { int|compat_14_sys||shmctl(int shmid, int cmd, \ 4471.25Sthorpej struct shmid_ds14 *buf); } 4481.62Spooka230 NOARGS { int|sys||shmdt(void *shmaddr); } 4491.62Spooka231 NOARGS { int|sys||shmget(key_t key, int size, int shmflg); } 4501.22Schristos#else 4511.22Schristos228 UNIMPL shmat 4521.22Schristos229 UNIMPL shmctl 4531.22Schristos230 UNIMPL shmdt 4541.22Schristos231 UNIMPL shmget 4551.22Schristos#endif 4561.22Schristos; 4571.22Schristos; XXXX 4581.62Spooka232 NOARGS { int|compat_50_sys||clock_gettime(clockid_t clock_id, \ 4591.61Schristos struct timespec50 *tp); } 4601.62Spooka233 NOARGS { int|compat_50_sys||clock_settime(clockid_t clock_id, \ 4611.61Schristos const struct timespec50 *tp); } 4621.62Spooka234 NOARGS { int|compat_50_sys||clock_getres(clockid_t clock_id, \ 4631.61Schristos struct timespec50 *tp); } 4641.22Schristos235 UNIMPL timer_create 4651.22Schristos236 UNIMPL timer_delete 4661.22Schristos237 UNIMPL timer_settime 4671.22Schristos238 UNIMPL timer_gettime 4681.22Schristos239 UNIMPL timer_getoverrun 4691.62Spooka240 NOARGS { int|compat_50_sys||nanosleep( \ 4701.61Schristos const struct timespec50 *rqtp, \ 4711.61Schristos struct timespec50 *rmtp); } 4721.9Senami241 UNIMPL 4731.9Senami242 UNIMPL 4741.9Senami243 UNIMPL 4751.9Senami244 UNIMPL 4761.9Senami245 UNIMPL 4771.9Senami246 UNIMPL 4781.9Senami247 UNIMPL 4791.9Senami248 UNIMPL 4801.9Senami249 UNIMPL 4811.22Schristos; syscall numbers initially used in OpenBSD 4821.62Spooka250 NOARGS { int|sys||minherit(void *addr, size_t len, \ 4831.36Sjdolecek int inherit); } 4841.62Spooka251 STD { int|freebsd_sys||rfork(int flags); } 4851.22Schristos252 UNIMPL openbsd_poll 4861.62Spooka253 NOARGS { int|sys||issetugid(void); } 4871.62Spooka254 NOARGS { int|sys||lchown(const char *path, int uid, int gid); } 4881.22Schristos255 UNIMPL 4891.22Schristos256 UNIMPL 4901.22Schristos257 UNIMPL 4911.22Schristos258 UNIMPL 4921.22Schristos259 UNIMPL 4931.22Schristos260 UNIMPL 4941.22Schristos261 UNIMPL 4951.22Schristos262 UNIMPL 4961.22Schristos263 UNIMPL 4971.22Schristos264 UNIMPL 4981.22Schristos265 UNIMPL 4991.22Schristos266 UNIMPL 5001.22Schristos267 UNIMPL 5011.22Schristos268 UNIMPL 5021.22Schristos269 UNIMPL 5031.22Schristos270 UNIMPL 5041.22Schristos271 UNIMPL 5051.62Spooka272 NOARGS { int|compat_30_sys||getdents(int fd, char *buf, size_t count); } 5061.22Schristos273 UNIMPL 5071.62Spooka274 NOARGS { int|sys||lchmod(const char *path, mode_t mode); } 5081.62Spooka275 NOARGS { int|sys||lchown(const char *path, uid_t uid, \ 5091.22Schristos gid_t gid); } netbsd_lchown 5101.62Spooka276 NOARGS { int|compat_50_sys||lutimes(const char *path, \ 5111.61Schristos const struct timeval50 *tptr); } 5121.62Spooka277 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 5131.62Spooka278 NOARGS { int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); } 5141.62Spooka279 NOARGS { int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); } 5151.62Spooka280 NOARGS { int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);} 5161.22Schristos281 UNIMPL 5171.22Schristos282 UNIMPL 5181.22Schristos283 UNIMPL 5191.22Schristos284 UNIMPL 5201.22Schristos285 UNIMPL 5211.22Schristos286 UNIMPL 5221.22Schristos287 UNIMPL 5231.22Schristos288 UNIMPL 5241.22Schristos289 UNIMPL 5251.22Schristos290 UNIMPL 5261.22Schristos291 UNIMPL 5271.22Schristos292 UNIMPL 5281.22Schristos293 UNIMPL 5291.22Schristos294 UNIMPL 5301.22Schristos295 UNIMPL 5311.22Schristos296 UNIMPL 5321.62Spooka297 NOARGS { int|compat_20_sys||fhstatfs(const struct \ 5331.53Smartin compat_30_fhandle *fhp, \ 5341.44Schristos struct statfs12 *buf); } 5351.62Spooka298 NOARGS { int|compat_30_sys||fhopen(const \ 5361.53Smartin struct compat_30_fhandle *fhp, int flags); } 5371.62Spooka299 NOARGS { int|compat_30_sys||fhstat(const \ 5381.53Smartin struct cocmpat_30_fhandlez *fhp, \ 5391.51Schristos struct stat13 *sb); } 5401.22Schristos; syscall numbers for FreeBSD 5411.22Schristos300 UNIMPL modnext 5421.22Schristos301 UNIMPL modstat 5431.22Schristos302 UNIMPL modfnext 5441.22Schristos303 UNIMPL modfind 5451.22Schristos304 UNIMPL kldload 5461.22Schristos305 UNIMPL kldunload 5471.22Schristos306 UNIMPL kldfind 5481.22Schristos307 UNIMPL kldnext 5491.22Schristos308 UNIMPL kldstat 5501.22Schristos309 UNIMPL kldfirstmod 5511.62Spooka310 NOARGS { pid_t|sys||getsid(pid_t pid); } 5521.22Schristos311 UNIMPL setresuid 5531.22Schristos312 UNIMPL setresgid 5541.22Schristos313 UNIMPL signanosleep 5551.22Schristos314 UNIMPL aio_return 5561.22Schristos315 UNIMPL aio_suspend 5571.22Schristos316 UNIMPL aio_cancel 5581.22Schristos317 UNIMPL aio_error 5591.22Schristos318 UNIMPL aio_read 5601.22Schristos319 UNIMPL aio_write 5611.22Schristos320 UNIMPL lio_listio 5621.62Spooka321 NOARGS { void|freebsd_sys||yield(void); } 5631.22Schristos322 UNIMPL thr_sleep 5641.22Schristos323 UNIMPL thr_wakeup 5651.62Spooka324 NOARGS { int|sys||mlockall(int flags); } 5661.62Spooka325 NOARGS { int|sys||munlockall(void); } 5671.62Spooka326 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 5681.62Spooka327 STD { int|freebsd_sys||sched_setparam(pid_t pid, \ 5691.39Sgmcgarry const struct freebsd_sched_param *sp); } 5701.62Spooka328 STD { int|freebsd_sys||sched_getparam(pid_t pid, \ 5711.39Sgmcgarry struct freebsd_sched_param *sp); } 5721.62Spooka329 STD { int|freebsd_sys||sched_setscheduler(pid_t pid, \ 5731.39Sgmcgarry int policy, const struct sched_param *sp); } 5741.62Spooka330 STD { int|freebsd_sys||sched_getscheduler(pid_t pid); } 5751.62Spooka331 STD { int|freebsd_sys||sched_yield(void); } 5761.62Spooka332 STD { int|freebsd_sys||sched_get_priority_max(int policy); } 5771.62Spooka333 STD { int|freebsd_sys||sched_get_priority_min(int policy); } 5781.22Schristos334 UNIMPL sched_rr_get_interval 5791.62Spooka335 STD { int|freebsd_sys||utrace(void *addr, size_t len); } 5801.22Schristos336 UNIMPL sendfile 5811.22Schristos337 UNIMPL kldsym 5821.27Stv338 UNIMPL jail 5831.27Stv339 UNIMPL pioctl 5841.62Spooka340 NOARGS { int|sys|14|sigprocmask(int how, \ 5851.28Sonoe const sigset_t *set, \ 5861.28Sonoe sigset_t *oset); } 5871.62Spooka341 NOARGS { int|sys|14|sigsuspend(const sigset_t *set); } 5881.62Spooka342 STD { int|freebsd_sys||sigaction4(int signum, \ 5891.28Sonoe const struct freebsd_sigaction4 *nsa, \ 5901.28Sonoe struct freebsd_sigaction4 *osa); } 5911.62Spooka343 NOARGS { int|sys|14|sigpending(const sigset_t *set); } 5921.27Stv344 UNIMPL 4.0 sigreturn 5931.27Stv345 UNIMPL sigtimedwait 5941.27Stv346 UNIMPL sigwaitinfo 5951.27Stv347 UNIMPL __acl_get_file 5961.27Stv348 UNIMPL __acl_set_file 5971.27Stv349 UNIMPL __acl_get_fd 5981.27Stv350 UNIMPL __acl_set_fd 5991.27Stv351 UNIMPL __acl_delete_file 6001.27Stv352 UNIMPL __acl_delete_fd 6011.27Stv353 UNIMPL __acl_aclcheck_file 6021.27Stv354 UNIMPL __acl_aclcheck_fd 6031.27Stv355 UNIMPL extattrctl 6041.27Stv356 UNIMPL extattr_set_file 6051.27Stv357 UNIMPL extattr_get_file 6061.27Stv358 UNIMPL extattr_delete_file 6071.27Stv359 UNIMPL aio_waitcomplete 6081.27Stv360 UNIMPL getresuid 6091.27Stv361 UNIMPL getresgid 6101.27Stv362 UNIMPL kqueue 6111.27Stv363 UNIMPL kevent 6121.42Sjdolecek364 UNIMPL __cap_get_proc 6131.42Sjdolecek365 UNIMPL __cap_set_proc 6141.42Sjdolecek366 UNIMPL __cap_get_fd 6151.42Sjdolecek367 UNIMPL __cap_get_file 6161.42Sjdolecek368 UNIMPL __cap_set_fd 6171.42Sjdolecek369 UNIMPL __cap_set_file 6181.42Sjdolecek370 UNIMPL lkmressym 6191.42Sjdolecek371 UNIMPL extattr_set_fd 6201.42Sjdolecek372 UNIMPL extattr_get_fd 6211.42Sjdolecek373 UNIMPL extattr_delete_fd 6221.42Sjdolecek374 UNIMPL __setugid 6231.42Sjdolecek375 UNIMPL nfsclnt 6241.42Sjdolecek376 UNIMPL eaccess 6251.42Sjdolecek377 UNIMPL afs_syscall 6261.42Sjdolecek378 UNIMPL nmount 6271.42Sjdolecek379 UNIMPL kse_exit 6281.42Sjdolecek380 UNIMPL kse_wakeup 6291.42Sjdolecek381 UNIMPL kse_create 6301.42Sjdolecek382 UNIMPL kse_thr_interrupt 6311.42Sjdolecek383 UNIMPL kse_release 6321.42Sjdolecek384 UNIMPL __mac_get_proc 6331.42Sjdolecek385 UNIMPL __mac_set_proc 6341.42Sjdolecek386 UNIMPL __mac_get_fd 6351.42Sjdolecek387 UNIMPL __mac_get_file 6361.42Sjdolecek388 UNIMPL __mac_set_fd 6371.42Sjdolecek389 UNIMPL __mac_set_file 6381.42Sjdolecek390 UNIMPL kenv 6391.62Spooka391 NOARGS { int|sys||lchflags(const char *path, u_long flags); } 6401.62Spooka392 NOARGS { int|sys||uuidgen(struct uuid *store, int count); } 6411.42Sjdolecek393 UNIMPL sendfile 6421.42Sjdolecek394 UNIMPL mac_syscall 6431.42Sjdolecek395 UNIMPL getfsstat 6441.42Sjdolecek396 UNIMPL statfs 6451.42Sjdolecek397 UNIMPL fsstatfs 6461.42Sjdolecek398 UNIMPL fhstatfs 6471.42Sjdolecek399 UNIMPL nosys 6481.62Spooka400 NOARGS { int|sys||_ksem_close(intptr_t id); } 6491.62Spooka401 NOARGS { int|sys||_ksem_post(intptr_t id); } 6501.62Spooka402 NOARGS { int|sys||_ksem_wait(intptr_t id); } 6511.62Spooka403 NOARGS { int|sys||_ksem_trywait(intptr_t id); } 6521.42Sjdolecek404 UNIMPL ksem_init 6531.42Sjdolecek405 UNIMPL ksem_open 6541.62Spooka406 NOARGS { int|sys||_ksem_unlink(const char *name); } 6551.62Spooka407 NOARGS { int|sys||_ksem_getvalue(intptr_t id, \ 6561.42Sjdolecek unsigned int *value); } 6571.62Spooka408 NOARGS { int|sys||_ksem_destroy(intptr_t id); } 6581.42Sjdolecek409 UNIMPL __mac_get_pid 6591.42Sjdolecek410 UNIMPL __mac_get_link 6601.42Sjdolecek411 UNIMPL __mac_set_link 6611.42Sjdolecek412 UNIMPL extattr_set_link 6621.42Sjdolecek413 UNIMPL extattr_get_link 6631.42Sjdolecek414 UNIMPL extattr_delete_link 6641.42Sjdolecek415 UNIMPL __mac_execve 6651.42Sjdolecek416 UNIMPL sigaction 6661.42Sjdolecek417 UNIMPL sigreturn 6671.42Sjdolecek418 UNIMPL __xstat 6681.42Sjdolecek419 UNIMPL __xfstat 6691.42Sjdolecek420 UNIMPL __xlstat 6701.42Sjdolecek421 UNIMPL getcontext 6711.42Sjdolecek422 UNIMPL setcontext 6721.42Sjdolecek423 UNIMPL swapcontext 6731.42Sjdolecek424 UNIMPL swapoff 6741.42Sjdolecek425 UNIMPL __acl_get_link 6751.42Sjdolecek426 UNIMPL __acl_set_link 6761.42Sjdolecek427 UNIMPL __acl_delete_link 6771.42Sjdolecek428 UNIMPL __acl_aclcheck_link 6781.42Sjdolecek429 UNIMPL sigwait 6791.42Sjdolecek430 UNIMPL thr_create 6801.42Sjdolecek431 UNIMPL thr_exit 6811.42Sjdolecek432 UNIMPL thr_self 6821.42Sjdolecek433 UNIMPL thr_kill 6831.42Sjdolecek434 UNIMPL _umtx_lock 6841.42Sjdolecek435 UNIMPL _umtx_unlock 6851.42Sjdolecek436 UNIMPL jail_attach 6861.42Sjdolecek437 UNIMPL extattr_list_fd 6871.42Sjdolecek438 UNIMPL extattr_list_file 6881.42Sjdolecek439 UNIMPL extattr_list_link 689