Home | History | Annotate | Line # | Download | only in amd64
syscalls.master revision 1.11.2.1
      1 	$NetBSD: syscalls.master,v 1.11.2.1 2007/04/15 16:03:15 yamt Exp $
      2 
      3 ; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
      4 ; (See syscalls.conf to see what it is processed into.)
      5 ;
      6 ; Fields: number type [type-dependent ...]
      7 ;	number	system call number, must be in order
      8 ;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
      9 ;		the compatibility options defined in syscalls.conf.
     10 ;
     11 ; types:
     12 ;	STD	always included
     13 ;	OBSOL	obsolete, not included in system
     14 ;	UNIMPL	unimplemented, not included in system
     15 ;	NODEF	included, but don't define the syscall number
     16 ;
     17 ;	INDIR	included, but don't define the syscall args structure
     18 ;		and allow it to be "really" varargs.
     19 ;
     20 ; The compat options are defined in the syscalls.conf file, and the
     21 ; compat option name is prefixed to the syscall name.  Other than
     22 ; that, they're like NODEF (for 'compat' options), or STD (for
     23 ; 'libcompat' options).
     24 ;
     25 ; The type-dependent arguments are as follows:
     26 ; For STD, NODEF, NOARGS, and compat syscalls:
     27 ;	{ pseudo-proto } [alias]
     28 ; For other syscalls:
     29 ;	[comment]
     30 ;
     31 ; #ifdef's, etc. may be included, and are copied to the output files.
     32 ; #include's are copied to the syscall names and switch definition files only.
     33 
     34 #if defined(_KERNEL_OPT)
     35 #include "opt_compat_43.h"
     36 #endif
     37 
     38 #include <sys/param.h>
     39 #include <sys/poll.h>
     40 #include <sys/systm.h>
     41 #include <sys/signal.h>
     42 #include <sys/mount.h>
     43 #include <sys/syscallargs.h>
     44 
     45 #include <machine/netbsd32_machdep.h>
     46 
     47 #include <compat/netbsd32/netbsd32.h>
     48 #include <compat/netbsd32/netbsd32_syscallargs.h>
     49 
     50 #include <compat/linux32/common/linux32_types.h>
     51 #include <compat/linux32/common/linux32_signal.h>
     52 #include <compat/linux32/arch/amd64/linux32_missing.h>
     53 #include <compat/linux32/linux32_syscallargs.h>
     54 
     55 #include <compat/linux/common/linux_types.h>
     56 #include <compat/linux/common/linux_mmap.h>
     57 #include <compat/linux/common/linux_signal.h>
     58 #include <compat/linux/common/linux_siginfo.h>
     59 #include <compat/linux/common/linux_machdep.h>
     60 
     61 #include <compat/linux/linux_syscallargs.h>
     62 
     63 %%
     64 
     65 0	NOARGS	{ int linux_sys_nosys(void); } syscall
     66 1	NOARGS	{ int sys_exit(int rval); }
     67 2	NOARGS	{ int sys_fork(void); }
     68 3	NOARGS	{ netbsd32_ssize_t netbsd32_read(int fd, \
     69 		    netbsd32_voidp buf, netbsd32_size_t nbyte); }
     70 4	NOARGS	{ netbsd32_ssize_t netbsd32_write(int fd, \
     71 		    const netbsd32_voidp buf, netbsd32_size_t nbyte); }
     72 5	STD	{ int linux32_sys_open(const netbsd32_charp path, int flags, \
     73 		    int mode); }
     74 6	NOARGS	{ int sys_close(int fd); }
     75 7	STD	{ int linux32_sys_waitpid(int pid, netbsd32_intp status, \
     76 		    int options);}
     77 8	STD	{ int linux32_sys_creat(const netbsd32_charp path, int mode); }
     78 9	STD	{ int linux32_sys_link(const netbsd32_charp path, \
     79 		    const netbsd32_charp link); }
     80 10	STD	{ int linux32_sys_unlink(const netbsd32_charp path); }
     81 11	NOARGS	{ int netbsd32_execve(const netbsd32_charp path, \
     82 		    netbsd32_charpp argp, netbsd32_charpp envp); }
     83 12	STD	{ int linux32_sys_chdir(const netbsd32_charp path); }
     84 13	STD	{ int linux32_sys_time(linux32_timep_t t); }
     85 14	STD	{ int linux32_sys_mknod(const netbsd32_charp path, \
     86 		    int mode, int dev); }
     87 15	STD	{ int linux32_sys_chmod(const netbsd32_charp path, int mode); }
     88 16	STD	{ int linux32_sys_lchown16(const netbsd32_charp path, \
     89 		    int uid, int gid); }
     90 17	STD	{ int linux32_sys_break(netbsd32_charp nsize); }
     91 18	OBSOL	ostat
     92 19	NOARGS	{ netbsd32_long compat_43_netbsd32_olseek(int fd, \
     93 		    netbsd32_long offset, int chence); }
     94 20	STD	{ pid_t linux_sys_getpid(void); }
     95 21	UNIMPL	mount
     96 22	UNIMPL	umount
     97 23	NOARGS	linux_setuid16 { int sys_setuid(uid_t uid); }
     98 24	NOARGS	linux_getuid16 { uid_t sys_getuid(void); }
     99 25	STD	{ int linux32_sys_stime(linux32_timep_t t); }
    100 26	UNIMPL	ptrace
    101 27	NOARGS	{ int linux_sys_alarm(unsigned int secs); }
    102 28	OBSOL	ofstat
    103 29	NOARGS	{ int linux_sys_pause(void); }
    104 30	STD	{ int linux32_sys_utime(const netbsd32_charp path, \
    105 		    linux32_utimbufp_t times); }
    106 31	OBSOL	stty
    107 32	OBSOL	gtty
    108 33	STD	{ int linux32_sys_access(const netbsd32_charp path, \
    109 		    int flags); }
    110 34	NOARGS	{ int linux_sys_nice(int incr); }
    111 35	OBSOL	ftime
    112 36	NOARGS	{ int sys_sync(void); }
    113 37	STD	{ int linux32_sys_kill(int pid, int signum); }
    114 38	STD	{ int linux32_sys_rename(const netbsd32_charp from, \
    115 		    const netbsd32_charp to); }
    116 39	STD	{ int linux32_sys_mkdir(const netbsd32_charp path, int mode); }
    117 40	STD	{ int linux32_sys_rmdir(const netbsd32_charp path); }
    118 41	NOARGS	{ int netbsd32_dup(u_int fd); }
    119 42	STD	{ int linux32_sys_pipe(netbsd32_intp fd); }
    120 43	STD	{ int linux32_sys_times(linux32_tmsp_t tms); }
    121 44	OBSOL	prof
    122 45	STD	{ int linux32_sys_brk(netbsd32_charp nsize); }
    123 46	NOARGS	linux_setgid16 { int sys_setgid(gid_t gid); }
    124 47	NOARGS	linux_getgid16 { gid_t sys_getgid(void); }
    125 48	STD	{ int linux32_sys_signal(int signum, \
    126 		    linux32_handler_t handler); }
    127 49	NOARGS	linux_geteuid16 { uid_t sys_geteuid(void); }
    128 50	NOARGS	linux_getegid16 { gid_t sys_getegid(void); }
    129 51	NOARGS	{ int netbsd32_acct(netbsd32_charp path); }
    130 52	OBSOL	phys
    131 53	OBSOL	lock
    132 54	STD	{ int linux32_sys_ioctl(int fd, netbsd32_u_long com, \
    133 		    netbsd32_charp data); }
    134 55	STD	{ int linux32_sys_fcntl(int fd, \
    135 		    int cmd, netbsd32_voidp arg); }
    136 56	OBSOL	mpx
    137 57	NOARGS	{ int sys_setpgid(int pid, int pgid); }
    138 58	OBSOL	ulimit
    139 59	STD	{ int linux32_sys_oldolduname( \
    140 		    linux32_oldold_utsnamep_t up); }
    141 60	NOARGS	{ int sys_umask(int newmask); }
    142 61	NOARGS	{ int netbsd32_chroot(netbsd32_charp path); }
    143 62	UNIMPL	ustat
    144 63	NOARGS	{ int netbsd32_dup2(u_int from, u_int to); }
    145 64	STD	{ pid_t linux_sys_getppid(void); }
    146 65	NOARGS	{ int sys_getpgrp(void); }
    147 66	NOARGS	{ int sys_setsid(void); }
    148 67	UNIMPL	sigaction
    149 68	UNIMPL	siggetmask
    150 69	UNIMPL	sigsetmask
    151 70	STD	{ int linux_sys_setreuid16(int ruid, int euid); }
    152 71	STD	{ int linux_sys_setregid16(int rgid, int egid); }
    153 72	UNIMPL	sigsuspend
    154 73	UNIMPL	sigpending
    155 74	NOARGS	{ int compat_43_netbsd32_osethostname(netbsd32_charp hostname, \
    156 		    u_int len); }
    157 75	STD	{ int linux32_sys_setrlimit(u_int which, \
    158 		    netbsd32_orlimitp_t rlp); }
    159 76	STD	{ int linux32_sys_getrlimit(u_int which, \
    160 		    netbsd32_orlimitp_t rlp); }
    161 77	NOARGS	{ int netbsd32_getrusage(int who, \
    162 		    netbsd32_rusagep_t rusage); }
    163 78	STD	{ int linux32_sys_gettimeofday(netbsd32_timevalp_t tp, \
    164 		    netbsd32_timezonep_t tzp); }
    165 79	STD	{ int linux32_sys_settimeofday(netbsd32_timevalp_t tp, \
    166 		    netbsd32_timezonep_t tzp); }
    167 80	STD	{ int linux32_sys_getgroups16(int gidsetsize, \
    168 		    linux32_gidp_t gidset); }
    169 81	STD	{ int linux32_sys_setgroups16(int gidsetsize, \
    170 		    linux32_gidp_t gidset); }
    171 82	STD	{ int linux32_sys_oldselect(linux32_oldselectp_t lsp); }
    172 83	STD	{ int linux32_sys_symlink(netbsd32_charp path, \
    173 		    const netbsd32_charp link); }
    174 84	NOARGS	{ int compat_43_netbsd32_lstat43(const netbsd32_charp \
    175 		    path, netbsd32_stat43p_t ub); }
    176 85	STD	{ int linux32_sys_readlink(const netbsd32_charp name, \
    177 		    netbsd32_charp buf, int count); }
    178 86	UNIMPL	uselib
    179 87	STD	{ int linux32_sys_swapon(netbsd32_charp name); }
    180 88	STD	{ int linux32_sys_reboot(int magic1, int magic2, int cmd, \
    181 		    netbsd32_voidp arg); }
    182 89	UNIMPL	readdir
    183 90	STD	{ int linux32_sys_old_mmap(linux32_oldmmapp lmp); }
    184 91	NOARGS	{ int netbsd32_munmap(netbsd32_caddr_t addr, int len); }
    185 92	STD	{ int linux32_sys_truncate(const netbsd32_charp path, \
    186 		    netbsd32_long length); }
    187 93	NOARGS	{ int compat_43_sys_ftruncate(int fd, long length); }
    188 94	NOARGS	{ int sys_fchmod(int fd, int mode); }
    189 95	STD	{ int linux32_sys_fchown16(int fd, int uid, int gid); }
    190 96	STD	{ int linux32_sys_getpriority(int which, int who); }
    191 97	STD	{ int linux32_sys_setpriority(int which, int who, int prio); }
    192 98	UNIMPL	profil
    193 99	STD	{ int linux32_sys_statfs(const netbsd32_charp path, \
    194 		    linux32_statfsp sp); }
    195 100	UNIMPL	fstatfs
    196 101	UNIMPL	ioperm
    197 102	STD	{ int linux32_sys_socketcall(int what, netbsd32_voidp args); }
    198 103	UNIMPL	syslog
    199 104	NOARGS	{ int netbsd32_setitimer(u_int which, \
    200 		    netbsd32_itimervalp_t itv, netbsd32_itimervalp_t oitv); }
    201 105	NOARGS	{ int netbsd32_getitimer(u_int which, \
    202 		    netbsd32_itimervalp_t itv); }
    203 106	UNIMPL	stat
    204 107	UNIMPL	lstat
    205 108	UNIMPL	fstat
    206 109	UNIMPL	olduname
    207 110	UNIMPL	iopl
    208 111	UNIMPL	vhangup
    209 112	UNIMPL	idle
    210 113	UNIMPL	vm86old
    211 114	STD	{ int linux32_sys_wait4(int pid, netbsd32_intp status, \
    212 		    int options, netbsd32_rusagep_t rusage); }
    213 115	STD	{ int linux32_sys_swapoff(const netbsd32_charp path); }
    214 116	STD	{ int linux32_sys_sysinfo(linux32_sysinfop_t arg); }
    215 117	UNIMPL	ipc
    216 118	NOARGS	{ int sys_fsync(int fd); }
    217 119	STD	{ int linux32_sys_sigreturn(linux32_sigcontextp_t scp); }
    218 120	STD	{ int linux32_sys_clone(int flags, netbsd32_voidp stack); }
    219 121	UNIMPL	setdomainname
    220 122	STD	{ int linux32_sys_uname(linux32_utsnamep up); }
    221 123	UNIMPL	modify_ldt
    222 124	UNIMPL	adjtimex
    223 125	STD	{ int linux32_sys_mprotect(netbsd32_voidp addr, \
    224 		    netbsd32_size_t len, int prot); } 
    225 126	UNIMPL	sigprocmask
    226 127	UNIMPL	create_module
    227 128	UNIMPL	init_module
    228 129	UNIMPL	delete_module
    229 130	UNIMPL	get_kernel_syms
    230 131	UNIMPL	quotactl
    231 132	UNIMPL	getpgid
    232 133	NOARGS	{ int sys_fchdir(int fd); }
    233 134	UNIMPL	bdflush
    234 135	UNIMPL	sysfs
    235 136	UNIMPL	personality
    236 137	UNIMPL	afs_syscall
    237 138	NOARGS	setfsuid16 { int linux_sys_setfsuid(uid_t uid); }
    238 139	NOARGS	getfsuid16 { int linux_sys_getfsuid(void); }
    239 140	STD	{ int linux32_sys_llseek(int fd, u_int32_t ohigh, \
    240 		    u_int32_t olow, netbsd32_caddr_t res, int whence); }
    241 141	STD	{ int linux32_sys_getdents(int fd, \
    242 		    linux32_direntp_t dent, unsigned int count); }
    243 142	STD	{ int linux32_sys_select(int nfds, \
    244 		    netbsd32_fd_setp_t readfds, \
    245 		    netbsd32_fd_setp_t writefds, \
    246 		    netbsd32_fd_setp_t exceptfds, \
    247 		    netbsd32_timevalp_t timeout); }
    248 143	NOARGS	{ int sys_flock(int fd, int how); } 
    249 144	UNIMPL	msync
    250 145	NOARGS	{ int netbsd32_readv(int fd, \
    251 		    const netbsd32_iovecp_t iovp, u_int iovcnt); }
    252 146	NOARGS	{ netbsd32_ssize_t netbsd32_writev(int fd, \
    253 		    const netbsd32_iovecp_t iovp, int iovcnt); }
    254 147	NOARGS	{ pid_t sys_getsid(pid_t pid); }
    255 148	NOARGS	{ int linux_sys_fdatasync(int fd); }
    256 149	STD	{ int linux32_sys___sysctl(linux32___sysctlp_t lsp); }
    257 150	UNIMPL	mlock
    258 151	UNIMPL	munlock
    259 152	NOARGS	{ int sys_mlockall(int flags); }
    260 153	NOARGS	{ int sys_munlockall(void); }
    261 154	UNIMPL	sched_setparam
    262 155	STD	{ int linux32_sys_sched_getparam(pid_t pid, \
    263 		    linux32_sched_paramp_t sp); }
    264 156	STD	{ int linux32_sys_sched_setscheduler(pid_t pid, \
    265 		    int policy, const linux32_sched_paramp_t sp); }
    266 157	NOARGS	{ int linux_sys_sched_getscheduler(pid_t pid); }
    267 158	NOARGS	{ int linux_sys_sched_yield(void); }
    268 159	UNIMPL	sched_get_priority_max
    269 160	UNIMPL	sched_get_priority_min
    270 161	UNIMPL	sched_rr_get_interval
    271 162	NOARGS	{ int netbsd32_nanosleep(const \
    272 		    netbsd32_timespecp_t rqtp \
    273 		    netbsd32_timespecp_t rmtp); }
    274 163	STD	{ int linux32_sys_mremap(netbsd32_voidp old_address, \
    275 		    netbsd32_size_t old_size , netbsd32_size_t new_size, \
    276 		    netbsd32_u_long flags); }
    277 164	NOARGS	{ int linux_sys_setresuid16(uid_t ruid, uid_t euid, \
    278 		    uid_t suid); }
    279 165	UNIMPL	getresuid16
    280 166	UNIMPL	vm86
    281 167	UNIMPL	query_module
    282 168	NOARGS	{ int netbsd32_poll(netbsd32_pollfdp_t fds, u_int nfds, \
    283 		   int timeout); }
    284 169	UNIMPL	nfsservctl
    285 170	NOARGS	{ int linux_sys_setresgid16(gid_t rgid, gid_t egid, \
    286 		    gid_t sgid); }
    287 171	UNIMPL	int
    288 172	UNIMPL	prctl
    289 173	STD	{ int linux32_sys_rt_sigreturn(linux32_ucontextp_t ucp); }
    290 174	STD	{ int linux32_sys_rt_sigaction(int signum, \
    291 		    const linux32_sigactionp_t nsa, \
    292 		    linux32_sigactionp_t osa, \
    293 		    netbsd32_size_t sigsetsize); }
    294 175	STD	{ int linux32_sys_rt_sigprocmask(int how, \
    295 		     const linux32_sigsetp_t set, \
    296 		     linux32_sigsetp_t oset, \
    297 		     netbsd32_size_t sigsetsize); }
    298 176	UNIMPL	rt_sigpending
    299 177	UNIMPL	rt_sigtimedwait
    300 178	UNIMPL	rt_queueinfo
    301 179	STD	{ int linux32_sys_rt_sigsuspend(linux32_sigsetp_t unewset, \
    302 		    netbsd32_size_t sigsetsize); }
    303 180	UNIMPL	pread
    304 181	UNIMPL	pwrite
    305 182	UNIMPL	chown16
    306 183	NOARGS	{ int netbsd32___getcwd(netbsd32_charp bufp, \
    307 		    netbsd32_size_t length); } 
    308 184	UNIMPL	capget
    309 185	UNIMPL	capset
    310 186	UNIMPL	sigaltstack
    311 187	UNIMPL	sendfile
    312 188	UNIMPL	getpmsg
    313 189	UNIMPL	putpmsg
    314 190	NOARGS	{ int sys___vfork14(void); }
    315 191	STD	{ int linux32_sys_ugetrlimit(int which, \
    316 		    netbsd32_orlimitp_t rlp); }
    317 192	STD	{ linux32_off_t linux32_sys_mmap2(netbsd32_u_long addr, \
    318 		    netbsd32_size_t len, int prot, int flags, int fd, \
    319 		    linux32_off_t offset); }
    320 193	UNIMPL	truncate64
    321 194	UNIMPL	ftruncate64
    322 195	STD	{ int linux32_sys_stat64(const netbsd32_charp path, \
    323 		    linux32_stat64p sp); }
    324 196	STD	{ int linux32_sys_lstat64(const netbsd32_charp path, \
    325 		    linux32_stat64p sp); }
    326 197	STD	{ int linux32_sys_fstat64(int fd, \
    327 		    linux32_stat64p sp); }
    328 198	UNIMPL	lchown
    329 199	NOARGS	{ uid_t sys_getuid(void); }
    330 200	NOARGS	{ gid_t sys_getgid(void); }
    331 201	NOARGS	{ uid_t sys_geteuid(void); }
    332 202	NOARGS	{ gid_t sys_getegid(void); }
    333 203	NOARGS	{ int sys_setreuid(uid_t ruid, uid_t euid); }
    334 204	NOARGS	{ int sys_setregid(gid_t rgid, gid_t egid); }
    335 205	NOARGS	{ int netbsd32_getgroups(int gidsetsize, \
    336 		    netbsd32_gid_tp gidset); }
    337 206	NOARGS	{ int netbsd32_setgroups(int gidsetsize, \
    338 		    netbsd32_gid_tp gidset); }
    339 207	NOARGS	{ int sys___posix_fchown(int fd, uid_t uid, gid_t gid); }
    340 208	STD	{ int linux32_sys_setresuid(uid_t ruid, uid_t euid, \
    341 		    uid_t suid); }
    342 209	UNIMPL	getresuid
    343 210	STD	{ int linux32_sys_setresgid(gid_t rgid, gid_t egid, \
    344 		    gid_t sgid); }
    345 211	UNIMPL	getresgid
    346 212	UNIMPL	chown
    347 213 	NOARGS	{ int sys_setuid(uid_t uid); }
    348 214	NOARGS	{ int sys_setgid(gid_t gid); }
    349 215	NOARGS	{ int linux_sys_setfsuid(uid_t uid); }
    350 216	NOARGS	{ int linux_sys_getfsuid(void); }
    351 217	UNIMPL	pivot_root
    352 218	UNIMPL	mincore
    353 219	NOARGS	{ int netbsd32_madvise(netbsd32_voidp addr, \
    354 		    netbsd32_size_t len, int behav); }
    355 220	STD	{ int linux32_sys_getdents64(int fd, \
    356 		    linux32_dirent64p_t dent, unsigned int count); }
    357 221	STD	{ int linux32_sys_fcntl64(int fd, \
    358 		    int cmd, netbsd32_voidp arg); }
    359 222	UNIMPL	/*	unused	*/
    360 223	UNIMPL	/*	unused	*/
    361 224	STD	{ pid_t linux_sys_gettid(void); }
    362 225	UNIMPL	readahead
    363 226	UNIMPL	setxattr
    364 227	UNIMPL	lsetxattr
    365 228	UNIMPL	fsetxattr
    366 229	UNIMPL	getxattr
    367 230	UNIMPL	lgetxattr
    368 231	UNIMPL	fgetxattr
    369 232	UNIMPL	listxattr
    370 233	UNIMPL	llistxattr
    371 234	UNIMPL	flistxattr
    372 235	UNIMPL	removexattr
    373 236	UNIMPL	lremovexattr
    374 237	UNIMPL	fremovexattr
    375 238	UNIMPL	tkill
    376 239	UNIMPL	sendfile64
    377 240	UNIMPL	futex
    378 241	UNIMPL	sched_setaffinity
    379 242	UNIMPL	sched_getaffinity
    380 243	UNIMPL	set_thread_area
    381 244	UNIMPL	get_thread_area
    382 245	UNIMPL	io_setup
    383 246	UNIMPL	io_destroy
    384 247	UNIMPL	io_getevents
    385 248	UNIMPL	io_submit
    386 249	UNIMPL	io_cancel
    387 250	UNIMPL	fadvise64
    388 251	UNIMPL	/*	unused	*/
    389 252	NOARGS	{ int linux_sys_exit_group(int error_code); }
    390 253	UNIMPL	lookup_dcookie
    391 254	UNIMPL	epoll_create
    392 255	UNIMPL	epoll_ctl
    393 256	UNIMPL	epoll_wait
    394 257	UNIMPL	remap_file_pages
    395 258	UNIMPL	set_tid_address
    396 259	UNIMPL	timer_create
    397 260	UNIMPL	timer_settime
    398 261	UNIMPL	timer_gettime
    399 262	UNIMPL	timer_getoverrun
    400 263	UNIMPL	timer_delete
    401 264	UNIMPL	clock_settime
    402 265	UNIMPL	clock_gettime
    403 266	UNIMPL	clock_getres
    404 267	UNIMPL	clock_nanosleep
    405 268	UNIMPL	statfs64
    406 269	UNIMPL	fstatfs64
    407 270	UNIMPL	tgkill
    408 271	UNIMPL	utimes
    409 272	UNIMPL	fadvise64_64
    410 273	UNIMPL	vserver
    411 274	UNIMPL	mbind
    412 275	UNIMPL	get_mempolicy
    413 276	UNIMPL	set_mempolicy
    414 277	UNIMPL	mq_open
    415 278	UNIMPL	mq_unlink
    416 279	UNIMPL	mq_timedsend
    417 280	UNIMPL	mq_timedreceive
    418 281	UNIMPL	mq_notify
    419 282	UNIMPL	mq_getsetattr
    420 283	UNIMPL	kexec_load
    421