Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.98
      1 	$NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp $
      2 ;
      3 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
      4 
      5 ; NetBSD alpha 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 ; (ERH: 3/18/00)
     37 ;
     38 ; XXX XAX things to do:
     39 ;		make sure non-linux_foo() matches real linux syscalls.
     40 ;			create new linux_foo functions otherwise
     41 ;			(i.e. reboot, msgrcv? )
     42 ;		make sure linux_foo() matches expected prototypes in .c files.
     43 ;		kill not used functions.  (ifdef the actual code)
     44 ;		make linux_sys_sigreturn in linux_machdep.c use frame.extramask
     45 ;
     46 ; NOT USED = This syscall is not really used in Linux, except in its
     47 ;		osf compat mode.  Since Linux binaries shouldn't ever
     48 ;		call it and osf binaries run under a different emulation,
     49 ;		it shouldn't matter that the linux version of the
     50 ;		function might not DTRT.  Define it anyway so we
     51 ;		don't have to split off or ifdef the associated function.
     52 ; 		    A bit better might be to have makesyscalls identify this
     53 ; 		as "define but don't include in table" so it doesn't actually
     54 ; 		ever get called.
     55 ; UNIMPL <blank> = not implemented here nor in linux source
     56 ; UNIMPL osf_*   = osf functions implemented in linux, not here.
     57 ;
     58 
     59 #if defined(_KERNEL_OPT)
     60 #include "opt_sysv.h"
     61 #endif
     62 
     63 #include <sys/param.h>
     64 #include <sys/poll.h>
     65 #include <sys/systm.h>
     66 #include <sys/signal.h>
     67 #include <sys/mount.h>
     68 #include <sys/syscallargs.h>
     69 
     70 #include <compat/linux/common/linux_types.h>
     71 #include <compat/linux/common/linux_signal.h>
     72 #include <compat/linux/common/linux_siginfo.h>
     73 #include <compat/linux/common/linux_ipc.h>
     74 #include <compat/linux/common/linux_msg.h>
     75 #include <compat/linux/common/linux_sem.h>
     76 #include <compat/linux/common/linux_shm.h>
     77 #include <compat/linux/common/linux_mmap.h>
     78 ;#include <compat/linux/common/linux_machdep.h>
     79 
     80 #include <compat/linux/linux_syscallargs.h>
     81 #include <compat/linux/arch/alpha/linux_osf1.h>
     82 
     83 %%
     84 
     85 0	NOARGS		{ int|linux_sys||nosys(void); } syscall
     86 1	STD		{ int|linux_sys||exit(int rval); }
     87 2	NOARGS		{ int|sys||fork(void); }
     88 3	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
     89 4	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
     90 			    size_t nbyte); }
     91 5	UNIMPL
     92 6	NOARGS		{ int|sys||close(int fd); }
     93 7	STD		{ int|linux_sys||osf1_wait4(int pid, int *status, \
     94 			    int options, struct osf1_rusage *rusage); }
     95 ;8	ALIAS		osf1_sys_old_creat, NOT USED
     96 8	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
     97 9	NOARGS		{ int|sys||link(const char *path, const char *link); }
     98 10	STD		{ int|linux_sys||unlink(const char *path); }
     99 11	UNIMPL
    100 12	NOARGS		{ int|sys||chdir(const char *path); }
    101 13	NOARGS		{ int|sys||fchdir(int fd); }
    102 14	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
    103 			    unsigned dev); }
    104 15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
    105 16	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
    106 			    gid_t gid); }
    107 ;17	ALIAS		osf1_sys_brk
    108 17	STD		{ int|linux_sys||brk(char *nsize); }
    109 18	UNIMPL
    110 19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
    111 			    int whence); }
    112 20	NOARGS		{ pid_t|sys||getpid_with_ppid(void); }
    113 21	STD		{ int|linux_sys||osf1_mount(int type, const char *path, \
    114 			    int flags, void *data); }
    115 22	UNIMPL		umount
    116 23	NOARGS		{ int|sys||setuid(uid_t uid); }
    117 24	NOARGS		{ uid_t|sys||getuid_with_euid(void); }
    118 25	UNIMPL
    119 26	STD		{ int|linux_sys||ptrace(long request, long pid, \
    120 			  long addr, long data); }
    121 27	UNIMPL
    122 28	UNIMPL
    123 29	UNIMPL
    124 30	UNIMPL
    125 31	UNIMPL
    126 32	UNIMPL
    127 33	NOARGS		{ int|sys||access(const char *path, int flags); }
    128 34	UNIMPL
    129 35	UNIMPL
    130 36	NOARGS		{ int|sys||sync(void); }
    131 37	STD		{ int|linux_sys||kill(int pid, int signum); }
    132 38	UNIMPL
    133 39	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
    134 40	UNIMPL
    135 41	NOARGS		{ int|sys||dup(int fd); }
    136 42	NOARGS		{ int|linux_sys||pipe(void); }
    137 43	STD		{ int|linux_sys||osf1_set_program_attributes( \
    138 			    void *taddr, unsigned long tsize, \
    139 			    void *daddr, unsigned long dsize); }
    140 44	UNIMPL
    141 45	STD		{ int|linux_sys||open(const char *path, int flags, \
    142 			    linux_umode_t mode); }
    143 46	UNIMPL
    144 47	NOARGS		{ gid_t|sys||getgid_with_egid(void); }
    145 ; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask);
    146 ; XXX <- copied from osf1/syscalls.master
    147 48	NOARGS		{ int|compat_13_sys||sigprocmask(int how, \
    148 			    sigset13_t mask); }
    149 49	UNIMPL
    150 50	UNIMPL
    151 51	NOARGS		{ int|sys||acct(const char *path); }
    152 52	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
    153 53	UNIMPL
    154 54	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
    155 			    void *data); }
    156 55	UNIMPL
    157 56	UNIMPL
    158 57	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
    159 58	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
    160 			    int count); }
    161 59	NOARGS		{ int|sys||execve(const char *path, char **argp, \
    162 			    char **envp); }
    163 60	NOARGS		{ mode_t|sys||umask(mode_t newmask); }
    164 61	NOARGS		{ int|sys||chroot(const char *path); }
    165 62	UNIMPL
    166 63	NOARGS		{ int|sys||getpgrp(void); }
    167 64	NOARGS		{ int|compat_43_sys||getpagesize(void); }
    168 65	UNIMPL
    169 66	NOARGS		{ int|sys|14|vfork(void); }
    170 67	STD		{ int|linux_sys||stat(const char *path, \
    171 			    struct linux_stat *sp); }
    172 68	STD		{ int|linux_sys||lstat(const char *path, \
    173 			    struct linux_stat *sp); }
    174 69	UNIMPL
    175 70	UNIMPL
    176 ;71	ALIAS		osf1_sys_mmap
    177 71	NOARGS		{ int|linux_sys||mmap(unsigned long addr, size_t len, \
    178 			    int prot, int flags, int fd, linux_off_t offset); }
    179 72	UNIMPL
    180 73	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
    181 74	STD		{ int|linux_sys||mprotect(const void *start, \
    182 			    unsigned long len, int prot); }
    183 75	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
    184 76	UNIMPL		vhangup
    185 77	UNIMPL
    186 78	UNIMPL
    187 79	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
    188 80	NOARGS		{ int|sys||setgroups(int gidsetsize, const gid_t *gidset); }
    189 81	UNIMPL
    190 82	UNIMPL		setpgrp
    191 83	STD		{ int|linux_sys||osf1_setitimer(int which, \
    192 			    struct osf1_itimerval *itv, \
    193 			    struct osf1_itimerval *oitv); }
    194 84	UNIMPL
    195 85	UNIMPL
    196 86	UNIMPL		osf1_sys_getitimer
    197 87	NOARGS		{ int|compat_43_sys||gethostname(char *hostname, \
    198 			    u_int len); }
    199 88	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
    200 			    u_int len); }
    201 89	UNIMPL		getdtablesize
    202 90	NOARGS		{ int|sys||dup2(int from, int to); }
    203 91	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
    204 92	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
    205 93	STD		{ int|linux_sys||osf1_select(u_int nd, fd_set *in, \
    206 			    fd_set *ou, fd_set *ex, struct osf1_timeval *tv); }
    207 94	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
    208 			    int timeout); }
    209 95	NOARGS		{ int|sys||fsync(int fd); }
    210 96	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
    211 97	STD		{ int|linux_sys||socket(int domain, int type, \
    212 			    int protocol); }
    213 98	STD		{ int|linux_sys||connect(int s, \
    214 			    const struct osockaddr *name, \
    215 			    unsigned int namelen); }
    216 99	STD		{ int|linux_sys||accept(int s, \
    217 				struct osockaddr *name, int *anamelen); }
    218 ;100	ALIAS		osf1_sys_getpriority
    219 100	STD		{ int|linux_sys||getpriority(int which, int who); }
    220 101	STD		{ int|linux_sys||send(int s, void *buf, int len, \
    221 				int flags); }
    222 102	STD		{ int|linux_sys||recv(int s, void *buf, int len, \
    223 				int flags); }
    224 103	STD		{ int|linux_sys||sigreturn(struct linux_sigframe *sfp); }
    225 104	STD		{ int|linux_sys||bind(int s,	     \
    226 				const struct osockaddr *name, \
    227 				unsigned int namelen); }
    228 105	STD		{ int|linux_sys||setsockopt(int s, int level, \
    229 				int optname, void *optval, int optlen); }
    230 106	NOARGS		{ int|sys||listen(int s, int backlog); }
    231 107	UNIMPL
    232 108	UNIMPL
    233 109	UNIMPL
    234 110	UNIMPL
    235 
    236 111	STD		{ int|linux_sys||sigsuspend(void *restart, \
    237 			    int oldmask, int mask); }
    238 ;112	ALIAS		osf1_sys_sigstack
    239 112	NOARGS		{ int|compat_43_sys||sigstack(struct sigstack *nss, \
    240 			    struct sigstack *oss); }
    241 113	STD		{ ssize_t|linux_sys||recvmsg(int s, \
    242 			    struct linux_msghdr *msg, int flags); }
    243 114	STD		{ ssize_t|linux_sys||sendmsg(int s, \
    244 				const struct linux_msghdr *msg, int flags); }
    245 115	UNIMPL
    246 116	STD		{ int|linux_sys||osf1_gettimeofday(struct osf1_timeval *tv, \
    247 			    struct osf1_timezone *tzp); }
    248 117	STD		{ int|linux_sys||osf1_getrusage(int who, \
    249 			    struct osf1_rusage *rusage); }
    250 118	STD		{ int|linux_sys||getsockopt(int s, int level, \
    251 				int optname, void *optval, int *optlen); }
    252 119	UNIMPL
    253 120	NOARGS		{ ssize_t|sys||readv(int fd, const struct iovec *iovp, \
    254 				int iovcnt); }
    255 121	NOARGS		{ ssize_t|sys||writev(int fd, const struct iovec *iovp, \
    256 				int iovcnt); }
    257 122	STD		{ int|linux_sys||osf1_settimeofday(struct osf1_timeval *tv, \
    258 			    struct osf1_timezone *tzp); }
    259 123	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
    260 			    gid_t gid); }
    261 124	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
    262 125	STD		{ int|linux_sys||recvfrom(int s, void *buf, int len, \
    263 				int flags, struct osockaddr *from, \
    264 				int *fromlenaddr); }
    265 126	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
    266 127	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
    267 128	NOARGS		{ int|sys||__posix_rename(const char *from, const char *to); }
    268 129	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
    269 				long length); }
    270 130	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
    271 131	NOARGS		{ int|sys||flock(int fd, int how); }
    272 132	NOARGS		{ int|sys||setgid(gid_t gid); }
    273 133	STD		{ int|linux_sys||sendto(int s, void *msg, int len, \
    274 				int flags, struct osockaddr *to, int tolen); }
    275 134	NOARGS		{ int|sys||shutdown(int s, int how); }
    276 135	STD		{ int|linux_sys||socketpair(int domain, int type, \
    277 				int protocol, int *rsv); }
    278 136	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
    279 137	NOARGS		{ int|sys||rmdir(const char *path); }
    280 138	STD		{ int|linux_sys||osf1_utimes(const char *path, \
    281 			    const struct osf1_timeval *tptr); }
    282 139	UNIMPL
    283 140	UNIMPL
    284 141	STD		{ int|linux_sys||getpeername(int fdes, \
    285 				void *asa, int *alen); }
    286 142	UNIMPL
    287 143	UNIMPL
    288 144	STD		{ int|linux_sys||getrlimit(int which, \
    289 			    struct orlimit *rlp); }
    290 145	STD		{ int|linux_sys||setrlimit(int which, \
    291 			    const struct orlimit *rlp); }
    292 146	UNIMPL
    293 147	NOARGS		{ int|sys||setsid(void); }
    294 148	UNIMPL		quotactl
    295 149	UNIMPL
    296 150	STD		{ int|linux_sys||getsockname(int fdec, \
    297 				void *asa, int *alen); }
    298 151	UNIMPL
    299 152	UNIMPL
    300 153	UNIMPL
    301 154	UNIMPL
    302 155	UNIMPL
    303 ;156	ALIAS		osf1_sys_sigaction
    304 156	STD		{ int|linux_sys||sigaction(int signum, \
    305 				const struct linux_old_sigaction *nsa, \
    306 				struct linux_old_sigaction *osa); }
    307 157	UNIMPL
    308 158	UNIMPL
    309 ;159	ALIAS		osf1_sys_getdirentries
    310 159	NOARGS		{ int|compat_43_sys||getdirentries(int fd, char *buf, \
    311 			    u_int count, long *basep); }
    312 160	STD		{ int|linux_sys||osf1_statfs(const char *path, \
    313 			    struct osf1_statfs *buf, int len); }
    314 161	STD		{ int|linux_sys||osf1_fstatfs(int fd, \
    315 			    struct osf1_statfs *buf, int len); }
    316 162	UNIMPL
    317 163	UNIMPL
    318 164	UNIMPL
    319 ;165	ALIAS		osf1_sys_getdomainname
    320 165	NOARGS		{ int|compat_09_sys||getdomainname(char *domainname, \
    321 			    int len); }
    322 166	STD		{ int|linux_sys||setdomainname(char *domainname, \
    323                             int len); }
    324 167	UNIMPL
    325 168	UNIMPL
    326 169	UNIMPL
    327 170	UNIMPL
    328 171	UNIMPL
    329 172	UNIMPL
    330 173	UNIMPL
    331 174	UNIMPL
    332 175	UNIMPL
    333 176	UNIMPL
    334 177	UNIMPL
    335 178	UNIMPL
    336 179	UNIMPL
    337 180	UNIMPL
    338 181	UNIMPL
    339 182	UNIMPL
    340 183	UNIMPL
    341 184	UNIMPL
    342 185	UNIMPL
    343 186	UNIMPL
    344 187	UNIMPL
    345 188	UNIMPL
    346 189	UNIMPL
    347 190	UNIMPL
    348 ; XXX: Dunno
    349 191	STD		{ int|linux_sys||ugetrlimit(int which, \
    350 			    struct rlimit *rlp); }
    351 192	UNIMPL		mmap2
    352 193	UNIMPL
    353 194	UNIMPL
    354 195	UNIMPL
    355 196	UNIMPL
    356 197	UNIMPL
    357 198	UNIMPL
    358 199	UNIMPL		osf1_sys_swapon
    359 #ifdef SYSVMSG
    360 200	NOARGS		{ int|linux_sys||msgctl(int msqid, int cmd, \
    361 			    struct linux_msqid_ds *buf); }
    362 201	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
    363 202	NOARGS		{ ssize_t|sys||msgrcv(int msqid, void *msgp, \
    364 			    size_t msgsz, long msgtyp, int msgflg); }
    365 203	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
    366 			    int msgflg); }
    367 #else
    368 200	UNIMPL		msgctl
    369 201	UNIMPL		msgget
    370 202	UNIMPL		msgrcv
    371 203	UNIMPL		msgsnd
    372 #endif
    373 #ifdef SYSVSEM
    374 204	NOARGS		{ int|linux_sys||semctl(int semid, int semnum, \
    375 			    int cmd, union linux_semun arg); }
    376 205	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
    377 206	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
    378 			    size_t nsops); }
    379 #else
    380 204	UNIMPL		semctl
    381 205	UNIMPL		semget
    382 206	UNIMPL		semop
    383 #endif
    384 ;207	ALIAS		osf1_sys_utsname
    385 207	STD		{ int|linux_sys||olduname(struct linux_old_utsname *up); }
    386 208	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
    387 			    gid_t gid); }
    388 #ifdef SYSVSHM
    389 209	NOARGS		{ int|linux_sys||shmat(int shmid, void *shmaddr, \
    390 			    int shmflg, u_long *raddr); }
    391 210	NOARGS		{ int|linux_sys||shmctl(int shmid, int cmd, \
    392 			    struct linux_shmid_ds *buf); }
    393 211	NOARGS		{ int|sys||shmdt(const void *shmaddr); }
    394 212	NOARGS		{ int|linux_sys||shmget(key_t key, size_t size, int shmflg); }
    395 #else
    396 209	UNIMPL		shmat
    397 210	UNIMPL		shmctl
    398 211	UNIMPL		shmdt
    399 212	UNIMPL		shmget
    400 #endif
    401 213	UNIMPL
    402 214	UNIMPL
    403 215	UNIMPL
    404 216	UNIMPL
    405 217	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
    406 218	UNIMPL
    407 219	UNIMPL
    408 220	UNIMPL
    409 221	UNIMPL
    410 222	UNIMPL
    411 223	UNIMPL
    412 224	UNIMPL
    413 225	UNIMPL
    414 226	UNIMPL
    415 227	UNIMPL
    416 228	UNIMPL
    417 229	UNIMPL
    418 230	UNIMPL
    419 231	UNIMPL
    420 232	UNIMPL
    421 233	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
    422 234	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
    423 235	UNIMPL		sigaltstack
    424 236	UNIMPL
    425 237	UNIMPL
    426 238	UNIMPL
    427 239	UNIMPL
    428 240	UNIMPL
    429 241	STD		{ int|linux_sys||osf1_sysinfo(int cmd, char *buf, long len); }
    430 242	UNIMPL
    431 243	UNIMPL
    432 244	UNIMPL		osf1_sys_proplist_syscall
    433 245	UNIMPL
    434 246	UNIMPL
    435 247	UNIMPL
    436 248	UNIMPL
    437 249	UNIMPL
    438 250	UNIMPL
    439 251	STD		{ int|linux_sys||osf1_usleep_thread( \
    440 			    struct osf1_timeval *sleep, \
    441 			    struct osf1_timeval *slept); }
    442 252	UNIMPL
    443 253	UNIMPL
    444 254	UNIMPL
    445 255	UNIMPL		sysfs
    446 256	STD		{ int|linux_sys||osf1_getsysinfo(u_long op, void *buffer, \
    447 			    u_long nbytes, void *arg, u_long flag); }
    448 257	STD		{ int|linux_sys||osf1_setsysinfo(u_long op, void *buffer, \
    449 			    u_long nbytes, void *arg, u_long flag); }
    450 258	UNIMPL
    451 259	UNIMPL
    452 260	UNIMPL
    453 ; This entry doesn't exist in the Alpha linux syscall table but the function is
    454 ; implemented and used on other ports.
    455 261	STD		{ int|linux_sys||fdatasync(int fd); }
    456 262	UNIMPL
    457 263	UNIMPL
    458 264	UNIMPL
    459 265	UNIMPL
    460 266	UNIMPL
    461 267	UNIMPL
    462 268	UNIMPL
    463 269	UNIMPL
    464 270	UNIMPL
    465 271	UNIMPL
    466 272	UNIMPL
    467 273	UNIMPL
    468 274	UNIMPL
    469 275	UNIMPL
    470 276	UNIMPL
    471 277	UNIMPL
    472 278	UNIMPL
    473 279	UNIMPL
    474 280	UNIMPL
    475 281	UNIMPL
    476 282	UNIMPL
    477 283	UNIMPL
    478 284	UNIMPL
    479 285	UNIMPL
    480 286	UNIMPL
    481 287	UNIMPL
    482 288	UNIMPL
    483 289	UNIMPL
    484 290	UNIMPL
    485 291	UNIMPL
    486 292	UNIMPL
    487 293	UNIMPL
    488 294	UNIMPL
    489 295	UNIMPL
    490 296	UNIMPL
    491 297	UNIMPL
    492 298	UNIMPL
    493 299	UNIMPL
    494 300	UNIMPL		bdflush
    495 301	UNIMPL		sethae
    496 302	UNIMPL		mount
    497 303	UNIMPL		old_adjtimex
    498 304	STD		{ int|linux_sys||swapoff(const char *path); }
    499 305	STD		{ int|linux_sys||getdents(int fd, \
    500 			    struct linux_dirent *dent, unsigned int count); }
    501 306	UNIMPL		alpha_create_module
    502 307	UNIMPL		init_module
    503 308	UNIMPL		delete_module
    504 309	UNIMPL		get_kernel_syms
    505 310	UNIMPL		syslog
    506 311	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
    507 			    int cmd, void *arg); }
    508 312	STD		{ int|linux_sys||clone(int flags, void *stack, \
    509 			    void *parent_tidptr, void *child_tidptr, void *tls); }
    510 #ifdef EXEC_AOUT
    511 313	STD		{ int|linux_sys||uselib(const char *path); }
    512 #else
    513 313	UNIMPL		sys_uselib
    514 #endif
    515 314	NOARGS		{ int|sys||mlock(const void *addr, size_t len); }
    516 315	NOARGS		{ int|sys||munlock(const void *addr, size_t len); }
    517 316	NOARGS		{ int|sys||mlockall(int flags); }
    518 317	NOARGS		{ int|sys||munlockall(void); }
    519 318	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
    520 319	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
    521 320	UNIMPL		idle
    522 321	UNIMPL		oldumount
    523 322	STD		{ int|linux_sys||swapon(const char *name); }
    524 323	STD		{ int|linux_sys||times(struct times *tms); }
    525 324	STD		{ int|linux_sys||personality(unsigned long per); }
    526 325	STD		{ int|linux_sys||setfsuid(uid_t uid); }
    527 326	STD		{ int|linux_sys||setfsgid(gid_t gid); }
    528 327	UNIMPL		ustat
    529 328	STD		{ int|linux_sys||statfs(const char *path, \
    530 			    struct linux_statfs *sp); }
    531 329	STD		{ int|linux_sys||fstatfs(int fd, \
    532 			    struct linux_statfs *sp); }
    533 330	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
    534 			    const struct linux_sched_param *sp); }
    535 331	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
    536 			    struct linux_sched_param *sp); }
    537 332	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
    538 			    int policy, const struct linux_sched_param *sp); }
    539 333	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
    540 334	STD		{ int|linux_sys||sched_yield(void); }
    541 335	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
    542 336	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
    543 337	UNIMPL		sched_rr_get_interval
    544 338	UNIMPL		afs_syscall
    545 339	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
    546 340	STD		{ int|linux_sys||nanosleep( \
    547 			    const struct linux_timespec *rqtp, \
    548 			    struct linux_timespec *rmtp); }
    549 341	STD		{ void *|linux_sys||mremap(void *old_address, \
    550 			    size_t old_size, size_t new_size, u_long flags); }
    551 342	UNIMPL		nfsservctl
    552 343	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
    553 			    uid_t suid); }
    554 344	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
    555 			    uid_t *suid); }
    556 345	UNIMPL		pciconfig_read
    557 346	UNIMPL		pciconfig_write
    558 347	UNIMPL		query_module
    559 348	UNIMPL		prctl
    560 349	STD		{ int|linux_sys||pread(int fd, char *buf, \
    561 			    size_t nbyte, off_t offset); }
    562 350	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
    563 			    size_t nbyte, off_t offset); }
    564 351	STD		{ int|linux_sys||rt_sigreturn( \
    565 				struct linux_rt_sigframe *sfp); }
    566 352	STD		{ int|linux_sys||rt_sigaction(int signum, \
    567 				const struct linux_sigaction *nsa, \
    568 				struct linux_sigaction *osa, \
    569 				size_t sigsetsize); }
    570 353	STD		{ int|linux_sys||rt_sigprocmask(int how, \
    571 			    const linux_sigset_t *set, \
    572 			    linux_sigset_t *oset, \
    573 			    size_t sigsetsize); }
    574 354	STD		{ int|linux_sys||rt_sigpending( \
    575 			    linux_sigset_t *set, \
    576 			    size_t sigsetsize); }
    577 355	STD		{ int|linux_sys||rt_sigtimedwait( \
    578 			    const linux_sigset_t *set, \
    579 			    linux_siginfo_t *info, \
    580 			    const struct linux_timespec *timeout); }
    581 356	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
    582 			    linux_siginfo_t *uinfo); }
    583 357	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
    584 			    size_t sigsetsize); }
    585 358	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
    586 			    fd_set *writefds, fd_set *exceptfds, \
    587 			    struct timeval50 *timeout); }
    588 359	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
    589 			    struct timezone *tzp); }
    590 360	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
    591 			    struct timezone *tzp); }
    592 361	NOARGS		{ int|compat_50_sys||getitimer(int which, \
    593 			    struct itimerval50 *itv); }
    594 362	NOARGS		{ int|compat_50_sys||setitimer(int which, \
    595 			    const struct itimerval50 *itv, \
    596 			    struct itimerval50 *oitv); }
    597 363	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
    598 			    const struct timeval50 *tptr); }
    599 364	NOARGS		{ int|compat_50_sys||getrusage(int who, \
    600 			    struct rusage50 *rusage); }
    601 365	STD		{ int|linux_sys||wait4(int pid, int *status, \
    602 			    int options, struct rusage50 *rusage); }
    603 366	UNIMPL		adjtimex
    604 367	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
    605 368	UNIMPL		capget
    606 369	UNIMPL		capset
    607 370	UNIMPL		sendfile
    608 371	UNIMPL		setresgid
    609 372	UNIMPL		getresgid
    610 373	UNIMPL		sys_dipc
    611 374	UNIMPL		pivot_root
    612 375	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
    613 376	UNIMPL		pciconfig_iobase
    614 377	STD		{ int|linux_sys||getdents64(int fd, \
    615 			    struct linux_dirent64 *dent, unsigned int count); }
    616 378	NOARGS		{ pid_t|linux_sys||gettid(void); }
    617 379	UNIMPL		readahead
    618 380	UNIMPL		/* unused */
    619 381	STD		{ int|linux_sys||tkill(int tid, int sig); }
    620 382	STD		{ int|linux_sys||setxattr(char *path, char *name, \
    621 			    void *value, size_t size, int flags); }
    622 383	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
    623 			    void *value, size_t size, int flags); }
    624 384	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
    625 			    void *value, size_t size, int flags); }
    626 385	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
    627 			    void *value, size_t size); }
    628 386	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
    629 			    void *value, size_t size); }
    630 387	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
    631 			    void *value, size_t size); }
    632 388	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
    633 			    size_t size); }
    634 389	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
    635 			    size_t size); }
    636 390	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
    637 			    size_t size); }
    638 391	STD		{ int|linux_sys||removexattr(char *path, char *name); }
    639 392	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
    640 393	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
    641 394	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
    642 			    const struct linux_timespec *timeout, int *uaddr2, \
    643 			    int val3); }
    644 395	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
    645 			    unsigned int len, unsigned long *mask); }
    646 396	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
    647 			    unsigned int len, unsigned long *mask); }
    648 397	UNIMPL		tuxcall
    649 398	UNIMPL		io_setup
    650 399	UNIMPL		io_destroy
    651 400	UNIMPL		io_getevents
    652 401	UNIMPL		io_submit
    653 402	UNIMPL		io_cancel
    654 403	UNIMPL		/* unused */
    655 404	UNIMPL		/* unused */
    656 405	STD		{ int|linux_sys||exit_group(int error_code); }
    657 406	UNIMPL		lookup_dcookie
    658 407	UNIMPL		sys_epoll_create
    659 408	UNIMPL		sys_epoll_ctl
    660 409	UNIMPL		sys_epoll_wait
    661 410	UNIMPL		remap_file_pages
    662 411	STD		{ int|linux_sys||set_tid_address(int *tid); }
    663 412	UNIMPL		restart_syscall
    664 413	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
    665 			    size_t len, int advice); }
    666 414	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
    667 			    struct linux_sigevent *evp, timer_t *timerid); }
    668 415	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
    669 			    int flags, const struct linux_itimerspec *tim, \
    670 			    struct linux_itimerspec *otim); }
    671 416	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
    672 			    struct linux_itimerspec *tim); }
    673 417	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
    674 418	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
    675 419	STD		{ int|linux_sys||clock_settime(clockid_t which, \
    676 			    struct linux_timespec *tp); }
    677 420	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
    678 			    struct linux_timespec *tp); }
    679 421	STD		{ int|linux_sys||clock_getres(clockid_t which, \
    680 			    struct linux_timespec *tp); }
    681 422	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
    682 			    int flags, struct linux_timespec *rqtp, \
    683 			    struct linux_timespec *rmtp); }
    684 423	UNIMPL		semtimedop
    685 424	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
    686 425	STD		{ int|linux_sys||stat64(const char *path, \
    687 			    struct linux_stat64 *sp); }
    688 426	STD		{ int|linux_sys||lstat64(const char *path, \
    689 			    struct linux_stat64 *sp); }
    690 427	STD		{ int|linux_sys||fstat64(int fd, \
    691 			    struct linux_stat64 *sp); }
    692 428	UNIMPL		vserver
    693 429	UNIMPL		mbind
    694 430	UNIMPL		get_mempolicy
    695 431	UNIMPL		set_mempolicy
    696 432	UNIMPL		mq_open
    697 433	UNIMPL		mq_unlink
    698 434	UNIMPL		mq_timedsend
    699 435	UNIMPL		mq_timedreceive
    700 436	UNIMPL		mq_notify
    701 437	UNIMPL		mq_getsetattr
    702 438	UNIMPL		waitid
    703 439	UNIMPL		add_key
    704 440	UNIMPL		request_key
    705 441	UNIMPL		keyctl
    706 442	UNIMPL		ioprio_set
    707 443	UNIMPL		ioprio_get
    708 444	UNIMPL		inotify_init
    709 445	UNIMPL		inotify_add_watch
    710 446	UNIMPL		inotify_rm_watch
    711 447	UNIMPL		fdatasync
    712 448	UNIMPL		kexec_load
    713 449	UNIMPL		migrate_pages
    714 450	STD 		{ int|linux_sys||openat(int fd, const char *path, \
    715 			    int flags, ... linux_umode_t mode); }
    716 451	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
    717 			    linux_umode_t mode); }
    718 452	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
    719 			    linux_umode_t mode, unsigned dev); }
    720 453	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
    721 			    uid_t owner, gid_t group, int flag); }
    722 454	UNIMPL		futimesat
    723 455	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
    724 			    struct linux_stat64 *sp, int flag); }
    725 456	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
    726 			    int flag); }
    727 457	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
    728 			    int tofd, const char *to); }
    729 458	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
    730 			    int fd2, const char *name2, int flags); }
    731 459	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
    732 			    const char *path2); }
    733 460	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
    734 			    char *buf, size_t bufsize); }
    735 461	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
    736 			    linux_umode_t mode); }
    737 462	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
    738 			    int amode); }
    739 463	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
    740 			   fd_set *writefds, fd_set *exceptfds, \
    741 			   struct linux_timespec *timeout, \
    742 			   linux_sized_sigset_t *ss); }
    743 464	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
    744 			    struct linux_timespec *timeout, \
    745 			    linux_sigset_t *sigset); }
    746 465	UNIMPL		unshare
    747 			;
    748 			; The NetBSD native robust list calls have different
    749 			; argument names / types, but they are ABI-compatible
    750 			; with Linux.
    751 			;
    752 466	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
    753 			    size_t len); }
    754 467	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
    755 			    void **headp, size_t *lenp); }
    756 468	UNIMPL		splice
    757 469	UNIMPL		sync_file_range
    758 470	UNIMPL		tee
    759 471	UNIMPL		vmsplice
    760 472	UNIMPL		move_pages
    761 473	UNIMPL		getcpu
    762 474	UNIMPL		epoll_wait
    763 475	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
    764 			    struct linux_timespec *times, int flag); }
    765 476	UNIMPL		signalfd
    766 477	UNIMPL		timerfd
    767 478	UNIMPL		eventfd
    768 479	STD		{ int|linux_sys||recvmmsg(int s, \
    769 			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
    770 			    unsigned int flags, struct timespec *timeout); }
    771 480	STD		{ int|linux_sys||fallocate(int fd, int mode, \
    772 			    off_t offset, off_t len); }
    773 481	UNIMPL		timerfd_create
    774 482	UNIMPL		timerfd_settime
    775 483	UNIMPL		timerfd_gettime
    776 484	UNIMPL		signalfd4
    777 485	UNIMPL		eventfd2
    778 486	UNIMPL		epoll_create1
    779 487	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
    780 488	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
    781 489	UNIMPL		inotify_init1
    782 490	UNIMPL		preadv
    783 491	UNIMPL		pwritev
    784 492	UNIMPL		rt_tgsigqueueinfo
    785 493	UNIMPL		perf_counter_open
    786 494	UNIMPL		fanotify_init
    787 495	UNIMPL		fanotify_mark
    788 496	UNIMPL		prlimit64
    789 497	UNIMPL		name_to_handle_at
    790 498	UNIMPL		open_by_handle_at
    791 499	UNIMPL		clock_adjtime
    792 500	UNIMPL		syncfs
    793 501	UNIMPL		setns
    794 502	STD		{ int|linux_sys||accept4(int s, \
    795 			    struct osockaddr *name, \
    796 			    int *anamelen, int flags); }
    797 503	STD		{ int|linux_sys||sendmmsg(int s, \
    798 			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
    799 			    unsigned int flags); }
    800 504	UNIMPL		process_vm_readv
    801 505	UNIMPL		process_vm_writev
    802 506	UNIMPL		kcmp
    803 507	UNIMPL		finit_module
    804 508	UNIMPL		sched_setattr
    805 509	UNIMPL		sched_getattr
    806 510	UNIMPL		renameat2
    807