syscalls.master revision 1.44
11.44Schristos $NetBSD: syscalls.master,v 1.44 2004/04/21 01:05: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.18Sthorpej#include "opt_nfsserver.h" 371.29Sbjh21#include "opt_ntp.h" 381.20Stron#include "opt_sysv.h" 391.21Schristos#include "opt_compat_43.h" 401.42Sjdolecek#include "opt_posix.h" 411.15Sthorpej 421.15Sthorpej#include "fs_lfs.h" 431.15Sthorpej#include "fs_nfs.h" 441.32Smycroft#endif 451.1Smycroft 461.1Smycroft#include <sys/param.h> 471.1Smycroft#include <sys/systm.h> 481.1Smycroft#include <sys/signal.h> 491.1Smycroft#include <sys/mount.h> 501.40Sthorpej#include <sys/sa.h> 511.1Smycroft#include <sys/syscallargs.h> 521.1Smycroft 531.1Smycroft#include <compat/freebsd/freebsd_syscallargs.h> 541.1Smycroft 551.1Smycroft#include <machine/freebsd_machdep.h> 561.32Smycroft 571.32Smycroft%% 581.1Smycroft 591.1Smycroft; Reserved/unimplemented system calls in the range 0-150 inclusive 601.1Smycroft; are reserved for use in future Berkeley releases. 611.1Smycroft; Additional system calls implemented in vendor and other 621.1Smycroft; redistributions should be placed in the reserved range at the end 631.1Smycroft; of the current calls. 641.1Smycroft 651.1Smycroft0 NOARGS { int sys_nosys(void); } syscall 661.1Smycroft1 NOARGS { int sys_exit(int rval); } 671.1Smycroft2 NOARGS { int sys_fork(void); } 681.1Smycroft3 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 691.1Smycroft4 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 701.22Schristos5 STD { int freebsd_sys_open(const char *path, int flags, \ 711.1Smycroft int mode); } 721.1Smycroft6 NOARGS { int sys_close(int fd); } 731.1Smycroft7 NOARGS { int sys_wait4(int pid, int *status, int options, \ 741.1Smycroft struct rusage *rusage); } 751.22Schristos8 STD { int compat_43_freebsd_sys_creat(const char *path, \ 761.1Smycroft int mode); } ocreat 771.22Schristos9 STD { int freebsd_sys_link(const char *path, \ 781.22Schristos const char *link); } 791.22Schristos10 STD { int freebsd_sys_unlink(const char *path); } 801.1Smycroft11 OBSOL execv 811.22Schristos12 STD { int freebsd_sys_chdir(const char *path); } 821.1Smycroft13 NOARGS { int sys_fchdir(int fd); } 831.22Schristos14 STD { int freebsd_sys_mknod(const char *path, int mode, \ 841.1Smycroft int dev); } 851.22Schristos15 STD { int freebsd_sys_chmod(const char *path, int mode); } 861.22Schristos16 STD { int freebsd_sys_chown(const char *path, int uid, \ 871.22Schristos int gid); } 881.1Smycroft17 NOARGS { int sys_obreak(char *nsize); } break 891.44Schristos#ifdef COMPAT_20 901.44Schristos18 NOARGS { int compat_20_sys_getfsstat(struct statfs12 *buf, \ 911.44Schristos long bufsize, int flags); } 921.44Schristos#else 931.44Schristos18 EXCL compat_20_sys_getfsstat 941.44Schristos#endif 951.1Smycroft19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ 961.1Smycroft int whence); } olseek 971.33Smycroft20 NOARGS { pid_t sys_getpid_with_ppid(void); } 981.22Schristos21 STD { int freebsd_sys_mount(int type, const char *path, \ 991.1Smycroft int flags, caddr_t data); } 1001.22Schristos22 STD { int freebsd_sys_unmount(const char *path, \ 1011.22Schristos int flags); } 1021.1Smycroft23 NOARGS { int sys_setuid(uid_t uid); } 1031.33Smycroft24 NOARGS { uid_t sys_getuid_with_euid(void); } 1041.1Smycroft25 NOARGS { uid_t sys_geteuid(void); } 1051.1Smycroft26 STD { int freebsd_sys_ptrace(int req, pid_t pid, \ 1061.1Smycroft caddr_t addr, int data); } 1071.1Smycroft27 NOARGS { int sys_recvmsg(int s, struct msghdr *msg, \ 1081.1Smycroft int flags); } 1091.1Smycroft28 NOARGS { int sys_sendmsg(int s, caddr_t msg, int flags); } 1101.1Smycroft29 NOARGS { int sys_recvfrom(int s, caddr_t buf, size_t len, \ 1111.1Smycroft int flags, caddr_t from, int *fromlenaddr); } 1121.1Smycroft30 NOARGS { int sys_accept(int s, caddr_t name, int *anamelen); } 1131.1Smycroft31 NOARGS { int sys_getpeername(int fdes, caddr_t asa, \ 1141.1Smycroft int *alen); } 1151.1Smycroft32 NOARGS { int sys_getsockname(int fdes, caddr_t asa, \ 1161.1Smycroft int *alen); } 1171.22Schristos33 STD { int freebsd_sys_access(const char *path, int flags); } 1181.22Schristos34 STD { int freebsd_sys_chflags(const char *path, \ 1191.22Schristos int flags); } 1201.1Smycroft35 NOARGS { int sys_fchflags(int fd, int flags); } 1211.1Smycroft36 NOARGS { int sys_sync(void); } 1221.1Smycroft37 NOARGS { int sys_kill(int pid, int signum); } 1231.22Schristos38 STD { int compat_43_freebsd_sys_stat(const char *path, \ 1241.11Schristos struct stat43 *ub); } stat43 1251.3Smycroft39 NOARGS { pid_t sys_getppid(void); } 1261.22Schristos40 STD { int compat_43_freebsd_sys_lstat(const char *path, \ 1271.11Schristos struct stat43 *ub); } lstat43 1281.1Smycroft41 NOARGS { int sys_dup(u_int fd); } 1291.1Smycroft42 NOARGS { int sys_pipe(void); } 1301.1Smycroft43 NOARGS { gid_t sys_getegid(void); } 1311.1Smycroft44 NOARGS { int sys_profil(caddr_t samples, u_int size, \ 1321.1Smycroft u_int offset, u_int scale); } 1331.1Smycroft#ifdef KTRACE 1341.1Smycroft45 NOARGS { int sys_ktrace(char *fname, int ops, int facs, \ 1351.1Smycroft int pid); } 1361.1Smycroft#else 1371.34Sjdolecek45 EXCL ktrace 1381.1Smycroft#endif 1391.19Smycroft46 NOARGS { int compat_13_sys_sigaction(int signum, \ 1401.19Smycroft const struct sigaction13 *nsa, \ 1411.19Smycroft struct sigaction13 *osa); } 1421.33Smycroft47 NOARGS { gid_t sys_getgid_with_egid(void); } 1431.19Smycroft48 NOARGS { int compat_13_sys_sigprocmask(int how, \ 1441.19Smycroft int mask); } 1451.5Schristos49 NOARGS { int sys___getlogin(char *namebuf, u_int namelen); } 1461.40Sthorpej50 NOARGS { int sys___setlogin(char *namebuf); } 1471.1Smycroft51 NOARGS { int sys_acct(char *path); } 1481.19Smycroft52 NOARGS { int compat_13_sys_sigpending(void); } 1491.13Sveego53 NOARGS { int compat_13_sys_sigaltstack( \ 1501.13Sveego const struct sigaltstack13 *nss, \ 1511.13Sveego struct sigaltstack13 *oss); } 1521.1Smycroft54 STD { int freebsd_sys_ioctl(int fd, u_long com, \ 1531.1Smycroft caddr_t data); } 1541.22Schristos55 NOARGS { int sys_reboot(int opt); } oreboot 1551.22Schristos56 STD { int freebsd_sys_revoke(const char *path); } 1561.22Schristos57 STD { int freebsd_sys_symlink(const char *path, \ 1571.22Schristos const char *link); } 1581.22Schristos58 STD { int freebsd_sys_readlink(const char *path, \ 1591.22Schristos char *buf, int count); } 1601.22Schristos59 STD { int freebsd_sys_execve(const char *path, \ 1611.22Schristos char **argp, char **envp); } 1621.1Smycroft60 NOARGS { int sys_umask(int newmask); } 1631.22Schristos61 STD { int freebsd_sys_chroot(const char *path); } 1641.11Schristos62 NOARGS { int compat_43_sys_fstat(int fd, struct stat43 *sb); } \ 1651.11Schristos fstat43 1661.1Smycroft63 NOARGS { int compat_43_sys_getkerninfo(int op, char *where, \ 1671.1Smycroft int *size, int arg); } ogetkerninfo 1681.1Smycroft64 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 1691.1Smycroft65 STD { int freebsd_sys_msync(caddr_t addr, size_t len, \ 1701.1Smycroft int flags); } 1711.1Smycroft66 NOARGS { int sys_vfork(void); } 1721.1Smycroft67 OBSOL vread 1731.1Smycroft68 OBSOL vwrite 1741.24Skleink69 NOARGS { int sys_sbrk(intptr_t incr); } 1751.1Smycroft70 NOARGS { int sys_sstk(int incr); } 1761.1Smycroft71 NOARGS { int compat_43_sys_mmap(caddr_t addr, size_t len, \ 1771.1Smycroft int prot, int flags, int fd, long pos); } ommap 1781.1Smycroft72 NOARGS { int sys_ovadvise(int anom); } vadvise 1791.1Smycroft73 NOARGS { int sys_munmap(caddr_t addr, size_t len); } 1801.1Smycroft74 NOARGS { int sys_mprotect(caddr_t addr, size_t len, \ 1811.1Smycroft int prot); } 1821.1Smycroft75 NOARGS { int sys_madvise(caddr_t addr, size_t len, \ 1831.1Smycroft int behav); } 1841.1Smycroft76 OBSOL vhangup 1851.1Smycroft77 OBSOL vlimit 1861.1Smycroft78 NOARGS { int sys_mincore(caddr_t addr, size_t len, char *vec); } 1871.1Smycroft79 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 1881.1Smycroft80 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 1891.1Smycroft81 NOARGS { int sys_getpgrp(void); } 1901.1Smycroft82 NOARGS { int sys_setpgid(int pid, int pgid); } 1911.1Smycroft83 NOARGS { int sys_setitimer(u_int which, \ 1921.1Smycroft struct itimerval *itv, struct itimerval *oitv); } 1931.1Smycroft84 NOARGS { int compat_43_sys_wait(void); } owait 1941.7Sthorpej85 NOARGS { int compat_12_sys_swapon(char *name); } 1951.1Smycroft86 NOARGS { int sys_getitimer(u_int which, \ 1961.1Smycroft struct itimerval *itv); } 1971.1Smycroft87 NOARGS { int compat_43_sys_gethostname(char *hostname, \ 1981.1Smycroft u_int len); } ogethostname 1991.1Smycroft88 NOARGS { int compat_43_sys_sethostname(char *hostname, \ 2001.1Smycroft u_int len); } osethostname 2011.1Smycroft89 NOARGS { int compat_43_sys_getdtablesize(void); } \ 2021.1Smycroft ogetdtablesize 2031.1Smycroft90 NOARGS { int sys_dup2(u_int from, u_int to); } 2041.1Smycroft91 UNIMPL getdopt 2051.1Smycroft92 NOARGS { int sys_fcntl(int fd, int cmd, void *arg); } 2061.1Smycroft93 NOARGS { int sys_select(u_int nd, fd_set *in, fd_set *ou, \ 2071.1Smycroft fd_set *ex, struct timeval *tv); } 2081.1Smycroft94 UNIMPL setdopt 2091.1Smycroft95 NOARGS { int sys_fsync(int fd); } 2101.1Smycroft96 NOARGS { int sys_setpriority(int which, int who, int prio); } 2111.1Smycroft97 NOARGS { int sys_socket(int domain, int type, int protocol); } 2121.1Smycroft98 NOARGS { int sys_connect(int s, caddr_t name, int namelen); } 2131.1Smycroft99 NOARGS { int compat_43_sys_accept(int s, caddr_t name, \ 2141.1Smycroft int *anamelen); } oaccept 2151.1Smycroft100 NOARGS { int sys_getpriority(int which, int who); } 2161.1Smycroft101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \ 2171.1Smycroft int flags); } osend 2181.1Smycroft102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \ 2191.1Smycroft int flags); } orecv 2201.1Smycroft103 STD { int freebsd_sys_sigreturn( \ 2211.1Smycroft struct freebsd_sigcontext *scp); } 2221.1Smycroft104 NOARGS { int sys_bind(int s, caddr_t name, int namelen); } 2231.1Smycroft105 NOARGS { int sys_setsockopt(int s, int level, int name, \ 2241.1Smycroft caddr_t val, int valsize); } 2251.1Smycroft106 NOARGS { int sys_listen(int s, int backlog); } 2261.1Smycroft107 OBSOL vtimes 2271.1Smycroft108 NOARGS { int compat_43_sys_sigvec(int signum, \ 2281.1Smycroft struct sigvec *nsv, struct sigvec *osv); } osigvec 2291.1Smycroft109 NOARGS { int compat_43_sys_sigblock(int mask); } osigblock 2301.1Smycroft110 NOARGS { int compat_43_sys_sigsetmask(int mask); } osigsetmask 2311.19Smycroft111 NOARGS { int compat_13_sys_sigsuspend(int mask); } 2321.1Smycroft112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \ 2331.1Smycroft struct sigstack *oss); } osigstack 2341.1Smycroft113 NOARGS { int compat_43_sys_recvmsg(int s, \ 2351.1Smycroft struct omsghdr *msg, int flags); } orecvmsg 2361.1Smycroft114 NOARGS { int compat_43_sys_sendmsg(int s, caddr_t msg, \ 2371.1Smycroft int flags); } osendmsg 2381.1Smycroft#ifdef TRACE 2391.1Smycroft115 NOARGS { int sys_vtrace(int request, int value); } 2401.1Smycroft#else 2411.1Smycroft115 OBSOL vtrace 2421.1Smycroft#endif 2431.1Smycroft116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ 2441.1Smycroft struct timezone *tzp); } 2451.1Smycroft117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 2461.1Smycroft118 NOARGS { int sys_getsockopt(int s, int level, int name, \ 2471.1Smycroft caddr_t val, int *avalsize); } 2481.1Smycroft119 OBSOL resuba 2491.1Smycroft120 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ 2501.1Smycroft u_int iovcnt); } 2511.1Smycroft121 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ 2521.1Smycroft u_int iovcnt); } 2531.1Smycroft122 NOARGS { int sys_settimeofday(struct timeval *tv, \ 2541.1Smycroft struct timezone *tzp); } 2551.1Smycroft123 NOARGS { int sys_fchown(int fd, int uid, int gid); } 2561.1Smycroft124 NOARGS { int sys_fchmod(int fd, int mode); } 2571.1Smycroft125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \ 2581.1Smycroft size_t len, int flags, caddr_t from, \ 2591.1Smycroft int *fromlenaddr); } orecvfrom 2601.4Smycroft126 NOARGS { int sys_setreuid(int ruid, int euid); } 2611.4Smycroft127 NOARGS { int sys_setregid(int rgid, int egid); } 2621.22Schristos128 STD { int freebsd_sys_rename(const char *from, \ 2631.22Schristos const char *to); } 2641.22Schristos129 STD { int compat_43_freebsd_sys_truncate(const char *path, \ 2651.1Smycroft long length); } otruncate 2661.2Smycroft130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ 2671.2Smycroft oftruncate 2681.2Smycroft131 NOARGS { int sys_flock(int fd, int how); } 2691.22Schristos132 STD { int freebsd_sys_mkfifo(const char *path, int mode); } 2701.1Smycroft133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ 2711.1Smycroft int flags, caddr_t to, int tolen); } 2721.1Smycroft134 NOARGS { int sys_shutdown(int s, int how); } 2731.1Smycroft135 NOARGS { int sys_socketpair(int domain, int type, \ 2741.1Smycroft int protocol, int *rsv); } 2751.22Schristos136 STD { int freebsd_sys_mkdir(const char *path, int mode); } 2761.22Schristos137 STD { int freebsd_sys_rmdir(const char *path); } 2771.1Smycroft138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 2781.1Smycroft139 OBSOL 4.2 sigreturn 2791.1Smycroft140 NOARGS { int sys_adjtime(struct timeval *delta, \ 2801.1Smycroft struct timeval *olddelta); } 2811.1Smycroft141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ 2821.1Smycroft int *alen); } ogetpeername 2831.1Smycroft142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 2841.1Smycroft143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ 2851.1Smycroft osethostid 2861.1Smycroft144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ 2871.10Smycroft struct orlimit *rlp); } ogetrlimit 2881.1Smycroft145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ 2891.10Smycroft struct orlimit *rlp); } osetrlimit 2901.1Smycroft146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ 2911.1Smycroft okillpg 2921.1Smycroft147 NOARGS { int sys_setsid(void); } 2931.1Smycroft148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ 2941.1Smycroft caddr_t arg); } 2951.1Smycroft149 NOARGS { int compat_43_sys_quota(void); } oquota 2961.1Smycroft150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ 2971.1Smycroft int *alen); } ogetsockname 2981.1Smycroft 2991.1Smycroft; Syscalls 151-180 inclusive are reserved for vendor-specific 3001.1Smycroft; system calls. (This includes various calls added for compatibity 3011.1Smycroft; with other Unix variants.) 3021.1Smycroft; Some of these calls are now supported by BSD... 3031.27Stv151 UNIMPL sem_lock 3041.27Stv152 UNIMPL sem_wakeup 3051.27Stv153 UNIMPL asyncdaemon 3061.1Smycroft154 UNIMPL 3071.6Sthorpej#if defined(NFS) || defined(NFSSERVER) 3081.1Smycroft155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } 3091.1Smycroft#else 3101.27Stv155 UNIMPL nfssvc 3111.1Smycroft#endif 3121.1Smycroft156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ 3131.1Smycroft u_int count, long *basep); } ogetdirentries 3141.22Schristos157 STD { int freebsd_sys_statfs(const char *path, \ 3151.44Schristos struct statfs12 *buf); } 3161.44Schristos#ifdef COMPAT_20 3171.44Schristos158 NOARGS { int compat_20_sys_fstatfs(int fd, \ 3181.44Schristos struct statfs12 *buf); } 3191.44Schristos#else 3201.44Schristos158 EXCL compat_20_sys_fstatfs 3211.44Schristos#endif 3221.1Smycroft159 UNIMPL 3231.1Smycroft160 UNIMPL 3241.6Sthorpej#ifdef NFS 3251.22Schristos161 STD { int freebsd_sys_getfh(const char *fname, \ 3261.22Schristos fhandle_t *fhp); } 3271.1Smycroft#else 3281.1Smycroft161 UNIMPL getfh 3291.1Smycroft#endif 3301.1Smycroft162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ 3311.1Smycroft int len); } 3321.1Smycroft163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ 3331.1Smycroft int len); } 3341.1Smycroft164 NOARGS { int compat_09_sys_uname(struct outsname *name); } 3351.1Smycroft165 NOARGS { int sys_sysarch(int op, char *parms); } 3361.1Smycroft166 STD { int freebsd_sys_rtprio(int function, pid_t pid, \ 3371.1Smycroft struct freebsd_rtprio *rtp); } 3381.1Smycroft167 UNIMPL 3391.1Smycroft168 UNIMPL 3401.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3411.37Seeh#if defined(SYSVSEM) && !defined(_LP64) 3421.14Smycroft169 STD { int freebsd_sys_semsys(int which, int a2, int a3, \ 3431.1Smycroft int a4, int a5); } 3441.1Smycroft#else 3451.1Smycroft169 UNIMPL 1.0 semsys 3461.1Smycroft#endif 3471.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3481.37Seeh#if defined(SYSVMSG) && !defined(_LP64) 3491.14Smycroft170 STD { int freebsd_sys_msgsys(int which, int a2, int a3, \ 3501.1Smycroft int a4, int a5, int a6); } 3511.1Smycroft#else 3521.1Smycroft170 UNIMPL 1.0 msgsys 3531.1Smycroft#endif 3541.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3551.37Seeh#if defined(SYSVSHM) && !defined(_LP64) 3561.14Smycroft171 STD { int freebsd_sys_shmsys(int which, int a2, int a3, \ 3571.1Smycroft int a4); } 3581.1Smycroft#else 3591.1Smycroft171 UNIMPL 1.0 shmsys 3601.1Smycroft#endif 3611.1Smycroft172 UNIMPL 3621.27Stv173 NOARGS { ssize_t sys_pread(int fd, void *buf, \ 3631.27Stv size_t nbyte, int pad, off_t offset); } 3641.27Stv174 NOARGS { ssize_t sys_pwrite(int fd, const void *buf, \ 3651.27Stv size_t nbyte, int pad, off_t offset); } 3661.1Smycroft175 UNIMPL 3671.30Sitojun#ifdef NTP 3681.1Smycroft176 STD { int freebsd_ntp_adjtime(struct freebsd_timex *tp); } 3691.29Sbjh21#else 3701.29Sbjh21176 EXCL ntp_adjtime 3711.29Sbjh21#endif 3721.27Stv177 UNIMPL sfork 3731.27Stv178 UNIMPL getdescriptor 3741.27Stv179 UNIMPL setdescriptor 3751.1Smycroft180 UNIMPL 3761.1Smycroft 3771.1Smycroft; Syscalls 180-199 are used by/reserved for BSD 3781.1Smycroft181 NOARGS { int sys_setgid(gid_t gid); } 3791.1Smycroft182 NOARGS { int sys_setegid(gid_t egid); } 3801.1Smycroft183 NOARGS { int sys_seteuid(uid_t euid); } 3811.1Smycroft#ifdef LFS 3821.23Sdrochner184 NOARGS { int sys_lfs_bmapv(fsid_t *fsidp, \ 3831.1Smycroft struct block_info *blkiov, int blkcnt); } 3841.23Sdrochner185 NOARGS { int sys_lfs_markv(fsid_t *fsidp, \ 3851.1Smycroft struct block_info *blkiov, int blkcnt); } 3861.23Sdrochner186 NOARGS { int sys_lfs_segclean(fsid_t *fsidp, u_long segment); } 3871.23Sdrochner187 NOARGS { int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 3881.1Smycroft#else 3891.1Smycroft184 UNIMPL 3901.1Smycroft185 UNIMPL 3911.1Smycroft186 UNIMPL 3921.1Smycroft187 UNIMPL 3931.1Smycroft#endif 3941.22Schristos188 STD { int freebsd_sys_stat(const char *path, \ 3951.12Schristos struct stat12 *ub); } 3961.12Schristos189 NOARGS { int compat_12_sys_fstat(int fd, \ 3971.12Schristos struct stat12 *sb); } 3981.22Schristos190 STD { int freebsd_sys_lstat(const char *path, \ 3991.12Schristos struct stat12 *ub); } 4001.22Schristos191 STD { int freebsd_sys_pathconf(const char *path, \ 4011.22Schristos int name); } 4021.1Smycroft192 NOARGS { int sys_fpathconf(int fd, int name); } 4031.1Smycroft193 UNIMPL 4041.1Smycroft194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 4051.1Smycroft195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 4061.8Sfvdl196 NOARGS { int compat_12_sys_getdirentries(int fd, char *buf, \ 4071.1Smycroft u_int count, long *basep); } 4081.41Spooka197 STD { caddr_t freebsd_sys_mmap(caddr_t addr, size_t len, \ 4091.41Spooka int prot, int flags, int fd, long pad, off_t pos); } 4101.1Smycroft198 NOARGS { int sys_nosys(void); } __syscall 4111.1Smycroft199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ 4121.1Smycroft int whence); } 4131.22Schristos200 STD { int freebsd_sys_truncate(const char *path, int pad, \ 4141.1Smycroft off_t length); } 4151.1Smycroft201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 4161.1Smycroft202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ 4171.1Smycroft void *old, size_t *oldlenp, void *new, \ 4181.1Smycroft size_t newlen); } 4191.1Smycroft203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 4201.1Smycroft204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 4211.1Smycroft#ifdef FREEBSD_BASED_ON_44LITE_R2 4221.1Smycroft205 STD { int freebsd_sys_undelete(char *path); } 4231.1Smycroft#else 4241.27Stv205 UNIMPL undelete 4251.1Smycroft#endif 4261.22Schristos206 NOARGS { int sys_futimes(int fd, const struct timeval *tptr); } 4271.22Schristos207 NOARGS { pid_t sys_getpgid(pid_t pid); } 4281.22Schristos#if 0 4291.22Schristos208 NOARGS { int sys_reboot(int opt, char *bootstr); } 4301.22Schristos#else 4311.22Schristos208 UNIMPL newreboot 4321.22Schristos#endif 4331.22Schristos209 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ 4341.22Schristos int timeout); } 4351.1Smycroft; 4361.1Smycroft; Syscalls 210-219 are reserved for dynamically loaded syscalls 4371.1Smycroft; 4381.1Smycroft210 UNIMPL 4391.1Smycroft211 UNIMPL 4401.1Smycroft212 UNIMPL 4411.1Smycroft213 UNIMPL 4421.1Smycroft214 UNIMPL 4431.1Smycroft215 UNIMPL 4441.1Smycroft216 UNIMPL 4451.1Smycroft217 UNIMPL 4461.1Smycroft218 UNIMPL 4471.1Smycroft219 UNIMPL 4481.9Senami; 4491.9Senami; Syscalls 220-239 are reserved for syscalls imported from NetBSD 4501.9Senami; 4511.22Schristos#ifdef SYSVSEM 4521.25Sthorpej220 NOARGS { int compat_14_sys___semctl(int semid, int semnum, \ 4531.25Sthorpej int cmd, union __semun *arg); } 4541.22Schristos221 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 4551.22Schristos222 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ 4561.22Schristos u_int nsops); } 4571.22Schristos223 NOARGS { int sys_semconfig(int flag); } 4581.22Schristos#else 4591.22Schristos220 UNIMPL semctl 4601.22Schristos221 UNIMPL semget 4611.22Schristos222 UNIMPL semop 4621.22Schristos223 UNIMPL semconfig 4631.22Schristos#endif 4641.22Schristos#ifdef SYSVMSG 4651.25Sthorpej224 NOARGS { int compat_14_sys_msgctl(int msqid, int cmd, \ 4661.25Sthorpej struct msqid14_ds *buf); } 4671.22Schristos225 NOARGS { int sys_msgget(key_t key, int msgflg); } 4681.22Schristos226 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ 4691.22Schristos int msgflg); } 4701.22Schristos227 NOARGS { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ 4711.22Schristos long msgtyp, int msgflg); } 4721.22Schristos#else 4731.22Schristos224 UNIMPL msgctl 4741.22Schristos225 UNIMPL msgget 4751.22Schristos226 UNIMPL msgsnd 4761.22Schristos227 UNIMPL msgrcv 4771.22Schristos#endif 4781.22Schristos#ifdef SYSVSHM 4791.22Schristos228 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } 4801.25Sthorpej229 NOARGS { int compat_14_sys_shmctl(int shmid, int cmd, \ 4811.25Sthorpej struct shmid_ds14 *buf); } 4821.22Schristos230 NOARGS { int sys_shmdt(void *shmaddr); } 4831.22Schristos231 NOARGS { int sys_shmget(key_t key, int size, int shmflg); } 4841.22Schristos#else 4851.22Schristos228 UNIMPL shmat 4861.22Schristos229 UNIMPL shmctl 4871.22Schristos230 UNIMPL shmdt 4881.22Schristos231 UNIMPL shmget 4891.22Schristos#endif 4901.22Schristos; 4911.22Schristos; XXXX 4921.22Schristos232 NOARGS { int sys_clock_gettime(clockid_t clock_id, \ 4931.22Schristos struct timespec *tp); } 4941.22Schristos233 NOARGS { int sys_clock_settime(clockid_t clock_id, \ 4951.22Schristos const struct timespec *tp); } 4961.22Schristos234 NOARGS { int sys_clock_getres(clockid_t clock_id, \ 4971.22Schristos struct timespec *tp); } 4981.22Schristos235 UNIMPL timer_create 4991.22Schristos236 UNIMPL timer_delete 5001.22Schristos237 UNIMPL timer_settime 5011.22Schristos238 UNIMPL timer_gettime 5021.22Schristos239 UNIMPL timer_getoverrun 5031.22Schristos240 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ 5041.22Schristos struct timespec *rmtp); } 5051.9Senami241 UNIMPL 5061.9Senami242 UNIMPL 5071.9Senami243 UNIMPL 5081.9Senami244 UNIMPL 5091.9Senami245 UNIMPL 5101.9Senami246 UNIMPL 5111.9Senami247 UNIMPL 5121.9Senami248 UNIMPL 5131.9Senami249 UNIMPL 5141.22Schristos; syscall numbers initially used in OpenBSD 5151.36Sjdolecek250 NOARGS { int sys_minherit(void *addr, size_t len, \ 5161.36Sjdolecek int inherit); } 5171.38Spooka251 STD { int freebsd_sys_rfork(int flags); } 5181.22Schristos252 UNIMPL openbsd_poll 5191.26Sminoura253 NOARGS { int sys_issetugid(void); } 5201.22Schristos254 STD { int freebsd_sys_lchown(const char *path, int uid, \ 5211.9Senami int gid); } 5221.22Schristos255 UNIMPL 5231.22Schristos256 UNIMPL 5241.22Schristos257 UNIMPL 5251.22Schristos258 UNIMPL 5261.22Schristos259 UNIMPL 5271.22Schristos260 UNIMPL 5281.22Schristos261 UNIMPL 5291.22Schristos262 UNIMPL 5301.22Schristos263 UNIMPL 5311.22Schristos264 UNIMPL 5321.22Schristos265 UNIMPL 5331.22Schristos266 UNIMPL 5341.22Schristos267 UNIMPL 5351.22Schristos268 UNIMPL 5361.22Schristos269 UNIMPL 5371.22Schristos270 UNIMPL 5381.22Schristos271 UNIMPL 5391.22Schristos272 NOARGS { int sys_getdents(int fd, char *buf, size_t count); } 5401.22Schristos273 UNIMPL 5411.22Schristos274 NOARGS { int sys_lchmod(const char *path, mode_t mode); } 5421.22Schristos275 NOARGS { int sys_lchown(const char *path, uid_t uid, \ 5431.22Schristos gid_t gid); } netbsd_lchown 5441.22Schristos276 NOARGS { int sys_lutimes(const char *path, \ 5451.22Schristos const struct timeval *tptr); } 5461.22Schristos277 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } 5471.22Schristos278 NOARGS { int sys___stat13(const char *path, struct stat *ub); } 5481.22Schristos279 NOARGS { int sys___fstat13(int fd, struct stat *sb); } 5491.22Schristos280 NOARGS { int sys___lstat13(const char *path, struct stat *ub);} 5501.22Schristos281 UNIMPL 5511.22Schristos282 UNIMPL 5521.22Schristos283 UNIMPL 5531.22Schristos284 UNIMPL 5541.22Schristos285 UNIMPL 5551.22Schristos286 UNIMPL 5561.22Schristos287 UNIMPL 5571.22Schristos288 UNIMPL 5581.22Schristos289 UNIMPL 5591.22Schristos290 UNIMPL 5601.22Schristos291 UNIMPL 5611.22Schristos292 UNIMPL 5621.22Schristos293 UNIMPL 5631.22Schristos294 UNIMPL 5641.22Schristos295 UNIMPL 5651.22Schristos296 UNIMPL 5661.44Schristos#ifdef COMPAT_20 5671.44Schristos297 NOARGS { int compat_20_sys_fhstatfs(const fhandle_t *fhp, \ 5681.44Schristos struct statfs12 *buf); } 5691.44Schristos#else 5701.44Schristos297 EXCL compat_20_sys_fhstatfs 5711.44Schristos#endif 5721.36Sjdolecek298 NOARGS { int sys_fhopen(const fhandle_t *fhp, int flags); } 5731.36Sjdolecek299 NOARGS { int sys_fhstat(const fhandle_t *fhp, \ 5741.36Sjdolecek struct stat *sb); } 5751.22Schristos; syscall numbers for FreeBSD 5761.22Schristos300 UNIMPL modnext 5771.22Schristos301 UNIMPL modstat 5781.22Schristos302 UNIMPL modfnext 5791.22Schristos303 UNIMPL modfind 5801.22Schristos304 UNIMPL kldload 5811.22Schristos305 UNIMPL kldunload 5821.22Schristos306 UNIMPL kldfind 5831.22Schristos307 UNIMPL kldnext 5841.22Schristos308 UNIMPL kldstat 5851.22Schristos309 UNIMPL kldfirstmod 5861.27Stv310 NOARGS { pid_t sys_getsid(pid_t pid); } 5871.22Schristos311 UNIMPL setresuid 5881.22Schristos312 UNIMPL setresgid 5891.22Schristos313 UNIMPL signanosleep 5901.22Schristos314 UNIMPL aio_return 5911.22Schristos315 UNIMPL aio_suspend 5921.22Schristos316 UNIMPL aio_cancel 5931.22Schristos317 UNIMPL aio_error 5941.22Schristos318 UNIMPL aio_read 5951.22Schristos319 UNIMPL aio_write 5961.22Schristos320 UNIMPL lio_listio 5971.39Sgmcgarry321 NOARGS { void freebsd_sys_yield(void); } 5981.22Schristos322 UNIMPL thr_sleep 5991.22Schristos323 UNIMPL thr_wakeup 6001.27Stv324 NOARGS { int sys_mlockall(int flags); } 6011.27Stv325 NOARGS { int sys_munlockall(void); } 6021.27Stv326 NOARGS { int sys___getcwd(char *bufp, size_t length); } 6031.39Sgmcgarry327 STD { int freebsd_sys_sched_setparam(pid_t pid, \ 6041.39Sgmcgarry const struct freebsd_sched_param *sp); } 6051.39Sgmcgarry328 STD { int freebsd_sys_sched_getparam(pid_t pid, \ 6061.39Sgmcgarry struct freebsd_sched_param *sp); } 6071.39Sgmcgarry329 STD { int freebsd_sys_sched_setscheduler(pid_t pid, \ 6081.39Sgmcgarry int policy, const struct sched_param *sp); } 6091.39Sgmcgarry330 STD { int freebsd_sys_sched_getscheduler(pid_t pid); } 6101.39Sgmcgarry331 STD { int freebsd_sys_sched_yield(void); } 6111.39Sgmcgarry332 STD { int freebsd_sys_sched_get_priority_max(int policy); } 6121.39Sgmcgarry333 STD { int freebsd_sys_sched_get_priority_min(int policy); } 6131.22Schristos334 UNIMPL sched_rr_get_interval 6141.34Sjdolecek335 STD { int freebsd_sys_utrace(void *addr, size_t len); } 6151.22Schristos336 UNIMPL sendfile 6161.22Schristos337 UNIMPL kldsym 6171.27Stv338 UNIMPL jail 6181.27Stv339 UNIMPL pioctl 6191.28Sonoe340 NOARGS { int sys___sigprocmask14(int how, \ 6201.28Sonoe const sigset_t *set, \ 6211.28Sonoe sigset_t *oset); } 6221.28Sonoe341 NOARGS { int sys___sigsuspend14(const sigset_t *set); } 6231.28Sonoe342 STD { int freebsd_sys_sigaction4(int signum, \ 6241.28Sonoe const struct freebsd_sigaction4 *nsa, \ 6251.28Sonoe struct freebsd_sigaction4 *osa); } 6261.28Sonoe343 NOARGS { int sys___sigpending14(const sigset_t *set); } 6271.27Stv344 UNIMPL 4.0 sigreturn 6281.27Stv345 UNIMPL sigtimedwait 6291.27Stv346 UNIMPL sigwaitinfo 6301.27Stv347 UNIMPL __acl_get_file 6311.27Stv348 UNIMPL __acl_set_file 6321.27Stv349 UNIMPL __acl_get_fd 6331.27Stv350 UNIMPL __acl_set_fd 6341.27Stv351 UNIMPL __acl_delete_file 6351.27Stv352 UNIMPL __acl_delete_fd 6361.27Stv353 UNIMPL __acl_aclcheck_file 6371.27Stv354 UNIMPL __acl_aclcheck_fd 6381.27Stv355 UNIMPL extattrctl 6391.27Stv356 UNIMPL extattr_set_file 6401.27Stv357 UNIMPL extattr_get_file 6411.27Stv358 UNIMPL extattr_delete_file 6421.27Stv359 UNIMPL aio_waitcomplete 6431.27Stv360 UNIMPL getresuid 6441.27Stv361 UNIMPL getresgid 6451.27Stv362 UNIMPL kqueue 6461.27Stv363 UNIMPL kevent 6471.42Sjdolecek364 UNIMPL __cap_get_proc 6481.42Sjdolecek365 UNIMPL __cap_set_proc 6491.42Sjdolecek366 UNIMPL __cap_get_fd 6501.42Sjdolecek367 UNIMPL __cap_get_file 6511.42Sjdolecek368 UNIMPL __cap_set_fd 6521.42Sjdolecek369 UNIMPL __cap_set_file 6531.42Sjdolecek370 UNIMPL lkmressym 6541.42Sjdolecek371 UNIMPL extattr_set_fd 6551.42Sjdolecek372 UNIMPL extattr_get_fd 6561.42Sjdolecek373 UNIMPL extattr_delete_fd 6571.42Sjdolecek374 UNIMPL __setugid 6581.42Sjdolecek375 UNIMPL nfsclnt 6591.42Sjdolecek376 UNIMPL eaccess 6601.42Sjdolecek377 UNIMPL afs_syscall 6611.42Sjdolecek378 UNIMPL nmount 6621.42Sjdolecek379 UNIMPL kse_exit 6631.42Sjdolecek380 UNIMPL kse_wakeup 6641.42Sjdolecek381 UNIMPL kse_create 6651.42Sjdolecek382 UNIMPL kse_thr_interrupt 6661.42Sjdolecek383 UNIMPL kse_release 6671.42Sjdolecek384 UNIMPL __mac_get_proc 6681.42Sjdolecek385 UNIMPL __mac_set_proc 6691.42Sjdolecek386 UNIMPL __mac_get_fd 6701.42Sjdolecek387 UNIMPL __mac_get_file 6711.42Sjdolecek388 UNIMPL __mac_set_fd 6721.42Sjdolecek389 UNIMPL __mac_set_file 6731.42Sjdolecek390 UNIMPL kenv 6741.42Sjdolecek391 NOARGS { int sys_lchflags(const char *path, u_long flags); } 6751.43Stsarna392 NOARGS { int sys_uuidgen(struct uuid *store, int count); } 6761.42Sjdolecek393 UNIMPL sendfile 6771.42Sjdolecek394 UNIMPL mac_syscall 6781.42Sjdolecek395 UNIMPL getfsstat 6791.42Sjdolecek396 UNIMPL statfs 6801.42Sjdolecek397 UNIMPL fsstatfs 6811.42Sjdolecek398 UNIMPL fhstatfs 6821.42Sjdolecek399 UNIMPL nosys 6831.42Sjdolecek#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL) 6841.42Sjdolecek400 NOARGS { int sys__ksem_close(semid_t id); } 6851.42Sjdolecek401 NOARGS { int sys__ksem_post(semid_t id); } 6861.42Sjdolecek402 NOARGS { int sys__ksem_wait(semid_t id); } 6871.42Sjdolecek403 NOARGS { int sys__ksem_trywait(semid_t id); } 6881.42Sjdolecek404 UNIMPL ksem_init 6891.42Sjdolecek405 UNIMPL ksem_open 6901.42Sjdolecek406 NOARGS { int sys__ksem_unlink(const char *name); } 6911.42Sjdolecek407 NOARGS { int sys__ksem_getvalue(semid_t id, \ 6921.42Sjdolecek unsigned int *value); } 6931.42Sjdolecek408 NOARGS { int sys__ksem_destroy(semid_t id); } 6941.42Sjdolecek#else 6951.42Sjdolecek400 EXCL ksem_close 6961.42Sjdolecek401 EXCL ksem_post 6971.42Sjdolecek402 EXCL ksem_wait 6981.42Sjdolecek403 EXCL ksem_trywait 6991.42Sjdolecek404 EXCL ksem_init 7001.42Sjdolecek405 EXCL ksem_open 7011.42Sjdolecek406 EXCL ksem_unlink 7021.42Sjdolecek407 EXCL ksem_getvalue 7031.42Sjdolecek408 EXCL ksem_destroy 7041.42Sjdolecek#endif 7051.42Sjdolecek409 UNIMPL __mac_get_pid 7061.42Sjdolecek410 UNIMPL __mac_get_link 7071.42Sjdolecek411 UNIMPL __mac_set_link 7081.42Sjdolecek412 UNIMPL extattr_set_link 7091.42Sjdolecek413 UNIMPL extattr_get_link 7101.42Sjdolecek414 UNIMPL extattr_delete_link 7111.42Sjdolecek415 UNIMPL __mac_execve 7121.42Sjdolecek416 UNIMPL sigaction 7131.42Sjdolecek417 UNIMPL sigreturn 7141.42Sjdolecek418 UNIMPL __xstat 7151.42Sjdolecek419 UNIMPL __xfstat 7161.42Sjdolecek420 UNIMPL __xlstat 7171.42Sjdolecek421 UNIMPL getcontext 7181.42Sjdolecek422 UNIMPL setcontext 7191.42Sjdolecek423 UNIMPL swapcontext 7201.42Sjdolecek424 UNIMPL swapoff 7211.42Sjdolecek425 UNIMPL __acl_get_link 7221.42Sjdolecek426 UNIMPL __acl_set_link 7231.42Sjdolecek427 UNIMPL __acl_delete_link 7241.42Sjdolecek428 UNIMPL __acl_aclcheck_link 7251.42Sjdolecek429 UNIMPL sigwait 7261.42Sjdolecek430 UNIMPL thr_create 7271.42Sjdolecek431 UNIMPL thr_exit 7281.42Sjdolecek432 UNIMPL thr_self 7291.42Sjdolecek433 UNIMPL thr_kill 7301.42Sjdolecek434 UNIMPL _umtx_lock 7311.42Sjdolecek435 UNIMPL _umtx_unlock 7321.42Sjdolecek436 UNIMPL jail_attach 7331.42Sjdolecek437 UNIMPL extattr_list_fd 7341.42Sjdolecek438 UNIMPL extattr_list_file 7351.42Sjdolecek439 UNIMPL extattr_list_link 736