11.82Schristos	$NetBSD: syscalls.master,v 1.82 2019/09/23 20:42:29 christos 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.58Smrg#if defined(_KERNEL_OPT)
351.48Stron#include "opt_sysv.h"
361.56Smycroft#endif
371.1Sderaadt
381.18Sderaadt#include <sys/param.h>
391.18Sderaadt#include <sys/systm.h>
401.18Sderaadt#include <sys/signal.h>
411.18Sderaadt#include <sys/mount.h>
421.37Smycroft#include <sys/poll.h>
431.69Stsutsui#include <sys/sched.h>
441.18Sderaadt#include <sys/syscallargs.h>
451.37Smycroft
461.18Sderaadt#include <compat/sunos/sunos.h>
471.19Sderaadt#include <compat/sunos/sunos_syscallargs.h>
481.56Smycroft
491.56Smycroft%%
501.1Sderaadt
511.74Spooka0	NOARGS		{ int|sys||nosys(void); } syscall
521.74Spooka1	NOARGS		{ int|sys||exit(int rval); }
531.74Spooka2	NOARGS		{ int|sys||fork(void); }
541.74Spooka3	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
551.74Spooka4	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
561.74Spooka5	STD		{ int|sunos_sys||open(const char *path, int flags, \
571.51Schristos			    int mode); }
581.74Spooka6	NOARGS		{ int|sys||close(int fd); }
591.74Spooka7	STD		{ int|sunos_sys||wait4(int pid, int *status, \
601.72Stsutsui			    int options, struct rusage50 *rusage); }
611.74Spooka8	STD		{ int|sunos_sys||creat(const char *path, int mode); }
621.74Spooka9	NOARGS		{ int|sys||link(char *path, char *link); }
631.74Spooka10	NOARGS		{ int|sys||unlink(char *path); }
641.74Spooka11	STD		{ int|sunos_sys||execv(const char *path, char **argp); }
651.74Spooka12	NOARGS		{ int|sys||chdir(char *path); }
661.54Smrg13	OBSOL		old_time
671.74Spooka14	STD		{ int|sunos_sys||mknod(const char *path, int mode, \
681.51Schristos			    int dev); }
691.74Spooka15	NOARGS		{ int|sys||chmod(char *path, int mode); }
701.74Spooka16	NOARGS		{ int|sys||chown(char *path, int uid, int gid); }
711.74Spooka17	NOARGS		{ int|sys||obreak(char *nsize); } break
721.54Smrg18	OBSOL		old_stat
731.74Spooka19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, int whence); }
741.74Spooka20	NOARGS		{ pid_t|sys||getpid_with_ppid(void); }
751.18Sderaadt21	OBSOL		sunos_old_mount
761.18Sderaadt22	UNIMPL		System V umount
771.74Spooka23	NOARGS		{ int|sys||setuid(uid_t uid); }
781.74Spooka24	NOARGS		{ uid_t|sys||getuid_with_euid(void); }
791.74Spooka25	STD		{ int|sunos_sys||stime(sunos_time_t *tp); }
801.74Spooka26	STD		{ long|sunos_sys||ptrace(int req, pid_t pid, \
811.67Schristos			    void *addr, int data, char *addr2); }
821.54Smrg27	UNIMPL		old_sunos_alarm
831.54Smrg28	UNIMPL		old_sunos_fstat
841.54Smrg29	UNIMPL		old_sunos_pause
851.54Smrg30	UNIMPL		old_sunos_utime
861.54Smrg31	UNIMPL		old_sunos_stty
871.54Smrg32	UNIMPL		old_sunos_gtty
881.74Spooka33	NOARGS		{ int|sys||access(const char *path, int flags); }
891.54Smrg34	UNIMPL		old_sunos_nice
901.54Smrg35	UNIMPL		old_sunos_ftime
911.74Spooka36	NOARGS		{ int|sys||sync(void); }
921.74Spooka37	NOARGS		{ int|sys||kill(int pid, int signum); }
931.74Spooka38	NOARGS		{ int|compat_43_sys||stat(const char *path, \
941.51Schristos			    struct stat43 *ub); }
951.18Sderaadt39	UNIMPL		sunos_setpgrp
961.74Spooka40	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
971.51Schristos			    struct stat43 *ub); }
981.76Snjoly41	NOARGS		{ int|sys||dup(int fd); }
991.74Spooka42	NOARGS		{ int|sys||pipe(void); }
1001.18Sderaadt43	UNIMPL		sunos_times
1011.74Spooka44	NOARGS		{ int|sys||profil(void *samples, u_int size, \
1021.18Sderaadt			    u_int offset, u_int scale); }
1031.61Sperry45	UNIMPL
1041.74Spooka46	NOARGS		{ int|sys||setgid(uid_t gid); }
1051.74Spooka47	NOARGS		{ gid_t|sys||getgid_with_egid(void); }
1061.18Sderaadt48	UNIMPL		sunos_ssig
1071.18Sderaadt49	UNIMPL		reserved for USG
1081.18Sderaadt50	UNIMPL		reserved for USG
1091.74Spooka51	NOARGS		{ int|sys||acct(char *path); }
1101.61Sperry52	UNIMPL
1111.74Spooka53	STD		{ int|sunos_sys||mctl(void *addr, int len, int func, \
1121.18Sderaadt			    void *arg); }
1131.74Spooka54	STD		{ int|sunos_sys||ioctl(int fd, u_long com, \
1141.67Schristos			    void *data); }
1151.74Spooka55	STD		{ int|sunos_sys||reboot(int howto, char *bootstr); }
1161.18Sderaadt56	OBSOL		sunos_owait3
1171.74Spooka57	NOARGS		{ int|sys||symlink(char *path, char *link); }
1181.74Spooka58	NOARGS		{ int|sys||readlink(char *path, char *buf, int count); }
1191.74Spooka59	STD		{ int|sunos_sys||execve(const char *path, char **argp, \
1201.32Smycroft			    char **envp); }
1211.74Spooka60	NOARGS		{ int|sys||umask(int newmask); }
1221.74Spooka61	NOARGS		{ int|sys||chroot(char *path); }
1231.74Spooka62	NOARGS		{ int|compat_43_sys||fstat(int fd, struct stat43 *sb); }
1241.61Sperry63	UNIMPL
1251.74Spooka64	NOARGS		{ int|compat_43_sys||getpagesize(void); }
1261.74Spooka65	STD		{ int|sunos_sys||omsync(void *addr, size_t len, \
1271.32Smycroft			    int flags); }
1281.74Spooka66	NOARGS		{ int|sys||vfork(void); }
1291.18Sderaadt67	OBSOL		vread
1301.18Sderaadt68	OBSOL		vwrite
1311.78Skamil69	OBSOL		sbrk
1321.77Skamil70	OBSOL		sstk
1331.74Spooka71	STD		{ void *|sunos_sys||mmap(void *addr, size_t len, \
1341.32Smycroft			    int prot, int flags, int fd, long pos); }
1351.80Skamil72	NOARGS		{ int|sys||ovadvise(int anom); } vadvise
1361.74Spooka73	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
1371.74Spooka74	NOARGS		{ int|sys||mprotect(void *addr, size_t len, \
1381.32Smycroft			    int prot); }
1391.74Spooka75	NOARGS		{ int|sys||madvise(void *addr, size_t len, \
1401.32Smycroft			    int behav); }
1411.74Spooka76	STD		{ int|sunos_sys||vhangup(void); }
1421.18Sderaadt77	UNIMPL		vlimit
1431.74Spooka78	NOARGS		{ int|sys||mincore(void *addr, size_t len, \
1441.32Smycroft			    char *vec); }
1451.74Spooka79	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
1461.74Spooka80	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
1471.74Spooka81	NOARGS		{ int|sys||getpgrp(void); }
1481.74Spooka82	STD		{ int|sunos_sys||setpgrp(int pid, int pgid); }
1491.74Spooka83	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
1501.72Stsutsui			    struct itimerval50 *itv, \
1511.72Stsutsui			    struct itimerval50 *oitv); }
1521.73Spooka84	UNIMPL		sunos_sys_wait
1531.74Spooka85	NOARGS		{ int|compat_12_sys||swapon(char *name); }
1541.74Spooka86	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
1551.72Stsutsui			    struct itimerval50 *itv); }
1561.74Spooka87	NOARGS		{ int|compat_43_sys||gethostname(char *hostname, \
1571.32Smycroft			    u_int len); }
1581.74Spooka88	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
1591.32Smycroft			    u_int len); }
1601.74Spooka89	NOARGS		{ int|compat_43_sys||getdtablesize(void); }
1611.76Snjoly90	NOARGS		{ int|sys||dup2(int from, int to); }
1621.18Sderaadt91	UNIMPL		getdopt
1631.74Spooka92	STD		{ int|sunos_sys||fcntl(int fd, int cmd, void *arg); }
1641.74Spooka93	NOARGS		{ int|compat_50_sys||select(u_int nd, fd_set *in, \
1651.72Stsutsui			    fd_set *ou, fd_set *ex, struct timeval50 *tv); }
1661.18Sderaadt94	UNIMPL		setdopt
1671.74Spooka95	NOARGS		{ int|sys||fsync(int fd); }
1681.74Spooka96	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
1691.74Spooka97	STD		{ int|sunos_sys||socket(int domain, int type, int protocol); }
1701.74Spooka98	NOARGS		{ int|sys||connect(int s, void *name, int namelen); }
1711.74Spooka99	NOARGS		{ int|compat_43_sys||accept(int s, void *name, \
1721.32Smycroft			    int *anamelen); }
1731.74Spooka100	NOARGS		{ int|sys||getpriority(int which, int who); }
1741.74Spooka101	NOARGS		{ int|compat_43_sys||send(int s, void *buf, int len, \
1751.32Smycroft			    int flags); }
1761.74Spooka102	NOARGS		{ int|compat_43_sys||recv(int s, void *buf, int len, \
1771.32Smycroft			    int flags); }
1781.18Sderaadt103	UNIMPL		old socketaddr
1791.74Spooka104	NOARGS		{ int|sys||bind(int s, void *name, int namelen); }
1801.74Spooka105	STD		{ int|sunos_sys||setsockopt(int s, int level, int name, \
1811.82Schristos			    void *val, u_int valsize); }
1821.74Spooka106	NOARGS		{ int|sys||listen(int s, int backlog); }
1831.18Sderaadt107	UNIMPL		vtimes
1841.74Spooka108	STD		{ int|sunos_sys||sigvec(int signum, struct sigvec *nsv, \
1851.18Sderaadt			    struct sigvec *osv); }
1861.74Spooka109	NOARGS		{ int|compat_43_sys||sigblock(int mask); }
1871.74Spooka110	NOARGS		{ int|compat_43_sys||sigsetmask(int mask); }
1881.74Spooka111	STD		{ int|sunos_sys||sigsuspend(int mask); }
1891.74Spooka112	NOARGS		{ int|compat_43_sys||sigstack(struct sigstack *nss, \
1901.18Sderaadt			    struct sigstack *oss); }
1911.74Spooka113	NOARGS		{ int|compat_43_sys||recvmsg(int s, \
1921.32Smycroft			    struct omsghdr *msg, int flags); }
1931.74Spooka114	NOARGS		{ int|compat_43_sys||sendmsg(int s, void *msg, \
1941.32Smycroft			    int flags); }
1951.18Sderaadt115	OBSOL		vtrace
1961.74Spooka116	NOARGS		{ int|compat_50_sys||gettimeofday(struct timeval50 *tp, \
1971.18Sderaadt			    struct timezone *tzp); }
1981.74Spooka117	NOARGS		{ int|compat_50_sys||getrusage(int who, \
1991.72Stsutsui			    struct rusage50 *rusage); }
2001.74Spooka118	NOARGS		{ int|sys||getsockopt(int s, int level, int name, \
2011.67Schristos			    void *val, int *avalsize); }
2021.61Sperry119	UNIMPL
2031.74Spooka120	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
2041.32Smycroft			    u_int iovcnt); }
2051.74Spooka121	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
2061.18Sderaadt			    u_int iovcnt); }
2071.74Spooka122	NOARGS		{ int|compat_50_sys||settimeofday(struct timeval50 *tv, \
2081.18Sderaadt			    struct timezone *tzp); }
2091.74Spooka123	NOARGS		{ int|sys||fchown(int fd, int uid, int gid); }
2101.74Spooka124	NOARGS		{ int|sys||fchmod(int fd, int mode); }
2111.74Spooka125	NOARGS		{ int|compat_43_sys||recvfrom(int s, void *buf, \
2121.67Schristos			    size_t len, int flags, void *from, \
2131.32Smycroft			    int *fromlenaddr); }
2141.74Spooka126	NOARGS		{ int|sys||setreuid(int ruid, int euid); }
2151.74Spooka127	NOARGS		{ int|sys||setregid(int rgid, int egid); }
2161.74Spooka128	NOARGS		{ int|sys||rename(char *from, char *to); }
2171.74Spooka129	NOARGS		{ int|compat_43_sys||truncate(char *path, long length); }
2181.74Spooka130	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
2191.74Spooka131	NOARGS		{ int|sys||flock(int fd, int how); }
2201.61Sperry132	UNIMPL
2211.74Spooka133	NOARGS		{ int|sys||sendto(int s, void *buf, size_t len, \
2221.67Schristos			    int flags, void *to, int tolen); }
2231.74Spooka134	NOARGS		{ int|sys||shutdown(int s, int how); }
2241.74Spooka135	STD		{ int|sunos_sys||socketpair(int domain, int type, \
2251.32Smycroft			    int protocol, int *rsv); }
2261.74Spooka136	NOARGS		{ int|sys||mkdir(char *path, int mode); }
2271.74Spooka137	NOARGS		{ int|sys||rmdir(char *path); }
2281.74Spooka138	NOARGS		{ int|compat_50_sys||utimes(char *path, \
2291.72Stsutsui			    struct timeval50 *tptr); }
2301.74Spooka139	STD		{ int|sunos_sys||sigreturn(struct sigcontext *sigcntxp); }
2311.74Spooka140	NOARGS		{ int|compat_50_sys||adjtime(struct timeval50 *delta, \
2321.72Stsutsui			    struct timeval50 *olddelta); }
2331.74Spooka141	NOARGS		{ int|compat_43_sys||getpeername(int fdes, void *asa, \
2341.32Smycroft			    int *alen); }
2351.74Spooka142	NOARGS		{ int|compat_43_sys||gethostid(void); }
2361.18Sderaadt143	UNIMPL		old sethostid
2371.74Spooka144	STD		{ int|sunos_sys||getrlimit(u_int which, \
2381.32Smycroft			    struct orlimit *rlp); }
2391.74Spooka145	STD		{ int|sunos_sys||setrlimit(u_int which, \
2401.32Smycroft			    struct orlimit *rlp); }
2411.74Spooka146	NOARGS		{ int|compat_43_sys||killpg(int pgid, int signum); }
2421.61Sperry147	UNIMPL
2431.61Sperry148	UNIMPL
2441.61Sperry149	UNIMPL
2451.74Spooka150	NOARGS		{ int|compat_43_sys||getsockname(int fdes, void *asa, \
2461.32Smycroft			    int *alen); }
2471.18Sderaadt151	UNIMPL		getmsg
2481.18Sderaadt152	UNIMPL		putmsg
2491.74Spooka153	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
2501.37Smycroft			    int timeout); }
2511.61Sperry154	UNIMPL
2521.75Spooka155	UNIMPL		nfssvc
2531.74Spooka156	NOARGS		{ int|compat_12_sys||getdirentries(int fd, char *buf, \
2541.32Smycroft			    u_int count, long *basep); }
2551.74Spooka157	STD		{ int|sunos_sys||statfs(const char *path, \
2561.32Smycroft			    struct sunos_statfs *buf); }
2571.74Spooka158	STD		{ int|sunos_sys||fstatfs(int fd, \
2581.32Smycroft			    struct sunos_statfs *buf); }
2591.74Spooka159	STD		{ int|sunos_sys||unmount(char *path); }
2601.74Spooka160	NOARGS		{ int|async||daemon(void); }
2611.74Spooka161	NOARGS		{ int|compat_30_sys||getfh(char *fname, fhandle_t *fhp); }
2621.81Spgoyette#ifdef COMPAT_09
2631.74Spooka162	NOARGS		{ int|compat_09_sys||getdomainname(char *domainname, \
2641.32Smycroft			    int len); }
2651.74Spooka163	NOARGS		{ int|compat_09_sys||setdomainname(char *domainname, \
2661.32Smycroft			    int len); }
2671.81Spgoyette#else
2681.81Spgoyette162	UNIMPL		compat_09_sys_getdomainname
2691.81Spgoyette163	UNIMPL		compat_09_sys_setdomainname
2701.81Spgoyette#endif
2711.18Sderaadt164	UNIMPL		rtschedule
2721.74Spooka165	STD		{ int|sunos_sys||quotactl(int cmd, char *special, \
2731.67Schristos			    int uid, void *addr); }
2741.74Spooka166	STD		{ int|sunos_sys||exportfs(char *path, char *ex); }
2751.74Spooka167	STD		{ int|sunos_sys||mount(char *type, char *dir, \
2761.67Schristos			    int flags, void *data); }
2771.74Spooka168	STD		{ int|sunos_sys||ustat(int dev, \
2781.32Smycroft			    struct sunos_ustat *buf); }
2791.81Spgoyette#if defined(SYSVSEM) && defined(COMPAT_10)
2801.74Spooka169	NOARGS		{ int|compat_10_sys||semsys(int which, int a2, int a3, \
2811.32Smycroft			    int a4, int a5); }
2821.6Sderaadt#else
2831.32Smycroft169	UNIMPL		semsys
2841.6Sderaadt#endif
2851.81Spgoyette#if defined(SYSVMSG) && defined(COMPAT_10)
2861.74Spooka170	NOARGS		{ int|compat_10_sys||msgsys(int which, int a2, int a3, \
2871.32Smycroft			    int a4, int a5, int a6); }
2881.6Sderaadt#else
2891.32Smycroft170	UNIMPL		msgsys
2901.6Sderaadt#endif
2911.81Spgoyette#if defined(SYSVSHM) && defined(COMPAT_10)
2921.74Spooka171	NOARGS		{ int|compat_10_sys||shmsys(int which, int a2, int a3, \
2931.32Smycroft			    int a4); }
2941.1Sderaadt#else
2951.32Smycroft171	UNIMPL		shmsys
2961.1Sderaadt#endif
2971.74Spooka172	STD		{ int|sunos_sys||auditsys(char *record); }
2981.18Sderaadt173	UNIMPL		rfssys
2991.74Spooka174	STD		{ int|sunos_sys||getdents(int fd, char *buf, \
3001.32Smycroft			    int nbytes); }
3011.74Spooka175	NOARGS		{ int|sys||setsid(void); }
3021.74Spooka176	NOARGS		{ int|sys||fchdir(int fd); }
3031.74Spooka177	NOARGS		{ int|sys||fchroot(int fd); }
3041.18Sderaadt178	UNIMPL		vpixsys
3051.18Sderaadt179	UNIMPL		aioread
3061.18Sderaadt180	UNIMPL		aiowrite
3071.18Sderaadt181	UNIMPL		aiowait
3081.18Sderaadt182	UNIMPL		aiocancel
3091.74Spooka183	STD		{ int|sunos_sys||sigpending(int *mask); }
3101.61Sperry184	UNIMPL
3111.74Spooka185	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
3121.74Spooka186	NOARGS		{ long|sys||pathconf(char *path, int name); }
3131.74Spooka187	NOARGS		{ long|sys||fpathconf(int fd, int name); }
3141.74Spooka188	STD		{ int|sunos_sys||sysconf(int name); }
3151.74Spooka189	STD		{ int|sunos_sys||uname(struct sunos_utsname *name); }
316