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