Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.106
      1 	$NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos 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	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
    618 			    size_t count); }
    619 380	UNIMPL		/* unused */
    620 381	STD		{ int|linux_sys||tkill(int tid, int sig); }
    621 382	STD		{ int|linux_sys||setxattr(char *path, char *name, \
    622 			    void *value, size_t size, int flags); }
    623 383	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
    624 			    void *value, size_t size, int flags); }
    625 384	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
    626 			    void *value, size_t size, int flags); }
    627 385	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
    628 			    void *value, size_t size); }
    629 386	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
    630 			    void *value, size_t size); }
    631 387	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
    632 			    void *value, size_t size); }
    633 388	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
    634 			    size_t size); }
    635 389	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
    636 			    size_t size); }
    637 390	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
    638 			    size_t size); }
    639 391	STD		{ int|linux_sys||removexattr(char *path, char *name); }
    640 392	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
    641 393	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
    642 394	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
    643 			    const struct linux_timespec *timeout, int *uaddr2, \
    644 			    int val3); }
    645 395	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
    646 			    unsigned int len, unsigned long *mask); }
    647 396	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
    648 			    unsigned int len, unsigned long *mask); }
    649 397	UNIMPL		tuxcall
    650 398	UNIMPL		io_setup
    651 399	UNIMPL		io_destroy
    652 400	UNIMPL		io_getevents
    653 401	UNIMPL		io_submit
    654 402	UNIMPL		io_cancel
    655 403	UNIMPL		/* unused */
    656 404	UNIMPL		/* unused */
    657 405	STD		{ int|linux_sys||exit_group(int error_code); }
    658 406	UNIMPL		lookup_dcookie
    659 407	STD		{ int|linux_sys||epoll_create(int size); }
    660 408	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
    661 			    struct linux_epoll_event *event); }
    662 409	STD		{ int|linux_sys||epoll_wait(int epfd, \
    663 			    struct linux_epoll_event *events, int maxevents, \
    664 			    int timeout); }
    665 410	UNIMPL		remap_file_pages
    666 411	STD		{ int|linux_sys||set_tid_address(int *tid); }
    667 412	UNIMPL		restart_syscall
    668 413	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
    669 			    size_t len, int advice); }
    670 414	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
    671 			    struct linux_sigevent *evp, timer_t *timerid); }
    672 415	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
    673 			    int flags, const struct linux_itimerspec *tim, \
    674 			    struct linux_itimerspec *otim); }
    675 416	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
    676 			    struct linux_itimerspec *tim); }
    677 417	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
    678 418	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
    679 419	STD		{ int|linux_sys||clock_settime(clockid_t which, \
    680 			    struct linux_timespec *tp); }
    681 420	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
    682 			    struct linux_timespec *tp); }
    683 421	STD		{ int|linux_sys||clock_getres(clockid_t which, \
    684 			    struct linux_timespec *tp); }
    685 422	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
    686 			    int flags, struct linux_timespec *rqtp, \
    687 			    struct linux_timespec *rmtp); }
    688 423	UNIMPL		semtimedop
    689 424	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
    690 425	STD		{ int|linux_sys||stat64(const char *path, \
    691 			    struct linux_stat64 *sp); }
    692 426	STD		{ int|linux_sys||lstat64(const char *path, \
    693 			    struct linux_stat64 *sp); }
    694 427	STD		{ int|linux_sys||fstat64(int fd, \
    695 			    struct linux_stat64 *sp); }
    696 428	UNIMPL		vserver
    697 429	UNIMPL		mbind
    698 430	UNIMPL		get_mempolicy
    699 431	UNIMPL		set_mempolicy
    700 432	UNIMPL		mq_open
    701 433	UNIMPL		mq_unlink
    702 434	UNIMPL		mq_timedsend
    703 435	UNIMPL		mq_timedreceive
    704 436	UNIMPL		mq_notify
    705 437	UNIMPL		mq_getsetattr
    706 438	STD		{ int|linux_sys||waitid(int idtype, id_t id, \
    707 			    linux_siginfo_t *infop, int options, \
    708 			    struct rusage50 *rusage); }
    709 439	UNIMPL		add_key
    710 440	UNIMPL		request_key
    711 441	UNIMPL		keyctl
    712 442	UNIMPL		ioprio_set
    713 443	UNIMPL		ioprio_get
    714 444	STD		{ int|linux_sys||inotify_init(void); }
    715 445	STD		{ int|linux_sys||inotify_add_watch(int fd, \
    716 			    const char *pathname, uint32_t mask); }
    717 446	STD		{ int|linux_sys||inotify_rm_watch(int fd, int wd); }
    718 447	UNIMPL		fdatasync
    719 448	UNIMPL		kexec_load
    720 449	UNIMPL		migrate_pages
    721 450	STD 		{ int|linux_sys||openat(int fd, const char *path, \
    722 			    int flags, ... linux_umode_t mode); }
    723 451	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
    724 			    linux_umode_t mode); }
    725 452	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
    726 			    linux_umode_t mode, unsigned dev); }
    727 453	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
    728 			    uid_t owner, gid_t group, int flag); }
    729 454	UNIMPL		futimesat
    730 455	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
    731 			    struct linux_stat64 *sp, int flag); }
    732 456	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
    733 			    int flag); }
    734 457	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
    735 			    int tofd, const char *to); }
    736 458	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
    737 			    int fd2, const char *name2, int flags); }
    738 459	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
    739 			    const char *path2); }
    740 460	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
    741 			    char *buf, size_t bufsize); }
    742 461	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
    743 			    linux_umode_t mode); }
    744 462	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
    745 			    int amode); }
    746 463	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
    747 			   fd_set *writefds, fd_set *exceptfds, \
    748 			   struct linux_timespec *timeout, \
    749 			   linux_sized_sigset_t *ss); }
    750 464	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
    751 			    struct linux_timespec *timeout, \
    752 			    linux_sigset_t *sigset); }
    753 465	UNIMPL		unshare
    754 			;
    755 			; The NetBSD native robust list calls have different
    756 			; argument names / types, but they are ABI-compatible
    757 			; with Linux.
    758 			;
    759 466	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
    760 			    size_t len); }
    761 467	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
    762 			    void **headp, size_t *lenp); }
    763 468	UNIMPL		splice
    764 469	UNIMPL		sync_file_range
    765 470	UNIMPL		tee
    766 471	UNIMPL		vmsplice
    767 472	UNIMPL		move_pages
    768 473	UNIMPL		getcpu
    769 474	STD		{ int|linux_sys||epoll_pwait(int epfd, \
    770 			    struct linux_epoll_event *events, int maxevents, \
    771 			    int timeout, const linux_sigset_t *sigmask); }
    772 475	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
    773 			    struct linux_timespec *times, int flag); }
    774 476	UNIMPL		signalfd
    775 477	UNIMPL		timerfd
    776 478	STD		{ int|linux_sys||eventfd(unsigned int initval); }
    777 479	STD		{ int|linux_sys||recvmmsg(int s, \
    778 			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
    779 			    unsigned int flags, struct timespec *timeout); }
    780 480	STD		{ int|linux_sys||fallocate(int fd, int mode, \
    781 			    off_t offset, off_t len); }
    782 481	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
    783 			    int flags); }
    784 482	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
    785 			    const struct linux_itimerspec *tim, \
    786 			    struct linux_itimerspec *otim); }
    787 483	STD		{ int|linux_sys||timerfd_gettime(int fd, \
    788 			    struct linux_itimerspec *tim); }
    789 484	UNIMPL		signalfd4
    790 485	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
    791 			    int flags); }
    792 486	STD		{ int|linux_sys||epoll_create1(int flags); }
    793 487	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
    794 488	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
    795 489	STD		{ int|linux_sys||inotify_init1(int flags); }
    796 490	STD		{ int|linux_sys||preadv(int fd, \
    797 			    const struct iovec *iovp, int iovcnt, \
    798 			    unsigned long off_lo, unsigned long off_hi); }
    799 491	STD		{ int|linux_sys||pwritev(int fd, \
    800 			    const struct iovcnt *iovp, int iovcnt, \
    801 			    unsigned long off_lo, unsigned long off_hi); }
    802 492	UNIMPL		rt_tgsigqueueinfo
    803 493	UNIMPL		perf_counter_open
    804 494	UNIMPL		fanotify_init
    805 495	UNIMPL		fanotify_mark
    806 496	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
    807 			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
    808 497	UNIMPL		name_to_handle_at
    809 498	UNIMPL		open_by_handle_at
    810 499	UNIMPL		clock_adjtime
    811 500	UNIMPL		syncfs
    812 501	UNIMPL		setns
    813 502	STD		{ int|linux_sys||accept4(int s, \
    814 			    struct osockaddr *name, \
    815 			    int *anamelen, int flags); }
    816 503	STD		{ int|linux_sys||sendmmsg(int s, \
    817 			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
    818 			    unsigned int flags); }
    819 504	UNIMPL		process_vm_readv
    820 505	UNIMPL		process_vm_writev
    821 506	UNIMPL		kcmp
    822 507	UNIMPL		finit_module
    823 508	UNIMPL		sched_setattr
    824 509	UNIMPL		sched_getattr
    825 510	UNIMPL		renameat2
    826 511	UNIMPL
    827 512	UNIMPL
    828 513	UNIMPL
    829 514	UNIMPL
    830 515	UNIMPL
    831 516	UNIMPL
    832 517	UNIMPL
    833 518	UNIMPL
    834 519	UNIMPL
    835 520	UNIMPL
    836 521	UNIMPL
    837 522	STD		{ int|linux_sys||statx(int fd, const char *path, \
    838 			    int flag, unsigned int mask, \
    839 			    struct linux_statx *sp); }
    840 523	UNIMPL
    841 524	UNIMPL
    842 525	UNIMPL
    843 526	UNIMPL
    844 527	UNIMPL
    845 528	UNIMPL
    846 529	UNIMPL
    847 530	UNIMPL
    848 531	UNIMPL
    849 532	UNIMPL
    850 533	UNIMPL
    851 534	UNIMPL
    852 535	UNIMPL
    853 536	UNIMPL
    854 537	UNIMPL
    855 538	UNIMPL
    856 539	UNIMPL
    857 540	UNIMPL
    858 541	UNIMPL
    859 542	UNIMPL
    860 543	UNIMPL
    861 544	UNIMPL
    862 545	UNIMPL
    863 546	STD		{ int|linux_sys||close_range(unsigned int first, \
    864 			    unsigned int last, unsigned int flags); }
    865 547	UNIMPL
    866 548	UNIMPL
    867 549	UNIMPL
    868 550	UNIMPL
    869 551	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
    870 			    struct linux_epoll_event *events, int maxevents, \
    871 			    const struct linux_timespec *timeout, \
    872 			    const linux_sigset_t *sigmask); }
    873