1 $NetBSD: syscalls.master,v 1.54 2013/12/08 15:55:10 njoly Exp $ 2 3; Derived from sys/compat/linux/arch/*/syscalls.master 4; and from Linux 2.4.12 arch/arm/kernel/calls.S 5 6; NetBSD/arm COMPAT_LINUX system call name/number "master" file. 7; (See syscalls.conf to see what it is processed into.) 8; 9; Fields: number type [type-dependent ...] 10; number system call number, must be in order 11; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 12; the compatibility options defined in syscalls.conf. 13; 14; types: 15; STD always included 16; OBSOL obsolete, not included in system 17; UNIMPL unimplemented, not included in system 18; NODEF included, but don't define the syscall number 19; NOARGS included, but don't define the syscall args structure 20; INDIR included, but don't define the syscall args structure 21; and allow it to be "really" varargs. 22; 23; The compat options are defined in the syscalls.conf file, and the 24; compat option name is prefixed to the syscall name. Other than 25; that, they're like NODEF (for 'compat' options), or STD (for 26; 'libcompat' options). 27; 28; The type-dependent arguments are as follows: 29; For STD, NODEF, NOARGS, and compat syscalls: 30; { pseudo-proto } [alias] 31; For other syscalls: 32; [comment] 33; 34; #ifdef's, etc. may be included, and are copied to the output files. 35; #include's are copied to the syscall names and switch definition files only. 36 37#include <sys/param.h> 38#include <sys/poll.h> 39#include <sys/systm.h> 40#include <sys/signal.h> 41#include <sys/mount.h> 42#include <sys/syscallargs.h> 43#include <sys/time.h> 44 45#include <compat/sys/time.h> 46#include <compat/linux/common/linux_types.h> 47#include <compat/linux/common/linux_mmap.h> 48#include <compat/linux/common/linux_signal.h> 49#include <compat/linux/common/linux_siginfo.h> 50#include <compat/linux/common/linux_machdep.h> 51 52#include <compat/linux/linux_syscallargs.h> 53 54%% 55; XXX We have to explicitly declare linux_sys_nosys. 560 NOARGS { int|linux_sys||nosys(void); } 571 STD { int|linux_sys||exit(int rval); } 582 NOARGS { int|sys||fork(void); } 593 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 604 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 615 STD { int|linux_sys||open(const char *path, int flags, \ 62 linux_umode_t mode); } 636 NOARGS { int|sys||close(int fd); } 647 STD { int|linux_sys||waitpid(int pid, int *status, \ 65 int options);} 668 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 679 NOARGS { int|sys||link(const char *path, const char *link); } 6810 STD { int|linux_sys||unlink(const char *path); } 6911 NOARGS { int|sys||execve(const char *path, char **argp, \ 70 char **envp); } 7112 NOARGS { int|sys||chdir(const char *path); } 7213 STD { int|linux_sys||time(linux_time_t *t); } 7314 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 74 int dev); } 7515 NOARGS { int|sys||chmod(const char *path, int mode); } 7616 STD { int|linux_sys||lchown16(const char *path, \ 77 linux_uid16_t uid, linux_gid16_t gid); } 7817 OBSOL break 7918 OBSOL ostat 8019 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 81 int whence); } 8220 NOARGS { pid_t|sys||getpid(void); } 8321 UNIMPL mount 8422 OBSOL umount 8523 NOARGS { int|sys||setuid(uid_t uid); } 8624 NOARGS { uid_t|sys||getuid(void); } 8725 STD { int|linux_sys||stime(linux_time_t *t); } 8826 STD { int|linux_sys||ptrace(int request, int pid, \ 89 int addr, int data); } 9027 STD { int|linux_sys||alarm(unsigned int secs); } 9128 OBSOL ofstat 9229 STD { int|linux_sys||pause(void); } 9330 STD { int|linux_sys||utime(const char *path, \ 94 struct linux_utimbuf *times); } 9531 OBSOL stty 9632 OBSOL gtty 9733 NOARGS { int|sys||access(const char *path, int flags); } 9834 STD { int|linux_sys||nice(int incr); } 9935 OBSOL ftime 10036 NOARGS { int|sys||sync(void); } 10137 STD { int|linux_sys||kill(int pid, int signum); } 10238 NOARGS { int|sys||__posix_rename(const char *from, \ 103 const char *to); } 10439 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 10540 NOARGS { int|sys||rmdir(const char *path); } 10641 NOARGS { int|sys||dup(int fd); } 10742 STD { int|linux_sys||pipe(int *pfds); } 10843 STD { int|linux_sys||times(struct times *tms); } 10944 OBSOL prof 11045 STD { int|linux_sys||brk(char *nsize); } 11146 NOARGS { int|sys||setgid(gid_t gid); } 11247 NOARGS { gid_t|sys||getgid(void); } 11348 STD { int|linux_sys||signal(int signum, \ 114 linux_handler_t handler); } 11549 NOARGS { uid_t|sys||geteuid(void); } 11650 NOARGS { gid_t|sys||getegid(void); } 11751 NOARGS { int|sys||acct(char *path); } 11852 UNIMPL umount 11953 OBSOL lock 12054 STD { int|linux_sys||ioctl(int fd, u_long com, \ 121 void *data); } 12255 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 12356 OBSOL mpx 12457 NOARGS { int|sys||setpgid(int pid, int pgid); } 12558 OBSOL ulimit 12659 STD { int|linux_sys||oldolduname( \ 127 struct linux_oldold_utsname *up); } 12860 NOARGS { int|sys||umask(int newmask); } 12961 NOARGS { int|sys||chroot(char *path); } 13062 UNIMPL ustat 13163 NOARGS { int|sys||dup2(int from, int to); } 13264 NOARGS { pid_t|sys||getppid(void); } 13365 NOARGS { int|sys||getpgrp(void); } 13466 NOARGS { int|sys||setsid(void); } 13567 STD { int|linux_sys||sigaction(int signum, \ 136 const struct linux_old_sigaction *nsa, \ 137 struct linux_old_sigaction *osa); } 13868 STD { int|linux_sys||siggetmask(void); } 13969 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 14070 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ 141 linux_uid16_t euid); } 14271 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ 143 linux_gid16_t egid); } 14472 STD { int|linux_sys||sigsuspend(void *restart, \ 145 int oldmask, int mask); } 14673 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 14774 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 148 u_int len);} 14975 STD { int|linux_sys||setrlimit(u_int which, \ 150 struct orlimit *rlp); } 15176 STD { int|linux_sys||getrlimit(u_int which, \ 152 struct orlimit *rlp); } 15377 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } 15478 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 155 struct timezone *tzp); } 15679 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 157 struct timezone *tzp); } 15880 STD { int|linux_sys||getgroups16(int gidsetsize, \ 159 linux_gid16_t *gidset); } 16081 STD { int|linux_sys||setgroups16(int gidsetsize, \ 161 linux_gid16_t *gidset); } 16282 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 16383 NOARGS { int|sys||symlink(const char *path, const char *to); } 16484 NOARGS { int|compat_43_sys||lstat(const char *path, \ 165 struct stat43 *up); } oolstat 16685 NOARGS { int|sys||readlink(const char *name, char *buf, \ 167 int count); } 168#ifdef EXEC_AOUT 16986 STD { int|linux_sys||uselib(const char *path); } 170#else 17186 EXCL uselib 172#endif 17387 STD { int|linux_sys||swapon(char *name); } 17488 STD { int|linux_sys||reboot(int magic1, int magic2, \ 175 int cmd, void *arg); } 17689 STD { int|linux_sys||readdir(int fd, void *dent, \ 177 unsigned int count); } 17890 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 17991 NOARGS { int|sys||munmap(void *addr, int len); } 18092 NOARGS { int|compat_43_sys||truncate(const char *path, \ 181 long length); } 18293 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 18394 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 18495 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ 185 linux_gid16_t gid); } 18696 STD { int|linux_sys||getpriority(int which, int who); } 18797 NOARGS { int|sys||setpriority(int which, int who, int prio); } 18898 NOARGS { int|sys||profil(void *samples, u_int size, \ 189 u_int offset, u_int scale); } 19099 STD { int|linux_sys||statfs(const char *path, \ 191 struct linux_statfs *sp); } 192100 STD { int|linux_sys||fstatfs(int fd, \ 193 struct linux_statfs *sp); } 194101 UNIMPL 195102 STD { int|linux_sys||socketcall(int what, void *args); } 196103 UNIMPL syslog 197104 NOARGS { int|compat_50_sys||setitimer(int which, \ 198 struct itimerval50 *itv, \ 199 struct itimerval50 *oitv); } 200105 NOARGS { int|compat_50_sys||getitimer(int which, \ 201 struct itimerval50 *itv); } 202106 STD { int|linux_sys||stat(const char *path, \ 203 struct linux_stat *sp); } 204107 STD { int|linux_sys||lstat(const char *path, \ 205 struct linux_stat *sp); } 206108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 207109 STD { int|linux_sys||olduname(struct linux_oldutsname *up); } 208110 UNIMPL 209111 UNIMPL vhangup 210112 UNIMPL idle 211113 UNIMPL syscall 212114 STD { int|linux_sys||wait4(int pid, int *status, \ 213 int options, struct rusage50 *rusage); } 214115 STD { int|linux_sys||swapoff(const char *path); } 215116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 216117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 217 void *ptr); } 218118 NOARGS { int|sys||fsync(int fd); } 219119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 220120 STD { int|linux_sys||clone(int flags, void *stack, \ 221 void *parent_tidptr, void *tls, void *child_tidptr); } 222121 STD { int|linux_sys||setdomainname(char *domainname, \ 223 int len); } 224122 STD { int|linux_sys||uname(struct linux_utsname *up); } 225123 UNIMPL modify_ldt 226124 UNIMPL adjtimex 227125 STD { int|linux_sys||mprotect(const void *start, \ 228 unsigned long len, int prot); } 229126 STD { int|linux_sys||sigprocmask(int how, \ 230 const linux_old_sigset_t *set, \ 231 linux_old_sigset_t *oset); } 232127 UNIMPL create_module 233128 UNIMPL init_module 234129 UNIMPL delete_module 235130 UNIMPL get_kernel_syms 236131 UNIMPL quotactl 237132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 238133 NOARGS { int|sys||fchdir(int fd); } 239134 UNIMPL bdflush 240135 UNIMPL sysfs 241136 STD { int|linux_sys||personality(unsigned long per); } 242137 UNIMPL afs_syscall 243138 STD { int|linux_sys||setfsuid(uid_t uid); } 244139 STD { int|linux_sys||setfsgid(gid_t gid); } 245140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 246 u_int32_t olow, void *res, int whence); } 247141 STD { int|linux_sys||getdents(int fd, \ 248 struct linux_dirent *dent, unsigned int count); } 249142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 250 fd_set *writefds, fd_set *exceptfds, \ 251 struct timeval50 *timeout); } 252143 NOARGS { int|sys||flock(int fd, int how); } 253144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 254145 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ 255 u_int iovcnt); } 256146 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ 257 u_int iovcnt); } 258147 NOARGS { pid_t|sys||getsid(pid_t pid); } 259148 STD { int|linux_sys||fdatasync(int fd); } 260149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 261150 NOARGS { int|sys||mlock(void *addr, size_t len); } 262151 NOARGS { int|sys||munlock(void *addr, size_t len); } 263152 NOARGS { int|sys||mlockall(int flags); } 264153 NOARGS { int|sys||munlockall(void); } 265154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 266 const struct linux_sched_param *sp); } 267155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 268 struct linux_sched_param *sp); } 269156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 270 int policy, const struct linux_sched_param *sp); } 271157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 272158 STD { int|linux_sys||sched_yield(void); } 273159 STD { int|linux_sys||sched_get_priority_max(int policy); } 274160 STD { int|linux_sys||sched_get_priority_min(int policy); } 275161 UNIMPL sched_rr_get_interval 276162 STD { int|linux_sys||nanosleep( \ 277 const struct linux_timespec *rqtp, \ 278 struct linux_timespec *rmtp); } 279163 STD { void *|linux_sys||mremap(void *old_address, \ 280 size_t old_size, size_t new_size, u_long flags); } 281164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ 282 linux_uid16_t euid, linux_uid16_t suid); } 283165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ 284 linux_uid16_t *euid, linux_uid16_t *suid); } 285166 UNIMPL 286167 UNIMPL query_module 287168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 288 int timeout); } 289169 UNIMPL nfsservctl 290170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ 291 linux_gid16_t egid, linux_gid16_t sgid); } 292171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ 293 linux_gid16_t *egid, linux_gid16_t *sgid); } 294172 UNIMPL prctl 295173 UNIMPL rt_sigreturn 296;173 STD { int|linux_sys||rt_sigreturn( \ 297; struct linux_rt_sigframe *sfp); } 298174 STD { int|linux_sys||rt_sigaction(int signum, \ 299 const struct linux_sigaction *nsa, \ 300 struct linux_sigaction *osa, \ 301 size_t sigsetsize); } 302175 STD { int|linux_sys||rt_sigprocmask(int how, \ 303 const linux_sigset_t *set, \ 304 linux_sigset_t *oset, \ 305 size_t sigsetsize); } 306176 STD { int|linux_sys||rt_sigpending( \ 307 linux_sigset_t *set, \ 308 size_t sigsetsize); } 309177 STD { int|linux_sys||rt_sigtimedwait( \ 310 const linux_sigset_t *set, \ 311 linux_siginfo_t *info, \ 312 const struct linux_timespec *timeout); } 313178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 314 linux_siginfo_t *uinfo); } 315179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 316 size_t sigsetsize); } 317180 STD { int|linux_sys||pread(int fd, char *buf, \ 318 size_t nbyte, linux_off_t offset); } 319181 STD { int|linux_sys||pwrite(int fd, char *buf, \ 320 size_t nbyte, linux_off_t offset); } 321182 STD { int|linux_sys||chown16(const char *path, \ 322 linux_uid16_t uid, linux_gid16_t gid); } 323183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 324184 UNIMPL capget 325185 UNIMPL capset 326186 STD { int|linux_sys||sigaltstack( \ 327 const struct linux_sigaltstack *ss, \ 328 struct linux_sigaltstack *oss); } 329187 UNIMPL sendfile 330188 UNIMPL getpmsg 331189 UNIMPL putpmsg 332190 NOARGS vfork { int|sys|14|vfork(void); } 333191 STD { int|linux_sys||ugetrlimit(int which, \ 334 struct rlimit *rlp); } 335#define linux_sys_mmap2_args linux_sys_mmap_args 336192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 337 size_t len, int prot, int flags, int fd, \ 338 linux_off_t offset); } 339193 STD { int|linux_sys||truncate64(const char *path, \ 340 off_t length); } 341194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 342 off_t length); } 343195 STD { int|linux_sys||stat64(const char *path, \ 344 struct linux_stat64 *sp); } 345196 STD { int|linux_sys||lstat64(const char *path, \ 346 struct linux_stat64 *sp); } 347197 STD { int|linux_sys||fstat64(int fd, \ 348 struct linux_stat64 *sp); } 349198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 350 gid_t gid); } 351199 NOARGS getuid32 { uid_t|sys||getuid(void); } 352200 NOARGS getgid32 { gid_t|sys||getgid(void); } 353201 NOARGS geteuid32 { uid_t|sys||geteuid(void); } 354202 NOARGS getegid32 { gid_t|sys||getegid(void); } 355203 NOARGS setreuid32 { int|sys||setreuid(uid_t ruid, \ 356 uid_t euid); } 357204 NOARGS setregid32 { int|sys||setregid(gid_t rgid, \ 358 gid_t egid); } 359205 NOARGS getgroups32 { int|sys||getgroups(u_int gidsetsize, \ 360 gid_t *gidset); } 361206 NOARGS setgroups32 { int|sys||setgroups(u_int gidsetsize, \ 362 gid_t *gidset); } 363207 NOARGS fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \ 364 gid_t gid); } 365208 STD setresuid32 { int|linux_sys||setresuid(uid_t ruid, \ 366 uid_t euid, uid_t suid); } 367209 STD getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \ 368 uid_t *euid, uid_t *suid); } 369210 STD setresgid32 { int|linux_sys||setresgid(gid_t rgid, \ 370 gid_t egid, gid_t sgid); } 371211 STD getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \ 372 gid_t *egid, gid_t *sgid); } 373212 NOARGS chown32 { int|sys||__posix_chown(const char *path, \ 374 uid_t uid, gid_t gid); } 375213 NOARGS setuid32 { int|sys||setuid(uid_t uid); } 376214 NOARGS setgid32 { int|sys||setgid(gid_t gid); } 377215 NOARGS setfsuid32 { int|linux_sys||setfsuid(uid_t uid); } 378216 NOARGS setfsgid32 { int|linux_sys||setfsgid(gid_t gid); } 379217 STD { int|linux_sys||getdents64(int fd, \ 380 struct linux_dirent64 *dent, unsigned int count); } 381218 UNIMPL pivot_root 382219 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 383220 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 384221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 385222 UNIMPL /* for tux */ 386223 UNIMPL /* unused */ 387224 NOARGS { pid_t|linux_sys||gettid(void); } 388225 UNIMPL readahead 389226 STD { int|linux_sys||setxattr(char *path, char *name, \ 390 void *value, size_t size, int flags); } 391227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 392 void *value, size_t size, int flags); } 393228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 394 void *value, size_t size, int flags); } 395229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 396 void *value, size_t size); } 397230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 398 void *value, size_t size); } 399231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 400 void *value, size_t size); } 401232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 402 size_t size); } 403233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 404 size_t size); } 405234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 406 size_t size); } 407235 STD { int|linux_sys||removexattr(char *path, char *name); } 408236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 409237 STD { int|linux_sys||fremovexattr(int fd, char *name); } 410238 STD { int|linux_sys||tkill(int tid, int sig); } 411239 UNIMPL sendfile64 412240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 413 const struct linux_timespec *timeout, int *uaddr2, \ 414 int val3); } 415241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 416 unsigned int len, unsigned long *mask); } 417242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 418 unsigned int len, unsigned long *mask); } 419243 UNIMPL io_setup 420244 UNIMPL io_destroy 421245 UNIMPL io_getevents 422246 UNIMPL io_submit 423247 UNIMPL io_cancel 424248 STD { int|linux_sys||exit_group(int error_code); } 425249 UNIMPL lookup_dcookie 426250 UNIMPL epoll_create 427251 UNIMPL epoll_ctl 428252 UNIMPL epoll_wait 429253 UNIMPL remap_file_pages 430254 UNIMPL set_thread_area 431255 UNIMPL get_thread_area 432256 STD { int|linux_sys||set_tid_address(int *tid); } 433257 UNIMPL timer_create 434258 UNIMPL timer_settime 435259 UNIMPL timer_gettime 436260 UNIMPL timer_getoverrun 437261 UNIMPL timer_delete 438262 STD { int|linux_sys||clock_settime(clockid_t which, \ 439 struct linux_timespec *tp); } 440263 STD { int|linux_sys||clock_gettime(clockid_t which, \ 441 struct linux_timespec *tp); } 442264 STD { int|linux_sys||clock_getres(clockid_t which, \ 443 struct linux_timespec *tp); } 444265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 445 int flags, struct linux_timespec *rqtp, \ 446 struct linux_timespec *rmtp); } 447266 STD { int|linux_sys||statfs64(const char *path, \ 448 size_t sz, struct linux_statfs64 *sp); } 449267 STD { int|linux_sys||fstatfs64(int fd, \ 450 size_t sz, struct linux_statfs64 *sp); } 451268 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 452269 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } 453270 STD { int|linux_sys||fadvise64_64(int fd, \ 454 linux_off_t offset, linux_off_t len, int advice); } 455271 UNIMPL pciconfig_iobase 456272 UNIMPL pciconfig_read 457273 UNIMPL pciconfig_write 458274 UNIMPL mq_open 459275 UNIMPL mq_unlink 460276 UNIMPL mq_timedsend 461277 UNIMPL mq_timedreceive 462278 UNIMPL mq_notify 463279 UNIMPL mq_getsetattr 464280 UNIMPL waitid 465281 UNIMPL socket 466282 UNIMPL bind 467283 UNIMPL connect 468284 UNIMPL listen 469285 UNIMPL accept 470286 UNIMPL getsockname 471287 UNIMPL getpeername 472288 UNIMPL socketpair 473289 UNIMPL send 474290 UNIMPL sendto 475291 UNIMPL recv 476292 UNIMPL recvfrom 477293 UNIMPL shutdown 478294 UNIMPL setsockopt 479295 UNIMPL getsockopt 480296 UNIMPL sendmsg 481297 UNIMPL recvmsg 482298 UNIMPL semop 483299 UNIMPL semget 484300 UNIMPL semctl 485301 UNIMPL msgsnd 486302 UNIMPL msgrcv 487303 UNIMPL msgget 488304 UNIMPL msgctl 489305 UNIMPL shmat 490306 UNIMPL shmdt 491307 UNIMPL shmget 492308 UNIMPL shmctl 493309 UNIMPL add_key 494310 UNIMPL request_key 495311 UNIMPL keyctl 496312 UNIMPL semtimedop 497313 UNIMPL vserver 498314 UNIMPL ioptio_set 499315 UNIMPL ioptio_get 500316 UNIMPL inotify_init 501317 UNIMPL inotify_add_watch 502318 UNIMPL inotify_rm_watch 503319 UNIMPL mbind 504320 UNIMPL get_mempolicy 505321 UNIMPL set_mempolicy 506322 STD { int|linux_sys||openat(int fd, const char *path, \ 507 int flags, ... linux_umode_t mode); } 508323 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 509 linux_umode_t mode); } 510324 STD { int|linux_sys||mknodat(int fd, const char *path, \ 511 linux_umode_t mode, unsigned dev); } 512325 STD { int|linux_sys||fchownat(int fd, const char *path, \ 513 uid_t owner, gid_t group, int flag); } 514326 UNIMPL futimesat 515327 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 516 struct linux_stat64 *sp, int flag); } 517328 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 518 int flag); } 519329 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 520 int tofd, const char *to); } 521330 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 522 int fd2, const char *name2, int flags); } 523331 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 524 const char *path2); } 525332 NOARGS { int|sys||readlinkat(int fd, const char *path, \ 526 char *buf, size_t bufsize); } 527333 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 528 linux_umode_t mode); } 529334 STD { int|linux_sys||faccessat(int fd, const char *path, \ 530 int amode); } 531335 UNIMPL pselect6 532336 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ 533 struct linux_timespec *timeout, \ 534 linux_sigset_t *sigset); } 535337 UNIMPL unshare 536338 STD { int|linux_sys||set_robust_list( \ 537 struct linux_robust_list_head *head, size_t len); } 538339 STD { int|linux_sys||get_robust_list(int pid, \ 539 struct linux_robust_list_head **head, \ 540 size_t *len); } 541340 UNIMPL splice 542341 UNIMPL sync_file_range2 543342 UNIMPL tee 544343 UNIMPL vmsplice 545344 UNIMPL move_pages 546345 UNIMPL getcpu 547346 UNIMPL epoll_wait 548347 UNIMPL kexec_load 549348 STD { int|linux_sys||utimensat(int fd, const char *path, \ 550 struct linux_timespec *times, int flag); } 551349 UNIMPL signalfd 552350 UNIMPL timerfd_create 553351 UNIMPL eventfd 554352 UNIMPL fallocate 555353 UNIMPL timerfd_settime 556354 UNIMPL timerfd_gettime 557355 UNIMPL signalfd4 558356 UNIMPL eventfd2 559357 UNIMPL epoll_create1 560358 STD { int|linux_sys||dup3(int from, int to, int flags); } 561359 STD { int|linux_sys||pipe2(int *pfds, int flags); } 562360 UNIMPL inotify_init1 563361 UNIMPL preadv 564362 UNIMPL pwritev 565363 UNIMPL rt_tgsigqueueinfo 566364 UNIMPL perf_counter_open 567365 UNIMPL recvmmsg 568366 UNIMPL 569367 UNIMPL 570368 UNIMPL 571369 UNIMPL 572370 UNIMPL 573371 UNIMPL 574372 UNIMPL 575373 UNIMPL 576374 UNIMPL 577375 UNIMPL 578376 UNIMPL 579377 UNIMPL 580378 UNIMPL 581379 UNIMPL 582380 UNIMPL 583381 UNIMPL 584382 UNIMPL 585383 UNIMPL 586 587; ARMLinux actually has two ranges of syscalls. Normal syscalls use 588; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE). Special 589; ARM-specific syscalls use SWI numbers starting at 0x9f0000 590; (__ARM_NR_BASE). linux_syscall() (in arch/arm/arm/linux_syscall.c) 591; remaps these down to 0x900180 so that we can use one linux_sysent 592; array for the whole lot. 593 594384 UNIMPL /* base */ 595385 STD { int|linux_sys||breakpoint(void); } 596386 STD { int|linux_sys||cacheflush(uintptr_t from, \ 597 intptr_t to, int flags); } 598387 UNIMPL usr26 599388 UNIMPL usr32 600389 STD { int|linux_sys||set_tls(void *tls); } 601