1 $MirOS: src/sys/compat/linux/syscalls.master,v 1.6 2006/01/09 18:34:16 tg Exp $ 2; $OpenBSD: syscalls.master,v 1.49 2004/10/27 13:23:38 niklas Exp $ 3; $NetBSD: syscalls.master,v 1.15 1995/12/18 14:35:10 fvdl Exp $ 4 5; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 6 7; MirOS BSD COMPAT_LINUX system call name/number "master" file. 8; (See syscalls.conf to see what it is processed into.) 9; 10; Fields: number type [type-dependent ...] 11; number system call number, must be in order 12; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 13; the compatibility options defined in syscalls.conf. 14; 15; types: 16; STD always included 17; OBSOL obsolete, not included in system 18; UNIMPL unimplemented, not included in system 19; NODEF included, but don't define the syscall number 20; NOARGS included, but don't define the syscall args structure 21; 22; The compat options are defined in the syscalls.conf file, and the 23; compat option name is prefixed to the syscall name. Other than 24; that, they're like NODEF (for 'compat' options), or STD (for 25; 'libcompat' options). 26; 27; The type-dependent arguments are as follows: 28; For STD, NODEF, NOARGS, and compat syscalls: 29; { pseudo-proto } [alias] 30; For other syscalls: 31; [comment] 32; 33; #ifdef's, etc. may be included, and are copied to the output files. 34; #include's are copied to the syscall switch definition file only. 35 36#include <sys/param.h> 37#include <sys/systm.h> 38#include <sys/signal.h> 39#include <sys/mount.h> 40#include <sys/syscallargs.h> 41 42#include <compat/linux/linux_types.h> 43#include <compat/linux/linux_signal.h> 44#include <compat/linux/linux_misc.h> 45#include <compat/linux/linux_syscallargs.h> 46 47#include <machine/linux_machdep.h> 48 490 NOARGS { int sys_nosys(void); } syscall 501 NOARGS { int sys_exit(int rval); } 512 NOARGS { int sys_fork(void); } 523 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 534 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 545 STD { int linux_sys_open(char *path, int flags, int mode); } 556 NOARGS { int sys_close(int fd); } 567 STD { int linux_sys_waitpid(int pid, int *status, \ 57 int options);} 588 STD { int linux_sys_creat(char *path, int mode); } 599 NOARGS { int sys_link(char *path, char *link); } 6010 STD { int linux_sys_unlink(char *path); } 6111 STD { int linux_sys_execve(char *path, char **argp, \ 62 char **envp); } 6312 STD { int linux_sys_chdir(char *path); } 6413 STD { int linux_sys_time(linux_time_t *t); } 6514 STD { int linux_sys_mknod(char *path, int mode, int dev); } 6615 STD { int linux_sys_chmod(char *path, int mode); } 6716 STD { int linux_sys_lchown16(char *path, int uid, \ 68 int gid); } 6917 STD { int linux_sys_break(char *nsize); } 7018 STD { int linux_sys_ostat(void); } 7119 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ 72 int whence); } 7320 STD { pid_t linux_sys_getpid(void); } 7421 STD { int linux_sys_mount(char *specialfile, char *dir, \ 75 char *filesystemtype, long rwflag, void *data); } 7622 STD { int linux_sys_umount(char *specialfile); } 7723 NOARGS linux_setuid16 { int sys_setuid(uid_t uid); } 7824 STD linux_getuid16 { uid_t linux_sys_getuid(void); } 7925 STD { int linux_sys_stime(linux_time_t *t); } 80#ifdef PTRACE 8126 STD { int linux_sys_ptrace(int request, int pid, \ 82 int addr, int data); } 83#else 8426 UNIMPL ptrace 85#endif 8627 STD { int linux_sys_alarm(unsigned int secs); } 8728 STD { int linux_sys_ofstat(void); } 8829 STD { int linux_sys_pause(void); } 8930 STD { int linux_sys_utime(char *path, \ 90 struct linux_utimbuf *times); } 9131 STD { int linux_sys_stty(void); } 9232 STD { int linux_sys_gtty(void); } 9333 STD { int linux_sys_access(char *path, int flags); } 9434 STD { int linux_sys_nice(int incr); } 9535 STD { int linux_sys_ftime(void); } 9636 NOARGS { int sys_sync(void); } 9737 STD { int linux_sys_kill(int pid, int signum); } 9838 STD { int linux_sys_rename(char *from, char *to); } 9939 STD { int linux_sys_mkdir(char *path, int mode); } 10040 STD { int linux_sys_rmdir(char *path); } 10141 NOARGS { int sys_dup(u_int fd); } 10242 STD { int linux_sys_pipe(int *pfds); } 10343 STD { int linux_sys_times(struct times *tms); } 10444 STD { int linux_sys_prof(void); } 10545 STD { int linux_sys_brk(char *nsize); } 10646 NOARGS linux_setgid16 { int sys_setgid(gid_t gid); } 10747 STD linux_getgid16 { gid_t linux_sys_getgid(void); } 10848 STD { int linux_sys_signal(int sig, \ 109 linux_handler_t handler); } 11049 NOARGS linux_geteuid16 { uid_t sys_geteuid(void); } 11150 NOARGS linux_getegid16 { gid_t sys_getegid(void); } 112#ifdef ACCOUNTING 11351 NOARGS { int sys_acct(char *path); } 114#else 11551 UNIMPL acct 116#endif 11752 STD { int linux_sys_phys(void); } 11853 STD { int linux_sys_lock(void); } 11954 STD { int linux_sys_ioctl(int fd, u_long com, \ 120 caddr_t data); } 12155 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 12256 STD { int linux_sys_mpx(void); } 12357 NOARGS { int sys_setpgid(int pid, int pgid); } 12458 STD { int linux_sys_ulimit(void); } 12559 STD { int linux_sys_oldolduname(struct linux_oldold_utsname *up); } 12660 NOARGS { int sys_umask(int newmask); } 12761 NOARGS { int sys_chroot(char *path); } 12862 STD { int linux_sys_ustat(void); } 12963 NOARGS { int sys_dup2(u_int from, u_int to); } 13064 NOARGS { pid_t sys_getppid(void); } 13165 NOARGS { int sys_getpgrp(void); } 13266 NOARGS { int sys_setsid(void); } 13367 STD { int linux_sys_sigaction(int signum, \ 134 struct linux_old_sigaction *nsa, \ 135 struct linux_old_sigaction *osa); } 13668 STD { int linux_sys_siggetmask(void); } 13769 STD { int linux_sys_sigsetmask(linux_old_sigset_t mask); } 13870 STD { int linux_sys_setreuid16(int ruid, int euid); } 13971 STD { int linux_sys_setregid16(int rgid, int egid); } 14072 STD { int linux_sys_sigsuspend(caddr_t restart, \ 141 int oldmask, int mask); } 14273 STD { int linux_sys_sigpending(linux_old_sigset_t *mask); } 14374 NOARGS { int compat_43_sys_sethostname(char *hostname, \ 144 u_int len);} 14575 STD { int linux_sys_setrlimit(u_int which, \ 146 struct linux_rlimit *rlp); } 14776 STD { int linux_sys_getrlimit(u_int which, \ 148 struct linux_rlimit *rlp); } 14977 STD { int compat_time_sys_getrusage(int who, \ 150 struct rusage_compat *rusage); } 15178 NOARGS { int compat_time_sys_gettimeofday( \ 152 struct timeval_compat *tp, struct timezone *tzp); } 15379 NOARGS { int compat_time_sys_settimeofday( \ 154 struct timeval_compat *tp, struct timezone *tzp); } 15580 NOARGS linux_getgroups { int sys_getgroups(u_int gidsetsize, \ 156 gid_t *gidset); } 15781 NOARGS linux_setgroups { int sys_setgroups(u_int gidsetsize, \ 158 gid_t *gidset); } 15982 STD { int linux_sys_oldselect(struct linux_select *lsp); } 16083 STD { int linux_sys_symlink(char *path, char *to); } 16184 NOARGS { int compat_43_sys_lstat(char *path, \ 162 struct stat43 *up); } olstat 16385 STD { int linux_sys_readlink(char *name, char *buf, \ 164 int count); } 16586 STD { int linux_sys_uselib(char *path); } 16687 UNIMPL linux_swapon 16788 NOARGS { int sys_reboot(int opt); } 16889 STD { int linux_sys_readdir(int fd, caddr_t dent, \ 169 unsigned int count); } 17090 STD { int linux_sys_mmap(struct linux_mmap *lmp); } 17191 NOARGS { int sys_munmap(caddr_t addr, int len); } 17292 STD { int linux_sys_truncate(char *path, long length); } 17393 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } 17494 NOARGS { int sys_fchmod(int fd, int mode); } 17595 STD { int linux_sys_fchown16(int fd, int uid, int gid); } 17696 NOARGS { int sys_getpriority(int which, int who); } 17797 NOARGS { int sys_setpriority(int which, int who, int prio); } 17898 NOARGS { int sys_profil(caddr_t samples, u_int size, \ 179 u_int offset, u_int scale); } 18099 STD { int linux_sys_statfs(char *path, \ 181 struct linux_statfs *sp); } 182100 STD { int linux_sys_fstatfs(int fd, \ 183 struct linux_statfs *sp); } 184#ifdef __i386__ 185101 STD { int linux_sys_ioperm(unsigned int lo, \ 186 unsigned int hi, int val); } 187#else 188101 STD { int linux_sys_ioperm(void); } 189#endif 190102 STD { int linux_sys_socketcall(int what, void *args); } 191103 STD { int linux_sys_klog(void); } 192104 NOARGS { int compat_time_sys_setitimer(u_int which, \ 193 struct itimerval_compat *itv, \ 194 struct itimerval_compat *oitv); } 195105 NOARGS { int compat_time_sys_getitimer(u_int which, \ 196 struct itimerval_compat *itv); } 197106 STD { int linux_sys_stat(char *path, \ 198 struct linux_stat *sp); } 199107 STD { int linux_sys_lstat(char *path, \ 200 struct linux_stat *sp); } 201108 STD { int linux_sys_fstat(int fd, struct linux_stat *sp); } 202109 STD { int linux_sys_olduname(struct linux_old_utsname *up); } 203#ifdef __i386__ 204110 STD { int linux_sys_iopl(int level); } 205#else 206110 STD { int linux_sys_iopl(void); } 207#endif 208111 STD { int linux_sys_vhangup(void); } 209112 STD { int linux_sys_idle(void); } 210113 STD { int linux_sys_vm86old(void); } 211114 STD { int linux_sys_wait4(int pid, int *status, \ 212 int options, struct rusage_compat *rusage); } 213115 STD { int linux_sys_swapoff(void); } 214116 STD { int linux_sys_sysinfo(struct linux_sys_sysinfo_args *sysinfo); } 215117 STD { int linux_sys_ipc(int what, int a1, int a2, int a3, \ 216 caddr_t ptr); } 217118 NOARGS { int sys_fsync(int fd); } 218119 STD { int linux_sys_sigreturn(struct linux_sigcontext *scp); } 219120 STD { int linux_sys_clone(int flags, void *stack); } 220121 NOARGS { int compat_09_sys_setdomainname(char *name, \ 221 int len); } 222122 STD { int linux_sys_uname(struct linux_utsname *up); } 223#ifdef __i386__ 224123 STD { int linux_sys_modify_ldt(int func, void *ptr, \ 225 size_t bytecount); } 226#else 227123 STD { int linux_sys_modify_ldt(void); } 228#endif 229124 STD { int linux_sys_adjtimex(void); } 230125 NOARGS { int sys_mprotect(caddr_t addr, int len, int prot); } 231126 STD { int linux_sys_sigprocmask(int how, \ 232 linux_old_sigset_t *set, linux_old_sigset_t *oset); } 233127 STD { int linux_sys_create_module(void); } 234128 STD { int linux_sys_init_module(void); } 235129 STD { int linux_sys_delete_module(void); } 236130 STD { int linux_sys_get_kernel_syms(void); } 237131 STD { int linux_sys_quotactl(void); } 238132 STD { int linux_sys_getpgid(int pid); } 239133 NOARGS { int sys_fchdir(int fd); } 240134 STD { int linux_sys_bdflush(void); } 241135 STD { int linux_sys_sysfs(void); } 242136 STD { int linux_sys_personality(int per); } 243137 STD { int linux_sys_afs_syscall(void); } 244138 NOARGS linux_setfsuid16 { int linux_sys_setfsuid(uid_t uid); } 245139 NOARGS linux_getfsuid16 { int linux_sys_getfsuid(void); } 246140 STD { int linux_sys_llseek(int fd, u_int32_t ohigh, \ 247 u_int32_t olow, caddr_t res, int whence); } 248141 STD { int linux_sys_getdents(int fd, void *dirent, \ 249 unsigned count); } 250142 STD { int linux_sys_select(int nfds, fd_set *readfds, \ 251 fd_set *writefds, fd_set *exceptfds, \ 252 struct timeval_compat *timeout); } 253143 NOARGS { int sys_flock(int fd, int how); } 254144 NOARGS { int sys_msync(void *addr, int len, int fl); } 255145 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ 256 u_int iovcnt); } 257146 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ 258 u_int iovcnt); } 259147 STD { int linux_sys_getsid(int pid); } 260148 STD { int linux_sys_fdatasync(int fd); } 261149 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } 262150 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 263151 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 264152 STD { int linux_sys_mlockall(void); } 265153 STD { int linux_sys_munlockall(void); } 266154 STD { int linux_sys_sched_setparam(linux_pid_t pid, \ 267 const struct linux_sched_param *sp); } 268155 STD { int linux_sys_sched_getparam(linux_pid_t pid, \ 269 struct linux_sched_param *sp); } 270156 STD { int linux_sys_sched_setscheduler(linux_pid_t pid, \ 271 int policy, const struct linux_sched_param *sp); } 272157 STD { int linux_sys_sched_getscheduler(linux_pid_t pid); } 273158 STD { int linux_sys_sched_yield(void); } 274159 STD { int linux_sys_sched_get_priority_max(int policy); } 275160 STD { int linux_sys_sched_get_priority_min(int policy); } 276161 STD { int linux_sys_sched_rr_get_interval(void); } 277162 NOARGS { int compat_time_sys_nanosleep( \ 278 const struct timespec_compat *rqtp, \ 279 struct timespec_compat *rmtp); } 280163 STD { int linux_sys_mremap(void *old_address, \ 281 size_t old_size, size_t new_size, long flags); } 282164 STD { int linux_sys_setresuid16(u_int16_t ruid, \ 283 u_int16_t euid, u_int16_t suid); } 284165 STD { int linux_sys_getresuid16(u_int16_t *ruid, \ 285 u_int16_t *euid, u_int16_t *suid); } 286166 STD { int linux_sys_vm86(void); } 287167 STD { int linux_sys_query_module(void); } 288168 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ 289 int timeout); } 290169 STD { int linux_sys_nfsservctl(void); } 291170 STD { int linux_sys_setresgid16(u_int16_t rgid, \ 292 u_int16_t egid, u_int16_t sgid); } 293171 STD { int linux_sys_getresgid16(u_int16_t *rgid, \ 294 u_int16_t *egid, u_int16_t *sgid); } 295172 STD { int linux_sys_prctl(void); } 296173 STD { int linux_sys_rt_sigreturn( \ 297 struct linux_rt_sigframe *sfp); } 298174 STD { int linux_sys_rt_sigaction(int signum, \ 299 struct linux_sigaction *nsa, \ 300 struct linux_sigaction *osa, \ 301 size_t sigsetsize); } 302175 STD { int linux_sys_rt_sigprocmask(int how, \ 303 const linux_sigset_t *set, \ 304 linux_sigset_t *oset, size_t sigsetsize); } 305176 STD { int linux_sys_rt_sigpending(linux_sigset_t *set, \ 306 size_t sigsetsize); } 307177 STD { int linux_sys_rt_sigtimedwait(void); } 308178 STD { int linux_sys_rt_queueinfo(void); } 309179 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ 310 size_t sigsetsize); } 311180 STD { int linux_sys_pread(int fd, char *buf, \ 312 size_t nbyte, linux_off_t offset); } 313181 STD { int linux_sys_pwrite(int fd, char *buf, \ 314 size_t nbyte, linux_off_t offset); } 315182 STD { int linux_sys_chown16(char *path, int uid, \ 316 int gid); } 317183 STD { int linux_sys_getcwd(char *bufp, size_t length); } 318184 STD { int linux_sys_capget(void); } 319185 STD { int linux_sys_capset(void); } 320186 STD { int linux_sys_sigaltstack( \ 321 const struct linux_sigaltstack *nss, \ 322 struct linux_sigaltstack *oss); } 323187 STD { int linux_sys_sendfile(void); } 324188 STD { int linux_sys_getpmsg(void); } 325189 STD { int linux_sys_putpmsg(void); } 326190 STD { int sys_vfork(void); } 327191 STD { int linux_sys_ugetrlimit(u_int which, \ 328 struct linux_rlimit *rlp); } 329192 STD { linux_off_t linux_sys_mmap2(unsigned long addr, \ 330 size_t len, int prot, int flags, int fd, \ 331 linux_off_t offset); } 332193 STD { int linux_sys_truncate64(char *path, off_t length); } 333194 STD { int linux_sys_ftruncate64(int fd, off_t length); } 334195 STD { int linux_sys_stat64(char *path, \ 335 struct linux_stat64 *sp); } 336196 STD { int linux_sys_lstat64(char *path, \ 337 struct linux_stat64 *sp); } 338197 STD { int linux_sys_fstat64(int fd, \ 339 struct linux_stat64 *sp); } 340198 NOARGS { int linux_sys_lchown(void); } 341199 STD { uid_t linux_sys_getuid(void); } 342200 STD { gid_t linux_sys_getgid(void); } 343201 NOARGS { uid_t sys_geteuid(void); } 344202 NOARGS { gid_t sys_getegid(void); } 345203 NOARGS { int sys_setreuid(int ruid, int euid); } 346204 NOARGS { int sys_setregid(int rgid, int egid); } 347205 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 348206 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 349207 NOARGS { int linux_sys_fchown(void); } 350208 NOARGS { int sys_setresuid(uid_t ruid, uid_t euid, \ 351 uid_t suid); } 352209 NOARGS { int sys_getresuid(uid_t *ruid, uid_t *euid, \ 353 uid_t *suid); } 354210 NOARGS { int sys_setresgid(gid_t rgid, gid_t egid, \ 355 gid_t sgid); } 356211 NOARGS { int sys_getresgid(gid_t *rgid, gid_t *egid, \ 357 gid_t *sgid); } 358212 NOARGS { int linux_sys_chown(void); } 359213 NOARGS { int sys_setuid(uid_t uid); } 360214 NOARGS { int sys_setgid(gid_t gid); } 361215 STD { int linux_sys_setfsuid(uid_t uid); } 362216 NOARGS { int linux_sys_setfsgid(void); } 363217 NOARGS { int linux_sys_pivot_root(void); } 364218 NOARGS { int linux_sys_mincore(void); } 365219 NOARGS { int sys_madvise(void *addr, size_t len, int behav); } 366220 STD { int linux_sys_getdents64(int fd, void *dirent, \ 367 unsigned count); } 368221 STD { int linux_sys_fcntl64(u_int fd, u_int cmd, \ 369 void *arg); } 370222 UNIMPL linux_restux_1 371223 UNIMPL linux_restux_2 372224 UNIMPL linux_sys_gettid 373225 UNIMPL linux_sys_readahead 374226 NOARGS { int linux_sys_setxattr(void); } 375227 NOARGS { int linux_sys_lsetxattr(void); } 376228 NOARGS { int linux_sys_fsetxattr(void); } 377229 NOARGS { int linux_sys_getxattr(void); } 378230 NOARGS { int linux_sys_lgetxattr(void); } 379231 NOARGS { int linux_sys_fgetxattr(void); } 380232 NOARGS { int linux_sys_listxattr(void); } 381233 NOARGS { int linux_sys_llistxattr(void); } 382234 NOARGS { int linux_sys_flistxattr(void); } 383235 NOARGS { int linux_sys_removexattr(void); } 384236 NOARGS { int linux_sys_lremovexattr(void); } 385237 NOARGS { int linux_sys_fremovexattr(void); } 386238 UNIMPL linux_sys_tkill 387239 UNIMPL linux_sys_sendfile64 388240 UNIMPL linux_sys_futex 389241 UNIMPL linux_sys_sched_setaffinity 390242 UNIMPL linux_sys_sched_getaffinity 391243 UNIMPL linux_sys_set_thread_area 392244 UNIMPL linux_sys_get_thread_area 393245 UNIMPL linux_sys_io_setup 394246 UNIMPL linux_sys_io_destroy 395247 UNIMPL linux_sys_io_getevents 396248 UNIMPL linux_sys_io_submit 397249 UNIMPL linux_sys_io_cancel 398250 NOARGS { int linux_sys_fadvise64(void); } 399251 UNIMPL 400252 NOARGS linux_exit_group { int sys_exit(int rval); } 401253 UNIMPL linux_sys_lookup_dcookie 402254 UNIMPL linux_sys_epoll_create 403255 UNIMPL linux_sys_epoll_ctl 404256 UNIMPL linux_sys_epoll_wait 405257 UNIMPL linux_sys_remap_file_pages 406258 UNIMPL linux_sys_set_tid_address 407259 UNIMPL linux_sys_timer_create 408260 UNIMPL linux_sys_timer_settime 409261 UNIMPL linux_sys_timer_gettime 410262 UNIMPL linux_sys_timer_getoverrun 411263 UNIMPL linux_sys_timer_delete 412264 UNIMPL linux_sys_clock_settime 413265 UNIMPL linux_sys_clock_gettime 414266 UNIMPL linux_sys_clock_getres 415267 UNIMPL linux_sys_clock_nanosleep 416268 UNIMPL linux_sys_statfs64 417269 UNIMPL linux_sys_fstatfs64 418270 UNIMPL linux_sys_tgkill 419271 UNIMPL linux_sys_utimes 420272 UNIMPL linux_sys_fadvise64_64 421273 UNIMPL linux_sys_ni_syscall 422274 UNIMPL linux_sys_mbind 423275 UNIMPL linux_sys_get_mempolicy 424276 UNIMPL linux_sys_set_mempolicy 425277 UNIMPL linux_sys_mq_open 426278 UNIMPL linux_sys_mq_unlink 427279 UNIMPL linux_sys_mq_timedsend 428280 UNIMPL linux_sys_mq_timedreceive 429281 UNIMPL linux_sys_mq_notify 430282 UNIMPL linux_sys_mq_getsetattr 431283 UNIMPL 432284 UNIMPL linux_sys_waitid 433