1 $NetBSD: syscalls.master,v 1.36 2009/01/11 02:45:48 christos Exp $
3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
5 ; NetBSD COMPAT_IBCS2 system call name/number "master" file.
6 ; (See syscalls.conf to see what it is processed into.)
8 ; Fields: number type [type-dependent ...]
9 ; number system call number, must be in order
10 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11 ; the compatibility options defined in syscalls.conf.
15 ; OBSOL obsolete, not included in system
16 ; UNIMPL unimplemented, not included in system
17 ; NODEF included, but don't define the syscall number
18 ; NOARGS included, but don't define the syscall args structure
20 ; The compat options are defined in the syscalls.conf file, and the
21 ; compat option name is prefixed to the syscall name. Other than
22 ; that, they're like NODEF (for 'compat' options), or STD (for
23 ; 'libcompat' options).
25 ; The type-dependent arguments are as follows:
26 ; For STD, NODEF, NOARGS, and compat syscalls:
27 ; { pseudo-proto } [alias]
31 ; #ifdef's, etc. may be included, and are copied to the output files.
32 ; #include's are copied to the syscall names and switch definition files only.
34 #if defined(_KERNEL_OPT)
38 #include <sys/param.h>
39 #include <sys/systm.h>
40 #include <sys/signal.h>
41 #include <sys/mount.h>
42 #include <sys/sched.h>
43 #include <sys/syscallargs.h>
45 #include <compat/sys/time.h>
47 #include <compat/ibcs2/ibcs2_types.h>
48 #include <compat/ibcs2/ibcs2_signal.h>
49 #include <compat/ibcs2/ibcs2_syscallargs.h>
50 #include <compat/ibcs2/ibcs2_statfs.h>
54 0 NOARGS { int|sys||nosys(void); } syscall
55 1 NOARGS { int|sys||exit(int rval); }
56 2 NOARGS { int|sys||fork(void); }
57 3 STD { int|ibcs2_sys||read(int fd, char *buf, u_int nbytes); }
58 4 NOARGS { int|sys||write(int fd, char *buf, u_int nbytes); }
59 5 STD { int|ibcs2_sys||open(const char *path, int flags, \
61 6 NOARGS { int|sys||close(int fd); }
62 7 STD { int|ibcs2_sys||waitsys(int a1, int a2, int a3); }
63 8 STD { int|ibcs2_sys||creat(const char *path, int mode); }
64 9 NOARGS { int|sys||link(char *path, char *link); }
65 10 NOARGS { int|sys||unlink(const char *path); }
66 11 STD { int|ibcs2_sys||execv(const char *path, char **argp); }
67 12 NOARGS { int|sys||chdir(const char *path); }
68 13 STD { int|ibcs2_sys||time(ibcs2_time_t *tp); }
69 14 STD { int|ibcs2_sys||mknod(const char* path, int mode, \
71 15 NOARGS { int|sys||chmod(const char *path, int mode); }
72 16 NOARGS { int|sys||__posix_chown(const char *path, int uid, \
74 17 NOARGS { int|sys||obreak(void *nsize); }
75 18 STD { int|ibcs2_sys||stat(const char* path, \
76 struct ibcs2_stat *st); }
77 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \
79 20 NOARGS { pid_t|sys||getpid_with_ppid(void); }
80 21 STD { int|ibcs2_sys||mount(char *special, char *dir, \
81 int flags, int fstype, char *data, int len); }
82 22 STD { int|ibcs2_sys||umount(char *name); }
83 23 STD { int|ibcs2_sys||setuid(int uid); }
84 24 NOARGS { uid_t|sys||getuid_with_euid(void); }
85 25 STD { int|ibcs2_sys||stime(long *timep); }
86 26 UNIMPL ibcs2_ptrace
87 27 STD { int|ibcs2_sys||alarm(unsigned sec); }
88 28 STD { int|ibcs2_sys||fstat(int fd, struct ibcs2_stat *st); }
89 29 STD { int|ibcs2_sys||pause(void); }
90 30 STD { int|ibcs2_sys||utime(const char *path, \
91 struct ibcs2_utimbuf *buf); }
93 32 STD { int|ibcs2_sys||gtty(int fd, struct ibcs2_sgttyb *tb); }
94 33 STD { int|ibcs2_sys||access(const char *path, int flags); }
95 34 STD { int|ibcs2_sys||nice(int incr); }
96 35 STD { int|ibcs2_sys||statfs(const char *path, \
97 struct ibcs2_statfs *buf, int len, int fstype); }
98 36 NOARGS { int|sys||sync(void); }
99 37 STD { int|ibcs2_sys||kill(int pid, int signo); }
100 38 STD { int|ibcs2_sys||fstatfs(int fd, \
101 struct ibcs2_statfs *buf, int len, int fstype); }
102 39 STD { int|ibcs2_sys||pgrpsys(int type, void *dummy, \
103 int pid, int pgid); }
104 40 UNIMPL ibcs2_xenix
105 41 NOARGS { int|sys||dup(u_int fd); }
106 42 NOARGS { int|sys||pipe(void); }
107 43 STD { int|ibcs2_sys||times(struct tms *tp); }
109 45 STD { int|ibcs2_sys||plock(int cmd); }
110 46 STD { int|ibcs2_sys||setgid(int gid); }
111 47 NOARGS { gid_t|sys||getgid_with_egid(void); }
112 48 STD { int|ibcs2_sys||sigsys(int sig, ibcs2_sig_t fp); }
114 49 STD { int|ibcs2_sys||msgsys(int which, int a2, int a3, \
115 int a4, int a5, int a6); }
119 50 STD { int|ibcs2_sys||sysmachine(int cmd, int arg); }
122 52 STD { int|ibcs2_sys||shmsys(int which, int a2, int a3, \
128 53 STD { int|ibcs2_sys||semsys(int which, int a2, int a3, \
133 54 STD { int|ibcs2_sys||ioctl(int fd, int cmd, void *data); }
134 55 STD { int|ibcs2_sys||uadmin(int cmd, int func, \
137 57 STD { int|ibcs2_sys||utssys(int a1, int a2, int flag); }
138 58 NOARGS { int|sys||fsync(int fd); }
139 59 STD { int|ibcs2_sys||execve(const char *path, char **argp, \
141 60 NOARGS { int|sys||umask(int newmask); }
142 61 NOARGS { int|sys||chroot(char *path); }
143 62 STD { int|ibcs2_sys||fcntl(int fd, int cmd, char *arg); }
144 63 STD { long|ibcs2_sys||ulimit(int cmd, int newlimit); }
145 64 UNIMPL reserved for unix/pc
146 65 UNIMPL reserved for unix/pc
147 66 UNIMPL reserved for unix/pc
148 67 UNIMPL reserved for unix/pc
149 68 UNIMPL reserved for unix/pc
150 69 UNIMPL reserved for unix/pc
160 79 NOARGS { int|sys||rmdir(const char *path); }
161 80 NOARGS { int|sys||mkdir(const char *path, int mode); }
162 81 STD { int|ibcs2_sys||getdents(int fd, char *buf, \
166 84 STD { int|ibcs2_sys||sysfs(int cmd, void *d1, char *buf); }
167 85 STD { int|ibcs2_sys||getmsg(int fd, \
168 struct ibcs2_stropts *ctl, \
169 struct ibcs2_stropts *dat, int *flags); }
170 86 STD { int|ibcs2_sys||putmsg(int fd, \
171 struct ibcs2_stropts *ctl, \
172 struct ibcs2_stropts *dat, int flags); }
173 87 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \
177 90 NOARGS { int|sys||symlink(const char *path, \
179 91 STD { int|ibcs2_sys||lstat(const char *path, \
180 struct ibcs2_stat *st); }
181 92 NOARGS { int|sys||readlink(const char *path, char *buf, \
183 93 NOARGS { int|sys||fchmod(int fd, int mode); }
184 94 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } \
187 96 NOARGS { int|compat_16_sys|14|sigreturn(struct sigcontext \
188 *sigcntxp); } sigreturn
189 97 STD { int|ibcs2_sys||sigaltstack( \
190 const struct ibcs2_sigaltstack *nss, \
191 struct ibcs2_sigaltstack *oss); }
194 100 UNIMPL getcontext/setcontext/sigsetjmp
197 103 STD { int|ibcs2_sys||statvfs(const char *path, \
198 struct ibcs2_statvfs *buf); }
199 104 STD { int|ibcs2_sys||fstatvfs(int fd, \
200 struct ibcs2_statvfs *buf); }
204 108 UNIMPL sigsendset
211 115 STD { ibcs2_caddr_t|ibcs2_sys||mmap(ibcs2_caddr_t addr, \
212 ibcs2_size_t len, int prot, int flags, int fd, \
214 116 NOARGS { int|sys||mprotect(void *addr, int len, int prot); }
215 117 NOARGS { int|sys||munmap(void *addr, int len); }
218 120 NOARGS { int|sys||fchdir(int fd); }
219 121 NOARGS { int|sys||readv(int fd, struct iovec *iovp, u_int iovcnt); }
220 122 NOARGS { int|sys||writev(int fd, struct iovec *iovp, u_int iovcnt); }
229 131 STD { int|ibcs2_sys||memcntl(ibcs2_caddr_t addr, \
230 ibcs2_size_t len, int cmd, ibcs2_caddr_t arg, \
231 int attr, int mask); }
271 171 STD { int|ibcs2_sys||gettimeofday(struct timeval50 *tp); }
272 172 STD { int|ibcs2_sys||settimeofday(struct timeval50 *tp); }
291 191 NOARGS { int|compat_43_sys||truncate(char *path, long len); }
292 192 NOARGS { int|compat_43_sys||ftruncate(int fd, long len); }
301 201 STD { int|xenix_sys||locking(int fd, int blk, int size); }
302 202 UNIMPL xenix_creatsem
303 203 UNIMPL xenix_opensem
304 204 UNIMPL xenix_sigsem
305 205 UNIMPL xenix_waitsem
306 206 UNIMPL xenix_nbwaitsem
307 207 STD { int|xenix_sys||rdchk(int fd); }
310 210 STD { int|xenix_sys||chsize(int fd, long size); }
311 211 STD { int|xenix_sys||ftime(struct xenix_timeb *tp); }
312 212 STD { int|xenix_sys||nap(long millisec); }
313 213 UNIMPL xenix_sdget
314 214 UNIMPL xenix_sdfree
315 215 UNIMPL xenix_sdenter
316 216 UNIMPL xenix_sdleave
317 217 UNIMPL xenix_sdgetv
318 218 UNIMPL xenix_sdwaitv
332 232 UNIMPL xenix_proctl
333 233 UNIMPL xenix_execseg
334 234 UNIMPL xenix_unexecseg
336 236 NOARGS { int|compat_50_sys||select(u_int nd, fd_set *in, \
337 fd_set *ou, fd_set *ex, struct timeval50 *tv); }
338 237 STD { int|ibcs2_sys||eaccess(const char *path, int flags); }
339 238 UNIMPL xenix_paccess
340 239 STD { int|ibcs2_sys||sigaction(int signum, \
341 const struct ibcs2_sigaction *nsa, \
342 struct ibcs2_sigaction *osa); }
343 240 STD { int|ibcs2_sys||sigprocmask(int how, \
344 const ibcs2_sigset_t *set, \
345 ibcs2_sigset_t *oset); }
346 241 STD { int|ibcs2_sys||sigpending( \
347 ibcs2_sigset_t *set); }
348 242 STD { int|ibcs2_sys||sigsuspend( \
349 const ibcs2_sigset_t *set); }
350 243 STD { int|ibcs2_sys||getgroups(int gidsetsize, \
351 ibcs2_gid_t *gidset); }
352 244 STD { int|ibcs2_sys||setgroups(int gidsetsize, \
353 ibcs2_gid_t *gidset); }
354 245 STD { int|ibcs2_sys||sysconf(int name); }
355 246 STD { int|ibcs2_sys||pathconf(char *path, int name); }
356 247 STD { int|ibcs2_sys||fpathconf(int fd, int name); }
357 248 NOARGS { int|sys||__posix_rename(const char *from, \
360 250 STD { int|ibcs2_sys||scoinfo(struct scoutsname *bp, int len); }