syscalls.master revision 1.65
11.65Sbouyer $NetBSD: syscalls.master,v 1.65 2011/03/06 17:08:34 bouyer 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.42Sjdolecek#include "opt_posix.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.1Smycroft#include <machine/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.62Spooka41 NOARGS { int|sys||dup(u_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.62Spooka69 NOARGS { int|sys||sbrk(intptr_t incr); } 1621.62Spooka70 NOARGS { int|sys||sstk(int incr); } 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.62Spooka72 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.62Spooka90 NOARGS { int|sys||dup2(u_int from, u_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.65Sbouyer148 NOARGS { int|compat_50_sys||quotactl(char *path, int cmd, \ 2821.65Sbouyer int uid, void *arg); } 2831.62Spooka149 NOARGS { int|compat_43_sys||quota(void); } oquota 2841.62Spooka150 NOARGS { int|compat_43_sys||getsockname(int fdec, void *asa, \ 2851.1Smycroft int *alen); } ogetsockname 2861.1Smycroft 2871.1Smycroft; Syscalls 151-180 inclusive are reserved for vendor-specific 2881.1Smycroft; system calls. (This includes various calls added for compatibity 2891.1Smycroft; with other Unix variants.) 2901.1Smycroft; Some of these calls are now supported by BSD... 2911.27Stv151 UNIMPL sem_lock 2921.27Stv152 UNIMPL sem_wakeup 2931.27Stv153 UNIMPL asyncdaemon 2941.1Smycroft154 UNIMPL 2951.27Stv155 UNIMPL nfssvc 2961.62Spooka156 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \ 2971.1Smycroft u_int count, long *basep); } ogetdirentries 2981.62Spooka157 NOARGS { int|compat_20_sys||statfs(const char *path, \ 2991.44Schristos struct statfs12 *buf); } 3001.62Spooka158 NOARGS { int|compat_20_sys||fstatfs(int fd, \ 3011.44Schristos struct statfs12 *buf); } 3021.1Smycroft159 UNIMPL 3031.1Smycroft160 UNIMPL 3041.62Spooka161 NOARGS { int|compat_30_sys||getfh(const char *fname, \ 3051.53Smartin struct compat_30_fhandle *fhp); } 3061.62Spooka162 NOARGS { int|compat_09_sys||getdomainname(char *domainname, \ 3071.1Smycroft int len); } 3081.62Spooka163 NOARGS { int|compat_09_sys||setdomainname(char *domainname, \ 3091.1Smycroft int len); } 3101.62Spooka164 NOARGS { int|compat_09_sys||uname(struct outsname *name); } 3111.62Spooka165 NOARGS { int|sys||sysarch(int op, char *parms); } 3121.62Spooka166 STD { int|freebsd_sys||rtprio(int function, pid_t pid, \ 3131.1Smycroft struct freebsd_rtprio *rtp); } 3141.1Smycroft167 UNIMPL 3151.1Smycroft168 UNIMPL 3161.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3171.37Seeh#if defined(SYSVSEM) && !defined(_LP64) 3181.62Spooka169 STD { int|freebsd_sys||semsys(int which, int a2, int a3, \ 3191.1Smycroft int a4, int a5); } 3201.1Smycroft#else 3211.1Smycroft169 UNIMPL 1.0 semsys 3221.1Smycroft#endif 3231.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3241.37Seeh#if defined(SYSVMSG) && !defined(_LP64) 3251.62Spooka170 STD { int|freebsd_sys||msgsys(int which, int a2, int a3, \ 3261.1Smycroft int a4, int a5, int a6); } 3271.1Smycroft#else 3281.1Smycroft170 UNIMPL 1.0 msgsys 3291.1Smycroft#endif 3301.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3311.37Seeh#if defined(SYSVSHM) && !defined(_LP64) 3321.62Spooka171 STD { int|freebsd_sys||shmsys(int which, int a2, int a3, \ 3331.1Smycroft int a4); } 3341.1Smycroft#else 3351.1Smycroft171 UNIMPL 1.0 shmsys 3361.1Smycroft#endif 3371.1Smycroft172 UNIMPL 3381.62Spooka173 NOARGS { ssize_t|sys||pread(int fd, void *buf, \ 3391.27Stv size_t nbyte, int pad, off_t offset); } 3401.62Spooka174 NOARGS { ssize_t|sys||pwrite(int fd, const void *buf, \ 3411.27Stv size_t nbyte, int pad, off_t offset); } 3421.1Smycroft175 UNIMPL 3431.30Sitojun#ifdef NTP 3441.62Spooka176 STD { int|freebsd||ntp_adjtime(struct freebsd_timex *tp); } 3451.29Sbjh21#else 3461.29Sbjh21176 EXCL ntp_adjtime 3471.29Sbjh21#endif 3481.27Stv177 UNIMPL sfork 3491.27Stv178 UNIMPL getdescriptor 3501.27Stv179 UNIMPL setdescriptor 3511.1Smycroft180 UNIMPL 3521.1Smycroft 3531.1Smycroft; Syscalls 180-199 are used by/reserved for BSD 3541.62Spooka181 NOARGS { int|sys||setgid(gid_t gid); } 3551.62Spooka182 NOARGS { int|sys||setegid(gid_t egid); } 3561.62Spooka183 NOARGS { int|sys||seteuid(uid_t euid); } 3571.1Smycroft184 UNIMPL 3581.1Smycroft185 UNIMPL 3591.1Smycroft186 UNIMPL 3601.1Smycroft187 UNIMPL 3611.62Spooka188 NOARGS { int|compat_12_sys||stat(const char *path, \ 3621.12Schristos struct stat12 *ub); } 3631.62Spooka189 NOARGS { int|compat_12_sys||fstat(int fd, \ 3641.12Schristos struct stat12 *sb); } 3651.62Spooka190 NOARGS { int|compat_12_sys||lstat(const char *path, \ 3661.12Schristos struct stat12 *ub); } 3671.62Spooka191 NOARGS { int|sys||pathconf(const char *path, int name); } 3681.62Spooka192 NOARGS { int|sys||fpathconf(int fd, int name); } 3691.1Smycroft193 UNIMPL 3701.62Spooka194 NOARGS { int|sys||getrlimit(u_int which, struct rlimit *rlp); } 3711.62Spooka195 NOARGS { int|sys||setrlimit(u_int which, struct rlimit *rlp); } 3721.62Spooka196 NOARGS { int|compat_12_sys||getdirentries(int fd, char *buf, \ 3731.1Smycroft u_int count, long *basep); } 3741.62Spooka197 STD { void *|freebsd_sys||mmap(void *addr, size_t len, \ 3751.41Spooka int prot, int flags, int fd, long pad, off_t pos); } 3761.62Spooka198 NOARGS { int|sys||nosys(void); } __syscall 3771.62Spooka199 NOARGS { off_t|sys||lseek(int fd, int pad, off_t offset, \ 3781.1Smycroft int whence); } 3791.62Spooka200 NOARGS { int|sys||truncate(const char *path, int pad, \ 3801.1Smycroft off_t length); } 3811.62Spooka201 NOARGS { int|sys||ftruncate(int fd, int pad, off_t length); } 3821.62Spooka202 STD { int|freebsd_sys||sysctl(int *name, u_int namelen, \ 3831.1Smycroft void *old, size_t *oldlenp, void *new, \ 3841.1Smycroft size_t newlen); } 3851.62Spooka203 NOARGS { int|sys||mlock(void *addr, size_t len); } 3861.62Spooka204 NOARGS { int|sys||munlock(void *addr, size_t len); } 3871.1Smycroft#ifdef FREEBSD_BASED_ON_44LITE_R2 3881.62Spooka205 STD { int|freebsd_sys||undelete(char *path); } 3891.1Smycroft#else 3901.27Stv205 UNIMPL undelete 3911.1Smycroft#endif 3921.62Spooka206 NOARGS { int|compat_50_sys||futimes(int fd, \ 3931.61Schristos const struct timeval50 *tptr); } 3941.62Spooka207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 3951.22Schristos#if 0 3961.62Spooka208 NOARGS { int|sys||reboot(int opt, char *bootstr); } 3971.22Schristos#else 3981.22Schristos208 UNIMPL newreboot 3991.22Schristos#endif 4001.62Spooka209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 4011.22Schristos int timeout); } 4021.1Smycroft; 4031.1Smycroft; Syscalls 210-219 are reserved for dynamically loaded syscalls 4041.1Smycroft; 4051.1Smycroft210 UNIMPL 4061.1Smycroft211 UNIMPL 4071.1Smycroft212 UNIMPL 4081.1Smycroft213 UNIMPL 4091.1Smycroft214 UNIMPL 4101.1Smycroft215 UNIMPL 4111.1Smycroft216 UNIMPL 4121.1Smycroft217 UNIMPL 4131.1Smycroft218 UNIMPL 4141.1Smycroft219 UNIMPL 4151.9Senami; 4161.9Senami; Syscalls 220-239 are reserved for syscalls imported from NetBSD 4171.9Senami; 4181.22Schristos#ifdef SYSVSEM 4191.62Spooka220 NOARGS { int|compat_14_sys||__semctl(int semid, int semnum, \ 4201.25Sthorpej int cmd, union __semun *arg); } 4211.62Spooka221 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 4221.62Spooka222 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 4231.22Schristos u_int nsops); } 4241.62Spooka223 NOARGS { int|sys||semconfig(int flag); } 4251.22Schristos#else 4261.22Schristos220 UNIMPL semctl 4271.22Schristos221 UNIMPL semget 4281.22Schristos222 UNIMPL semop 4291.22Schristos223 UNIMPL semconfig 4301.22Schristos#endif 4311.22Schristos#ifdef SYSVMSG 4321.62Spooka224 NOARGS { int|compat_14_sys||msgctl(int msqid, int cmd, \ 4331.25Sthorpej struct msqid14_ds *buf); } 4341.62Spooka225 NOARGS { int|sys||msgget(key_t key, int msgflg); } 4351.62Spooka226 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 4361.22Schristos int msgflg); } 4371.62Spooka227 NOARGS { int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \ 4381.22Schristos long msgtyp, int msgflg); } 4391.22Schristos#else 4401.22Schristos224 UNIMPL msgctl 4411.22Schristos225 UNIMPL msgget 4421.22Schristos226 UNIMPL msgsnd 4431.22Schristos227 UNIMPL msgrcv 4441.22Schristos#endif 4451.22Schristos#ifdef SYSVSHM 4461.62Spooka228 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 4471.62Spooka229 NOARGS { int|compat_14_sys||shmctl(int shmid, int cmd, \ 4481.25Sthorpej struct shmid_ds14 *buf); } 4491.62Spooka230 NOARGS { int|sys||shmdt(void *shmaddr); } 4501.62Spooka231 NOARGS { int|sys||shmget(key_t key, int size, int shmflg); } 4511.22Schristos#else 4521.22Schristos228 UNIMPL shmat 4531.22Schristos229 UNIMPL shmctl 4541.22Schristos230 UNIMPL shmdt 4551.22Schristos231 UNIMPL shmget 4561.22Schristos#endif 4571.22Schristos; 4581.22Schristos; XXXX 4591.62Spooka232 NOARGS { int|compat_50_sys||clock_gettime(clockid_t clock_id, \ 4601.61Schristos struct timespec50 *tp); } 4611.62Spooka233 NOARGS { int|compat_50_sys||clock_settime(clockid_t clock_id, \ 4621.61Schristos const struct timespec50 *tp); } 4631.62Spooka234 NOARGS { int|compat_50_sys||clock_getres(clockid_t clock_id, \ 4641.61Schristos struct timespec50 *tp); } 4651.22Schristos235 UNIMPL timer_create 4661.22Schristos236 UNIMPL timer_delete 4671.22Schristos237 UNIMPL timer_settime 4681.22Schristos238 UNIMPL timer_gettime 4691.22Schristos239 UNIMPL timer_getoverrun 4701.62Spooka240 NOARGS { int|compat_50_sys||nanosleep( \ 4711.61Schristos const struct timespec50 *rqtp, \ 4721.61Schristos struct timespec50 *rmtp); } 4731.9Senami241 UNIMPL 4741.9Senami242 UNIMPL 4751.9Senami243 UNIMPL 4761.9Senami244 UNIMPL 4771.9Senami245 UNIMPL 4781.9Senami246 UNIMPL 4791.9Senami247 UNIMPL 4801.9Senami248 UNIMPL 4811.9Senami249 UNIMPL 4821.22Schristos; syscall numbers initially used in OpenBSD 4831.62Spooka250 NOARGS { int|sys||minherit(void *addr, size_t len, \ 4841.36Sjdolecek int inherit); } 4851.62Spooka251 STD { int|freebsd_sys||rfork(int flags); } 4861.22Schristos252 UNIMPL openbsd_poll 4871.62Spooka253 NOARGS { int|sys||issetugid(void); } 4881.62Spooka254 NOARGS { int|sys||lchown(const char *path, int uid, int gid); } 4891.22Schristos255 UNIMPL 4901.22Schristos256 UNIMPL 4911.22Schristos257 UNIMPL 4921.22Schristos258 UNIMPL 4931.22Schristos259 UNIMPL 4941.22Schristos260 UNIMPL 4951.22Schristos261 UNIMPL 4961.22Schristos262 UNIMPL 4971.22Schristos263 UNIMPL 4981.22Schristos264 UNIMPL 4991.22Schristos265 UNIMPL 5001.22Schristos266 UNIMPL 5011.22Schristos267 UNIMPL 5021.22Schristos268 UNIMPL 5031.22Schristos269 UNIMPL 5041.22Schristos270 UNIMPL 5051.22Schristos271 UNIMPL 5061.62Spooka272 NOARGS { int|compat_30_sys||getdents(int fd, char *buf, size_t count); } 5071.22Schristos273 UNIMPL 5081.62Spooka274 NOARGS { int|sys||lchmod(const char *path, mode_t mode); } 5091.62Spooka275 NOARGS { int|sys||lchown(const char *path, uid_t uid, \ 5101.22Schristos gid_t gid); } netbsd_lchown 5111.62Spooka276 NOARGS { int|compat_50_sys||lutimes(const char *path, \ 5121.61Schristos const struct timeval50 *tptr); } 5131.62Spooka277 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 5141.62Spooka278 NOARGS { int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); } 5151.62Spooka279 NOARGS { int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); } 5161.62Spooka280 NOARGS { int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);} 5171.22Schristos281 UNIMPL 5181.22Schristos282 UNIMPL 5191.22Schristos283 UNIMPL 5201.22Schristos284 UNIMPL 5211.22Schristos285 UNIMPL 5221.22Schristos286 UNIMPL 5231.22Schristos287 UNIMPL 5241.22Schristos288 UNIMPL 5251.22Schristos289 UNIMPL 5261.22Schristos290 UNIMPL 5271.22Schristos291 UNIMPL 5281.22Schristos292 UNIMPL 5291.22Schristos293 UNIMPL 5301.22Schristos294 UNIMPL 5311.22Schristos295 UNIMPL 5321.22Schristos296 UNIMPL 5331.62Spooka297 NOARGS { int|compat_20_sys||fhstatfs(const struct \ 5341.53Smartin compat_30_fhandle *fhp, \ 5351.44Schristos struct statfs12 *buf); } 5361.62Spooka298 NOARGS { int|compat_30_sys||fhopen(const \ 5371.53Smartin struct compat_30_fhandle *fhp, int flags); } 5381.62Spooka299 NOARGS { int|compat_30_sys||fhstat(const \ 5391.53Smartin struct cocmpat_30_fhandlez *fhp, \ 5401.51Schristos struct stat13 *sb); } 5411.22Schristos; syscall numbers for FreeBSD 5421.22Schristos300 UNIMPL modnext 5431.22Schristos301 UNIMPL modstat 5441.22Schristos302 UNIMPL modfnext 5451.22Schristos303 UNIMPL modfind 5461.22Schristos304 UNIMPL kldload 5471.22Schristos305 UNIMPL kldunload 5481.22Schristos306 UNIMPL kldfind 5491.22Schristos307 UNIMPL kldnext 5501.22Schristos308 UNIMPL kldstat 5511.22Schristos309 UNIMPL kldfirstmod 5521.62Spooka310 NOARGS { pid_t|sys||getsid(pid_t pid); } 5531.22Schristos311 UNIMPL setresuid 5541.22Schristos312 UNIMPL setresgid 5551.22Schristos313 UNIMPL signanosleep 5561.22Schristos314 UNIMPL aio_return 5571.22Schristos315 UNIMPL aio_suspend 5581.22Schristos316 UNIMPL aio_cancel 5591.22Schristos317 UNIMPL aio_error 5601.22Schristos318 UNIMPL aio_read 5611.22Schristos319 UNIMPL aio_write 5621.22Schristos320 UNIMPL lio_listio 5631.62Spooka321 NOARGS { void|freebsd_sys||yield(void); } 5641.22Schristos322 UNIMPL thr_sleep 5651.22Schristos323 UNIMPL thr_wakeup 5661.62Spooka324 NOARGS { int|sys||mlockall(int flags); } 5671.62Spooka325 NOARGS { int|sys||munlockall(void); } 5681.62Spooka326 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 5691.62Spooka327 STD { int|freebsd_sys||sched_setparam(pid_t pid, \ 5701.39Sgmcgarry const struct freebsd_sched_param *sp); } 5711.62Spooka328 STD { int|freebsd_sys||sched_getparam(pid_t pid, \ 5721.39Sgmcgarry struct freebsd_sched_param *sp); } 5731.62Spooka329 STD { int|freebsd_sys||sched_setscheduler(pid_t pid, \ 5741.39Sgmcgarry int policy, const struct sched_param *sp); } 5751.62Spooka330 STD { int|freebsd_sys||sched_getscheduler(pid_t pid); } 5761.62Spooka331 STD { int|freebsd_sys||sched_yield(void); } 5771.62Spooka332 STD { int|freebsd_sys||sched_get_priority_max(int policy); } 5781.62Spooka333 STD { int|freebsd_sys||sched_get_priority_min(int policy); } 5791.22Schristos334 UNIMPL sched_rr_get_interval 5801.62Spooka335 STD { int|freebsd_sys||utrace(void *addr, size_t len); } 5811.22Schristos336 UNIMPL sendfile 5821.22Schristos337 UNIMPL kldsym 5831.27Stv338 UNIMPL jail 5841.27Stv339 UNIMPL pioctl 5851.62Spooka340 NOARGS { int|sys|14|sigprocmask(int how, \ 5861.28Sonoe const sigset_t *set, \ 5871.28Sonoe sigset_t *oset); } 5881.62Spooka341 NOARGS { int|sys|14|sigsuspend(const sigset_t *set); } 5891.62Spooka342 STD { int|freebsd_sys||sigaction4(int signum, \ 5901.28Sonoe const struct freebsd_sigaction4 *nsa, \ 5911.28Sonoe struct freebsd_sigaction4 *osa); } 5921.62Spooka343 NOARGS { int|sys|14|sigpending(const sigset_t *set); } 5931.27Stv344 UNIMPL 4.0 sigreturn 5941.27Stv345 UNIMPL sigtimedwait 5951.27Stv346 UNIMPL sigwaitinfo 5961.27Stv347 UNIMPL __acl_get_file 5971.27Stv348 UNIMPL __acl_set_file 5981.27Stv349 UNIMPL __acl_get_fd 5991.27Stv350 UNIMPL __acl_set_fd 6001.27Stv351 UNIMPL __acl_delete_file 6011.27Stv352 UNIMPL __acl_delete_fd 6021.27Stv353 UNIMPL __acl_aclcheck_file 6031.27Stv354 UNIMPL __acl_aclcheck_fd 6041.27Stv355 UNIMPL extattrctl 6051.27Stv356 UNIMPL extattr_set_file 6061.27Stv357 UNIMPL extattr_get_file 6071.27Stv358 UNIMPL extattr_delete_file 6081.27Stv359 UNIMPL aio_waitcomplete 6091.27Stv360 UNIMPL getresuid 6101.27Stv361 UNIMPL getresgid 6111.27Stv362 UNIMPL kqueue 6121.27Stv363 UNIMPL kevent 6131.42Sjdolecek364 UNIMPL __cap_get_proc 6141.42Sjdolecek365 UNIMPL __cap_set_proc 6151.42Sjdolecek366 UNIMPL __cap_get_fd 6161.42Sjdolecek367 UNIMPL __cap_get_file 6171.42Sjdolecek368 UNIMPL __cap_set_fd 6181.42Sjdolecek369 UNIMPL __cap_set_file 6191.42Sjdolecek370 UNIMPL lkmressym 6201.42Sjdolecek371 UNIMPL extattr_set_fd 6211.42Sjdolecek372 UNIMPL extattr_get_fd 6221.42Sjdolecek373 UNIMPL extattr_delete_fd 6231.42Sjdolecek374 UNIMPL __setugid 6241.42Sjdolecek375 UNIMPL nfsclnt 6251.42Sjdolecek376 UNIMPL eaccess 6261.42Sjdolecek377 UNIMPL afs_syscall 6271.42Sjdolecek378 UNIMPL nmount 6281.42Sjdolecek379 UNIMPL kse_exit 6291.42Sjdolecek380 UNIMPL kse_wakeup 6301.42Sjdolecek381 UNIMPL kse_create 6311.42Sjdolecek382 UNIMPL kse_thr_interrupt 6321.42Sjdolecek383 UNIMPL kse_release 6331.42Sjdolecek384 UNIMPL __mac_get_proc 6341.42Sjdolecek385 UNIMPL __mac_set_proc 6351.42Sjdolecek386 UNIMPL __mac_get_fd 6361.42Sjdolecek387 UNIMPL __mac_get_file 6371.42Sjdolecek388 UNIMPL __mac_set_fd 6381.42Sjdolecek389 UNIMPL __mac_set_file 6391.42Sjdolecek390 UNIMPL kenv 6401.62Spooka391 NOARGS { int|sys||lchflags(const char *path, u_long flags); } 6411.62Spooka392 NOARGS { int|sys||uuidgen(struct uuid *store, int count); } 6421.42Sjdolecek393 UNIMPL sendfile 6431.42Sjdolecek394 UNIMPL mac_syscall 6441.42Sjdolecek395 UNIMPL getfsstat 6451.42Sjdolecek396 UNIMPL statfs 6461.42Sjdolecek397 UNIMPL fsstatfs 6471.42Sjdolecek398 UNIMPL fhstatfs 6481.42Sjdolecek399 UNIMPL nosys 6491.42Sjdolecek#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL) 6501.62Spooka400 NOARGS { int|sys||_ksem_close(intptr_t id); } 6511.62Spooka401 NOARGS { int|sys||_ksem_post(intptr_t id); } 6521.62Spooka402 NOARGS { int|sys||_ksem_wait(intptr_t id); } 6531.62Spooka403 NOARGS { int|sys||_ksem_trywait(intptr_t id); } 6541.42Sjdolecek404 UNIMPL ksem_init 6551.42Sjdolecek405 UNIMPL ksem_open 6561.62Spooka406 NOARGS { int|sys||_ksem_unlink(const char *name); } 6571.62Spooka407 NOARGS { int|sys||_ksem_getvalue(intptr_t id, \ 6581.42Sjdolecek unsigned int *value); } 6591.62Spooka408 NOARGS { int|sys||_ksem_destroy(intptr_t id); } 6601.42Sjdolecek#else 6611.42Sjdolecek400 EXCL ksem_close 6621.42Sjdolecek401 EXCL ksem_post 6631.42Sjdolecek402 EXCL ksem_wait 6641.42Sjdolecek403 EXCL ksem_trywait 6651.42Sjdolecek404 EXCL ksem_init 6661.42Sjdolecek405 EXCL ksem_open 6671.42Sjdolecek406 EXCL ksem_unlink 6681.42Sjdolecek407 EXCL ksem_getvalue 6691.42Sjdolecek408 EXCL ksem_destroy 6701.42Sjdolecek#endif 6711.42Sjdolecek409 UNIMPL __mac_get_pid 6721.42Sjdolecek410 UNIMPL __mac_get_link 6731.42Sjdolecek411 UNIMPL __mac_set_link 6741.42Sjdolecek412 UNIMPL extattr_set_link 6751.42Sjdolecek413 UNIMPL extattr_get_link 6761.42Sjdolecek414 UNIMPL extattr_delete_link 6771.42Sjdolecek415 UNIMPL __mac_execve 6781.42Sjdolecek416 UNIMPL sigaction 6791.42Sjdolecek417 UNIMPL sigreturn 6801.42Sjdolecek418 UNIMPL __xstat 6811.42Sjdolecek419 UNIMPL __xfstat 6821.42Sjdolecek420 UNIMPL __xlstat 6831.42Sjdolecek421 UNIMPL getcontext 6841.42Sjdolecek422 UNIMPL setcontext 6851.42Sjdolecek423 UNIMPL swapcontext 6861.42Sjdolecek424 UNIMPL swapoff 6871.42Sjdolecek425 UNIMPL __acl_get_link 6881.42Sjdolecek426 UNIMPL __acl_set_link 6891.42Sjdolecek427 UNIMPL __acl_delete_link 6901.42Sjdolecek428 UNIMPL __acl_aclcheck_link 6911.42Sjdolecek429 UNIMPL sigwait 6921.42Sjdolecek430 UNIMPL thr_create 6931.42Sjdolecek431 UNIMPL thr_exit 6941.42Sjdolecek432 UNIMPL thr_self 6951.42Sjdolecek433 UNIMPL thr_kill 6961.42Sjdolecek434 UNIMPL _umtx_lock 6971.42Sjdolecek435 UNIMPL _umtx_unlock 6981.42Sjdolecek436 UNIMPL jail_attach 6991.42Sjdolecek437 UNIMPL extattr_list_fd 7001.42Sjdolecek438 UNIMPL extattr_list_file 7011.42Sjdolecek439 UNIMPL extattr_list_link 702