Initial import from FreeBSD RELENG_4:
[games.git] / sys / emulation / linux / i386 / syscalls.master
1  $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.30.2.8 2003/01/02 20:41:33 kan Exp $
2
3 ;       @(#)syscalls.master     8.1 (Berkeley) 7/19/93
4 ; System call name/number master file (or rather, slave, from LINUX).
5 ; Processed to create linux_sysent.c, linux_proto.h and linux_syscall.h.
6
7 ; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments
8 ;       number  system call number, must be in order
9 ;       type    one of STD, OBSOL, UNIMPL, COMPAT
10 ;       namespc one of POSIX, BSD, STD, NOHIDE (I dont care :-) -Peter
11 ;       name    psuedo-prototype of syscall routine
12 ;               If one of the following alts is different, then all appear:
13 ;       altname name of system call if different
14 ;       alttag  name of args struct tag if different from [o]`name'"_args"
15 ;       altrtyp return type if not int (bogus - syscalls always return int)
16 ;               for UNIMPL/OBSOL, name continues with comments
17
18 ; types:
19 ;       STD     always included
20 ;       COMPAT  included on COMPAT #ifdef
21 ;       LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
22 ;       OBSOL   obsolete, not included in system, only specifies name
23 ;       UNIMPL  not implemented, placeholder only
24
25 #include "opt_compat.h"
26 #include <sys/param.h>
27 #include <sys/sysent.h>
28 #include <sys/sysproto.h>
29 #include <i386/linux/linux.h>
30 #include <i386/linux/linux_proto.h>
31
32 ; #ifdef's, etc. may be included, and are copied to the output files.
33
34 0       UNIMPL  LINUX   setup
35 1       NOPROTO LINUX   { void sys_exit(int rval); } exit sys_exit_args void
36 2       STD     LINUX   { int linux_fork(void); }
37 3       NOPROTO LINUX   { int read(int fd, char *buf, u_int nbyte); }
38 4       NOPROTO LINUX   { int write(int fd, char *buf, u_int nbyte); }
39 5       STD     LINUX   { int linux_open(char *path, l_int flags, \
40                                 l_int mode); }
41 6       NOPROTO LINUX   { int close(int fd); }
42 7       STD     LINUX   { int linux_waitpid(l_pid_t pid, l_int *status, \
43                                 l_int options); }
44 8       STD     LINUX   { int linux_creat(char *path, l_int mode); }
45 9       STD     LINUX   { int linux_link(char *path, char *to); }
46 10      STD     LINUX   { int linux_unlink(char *path); }
47 11      STD     LINUX   { int linux_execve(char *path, char **argp, \
48                                 char **envp); }
49 12      STD     LINUX   { int linux_chdir(char *path); }
50 13      STD     LINUX   { int linux_time(l_time_t *tm); }
51 14      STD     LINUX   { int linux_mknod(char *path, l_int mode, \
52                                 l_dev_t dev); }
53 15      STD     LINUX   { int linux_chmod(char *path, l_mode_t mode); }
54 16      STD     LINUX   { int linux_lchown16(char *path, l_uid16_t uid, \
55                                 l_gid16_t gid); }
56 17      UNIMPL  LINUX   break
57 18      STD     LINUX   { int linux_stat(char *path, struct ostat *up); }
58 19      STD     LINUX   { int linux_lseek(l_uint fdes, l_off_t off, \
59                                 l_int whence); }
60 20      STD     LINUX   { int linux_getpid(void); }
61 21      STD     LINUX   { int linux_mount(char *specialfile, char *dir, \
62                                 char *filesystemtype, l_ulong rwflag, \
63                                 void *data); }
64 22      STD     LINUX   { int linux_oldumount(char *path); }
65 23      STD     LINUX   { int linux_setuid16(l_uid16_t uid); }
66 24      STD     LINUX   { int linux_getuid16(void); }
67 25      STD     LINUX   { int linux_stime(void); }
68 26      STD     LINUX   { int linux_ptrace(l_long req, l_long pid, l_long addr, \
69                             l_long data); }
70 27      STD     LINUX   { int linux_alarm(l_uint secs); }
71 28      STD     LINUX   { int linux_fstat(l_uint fd, struct ostat *up); }
72 29      STD     LINUX   { int linux_pause(void); }
73 30      STD     LINUX   { int linux_utime(char *fname, \
74                                 struct l_utimbuf *times); }
75 31      UNIMPL  LINUX   stty
76 32      UNIMPL  LINUX   gtty
77 33      STD     LINUX   { int linux_access(char *path, l_int flags); }
78 34      STD     LINUX   { int linux_nice(l_int inc); }
79 35      UNIMPL  LINUX   ftime
80 36      NOPROTO LINUX   { int sync(void); }
81 37      STD     LINUX   { int linux_kill(l_int pid, l_int signum); }
82 38      STD     LINUX   { int linux_rename(char *from, char *to); }
83 39      STD     LINUX   { int linux_mkdir(char *path, l_int mode); }
84 40      STD     LINUX   { int linux_rmdir(char *path); }
85 41      NOPROTO LINUX   { int dup(u_int fd); }
86 42      STD     LINUX   { int linux_pipe(l_ulong *pipefds); }
87 43      STD     LINUX   { int linux_times(struct l_times_argv *buf); }
88 44      UNIMPL  LINUX   prof
89 45      STD     LINUX   { int linux_brk(l_ulong dsend); }
90 46      STD     LINUX   { int linux_setgid16(l_gid16_t gid); }
91 47      STD     LINUX   { int linux_getgid16(void); }
92 48      STD     LINUX   { int linux_signal(l_int sig, l_handler_t handler); }
93 49      STD     LINUX   { int linux_geteuid16(void); }
94 50      STD     LINUX   { int linux_getegid16(void); }
95 51      NOPROTO LINUX   { int acct(char *path); }
96 52      STD     LINUX   { int linux_umount(char *path, l_int flags); }
97 53      UNIMPL  LINUX   lock
98 54      STD     LINUX   { int linux_ioctl(l_uint fd, l_uint cmd, \
99                                 l_ulong arg); }
100 55      STD     LINUX   { int linux_fcntl(l_uint fd, l_uint cmd, \
101                                 l_ulong arg); }
102 56      UNIMPL  LINUX   mpx
103 57      NOPROTO LINUX   { int setpgid(int pid, int pgid); }
104 58      UNIMPL  LINUX   ulimit
105 59      STD     LINUX   { int linux_olduname(void); }
106 60      NOPROTO LINUX   { int umask(int newmask); }
107 61      NOPROTO LINUX   { int chroot(char *path); }
108 62      STD     LINUX   { int linux_ustat(l_dev_t dev, struct l_ustat *ubuf); }
109 63      NOPROTO LINUX   { int dup2(u_int from, u_int to); }
110 64      NOPROTO LINUX   { int getppid(void); }
111 65      NOPROTO LINUX   { int getpgrp(void); }
112 66      NOPROTO LINUX   { int setsid(void); }
113 67      STD     LINUX   { int linux_sigaction(l_int sig, l_osigaction_t *nsa, \
114                                 l_osigaction_t *osa); }
115 68      STD     LINUX   { int linux_sgetmask(void); }
116 69      STD     LINUX   { int linux_ssetmask(l_osigset_t mask); }
117 70      STD     LINUX   { int linux_setreuid16(l_uid16_t ruid, \
118                                 l_uid16_t euid); }
119 71      STD     LINUX   { int linux_setregid16(l_gid16_t rgid, \
120                                 l_gid16_t egid); }
121 72      STD     LINUX   { int linux_sigsuspend(l_int hist0, l_int hist1, \
122                                 l_osigset_t mask); }
123 73      STD     LINUX   { int linux_sigpending(l_osigset_t *mask); }
124 74      NOPROTO LINUX   { int osethostname(char *hostname, u_int len); } \
125                             osethostname sethostname_args int
126 75      STD     LINUX   { int linux_setrlimit(l_uint resource, \
127                                 struct l_rlimit *rlim); }
128 76      STD     LINUX   { int linux_old_getrlimit(l_uint resource, \
129                                 struct l_rlimit *rlim); }
130 77      NOPROTO LINUX   { int getrusage(int who, struct rusage *rusage); }
131 78      NOPROTO LINUX   { int gettimeofday(struct timeval *tp, \
132                                 struct timezone *tzp); }
133 79      NOPROTO LINUX   { int settimeofday(struct timeval *tp, \
134                                 struct timezone *tzp); }
135 80      STD     LINUX   { int linux_getgroups16(l_uint gidsetsize, \
136                                 l_gid16_t *gidset); }
137 81      STD     LINUX   { int linux_setgroups16(l_uint gidsetsize, \
138                                 l_gid16_t *gidset); }
139 82      STD     LINUX   { int linux_old_select(struct l_old_select_argv \
140                                 *ptr); }
141 83      STD     LINUX   { int linux_symlink(char *path, char *to); }
142 84      NOPROTO LINUX   { int ostat(char *path, struct ostat *up); }
143 85      STD     LINUX   { int linux_readlink(char *name, char *buf, \
144                                 l_int count); }
145 86      STD     LINUX   { int linux_uselib(char *library); }
146 87      NOPROTO LINUX   { int swapon(char *name); }
147 88      STD     LINUX   { int linux_reboot(l_int magic1, l_int magic2, \
148                                 l_uint cmd, void *arg); }
149 89      STD     LINUX   { int linux_readdir(l_uint fd, struct l_dirent *dent, \
150                                 l_uint count); }
151 90      STD     LINUX   { int linux_mmap(struct l_mmap_argv *ptr); }
152 91      NOPROTO LINUX   { int munmap(caddr_t addr, int len); }
153 92      STD     LINUX   { int linux_truncate(char *path, l_ulong length); }
154 93      NOPROTO LINUX   { int oftruncate(int fd, long length); }
155 94      NOPROTO LINUX   { int fchmod(int fd, int mode); }
156 95      NOPROTO LINUX   { int fchown(int fd, int uid, int gid); }
157 96      NOPROTO LINUX   { int getpriority(int which, int who); }
158 97      NOPROTO LINUX   { int setpriority(int which, int who, int prio); }
159 98      UNIMPL  LINUX   profil
160 99      STD     LINUX   { int linux_statfs(char *path, \
161                                 struct l_statfs_buf *buf); }
162 100     STD     LINUX   { int linux_fstatfs(l_uint fd, \
163                                 struct l_statfs_buf *buf); }
164 101     STD     LINUX   { int linux_ioperm(l_ulong start, l_ulong length, \
165                                 l_int enable); }
166 102     STD     LINUX   { int linux_socketcall(l_int what, l_ulong args); }
167 103     STD     LINUX   { int linux_syslog(l_int type, char *buf, l_int len); }
168 104     STD     LINUX   { int linux_setitimer(l_int which, \
169                                 struct l_itimerval *itv, \
170                                 struct l_itimerval *oitv); }
171 105     STD     LINUX   { int linux_getitimer(l_int which, \
172                                 struct l_itimerval *itv); }
173 106     STD     LINUX   { int linux_newstat(char *path, \
174                                 struct l_newstat *buf); }
175 107     STD     LINUX   { int linux_newlstat(char *path, \
176                                 struct l_newstat *buf); }
177 108     STD     LINUX   { int linux_newfstat(l_uint fd, \
178                                 struct l_newstat *buf); }
179 109     STD     LINUX   { int linux_uname(void); }
180 110     STD     LINUX   { int linux_iopl(l_ulong level); }
181 111     STD     LINUX   { int linux_vhangup(void); }
182 112     UNIMPL  LINUX   idle
183 113     STD     LINUX   { int linux_vm86old(void); }
184 114     STD     LINUX   { int linux_wait4(l_pid_t pid, l_uint *status, \
185                                 l_int options, struct l_rusage *rusage); }
186 115     STD     LINUX   { int linux_swapoff(void); }
187 116     STD     LINUX   { int linux_sysinfo(struct l_sysinfo *info); }
188 117     STD     LINUX   { int linux_ipc(l_uint what, l_int arg1, l_int arg2, \
189                                 l_int arg3, void *ptr, l_long arg5); }
190 118     NOPROTO LINUX   { int fsync(int fd); }
191 119     STD     LINUX   { int linux_sigreturn(struct l_sigframe *sfp); }
192 120     STD     LINUX   { int linux_clone(l_int flags, void *stack); }
193 121     NOPROTO LINUX   { int setdomainname(char *name, int len); }
194 122     STD     LINUX   { int linux_newuname(struct l_new_utsname *buf); }
195 123     STD     LINUX   { int linux_modify_ldt(l_int func, void *ptr, \
196                                 l_ulong bytecount); }
197 124     STD     LINUX   { int linux_adjtimex(void); }
198 125     NOPROTO LINUX   { int mprotect(caddr_t addr, int len, int prot); }
199 126     STD     LINUX   { int linux_sigprocmask(l_int how, l_osigset_t *mask, \
200                                 l_osigset_t *omask); }
201 127     STD     LINUX   { int linux_create_module(void); }
202 128     STD     LINUX   { int linux_init_module(void); }
203 129     STD     LINUX   { int linux_delete_module(void); }
204 130     STD     LINUX   { int linux_get_kernel_syms(void); }
205 131     STD     LINUX   { int linux_quotactl(void); }
206 132     NOPROTO LINUX   { int getpgid(int pid); }
207 133     NOPROTO LINUX   { int fchdir(int fd); }
208 134     STD     LINUX   { int linux_bdflush(void); }
209 135     STD     LINUX   { int linux_sysfs(l_int option, l_ulong arg1, \
210                                 l_ulong arg2); }
211 136     STD     LINUX   { int linux_personality(l_ulong per); }
212 137     UNIMPL  LINUX   afs_syscall
213 138     STD     LINUX   { int linux_setfsuid16(l_uid16_t uid); }
214 139     STD     LINUX   { int linux_setfsgid16(l_gid16_t gid); }
215 140     STD     LINUX   { int linux_llseek(l_int fd, l_ulong ohigh, \
216                                 l_ulong olow, l_loff_t *res, l_uint whence); }
217 141     STD     LINUX   { int linux_getdents(l_uint fd, void *dent, \
218                                 l_uint count); }
219 142     STD     LINUX   { int linux_select(l_int nfds, l_fd_set *readfds, \
220                                 l_fd_set *writefds, l_fd_set *exceptfds, \
221                                 struct l_timeval *timeout); }
222 143     NOPROTO LINUX   { int flock(int fd, int how); }
223 144     STD     LINUX   { int linux_msync(l_ulong addr, l_size_t len, \
224                                 l_int fl); }
225 145     NOPROTO LINUX   { int readv(int fd, struct iovec *iovp, \
226                                 u_int iovcnt); }
227 146     NOPROTO LINUX   { int writev(int fd, struct iovec *iovp, \
228                                 u_int iovcnt); }
229 147     STD     LINUX   { int linux_getsid(l_pid_t pid); }
230 148     STD     LINUX   { int linux_fdatasync(l_uint fd); }
231 149     STD     LINUX   { int linux_sysctl(struct l___sysctl_args *args); }
232 150     NOPROTO BSD     { int mlock(const void *addr, size_t len); }
233 151     NOPROTO BSD     { int munlock(const void *addr, size_t len); }
234 152     NOPROTO BSD     { int mlockall(int how); }
235 153     NOPROTO BSD     { int munlockall(void); }
236 154     NOPROTO POSIX   { int sched_setparam(pid_t pid, \
237                                 const struct sched_param *param); }
238 155     NOPROTO POSIX   { int sched_getparam(pid_t pid, \
239                                 struct sched_param *param); }
240 156     STD     POSIX   { int linux_sched_setscheduler(l_pid_t pid, \
241                                 l_int policy, struct l_sched_param *param); }
242 157     STD     POSIX   { int linux_sched_getscheduler(l_pid_t pid); }
243 158     NOPROTO POSIX   { int sched_yield(void); }
244 159     STD     POSIX   { int linux_sched_get_priority_max(l_int policy); }
245 160     STD     POSIX   { int linux_sched_get_priority_min(l_int policy); }
246 161     NOPROTO POSIX   { int sched_rr_get_interval(l_pid_t pid, \
247                                 struct l_timespec *interval); }
248 162     NOPROTO POSIX   { int nanosleep(const struct timespec *rqtp, \
249                                 struct timespec *rmtp); }
250 163     STD     LINUX   { int linux_mremap(l_ulong addr, l_ulong old_len, \
251                                 l_ulong new_len, l_ulong flags, \
252                                 l_ulong new_addr); }
253 164     STD     LINUX   { int linux_setresuid16(l_uid16_t ruid, \
254                                 l_uid16_t euid, l_uid16_t suid); }
255 165     STD     LINUX   { int linux_getresuid16(l_uid16_t *ruid, \
256                                 l_uid16_t *euid, l_uid16_t *suid); }
257 166     STD     LINUX   { int linux_vm86(void); }
258 167     STD     LINUX   { int linux_query_module(void); }
259 168     NOPROTO LINUX   { int poll(struct pollfd*, unsigned int nfds, \
260                                 long timeout); }
261 169     STD     LINUX   { int linux_nfsservctl(void); }
262 170     STD     LINUX   { int linux_setresgid16(l_gid16_t rgid, \
263                                 l_gid16_t egid, l_gid16_t sgid); }
264 171     STD     LINUX   { int linux_getresgid16(l_gid16_t *rgid, \
265                                 l_gid16_t *egid, l_gid16_t *sgid); }
266 172     STD     LINUX   { int linux_prctl(void); }
267 173     STD     LINUX   { int linux_rt_sigreturn(struct l_ucontext *ucp); }
268 174     STD     LINUX   { int linux_rt_sigaction(l_int sig, \
269                                 l_sigaction_t *act, l_sigaction_t *oact, \
270                                 l_size_t sigsetsize); }
271 175     STD     LINUX   { int linux_rt_sigprocmask(l_int how, \
272                                 l_sigset_t *mask, l_sigset_t *omask, \
273                                 l_size_t sigsetsize); }
274 176     STD     LINUX   { int linux_rt_sigpending(void); }
275 177     STD     LINUX   { int linux_rt_sigtimedwait(void); }
276 178     STD     LINUX   { int linux_rt_sigqueueinfo(void); }
277 179     STD     LINUX   { int linux_rt_sigsuspend(l_sigset_t *newset, \
278                                 l_size_t sigsetsize); }
279 180     STD     LINUX   { int linux_pread(l_uint fd, char *buf, \
280                                 l_size_t nbyte, l_loff_t offset); }
281 181     STD     LINUX   { int linux_pwrite(l_uint fd, char *buf, \
282                                 l_size_t nbyte, l_loff_t offset); }
283 182     STD     LINUX   { int linux_chown16(char *path, l_uid16_t uid, \
284                                 l_gid16_t gid); }
285 183     STD     LINUX   { int linux_getcwd(char *buf, l_ulong bufsize); }
286 184     STD     LINUX   { int linux_capget(void); }
287 185     STD     LINUX   { int linux_capset(void); }
288 186     STD     LINUX   { int linux_sigaltstack(l_stack_t *uss, \
289                                 l_stack_t *uoss); }
290 187     STD     LINUX   { int linux_sendfile(void); }
291 188     UNIMPL  LINUX   getpmsg
292 189     UNIMPL  LINUX   putpmsg
293 190     STD     LINUX   { int linux_vfork(void); }
294 191     STD     LINUX   { int linux_getrlimit(l_uint resource, \
295                                 struct l_rlimit *rlim); }
296 192     STD     LINUX   { int linux_mmap2(l_ulong addr, l_ulong len, \
297                                 l_ulong prot, l_ulong flags, l_ulong fd, \
298                                 l_ulong pgoff); }
299 193     STD     LINUX   { int linux_truncate64(char *path, l_loff_t length); }
300 194     STD     LINUX   { int linux_ftruncate64(l_uint fd, l_loff_t length); }
301 195     STD     LINUX   { int linux_stat64(char *filename, \
302                                 struct l_stat64 *statbuf, l_long flags); }
303 196     STD     LINUX   { int linux_lstat64(char *filename, \
304                                 struct l_stat64 *statbuf, l_long flags); }
305 197     STD     LINUX   { int linux_fstat64(l_ulong fd, \
306                                 struct l_stat64 *statbuf, l_long flags); }
307 198     STD     LINUX   { int linux_lchown(char *path, l_uid_t uid, \
308                                 l_gid_t gid); }
309 199     STD     POSIX   { int linux_getuid(void); }
310 200     STD     POSIX   { int linux_getgid(void); }
311 201     NOPROTO POSIX   { int geteuid(void); }
312 202     NOPROTO POSIX   { int getegid(void); }
313 203     NOPROTO LINUX   { int setreuid(uid_t ruid, uid_t euid); }
314 204     NOPROTO LINUX   { int setregid(gid_t rgid, gid_t egid); }
315 205     STD     LINUX   { int linux_getgroups(l_int gidsetsize, \
316                                 l_gid_t *grouplist); }
317 206     STD     LINUX   { int linux_setgroups(l_int gidsetsize, \
318                                 l_gid_t *grouplist); }
319 207     NODEF   LINUX   fchown fchown fchown_args int
320 208     NOPROTO LINUX   { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
321 209     NOPROTO LINUX   { int getresuid(uid_t *ruid, uid_t *euid, \
322                                 uid_t *suid); }
323 210     NOPROTO LINUX   { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
324 211     NOPROTO LINUX   { int getresgid(gid_t *rgid, gid_t *egid, \
325                                 gid_t *sgid); }
326 212     STD     LINUX   { int linux_chown(char *path, l_uid_t uid, \
327                                 l_gid_t gid); }
328 213     NOPROTO LINUX   { int setuid(uid_t uid); }
329 214     NOPROTO LINUX   { int setgid(gid_t gid); }
330 215     STD     LINUX   { int linux_setfsuid(l_uid_t uid); }
331 216     STD     LINUX   { int linux_setfsgid(l_gid_t gid); }
332 217     STD     LINUX   { int linux_pivot_root(char *new_root, \
333                                 char *put_old); }
334 218     STD     LINUX   { int linux_mincore(l_ulong start, l_size_t len, \
335                                 u_char *vec); }
336 219     STD     LINUX   { int linux_madvise(void); }
337 220     STD     LINUX   { int linux_getdents64(l_uint fd, void *dirent, \
338                                 l_uint count); }
339 221     STD     LINUX   { int linux_fcntl64(l_uint fd, l_uint cmd, \
340                                 l_ulong arg); }