syscalls.master revision 1.54
11.54Sveego	$NetBSD: syscalls.master,v 1.54 1997/09/09 08:04:11 veego Exp $
21.28Smycroft
31.22Scgd;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
41.1Sglass
51.23Scgd; NetBSD system call name/number "master" file.
61.23Scgd; (See syscalls.conf to see what it is processed into.)
71.23Scgd;
81.23Scgd; Fields: number type [type-dependent ...]
91.1Sglass;	number	system call number, must be in order
101.23Scgd;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
111.24Smycroft;		the compatibility options defined in syscalls.conf.
121.23Scgd;
131.1Sglass; types:
141.1Sglass;	STD	always included
151.23Scgd;	OBSOL	obsolete, not included in system
161.24Smycroft;	UNIMPL	unimplemented, not included in system
171.23Scgd;	NODEF	included, but don't define the syscall number
181.23Scgd;	NOARGS	included, but don't define the syscall args structure
191.43Scgd;	INDIR	included, but don't define the syscall args structure,
201.43Scgd;		and allow it to be "really" varargs.
211.23Scgd;
221.23Scgd; The compat options are defined in the syscalls.conf file, and the
231.23Scgd; compat option name is prefixed to the syscall name.  Other than
241.23Scgd; that, they're like NODEF (for 'compat' options), or STD (for
251.23Scgd; 'libcompat' options).
261.23Scgd;
271.23Scgd; The type-dependent arguments are as follows:
281.23Scgd; For STD, NODEF, NOARGS, and compat syscalls:
291.23Scgd;	{ pseudo-proto } [alias]
301.23Scgd; For other syscalls:
311.23Scgd;	[comment]
321.23Scgd;
331.23Scgd; #ifdef's, etc. may be included, and are copied to the output files.
341.23Scgd; #include's are copied to the syscall switch definition file only.
351.1Sglass
361.23Scgd#include <sys/param.h>
371.23Scgd#include <sys/systm.h>
381.23Scgd#include <sys/signal.h>
391.23Scgd#include <sys/mount.h>
401.23Scgd#include <sys/syscallargs.h>
411.1Sglass
421.1Sglass; Reserved/unimplemented system calls in the range 0-150 inclusive
431.1Sglass; are reserved for use in future Berkeley releases.
441.1Sglass; Additional system calls implemented in vendor and other
451.1Sglass; redistributions should be placed in the reserved range at the end
461.1Sglass; of the current calls.
471.1Sglass
481.43Scgd0	INDIR		{ int sys_syscall(int number, ...); }
491.44Scgd1	STD		{ void sys_exit(int rval); }
501.28Smycroft2	STD		{ int sys_fork(void); }
511.46Scgd3	STD		{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
521.46Scgd4	STD		{ ssize_t sys_write(int fd, const void *buf, \
531.46Scgd			    size_t nbyte); }
541.46Scgd5	STD		{ int sys_open(const char *path, \
551.46Scgd			    int flags, ... int mode); }
561.28Smycroft6	STD		{ int sys_close(int fd); }
571.28Smycroft7	STD		{ int sys_wait4(int pid, int *status, int options, \
581.23Scgd			    struct rusage *rusage); }
591.29Smycroft8	COMPAT_43	{ int sys_creat(char *path, int mode); } ocreat
601.46Scgd9	STD		{ int sys_link(const char *path, const char *link); }
611.46Scgd10	STD		{ int sys_unlink(const char *path); }
621.23Scgd11	OBSOL		execv
631.46Scgd12	STD		{ int sys_chdir(const char *path); }
641.28Smycroft13	STD		{ int sys_fchdir(int fd); }
651.46Scgd14	STD		{ int sys_mknod(const char *path, int mode, int dev); }
661.46Scgd15	STD		{ int sys_chmod(const char *path, int mode); }
671.46Scgd16	STD		{ int sys_chown(const char *path, uid_t uid, \
681.46Scgd			    gid_t gid); }
691.28Smycroft17	STD		{ int sys_obreak(char *nsize); } break
701.28Smycroft18	STD		{ int sys_getfsstat(struct statfs *buf, long bufsize, \
711.23Scgd			    int flags); }
721.29Smycroft19	COMPAT_43	{ long sys_lseek(int fd, long offset, int whence); } \
731.29Smycroft			    olseek
741.28Smycroft20	STD		{ pid_t sys_getpid(void); }
751.46Scgd21	STD		{ int sys_mount(const char *type, const char *path, \
761.46Scgd			    int flags, void *data); }
771.46Scgd22	STD		{ int sys_unmount(const char *path, int flags); }
781.28Smycroft23	STD		{ int sys_setuid(uid_t uid); }
791.28Smycroft24	STD		{ uid_t sys_getuid(void); }
801.28Smycroft25	STD		{ uid_t sys_geteuid(void); }
811.28Smycroft26	STD		{ int sys_ptrace(int req, pid_t pid, caddr_t addr, \
821.23Scgd			    int data); }
831.44Scgd27	STD		{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
841.28Smycroft			    int flags); }
851.46Scgd28	STD		{ ssize_t sys_sendmsg(int s, \
861.46Scgd			    const struct msghdr *msg, int flags); }
871.46Scgd29	STD		{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
881.46Scgd			    int flags, struct sockaddr *from, \
891.46Scgd			    int *fromlenaddr); }
901.46Scgd30	STD		{ int sys_accept(int s, struct sockaddr *name, \
911.46Scgd			    int *anamelen); }
921.46Scgd31	STD		{ int sys_getpeername(int fdes, struct sockaddr *asa, \
931.28Smycroft			    int *alen); }
941.46Scgd32	STD		{ int sys_getsockname(int fdes, struct sockaddr *asa, \
951.28Smycroft			    int *alen); }
961.46Scgd33	STD		{ int sys_access(const char *path, int flags); }
971.46Scgd34	STD		{ int sys_chflags(const char *path, u_long flags); }
981.46Scgd35	STD		{ int sys_fchflags(int fd, u_long flags); }
991.44Scgd36	STD		{ void sys_sync(void); }
1001.28Smycroft37	STD		{ int sys_kill(int pid, int signum); }
1011.29Smycroft38	COMPAT_43	{ int sys_stat(char *path, struct ostat *ub); } ostat
1021.28Smycroft39	STD		{ pid_t sys_getppid(void); }
1031.29Smycroft40	COMPAT_43	{ int sys_lstat(char *path, struct ostat *ub); } olstat
1041.28Smycroft41	STD		{ int sys_dup(u_int fd); }
1051.28Smycroft42	STD		{ int sys_pipe(void); }
1061.28Smycroft43	STD		{ gid_t sys_getegid(void); }
1071.30Scgd44	STD		{ int sys_profil(caddr_t samples, size_t size, \
1081.30Scgd			    u_long offset, u_int scale); }
1091.1Sglass#ifdef KTRACE
1101.46Scgd45	STD		{ int sys_ktrace(const char *fname, int ops, \
1111.46Scgd			    int facs, int pid); }
1121.1Sglass#else
1131.23Scgd45	UNIMPL		ktrace
1141.1Sglass#endif
1151.46Scgd46	STD		{ int sys_sigaction(int signum, \
1161.46Scgd			    const struct sigaction *nsa, \
1171.23Scgd			    struct sigaction *osa); }
1181.28Smycroft47	STD		{ gid_t sys_getgid(void); }
1191.28Smycroft48	STD		{ int sys_sigprocmask(int how, sigset_t mask); }
1201.37Sjtc49	STD		{ int sys___getlogin(char *namebuf, u_int namelen); }
1211.46Scgd50	STD		{ int sys_setlogin(const char *namebuf); }
1221.46Scgd51	STD		{ int sys_acct(const char *path); }
1231.28Smycroft52	STD		{ int sys_sigpending(void); }
1241.46Scgd53	STD		{ int sys_sigaltstack(const struct sigaltstack *nss, \
1251.23Scgd			    struct sigaltstack *oss); }
1261.46Scgd54	STD		{ int sys_ioctl(int fd, \
1271.46Scgd			    u_long com, ... caddr_t data); }
1281.34Smrg55	COMPAT_12	{ int sys_reboot(int opt); } oreboot
1291.46Scgd56	STD		{ int sys_revoke(const char *path); }
1301.46Scgd57	STD		{ int sys_symlink(const char *path, \
1311.46Scgd			    const char *link); }
1321.46Scgd58	STD		{ int sys_readlink(const char *path, char *buf, \
1331.46Scgd			    int count); }
1341.46Scgd59	STD		{ int sys_execve(const char *path, \
1351.46Scgd			    char * const *argp, char * const *envp); }
1361.28Smycroft60	STD		{ int sys_umask(int newmask); }
1371.46Scgd61	STD		{ int sys_chroot(const char *path); }
1381.29Smycroft62	COMPAT_43	{ int sys_fstat(int fd, struct ostat *sb); } ofstat
1391.28Smycroft63	COMPAT_43	{ int sys_getkerninfo(int op, char *where, int *size, \
1401.29Smycroft			    int arg); } ogetkerninfo
1411.29Smycroft64	COMPAT_43	{ int sys_getpagesize(void); } ogetpagesize
1421.28Smycroft65	STD		{ int sys_msync(caddr_t addr, size_t len); }
1431.28Smycroft66	STD		{ int sys_vfork(void); }
1441.23Scgd67	OBSOL		vread
1451.23Scgd68	OBSOL		vwrite
1461.28Smycroft69	STD		{ int sys_sbrk(int incr); }
1471.28Smycroft70	STD		{ int sys_sstk(int incr); }
1481.28Smycroft71	COMPAT_43	{ int sys_mmap(caddr_t addr, size_t len, int prot, \
1491.29Smycroft			    int flags, int fd, long pos); } ommap
1501.28Smycroft72	STD		{ int sys_ovadvise(int anom); } vadvise
1511.28Smycroft73	STD		{ int sys_munmap(caddr_t addr, size_t len); }
1521.28Smycroft74	STD		{ int sys_mprotect(caddr_t addr, size_t len, \
1531.28Smycroft			    int prot); }
1541.28Smycroft75	STD		{ int sys_madvise(caddr_t addr, size_t len, \
1551.28Smycroft			    int behav); }
1561.23Scgd76	OBSOL		vhangup
1571.23Scgd77	OBSOL		vlimit
1581.28Smycroft78	STD		{ int sys_mincore(caddr_t addr, size_t len, \
1591.28Smycroft			    char *vec); }
1601.28Smycroft79	STD		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
1611.46Scgd80	STD		{ int sys_setgroups(u_int gidsetsize, \
1621.46Scgd			    const gid_t *gidset); }
1631.28Smycroft81	STD		{ int sys_getpgrp(void); }
1641.28Smycroft82	STD		{ int sys_setpgid(int pid, int pgid); }
1651.28Smycroft83	STD		{ int sys_setitimer(u_int which, \
1661.46Scgd			    const struct itimerval *itv, \
1671.46Scgd			    struct itimerval *oitv); }
1681.29Smycroft84	COMPAT_43	{ int sys_wait(void); } owait
1691.52Smrg85	COMPAT_12	{ int sys_swapon(const char *name); } oswapon
1701.28Smycroft86	STD		{ int sys_getitimer(u_int which, \
1711.28Smycroft			    struct itimerval *itv); }
1721.29Smycroft87	COMPAT_43	{ int sys_gethostname(char *hostname, u_int len); } \
1731.29Smycroft			    ogethostname
1741.29Smycroft88	COMPAT_43	{ int sys_sethostname(char *hostname, u_int len); } \
1751.29Smycroft			    osethostname
1761.29Smycroft89	COMPAT_43	{ int sys_getdtablesize(void); } ogetdtablesize
1771.28Smycroft90	STD		{ int sys_dup2(u_int from, u_int to); }
1781.23Scgd91	UNIMPL		getdopt
1791.44Scgd92	STD		{ int sys_fcntl(int fd, int cmd, ... void *arg); }
1801.28Smycroft93	STD		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
1811.23Scgd			    fd_set *ex, struct timeval *tv); }
1821.23Scgd94	UNIMPL		setdopt
1831.28Smycroft95	STD		{ int sys_fsync(int fd); }
1841.28Smycroft96	STD		{ int sys_setpriority(int which, int who, int prio); }
1851.28Smycroft97	STD		{ int sys_socket(int domain, int type, int protocol); }
1861.46Scgd98	STD		{ int sys_connect(int s, const struct sockaddr *name, \
1871.46Scgd			    int namelen); }
1881.46Scgd99	COMPAT_43	{ int sys_accept(int s, caddr_t name, \
1891.46Scgd			    int *anamelen); } oaccept
1901.28Smycroft100	STD		{ int sys_getpriority(int which, int who); }
1911.28Smycroft101	COMPAT_43	{ int sys_send(int s, caddr_t buf, int len, \
1921.29Smycroft			    int flags); } osend
1931.28Smycroft102	COMPAT_43	{ int sys_recv(int s, caddr_t buf, int len, \
1941.29Smycroft			    int flags); } orecv
1951.28Smycroft103	STD		{ int sys_sigreturn(struct sigcontext *sigcntxp); }
1961.46Scgd104	STD		{ int sys_bind(int s, const struct sockaddr *name, \
1971.46Scgd			    int namelen); }
1981.28Smycroft105	STD		{ int sys_setsockopt(int s, int level, int name, \
1991.46Scgd			    const void *val, int valsize); }
2001.28Smycroft106	STD		{ int sys_listen(int s, int backlog); }
2011.23Scgd107	OBSOL		vtimes
2021.28Smycroft108	COMPAT_43	{ int sys_sigvec(int signum, struct sigvec *nsv, \
2031.29Smycroft			    struct sigvec *osv); } osigvec
2041.29Smycroft109	COMPAT_43	{ int sys_sigblock(int mask); } osigblock
2051.29Smycroft110	COMPAT_43	{ int sys_sigsetmask(int mask); } osigsetmask
2061.28Smycroft111	STD		{ int sys_sigsuspend(int mask); }
2071.28Smycroft112	COMPAT_43	{ int sys_sigstack(struct sigstack *nss, \
2081.29Smycroft			    struct sigstack *oss); } osigstack
2091.28Smycroft113	COMPAT_43	{ int sys_recvmsg(int s, struct omsghdr *msg, \
2101.29Smycroft			    int flags); } orecvmsg
2111.29Smycroft114	COMPAT_43	{ int sys_sendmsg(int s, caddr_t msg, int flags); } \
2121.29Smycroft			    osendmsg
2131.1Sglass#ifdef TRACE
2141.28Smycroft115	STD		{ int sys_vtrace(int request, int value); }
2151.1Sglass#else
2161.23Scgd115	OBSOL		vtrace
2171.1Sglass#endif
2181.28Smycroft116	STD		{ int sys_gettimeofday(struct timeval *tp, \
2191.23Scgd			    struct timezone *tzp); }
2201.28Smycroft117	STD		{ int sys_getrusage(int who, struct rusage *rusage); }
2211.28Smycroft118	STD		{ int sys_getsockopt(int s, int level, int name, \
2221.46Scgd			    void *val, int *avalsize); }
2231.26Scgd119	OBSOL		resuba
2241.46Scgd120	STD		{ ssize_t sys_readv(int fd, const struct iovec *iovp, \
2251.28Smycroft			    u_int iovcnt); }
2261.46Scgd121	STD		{ ssize_t sys_writev(int fd, \
2271.46Scgd			    const struct iovec *iovp, u_int iovcnt); }
2281.46Scgd122	STD		{ int sys_settimeofday(const struct timeval *tv, \
2291.46Scgd			    const struct timezone *tzp); }
2301.46Scgd123	STD		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
2311.28Smycroft124	STD		{ int sys_fchmod(int fd, int mode); }
2321.28Smycroft125	COMPAT_43	{ int sys_recvfrom(int s, caddr_t buf, size_t len, \
2331.29Smycroft			    int flags, caddr_t from, int *fromlenaddr); } \
2341.29Smycroft			    orecvfrom
2351.46Scgd126	STD		{ int sys_setreuid(uid_t ruid, uid_t euid); }
2361.46Scgd127	STD		{ int sys_setregid(gid_t rgid, gid_t egid); }
2371.46Scgd128	STD		{ int sys_rename(const char *from, const char *to); }
2381.29Smycroft129	COMPAT_43	{ int sys_truncate(char *path, long length); } \
2391.29Smycroft			    otruncate
2401.29Smycroft130	COMPAT_43	{ int sys_ftruncate(int fd, long length); } oftruncate
2411.28Smycroft131	STD		{ int sys_flock(int fd, int how); }
2421.46Scgd132	STD		{ int sys_mkfifo(const char *path, int mode); }
2431.46Scgd133	STD		{ ssize_t sys_sendto(int s, const void *buf, \
2441.46Scgd			    size_t len, int flags, const struct sockaddr *to, \
2451.46Scgd			    int tolen); }
2461.28Smycroft134	STD		{ int sys_shutdown(int s, int how); }
2471.28Smycroft135	STD		{ int sys_socketpair(int domain, int type, \
2481.28Smycroft			    int protocol, int *rsv); }
2491.46Scgd136	STD		{ int sys_mkdir(const char *path, int mode); }
2501.46Scgd137	STD		{ int sys_rmdir(const char *path); }
2511.46Scgd138	STD		{ int sys_utimes(const char *path, \
2521.46Scgd			    const struct timeval *tptr); }
2531.23Scgd139	OBSOL		4.2 sigreturn
2541.46Scgd140	STD		{ int sys_adjtime(const struct timeval *delta, \
2551.23Scgd			    struct timeval *olddelta); }
2561.28Smycroft141	COMPAT_43	{ int sys_getpeername(int fdes, caddr_t asa, \
2571.29Smycroft			    int *alen); } ogetpeername
2581.29Smycroft142	COMPAT_43	{ int32_t sys_gethostid(void); } ogethostid
2591.29Smycroft143	COMPAT_43	{ int sys_sethostid(int32_t hostid); } osethostid
2601.28Smycroft144	COMPAT_43	{ int sys_getrlimit(u_int which, \
2611.29Smycroft			    struct ogetrlimit *rlp); } ogetrlimit
2621.28Smycroft145	COMPAT_43	{ int sys_setrlimit(u_int which, \
2631.29Smycroft			    struct ogetrlimit *rlp); } osetrlimit
2641.29Smycroft146	COMPAT_43	{ int sys_killpg(int pgid, int signum); } okillpg
2651.28Smycroft147	STD		{ int sys_setsid(void); }
2661.46Scgd148	STD		{ int sys_quotactl(const char *path, int cmd, \
2671.46Scgd			    int uid, caddr_t arg); }
2681.29Smycroft149	COMPAT_43	{ int sys_quota(void); } oquota
2691.28Smycroft150	COMPAT_43	{ int sys_getsockname(int fdec, caddr_t asa, \
2701.29Smycroft			    int *alen); } ogetsockname
2711.1Sglass
2721.1Sglass; Syscalls 151-180 inclusive are reserved for vendor-specific
2731.1Sglass; system calls.  (This includes various calls added for compatibity
2741.1Sglass; with other Unix variants.)
2751.1Sglass; Some of these calls are now supported by BSD...
2761.23Scgd151	UNIMPL
2771.23Scgd152	UNIMPL
2781.23Scgd153	UNIMPL
2791.23Scgd154	UNIMPL
2801.47Sthorpej#if defined(NFS) || defined(NFSSERVER)
2811.46Scgd155	STD		{ int sys_nfssvc(int flag, void *argp); }
2821.1Sglass#else
2831.23Scgd155	UNIMPL
2841.1Sglass#endif
2851.28Smycroft156	COMPAT_43	{ int sys_getdirentries(int fd, char *buf, \
2861.29Smycroft			    u_int count, long *basep); } ogetdirentries
2871.46Scgd157	STD		{ int sys_statfs(const char *path, \
2881.46Scgd			    struct statfs *buf); }
2891.28Smycroft158	STD		{ int sys_fstatfs(int fd, struct statfs *buf); }
2901.23Scgd159	UNIMPL
2911.23Scgd160	UNIMPL
2921.47Sthorpej#if defined(NFS) || defined(NFSSERVER)
2931.46Scgd161	STD		{ int sys_getfh(const char *fname, fhandle_t *fhp); }
2941.1Sglass#else
2951.23Scgd161	UNIMPL		getfh
2961.1Sglass#endif
2971.29Smycroft162	COMPAT_09	{ int sys_getdomainname(char *domainname, int len); } \
2981.29Smycroft			    ogetdomainname
2991.29Smycroft163	COMPAT_09	{ int sys_setdomainname(char *domainname, int len); } \
3001.29Smycroft			    osetdomainname
3011.29Smycroft164	COMPAT_09	{ int sys_uname(struct outsname *name); } ouname
3021.28Smycroft165	STD		{ int sys_sysarch(int op, char *parms); }
3031.23Scgd166	UNIMPL
3041.23Scgd167	UNIMPL
3051.23Scgd168	UNIMPL
3061.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3071.23Scgd#if defined(SYSVSEM) && !defined(alpha)
3081.28Smycroft169	COMPAT_10	{ int sys_semsys(int which, int a2, int a3, int a4, \
3091.29Smycroft			    int a5); } osemsys
3101.9Scgd#else
3111.23Scgd169	UNIMPL		1.0 semsys
3121.9Scgd#endif
3131.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3141.23Scgd#if defined(SYSVMSG) && !defined(alpha)
3151.28Smycroft170	COMPAT_10	{ int sys_msgsys(int which, int a2, int a3, int a4, \
3161.29Smycroft			    int a5, int a6); } omsgsys
3171.9Scgd#else
3181.23Scgd170	UNIMPL		1.0 msgsys
3191.9Scgd#endif
3201.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3211.23Scgd#if defined(SYSVSHM) && !defined(alpha)
3221.29Smycroft171	COMPAT_10	{ int sys_shmsys(int which, int a2, int a3, int a4); } \
3231.29Smycroft			    oshmsys
3241.1Sglass#else
3251.23Scgd171	UNIMPL		1.0 shmsys
3261.1Sglass#endif
3271.23Scgd172	UNIMPL
3281.23Scgd173	UNIMPL
3291.23Scgd174	UNIMPL
3301.45Scgd175	STD		{ int sys_ntp_gettime(struct ntptimeval *ntvp); }
3311.38Sthorpej176	STD		{ int sys_ntp_adjtime(struct timex *tp); }
3321.23Scgd177	UNIMPL
3331.23Scgd178	UNIMPL
3341.23Scgd179	UNIMPL
3351.23Scgd180	UNIMPL
3361.1Sglass
3371.1Sglass; Syscalls 180-199 are used by/reserved for BSD
3381.28Smycroft181	STD		{ int sys_setgid(gid_t gid); }
3391.28Smycroft182	STD		{ int sys_setegid(gid_t egid); }
3401.28Smycroft183	STD		{ int sys_seteuid(uid_t euid); }
3411.17Scgd#ifdef LFS
3421.23Scgd184	STD		{ int lfs_bmapv(fsid_t *fsidp, \
3431.23Scgd			    struct block_info *blkiov, int blkcnt); }
3441.23Scgd185	STD		{ int lfs_markv(fsid_t *fsidp, \
3451.23Scgd			    struct block_info *blkiov, int blkcnt); }
3461.23Scgd186	STD		{ int lfs_segclean(fsid_t *fsidp, u_long segment); }
3471.23Scgd187	STD		{ int lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
3481.23Scgd#else
3491.23Scgd184	UNIMPL
3501.23Scgd185	UNIMPL
3511.23Scgd186	UNIMPL
3521.23Scgd187	UNIMPL
3531.23Scgd#endif
3541.46Scgd188	STD		{ int sys_stat(const char *path, struct stat *ub); }
3551.28Smycroft189	STD		{ int sys_fstat(int fd, struct stat *sb); }
3561.46Scgd190	STD		{ int sys_lstat(const char *path, struct stat *ub); }
3571.46Scgd191	STD		{ long sys_pathconf(const char *path, int name); }
3581.44Scgd192	STD		{ long sys_fpathconf(int fd, int name); }
3591.23Scgd193	UNIMPL
3601.28Smycroft194	STD		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
3611.46Scgd195	STD		{ int sys_setrlimit(u_int which, \
3621.46Scgd			    const struct rlimit *rlp); }
3631.28Smycroft196	STD		{ int sys_getdirentries(int fd, char *buf, \
3641.28Smycroft			    u_int count, long *basep); }
3651.28Smycroft197	STD		{ caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \
3661.23Scgd			    int flags, int fd, long pad, off_t pos); }
3671.43Scgd198	INDIR		{ quad_t sys___syscall(quad_t num, ...); }
3681.28Smycroft199	STD		{ off_t sys_lseek(int fd, int pad, off_t offset, \
3691.23Scgd			    int whence); }
3701.46Scgd200	STD		{ int sys_truncate(const char *path, int pad, \
3711.46Scgd			    off_t length); }
3721.28Smycroft201	STD		{ int sys_ftruncate(int fd, int pad, off_t length); }
3731.28Smycroft202	STD		{ int sys___sysctl(int *name, u_int namelen, \
3741.28Smycroft			    void *old, size_t *oldlenp, void *new, \
3751.28Smycroft			    size_t newlen); }
3761.28Smycroft203	STD		{ int sys_mlock(caddr_t addr, size_t len); }
3771.28Smycroft204	STD		{ int sys_munlock(caddr_t addr, size_t len); }
3781.46Scgd205	STD		{ int sys_undelete(const char *path); }
3791.46Scgd206	STD		{ int sys_futimes(int fd, \
3801.46Scgd			    const struct timeval *tptr); }
3811.34Smrg207	STD		{ int sys_getpgid(pid_t pid); }
3821.34Smrg208	STD		{ int sys_reboot(int opt, char *bootstr); }
3831.36Smycroft209	STD		{ int sys_poll(struct pollfd *fds, u_int nfds, \
3841.35Smycroft			    int timeout); }
3851.11Scgd;
3861.11Scgd; Syscalls 210-219 are reserved for dynamically loaded syscalls
3871.11Scgd;
3881.11Scgd#ifdef LKM
3891.28Smycroft210	NODEF		{ int sys_lkmnosys(void); }
3901.28Smycroft211	NODEF		{ int sys_lkmnosys(void); }
3911.28Smycroft212	NODEF		{ int sys_lkmnosys(void); }
3921.28Smycroft213	NODEF		{ int sys_lkmnosys(void); }
3931.28Smycroft214	NODEF		{ int sys_lkmnosys(void); }
3941.28Smycroft215	NODEF		{ int sys_lkmnosys(void); }
3951.28Smycroft216	NODEF		{ int sys_lkmnosys(void); }
3961.28Smycroft217	NODEF		{ int sys_lkmnosys(void); }
3971.28Smycroft218	NODEF		{ int sys_lkmnosys(void); }
3981.28Smycroft219	NODEF		{ int sys_lkmnosys(void); }
3991.11Scgd#else	/* !LKM */
4001.23Scgd210	UNIMPL
4011.23Scgd211	UNIMPL
4021.23Scgd212	UNIMPL
4031.23Scgd213	UNIMPL
4041.23Scgd214	UNIMPL
4051.23Scgd215	UNIMPL
4061.23Scgd216	UNIMPL
4071.23Scgd217	UNIMPL
4081.23Scgd218	UNIMPL
4091.23Scgd219	UNIMPL
4101.6Scgd#endif	/* !LKM */
4111.49Skleink; System calls 220-300 are reserved for use by NetBSD
4121.23Scgd#ifdef SYSVSEM
4131.28Smycroft220	STD		{ int sys___semctl(int semid, int semnum, int cmd, \
4141.23Scgd			    union semun *arg); }
4151.28Smycroft221	STD		{ int sys_semget(key_t key, int nsems, int semflg); }
4161.28Smycroft222	STD		{ int sys_semop(int semid, struct sembuf *sops, \
4171.23Scgd			    u_int nsops); }
4181.28Smycroft223	STD		{ int sys_semconfig(int flag); }
4191.23Scgd#else
4201.23Scgd220	UNIMPL		semctl
4211.23Scgd221	UNIMPL		semget
4221.23Scgd222	UNIMPL		semop
4231.23Scgd223	UNIMPL		semconfig
4241.23Scgd#endif
4251.23Scgd#ifdef SYSVMSG
4261.28Smycroft224	STD		{ int sys_msgctl(int msqid, int cmd, \
4271.23Scgd			    struct msqid_ds *buf); }
4281.28Smycroft225	STD		{ int sys_msgget(key_t key, int msgflg); }
4291.28Smycroft226	STD		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
4301.23Scgd			    int msgflg); }
4311.28Smycroft227	STD		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
4321.23Scgd			    long msgtyp, int msgflg); }
4331.23Scgd#else
4341.23Scgd224	UNIMPL		msgctl
4351.23Scgd225	UNIMPL		msgget
4361.23Scgd226	UNIMPL		msgsnd
4371.23Scgd227	UNIMPL		msgrcv
4381.23Scgd#endif
4391.23Scgd#ifdef SYSVSHM
4401.44Scgd228	STD		{ void *sys_shmat(int shmid, void *shmaddr, \
4411.44Scgd			    int shmflg); }
4421.28Smycroft229	STD		{ int sys_shmctl(int shmid, int cmd, \
4431.23Scgd			    struct shmid_ds *buf); }
4441.28Smycroft230	STD		{ int sys_shmdt(void *shmaddr); }
4451.28Smycroft231	STD		{ int sys_shmget(key_t key, int size, int shmflg); }
4461.23Scgd#else
4471.23Scgd228	UNIMPL		shmat
4481.23Scgd229	UNIMPL		shmctl
4491.23Scgd230	UNIMPL		shmdt
4501.23Scgd231	UNIMPL		shmget
4511.23Scgd#endif
4521.39Sjtc232	STD		{ int sys_clock_gettime(clockid_t clock_id, \
4531.49Skleink			    struct timespec *tp); }
4541.39Sjtc233	STD		{ int sys_clock_settime(clockid_t clock_id, \
4551.49Skleink			    const struct timespec *tp); }
4561.39Sjtc234	STD		{ int sys_clock_getres(clockid_t clock_id, \
4571.49Skleink			    struct timespec *tp); }
4581.39Sjtc235	UNIMPL		timer_create
4591.39Sjtc236	UNIMPL		timer_delete
4601.39Sjtc237	UNIMPL		timer_settime
4611.39Sjtc238	UNIMPL		timer_gettime
4621.39Sjtc239	UNIMPL		timer_getoverrun
4631.54Sveego;
4641.54Sveego; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
4651.54Sveego;
4661.48Sjtc240	STD		{ int sys_nanosleep(const struct timespec *rqtp, \
4671.49Skleink			    struct timespec *rmtp); }
4681.49Skleink241	UNIMPL
4691.49Skleink242	UNIMPL
4701.49Skleink243	UNIMPL
4711.49Skleink244	UNIMPL
4721.49Skleink245	UNIMPL
4731.49Skleink246	UNIMPL
4741.49Skleink247	UNIMPL
4751.49Skleink248	UNIMPL
4761.49Skleink249	UNIMPL
4771.49Skleink251	UNIMPL
4781.54Sveego250	UNIMPL
4791.49Skleink252	UNIMPL
4801.49Skleink253	UNIMPL
4811.49Skleink254	UNIMPL
4821.49Skleink255	UNIMPL
4831.49Skleink256	UNIMPL
4841.49Skleink257	UNIMPL
4851.49Skleink258	UNIMPL
4861.49Skleink259	UNIMPL
4871.49Skleink260	UNIMPL
4881.49Skleink261	UNIMPL
4891.49Skleink262	UNIMPL
4901.49Skleink263	UNIMPL
4911.49Skleink264	UNIMPL
4921.49Skleink265	UNIMPL
4931.49Skleink266	UNIMPL
4941.49Skleink267	UNIMPL
4951.49Skleink268	UNIMPL
4961.49Skleink269	UNIMPL
4971.49Skleink270	STD		{ int sys_posix_rename(const char *from, \
4981.49Skleink			    const char *to); }
4991.50Smrg271	STD		{ int sys_swapctl(int cmd, void *arg, int misc); }
5001.54Sveego; 272 will be getdents() shortly
5011.54Sveego272	UNIMPL
5021.54Sveego273	STD		{ int sys_minherit(caddr_t addr, size_t len, \
5031.54Sveego			    int inherit); }
504