syscalls.master revision 1.57
11.57Smycroft	$NetBSD: syscalls.master,v 1.57 2000/12/09 07:10:36 mycroft Exp $
21.20Scgd
31.17Scgd;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
41.1Sderaadt
51.18Sderaadt; NetBSD COMPAT_SUNOS system call name/number "master" file.
61.18Sderaadt; (See syscalls.conf to see what it is processed into.)
71.18Sderaadt;
81.18Sderaadt; Fields: number type [type-dependent ...]
91.1Sderaadt;	number	system call number, must be in order
101.18Sderaadt;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
111.18Sderaadt;		the compatibility options defined in syscalls.conf.
121.18Sderaadt;
131.1Sderaadt; types:
141.1Sderaadt;	STD	always included
151.18Sderaadt;	OBSOL	obsolete, not included in system
161.18Sderaadt;	UNIMPL	unimplemented, not included in system
171.18Sderaadt;	NODEF	included, but don't define the syscall number
181.18Sderaadt;	NOARGS	included, but don't define the syscall args structure
191.18Sderaadt;
201.18Sderaadt; The compat options are defined in the syscalls.conf file, and the
211.18Sderaadt; compat option name is prefixed to the syscall name.  Other than
221.18Sderaadt; that, they're like NODEF (for 'compat' options), or STD (for
231.18Sderaadt; 'libcompat' options).
241.18Sderaadt;
251.18Sderaadt; The type-dependent arguments are as follows:
261.18Sderaadt; For STD, NODEF, NOARGS, and compat syscalls:
271.18Sderaadt;	{ pseudo-proto } [alias]
281.18Sderaadt; For other syscalls:
291.18Sderaadt;	[comment]
301.18Sderaadt;
311.18Sderaadt; #ifdef's, etc. may be included, and are copied to the output files.
321.45Sthorpej; #include's are copied to the syscall names and switch definition files only.
331.46Sthorpej
341.56Smycroft#if defined(_KERNEL) && !defined(_LKM)
351.46Sthorpej#include "opt_nfsserver.h"
361.48Stron#include "opt_sysv.h"
371.45Sthorpej
381.45Sthorpej#include "fs_nfs.h"
391.56Smycroft#endif
401.1Sderaadt
411.18Sderaadt#include <sys/param.h>
421.18Sderaadt#include <sys/systm.h>
431.18Sderaadt#include <sys/signal.h>
441.18Sderaadt#include <sys/mount.h>
451.37Smycroft#include <sys/poll.h>
461.18Sderaadt#include <sys/syscallargs.h>
471.37Smycroft
481.18Sderaadt#include <compat/sunos/sunos.h>
491.19Sderaadt#include <compat/sunos/sunos_syscallargs.h>
501.56Smycroft
511.56Smycroft%%
521.1Sderaadt
531.32Smycroft0	NOARGS		{ int sys_nosys(void); } syscall
541.32Smycroft1	NOARGS		{ int sys_exit(int rval); }
551.32Smycroft2	NOARGS		{ int sys_fork(void); }
561.32Smycroft3	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
571.32Smycroft4	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
581.51Schristos5	STD		{ int sunos_sys_open(const char *path, int flags, \
591.51Schristos			    int mode); }
601.32Smycroft6	NOARGS		{ int sys_close(int fd); }
611.32Smycroft7	STD		{ int sunos_sys_wait4(int pid, int *status, \
621.32Smycroft			    int options, struct rusage *rusage); }
631.51Schristos8	STD		{ int sunos_sys_creat(const char *path, int mode); }
641.32Smycroft9	NOARGS		{ int sys_link(char *path, char *link); }
651.32Smycroft10	NOARGS		{ int sys_unlink(char *path); }
661.51Schristos11	STD		{ int sunos_sys_execv(const char *path, char **argp); }
671.32Smycroft12	NOARGS		{ int sys_chdir(char *path); }
681.54Smrg13	OBSOL		old_time
691.51Schristos14	STD		{ int sunos_sys_mknod(const char *path, int mode, \
701.51Schristos			    int dev); }
711.32Smycroft15	NOARGS		{ int sys_chmod(char *path, int mode); }
721.32Smycroft16	NOARGS		{ int sys_chown(char *path, int uid, int gid); }
731.32Smycroft17	NOARGS		{ int sys_obreak(char *nsize); } break
741.54Smrg18	OBSOL		old_stat
751.32Smycroft19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, int whence); }
761.57Smycroft20	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
771.18Sderaadt21	OBSOL		sunos_old_mount
781.18Sderaadt22	UNIMPL		System V umount
791.32Smycroft23	NOARGS		{ int sys_setuid(uid_t uid); }
801.57Smycroft24	NOARGS		{ uid_t sys_getuid_with_euid(void); }
811.36Schristos25	STD		{ int sunos_sys_stime(time_t *tp); }
821.32Smycroft26	STD		{ long sunos_sys_ptrace(int req, pid_t pid, \
831.32Smycroft			    caddr_t addr, int data, char *addr2); }
841.54Smrg27	UNIMPL		old_sunos_alarm
851.54Smrg28	UNIMPL		old_sunos_fstat
861.54Smrg29	UNIMPL		old_sunos_pause
871.54Smrg30	UNIMPL		old_sunos_utime
881.54Smrg31	UNIMPL		old_sunos_stty
891.54Smrg32	UNIMPL		old_sunos_gtty
901.51Schristos33	STD		{ int sunos_sys_access(const char *path, int flags); }
911.54Smrg34	UNIMPL		old_sunos_nice
921.54Smrg35	UNIMPL		old_sunos_ftime
931.32Smycroft36	NOARGS		{ int sys_sync(void); }
941.32Smycroft37	NOARGS		{ int sys_kill(int pid, int signum); }
951.51Schristos38	STD		{ int sunos_sys_stat(const char *path, \
961.51Schristos			    struct stat43 *ub); }
971.18Sderaadt39	UNIMPL		sunos_setpgrp
981.51Schristos40	STD		{ int sunos_sys_lstat(const char *path, \
991.51Schristos			    struct stat43 *ub); }
1001.32Smycroft41	NOARGS		{ int sys_dup(u_int fd); }
1011.32Smycroft42	NOARGS		{ int sys_pipe(void); }
1021.18Sderaadt43	UNIMPL		sunos_times
1031.32Smycroft44	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
1041.18Sderaadt			    u_int offset, u_int scale); }
1051.18Sderaadt45	UNIMPL		
1061.32Smycroft46	NOARGS		{ int sys_setgid(uid_t gid); }
1071.57Smycroft47	NOARGS		{ gid_t sys_getgid_with_egid(void); }
1081.18Sderaadt48	UNIMPL		sunos_ssig
1091.18Sderaadt49	UNIMPL		reserved for USG
1101.18Sderaadt50	UNIMPL		reserved for USG
1111.32Smycroft51	NOARGS		{ int sys_acct(char *path); }
1121.18Sderaadt52	UNIMPL		
1131.44Schristos53	STD		{ int sunos_sys_mctl(void *addr, int len, int func, \
1141.18Sderaadt			    void *arg); }
1151.32Smycroft54	STD		{ int sunos_sys_ioctl(int fd, u_long com, \
1161.32Smycroft			    caddr_t data); }
1171.32Smycroft55	STD		{ int sunos_sys_reboot(int howto, char *bootstr); }
1181.18Sderaadt56	OBSOL		sunos_owait3
1191.32Smycroft57	NOARGS		{ int sys_symlink(char *path, char *link); }
1201.32Smycroft58	NOARGS		{ int sys_readlink(char *path, char *buf, int count); }
1211.51Schristos59	STD		{ int sunos_sys_execve(const char *path, char **argp, \
1221.32Smycroft			    char **envp); }
1231.32Smycroft60	NOARGS		{ int sys_umask(int newmask); }
1241.32Smycroft61	NOARGS		{ int sys_chroot(char *path); }
1251.43Schristos62	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); }
1261.18Sderaadt63	UNIMPL		
1271.32Smycroft64	NOARGS		{ int compat_43_sys_getpagesize(void); }
1281.32Smycroft65	STD		{ int sunos_sys_omsync(caddr_t addr, size_t len, \
1291.32Smycroft			    int flags); }
1301.32Smycroft66	NOARGS		{ int sys_vfork(void); }
1311.18Sderaadt67	OBSOL		vread
1321.18Sderaadt68	OBSOL		vwrite
1331.53Skleink69	NOARGS		{ int sys_sbrk(intptr_t incr); }
1341.32Smycroft70	NOARGS		{ int sys_sstk(int incr); }
1351.44Schristos71	STD		{ void *sunos_sys_mmap(void *addr, size_t len, \
1361.32Smycroft			    int prot, int flags, int fd, long pos); }
1371.32Smycroft72	NOARGS		{ int sys_ovadvise(int anom); } vadvise
1381.44Schristos73	NOARGS		{ int sys_munmap(void *addr, size_t len); }
1391.44Schristos74	NOARGS		{ int sys_mprotect(void *addr, size_t len, \
1401.32Smycroft			    int prot); }
1411.44Schristos75	NOARGS		{ int sys_madvise(void *addr, size_t len, \
1421.32Smycroft			    int behav); }
1431.32Smycroft76	STD		{ int sunos_sys_vhangup(void); }
1441.18Sderaadt77	UNIMPL		vlimit
1451.44Schristos78	NOARGS		{ int sys_mincore(void *addr, size_t len, \
1461.32Smycroft			    char *vec); }
1471.32Smycroft79	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
1481.32Smycroft80	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
1491.32Smycroft81	NOARGS		{ int sys_getpgrp(void); }
1501.32Smycroft82	STD		{ int sunos_sys_setpgrp(int pid, int pgid); }
1511.32Smycroft83	NOARGS		{ int sys_setitimer(u_int which, \
1521.32Smycroft			    struct itimerval *itv, struct itimerval *oitv); }
1531.32Smycroft84	UNIMPL		{ int sunos_sys_wait(void); }
1541.41Sthorpej85	NOARGS		{ int compat_12_sys_swapon(char *name); }
1551.32Smycroft86	NOARGS		{ int sys_getitimer(u_int which, \
1561.32Smycroft			    struct itimerval *itv); }
1571.32Smycroft87	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
1581.32Smycroft			    u_int len); }
1591.32Smycroft88	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
1601.32Smycroft			    u_int len); }
1611.32Smycroft89	NOARGS		{ int compat_43_sys_getdtablesize(void); }
1621.32Smycroft90	NOARGS		{ int sys_dup2(u_int from, u_int to); }
1631.18Sderaadt91	UNIMPL		getdopt
1641.33Spk92	STD		{ int sunos_sys_fcntl(int fd, int cmd, void *arg); }
1651.32Smycroft93	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
1661.18Sderaadt			    fd_set *ex, struct timeval *tv); }
1671.18Sderaadt94	UNIMPL		setdopt
1681.32Smycroft95	NOARGS		{ int sys_fsync(int fd); }
1691.32Smycroft96	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
1701.32Smycroft97	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
1711.32Smycroft98	NOARGS		{ int sys_connect(int s, caddr_t name, int namelen); }
1721.32Smycroft99	NOARGS		{ int compat_43_sys_accept(int s, caddr_t name, \
1731.32Smycroft			    int *anamelen); }
1741.32Smycroft100	NOARGS		{ int sys_getpriority(int which, int who); }
1751.32Smycroft101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
1761.32Smycroft			    int flags); }
1771.32Smycroft102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
1781.32Smycroft			    int flags); }
1791.18Sderaadt103	UNIMPL		old socketaddr
1801.32Smycroft104	NOARGS		{ int sys_bind(int s, caddr_t name, int namelen); }
1811.32Smycroft105	STD		{ int sunos_sys_setsockopt(int s, int level, int name, \
1821.18Sderaadt			    caddr_t val, int valsize); }
1831.32Smycroft106	NOARGS		{ int sys_listen(int s, int backlog); }
1841.18Sderaadt107	UNIMPL		vtimes
1851.32Smycroft108	STD		{ int sunos_sys_sigvec(int signum, struct sigvec *nsv, \
1861.18Sderaadt			    struct sigvec *osv); }
1871.32Smycroft109	NOARGS		{ int compat_43_sys_sigblock(int mask); }
1881.32Smycroft110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); }
1891.47Spk111	STD		{ int sunos_sys_sigsuspend(int mask); }
1901.32Smycroft112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
1911.18Sderaadt			    struct sigstack *oss); }
1921.32Smycroft113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
1931.32Smycroft			    struct omsghdr *msg, int flags); }
1941.32Smycroft114	NOARGS		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
1951.32Smycroft			    int flags); }
1961.18Sderaadt115	OBSOL		vtrace
1971.32Smycroft116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
1981.18Sderaadt			    struct timezone *tzp); }
1991.32Smycroft117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
2001.32Smycroft118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
2011.18Sderaadt			    caddr_t val, int *avalsize); }
2021.18Sderaadt119	UNIMPL		
2031.32Smycroft120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
2041.32Smycroft			    u_int iovcnt); }
2051.32Smycroft121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
2061.18Sderaadt			    u_int iovcnt); }
2071.32Smycroft122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
2081.18Sderaadt			    struct timezone *tzp); }
2091.32Smycroft123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
2101.32Smycroft124	NOARGS		{ int sys_fchmod(int fd, int mode); }
2111.32Smycroft125	NOARGS		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
2121.32Smycroft			    size_t len, int flags, caddr_t from, \
2131.32Smycroft			    int *fromlenaddr); }
2141.34Smycroft126	NOARGS		{ int sys_setreuid(int ruid, int euid); }
2151.34Smycroft127	NOARGS		{ int sys_setregid(int rgid, int egid); }
2161.32Smycroft128	NOARGS		{ int sys_rename(char *from, char *to); }
2171.32Smycroft129	NOARGS		{ int compat_43_sys_truncate(char *path, long length); }
2181.32Smycroft130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
2191.32Smycroft131	NOARGS		{ int sys_flock(int fd, int how); }
2201.18Sderaadt132	UNIMPL		
2211.32Smycroft133	NOARGS		{ int sys_sendto(int s, caddr_t buf, size_t len, \
2221.18Sderaadt			    int flags, caddr_t to, int tolen); }
2231.32Smycroft134	NOARGS		{ int sys_shutdown(int s, int how); }
2241.32Smycroft135	NOARGS		{ int sys_socketpair(int domain, int type, \
2251.32Smycroft			    int protocol, int *rsv); }
2261.32Smycroft136	NOARGS		{ int sys_mkdir(char *path, int mode); }
2271.32Smycroft137	NOARGS		{ int sys_rmdir(char *path); }
2281.32Smycroft138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
2291.32Smycroft139	STD		{ int sunos_sys_sigreturn(struct sigcontext *sigcntxp); }
2301.32Smycroft140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
2311.18Sderaadt			    struct timeval *olddelta); }
2321.32Smycroft141	NOARGS		{ int compat_43_sys_getpeername(int fdes, caddr_t asa, \
2331.32Smycroft			    int *alen); }
2341.32Smycroft142	NOARGS		{ int compat_43_sys_gethostid(void); }
2351.18Sderaadt143	UNIMPL		old sethostid
2361.32Smycroft144	STD		{ int sunos_sys_getrlimit(u_int which, \
2371.32Smycroft			    struct orlimit *rlp); }
2381.32Smycroft145	STD		{ int sunos_sys_setrlimit(u_int which, \
2391.32Smycroft			    struct orlimit *rlp); }
2401.32Smycroft146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); }
2411.18Sderaadt147	UNIMPL		
2421.18Sderaadt148	UNIMPL		
2431.18Sderaadt149	UNIMPL		
2441.32Smycroft150	NOARGS		{ int compat_43_sys_getsockname(int fdes, caddr_t asa, \
2451.32Smycroft			    int *alen); }
2461.18Sderaadt151	UNIMPL		getmsg
2471.18Sderaadt152	UNIMPL		putmsg
2481.38Smycroft153	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
2491.37Smycroft			    int timeout); }
2501.18Sderaadt154	UNIMPL		
2511.9Sderaadt#ifdef NFSSERVER
2521.32Smycroft155	STD		{ int sunos_sys_nfssvc(int fd); }
2531.9Sderaadt#else
2541.18Sderaadt155	UNIMPL		
2551.9Sderaadt#endif
2561.42Sfvdl156	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
2571.32Smycroft			    u_int count, long *basep); }
2581.51Schristos157	STD		{ int sunos_sys_statfs(const char *path, \
2591.32Smycroft			    struct sunos_statfs *buf); }
2601.32Smycroft158	STD		{ int sunos_sys_fstatfs(int fd, \
2611.32Smycroft			    struct sunos_statfs *buf); }
2621.32Smycroft159	STD		{ int sunos_sys_unmount(char *path); }
2631.39Sthorpej#ifdef NFS
2641.18Sderaadt160	NOARGS		{ int async_daemon(void); }
2651.32Smycroft161	NOARGS		{ int sys_getfh(char *fname, fhandle_t *fhp); }
2661.9Sderaadt#else
2671.18Sderaadt160	UNIMPL		
2681.18Sderaadt161	UNIMPL		
2691.9Sderaadt#endif
2701.32Smycroft162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
2711.32Smycroft			    int len); }
2721.32Smycroft163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
2731.32Smycroft			    int len); }
2741.18Sderaadt164	UNIMPL		rtschedule
2751.32Smycroft165	STD		{ int sunos_sys_quotactl(int cmd, char *special, \
2761.32Smycroft			    int uid, caddr_t addr); }
2771.32Smycroft166	STD		{ int sunos_sys_exportfs(char *path, char *ex); }
2781.32Smycroft167	STD		{ int sunos_sys_mount(char *type, char *dir, \
2791.32Smycroft			    int flags, caddr_t data); }
2801.32Smycroft168	STD		{ int sunos_sys_ustat(int dev, \
2811.32Smycroft			    struct sunos_ustat *buf); }
2821.6Sderaadt#ifdef SYSVSEM
2831.32Smycroft169	NOARGS		{ int compat_10_sys_semsys(int which, int a2, int a3, \
2841.32Smycroft			    int a4, int a5); }
2851.6Sderaadt#else
2861.32Smycroft169	UNIMPL		semsys
2871.6Sderaadt#endif
2881.6Sderaadt#ifdef SYSVMSG
2891.32Smycroft170	NOARGS		{ int compat_10_sys_msgsys(int which, int a2, int a3, \
2901.32Smycroft			    int a4, int a5, int a6); }
2911.6Sderaadt#else
2921.32Smycroft170	UNIMPL		msgsys
2931.6Sderaadt#endif
2941.1Sderaadt#ifdef SYSVSHM
2951.32Smycroft171	NOARGS		{ int compat_10_sys_shmsys(int which, int a2, int a3, \
2961.32Smycroft			    int a4); }
2971.1Sderaadt#else
2981.32Smycroft171	UNIMPL		shmsys
2991.1Sderaadt#endif
3001.32Smycroft172	STD		{ int sunos_sys_auditsys(char *record); }
3011.18Sderaadt173	UNIMPL		rfssys
3021.32Smycroft174	STD		{ int sunos_sys_getdents(int fd, char *buf, \
3031.32Smycroft			    int nbytes); }
3041.32Smycroft175	NOARGS		{ int sys_setsid(void); }
3051.32Smycroft176	NOARGS		{ int sys_fchdir(int fd); }
3061.52Ssommerfe177	NOARGS		{ int sys_fchroot(int fd); }
3071.18Sderaadt178	UNIMPL		vpixsys
3081.18Sderaadt179	UNIMPL		aioread
3091.18Sderaadt180	UNIMPL		aiowrite
3101.18Sderaadt181	UNIMPL		aiowait
3111.18Sderaadt182	UNIMPL		aiocancel
3121.32Smycroft183	STD		{ int sunos_sys_sigpending(int *mask); }
3131.18Sderaadt184	UNIMPL		
3141.32Smycroft185	NOARGS		{ int sys_setpgid(int pid, int pgid); }
3151.32Smycroft186	NOARGS		{ long sys_pathconf(char *path, int name); }
3161.32Smycroft187	NOARGS		{ long sys_fpathconf(int fd, int name); }
3171.32Smycroft188	STD		{ int sunos_sys_sysconf(int name); }
3181.32Smycroft189	STD		{ int sunos_sys_uname(struct sunos_utsname *name); }
319