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