Home | History | Annotate | Line # | Download | only in amd64
syscalls.master revision 1.6
      1 	$NetBSD: syscalls.master,v 1.6 2005/10/18 18:37:44 joerg Exp $
      2 
      3 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
      4 
      5 ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file.
      6 ; (See syscalls.conf to see what it is processed into.)
      7 ;
      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.
     12 ;
     13 ; types:
     14 ;	STD	always included
     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
     19 ;	INDIR	included, but don't define the syscall args structure
     20 ;		and allow it to be "really" varargs.
     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 names and switch definition files only.
     35 
     36 #if defined(_KERNEL_OPT)
     37 #include "opt_compat_43.h"
     38 #endif
     39 
     40 #include <sys/param.h>
     41 #include <sys/poll.h>
     42 #include <sys/systm.h>
     43 #include <sys/signal.h>
     44 #include <sys/mount.h>
     45 #include <sys/sa.h>
     46 #include <sys/syscallargs.h>
     47 
     48 #include <compat/linux/common/linux_types.h>
     49 #include <compat/linux/common/linux_mmap.h>
     50 #include <compat/linux/common/linux_signal.h>
     51 #include <compat/linux/common/linux_siginfo.h>
     52 #include <compat/linux/common/linux_machdep.h>
     53 
     54 #include <compat/linux/linux_syscallargs.h>
     55 
     56 %%
     57 
     58 0	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
     59 1	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
     60 2	STD		{ int linux_sys_open(const char *path, int flags, \
     61 			    int mode); }
     62 3	NOARGS		{ int sys_close(int fd); }
     63 4	STD		{ int linux_sys_stat64(const char *path, \
     64 			    struct linux_stat *sp); }
     65 5	STD		{ int linux_sys_fstat64(int fd, \
     66 			    struct linux_stat *sp); }
     67 6	STD		{ int linux_sys_lstat64(const char *path, \
     68 			    struct linux_stat *sp); }
     69 7	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
     70 			    int timeout); }
     71 8	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
     72 			    int whence); }
     73 9	NOARGS		{ linux_off_t linux_sys_mmap(unsigned long addr, \
     74 			    size_t len, int prot, int flags, int fd, \
     75 			    linux_off_t offset); }
     76 10	STD		{ int linux_sys_mprotect(const void *start, \
     77 			    unsigned long len, int prot); }
     78 11	NOARGS		{ int sys_munmap(caddr_t addr, int len); }
     79 12	STD		{ int linux_sys_brk(char *nsize); }
     80 13	STD		{ int linux_sys_rt_sigaction(int signum, \
     81 			    const struct linux_sigaction *nsa, \
     82 			    struct linux_sigaction *osa, \
     83 			    size_t sigsetsize); }
     84 14	STD		{ int linux_sys_rt_sigprocmask(int how, \
     85 			    const linux_sigset_t *set, \
     86 			    linux_sigset_t *oset, \
     87 			    size_t sigsetsize); }
     88 15	NOARGS		{ int linux_sys_rt_sigreturn(void); }
     89 16	STD		{ int linux_sys_ioctl(int fd, u_long com, \
     90 			    caddr_t data); }
     91 17	STD		{ int linux_sys_pread(int fd, char *buf, \
     92 			    size_t nbyte, linux_off_t offset); }
     93 18	STD		{ int linux_sys_pwrite(int fd, char *buf, \
     94 			    size_t nbyte, linux_off_t offset); }
     95 19	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
     96 				u_int iovcnt); }
     97 20	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
     98 				u_int iovcnt); }
     99 21	STD		{ int linux_sys_access(const char *path, int flags); }
    100 22	STD		{ int linux_sys_pipe(int *pfds); }
    101 23	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
    102 			    fd_set *writefds, fd_set *exceptfds, \
    103 			    struct timeval *timeout); }
    104 24	STD		{ int linux_sys_sched_yield(void); }
    105 25	STD		{ void *linux_sys_mremap(void *old_address, \
    106 			    size_t old_size, size_t new_size, u_long flags); }
    107 26	STD		{ int linux_sys_msync(caddr_t addr, int len, int fl); }
    108 27	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
    109 28	NOARGS		{ int sys_madvise(void *addr, size_t len, int behav); }
    110 29	UNIMPL		shmget
    111 30	UNIMPL		shmat
    112 31	UNIMPL		shmctl
    113 32	NOARGS		{ int sys_dup(u_int fd); }
    114 33	NOARGS		{ int sys_dup2(u_int from, u_int to); }
    115 34	STD		{ int linux_sys_pause(void); }
    116 35	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
    117 				struct timespec *rmtp); }
    118 36	NOARGS		{ int sys_getitimer(u_int which, \
    119 			    struct itimerval *itv); }
    120 37	STD		{ int linux_sys_alarm(unsigned int secs); }
    121 38	NOARGS		{ int sys_setitimer(u_int which, \
    122 			    struct itimerval *itv, struct itimerval *oitv); }
    123 39	NOARGS MPSAFE	{ pid_t sys_getpid(void); }
    124 40	UNIMPL		sendfile
    125 41	STD		{ int linux_sys_socket(int domain, \
    126 			    int type, int protocol); }
    127 42	STD		{ int linux_sys_connect(int s, \
    128 			    const struct osockaddr *name, \
    129 			    unsigned int namelen); }
    130 43	STD		{ int linux_sys_accept(int s, struct osockaddr *name, \
    131 			    int *anamelen); } oaccept
    132 44	STD		{ ssize_t linux_sys_sendto(int s, void *msg, int len, \
    133 			    int flags, struct osockaddr *to, int tolen); }
    134 45	STD		{ ssize_t linux_sys_recvfrom(int s, void *buf, \
    135 			    size_t len, int flags, struct osockaddr *from, \
    136 			    unsigned int *fromlenaddr); }
    137 46	STD		{ int linux_sys_sendmsg(int s, \
    138 			    const struct msghdr *msg, int flags); }
    139 47	STD		{ ssize_t linux_sys_recvmsg(int s, \
    140 			    struct msghdr *msg, int flags); }
    141 48	NOARGS		{ int sys_shutdown(int s, int how); }
    142 49	STD		{ int linux_sys_bind(int s, \
    143 			    const struct osockaddr *name, \
    144 			    unsigned int namelen); }
    145 50	NOARGS		{ int sys_listen(int s, int backlog); }
    146 51	STD		{ int linux_sys_getsockname(int fdec, caddr_t asa, \
    147 			    int *alen); }
    148 52	STD		{ int linux_sys_getpeername(int fdes, \
    149 			    struct sockaddr *asa, unsigned int *alen); }
    150 53	STD		{ int linux_sys_socketpair(int domain, int type, \
    151 			    int protocol, int *rsv); }
    152 54	STD		{ int linux_sys_setsockopt(int s, int level, \
    153 			    int optname, void *optval, int optlen); }
    154 55	STD		{ int linux_sys_getsockopt(int s, int level, \
    155 			    int optname, void *optval, int *optlen); }
    156 56	STD		{ int linux_sys_clone(int flags, void *stack, \
    157 			    void *parent_tidptr, void *child_tidptr); }
    158 57	NOARGS		{ int sys_fork(void); }
    159 58	NOARGS		{ int sys___vfork14(void); }
    160 59	STD		{ int linux_sys_execve(const char *path, char **argp, \
    161 			    char **envp); }
    162 60	NOARGS		{ int sys_exit(int rval); }
    163 61	STD		{ int linux_sys_wait4(int pid, int *status, \
    164 			    int options, struct rusage *rusage); }
    165 62	STD		{ int linux_sys_kill(int pid, int signum); }
    166 63	STD		{ int linux_sys_uname(struct linux_utsname *up); }
    167 64	UNIMPL		semget
    168 65	UNIMPL		semop
    169 66	UNIMPL		semctl
    170 67	UNIMPL		shmdt
    171 68	UNIMPL		msgget
    172 69	UNIMPL		msgsnd
    173 70	UNIMPL		msgrcv
    174 71	UNIMPL		msgctl
    175 72	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
    176 73	NOARGS		{ int sys_flock(int fd, int how); }
    177 74	NOARGS		{ int sys_fsync(int fd); }
    178 75	STD		{ int linux_sys_fdatasync(int fd); }
    179 76	STD		{ int linux_sys_truncate64(const char *path, \
    180 			    off_t length); }
    181 77	STD		{ int linux_sys_ftruncate64(unsigned int fd, \
    182 			    off_t length); }
    183 78	STD		{ int linux_sys_getdents(int fd, \
    184 			    struct linux_dirent *dent, unsigned int count); }
    185 79	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
    186 80	STD		{ int linux_sys_chdir(const char *path); }
    187 81	NOARGS		{ int sys_fchdir(int fd); }
    188 82	STD		{ int linux_sys_rename(const char *from, \
    189 			    const char *to); }
    190 83	STD		{ int linux_sys_mkdir(const char *path, int mode); }
    191 84	STD		{ int linux_sys_rmdir(const char *path); }
    192 85	STD		{ int linux_sys_creat(const char *path, int mode); }
    193 86	STD		{ int linux_sys_link(const char *path, \
    194 			    const char *link); }
    195 87	STD		{ int linux_sys_unlink(const char *path); }
    196 88	STD		{ int linux_sys_symlink(const char *path, \
    197 			    const char *to); }
    198 89	STD		{ int linux_sys_readlink(const char *name, char *buf, \
    199 			    int count); }
    200 90	STD		{ int linux_sys_chmod(const char *path, int mode); }
    201 91	NOARGS		{ int sys_fchmod(int fd, int mode); }
    202 92	STD		{ int linux_sys_chown(const char *path, uid_t uid, \
    203 				gid_t gid); }
    204 93	NOARGS		{ int sys___posix_fchown(int fd, uid_t uid, \
    205 			    gid_t gid); }
    206 94	STD		{ int linux_sys_lchown(const char *path, uid_t uid, \
    207 			    gid_t gid); }
    208 95	NOARGS		{ int sys_umask(int newmask); }
    209 96	STD		{ int linux_sys_gettimeofday(struct timeval *tp, \
    210 			    struct timezone *tzp); }
    211 97	STD		{ int linux_sys_getrlimit(int which, \
    212 			    struct orlimit *rlp); }
    213 98	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
    214 99	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
    215 100	STD		{ int linux_sys_times(struct times *tms); }
    216 101	STD		{ int linux_sys_ptrace(long request, long pid, \
    217 			  long addr, long data); }
    218 102	NOARGS		{ uid_t sys_getuid(void); }
    219 103	UNIMPL		syslog
    220 104	NOARGS		{ gid_t sys_getgid(void); }
    221 105	NOARGS		{ void sys_setuid(uid_t uid); }
    222 106	NOARGS		{ void sys_setgid(gid_t gid); }
    223 107	NOARGS		{ uid_t sys_geteuid(void); }
    224 108	NOARGS		{ gid_t sys_getegid(void); }
    225 109	NOARGS		{ int sys_setpgid(int pid, int pgid); }
    226 110	NOARGS		{ pid_t sys_getppid(void); }
    227 111	NOARGS		{ int sys_getpgrp(void); }
    228 112	NOARGS		{ int sys_setsid(void); }
    229 113	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
    230 114	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
    231 115	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
    232 116	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
    233 117	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
    234 			    uid_t suid); }
    235 118	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
    236 			    uid_t *suid); }
    237 119	STD		{ int linux_sys_setresgid(gid_t rgid, gid_t egid, \
    238 			    gid_t sgid); }
    239 120	STD		{ int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
    240 			    gid_t *sgid); }
    241 121	STD		{ int linux_sys_getpgid(int pid); }
    242 122	STD		{ int linux_sys_setfsuid(uid_t uid); }
    243 123	STD		{ int linux_sys_getfsuid(void); }
    244 124	NOARGS		{ pid_t sys_getsid(pid_t pid); }
    245 125	UNIMPL		capget
    246 126	UNIMPL		capset
    247 127	STD		{ int linux_sys_rt_sigpending( \
    248 			    linux_sigset_t *set, \
    249 			    size_t sigsetsize); }
    250 128	UNIMPL		rt_sigtimedwait
    251 129	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
    252 			    siginfo_t *uinfo); }
    253 130	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
    254 			    size_t sigsetsize); }
    255 131	STD		{ int linux_sys_sigaltstack( \
    256 			    const struct linux_sigaltstack *ss, \
    257 			    struct linux_sigaltstack *oss); }
    258 132	STD		{ int linux_sys_utime(const char *path, \
    259 			    struct linux_utimbuf *times); }
    260 133	STD		{ int linux_sys_mknod(const char *path, int mode, \
    261 			    int dev); }
    262 #ifdef EXEC_AOUT
    263 134	STD		{ int linux_sys_uselib(const char *path); }
    264 #else
    265 134	UNIMPL		sys_uselib
    266 #endif
    267 135	STD		{ int linux_sys_personality(int per); }
    268 136	UNIMPL		ustat
    269 137	STD		{ int linux_sys_statfs64(const char *path, \
    270 			    size_t sz, struct linux_statfs64 *sp); }
    271 138	STD		{ int linux_sys_fstatfs64(int fd, \
    272 			    size_t sz, struct linux_statfs64 *sp); }
    273 139	UNIMPL		sysfs
    274 140	NOARGS		{ int sys_getpriority(int which, int who); }
    275 141	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
    276 142	STD		{ int linux_sys_sched_setparam(pid_t pid, \
    277 			    const struct linux_sched_param *sp); }
    278 143	STD		{ int linux_sys_sched_getparam(pid_t pid, \
    279 			    struct linux_sched_param *sp); }
    280 144	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
    281 			    int policy, const struct linux_sched_param *sp); }
    282 145	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
    283 146	STD		{ int linux_sys_sched_get_priority_max(int policy); }
    284 147	STD		{ int linux_sys_sched_get_priority_min(int policy); }
    285 148	UNIMPL		sys_sched_rr_get_interval
    286 149	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
    287 150	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
    288 151	NOARGS		{ int sys_mlockall(int flags); }
    289 152	NOARGS		{ int sys_munlockall(void); }
    290 153	UNIMPL		vhangup
    291 154	STD		{ int linux_sys_modify_ldt(int func, void *ptr, \
    292 			    size_t bytecount); }
    293 155	UNIMPL		pivot_root
    294 156	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
    295 157	UNIMPL		prctl
    296 158	STD		{ int linux_sys_arch_prctl(int code, \
    297 			    unsigned long addr); }
    298 159	UNIMPL		adjtimex
    299 160	STD		{ int linux_sys_setrlimit(u_int which, \
    300 			    struct orlimit *rlp); }
    301 161	NOARGS		{ int sys_chroot(char *path); }
    302 162	NOARGS		{ int sys_sync(void); }
    303 163	NOARGS		{ int sys_acct(char *path); }
    304 164	STD		{ int linux_sys_settimeofday(struct timeval *tp, \
    305 			    struct timezone *tzp); }
    306 165	UNIMPL		mount
    307 166	UNIMPL		umount2
    308 167	STD		{ int linux_sys_swapon(char *name); }
    309 168	STD		{ int linux_sys_swapoff(const char *path); }
    310 169	STD		{ int linux_sys_reboot(int magic1, int magic2, \
    311 			    int cmd, void *arg); }
    312 170	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
    313 			    u_int len);}
    314 171	STD		{ int linux_sys_setdomainname(char *domainname, \
    315 			    int len); }
    316 172	STD		{ int linux_sys_iopl(int level); }
    317 173	STD		{ int linux_sys_ioperm(unsigned int lo, \
    318 			    unsigned int hi, int val); }
    319 174	UNIMPL		create_module
    320 175	UNIMPL		init_module
    321 176	UNIMPL		delete_module
    322 177	UNIMPL		get_kernel_syms
    323 178	UNIMPL		query_module
    324 179	UNIMPL		quotactl
    325 180	UNIMPL		nfsservctl
    326 181	UNIMPL		getpmsg
    327 182	UNIMPL		putpmsg
    328 183	UNIMPL		afs_syscall
    329 184	UNIMPL		tuxcall
    330 185	UNIMPL		security
    331 186	UNIMPL		gettid
    332 187	UNIMPL		readahead
    333 188	STD		{ int linux_sys_setxattr(char *path, char *name, \
    334 			    void *value, size_t size, int flags); }
    335 189	STD		{ int linux_sys_lsetxattr(char *path, char *name, \
    336 			    void *value, size_t size, int flags); }
    337 190	STD		{ int linux_sys_fsetxattr(int fd, char *name, \
    338 			    void *value, size_t size, int flags); }
    339 191	STD		{ ssize_t linux_sys_getxattr(char *path, char *name, \
    340 			    void *value, size_t size); }
    341 192	STD		{ ssize_t linux_sys_lgetxattr(char *path, char *name, \
    342 			    void *value, size_t size); }
    343 193	STD		{ ssize_t linux_sys_fgetxattr(int fd, char *name, \
    344 			    void *value, size_t size); }
    345 194	STD		{ ssize_t linux_sys_listxattr(char *path, char *list, \
    346 			    size_t size); }
    347 195	STD		{ ssize_t linux_sys_llistxattr(char *path, char *list, \
    348 			    size_t size); }
    349 196	STD		{ ssize_t linux_sys_flistxattr(int fd, char *list, \
    350 			    size_t size); }
    351 197	STD		{ int linux_sys_removexattr(char *path, char *name); }
    352 198	STD		{ int linux_sys_lremovexattr(char *path, char *name); }
    353 199	STD		{ int linux_sys_fremovexattr(int fd, char *name); }
    354 200	UNIMPL		tkill
    355 201	STD		{ int linux_sys_time(linux_time_t *t); }
    356 202	UNIMPL		futex
    357 203	UNIMPL		sched_setaffinity
    358 204	UNIMPL		sched_getaffinity
    359 205	UNIMPL		set_thread_area
    360 206	UNIMPL		io_setup
    361 207	UNIMPL		io_destroy
    362 208	UNIMPL		io_getevents
    363 209	UNIMPL		io_submit
    364 210	UNIMPL		io_cancel
    365 211	UNIMPL		get_thread_area
    366 212	UNIMPL		lookup_dcookie
    367 213	UNIMPL		epoll_create
    368 214	UNIMPL		epoll_ctl_old
    369 215	UNIMPL		epoll_wait_old
    370 216	UNIMPL		remap_file_pages
    371 217	STD		{ int linux_sys_getdents64(int fd, \
    372 			    struct linux_dirent64 *dent, unsigned int count); }
    373 218	STD		{ int linux_sys_set_tid_address(int *tid); }
    374 219	UNIMPL		restart_syscall
    375 220	UNIMPL		semtimedop
    376 221	UNIMPL		fadvise64
    377 222	UNIMPL		timer_create
    378 223	UNIMPL		timer_settime
    379 224	UNIMPL		timer_gettime
    380 225	UNIMPL		timer_getoverrun
    381 226	UNIMPL		timer_delete
    382 227	STD		{ int linux_sys_clock_settime(clockid_t which, \
    383 			    struct linux_timespec *tp); }
    384 228	STD		{ int linux_sys_clock_gettime(clockid_t which, \
    385 			    struct linux_timespec *tp); }
    386 229	STD		{ int linux_sys_clock_getres(clockid_t which, \
    387 			    struct linux_timespec *tp); }
    388 230	STD		{ int linux_sys_clock_nanosleep(clockid_t which, \
    389 			    int flags, struct linux_timespec *rqtp, \
    390 			    struct linux_timespec *rmtp); }
    391 231	STD		{ int linux_sys_exit_group(int error_code); }
    392 232	UNIMPL		epoll_wait
    393 233	UNIMPL		epoll_ctl
    394 234	UNIMPL		tgkill
    395 235	UNIMPL		utimes
    396 236	UNIMPL		vserver
    397 ; Not really syscall 237, but we need it to be defined somewhere
    398 237	STD		{ int linux_sys_nosys(void); }
    399