~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-mips64/unistd.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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_Linux32                    4000
 19 #define __NR_Linux32_syscall            (__NR_Linux32 +   0)
 20 #define __NR_Linux32_exit               (__NR_Linux32 +   1)
 21 #define __NR_Linux32_fork               (__NR_Linux32 +   2)
 22 #define __NR_Linux32_read               (__NR_Linux32 +   3)
 23 #define __NR_Linux32_write              (__NR_Linux32 +   4)
 24 #define __NR_Linux32_open               (__NR_Linux32 +   5)
 25 #define __NR_Linux32_close              (__NR_Linux32 +   6)
 26 #define __NR_Linux32_waitpid            (__NR_Linux32 +   7)
 27 #define __NR_Linux32_creat              (__NR_Linux32 +   8)
 28 #define __NR_Linux32_link               (__NR_Linux32 +   9)
 29 #define __NR_Linux32_unlink             (__NR_Linux32 +  10)
 30 #define __NR_Linux32_execve             (__NR_Linux32 +  11)
 31 #define __NR_Linux32_chdir              (__NR_Linux32 +  12)
 32 #define __NR_Linux32_time               (__NR_Linux32 +  13)
 33 #define __NR_Linux32_mknod              (__NR_Linux32 +  14)
 34 #define __NR_Linux32_chmod              (__NR_Linux32 +  15)
 35 #define __NR_Linux32_lchown             (__NR_Linux32 +  16)
 36 #define __NR_Linux32_break              (__NR_Linux32 +  17)
 37 #define __NR_Linux32_oldstat            (__NR_Linux32 +  18)
 38 #define __NR_Linux32_lseek              (__NR_Linux32 +  19)
 39 #define __NR_Linux32_getpid             (__NR_Linux32 +  20)
 40 #define __NR_Linux32_mount              (__NR_Linux32 +  21)
 41 #define __NR_Linux32_umount             (__NR_Linux32 +  22)
 42 #define __NR_Linux32_setuid             (__NR_Linux32 +  23)
 43 #define __NR_Linux32_getuid             (__NR_Linux32 +  24)
 44 #define __NR_Linux32_stime              (__NR_Linux32 +  25)
 45 #define __NR_Linux32_ptrace             (__NR_Linux32 +  26)
 46 #define __NR_Linux32_alarm              (__NR_Linux32 +  27)
 47 #define __NR_Linux32_oldfstat           (__NR_Linux32 +  28)
 48 #define __NR_Linux32_pause              (__NR_Linux32 +  29)
 49 #define __NR_Linux32_utime              (__NR_Linux32 +  30)
 50 #define __NR_Linux32_stty               (__NR_Linux32 +  31)
 51 #define __NR_Linux32_gtty               (__NR_Linux32 +  32)
 52 #define __NR_Linux32_access             (__NR_Linux32 +  33)
 53 #define __NR_Linux32_nice               (__NR_Linux32 +  34)
 54 #define __NR_Linux32_ftime              (__NR_Linux32 +  35)
 55 #define __NR_Linux32_sync               (__NR_Linux32 +  36)
 56 #define __NR_Linux32_kill               (__NR_Linux32 +  37)
 57 #define __NR_Linux32_rename             (__NR_Linux32 +  38)
 58 #define __NR_Linux32_mkdir              (__NR_Linux32 +  39)
 59 #define __NR_Linux32_rmdir              (__NR_Linux32 +  40)
 60 #define __NR_Linux32_dup                (__NR_Linux32 +  41)
 61 #define __NR_Linux32_pipe               (__NR_Linux32 +  42)
 62 #define __NR_Linux32_times              (__NR_Linux32 +  43)
 63 #define __NR_Linux32_prof               (__NR_Linux32 +  44)
 64 #define __NR_Linux32_brk                (__NR_Linux32 +  45)
 65 #define __NR_Linux32_setgid             (__NR_Linux32 +  46)
 66 #define __NR_Linux32_getgid             (__NR_Linux32 +  47)
 67 #define __NR_Linux32_signal             (__NR_Linux32 +  48)
 68 #define __NR_Linux32_geteuid            (__NR_Linux32 +  49)
 69 #define __NR_Linux32_getegid            (__NR_Linux32 +  50)
 70 #define __NR_Linux32_acct               (__NR_Linux32 +  51)
 71 #define __NR_Linux32_umount2            (__NR_Linux32 +  52)
 72 #define __NR_Linux32_lock               (__NR_Linux32 +  53)
 73 #define __NR_Linux32_ioctl              (__NR_Linux32 +  54)
 74 #define __NR_Linux32_fcntl              (__NR_Linux32 +  55)
 75 #define __NR_Linux32_mpx                (__NR_Linux32 +  56)
 76 #define __NR_Linux32_setpgid            (__NR_Linux32 +  57)
 77 #define __NR_Linux32_ulimit             (__NR_Linux32 +  58)
 78 #define __NR_Linux32_unused59           (__NR_Linux32 +  59)
 79 #define __NR_Linux32_umask              (__NR_Linux32 +  60)
 80 #define __NR_Linux32_chroot             (__NR_Linux32 +  61)
 81 #define __NR_Linux32_ustat              (__NR_Linux32 +  62)
 82 #define __NR_Linux32_dup2               (__NR_Linux32 +  63)
 83 #define __NR_Linux32_getppid            (__NR_Linux32 +  64)
 84 #define __NR_Linux32_getpgrp            (__NR_Linux32 +  65)
 85 #define __NR_Linux32_setsid             (__NR_Linux32 +  66)
 86 #define __NR_Linux32_sigaction          (__NR_Linux32 +  67)
 87 #define __NR_Linux32_sgetmask           (__NR_Linux32 +  68)
 88 #define __NR_Linux32_ssetmask           (__NR_Linux32 +  69)
 89 #define __NR_Linux32_setreuid           (__NR_Linux32 +  70)
 90 #define __NR_Linux32_setregid           (__NR_Linux32 +  71)
 91 #define __NR_Linux32_sigsuspend         (__NR_Linux32 +  72)
 92 #define __NR_Linux32_sigpending         (__NR_Linux32 +  73)
 93 #define __NR_Linux32_sethostname        (__NR_Linux32 +  74)
 94 #define __NR_Linux32_setrlimit          (__NR_Linux32 +  75)
 95 #define __NR_Linux32_getrlimit          (__NR_Linux32 +  76)
 96 #define __NR_Linux32_getrusage          (__NR_Linux32 +  77)
 97 #define __NR_Linux32_gettimeofday       (__NR_Linux32 +  78)
 98 #define __NR_Linux32_settimeofday       (__NR_Linux32 +  79)
 99 #define __NR_Linux32_getgroups          (__NR_Linux32 +  80)
100 #define __NR_Linux32_setgroups          (__NR_Linux32 +  81)
101 #define __NR_Linux32_reserved82         (__NR_Linux32 +  82)
102 #define __NR_Linux32_symlink            (__NR_Linux32 +  83)
103 #define __NR_Linux32_oldlstat           (__NR_Linux32 +  84)
104 #define __NR_Linux32_readlink           (__NR_Linux32 +  85)
105 #define __NR_Linux32_uselib             (__NR_Linux32 +  86)
106 #define __NR_Linux32_swapon             (__NR_Linux32 +  87)
107 #define __NR_Linux32_reboot             (__NR_Linux32 +  88)
108 #define __NR_Linux32_readdir            (__NR_Linux32 +  89)
109 #define __NR_Linux32_mmap               (__NR_Linux32 +  90)
110 #define __NR_Linux32_munmap             (__NR_Linux32 +  91)
111 #define __NR_Linux32_truncate           (__NR_Linux32 +  92)
112 #define __NR_Linux32_ftruncate          (__NR_Linux32 +  93)
113 #define __NR_Linux32_fchmod             (__NR_Linux32 +  94)
114 #define __NR_Linux32_fchown             (__NR_Linux32 +  95)
115 #define __NR_Linux32_getpriority        (__NR_Linux32 +  96)
116 #define __NR_Linux32_setpriority        (__NR_Linux32 +  97)
117 #define __NR_Linux32_profil             (__NR_Linux32 +  98)
118 #define __NR_Linux32_statfs             (__NR_Linux32 +  99)
119 #define __NR_Linux32_fstatfs            (__NR_Linux32 + 100)
120 #define __NR_Linux32_ioperm             (__NR_Linux32 + 101)
121 #define __NR_Linux32_socketcall         (__NR_Linux32 + 102)
122 #define __NR_Linux32_syslog             (__NR_Linux32 + 103)
123 #define __NR_Linux32_setitimer          (__NR_Linux32 + 104)
124 #define __NR_Linux32_getitimer          (__NR_Linux32 + 105)
125 #define __NR_Linux32_stat               (__NR_Linux32 + 106)
126 #define __NR_Linux32_lstat              (__NR_Linux32 + 107)
127 #define __NR_Linux32_fstat              (__NR_Linux32 + 108)
128 #define __NR_Linux32_unused109          (__NR_Linux32 + 109)
129 #define __NR_Linux32_iopl               (__NR_Linux32 + 110)
130 #define __NR_Linux32_vhangup            (__NR_Linux32 + 111)
131 #define __NR_Linux32_idle               (__NR_Linux32 + 112)
132 #define __NR_Linux32_vm86               (__NR_Linux32 + 113)
133 #define __NR_Linux32_wait4              (__NR_Linux32 + 114)
134 #define __NR_Linux32_swapoff            (__NR_Linux32 + 115)
135 #define __NR_Linux32_sysinfo            (__NR_Linux32 + 116)
136 #define __NR_Linux32_ipc                (__NR_Linux32 + 117)
137 #define __NR_Linux32_fsync              (__NR_Linux32 + 118)
138 #define __NR_Linux32_sigreturn          (__NR_Linux32 + 119)
139 #define __NR_Linux32_clone              (__NR_Linux32 + 120)
140 #define __NR_Linux32_setdomainname      (__NR_Linux32 + 121)
141 #define __NR_Linux32_uname              (__NR_Linux32 + 122)
142 #define __NR_Linux32_modify_ldt         (__NR_Linux32 + 123)
143 #define __NR_Linux32_adjtimex           (__NR_Linux32 + 124)
144 #define __NR_Linux32_mprotect           (__NR_Linux32 + 125)
145 #define __NR_Linux32_sigprocmask        (__NR_Linux32 + 126)
146 #define __NR_Linux32_create_module      (__NR_Linux32 + 127)
147 #define __NR_Linux32_init_module        (__NR_Linux32 + 128)
148 #define __NR_Linux32_delete_module      (__NR_Linux32 + 129)
149 #define __NR_Linux32_get_kernel_syms    (__NR_Linux32 + 130)
150 #define __NR_Linux32_quotactl           (__NR_Linux32 + 131)
151 #define __NR_Linux32_getpgid            (__NR_Linux32 + 132)
152 #define __NR_Linux32_fchdir             (__NR_Linux32 + 133)
153 #define __NR_Linux32_bdflush            (__NR_Linux32 + 134)
154 #define __NR_Linux32_sysfs              (__NR_Linux32 + 135)
155 #define __NR_Linux32_personality        (__NR_Linux32 + 136)
156 #define __NR_Linux32_afs_syscall        (__NR_Linux32 + 137) /* Syscall for Andrew File System */
157 #define __NR_Linux32_setfsuid           (__NR_Linux32 + 138)
158 #define __NR_Linux32_setfsgid           (__NR_Linux32 + 139)
159 #define __NR_Linux32__llseek            (__NR_Linux32 + 140)
160 #define __NR_Linux32_getdents           (__NR_Linux32 + 141)
161 #define __NR_Linux32__newselect         (__NR_Linux32 + 142)
162 #define __NR_Linux32_flock              (__NR_Linux32 + 143)
163 #define __NR_Linux32_msync              (__NR_Linux32 + 144)
164 #define __NR_Linux32_readv              (__NR_Linux32 + 145)
165 #define __NR_Linux32_writev             (__NR_Linux32 + 146)
166 #define __NR_Linux32_cacheflush         (__NR_Linux32 + 147)
167 #define __NR_Linux32_cachectl           (__NR_Linux32 + 148)
168 #define __NR_Linux32_sysmips            (__NR_Linux32 + 149)
169 #define __NR_Linux32_unused150          (__NR_Linux32 + 150)
170 #define __NR_Linux32_getsid             (__NR_Linux32 + 151)
171 #define __NR_Linux32_fdatasync          (__NR_Linux32 + 152)
172 #define __NR_Linux32__sysctl            (__NR_Linux32 + 153)
173 #define __NR_Linux32_mlock              (__NR_Linux32 + 154)
174 #define __NR_Linux32_munlock            (__NR_Linux32 + 155)
175 #define __NR_Linux32_mlockall           (__NR_Linux32 + 156)
176 #define __NR_Linux32_munlockall         (__NR_Linux32 + 157)
177 #define __NR_Linux32_sched_setparam     (__NR_Linux32 + 158)
178 #define __NR_Linux32_sched_getparam     (__NR_Linux32 + 159)
179 #define __NR_Linux32_sched_setscheduler (__NR_Linux32 + 160)
180 #define __NR_Linux32_sched_getscheduler (__NR_Linux32 + 161)
181 #define __NR_Linux32_sched_yield        (__NR_Linux32 + 162)
182 #define __NR_Linux32_sched_get_priority_max     (__NR_Linux32 + 163)
183 #define __NR_Linux32_sched_get_priority_min     (__NR_Linux32 + 164)
184 #define __NR_Linux32_sched_rr_get_interval      (__NR_Linux32 + 165)
185 #define __NR_Linux32_nanosleep          (__NR_Linux32 + 166)
186 #define __NR_Linux32_mremap             (__NR_Linux32 + 167)
187 #define __NR_Linux32_accept             (__NR_Linux32 + 168)
188 #define __NR_Linux32_bind               (__NR_Linux32 + 169)
189 #define __NR_Linux32_connect            (__NR_Linux32 + 170)
190 #define __NR_Linux32_getpeername        (__NR_Linux32 + 171)
191 #define __NR_Linux32_getsockname        (__NR_Linux32 + 172)
192 #define __NR_Linux32_getsockopt         (__NR_Linux32 + 173)
193 #define __NR_Linux32_listen             (__NR_Linux32 + 174)
194 #define __NR_Linux32_recv               (__NR_Linux32 + 175)
195 #define __NR_Linux32_recvfrom           (__NR_Linux32 + 176)
196 #define __NR_Linux32_recvmsg            (__NR_Linux32 + 177)
197 #define __NR_Linux32_send               (__NR_Linux32 + 178)
198 #define __NR_Linux32_sendmsg            (__NR_Linux32 + 179)
199 #define __NR_Linux32_sendto             (__NR_Linux32 + 180)
200 #define __NR_Linux32_setsockopt         (__NR_Linux32 + 181)
201 #define __NR_Linux32_shutdown           (__NR_Linux32 + 182)
202 #define __NR_Linux32_socket             (__NR_Linux32 + 183)
203 #define __NR_Linux32_socketpair         (__NR_Linux32 + 184)
204 #define __NR_Linux32_setresuid          (__NR_Linux32 + 185)
205 #define __NR_Linux32_getresuid          (__NR_Linux32 + 186)
206 #define __NR_Linux32_query_module       (__NR_Linux32 + 187)
207 #define __NR_Linux32_poll               (__NR_Linux32 + 188)
208 #define __NR_Linux32_nfsservctl         (__NR_Linux32 + 189)
209 #define __NR_Linux32_setresgid          (__NR_Linux32 + 190)
210 #define __NR_Linux32_getresgid          (__NR_Linux32 + 191)
211 #define __NR_Linux32_prctl              (__NR_Linux32 + 192)
212 #define __NR_Linux32_rt_sigreturn       (__NR_Linux32 + 193)
213 #define __NR_Linux32_rt_sigaction       (__NR_Linux32 + 194)
214 #define __NR_Linux32_rt_sigprocmask     (__NR_Linux32 + 195)
215 #define __NR_Linux32_rt_sigpending      (__NR_Linux32 + 196)
216 #define __NR_Linux32_rt_sigtimedwait    (__NR_Linux32 + 197)
217 #define __NR_Linux32_rt_sigqueueinfo    (__NR_Linux32 + 198)
218 #define __NR_Linux32_rt_sigsuspend      (__NR_Linux32 + 199)
219 #define __NR_Linux32_pread              (__NR_Linux32 + 200)
220 #define __NR_Linux32_pwrite             (__NR_Linux32 + 201)
221 #define __NR_Linux32_chown              (__NR_Linux32 + 202)
222 #define __NR_Linux32_getcwd             (__NR_Linux32 + 203)
223 #define __NR_Linux32_capget             (__NR_Linux32 + 204)
224 #define __NR_Linux32_capset             (__NR_Linux32 + 205)
225 #define __NR_Linux32_sigaltstack        (__NR_Linux32 + 206)
226 #define __NR_Linux32_sendfile           (__NR_Linux32 + 207)
227 #define __NR_Linux32_getpmsg            (__NR_Linux32 + 208)
228 #define __NR_Linux32_putpmsg            (__NR_Linux32 + 209)
229 #define __NR_Linux32_mmap2              (__NR_Linux32 + 210)
230 #define __NR_Linux32_truncate64         (__NR_Linux32 + 211)
231 #define __NR_Linux32_ftruncate64        (__NR_Linux32 + 212)
232 #define __NR_Linux32_stat64             (__NR_Linux32 + 213)
233 #define __NR_Linux32_lstat64            (__NR_Linux32 + 214)
234 #define __NR_Linux32_fstat64            (__NR_Linux32 + 215)
235 #define __NR_Linux32_root_pivot         (__NR_Linux32 + 216)
236 #define __NR_Linux32_mincore            (__NR_Linux32 + 217)
237 #define __NR_Linux32_madvise            (__NR_Linux32 + 218)
238 #define __NR_Linux32_getdents64         (__NR_Linux32 + 219)
239 #define __NR_Linux32_fcntl64            (__NR_Linux32 + 220)
240 
241 /*
242  * Offset of the last Linux o32 flavoured syscall
243  */
244 #define __NR_Linux32_syscalls           220
245 
246 /*
247  * Linux 64-bit syscalls are in the range from 5000 to 5999.
248  */
249 #define __NR_Linux                      5000
250 #define __NR_syscall                    (__NR_Linux +   0)
251 #define __NR_exit                       (__NR_Linux +   1)
252 #define __NR_fork                       (__NR_Linux +   2)
253 #define __NR_read                       (__NR_Linux +   3)
254 #define __NR_write                      (__NR_Linux +   4)
255 #define __NR_open                       (__NR_Linux +   5)
256 #define __NR_close                      (__NR_Linux +   6)
257 #define __NR_waitpid                    (__NR_Linux +   7)
258 #define __NR_creat                      (__NR_Linux +   8)
259 #define __NR_link                       (__NR_Linux +   9)
260 #define __NR_unlink                     (__NR_Linux +  10)
261 #define __NR_execve                     (__NR_Linux +  11)
262 #define __NR_chdir                      (__NR_Linux +  12)
263 #define __NR_time                       (__NR_Linux +  13)
264 #define __NR_mknod                      (__NR_Linux +  14)
265 #define __NR_chmod                      (__NR_Linux +  15)
266 #define __NR_lchown                     (__NR_Linux +  16)
267 #define __NR_break                      (__NR_Linux +  17)
268 #define __NR_oldstat                    (__NR_Linux +  18)
269 #define __NR_lseek                      (__NR_Linux +  19)
270 #define __NR_getpid                     (__NR_Linux +  20)
271 #define __NR_mount                      (__NR_Linux +  21)
272 #define __NR_umount                     (__NR_Linux +  22)
273 #define __NR_setuid                     (__NR_Linux +  23)
274 #define __NR_getuid                     (__NR_Linux +  24)
275 #define __NR_stime                      (__NR_Linux +  25)
276 #define __NR_ptrace                     (__NR_Linux +  26)
277 #define __NR_alarm                      (__NR_Linux +  27)
278 #define __NR_oldfstat                   (__NR_Linux +  28)
279 #define __NR_pause                      (__NR_Linux +  29)
280 #define __NR_utime                      (__NR_Linux +  30)
281 #define __NR_stty                       (__NR_Linux +  31)
282 #define __NR_gtty                       (__NR_Linux +  32)
283 #define __NR_access                     (__NR_Linux +  33)
284 #define __NR_nice                       (__NR_Linux +  34)
285 #define __NR_ftime                      (__NR_Linux +  35)
286 #define __NR_sync                       (__NR_Linux +  36)
287 #define __NR_kill                       (__NR_Linux +  37)
288 #define __NR_rename                     (__NR_Linux +  38)
289 #define __NR_mkdir                      (__NR_Linux +  39)
290 #define __NR_rmdir                      (__NR_Linux +  40)
291 #define __NR_dup                        (__NR_Linux +  41)
292 #define __NR_pipe                       (__NR_Linux +  42)
293 #define __NR_times                      (__NR_Linux +  43)
294 #define __NR_prof                       (__NR_Linux +  44)
295 #define __NR_brk                        (__NR_Linux +  45)
296 #define __NR_setgid                     (__NR_Linux +  46)
297 #define __NR_getgid                     (__NR_Linux +  47)
298 #define __NR_signal                     (__NR_Linux +  48)
299 #define __NR_geteuid                    (__NR_Linux +  49)
300 #define __NR_getegid                    (__NR_Linux +  50)
301 #define __NR_acct                       (__NR_Linux +  51)
302 #define __NR_umount2                    (__NR_Linux +  52)
303 #define __NR_lock                       (__NR_Linux +  53)
304 #define __NR_ioctl                      (__NR_Linux +  54)
305 #define __NR_fcntl                      (__NR_Linux +  55)
306 #define __NR_mpx                        (__NR_Linux +  56)
307 #define __NR_setpgid                    (__NR_Linux +  57)
308 #define __NR_ulimit                     (__NR_Linux +  58)
309 #define __NR_unused59                   (__NR_Linux +  59)
310 #define __NR_umask                      (__NR_Linux +  60)
311 #define __NR_chroot                     (__NR_Linux +  61)
312 #define __NR_ustat                      (__NR_Linux +  62)
313 #define __NR_dup2                       (__NR_Linux +  63)
314 #define __NR_getppid                    (__NR_Linux +  64)
315 #define __NR_getpgrp                    (__NR_Linux +  65)
316 #define __NR_setsid                     (__NR_Linux +  66)
317 #define __NR_sigaction                  (__NR_Linux +  67)
318 #define __NR_sgetmask                   (__NR_Linux +  68)
319 #define __NR_ssetmask                   (__NR_Linux +  69)
320 #define __NR_setreuid                   (__NR_Linux +  70)
321 #define __NR_setregid                   (__NR_Linux +  71)
322 #define __NR_sigsuspend                 (__NR_Linux +  72)
323 #define __NR_sigpending                 (__NR_Linux +  73)
324 #define __NR_sethostname                (__NR_Linux +  74)
325 #define __NR_setrlimit                  (__NR_Linux +  75)
326 #define __NR_getrlimit                  (__NR_Linux +  76)
327 #define __NR_getrusage                  (__NR_Linux +  77)
328 #define __NR_gettimeofday               (__NR_Linux +  78)
329 #define __NR_settimeofday               (__NR_Linux +  79)
330 #define __NR_getgroups                  (__NR_Linux +  80)
331 #define __NR_setgroups                  (__NR_Linux +  81)
332 #define __NR_reserved82                 (__NR_Linux +  82)
333 #define __NR_symlink                    (__NR_Linux +  83)
334 #define __NR_oldlstat                   (__NR_Linux +  84)
335 #define __NR_readlink                   (__NR_Linux +  85)
336 #define __NR_uselib                     (__NR_Linux +  86)
337 #define __NR_swapon                     (__NR_Linux +  87)
338 #define __NR_reboot                     (__NR_Linux +  88)
339 #define __NR_readdir                    (__NR_Linux +  89)
340 #define __NR_mmap                       (__NR_Linux +  90)
341 #define __NR_munmap                     (__NR_Linux +  91)
342 #define __NR_truncate                   (__NR_Linux +  92)
343 #define __NR_ftruncate                  (__NR_Linux +  93)
344 #define __NR_fchmod                     (__NR_Linux +  94)
345 #define __NR_fchown                     (__NR_Linux +  95)
346 #define __NR_getpriority                (__NR_Linux +  96)
347 #define __NR_setpriority                (__NR_Linux +  97)
348 #define __NR_profil                     (__NR_Linux +  98)
349 #define __NR_statfs                     (__NR_Linux +  99)
350 #define __NR_fstatfs                    (__NR_Linux + 100)
351 #define __NR_ioperm                     (__NR_Linux + 101)
352 #define __NR_socketcall                 (__NR_Linux + 102)
353 #define __NR_syslog                     (__NR_Linux + 103)
354 #define __NR_setitimer                  (__NR_Linux + 104)
355 #define __NR_getitimer                  (__NR_Linux + 105)
356 #define __NR_stat                       (__NR_Linux + 106)
357 #define __NR_lstat                      (__NR_Linux + 107)
358 #define __NR_fstat                      (__NR_Linux + 108)
359 #define __NR_unused109                  (__NR_Linux + 109)
360 #define __NR_iopl                       (__NR_Linux + 110)
361 #define __NR_vhangup                    (__NR_Linux + 111)
362 #define __NR_idle                       (__NR_Linux + 112)
363 #define __NR_vm86                       (__NR_Linux + 113)
364 #define __NR_wait4                      (__NR_Linux + 114)
365 #define __NR_swapoff                    (__NR_Linux + 115)
366 #define __NR_sysinfo                    (__NR_Linux + 116)
367 #define __NR_ipc                        (__NR_Linux + 117)
368 #define __NR_fsync                      (__NR_Linux + 118)
369 #define __NR_sigreturn                  (__NR_Linux + 119)
370 #define __NR_clone                      (__NR_Linux + 120)
371 #define __NR_setdomainname              (__NR_Linux + 121)
372 #define __NR_uname                      (__NR_Linux + 122)
373 #define __NR_modify_ldt                 (__NR_Linux + 123)
374 #define __NR_adjtimex                   (__NR_Linux + 124)
375 #define __NR_mprotect                   (__NR_Linux + 125)
376 #define __NR_sigprocmask                (__NR_Linux + 126)
377 #define __NR_create_module              (__NR_Linux + 127)
378 #define __NR_init_module                (__NR_Linux + 128)
379 #define __NR_delete_module              (__NR_Linux + 129)
380 #define __NR_get_kernel_syms            (__NR_Linux + 130)
381 #define __NR_quotactl                   (__NR_Linux + 131)
382 #define __NR_getpgid                    (__NR_Linux + 132)
383 #define __NR_fchdir                     (__NR_Linux + 133)
384 #define __NR_bdflush                    (__NR_Linux + 134)
385 #define __NR_sysfs                      (__NR_Linux + 135)
386 #define __NR_personality                (__NR_Linux + 136)
387 #define __NR_afs_syscall                (__NR_Linux + 137) /* Syscall for Andrew File System */
388 #define __NR_setfsuid                   (__NR_Linux + 138)
389 #define __NR_setfsgid                   (__NR_Linux + 139)
390 #define __NR__llseek                    (__NR_Linux + 140)
391 #define __NR_getdents                   (__NR_Linux + 141)
392 #define __NR__newselect                 (__NR_Linux + 142)
393 #define __NR_flock                      (__NR_Linux + 143)
394 #define __NR_msync                      (__NR_Linux + 144)
395 #define __NR_readv                      (__NR_Linux + 145)
396 #define __NR_writev                     (__NR_Linux + 146)
397 #define __NR_cacheflush                 (__NR_Linux + 147)
398 #define __NR_cachectl                   (__NR_Linux + 148)
399 #define __NR_sysmips                    (__NR_Linux + 149)
400 #define __NR_unused150                  (__NR_Linux + 150)
401 #define __NR_getsid                     (__NR_Linux + 151)
402 #define __NR_fdatasync                  (__NR_Linux + 152)
403 #define __NR__sysctl                    (__NR_Linux + 153)
404 #define __NR_mlock                      (__NR_Linux + 154)
405 #define __NR_munlock                    (__NR_Linux + 155)
406 #define __NR_mlockall                   (__NR_Linux + 156)
407 #define __NR_munlockall                 (__NR_Linux + 157)
408 #define __NR_sched_setparam             (__NR_Linux + 158)
409 #define __NR_sched_getparam             (__NR_Linux + 159)
410 #define __NR_sched_setscheduler         (__NR_Linux + 160)
411 #define __NR_sched_getscheduler         (__NR_Linux + 161)
412 #define __NR_sched_yield                (__NR_Linux + 162)
413 #define __NR_sched_get_priority_max     (__NR_Linux + 163)
414 #define __NR_sched_get_priority_min     (__NR_Linux + 164)
415 #define __NR_sched_rr_get_interval      (__NR_Linux + 165)
416 #define __NR_nanosleep                  (__NR_Linux + 166)
417 #define __NR_mremap                     (__NR_Linux + 167)
418 #define __NR_accept                     (__NR_Linux + 168)
419 #define __NR_bind                       (__NR_Linux + 169)
420 #define __NR_connect                    (__NR_Linux + 170)
421 #define __NR_getpeername                (__NR_Linux + 171)
422 #define __NR_getsockname                (__NR_Linux + 172)
423 #define __NR_getsockopt                 (__NR_Linux + 173)
424 #define __NR_listen                     (__NR_Linux + 174)
425 #define __NR_recv                       (__NR_Linux + 175)
426 #define __NR_recvfrom                   (__NR_Linux + 176)
427 #define __NR_recvmsg                    (__NR_Linux + 177)
428 #define __NR_send                       (__NR_Linux + 178)
429 #define __NR_sendmsg                    (__NR_Linux + 179)
430 #define __NR_sendto                     (__NR_Linux + 180)
431 #define __NR_setsockopt                 (__NR_Linux + 181)
432 #define __NR_shutdown                   (__NR_Linux + 182)
433 #define __NR_socket                     (__NR_Linux + 183)
434 #define __NR_socketpair                 (__NR_Linux + 184)
435 #define __NR_setresuid                  (__NR_Linux + 185)
436 #define __NR_getresuid                  (__NR_Linux + 186)
437 #define __NR_query_module               (__NR_Linux + 187)
438 #define __NR_poll                       (__NR_Linux + 188)
439 #define __NR_nfsservctl                 (__NR_Linux + 189)
440 #define __NR_setresgid                  (__NR_Linux + 190)
441 #define __NR_getresgid                  (__NR_Linux + 191)
442 #define __NR_prctl                      (__NR_Linux + 192)
443 #define __NR_rt_sigreturn               (__NR_Linux + 193)
444 #define __NR_rt_sigaction               (__NR_Linux + 194)
445 #define __NR_rt_sigprocmask             (__NR_Linux + 195)
446 #define __NR_rt_sigpending              (__NR_Linux + 196)
447 #define __NR_rt_sigtimedwait            (__NR_Linux + 197)
448 #define __NR_rt_sigqueueinfo            (__NR_Linux + 198)
449 #define __NR_rt_sigsuspend              (__NR_Linux + 199)
450 #define __NR_pread                      (__NR_Linux + 200)
451 #define __NR_pwrite                     (__NR_Linux + 201)
452 #define __NR_chown                      (__NR_Linux + 202)
453 #define __NR_getcwd                     (__NR_Linux + 203)
454 #define __NR_capget                     (__NR_Linux + 204)
455 #define __NR_capset                     (__NR_Linux + 205)
456 #define __NR_sigaltstack                (__NR_Linux + 206)
457 #define __NR_sendfile                   (__NR_Linux + 207)
458 #define __NR_getpmsg                    (__NR_Linux + 208)
459 #define __NR_putpmsg                    (__NR_Linux + 209)
460 #define __NR_root_pivot                 (__NR_Linux + 210)
461 #define __NR_mincore                    (__NR_Linux + 211)
462 #define __NR_madvise                    (__NR_Linux + 212)
463 #define __NR_getdents64                 (__NR_Linux + 213)
464 
465 /*
466  * Offset of the last Linux flavoured syscall
467  */
468 #define __NR_Linux_syscalls             213
469 
470 #ifndef _LANGUAGE_ASSEMBLY
471 
472 /* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
473 #define _syscall0(type,name) \
474 type name(void) \
475 { \
476 long __res, __err; \
477 __asm__ volatile ("li\t$2, %2\n\t" \
478                   "syscall\n\t" \
479                   "move\t%0, $2\n\t" \
480                   "move\t%1, $7" \
481                   : "=r" (__res), "=r" (__err) \
482                   : "i" (__NR_##name) \
483                   : "$2", "$7","$8","$9","$10","$11","$12","$13","$14","$15", \
484                     "$24"); \
485 if (__err == 0) \
486         return (type) __res; \
487 errno = __res; \
488 return -1; \
489 }
490 
491 /*
492  * DANGER: This macro isn't usable for the pipe(2) call
493  * which has a unusual return convention.
494  */
495 #define _syscall1(type,name,atype,a) \
496 type name(atype a) \
497 { \
498 long __res, __err; \
499 __asm__ volatile ("move\t$4, %3\n\t" \
500                   "li\t$2, %2\n\t" \
501                   "syscall\n\t" \
502                   "move\t%0, $2\n\t" \
503                   "move\t%1, $7" \
504                   : "=r" (__res), "=r" (__err) \
505                   : "i" (__NR_##name),"r" ((long)(a)) \
506                   : "$2","$4","$7","$8","$9","$10","$11","$12","$13","$14", \
507                     "$15","$24"); \
508 if (__err == 0) \
509         return (type) __res; \
510 errno = __res; \
511 return -1; \
512 }
513 
514 #define _syscall2(type,name,atype,a,btype,b) \
515 type name(atype a,btype b) \
516 { \
517 long __res, __err; \
518 __asm__ volatile ("move\t$4, %3\n\t" \
519                   "move\t$5, %4\n\t" \
520                   "li\t$2, %2\n\t" \
521                   "syscall\n\t" \
522                   "move\t%0, $2\n\t" \
523                   "move\t%1, $7" \
524                   : "=r" (__res), "=r" (__err) \
525                   : "i" (__NR_##name),"r" ((long)(a)), \
526                                       "r" ((long)(b)) \
527                   : "$2","$4","$5","$7","$8","$9","$10","$11","$12","$13","$14","$15", \
528                     "$24"); \
529 if (__err == 0) \
530         return (type) __res; \
531 errno = __res; \
532 return -1; \
533 }
534 
535 #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
536 type name (atype a, btype b, ctype c) \
537 { \
538 long __res, __err; \
539 __asm__ volatile ("move\t$4, %3\n\t" \
540                   "move\t$5, %4\n\t" \
541                   "move\t$6, %5\n\t" \
542                   "li\t$2, %2\n\t" \
543                   "syscall\n\t" \
544                   "move\t%0, $2\n\t" \
545                   "move\t%1, $7" \
546                   : "=r" (__res), "=r" (__err) \
547                   : "i" (__NR_##name),"r" ((long)(a)), \
548                                       "r" ((long)(b)), \
549                                       "r" ((long)(c)) \
550                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", \
551                     "$13","$14","$15","$24"); \
552 if (__err == 0) \
553         return (type) __res; \
554 errno = __res; \
555 return -1; \
556 }
557 
558 #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
559 type name (atype a, btype b, ctype c, dtype d) \
560 { \
561 long __res, __err; \
562 __asm__ volatile ("move\t$4, %3\n\t" \
563                   "move\t$5, %4\n\t" \
564                   "move\t$6, %5\n\t" \
565                   "move\t$7, %6\n\t" \
566                   "li\t$2, %2\n\t" \
567                   "syscall\n\t" \
568                   "move\t%0, $2\n\t" \
569                   "move\t%1, $7" \
570                   : "=r" (__res), "=r" (__err) \
571                   : "i" (__NR_##name),"r" ((long)(a)), \
572                                       "r" ((long)(b)), \
573                                       "r" ((long)(c)), \
574                                       "r" ((long)(d)) \
575                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", \
576                     "$13","$14","$15","$24"); \
577 if (__err == 0) \
578         return (type) __res; \
579 errno = __res; \
580 return -1; \
581 }
582 
583 #if (_MIPS_SIM == _ABIN32) || (_MIPS_SIM == _ABI64)
584 
585 #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
586 type name (atype a,btype b,ctype c,dtype d,etype e) \
587 { \
588 long __res, __err; \
589 __asm__ volatile ("move\t$4, %3\n\t" \
590                   "move\t$5, %4\n\t" \
591                   "move\t$6, %5\n\t" \
592                   "move\t$7, %6\n\t" \
593                   "move\t$8, %7\n\t" \
594                   "sw\t$2, 16($29)\n\t" \
595                   "li\t$2, %2\n\t" \
596                   "syscall\n\t" \
597                   "move\t%0, $2\n\t" \
598                   "move\t%1, $7" \
599                   : "=r" (__res), "=r" (__err) \
600                   : "i" (__NR_##name),"r" ((long)(a)), \
601                                       "r" ((long)(b)), \
602                                       "r" ((long)(c)), \
603                                       "r" ((long)(d)), \
604                                       "r" ((long)(e)) \
605                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", \
606                     "$13","$14","$15","$24"); \
607 if (__err == 0) \
608         return (type) __res; \
609 errno = __res; \
610 return -1; \
611 }
612 
613 #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
614 type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \
615 { \
616 long __res, __err; \
617 __asm__ volatile ("move\t$4, %3\n\t" \
618                   "move\t$5, %4\n\t" \
619                   "move\t$6, %5\n\t" \
620                   "move\t$7, %6\n\t" \
621                   "move\t$8, %7\n\t" \
622                   "move\t$9, %8\n\t" \
623                   "li\t$2, %2\n\t" \
624                   "syscall\n\t" \
625                   "move\t%0, $2\n\t" \
626                   "move\t%1, $7" \
627                   : "=r" (__res), "=r" (__err) \
628                   : "i" (__NR_##name),"r" ((long)(a)), \
629                                       "r" ((long)(b)), \
630                                       "r" ((long)(c)), \
631                                       "r" ((long)(d)), \
632                                       "m" ((long)(e)), \
633                                       "m" ((long)(f)) \
634                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \
635                     "$12","$13","$14","$15","$24"); \
636 if (__err == 0) \
637         return (type) __res; \
638 errno = __res; \
639 return -1; \
640 }
641 
642 #define _syscall7(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f,gtype,g) \
643 type name (atype a,btype b,ctype c,dtype d,etype e,ftype f,gtype g) \
644 { \
645 long __res, __err; \
646 __asm__ volatile ("move\t$4, %3\n\t" \
647                   "move\t$5, %4\n\t" \
648                   "move\t$6, %5\n\t" \
649                   "move\t$7, %6\n\t" \
650                   "move\t$8, %7\n\t" \
651                   "move\t$9, %8\n\t" \
652                   "move\t$10, %9\n\t" \
653                   "li\t$2, %2\n\t" \
654                   "syscall\n\t" \
655                   "move\t%0, $2\n\t" \
656                   "move\t%1, $7" \
657                   : "=r" (__res), "=r" (__err) \
658                   : "i" (__NR_##name),"r" ((long)(a)), \
659                                       "r" ((long)(b)), \
660                                       "r" ((long)(c)), \
661                                       "r" ((long)(d)), \
662                                       "r" ((long)(e)), \
663                                       "r" ((long)(f)), \
664                                       "r" ((long)(g)) \
665                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \
666                     "$12","$13","$14","$15","$24"); \
667 if (__err == 0) \
668         return (type) __res; \
669 errno = __res; \
670 return -1; \
671 }
672 
673 #else /* not N32 or 64 ABI */
674 
675 /* These are here for sake of fucking lusercode living in the fucking believe
676    having to fuck around with the syscall interface themselfes.  */
677 
678 #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
679 type name (atype a,btype b,ctype c,dtype d,etype e) \
680 { \
681 long __res, __err; \
682 __asm__ volatile ("move\t$4, %3\n\t" \
683                   "move\t$5, %4\n\t" \
684                   "move\t$6, %5\n\t" \
685                   "lw\t$2, %7\n\t" \
686                   "move\t$7, %6\n\t" \
687                   "subu\t$29, 24\n\t" \
688                   "sw\t$2, 16($29)\n\t" \
689                   "li\t$2, %2\n\t" \
690                   "syscall\n\t" \
691                   "move\t%0, $2\n\t" \
692                   "move\t%1, $7" \
693                   "addiu\t$29,24" \
694                   : "=r" (__res), "=r" (__err) \
695                   : "i" (__NR_##name),"r" ((long)(a)), \
696                                       "r" ((long)(b)), \
697                                       "r" ((long)(c)), \
698                                       "r" ((long)(d)), \
699                                       "m" ((long)(e)) \
700                   : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", \
701                     "$13","$14","$15","$24"); \
702 if (__err == 0) \
703         return (type) __res; \
704 errno = __res; \
705 return -1; \
706 }
707 
708 #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
709 type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \
710 { \
711 long __res, __err; \
712 __asm__ volatile ("move\t$4, %3\n\t" \
713                   "move\t$5, %4\n\t" \
714                   "move\t$6, %5\n\t" \
715                   "lw\t$2, %7\n\t" \
716                   "lw\t$3, %8\n\t" \
717                   "move\t$7, %6\n\t" \
718                   "subu\t$29, 24\n\t" \
719                   "sw\t$2, 16($29)\n\t" \
720                   "sw\t$3, 20($29)\n\t" \
721                   "li\t$2, %2\n\t" \
722                   "syscall\n\t" \
723                   "move\t%0, $2\n\t" \
724                   "move\t%1, $7" \
725                   "addiu\t$29, 24" \
726                   : "=r" (__res), "=r" (__err) \
727                   : "i" (__NR_##name),"r" ((long)(a)), \
728                                       "r" ((long)(b)), \
729                                       "r" ((long)(c)), \
730                                       "r" ((long)(d)), \
731                                       "m" ((long)(e)), \
732                                       "m" ((long)(f)) \
733                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \
734                     "$12","$13","$14","$15","$24"); \
735 if (__err == 0) \
736         return (type) __res; \
737 errno = __res; \
738 return -1; \
739 }
740 
741 #define _syscall7(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f,gtype,g) \
742 type name (atype a,btype b,ctype c,dtype d,etype e,ftype f,gtype g) \
743 { \
744 long __res, __err; \
745 __asm__ volatile ("move\t$4, %3\n\t" \
746                   "move\t$5, %4\n\t" \
747                   "move\t$6, %5\n\t" \
748                   "lw\t$2, %7\n\t" \
749                   "lw\t$3, %8\n\t" \
750                   "move\t$7, %6\n\t" \
751                   "subu\t$29, 32\n\t" \
752                   "sw\t$2, 16($29)\n\t" \
753                   "lw\t$2, %9\n\t" \
754                   "sw\t$3, 20($29)\n\t" \
755                   "sw\t$2, 24($29)\n\t" \
756                   "li\t$2, %2\n\t" \
757                   "syscall\n\t" \
758                   "move\t%0, $2\n\t" \
759                   "move\t%1, $7" \
760                   "addiu\t$29, 32" \
761                   : "=r" (__res), "=r" (__err) \
762                   : "i" (__NR_##name),"r" ((long)(a)), \
763                                       "r" ((long)(b)), \
764                                       "r" ((long)(c)), \
765                                       "r" ((long)(d)), \
766                                       "m" ((long)(e)), \
767                                       "m" ((long)(f)), \
768                                       "m" ((long)(g)) \
769                   : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \
770                     "$12","$13","$14","$15","$24"); \
771 if (__err == 0) \
772         return (type) __res; \
773 errno = __res; \
774 return -1; \
775 }
776 
777 #endif
778 
779 #ifdef __KERNEL_SYSCALLS__
780 
781 /*
782  * we need this inline - forking from kernel space will result
783  * in NO COPY ON WRITE (!!!), until an execve is executed. This
784  * is no problem, but for the stack. This is handled by not letting
785  * main() use the stack at all after fork(). Thus, no function
786  * calls - which means inline code for fork too, as otherwise we
787  * would use the stack upon exit from 'fork()'.
788  *
789  * Actually only pause and fork are needed inline, so that there
790  * won't be any messing with the stack from main(), but we define
791  * some others too.
792  */
793 #define __NR__exit __NR_exit
794 static inline _syscall0(int,sync)
795 static inline _syscall0(pid_t,setsid)
796 static inline _syscall3(int,write,int,fd,const char *,buf,off_t,count)
797 static inline _syscall3(int,read,int,fd,char *,buf,off_t,count)
798 static inline _syscall3(off_t,lseek,int,fd,off_t,offset,int,count)
799 static inline _syscall1(int,dup,int,fd)
800 static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp)
801 static inline _syscall3(int,open,const char *,file,int,flag,int,mode)
802 static inline _syscall1(int,close,int,fd)
803 static inline _syscall1(int,_exit,int,exitcode)
804 static inline _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)
805 static inline _syscall1(int,delete_module,const char *,name)
806 
807 static inline pid_t wait(int * wait_stat)
808 {
809         return waitpid(-1,wait_stat,0);
810 }
811 
812 #endif /* !defined (__KERNEL_SYSCALLS__) */
813 #endif /* !defined (_LANGUAGE_ASSEMBLY) */
814 
815 #endif /* _ASM_UNISTD_H */
816 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.