$NetBSD: syscalls.master,v 1.24.4.1 2008/11/20 03:03:05 snj Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_sysv.h" #include "opt_compat_43.h" #endif #include <sys/param.h> #include <sys/poll.h> #include <sys/systm.h> #include <sys/signal.h> #include <sys/mount.h> #include <sys/syscallargs.h> #include <compat/linux/common/linux_types.h> #include <compat/linux/common/linux_mmap.h> #include <compat/linux/common/linux_ipc.h> #include <compat/linux/common/linux_msg.h> #include <compat/linux/common/linux_sem.h> #include <compat/linux/common/linux_shm.h> #include <compat/linux/common/linux_signal.h> #include <compat/linux/common/linux_siginfo.h> #include <compat/linux/common/linux_machdep.h> #include <compat/linux/linux_syscallargs.h> %% 0 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 2 STD { int linux_sys_open(const char *path, int flags, \ int mode); } 3 NOARGS { int sys_close(int fd); } 4 STD { int linux_sys_stat64(const char *path, \ struct linux_stat *sp); } 5 STD { int linux_sys_fstat64(int fd, \ struct linux_stat *sp); } 6 STD { int linux_sys_lstat64(const char *path, \ struct linux_stat *sp); } 7 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ int timeout); } 8 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } 9 NOARGS { linux_off_t linux_sys_mmap(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } 10 STD { int linux_sys_mprotect(const void *start, \ unsigned long len, int prot); } 11 NOARGS { int sys_munmap(void *addr, int len); } 12 STD { int linux_sys_brk(char *nsize); } 13 STD { int linux_sys_rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 14 STD { int linux_sys_rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 15 NOARGS { int linux_sys_rt_sigreturn(void); } 16 STD { int linux_sys_ioctl(int fd, u_long com, \ void *data); } 17 STD { int linux_sys_pread(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 18 STD { int linux_sys_pwrite(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 19 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 20 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ u_int iovcnt); } 21 NOARGS { int sys_access(const char *path, int flags); } 22 STD { int linux_sys_pipe(int *pfds); } 23 STD { int linux_sys_select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval *timeout); } 24 STD { int linux_sys_sched_yield(void); } 25 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 26 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } 27 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int sys_madvise(void *addr, size_t len, int behav); } #ifdef SYSVSHM 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ int shmflg); } 30 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else 29 UNIMPL shmget 30 UNIMPL shmat 31 UNIMPL shmctl #endif 32 NOARGS { int sys_dup(u_int fd); } 33 NOARGS { int sys_dup2(u_int from, u_int to); } 34 STD { int linux_sys_pause(void); } 35 STD { int linux_sys_nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 36 NOARGS { int sys_getitimer(u_int which, \ struct itimerval *itv); } 37 STD { int linux_sys_alarm(unsigned int secs); } 38 NOARGS { int sys_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } 39 STD { pid_t linux_sys_getpid(void); } 40 UNIMPL sendfile 41 STD { int linux_sys_socket(int domain, \ int type, int protocol); } 42 STD { int linux_sys_connect(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 43 STD { int linux_sys_accept(int s, struct osockaddr *name, \ int *anamelen); } oaccept 44 STD { ssize_t linux_sys_sendto(int s, void *msg, int len, \ int flags, struct osockaddr *to, int tolen); } 45 STD { ssize_t linux_sys_recvfrom(int s, void *buf, \ size_t len, int flags, struct osockaddr *from, \ unsigned int *fromlenaddr); } 46 STD { int linux_sys_sendmsg(int s, \ const struct msghdr *msg, int flags); } 47 STD { ssize_t linux_sys_recvmsg(int s, \ struct msghdr *msg, int flags); } 48 NOARGS { int sys_shutdown(int s, int how); } 49 STD { int linux_sys_bind(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 50 NOARGS { int sys_listen(int s, int backlog); } 51 STD { int linux_sys_getsockname(int fdec, void *asa, \ int *alen); } 52 STD { int linux_sys_getpeername(int fdes, \ struct sockaddr *asa, unsigned int *alen); } 53 STD { int linux_sys_socketpair(int domain, int type, \ int protocol, int *rsv); } 54 STD { int linux_sys_setsockopt(int s, int level, \ int optname, void *optval, int optlen); } 55 STD { int linux_sys_getsockopt(int s, int level, \ int optname, void *optval, int *optlen); } 56 STD { int linux_sys_clone(int flags, void *stack, \ void *parent_tidptr, void *child_tidptr); } 57 NOARGS { int sys_fork(void); } 58 NOARGS { int sys___vfork14(void); } 59 NOARGS { int sys_execve(const char *path, char **argp, \ char **envp); } 60 NOARGS { int sys_exit(int rval); } 61 STD { int linux_sys_wait4(int pid, int *status, \ int options, struct rusage *rusage); } 62 STD { int linux_sys_kill(int pid, int signum); } 63 STD { int linux_sys_uname(struct linux_utsname *up); } #ifdef SYSVSEM 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int linux_sys_semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else 64 UNIMPL semget 65 UNIMPL semop 66 UNIMPL semctl #endif #ifdef SYSVSHM 67 NOARGS { int sys_shmdt(const void *shmaddr); } #else 67 UNIMPL shmdt #endif #ifdef SYSVMSG 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else 68 UNIMPL msgget 69 UNIMPL msgsnd 70 UNIMPL msgrcv 71 UNIMPL msgctl #endif 72 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int sys_flock(int fd, int how); } 74 NOARGS { int sys_fsync(int fd); } 75 STD { int linux_sys_fdatasync(int fd); } 76 STD { int linux_sys_truncate64(const char *path, \ off_t length); } 77 STD { int linux_sys_ftruncate64(unsigned int fd, \ off_t length); } 78 STD { int linux_sys_getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 79 NOARGS { int sys___getcwd(char *bufp, size_t length); } 80 NOARGS { int sys_chdir(const char *path); } 81 NOARGS { int sys_fchdir(int fd); } 82 NOARGS { int sys___posix_rename(const char *from, \ const char *to); } 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } 85 STD { int linux_sys_creat(const char *path, int mode); } 86 NOARGS { int sys_link(const char *path, const char *link); } 87 STD { int linux_sys_unlink(const char *path); } 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ int count); } 90 NOARGS { int sys_chmod(const char *path, int mode); } 91 NOARGS { int sys_fchmod(int fd, int mode); } 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ gid_t gid); } 93 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \ gid_t gid); } 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ gid_t gid); } 95 NOARGS { int sys_umask(int newmask); } 96 STD { int linux_sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 97 STD { int linux_sys_getrlimit(int which, \ struct rlimit *rlp); } 98 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 99 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); } 100 STD { int linux_sys_times(struct times *tms); } 101 STD { int linux_sys_ptrace(long request, long pid, \ long addr, long data); } 102 NOARGS { uid_t sys_getuid(void); } 103 UNIMPL syslog 104 NOARGS { gid_t sys_getgid(void); } 105 NOARGS { void sys_setuid(uid_t uid); } 106 NOARGS { void sys_setgid(gid_t gid); } 107 NOARGS { uid_t sys_geteuid(void); } 108 NOARGS { gid_t sys_getegid(void); } 109 NOARGS { int sys_setpgid(int pid, int pgid); } 110 STD { pid_t linux_sys_getppid(void); } 111 NOARGS { int sys_getpgrp(void); } 112 NOARGS { int sys_setsid(void); } 113 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 118 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 119 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 120 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 121 NOARGS { pid_t sys_getpgid(pid_t pid); } 122 STD { int linux_sys_setfsuid(uid_t uid); } 123 STD { int linux_sys_setfsgid(gid_t gid); } 124 NOARGS { pid_t sys_getsid(pid_t pid); } 125 UNIMPL capget 126 UNIMPL capset 127 STD { int linux_sys_rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 128 UNIMPL rt_sigtimedwait 129 STD { int linux_sys_rt_queueinfo(int pid, int signum, \ siginfo_t *uinfo); } 130 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 131 STD { int linux_sys_sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 132 STD { int linux_sys_utime(const char *path, \ struct linux_utimbuf *times); } 133 STD { int linux_sys_mknod(const char *path, int mode, \ int dev); } #ifdef EXEC_AOUT 134 STD { int linux_sys_uselib(const char *path); } #else 134 UNIMPL sys_uselib #endif 135 STD { int linux_sys_personality(int per); } 136 UNIMPL ustat 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } 139 UNIMPL sysfs 140 STD { int linux_sys_getpriority(int which, int who); } 141 NOARGS { int sys_setpriority(int which, int who, int prio); } 142 STD { int linux_sys_sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 143 STD { int linux_sys_sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 144 STD { int linux_sys_sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 145 STD { int linux_sys_sched_getscheduler(pid_t pid); } 146 STD { int linux_sys_sched_get_priority_max(int policy); } 147 STD { int linux_sys_sched_get_priority_min(int policy); } 148 UNIMPL sys_sched_rr_get_interval 149 NOARGS { int sys_mlock(void *addr, size_t len); } 150 NOARGS { int sys_munlock(void *addr, size_t len); } 151 NOARGS { int sys_mlockall(int flags); } 152 NOARGS { int sys_munlockall(void); } 153 UNIMPL vhangup 154 STD { int linux_sys_modify_ldt(int func, void *ptr, \ size_t bytecount); } 155 UNIMPL pivot_root 156 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } 157 UNIMPL prctl 158 STD { int linux_sys_arch_prctl(int code, \ unsigned long addr); } 159 UNIMPL adjtimex 160 STD { int linux_sys_setrlimit(u_int which, \ struct rlimit *rlp); } 161 NOARGS { int sys_chroot(char *path); } 162 NOARGS { int sys_sync(void); } 163 NOARGS { int sys_acct(char *path); } 164 STD { int linux_sys_settimeofday(struct timeval *tp, \ struct timezone *tzp); } 165 UNIMPL mount 166 UNIMPL umount2 167 STD { int linux_sys_swapon(char *name); } 168 STD { int linux_sys_swapoff(const char *path); } 169 STD { int linux_sys_reboot(int magic1, int magic2, \ int cmd, void *arg); } 170 NOARGS { int compat_43_sys_sethostname(char *hostname, \ u_int len);} 171 STD { int linux_sys_setdomainname(char *domainname, \ int len); } 172 STD { int linux_sys_iopl(int level); } 173 STD { int linux_sys_ioperm(unsigned int lo, \ unsigned int hi, int val); } 174 UNIMPL create_module 175 UNIMPL init_module 176 UNIMPL delete_module 177 UNIMPL get_kernel_syms 178 UNIMPL query_module 179 UNIMPL quotactl 180 UNIMPL nfsservctl 181 UNIMPL getpmsg 182 UNIMPL putpmsg 183 UNIMPL afs_syscall 184 UNIMPL tuxcall 185 UNIMPL security 186 STD { pid_t linux_sys_gettid(void); } 187 UNIMPL readahead 188 STD { int linux_sys_setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 189 STD { int linux_sys_lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 190 STD { int linux_sys_fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 191 STD { ssize_t linux_sys_getxattr(char *path, char *name, \ void *value, size_t size); } 192 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \ void *value, size_t size); } 193 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \ void *value, size_t size); } 194 STD { ssize_t linux_sys_listxattr(char *path, char *list, \ size_t size); } 195 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \ size_t size); } 196 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \ size_t size); } 197 STD { int linux_sys_removexattr(char *path, char *name); } 198 STD { int linux_sys_lremovexattr(char *path, char *name); } 199 STD { int linux_sys_fremovexattr(int fd, char *name); } 200 STD { int linux_sys_tkill(int tid, int sig); } 201 STD { int linux_sys_time(linux_time_t *t); } 202 STD { int linux_sys_futex(int *uaddr, int op, int val, \ const struct timespec *timeout, int *uaddr2, \ int val3); } 203 STD { int linux_sys_sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 204 STD { int linux_sys_sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 205 UNIMPL set_thread_area 206 UNIMPL io_setup 207 UNIMPL io_destroy 208 UNIMPL io_getevents 209 UNIMPL io_submit 210 UNIMPL io_cancel 211 UNIMPL get_thread_area 212 UNIMPL lookup_dcookie 213 UNIMPL epoll_create 214 UNIMPL epoll_ctl_old 215 UNIMPL epoll_wait_old 216 UNIMPL remap_file_pages 217 STD { int linux_sys_getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 218 STD { int linux_sys_set_tid_address(int *tid); } 219 UNIMPL restart_syscall 220 UNIMPL semtimedop 221 UNIMPL fadvise64 222 UNIMPL timer_create 223 UNIMPL timer_settime 224 UNIMPL timer_gettime 225 UNIMPL timer_getoverrun 226 UNIMPL timer_delete 227 STD { int linux_sys_clock_settime(clockid_t which, \ struct linux_timespec *tp); } 228 STD { int linux_sys_clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 229 STD { int linux_sys_clock_getres(clockid_t which, \ struct linux_timespec *tp); } 230 STD { int linux_sys_clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 231 STD { int linux_sys_exit_group(int error_code); } 232 UNIMPL epoll_wait 233 UNIMPL epoll_ctl 234 STD { int linux_sys_tgkill(int tgid, int tid, int sig); } 235 UNIMPL utimes 236 UNIMPL vserver 237 UNIMPL mbind 238 UNIMPL set_mempolicy 239 UNIMPL get_mempolicy 240 UNIMPL mq_open 241 UNIMPL mq_unlink 242 UNIMPL mq_timedsend 243 UNIMPL mq_timedreceive 244 UNIMPL mq_notify 245 UNIMPL mq_getsetattr 246 UNIMPL kexec_load 247 UNIMPL waitid 248 UNIMPL add_key 249 UNIMPL request_key 250 UNIMPL keyctl 251 UNIMPL ioprio_set 252 UNIMPL ioprio_get 253 UNIMPL inotify_init 254 UNIMPL inotify_add_watch 255 UNIMPL inotify_rm_watch 256 UNIMPL migrate_pages 257 UNIMPL openat 258 UNIMPL mkdirat 259 UNIMPL mknodat 260 UNIMPL fchownat 261 UNIMPL futimesat 262 UNIMPL newfstatat 263 UNIMPL unlinkat 264 UNIMPL renameat 265 UNIMPL linkat 266 UNIMPL symlinkat 267 UNIMPL readlinkat 268 UNIMPL fchmodat 269 UNIMPL faccessat 270 UNIMPL pselect6 271 UNIMPL ppoll 272 UNIMPL unshare 273 STD { int linux_sys_set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 274 STD { int linux_sys_get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 275 UNIMPL splice 276 UNIMPL tee 277 UNIMPL sync_file_range 278 UNIMPL vmsplice 279 UNIMPL move_pages 280 UNIMPL utimensat 281 UNIMPL epoll_pwait 282 UNIMPL signalfd 283 UNIMPL timerfd_create 284 UNIMPL eventfd 285 UNIMPL fallocate 286 STD { int linux_sys_nosys(void); }