The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/include/asm-mips64/unistd.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * This file is subject to the terms and conditions of the GNU General Public
    3  * License.  See the file "COPYING" in the main directory of this archive
    4  * for more details.
    5  *
    6  * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
    7  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
    8  *
    9  * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
   10  * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
   11  */
   12 #ifndef _ASM_UNISTD_H
   13 #define _ASM_UNISTD_H
   14 
   15 /*
   16  * Linux o32 style syscalls are in the range from 4000 to 4999.
   17  */
   18 #define __NR_O32_Linux                  4000
   19 #define __NR_O32_syscall                (__NR_O32_Linux +   0)
   20 #define __NR_O32_exit                   (__NR_O32_Linux +   1)
   21 #define __NR_O32_fork                   (__NR_O32_Linux +   2)
   22 #define __NR_O32_read                   (__NR_O32_Linux +   3)
   23 #define __NR_O32_write                  (__NR_O32_Linux +   4)
   24 #define __NR_O32_open                   (__NR_O32_Linux +   5)
   25 #define __NR_O32_close                  (__NR_O32_Linux +   6)
   26 #define __NR_O32_waitpid                (__NR_O32_Linux +   7)
   27 #define __NR_O32_creat                  (__NR_O32_Linux +   8)
   28 #define __NR_O32_link                   (__NR_O32_Linux +   9)
   29 #define __NR_O32_unlink                 (__NR_O32_Linux +  10)
   30 #define __NR_O32_execve                 (__NR_O32_Linux +  11)
   31 #define __NR_O32_chdir                  (__NR_O32_Linux +  12)
   32 #define __NR_O32_time                   (__NR_O32_Linux +  13)
   33 #define __NR_O32_mknod                  (__NR_O32_Linux +  14)
   34 #define __NR_O32_chmod                  (__NR_O32_Linux +  15)
   35 #define __NR_O32_lchown                 (__NR_O32_Linux +  16)
   36 #define __NR_O32_break                  (__NR_O32_Linux +  17)
   37 #define __NR_O32_unused18               (__NR_O32_Linux +  18)
   38 #define __NR_O32_lseek                  (__NR_O32_Linux +  19)
   39 #define __NR_O32_getpid                 (__NR_O32_Linux +  20)
   40 #define __NR_O32_mount                  (__NR_O32_Linux +  21)
   41 #define __NR_O32_umount                 (__NR_O32_Linux +  22)
   42 #define __NR_O32_setuid                 (__NR_O32_Linux +  23)
   43 #define __NR_O32_getuid                 (__NR_O32_Linux +  24)
   44 #define __NR_O32_stime                  (__NR_O32_Linux +  25)
   45 #define __NR_O32_ptrace                 (__NR_O32_Linux +  26)
   46 #define __NR_O32_alarm                  (__NR_O32_Linux +  27)
   47 #define __NR_O32_unused28               (__NR_O32_Linux +  28)
   48 #define __NR_O32_pause                  (__NR_O32_Linux +  29)
   49 #define __NR_O32_utime                  (__NR_O32_Linux +  30)
   50 #define __NR_O32_stty                   (__NR_O32_Linux +  31)
   51 #define __NR_O32_gtty                   (__NR_O32_Linux +  32)
   52 #define __NR_O32_access                 (__NR_O32_Linux +  33)
   53 #define __NR_O32_nice                   (__NR_O32_Linux +  34)
   54 #define __NR_O32_ftime                  (__NR_O32_Linux +  35)
   55 #define __NR_O32_sync                   (__NR_O32_Linux +  36)
   56 #define __NR_O32_kill                   (__NR_O32_Linux +  37)
   57 #define __NR_O32_rename                 (__NR_O32_Linux +  38)
   58 #define __NR_O32_mkdir                  (__NR_O32_Linux +  39)
   59 #define __NR_O32_rmdir                  (__NR_O32_Linux +  40)
   60 #define __NR_O32_dup                    (__NR_O32_Linux +  41)
   61 #define __NR_O32_pipe                   (__NR_O32_Linux +  42)
   62 #define __NR_O32_times                  (__NR_O32_Linux +  43)
   63 #define __NR_O32_prof                   (__NR_O32_Linux +  44)
   64 #define __NR_O32_brk                    (__NR_O32_Linux +  45)
   65 #define __NR_O32_setgid                 (__NR_O32_Linux +  46)
   66 #define __NR_O32_getgid                 (__NR_O32_Linux +  47)
   67 #define __NR_O32_signal                 (__NR_O32_Linux +  48)
   68 #define __NR_O32_geteuid                (__NR_O32_Linux +  49)
   69 #define __NR_O32_getegid                (__NR_O32_Linux +  50)
   70 #define __NR_O32_acct                   (__NR_O32_Linux +  51)
   71 #define __NR_O32_umount2                (__NR_O32_Linux +  52)
   72 #define __NR_O32_lock                   (__NR_O32_Linux +  53)
   73 #define __NR_O32_ioctl                  (__NR_O32_Linux +  54)
   74 #define __NR_O32_fcntl                  (__NR_O32_Linux +  55)
   75 #define __NR_O32_mpx                    (__NR_O32_Linux +  56)
   76 #define __NR_O32_setpgid                (__NR_O32_Linux +  57)
   77 #define __NR_O32_ulimit                 (__NR_O32_Linux +  58)
   78 #define __NR_O32_unused59               (__NR_O32_Linux +  59)
   79 #define __NR_O32_umask                  (__NR_O32_Linux +  60)
   80 #define __NR_O32_chroot                 (__NR_O32_Linux +  61)
   81 #define __NR_O32_ustat                  (__NR_O32_Linux +  62)
   82 #define __NR_O32_dup2                   (__NR_O32_Linux +  63)
   83 #define __NR_O32_getppid                (__NR_O32_Linux +  64)
   84 #define __NR_O32_getpgrp                (__NR_O32_Linux +  65)
   85 #define __NR_O32_setsid                 (__NR_O32_Linux +  66)
   86 #define __NR_O32_sigaction              (__NR_O32_Linux +  67)
   87 #define __NR_O32_sgetmask               (__NR_O32_Linux +  68)
   88 #define __NR_O32_ssetmask               (__NR_O32_Linux +  69)
   89 #define __NR_O32_setreuid               (__NR_O32_Linux +  70)
   90 #define __NR_O32_setregid               (__NR_O32_Linux +  71)
   91 #define __NR_O32_sigsuspend             (__NR_O32_Linux +  72)
   92 #define __NR_O32_sigpending             (__NR_O32_Linux +  73)
   93 #define __NR_O32_sethostname            (__NR_O32_Linux +  74)
   94 #define __NR_O32_setrlimit              (__NR_O32_Linux +  75)
   95 #define __NR_O32_getrlimit              (__NR_O32_Linux +  76)
   96 #define __NR_O32_getrusage              (__NR_O32_Linux +  77)
   97 #define __NR_O32_gettimeofday           (__NR_O32_Linux +  78)
   98 #define __NR_O32_settimeofday           (__NR_O32_Linux +  79)
   99 #define __NR_O32_getgroups              (__NR_O32_Linux +  80)
  100 #define __NR_O32_setgroups              (__NR_O32_Linux +  81)
  101 #define __NR_O32_reserved82             (__NR_O32_Linux +  82)
  102 #define __NR_O32_symlink                (__NR_O32_Linux +  83)
  103 #define __NR_O32_unused84               (__NR_O32_Linux +  84)
  104 #define __NR_O32_readlink               (__NR_O32_Linux +  85)
  105 #define __NR_O32_uselib                 (__NR_O32_Linux +  86)
  106 #define __NR_O32_swapon                 (__NR_O32_Linux +  87)
  107 #define __NR_O32_reboot                 (__NR_O32_Linux +  88)
  108 #define __NR_O32_readdir                (__NR_O32_Linux +  89)
  109 #define __NR_O32_mmap                   (__NR_O32_Linux +  90)
  110 #define __NR_O32_munmap                 (__NR_O32_Linux +  91)
  111 #define __NR_O32_truncate               (__NR_O32_Linux +  92)
  112 #define __NR_O32_ftruncate              (__NR_O32_Linux +  93)
  113 #define __NR_O32_fchmod                 (__NR_O32_Linux +  94)
  114 #define __NR_O32_fchown                 (__NR_O32_Linux +  95)
  115 #define __NR_O32_getpriority            (__NR_O32_Linux +  96)
  116 #define __NR_O32_setpriority            (__NR_O32_Linux +  97)
  117 #define __NR_O32_profil                 (__NR_O32_Linux +  98)
  118 #define __NR_O32_statfs                 (__NR_O32_Linux +  99)
  119 #define __NR_O32_fstatfs                (__NR_O32_Linux + 100)
  120 #define __NR_O32_ioperm                 (__NR_O32_Linux + 101)
  121 #define __NR_O32_socketcall             (__NR_O32_Linux + 102)
  122 #define __NR_O32_syslog                 (__NR_O32_Linux + 103)
  123 #define __NR_O32_setitimer              (__NR_O32_Linux + 104)
  124 #define __NR_O32_getitimer              (__NR_O32_Linux + 105)
  125 #define __NR_O32_stat                   (__NR_O32_Linux + 106)
  126 #define __NR_O32_lstat                  (__NR_O32_Linux + 107)
  127 #define __NR_O32_fstat                  (__NR_O32_Linux + 108)
  128 #define __NR_O32_unused109              (__NR_O32_Linux + 109)
  129 #define __NR_O32_iopl                   (__NR_O32_Linux + 110)
  130 #define __NR_O32_vhangup                (__NR_O32_Linux + 111)
  131 #define __NR_O32_idle                   (__NR_O32_Linux + 112)
  132 #define __NR_O32_vm86                   (__NR_O32_Linux + 113)
  133 #define __NR_O32_wait4                  (__NR_O32_Linux + 114)
  134 #define __NR_O32_swapoff                (__NR_O32_Linux + 115)
  135 #define __NR_O32_sysinfo                (__NR_O32_Linux + 116)
  136 #define __NR_O32_ipc                    (__NR_O32_Linux + 117)
  137 #define __NR_O32_fsync                  (__NR_O32_Linux + 118)
  138 #define __NR_O32_sigreturn              (__NR_O32_Linux + 119)
  139 #define __NR_O32_clone                  (__NR_O32_Linux + 120)
  140 #define __NR_O32_setdomainname          (__NR_O32_Linux + 121)
  141 #define __NR_O32_uname                  (__NR_O32_Linux + 122)
  142 #define __NR_O32_modify_ldt             (__NR_O32_Linux + 123)
  143 #define __NR_O32_adjtimex               (__NR_O32_Linux + 124)
  144 #define __NR_O32_mprotect               (__NR_O32_Linux + 125)
  145 #define __NR_O32_sigprocmask            (__NR_O32_Linux + 126)
  146 #define __NR_O32_create_module          (__NR_O32_Linux + 127)
  147 #define __NR_O32_init_module            (__NR_O32_Linux + 128)
  148 #define __NR_O32_delete_module          (__NR_O32_Linux + 129)
  149 #define __NR_O32_get_kernel_syms        (__NR_O32_Linux + 130)
  150 #define __NR_O32_quotactl               (__NR_O32_Linux + 131)
  151 #define __NR_O32_getpgid                (__NR_O32_Linux + 132)
  152 #define __NR_O32_fchdir                 (__NR_O32_Linux + 133)
  153 #define __NR_O32_bdflush                (__NR_O32_Linux + 134)
  154 #define __NR_O32_sysfs                  (__NR_O32_Linux + 135)
  155 #define __NR_O32_personality            (__NR_O32_Linux + 136)
  156 #define __NR_O32_afs_syscall            (__NR_O32_Linux + 137) /* Syscall for Andrew File System */
  157 #define __NR_O32_setfsuid               (__NR_O32_Linux + 138)
  158 #define __NR_O32_setfsgid               (__NR_O32_Linux + 139)
  159 #define __NR_O32__llseek                (__NR_O32_Linux + 140)
  160 #define __NR_O32_getdents               (__NR_O32_Linux + 141)
  161 #define __NR_O32__newselect             (__NR_O32_Linux + 142)
  162 #define __NR_O32_flock                  (__NR_O32_Linux + 143)
  163 #define __NR_O32_msync                  (__NR_O32_Linux + 144)
  164 #define __NR_O32_readv                  (__NR_O32_Linux + 145)
  165 #define __NR_O32_writev                 (__NR_O32_Linux + 146)
  166 #define __NR_O32_cacheflush             (__NR_O32_Linux + 147)
  167 #define __NR_O32_cachectl               (__NR_O32_Linux + 148)
  168 #define __NR_O32_sysmips                (__NR_O32_Linux + 149)
  169 #define __NR_O32_unused150              (__NR_O32_Linux + 150)
  170 #define __NR_O32_getsid                 (__NR_O32_Linux + 151)
  171 #define __NR_O32_fdatasync              (__NR_O32_Linux + 152)
  172 #define __NR_O32__sysctl                (__NR_O32_Linux + 153)
  173 #define __NR_O32_mlock                  (__NR_O32_Linux + 154)
  174 #define __NR_O32_munlock                (__NR_O32_Linux + 155)
  175 #define __NR_O32_mlockall               (__NR_O32_Linux + 156)
  176 #define __NR_O32_munlockall             (__NR_O32_Linux + 157)
  177 #define __NR_O32_sched_setparam         (__NR_O32_Linux + 158)
  178 #define __NR_O32_sched_getparam         (__NR_O32_Linux + 159)
  179 #define __NR_O32_sched_setscheduler     (__NR_O32_Linux + 160)
  180 #define __NR_O32_sched_getscheduler     (__NR_O32_Linux + 161)
  181 #define __NR_O32_sched_yield            (__NR_O32_Linux + 162)
  182 #define __NR_O32_sched_get_priority_max (__NR_O32_Linux + 163)
  183 #define __NR_O32_sched_get_priority_min (__NR_O32_Linux + 164)
  184 #define __NR_O32_sched_rr_get_interval  (__NR_O32_Linux + 165)
  185 #define __NR_O32_nanosleep              (__NR_O32_Linux + 166)
  186 #define __NR_O32_mremap                 (__NR_O32_Linux + 167)
  187 #define __NR_O32_accept                 (__NR_O32_Linux + 168)
  188 #define __NR_O32_bind                   (__NR_O32_Linux + 169)
  189 #define __NR_O32_connect                (__NR_O32_Linux + 170)
  190 #define __NR_O32_getpeername            (__NR_O32_Linux + 171)
  191 #define __NR_O32_getsockname            (__NR_O32_Linux + 172)
  192 #define __NR_O32_getsockopt             (__NR_O32_Linux + 173)
  193 #define __NR_O32_listen                 (__NR_O32_Linux + 174)
  194 #define __NR_O32_recv                   (__NR_O32_Linux + 175)
  195 #define __NR_O32_recvfrom               (__NR_O32_Linux + 176)
  196 #define __NR_O32_recvmsg                (__NR_O32_Linux + 177)
  197 #define __NR_O32_send                   (__NR_O32_Linux + 178)
  198 #define __NR_O32_sendmsg                (__NR_O32_Linux + 179)
  199 #define __NR_O32_sendto                 (__NR_O32_Linux + 180)
  200 #define __NR_O32_setsockopt             (__NR_O32_Linux + 181)
  201 #define __NR_O32_shutdown               (__NR_O32_Linux + 182)
  202 #define __NR_O32_socket                 (__NR_O32_Linux + 183)
  203 #define __NR_O32_socketpair             (__NR_O32_Linux + 184)
  204 #define __NR_O32_setresuid              (__NR_O32_Linux + 185)
  205 #define __NR_O32_getresuid              (__NR_O32_Linux + 186)
  206 #define __NR_O32_query_module           (__NR_O32_Linux + 187)
  207 #define __NR_O32_poll                   (__NR_O32_Linux + 188)
  208 #define __NR_O32_nfsservctl             (__NR_O32_Linux + 189)
  209 #define __NR_O32_setresgid              (__NR_O32_Linux + 190)
  210 #define __NR_O32_getresgid              (__NR_O32_Linux + 191)
  211 #define __NR_O32_prctl                  (__NR_O32_Linux + 192)
  212 #define __NR_O32_rt_sigreturn           (__NR_O32_Linux + 193)
  213 #define __NR_O32_rt_sigaction           (__NR_O32_Linux + 194)
  214 #define __NR_O32_rt_sigprocmask         (__NR_O32_Linux + 195)
  215 #define __NR_O32_rt_sigpending          (__NR_O32_Linux + 196)
  216 #define __NR_O32_rt_sigtimedwait        (__NR_O32_Linux + 197)
  217 #define __NR_O32_rt_sigqueueinfo        (__NR_O32_Linux + 198)
  218 #define __NR_O32_rt_sigsuspend          (__NR_O32_Linux + 199)
  219 #define __NR_O32_pread                  (__NR_O32_Linux + 200)
  220 #define __NR_O32_pwrite                 (__NR_O32_Linux + 201)
  221 #define __NR_O32_chown                  (__NR_O32_Linux + 202)
  222 #define __NR_O32_getcwd                 (__NR_O32_Linux + 203)
  223 #define __NR_O32_capget                 (__NR_O32_Linux + 204)
  224 #define __NR_O32_capset                 (__NR_O32_Linux + 205)
  225 #define __NR_O32_sigaltstack            (__NR_O32_Linux + 206)
  226 #define __NR_O32_sendfile               (__NR_O32_Linux + 207)
  227 #define __NR_O32_getpmsg                (__NR_O32_Linux + 208)
  228 #define __NR_O32_putpmsg                (__NR_O32_Linux + 209)
  229 #define __NR_O32_mmap2                  (__NR_O32_Linux + 210)
  230 #define __NR_O32_truncate64             (__NR_O32_Linux + 211)
  231 #define __NR_O32_ftruncate64            (__NR_O32_Linux + 212)
  232 #define __NR_O32_stat64                 (__NR_O32_Linux + 213)
  233 #define __NR_O32_lstat64                (__NR_O32_Linux + 214)
  234 #define __NR_O32_fstat64                (__NR_O32_Linux + 215)
  235 #define __NR_O32_root_pivot             (__NR_O32_Linux + 216)
  236 #define __NR_O32_mincore                (__NR_O32_Linux + 217)
  237 #define __NR_O32_madvise                (__NR_O32_Linux + 218)
  238 #define __NR_O32_getdents64             (__NR_O32_Linux + 219)
  239 #define __NR_O32_fcntl64                (__NR_O32_Linux + 220)
  240 #define __NR_O32_security               (__NR_O32_Linux + 221)
  241 #define __NR_O32_gettid                 (__NR_O32_Linux + 222)
  242 #define __NR_O32_readahead              (__NR_O32_Linux + 223)
  243 #define __NR_O32_setxattr               (__NR_O32_Linux + 224)
  244 #define __NR_O32_lsetxattr              (__NR_O32_Linux + 225)
  245 #define __NR_O32_fsetxattr              (__NR_O32_Linux + 226)
  246 #define __NR_O32_getxattr               (__NR_O32_Linux + 227)
  247 #define __NR_O32_lgetxattr              (__NR_O32_Linux + 228)
  248 #define __NR_O32_fgetxattr              (__NR_O32_Linux + 229)
  249 #define __NR_O32_listxattr              (__NR_O32_Linux + 230)
  250 #define __NR_O32_llistxattr             (__NR_O32_Linux + 231)
  251 #define __NR_O32_flistxattr             (__NR_O32_Linux + 232)
  252 #define __NR_O32_removexattr            (__NR_O32_Linux + 233)
  253 #define __NR_O32_lremovexattr           (__NR_O32_Linux + 234)
  254 #define __NR_O32_fremovexattr           (__NR_O32_Linux + 235)
  255 #define __NR_O32_tkill                  (__NR_O32_Linux + 236)
  256 #define __NR_O32_sendfile64             (__NR_O32_Linux + 237)
  257 #define __NR_O32_futex                  (__NR_O32_Linux + 238)
  258 #define __NR_O32_sched_setaffinity      (__NR_O32_Linux + 239)
  259 #define __NR_O32_sched_getaffinity      (__NR_O32_Linux + 240)
  260 
  261 /*
  262  * Offset of the last Linux o32 flavoured syscall
  263  */
  264 #define __NR_O32_Linux_syscalls         240
  265 
  266 
  267 /*
  268  * Linux 64-bit syscalls are in the range from 5000 to 5999.
  269  */
  270 #define __NR_Linux                      5000
  271 #define __NR_read                       (__NR_Linux +   0)
  272 #define __NR_write                      (__NR_Linux +   1)
  273 #define __NR_open                       (__NR_Linux +   2)
  274 #define __NR_close                      (__NR_Linux +   3)
  275 #define __NR_stat                       (__NR_Linux +   4)
  276 #define __NR_fstat                      (__NR_Linux +   5)
  277 #define __NR_lstat                      (__NR_Linux +   6)
  278 #define __NR_poll                       (__NR_Linux +   7)
  279 #define __NR_lseek                      (__NR_Linux +   8)
  280 #define __NR_mmap                       (__NR_Linux +   9)
  281 #define __NR_mprotect                   (__NR_Linux +  10)
  282 #define __NR_munmap                     (__NR_Linux +  11)
  283 #define __NR_brk                        (__NR_Linux +  12)
  284 #define __NR_rt_sigaction               (__NR_Linux +  13)
  285 #define __NR_rt_sigprocmask             (__NR_Linux +  14)
  286 #define __NR_ioctl                      (__NR_Linux +  15)
  287 #define __NR_pread                      (__NR_Linux +  16)
  288 #define __NR_pwrite                     (__NR_Linux +  17)
  289 #define __NR_readv                      (__NR_Linux +  18)
  290 #define __NR_writev                     (__NR_Linux +  19)
  291 #define __NR_access                     (__NR_Linux +  20)
  292 #define __NR_pipe                       (__NR_Linux +  21)
  293 #define __NR__newselect                 (__NR_Linux +  22)
  294 #define __NR_sched_yield                (__NR_Linux +  23)
  295 #define __NR_mremap                     (__NR_Linux +  24)
  296 #define __NR_msync                      (__NR_Linux +  25)
  297 #define __NR_mincore                    (__NR_Linux +  26)
  298 #define __NR_madvise                    (__NR_Linux +  27)
  299 #define __NR_shmget                     (__NR_Linux +  28)
  300 #define __NR_shmat                      (__NR_Linux +  29)
  301 #define __NR_shmctl                     (__NR_Linux +  30)
  302 #define __NR_dup                        (__NR_Linux +  31)
  303 #define __NR_dup2                       (__NR_Linux +  32)
  304 #define __NR_pause                      (__NR_Linux +  33)
  305 #define __NR_nanosleep                  (__NR_Linux +  34)
  306 #define __NR_getitimer                  (__NR_Linux +  35)
  307 #define __NR_setitimer                  (__NR_Linux +  36)
  308 #define __NR_alarm                      (__NR_Linux +  37)
  309 #define __NR_getpid                     (__NR_Linux +  38)
  310 #define __NR_sendfile                   (__NR_Linux +  39)
  311 #define __NR_socket                     (__NR_Linux +  40)
  312 #define __NR_connect                    (__NR_Linux +  41)
  313 #define __NR_accept                     (__NR_Linux +  42)
  314 #define __NR_sendto                     (__NR_Linux +  43)
  315 #define __NR_recvfrom                   (__NR_Linux +  44)
  316 #define __NR_sendmsg                    (__NR_Linux +  45)
  317 #define __NR_recvmsg                    (__NR_Linux +  46)
  318 #define __NR_shutdown                   (__NR_Linux +  47)
  319 #define __NR_bind                       (__NR_Linux +  48)
  320 #define __NR_listen                     (__NR_Linux +  49)
  321 #define __NR_getsockname                (__NR_Linux +  50)
  322 #define __NR_getpeername                (__NR_Linux +  51)
  323 #define __NR_socketpair                 (__NR_Linux +  52)
  324 #define __NR_setsockopt                 (__NR_Linux +  53)
  325 #define __NR_getsockopt                 (__NR_Linux +  54)
  326 #define __NR_clone                      (__NR_Linux +  55)
  327 #define __NR_fork                       (__NR_Linux +  56)
  328 #define __NR_execve                     (__NR_Linux +  57)
  329 #define __NR_exit                       (__NR_Linux +  58)
  330 #define __NR_wait4                      (__NR_Linux +  59)
  331 #define __NR_kill                       (__NR_Linux +  60)
  332 #define __NR_uname                      (__NR_Linux +  61)
  333 #define __NR_semget                     (__NR_Linux +  62)
  334 #define __NR_semop                      (__NR_Linux +  63)
  335 #define __NR_semctl                     (__NR_Linux +  64)
  336 #define __NR_shmdt                      (__NR_Linux +  65)
  337 #define __NR_msgget                     (__NR_Linux +  66)
  338 #define __NR_msgsnd                     (__NR_Linux +  67)
  339 #define __NR_msgrcv                     (__NR_Linux +  68)
  340 #define __NR_msgctl                     (__NR_Linux +  69)
  341 #define __NR_fcntl                      (__NR_Linux +  70)
  342 #define __NR_flock                      (__NR_Linux +  71)
  343 #define __NR_fsync                      (__NR_Linux +  72)
  344 #define __NR_fdatasync                  (__NR_Linux +  73)
  345 #define __NR_truncate                   (__NR_Linux +  74)
  346 #define __NR_ftruncate                  (__NR_Linux +  75)
  347 #define __NR_getdents                   (__NR_Linux +  76)
  348 #define __NR_getcwd                     (__NR_Linux +  77)
  349 #define __NR_chdir                      (__NR_Linux +  78)
  350 #define __NR_fchdir                     (__NR_Linux +  79)
  351 #define __NR_rename                     (__NR_Linux +  80)
  352 #define __NR_mkdir                      (__NR_Linux +  81)
  353 #define __NR_rmdir                      (__NR_Linux +  82)
  354 #define __NR_creat                      (__NR_Linux +  83)
  355 #define __NR_link                       (__NR_Linux +  84)
  356 #define __NR_unlink                     (__NR_Linux +  85)
  357 #define __NR_symlink                    (__NR_Linux +  86)
  358 #define __NR_readlink                   (__NR_Linux +  87)
  359 #define __NR_chmod                      (__NR_Linux +  88)
  360 #define __NR_fchmod                     (__NR_Linux +  89)
  361 #define __NR_chown                      (__NR_Linux +  90)
  362 #define __NR_fchown                     (__NR_Linux +  91)
  363 #define __NR_lchown                     (__NR_Linux +  92)
  364 #define __NR_umask                      (__NR_Linux +  93)
  365 #define __NR_gettimeofday               (__NR_Linux +  94)
  366 #define __NR_getrlimit                  (__NR_Linux +  95)
  367 #define __NR_getrusage                  (__NR_Linux +  96)
  368 #define __NR_sysinfo                    (__NR_Linux +  97)
  369 #define __NR_times                      (__NR_Linux +  98)
  370 #define __NR_ptrace                     (__NR_Linux +  99)
  371 #define __NR_getuid                     (__NR_Linux + 100)
  372 #define __NR_syslog                     (__NR_Linux + 101)
  373 #define __NR_getgid                     (__NR_Linux + 102)
  374 #define __NR_setuid                     (__NR_Linux + 103)
  375 #define __NR_setgid                     (__NR_Linux + 104)
  376 #define __NR_geteuid                    (__NR_Linux + 105)
  377 #define __NR_getegid                    (__NR_Linux + 106)
  378 #define __NR_setpgid                    (__NR_Linux + 107)
  379 #define __NR_getppid                    (__NR_Linux + 108)
  380 #define __NR_getpgrp                    (__NR_Linux + 109)
  381 #define __NR_setsid                     (__NR_Linux + 110)
  382 #define __NR_setreuid                   (__NR_Linux + 111)
  383 #define __NR_setregid                   (__NR_Linux + 112)
  384 #define __NR_getgroups                  (__NR_Linux + 113)
  385 #define __NR_setgroups                  (__NR_Linux + 114)
  386 #define __NR_setresuid                  (__NR_Linux + 115)
  387 #define __NR_getresuid                  (__NR_Linux + 116)
  388 #define __NR_setresgid                  (__NR_Linux + 117)
  389 #define __NR_getresgid                  (__NR_Linux + 118)
  390 #define __NR_getpgid                    (__NR_Linux + 119)
  391 #define __NR_setfsuid                   (__NR_Linux + 120)
  392 #define __NR_setfsgid                   (__NR_Linux + 121)
  393 #define __NR_getsid                     (__NR_Linux + 122)
  394 #define __NR_capget                     (__NR_Linux + 123)
  395 #define __NR_capset                     (__NR_Linux + 124)
  396 #define __NR_rt_sigpending              (__NR_Linux + 125)
  397 #define __NR_rt_sigtimedwait            (__NR_Linux + 126)
  398 #define __NR_rt_sigqueueinfo            (__NR_Linux + 127)
  399 #define __NR_rt_sigsuspend              (__NR_Linux + 128)
  400 #define __NR_sigaltstack                (__NR_Linux + 129)
  401 #define __NR_utime                      (__NR_Linux + 130)
  402 #define __NR_mknod                      (__NR_Linux + 131)
  403 #define __NR_personality                (__NR_Linux + 132)
  404 #define __NR_ustat                      (__NR_Linux + 133)
  405 #define __NR_statfs                     (__NR_Linux + 134)
  406 #define __NR_fstatfs                    (__NR_Linux + 135)
  407 #define __NR_sysfs                      (__NR_Linux + 136)
  408 #define __NR_getpriority                (__NR_Linux + 137)
  409 #define __NR_setpriority                (__NR_Linux + 138)
  410 #define __NR_sched_setparam             (__NR_Linux + 139)
  411 #define __NR_sched_getparam             (__NR_Linux + 140)
  412 #define __NR_sched_setscheduler         (__NR_Linux + 141)
  413 #define __NR_sched_getscheduler         (__NR_Linux + 142)
  414 #define __NR_sched_get_priority_max     (__NR_Linux + 143)
  415 #define __NR_sched_get_priority_min     (__NR_Linux + 144)
  416 #define __NR_sched_rr_get_interval      (__NR_Linux + 145)
  417 #define __NR_mlock                      (__NR_Linux + 146)
  418 #define __NR_munlock                    (__NR_Linux + 147)
  419 #define __NR_mlockall                   (__NR_Linux + 148)
  420 #define __NR_munlockall                 (__NR_Linux + 149)
  421 #define __NR_vhangup                    (__NR_Linux + 150)
  422 #define __NR_pivot_root                 (__NR_Linux + 151)
  423 #define __NR__sysctl                    (__NR_Linux + 152)
  424 #define __NR_prctl                      (__NR_Linux + 153)
  425 #define __NR_adjtimex                   (__NR_Linux + 154)
  426 #define __NR_setrlimit                  (__NR_Linux + 155)
  427 #define __NR_chroot                     (__NR_Linux + 156)
  428 #define __NR_sync                       (__NR_Linux + 157)
  429 #define __NR_acct                       (__NR_Linux + 158)
  430 #define __NR_settimeofday               (__NR_Linux + 159)
  431 #define __NR_mount                      (__NR_Linux + 160)
  432 #define __NR_umount2                    (__NR_Linux + 161)
  433 #define __NR_swapon                     (__NR_Linux + 162)
  434 #define __NR_swapoff                    (__NR_Linux + 163)
  435 #define __NR_reboot                     (__NR_Linux + 164)
  436 #define __NR_sethostname                (__NR_Linux + 165)
  437 #define __NR_setdomainname              (__NR_Linux + 166)
  438 #define __NR_create_module              (__NR_Linux + 167)
  439 #define __NR_init_module                (__NR_Linux + 168)
  440 #define __NR_delete_module              (__NR_Linux + 169)
  441 #define __NR_get_kernel_syms            (__NR_Linux + 170)
  442 #define __NR_query_module               (__NR_Linux + 171)
  443 #define __NR_quotactl                   (__NR_Linux + 172)
  444 #define __NR_nfsservctl                 (__NR_Linux + 173)
  445 #define __NR_getpmsg                    (__NR_Linux + 174)
  446 #define __NR_putpmsg                    (__NR_Linux + 175)
  447 #define __NR_afs_syscall                (__NR_Linux + 176)
  448 #define __NR_security                   (__NR_Linux + 177)
  449 #define __NR_gettid                     (__NR_Linux + 178)
  450 #define __NR_readahead                  (__NR_Linux + 179)
  451 #define __NR_setxattr                   (__NR_Linux + 180)
  452 #define __NR_lsetxattr                  (__NR_Linux + 181)
  453 #define __NR_fsetxattr                  (__NR_Linux + 182)
  454 #define __NR_getxattr                   (__NR_Linux + 183)
  455 #define __NR_lgetxattr                  (__NR_Linux + 184)
  456 #define __NR_fgetxattr                  (__NR_Linux + 185)
  457 #define __NR_listxattr                  (__NR_Linux + 186)
  458 #define __NR_llistxattr                 (__NR_Linux + 187)
  459 #define __NR_flistxattr                 (__NR_Linux + 188)
  460 #define __NR_removexattr                (__NR_Linux + 189)
  461 #define __NR_lremovexattr               (__NR_Linux + 190)
  462 #define __NR_fremovexattr               (__NR_Linux + 191)
  463 #define __NR_tkill                      (__NR_Linux + 192)
  464 #define __NR_time                       (__NR_Linux + 193)
  465 #define __NR_futex                      (__NR_Linux + 194)
  466 #define __NR_sched_setaffinity          (__NR_Linux + 195)
  467 #define __NR_sched_getaffinity          (__NR_Linux + 196)
  468 #define __NR_cacheflush                 (__NR_Linux + 197)
  469 #define __NR_cachectl                   (__NR_Linux + 198)
  470 #define __NR_sysmips                    (__NR_Linux + 199)
  471 #define __NR_unused200                  (__NR_Linux + 200)
  472 #define __NR_unused201                  (__NR_Linux + 201)
  473 #define __NR_unused202                  (__NR_Linux + 202)
  474 #define __NR_unused203                  (__NR_Linux + 203)
  475 #define __NR_unused204                  (__NR_Linux + 204)
  476 #define __NR_unused205                  (__NR_Linux + 205)
  477 #define __NR_unused206                  (__NR_Linux + 206)
  478 #define __NR_unused207                  (__NR_Linux + 207)
  479 #define __NR_unused208                  (__NR_Linux + 208)
  480 #define __NR_unused209                  (__NR_Linux + 209)
  481 #define __NR_unused210                  (__NR_Linux + 210)
  482 #define __NR_rt_sigreturn               (__NR_Linux + 211)
  483 
  484 /*
  485  * Offset of the last Linux flavoured syscall
  486  */
  487 #define __NR_Linux_syscalls             211
  488 
  489 /*
  490  * Linux N32 syscalls are in the range from 6000 to 6999.
  491  */
  492 #define __NR_N32_Linux                  6000
  493 #define __NR_N32_read                   (__NR_N32_Linux +   0)
  494 #define __NR_N32_write                  (__NR_N32_Linux +   1)
  495 #define __NR_N32_open                   (__NR_N32_Linux +   2)
  496 #define __NR_N32_close                  (__NR_N32_Linux +   3)
  497 #define __NR_N32_stat                   (__NR_N32_Linux +   4)
  498 #define __NR_N32_fstat                  (__NR_N32_Linux +   5)
  499 #define __NR_N32_lstat                  (__NR_N32_Linux +   6)
  500 #define __NR_N32_poll                   (__NR_N32_Linux +   7)
  501 #define __NR_N32_lseek                  (__NR_N32_Linux +   8)
  502 #define __NR_N32_mmap                   (__NR_N32_Linux +   9)
  503 #define __NR_N32_mprotect               (__NR_N32_Linux +  10)
  504 #define __NR_N32_munmap                 (__NR_N32_Linux +  11)
  505 #define __NR_N32_brk                    (__NR_N32_Linux +  12)
  506 #define __NR_N32_rt_sigaction           (__NR_N32_Linux +  13)
  507 #define __NR_N32_rt_sigprocmask         (__NR_N32_Linux +  14)
  508 #define __NR_N32_ioctl                  (__NR_N32_Linux +  15)
  509 #define __NR_N32_pread                  (__NR_N32_Linux +  16)
  510 #define __NR_N32_pwrite                 (__NR_N32_Linux +  17)
  511 #define __NR_N32_readv                  (__NR_N32_Linux +  18)
  512 #define __NR_N32_writev                 (__NR_N32_Linux +  19)
  513 #define __NR_N32_access                 (__NR_N32_Linux +  20)
  514 #define __NR_N32_pipe                   (__NR_N32_Linux +  21)
  515 #define __NR_N32__newselect             (__NR_N32_Linux +  22)
  516 #define __NR_N32_sched_yield            (__NR_N32_Linux +  23)
  517 #define __NR_N32_mremap                 (__NR_N32_Linux +  24)
  518 #define __NR_N32_msync                  (__NR_N32_Linux +  25)
  519 #define __NR_N32_mincore                (__NR_N32_Linux +  26)
  520 #define __NR_N32_madvise                (__NR_N32_Linux +  27)
  521 #define __NR_N32_shmget                 (__NR_N32_Linux +  28)
  522 #define __NR_N32_shmat                  (__NR_N32_Linux +  29)
  523 #define __NR_N32_shmctl                 (__NR_N32_Linux +  30)
  524 #define __NR_N32_dup                    (__NR_N32_Linux +  31)
  525 #define __NR_N32_dup2                   (__NR_N32_Linux +  32)
  526 #define __NR_N32_pause                  (__NR_N32_Linux +  33)
  527 #define __NR_N32_nanosleep              (__NR_N32_Linux +  34)
  528 #define __NR_N32_getitimer              (__NR_N32_Linux +  35)
  529 #define __NR_N32_setitimer              (__NR_N32_Linux +  36)
  530 #define __NR_N32_alarm                  (__NR_N32_Linux +  37)
  531 #define __NR_N32_getpid                 (__NR_N32_Linux +  38)
  532 #define __NR_N32_sendfile               (__NR_N32_Linux +  39)
  533 #define __NR_N32_socket                 (__NR_N32_Linux +  40)
  534 #define __NR_N32_connect                (__NR_N32_Linux +  41)
  535 #define __NR_N32_accept                 (__NR_N32_Linux +  42)
  536 #define __NR_N32_sendto                 (__NR_N32_Linux +  43)
  537 #define __NR_N32_recvfrom               (__NR_N32_Linux +  44)
  538 #define __NR_N32_sendmsg                (__NR_N32_Linux +  45)
  539 #define __NR_N32_recvmsg                (__NR_N32_Linux +  46)
  540 #define __NR_N32_shutdown               (__NR_N32_Linux +  47)
  541 #define __NR_N32_bind                   (__NR_N32_Linux +  48)
  542 #define __NR_N32_listen                 (__NR_N32_Linux +  49)
  543 #define __NR_N32_getsockname            (__NR_N32_Linux +  50)
  544 #define __NR_N32_getpeername            (__NR_N32_Linux +  51)
  545 #define __NR_N32_socketpair             (__NR_N32_Linux +  52)
  546 #define __NR_N32_setsockopt             (__NR_N32_Linux +  53)
  547 #define __NR_N32_getsockopt             (__NR_N32_Linux +  54)
  548 #define __NR_N32_clone                  (__NR_N32_Linux +  55)
  549 #define __NR_N32_fork                   (__NR_N32_Linux +  56)
  550 #define __NR_N32_execve                 (__NR_N32_Linux +  57)
  551 #define __NR_N32_exit                   (__NR_N32_Linux +  58)
  552 #define __NR_N32_wait4                  (__NR_N32_Linux +  59)
  553 #define __NR_N32_kill                   (__NR_N32_Linux +  60)
  554 #define __NR_N32_uname                  (__NR_N32_Linux +  61)
  555 #define __NR_N32_semget                 (__NR_N32_Linux +  62)
  556 #define __NR_N32_semop                  (__NR_N32_Linux +  63)
  557 #define __NR_N32_semctl                 (__NR_N32_Linux +  64)
  558 #define __NR_N32_shmdt                  (__NR_N32_Linux +  65)
  559 #define __NR_N32_msgget                 (__NR_N32_Linux +  66)
  560 #define __NR_N32_msgsnd                 (__NR_N32_Linux +  67)
  561 #define __NR_N32_msgrcv                 (__NR_N32_Linux +  68)
  562 #define __NR_N32_msgctl                 (__NR_N32_Linux +  69)
  563 #define __NR_N32_fcntl                  (__NR_N32_Linux +  70)
  564 #define __NR_N32_flock                  (__NR_N32_Linux +  71)
  565 #define __NR_N32_fsync                  (__NR_N32_Linux +  72)
  566 #define __NR_N32_fdatasync              (__NR_N32_Linux +  73)
  567 #define __NR_N32_truncate               (__NR_N32_Linux +  74)
  568 #define __NR_N32_ftruncate              (__NR_N32_Linux +  75)
  569 #define __NR_N32_getdents               (__NR_N32_Linux +  76)
  570 #define __NR_N32_getcwd                 (__NR_N32_Linux +  77)
  571 #define __NR_N32_chdir                  (__NR_N32_Linux +  78)
  572 #define __NR_N32_fchdir                 (__NR_N32_Linux +  79)
  573 #define __NR_N32_rename                 (__NR_N32_Linux +  80)
  574 #define __NR_N32_mkdir                  (__NR_N32_Linux +  81)
  575 #define __NR_N32_rmdir                  (__NR_N32_Linux +  82)
  576 #define __NR_N32_creat                  (__NR_N32_Linux +  83)
  577 #define __NR_N32_link                   (__NR_N32_Linux +  84)
  578 #define __NR_N32_unlink                 (__NR_N32_Linux +  85)
  579 #define __NR_N32_symlink                (__NR_N32_Linux +  86)
  580 #define __NR_N32_readlink               (__NR_N32_Linux +  87)
  581 #define __NR_N32_chmod                  (__NR_N32_Linux +  88)
  582 #define __NR_N32_fchmod                 (__NR_N32_Linux +  89)
  583 #define __NR_N32_chown                  (__NR_N32_Linux +  90)
  584 #define __NR_N32_fchown                 (__NR_N32_Linux +  91)
  585 #define __NR_N32_lchown                 (__NR_N32_Linux +  92)
  586 #define __NR_N32_umask                  (__NR_N32_Linux +  93)
  587 #define __NR_N32_gettimeofday           (__NR_N32_Linux +  94)
  588 #define __NR_N32_getrlimit              (__NR_N32_Linux +  95)
  589 #define __NR_N32_getrusage              (__NR_N32_Linux +  96)
  590 #define __NR_N32_sysinfo                (__NR_N32_Linux +  97)
  591 #define __NR_N32_times                  (__NR_N32_Linux +  98)
  592 #define __NR_N32_ptrace                 (__NR_N32_Linux +  99)
  593 #define __NR_N32_getuid                 (__NR_N32_Linux + 100)
  594 #define __NR_N32_syslog                 (__NR_N32_Linux + 101)
  595 #define __NR_N32_getgid                 (__NR_N32_Linux + 102)
  596 #define __NR_N32_setuid                 (__NR_N32_Linux + 103)
  597 #define __NR_N32_setgid                 (__NR_N32_Linux + 104)
  598 #define __NR_N32_geteuid                (__NR_N32_Linux + 105)
  599 #define __NR_N32_getegid                (__NR_N32_Linux + 106)
  600 #define __NR_N32_setpgid                (__NR_N32_Linux + 107)
  601 #define __NR_N32_getppid                (__NR_N32_Linux + 108)
  602 #define __NR_N32_getpgrp                (__NR_N32_Linux + 109)
  603 #define __NR_N32_setsid                 (__NR_N32_Linux + 110)
  604 #define __NR_N32_setreuid               (__NR_N32_Linux + 111)
  605 #define __NR_N32_setregid               (__NR_N32_Linux + 112)
  606 #define __NR_N32_getgroups              (__NR_N32_Linux + 113)
  607 #define __NR_N32_setgroups              (__NR_N32_Linux + 114)
  608 #define __NR_N32_setresuid              (__NR_N32_Linux + 115)
  609 #define __NR_N32_getresuid              (__NR_N32_Linux + 116)
  610 #define __NR_N32_setresgid              (__NR_N32_Linux + 117)
  611 #define __NR_N32_getresgid              (__NR_N32_Linux + 118)
  612 #define __NR_N32_getpgid                (__NR_N32_Linux + 119)
  613 #define __NR_N32_setfsuid               (__NR_N32_Linux + 120)
  614 #define __NR_N32_setfsgid               (__NR_N32_Linux + 121)
  615 #define __NR_N32_getsid                 (__NR_N32_Linux + 122)
  616 #define __NR_N32_capget                 (__NR_N32_Linux + 123)
  617 #define __NR_N32_capset                 (__NR_N32_Linux + 124)
  618 #define __NR_N32_rt_sigpending          (__NR_N32_Linux + 125)
  619 #define __NR_N32_rt_sigtimedwait        (__NR_N32_Linux + 126)
  620 #define __NR_N32_rt_sigqueueinfo        (__NR_N32_Linux + 127)
  621 #define __NR_N32_rt_sigsuspend          (__NR_N32_Linux + 128)
  622 #define __NR_N32_sigaltstack            (__NR_N32_Linux + 129)
  623 #define __NR_N32_utime                  (__NR_N32_Linux + 130)
  624 #define __NR_N32_mknod                  (__NR_N32_Linux + 131)
  625 #define __NR_N32_personality            (__NR_N32_Linux + 132)
  626 #define __NR_N32_ustat                  (__NR_N32_Linux + 133)
  627 #define __NR_N32_statfs                 (__NR_N32_Linux + 134)
  628 #define __NR_N32_fstatfs                (__NR_N32_Linux + 135)
  629 #define __NR_N32_sysfs                  (__NR_N32_Linux + 136)
  630 #define __NR_N32_getpriority            (__NR_N32_Linux + 137)
  631 #define __NR_N32_setpriority            (__NR_N32_Linux + 138)
  632 #define __NR_N32_sched_setparam         (__NR_N32_Linux + 139)
  633 #define __NR_N32_sched_getparam         (__NR_N32_Linux + 140)
  634 #define __NR_N32_sched_setscheduler     (__NR_N32_Linux + 141)
  635 #define __NR_N32_sched_getscheduler     (__NR_N32_Linux + 142)
  636 #define __NR_N32_sched_get_priority_max (__NR_N32_Linux + 143)
  637 #define __NR_N32_sched_get_priority_min (__NR_N32_Linux + 144)
  638 #define __NR_N32_sched_rr_get_interval  (__NR_N32_Linux + 145)
  639 #define __NR_N32_mlock                  (__NR_N32_Linux + 146)
  640 #define __NR_N32_munlock                (__NR_N32_Linux + 147)
  641 #define __NR_N32_mlockall               (__NR_N32_Linux + 148)
  642 #define __NR_N32_munlockall             (__NR_N32_Linux + 149)
  643 #define __NR_N32_vhangup                (__NR_N32_Linux + 150)
  644 #define __NR_N32_pivot_root             (__NR_N32_Linux + 151)
  645 #define __NR_N32__sysctl                (__NR_N32_Linux + 152)
  646 #define __NR_N32_prctl                  (__NR_N32_Linux + 153)
  647 #define __NR_N32_adjtimex               (__NR_N32_Linux + 154)
  648 #define __NR_N32_setrlimit              (__NR_N32_Linux + 155)
  649 #define __NR_N32_chroot                 (__NR_N32_Linux + 156)
  650 #define __NR_N32_sync                   (__NR_N32_Linux + 157)
  651 #define __NR_N32_acct                   (__NR_N32_Linux + 158)
  652 #define __NR_N32_settimeofday           (__NR_N32_Linux + 159)
  653 #define __NR_N32_mount                  (__NR_N32_Linux + 160)
  654 #define __NR_N32_umount2                (__NR_N32_Linux + 161)
  655 #define __NR_N32_swapon                 (__NR_N32_Linux + 162)
  656 #define __NR_N32_swapoff                (__NR_N32_Linux + 163)
  657 #define __NR_N32_reboot                 (__NR_N32_Linux + 164)
  658 #define __NR_N32_sethostname            (__NR_N32_Linux + 165)
  659 #define __NR_N32_setdomainname          (__NR_N32_Linux + 166)
  660 #define __NR_N32_create_module          (__NR_N32_Linux + 167)
  661 #define __NR_N32_init_module            (__NR_N32_Linux + 168)
  662 #define __NR_N32_delete_module          (__NR_N32_Linux + 169)
  663 #define __NR_N32_get_kernel_syms        (__NR_N32_Linux + 170)
  664 #define __NR_N32_query_module           (__NR_N32_Linux + 171)
  665 #define __NR_N32_quotactl               (__NR_N32_Linux + 172)
  666 #define __NR_N32_nfsservctl             (__NR_N32_Linux + 173)
  667 #define __NR_N32_getpmsg                (__NR_N32_Linux + 174)
  668 #define __NR_N32_putpmsg                (__NR_N32_Linux + 175)
  669 #define __NR_N32_afs_syscall            (__NR_N32_Linux + 176)
  670 #define __NR_N32_security               (__NR_N32_Linux + 177)
  671 #define __NR_N32_gettid                 (__NR_N32_Linux + 178)
  672 #define __NR_N32_readahead              (__NR_N32_Linux + 179)
  673 #define __NR_N32_setxattr               (__NR_N32_Linux + 180)
  674 #define __NR_N32_lsetxattr              (__NR_N32_Linux + 181)
  675 #define __NR_N32_fsetxattr              (__NR_N32_Linux + 182)
  676 #define __NR_N32_getxattr               (__NR_N32_Linux + 183)
  677 #define __NR_N32_lgetxattr              (__NR_N32_Linux + 184)
  678 #define __NR_N32_fgetxattr              (__NR_N32_Linux + 185)
  679 #define __NR_N32_listxattr              (__NR_N32_Linux + 186)
  680 #define __NR_N32_llistxattr             (__NR_N32_Linux + 187)
  681 #define __NR_N32_flistxattr             (__NR_N32_Linux + 188)
  682 #define __NR_N32_removexattr            (__NR_N32_Linux + 189)
  683 #define __NR_N32_lremovexattr           (__NR_N32_Linux + 190)
  684 #define __NR_N32_fremovexattr           (__NR_N32_Linux + 191)
  685 #define __NR_N32_tkill                  (__NR_N32_Linux + 192)
  686 #define __NR_N32_time                   (__NR_N32_Linux + 193)
  687 #define __NR_N32_futex                  (__NR_N32_Linux + 194)
  688 #define __NR_N32_sched_setaffinity      (__NR_N32_Linux + 195)
  689 #define __NR_N32_sched_getaffinity      (__NR_N32_Linux + 196)
  690 #define __NR_N32_cacheflush             (__NR_N32_Linux + 197)
  691 #define __NR_N32_cachectl               (__NR_N32_Linux + 198)
  692 #define __NR_N32_sysmips                (__NR_N32_Linux + 199)
  693 #define __NR_N32_unused200              (__NR_N32_Linux + 200)
  694 #define __NR_N32_unused201              (__NR_N32_Linux + 201)
  695 #define __NR_N32_unused202              (__NR_N32_Linux + 202)
  696 #define __NR_N32_unused203              (__NR_N32_Linux + 203)
  697 #define __NR_N32_unused204              (__NR_N32_Linux + 204)
  698 #define __NR_N32_unused205              (__NR_N32_Linux + 205)
  699 #define __NR_N32_unused206              (__NR_N32_Linux + 206)
  700 #define __NR_N32_unused207              (__NR_N32_Linux + 207)
  701 #define __NR_N32_unused208              (__NR_N32_Linux + 208)
  702 #define __NR_N32_unused209              (__NR_N32_Linux + 209)
  703 #define __NR_N32_unused210              (__NR_N32_Linux + 210)
  704 #define __NR_N32_rt_sigreturn           (__NR_N32_Linux + 211)
  705 #define __NR_N32_fcntl64                (__NR_N32_Linux + 212)
  706 #define __NR_N32_unused213              (__NR_N32_Linux + 213)
  707 #define __NR_N32_unused214              (__NR_N32_Linux + 214)
  708 #define __NR_N32_unused215              (__NR_N32_Linux + 215)
  709 #define __NR_N32_unused216              (__NR_N32_Linux + 216)
  710 #define __NR_N32_unused217              (__NR_N32_Linux + 217)
  711 #define __NR_N32_unused218              (__NR_N32_Linux + 218)
  712 #define __NR_N32_sendfile64             (__NR_N32_Linux + 219)
  713 
  714 /*
  715  * Offset of the last N32 flavoured syscall
  716  */
  717 #define __NR_N32_Linux_syscalls         219
  718 
  719 #ifndef __ASSEMBLY__
  720 
  721 /* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
  722 #define _syscall0(type,name) \
  723 type name(void) \
  724 { \
  725         register unsigned long __a3 asm("$7"); \
  726         unsigned long __v0; \
  727         \
  728         __asm__ volatile ( \
  729         ".set\tnoreorder\n\t" \
  730         "li\t$2, %2\t\t\t# " #name "\n\t" \
  731         "syscall\n\t" \
  732         "move\t%0, $2\n\t" \
  733         ".set\treorder" \
  734         : "=&r" (__v0), "=r" (__a3) \
  735         : "i" (__NR_##name) \
  736         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  737         \
  738         if (__a3 == 0) \
  739                 return (type) __v0; \
  740         errno = __v0; \
  741         return -1; \
  742 }
  743 
  744 /*
  745  * DANGER: This macro isn't usable for the pipe(2) call
  746  * which has a unusual return convention.
  747  */
  748 #define _syscall1(type,name,atype,a) \
  749 type name(atype a) \
  750 { \
  751         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  752         register unsigned long __a3 asm("$7"); \
  753         unsigned long __v0; \
  754         \
  755         __asm__ volatile ( \
  756         ".set\tnoreorder\n\t" \
  757         "li\t$2, %3\t\t\t# " #name "\n\t" \
  758         "syscall\n\t" \
  759         "move\t%0, $2\n\t" \
  760         ".set\treorder" \
  761         : "=&r" (__v0), "=r" (__a3) \
  762         : "r" (__a0), "i" (__NR_##name) \
  763         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  764         \
  765         if (__a3 == 0) \
  766                 return (type) __v0; \
  767         errno = __v0; \
  768         return -1; \
  769 }
  770 
  771 #define _syscall2(type,name,atype,a,btype,b) \
  772 type name(atype a, btype b) \
  773 { \
  774         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  775         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  776         register unsigned long __a3 asm("$7"); \
  777         unsigned long __v0; \
  778         \
  779         __asm__ volatile ( \
  780         ".set\tnoreorder\n\t" \
  781         "li\t$2, %4\t\t\t# " #name "\n\t" \
  782         "syscall\n\t" \
  783         "move\t%0, $2\n\t" \
  784         ".set\treorder" \
  785         : "=&r" (__v0), "=r" (__a3) \
  786         : "r" (__a0), "r" (__a1), "i" (__NR_##name) \
  787         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  788         \
  789         if (__a3 == 0) \
  790                 return (type) __v0; \
  791         errno = __v0; \
  792         return -1; \
  793 }
  794 
  795 #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
  796 type name(atype a, btype b, ctype c) \
  797 { \
  798         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  799         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  800         register unsigned long __a2 asm("$6") = (unsigned long) c; \
  801         register unsigned long __a3 asm("$7"); \
  802         unsigned long __v0; \
  803         \
  804         __asm__ volatile ( \
  805         ".set\tnoreorder\n\t" \
  806         "li\t$2, %5\t\t\t# " #name "\n\t" \
  807         "syscall\n\t" \
  808         "move\t%0, $2\n\t" \
  809         ".set\treorder" \
  810         : "=&r" (__v0), "=r" (__a3) \
  811         : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
  812         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  813         \
  814         if (__a3 == 0) \
  815                 return (type) __v0; \
  816         errno = __v0; \
  817         return -1; \
  818 }
  819 
  820 #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
  821 type name(atype a, btype b, ctype c, dtype d) \
  822 { \
  823         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  824         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  825         register unsigned long __a2 asm("$6") = (unsigned long) c; \
  826         register unsigned long __a3 asm("$7") = (unsigned long) d; \
  827         unsigned long __v0; \
  828         \
  829         __asm__ volatile ( \
  830         ".set\tnoreorder\n\t" \
  831         "li\t$2, %5\t\t\t# " #name "\n\t" \
  832         "syscall\n\t" \
  833         "move\t%0, $2\n\t" \
  834         ".set\treorder" \
  835         : "=&r" (__v0), "+r" (__a3) \
  836         : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
  837         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  838         \
  839         if (__a3 == 0) \
  840                 return (type) __v0; \
  841         errno = __v0; \
  842         return -1; \
  843 }
  844 
  845 #if (_MIPS_SIM == _ABIN32) || (_MIPS_SIM == _ABI64)
  846 
  847 #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
  848 type name (atype a,btype b,ctype c,dtype d,etype e) \
  849 { \
  850         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  851         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  852         register unsigned long __a2 asm("$6") = (unsigned long) c; \
  853         register unsigned long __a3 asm("$7") = (unsigned long) d; \
  854         register unsigned long __a4 asm("$8") = (unsigned long) e; \
  855         unsigned long __v0; \
  856         \
  857         __asm__ volatile ( \
  858         ".set\tnoreorder\n\t" \
  859         "li\t$2, %6\t\t\t# " #name "\n\t" \
  860         "syscall\n\t" \
  861         "move\t%0, $2\n\t" \
  862         ".set\treorder" \
  863         : "=&r" (__v0), "+r" (__a3), "+r" (__a4) \
  864         : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
  865         : "$2","$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  866         \
  867         if (__a3 == 0) \
  868                 return (type) __v0; \
  869         errno = __v0; \
  870         return -1; \
  871 }
  872 
  873 #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
  874 type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \
  875 { \
  876         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  877         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  878         register unsigned long __a2 asm("$6") = (unsigned long) c; \
  879         register unsigned long __a3 asm("$7") = (unsigned long) d; \
  880         register unsigned long __a4 asm("$8") = (unsigned long) e; \
  881         register unsigned long __a5 asm("$9") = (unsigned long) f; \
  882         unsigned long __v0; \
  883         \
  884         __asm__ volatile ( \
  885         ".set\tnoreorder\n\t" \
  886         "li\t$2, %5\t\t\t# " #name "\n\t" \
  887         "syscall\n\t" \
  888         "move\t%0, $2\n\t" \
  889         ".set\treorder" \
  890         : "=&r" (__v0), "+r" (__a3) \
  891         : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "r" (__a5), \
  892           "i" (__NR_##name) \
  893         : "$2","$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  894         \
  895         if (__a3 == 0) \
  896                 return (type) __v0; \
  897         errno = __v0; \
  898         return -1; \
  899 }
  900 
  901 #else /* not N32 or 64 ABI */
  902 
  903 /*
  904  * Using those means your brain needs more than an oil change ;-)
  905  */
  906 
  907 #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
  908 type name(atype a, btype b, ctype c, dtype d, etype e) \
  909 { \
  910         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  911         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  912         register unsigned long __a2 asm("$6") = (unsigned long) c; \
  913         register unsigned long __a3 asm("$7") = (unsigned long) d; \
  914         unsigned long __v0; \
  915         \
  916         __asm__ volatile ( \
  917         ".set\tnoreorder\n\t" \
  918         "lw\t$2, %6\n\t" \
  919         "subu\t$29, 32\n\t" \
  920         "sw\t$2, 16($29)\n\t" \
  921         "li\t$2, %5\t\t\t# " #name "\n\t" \
  922         "syscall\n\t" \
  923         "move\t%0, $2\n\t" \
  924         "addiu\t$29, 32\n\t" \
  925         ".set\treorder" \
  926         : "=&r" (__v0), "+r" (__a3) \
  927         : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name), \
  928           "m" ((unsigned long)e) \
  929         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  930         \
  931         if (__a3 == 0) \
  932                 return (type) __v0; \
  933         errno = __v0; \
  934         return -1; \
  935 }
  936 
  937 #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
  938 type name(atype a, btype b, ctype c, dtype d, etype e, ftype f) \
  939 { \
  940         register unsigned long __a0 asm("$4") = (unsigned long) a; \
  941         register unsigned long __a1 asm("$5") = (unsigned long) b; \
  942         register unsigned long __a2 asm("$6") = (unsigned long) c; \
  943         register unsigned long __a3 asm("$7") = (unsigned long) d; \
  944         unsigned long __v0; \
  945         \
  946         __asm__ volatile ( \
  947         ".set\tnoreorder\n\t" \
  948         "lw\t$2, %6\n\t" \
  949         "lw\t$8, %7\n\t" \
  950         "subu\t$29, 32\n\t" \
  951         "sw\t$2, 16($29)\n\t" \
  952         "sw\t$8, 20($29)\n\t" \
  953         "li\t$2, %5\t\t\t# " #name "\n\t" \
  954         "syscall\n\t" \
  955         "move\t%0, $2\n\t" \
  956         "addiu\t$29, 32\n\t" \
  957         ".set\treorder" \
  958         : "=&r" (__v0), "+r" (__a3) \
  959         : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name), \
  960           "m" ((unsigned long)e), "m" ((unsigned long)f) \
  961         : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
  962         \
  963         if (__a3 == 0) \
  964                 return (type) __v0; \
  965         errno = __v0; \
  966         return -1; \
  967 }
  968 
  969 #endif
  970 
  971 #ifdef __KERNEL_SYSCALLS__
  972 
  973 /*
  974  * we need this inline - forking from kernel space will result
  975  * in NO COPY ON WRITE (!!!), until an execve is executed. This
  976  * is no problem, but for the stack. This is handled by not letting
  977  * main() use the stack at all after fork(). Thus, no function
  978  * calls - which means inline code for fork too, as otherwise we
  979  * would use the stack upon exit from 'fork()'.
  980  *
  981  * Actually only pause and fork are needed inline, so that there
  982  * won't be any messing with the stack from main(), but we define
  983  * some others too.
  984  */
  985 #define __NR__exit __NR_exit
  986 static inline _syscall0(int,sync)
  987 static inline _syscall0(pid_t,setsid)
  988 static inline _syscall3(int,write,int,fd,const char *,buf,off_t,count)
  989 static inline _syscall3(int,read,int,fd,char *,buf,off_t,count)
  990 static inline _syscall3(off_t,lseek,int,fd,off_t,offset,int,count)
  991 static inline _syscall1(int,dup,int,fd)
  992 static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp)
  993 static inline _syscall3(int,open,const char *,file,int,flag,int,mode)
  994 static inline _syscall1(int,close,int,fd)
  995 static inline _syscall1(int,_exit,int,exitcode)
  996 static inline _syscall4(pid_t,wait4,pid_t,pid,int *,stat_addr,int,options,struct rusage *,ru)
  997 static inline _syscall1(int,delete_module,const char *,name)
  998 
  999 static inline pid_t waitpid(int pid, int * wait_stat, int flags)
 1000 {
 1001         return wait4(pid, wait_stat, flags, NULL);
 1002 }
 1003 
 1004 static inline pid_t wait(int * wait_stat)
 1005 {
 1006         return waitpid(-1, wait_stat, 0);
 1007 }
 1008 
 1009 #endif /* __KERNEL_SYSCALLS__ */
 1010 #endif /* !__ASSEMBLY__ */
 1011 
 1012 #endif /* _ASM_UNISTD_H */

Cache object: d582744e31cda9721ddbe501d25741b9


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.