add acct, accept4, setns, and dup3 syscalls (linux extensions)
[musl] / arch / i386 / bits / syscall.h
1 #define __SYSCALL_LL_E(x) \
2 ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
3 ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
4 #define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
5
6 #define __SYSCALL_SSLEN 8
7
8 static __inline long __syscall0(long __n)
9 {
10         unsigned long __ret;
11         __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n) : "memory");
12         return __ret;
13 }
14
15 #ifndef __PIC__
16
17 static __inline long __syscall1(long __n, long __a1)
18 {
19         unsigned long __ret;
20         __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1) : "memory");
21         return __ret;
22 }
23
24 static __inline long __syscall2(long __n, long __a1, long __a2)
25 {
26         unsigned long __ret;
27         __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2) : "memory");
28         return __ret;
29 }
30
31 static __inline long __syscall3(long __n, long __a1, long __a2, long __a3)
32 {
33         unsigned long __ret;
34         __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3) : "memory");
35         return __ret;
36 }
37
38 static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
39 {
40         unsigned long __ret;
41         __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory");
42         return __ret;
43 }
44
45 static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
46 {
47         unsigned long __ret;
48         __asm__ __volatile__ ("int $128" : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5) : "memory");
49         return __ret;
50 }
51
52 static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
53 {
54         unsigned long __ret;
55         __asm__ __volatile__ ("pushl %7 ; pushl %%ebp ; mov 4(%%esp),%%ebp ; int $128 ; popl %%ebp ; popl %%ecx"
56                 : "=a"(__ret) : "a"(__n), "b"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5), "g"(__a6) : "memory");
57         return __ret;
58 }
59
60 #else
61
62 static __inline long __syscall1(long __n, long __a1)
63 {
64         unsigned long __ret;
65         __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
66                 : "=a"(__ret) : "a"(__n), "d"(__a1) : "memory");
67         return __ret;
68 }
69
70 static __inline long __syscall2(long __n, long __a1, long __a2)
71 {
72         unsigned long __ret;
73         __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
74                 : "=a"(__ret) : "a"(__n), "d"(__a1), "c"(__a2) : "memory");
75         return __ret;
76 }
77
78 static __inline long __syscall3(long __n, long __a1, long __a2, long __a3)
79 {
80         unsigned long __ret;
81         __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
82                 : "=a"(__ret) : "a"(__n), "S"(__a1), "c"(__a2), "d"(__a3) : "memory");
83         return __ret;
84 }
85
86 static __inline long __syscall4(long __n, long __a1, long __a2, long __a3, long __a4)
87 {
88         unsigned long __ret;
89         __asm__ __volatile__ ("xchg %2,%%ebx ; int $128 ; xchg %2,%%ebx"
90                 : "=a"(__ret) : "a"(__n), "D"(__a1), "c"(__a2), "d"(__a3), "S"(__a4) : "memory");
91         return __ret;
92 }
93
94 #if 0
95 static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
96 {
97         unsigned long __ret;
98         __asm__ __volatile__ ("pushl %2 ; pushl %%ebx ; mov 4(%%esp),%%ebx ; int $128 ; popl %%ebx ; popl %%ecx"
99                 : "=a"(__ret) : "a"(__n), "g"(__a1), "c"(__a2), "d"(__a3), "S"(__a4), "D"(__a5) : "memory");
100         return __ret;
101 }
102 #else
103 static __inline long __syscall5(long __n, long __a1, long __a2, long __a3, long __a4, long __a5)
104 {
105         return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5);
106 }
107 #endif
108
109 static __inline long __syscall6(long __n, long __a1, long __a2, long __a3, long __a4, long __a5, long __a6)
110 {
111         return (__syscall)(__n, __a1, __a2, __a3, __a4, __a5, __a6);
112 }
113
114 #endif
115
116
117 #define __SC_socket      1
118 #define __SC_bind        2
119 #define __SC_connect     3
120 #define __SC_listen      4
121 #define __SC_accept      5
122 #define __SC_getsockname 6
123 #define __SC_getpeername 7
124 #define __SC_socketpair  8
125 #define __SC_send        9
126 #define __SC_recv        10
127 #define __SC_sendto      11
128 #define __SC_recvfrom    12
129 #define __SC_shutdown    13
130 #define __SC_setsockopt  14
131 #define __SC_getsockopt  15
132 #define __SC_sendmsg     16
133 #define __SC_recvmsg     17
134 #define __SC_accept4     18
135 #define __SC_recvmmsg    19
136 #define __SC_sendmmsg    20
137
138 #define __socketcall(nm,a,b,c,d,e,f) syscall(SYS_socketcall, __SC_##nm, \
139     ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f }))
140 #define __socketcall_cp(nm,a,b,c,d,e,f) syscall_cp(SYS_socketcall, __SC_##nm, \
141     ((long [6]){ (long)a, (long)b, (long)c, (long)d, (long)e, (long)f }))
142
143 #define __NR_restart_syscall      0
144 #define __NR_exit                 1
145 #define __NR_fork                 2
146 #define __NR_read                 3
147 #define __NR_write                4
148 #define __NR_open                 5
149 #define __NR_close                6
150 #define __NR_waitpid              7
151 #define __NR_creat                8
152 #define __NR_link                 9
153 #define __NR_unlink              10
154 #define __NR_execve              11
155 #define __NR_chdir               12
156 #define __NR_time                13
157 #define __NR_mknod               14
158 #define __NR_chmod               15
159 #define __NR_lchown              16
160 #define __NR_break               17
161 #define __NR_oldstat             18
162 #define __NR_lseek               19
163 #define __NR_getpid              20
164 #define __NR_mount               21
165 #define __NR_umount              22
166 #define __NR_setuid              23
167 #define __NR_getuid              24
168 #define __NR_stime               25
169 #define __NR_ptrace              26
170 #define __NR_alarm               27
171 #define __NR_oldfstat            28
172 #define __NR_pause               29
173 #define __NR_utime               30
174 #define __NR_stty                31
175 #define __NR_gtty                32
176 #define __NR_access              33
177 #define __NR_nice                34
178 #define __NR_ftime               35
179 #define __NR_sync                36
180 #define __NR_kill                37
181 #define __NR_rename              38
182 #define __NR_mkdir               39
183 #define __NR_rmdir               40
184 #define __NR_dup                 41
185 #define __NR_pipe                42
186 #define __NR_times               43
187 #define __NR_prof                44
188 #define __NR_brk                 45
189 #define __NR_setgid              46
190 #define __NR_getgid              47
191 #define __NR_signal              48
192 #define __NR_geteuid             49
193 #define __NR_getegid             50
194 #define __NR_acct                51
195 #define __NR_umount2             52
196 #define __NR_lock                53
197 #define __NR_ioctl               54
198 #define __NR_fcntl               55
199 #define __NR_mpx                 56
200 #define __NR_setpgid             57
201 #define __NR_ulimit              58
202 #define __NR_oldolduname         59
203 #define __NR_umask               60
204 #define __NR_chroot              61
205 #define __NR_ustat               62
206 #define __NR_dup2                63
207 #define __NR_getppid             64
208 #define __NR_getpgrp             65
209 #define __NR_setsid              66
210 #define __NR_sigaction           67
211 #define __NR_sgetmask            68
212 #define __NR_ssetmask            69
213 #define __NR_setreuid            70
214 #define __NR_setregid            71
215 #define __NR_sigsuspend          72
216 #define __NR_sigpending          73
217 #define __NR_sethostname         74
218 #define __NR_setrlimit           75
219 #define __NR_getrlimit           76   /* Back compatible 2Gig limited rlimit */
220 #define __NR_getrusage           77
221 #define __NR_gettimeofday        78
222 #define __NR_settimeofday        79
223 #define __NR_getgroups           80
224 #define __NR_setgroups           81
225 #define __NR_select              82
226 #define __NR_symlink             83
227 #define __NR_oldlstat            84
228 #define __NR_readlink            85
229 #define __NR_uselib              86
230 #define __NR_swapon              87
231 #define __NR_reboot              88
232 #define __NR_readdir             89
233 #define __NR_mmap                90
234 #define __NR_munmap              91
235 #define __NR_truncate            92
236 #define __NR_ftruncate           93
237 #define __NR_fchmod              94
238 #define __NR_fchown              95
239 #define __NR_getpriority         96
240 #define __NR_setpriority         97
241 #define __NR_profil              98
242 #define __NR_statfs             99
243 #define __NR_fstatfs            100
244 #define __NR_ioperm             101
245 #define __NR_socketcall         102
246 #define __NR_syslog             103
247 #define __NR_setitimer          104
248 #define __NR_getitimer          105
249 #define __NR_stat               106
250 #define __NR_lstat              107
251 #define __NR_fstat              108
252 #define __NR_olduname           109
253 #define __NR_iopl               110
254 #define __NR_vhangup            111
255 #define __NR_idle               112
256 #define __NR_vm86old            113
257 #define __NR_wait4              114
258 #define __NR_swapoff            115
259 #define __NR_sysinfo            116
260 #define __NR_ipc                117
261 #define __NR_fsync              118
262 #define __NR_sigreturn          119
263 #define __NR_clone              120
264 #define __NR_setdomainname      121
265 #define __NR_uname              122
266 #define __NR_modify_ldt         123
267 #define __NR_adjtimex           124
268 #define __NR_mprotect           125
269 #define __NR_sigprocmask        126
270 #define __NR_create_module      127
271 #define __NR_init_module        128
272 #define __NR_delete_module      129
273 #define __NR_get_kernel_syms    130
274 #define __NR_quotactl           131
275 #define __NR_getpgid            132
276 #define __NR_fchdir             133
277 #define __NR_bdflush            134
278 #define __NR_sysfs              135
279 #define __NR_personality        136
280 #define __NR_afs_syscall        137
281 #define __NR_setfsuid           138
282 #define __NR_setfsgid           139
283 #define __NR__llseek            140
284 #define __NR_getdents           141
285 #define __NR__newselect         142
286 #define __NR_flock              143
287 #define __NR_msync              144
288 #define __NR_readv              145
289 #define __NR_writev             146
290 #define __NR_getsid             147
291 #define __NR_fdatasync          148
292 #define __NR__sysctl            149
293 #define __NR_mlock              150
294 #define __NR_munlock            151
295 #define __NR_mlockall           152
296 #define __NR_munlockall         153
297 #define __NR_sched_setparam             154
298 #define __NR_sched_getparam             155
299 #define __NR_sched_setscheduler         156
300 #define __NR_sched_getscheduler         157
301 #define __NR_sched_yield                158
302 #define __NR_sched_get_priority_max     159
303 #define __NR_sched_get_priority_min     160
304 #define __NR_sched_rr_get_interval      161
305 #define __NR_nanosleep          162
306 #define __NR_mremap             163
307 #define __NR_setresuid          164
308 #define __NR_getresuid          165
309 #define __NR_vm86               166
310 #define __NR_query_module       167
311 #define __NR_poll               168
312 #define __NR_nfsservctl         169
313 #define __NR_setresgid          170
314 #define __NR_getresgid          171
315 #define __NR_prctl              172
316 #define __NR_rt_sigreturn       173
317 #define __NR_rt_sigaction       174
318 #define __NR_rt_sigprocmask     175
319 #define __NR_rt_sigpending      176
320 #define __NR_rt_sigtimedwait    177
321 #define __NR_rt_sigqueueinfo    178
322 #define __NR_rt_sigsuspend      179
323 #define __NR_pread64            180
324 #define __NR_pwrite64           181
325 #define __NR_chown              182
326 #define __NR_getcwd             183
327 #define __NR_capget             184
328 #define __NR_capset             185
329 #define __NR_sigaltstack        186
330 #define __NR_sendfile           187
331 #define __NR_getpmsg            188
332 #define __NR_putpmsg            189
333 #define __NR_vfork              190
334 #define __NR_ugetrlimit         191
335 #define __NR_mmap2              192
336 #define __NR_truncate64         193
337 #define __NR_ftruncate64        194
338 #define __NR_stat64             195
339 #define __NR_lstat64            196
340 #define __NR_fstat64            197
341 #define __NR_lchown32           198
342 #define __NR_getuid32           199
343 #define __NR_getgid32           200
344 #define __NR_geteuid32          201
345 #define __NR_getegid32          202
346 #define __NR_setreuid32         203
347 #define __NR_setregid32         204
348 #define __NR_getgroups32        205
349 #define __NR_setgroups32        206
350 #define __NR_fchown32           207
351 #define __NR_setresuid32        208
352 #define __NR_getresuid32        209
353 #define __NR_setresgid32        210
354 #define __NR_getresgid32        211
355 #define __NR_chown32            212
356 #define __NR_setuid32           213
357 #define __NR_setgid32           214
358 #define __NR_setfsuid32         215
359 #define __NR_setfsgid32         216
360 #define __NR_pivot_root         217
361 #define __NR_mincore            218
362 #define __NR_madvise            219
363 #define __NR_madvise1           219
364 #define __NR_getdents64         220
365 #define __NR_fcntl64            221
366 /* 223 is unused */
367 #define __NR_gettid             224
368 #define __NR_readahead          225
369 #define __NR_setxattr           226
370 #define __NR_lsetxattr          227
371 #define __NR_fsetxattr          228
372 #define __NR_getxattr           229
373 #define __NR_lgetxattr          230
374 #define __NR_fgetxattr          231
375 #define __NR_listxattr          232
376 #define __NR_llistxattr         233
377 #define __NR_flistxattr         234
378 #define __NR_removexattr        235
379 #define __NR_lremovexattr       236
380 #define __NR_fremovexattr       237
381 #define __NR_tkill              238
382 #define __NR_sendfile64         239
383 #define __NR_futex              240
384 #define __NR_sched_setaffinity  241
385 #define __NR_sched_getaffinity  242
386 #define __NR_set_thread_area    243
387 #define __NR_get_thread_area    244
388 #define __NR_io_setup           245
389 #define __NR_io_destroy         246
390 #define __NR_io_getevents       247
391 #define __NR_io_submit          248
392 #define __NR_io_cancel          249
393 #define __NR_fadvise64          250
394 /* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
395 #define __NR_exit_group         252
396 #define __NR_lookup_dcookie     253
397 #define __NR_epoll_create       254
398 #define __NR_epoll_ctl          255
399 #define __NR_epoll_wait         256
400 #define __NR_remap_file_pages   257
401 #define __NR_set_tid_address    258
402 #define __NR_timer_create       259
403 #define __NR_timer_settime      (__NR_timer_create+1)
404 #define __NR_timer_gettime      (__NR_timer_create+2)
405 #define __NR_timer_getoverrun   (__NR_timer_create+3)
406 #define __NR_timer_delete       (__NR_timer_create+4)
407 #define __NR_clock_settime      (__NR_timer_create+5)
408 #define __NR_clock_gettime      (__NR_timer_create+6)
409 #define __NR_clock_getres       (__NR_timer_create+7)
410 #define __NR_clock_nanosleep    (__NR_timer_create+8)
411 #define __NR_statfs64           268
412 #define __NR_fstatfs64          269
413 #define __NR_tgkill             270
414 #define __NR_utimes             271
415 #define __NR_fadvise64_64       272
416 #define __NR_vserver            273
417 #define __NR_mbind              274
418 #define __NR_get_mempolicy      275
419 #define __NR_set_mempolicy      276
420 #define __NR_mq_open            277
421 #define __NR_mq_unlink          (__NR_mq_open+1)
422 #define __NR_mq_timedsend       (__NR_mq_open+2)
423 #define __NR_mq_timedreceive    (__NR_mq_open+3)
424 #define __NR_mq_notify          (__NR_mq_open+4)
425 #define __NR_mq_getsetattr      (__NR_mq_open+5)
426 #define __NR_kexec_load         283
427 #define __NR_waitid             284
428 /* #define __NR_sys_setaltroot  285 */
429 #define __NR_add_key            286
430 #define __NR_request_key        287
431 #define __NR_keyctl             288
432 #define __NR_ioprio_set         289
433 #define __NR_ioprio_get         290
434 #define __NR_inotify_init       291
435 #define __NR_inotify_add_watch  292
436 #define __NR_inotify_rm_watch   293
437 #define __NR_migrate_pages      294
438 #define __NR_openat             295
439 #define __NR_mkdirat            296
440 #define __NR_mknodat            297
441 #define __NR_fchownat           298
442 #define __NR_futimesat          299
443 #define __NR_fstatat64          300
444 #define __NR_unlinkat           301
445 #define __NR_renameat           302
446 #define __NR_linkat             303
447 #define __NR_symlinkat          304
448 #define __NR_readlinkat         305
449 #define __NR_fchmodat           306
450 #define __NR_faccessat          307
451 #define __NR_pselect6           308
452 #define __NR_ppoll              309
453 #define __NR_unshare            310
454 #define __NR_set_robust_list    311
455 #define __NR_get_robust_list    312
456 #define __NR_splice             313
457 #define __NR_sync_file_range    314
458 #define __NR_tee                315
459 #define __NR_vmsplice           316
460 #define __NR_move_pages         317
461 #define __NR_getcpu             318
462 #define __NR_epoll_pwait        319
463 #define __NR_utimensat          320
464 #define __NR_signalfd           321
465 #define __NR_timerfd_create     322
466 #define __NR_eventfd            323
467 #define __NR_fallocate          324
468 #define __NR_timerfd_settime    325
469 #define __NR_timerfd_gettime    326
470 #define __NR_signalfd4          327
471 #define __NR_eventfd2           328
472 #define __NR_epoll_create1      329
473 #define __NR_dup3               330
474 #define __NR_pipe2              331
475 #define __NR_inotify_init1      332
476 #define __NR_preadv             333
477 #define __NR_pwritev            334
478 #define __NR_prlimit64          340
479 #define __NR_name_to_handle_at  341
480 #define __NR_open_by_handle_at  342
481 #define __NR_clock_adjtime      343
482 #define __NR_syncfs             344
483 #define __NR_sendmmsg           345
484 #define __NR_setns              346
485 #define __NR_process_vm_readv   347
486 #define __NR_process_vm_writev  348
487
488 /* fixup legacy 16-bit junk */
489 #undef __NR_lchown
490 #undef __NR_getuid
491 #undef __NR_getgid
492 #undef __NR_geteuid
493 #undef __NR_getegid
494 #undef __NR_setreuid
495 #undef __NR_setregid
496 #undef __NR_getgroups
497 #undef __NR_setgroups
498 #undef __NR_fchown
499 #undef __NR_setresuid
500 #undef __NR_getresuid
501 #undef __NR_setresgid
502 #undef __NR_getresgid
503 #undef __NR_chown
504 #undef __NR_setuid
505 #undef __NR_setgid
506 #undef __NR_setfsuid
507 #undef __NR_setfsgid
508 #define __NR_lchown __NR_lchown32
509 #define __NR_getuid __NR_getuid32
510 #define __NR_getgid __NR_getgid32
511 #define __NR_geteuid __NR_geteuid32
512 #define __NR_getegid __NR_getegid32
513 #define __NR_setreuid __NR_setreuid32
514 #define __NR_setregid __NR_setregid32
515 #define __NR_getgroups __NR_getgroups32
516 #define __NR_setgroups __NR_setgroups32
517 #define __NR_fchown __NR_fchown32
518 #define __NR_setresuid __NR_setresuid32
519 #define __NR_getresuid __NR_getresuid32
520 #define __NR_setresgid __NR_setresgid32
521 #define __NR_getresgid __NR_getresgid32
522 #define __NR_chown __NR_chown32
523 #define __NR_setuid __NR_setuid32
524 #define __NR_setgid __NR_setgid32
525 #define __NR_setfsuid __NR_setfsuid32
526 #define __NR_setfsgid __NR_setfsgid32
527
528
529 /* fixup legacy 32-bit-vs-lfs64 junk */
530 #undef __NR_fcntl
531 #undef __NR_getdents
532 #undef __NR_ftruncate
533 #undef __NR_truncate
534 #undef __NR_stat
535 #undef __NR_fstat
536 #undef __NR_lstat
537 #undef __NR_statfs
538 #undef __NR_fstatfs
539 #define __NR_fcntl __NR_fcntl64
540 #define __NR_getdents __NR_getdents64
541 #define __NR_ftruncate __NR_ftruncate64
542 #define __NR_truncate __NR_truncate64
543 #define __NR_stat __NR_stat64
544 #define __NR_fstat __NR_fstat64
545 #define __NR_lstat __NR_lstat64
546 #define __NR_statfs __NR_statfs64
547 #define __NR_fstatfs __NR_fstatfs64
548 #define __NR_fstatat __NR_fstatat64
549 #define __NR_pread __NR_pread64
550 #define __NR_pwrite __NR_pwrite64
551
552 #define __NR_fadvise __NR_fadvise64_64
553
554 #undef __NR_getrlimit
555 #define __NR_getrlimit __NR_ugetrlimit
556
557 #undef __NR_select
558 #define __NR_select __NR__newselect
559
560
561 /* Repeated with SYS_ prefix */
562
563 #define SYS_restart_syscall      0
564 #define SYS_exit                  1
565 #define SYS_fork                  2
566 #define SYS_read                  3
567 #define SYS_write                 4
568 #define SYS_open                  5
569 #define SYS_close                 6
570 #define SYS_waitpid               7
571 #define SYS_creat                 8
572 #define SYS_link                  9
573 #define SYS_unlink               10
574 #define SYS_execve               11
575 #define SYS_chdir                12
576 #define SYS_time                 13
577 #define SYS_mknod                14
578 #define SYS_chmod                15
579 #define SYS_lchown               16
580 #define SYS_break                17
581 #define SYS_oldstat              18
582 #define SYS_lseek                19
583 #define SYS_getpid               20
584 #define SYS_mount                21
585 #define SYS_umount               22
586 #define SYS_setuid               23
587 #define SYS_getuid               24
588 #define SYS_stime                25
589 #define SYS_ptrace               26
590 #define SYS_alarm                27
591 #define SYS_oldfstat             28
592 #define SYS_pause                29
593 #define SYS_utime                30
594 #define SYS_stty                 31
595 #define SYS_gtty                 32
596 #define SYS_access               33
597 #define SYS_nice                 34
598 #define SYS_ftime                35
599 #define SYS_sync                 36
600 #define SYS_kill                 37
601 #define SYS_rename               38
602 #define SYS_mkdir                39
603 #define SYS_rmdir                40
604 #define SYS_dup          41
605 #define SYS_pipe                 42
606 #define SYS_times                43
607 #define SYS_prof                 44
608 #define SYS_brk          45
609 #define SYS_setgid               46
610 #define SYS_getgid               47
611 #define SYS_signal               48
612 #define SYS_geteuid              49
613 #define SYS_getegid              50
614 #define SYS_acct                 51
615 #define SYS_umount2              52
616 #define SYS_lock                 53
617 #define SYS_ioctl                54
618 #define SYS_fcntl                55
619 #define SYS_mpx          56
620 #define SYS_setpgid              57
621 #define SYS_ulimit               58
622 #define SYS_oldolduname  59
623 #define SYS_umask                60
624 #define SYS_chroot               61
625 #define SYS_ustat                62
626 #define SYS_dup2                 63
627 #define SYS_getppid              64
628 #define SYS_getpgrp              65
629 #define SYS_setsid               66
630 #define SYS_sigaction            67
631 #define SYS_sgetmask             68
632 #define SYS_ssetmask             69
633 #define SYS_setreuid             70
634 #define SYS_setregid             71
635 #define SYS_sigsuspend           72
636 #define SYS_sigpending           73
637 #define SYS_sethostname  74
638 #define SYS_setrlimit            75
639 #define SYS_getrlimit            76   /* Back compatible 2Gig limited rlimit */
640 #define SYS_getrusage            77
641 #define SYS_gettimeofday         78
642 #define SYS_settimeofday         79
643 #define SYS_getgroups            80
644 #define SYS_setgroups            81
645 #define SYS_select               82
646 #define SYS_symlink              83
647 #define SYS_oldlstat             84
648 #define SYS_readlink             85
649 #define SYS_uselib               86
650 #define SYS_swapon               87
651 #define SYS_reboot               88
652 #define SYS_readdir              89
653 #define SYS_mmap                 90
654 #define SYS_munmap               91
655 #define SYS_truncate             92
656 #define SYS_ftruncate            93
657 #define SYS_fchmod               94
658 #define SYS_fchown               95
659 #define SYS_getpriority  96
660 #define SYS_setpriority  97
661 #define SYS_profil               98
662 #define SYS_statfs              99
663 #define SYS_fstatfs             100
664 #define SYS_ioperm              101
665 #define SYS_socketcall          102
666 #define SYS_syslog              103
667 #define SYS_setitimer           104
668 #define SYS_getitimer           105
669 #define SYS_stat                106
670 #define SYS_lstat               107
671 #define SYS_fstat               108
672 #define SYS_olduname            109
673 #define SYS_iopl                110
674 #define SYS_vhangup             111
675 #define SYS_idle                112
676 #define SYS_vm86old             113
677 #define SYS_wait4               114
678 #define SYS_swapoff             115
679 #define SYS_sysinfo             116
680 #define SYS_ipc         117
681 #define SYS_fsync               118
682 #define SYS_sigreturn           119
683 #define SYS_clone               120
684 #define SYS_setdomainname       121
685 #define SYS_uname               122
686 #define SYS_modify_ldt          123
687 #define SYS_adjtimex            124
688 #define SYS_mprotect            125
689 #define SYS_sigprocmask 126
690 #define SYS_create_module       127
691 #define SYS_init_module 128
692 #define SYS_delete_module       129
693 #define SYS_get_kernel_syms     130
694 #define SYS_quotactl            131
695 #define SYS_getpgid             132
696 #define SYS_fchdir              133
697 #define SYS_bdflush             134
698 #define SYS_sysfs               135
699 #define SYS_personality 136
700 #define SYS_afs_syscall 137
701 #define SYS_setfsuid            138
702 #define SYS_setfsgid            139
703 #define SYS__llseek             140
704 #define SYS_getdents            141
705 #define SYS__newselect          142
706 #define SYS_flock               143
707 #define SYS_msync               144
708 #define SYS_readv               145
709 #define SYS_writev              146
710 #define SYS_getsid              147
711 #define SYS_fdatasync           148
712 #define SYS__sysctl             149
713 #define SYS_mlock               150
714 #define SYS_munlock             151
715 #define SYS_mlockall            152
716 #define SYS_munlockall          153
717 #define SYS_sched_setparam              154
718 #define SYS_sched_getparam              155
719 #define SYS_sched_setscheduler          156
720 #define SYS_sched_getscheduler          157
721 #define SYS_sched_yield         158
722 #define SYS_sched_get_priority_max      159
723 #define SYS_sched_get_priority_min      160
724 #define SYS_sched_rr_get_interval       161
725 #define SYS_nanosleep           162
726 #define SYS_mremap              163
727 #define SYS_setresuid           164
728 #define SYS_getresuid           165
729 #define SYS_vm86                166
730 #define SYS_query_module        167
731 #define SYS_poll                168
732 #define SYS_nfsservctl          169
733 #define SYS_setresgid           170
734 #define SYS_getresgid           171
735 #define SYS_prctl              172
736 #define SYS_rt_sigreturn        173
737 #define SYS_rt_sigaction        174
738 #define SYS_rt_sigprocmask      175
739 #define SYS_rt_sigpending       176
740 #define SYS_rt_sigtimedwait     177
741 #define SYS_rt_sigqueueinfo     178
742 #define SYS_rt_sigsuspend       179
743 #define SYS_pread64             180
744 #define SYS_pwrite64            181
745 #define SYS_chown               182
746 #define SYS_getcwd              183
747 #define SYS_capget              184
748 #define SYS_capset              185
749 #define SYS_sigaltstack 186
750 #define SYS_sendfile            187
751 #define SYS_getpmsg             188
752 #define SYS_putpmsg             189
753 #define SYS_vfork               190
754 #define SYS_ugetrlimit          191
755 #define SYS_mmap2               192
756 #define SYS_truncate64          193
757 #define SYS_ftruncate64 194
758 #define SYS_stat64              195
759 #define SYS_lstat64             196
760 #define SYS_fstat64             197
761 #define SYS_lchown32            198
762 #define SYS_getuid32            199
763 #define SYS_getgid32            200
764 #define SYS_geteuid32           201
765 #define SYS_getegid32           202
766 #define SYS_setreuid32          203
767 #define SYS_setregid32          204
768 #define SYS_getgroups32 205
769 #define SYS_setgroups32 206
770 #define SYS_fchown32            207
771 #define SYS_setresuid32 208
772 #define SYS_getresuid32 209
773 #define SYS_setresgid32 210
774 #define SYS_getresgid32 211
775 #define SYS_chown32             212
776 #define SYS_setuid32            213
777 #define SYS_setgid32            214
778 #define SYS_setfsuid32          215
779 #define SYS_setfsgid32          216
780 #define SYS_pivot_root          217
781 #define SYS_mincore             218
782 #define SYS_madvise             219
783 #define SYS_madvise1            219
784 #define SYS_getdents64          220
785 #define SYS_fcntl64             221
786 /* 223 is unused */
787 #define SYS_gettid              224
788 #define SYS_readahead           225
789 #define SYS_setxattr            226
790 #define SYS_lsetxattr           227
791 #define SYS_fsetxattr           228
792 #define SYS_getxattr            229
793 #define SYS_lgetxattr           230
794 #define SYS_fgetxattr           231
795 #define SYS_listxattr           232
796 #define SYS_llistxattr          233
797 #define SYS_flistxattr          234
798 #define SYS_removexattr 235
799 #define SYS_lremovexattr        236
800 #define SYS_fremovexattr        237
801 #define SYS_tkill               238
802 #define SYS_sendfile64          239
803 #define SYS_futex               240
804 #define SYS_sched_setaffinity   241
805 #define SYS_sched_getaffinity   242
806 #define SYS_set_thread_area     243
807 #define SYS_get_thread_area     244
808 #define SYS_io_setup            245
809 #define SYS_io_destroy          246
810 #define SYS_io_getevents        247
811 #define SYS_io_submit           248
812 #define SYS_io_cancel           249
813 #define SYS_fadvise64           250
814 /* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
815 #define SYS_exit_group          252
816 #define SYS_lookup_dcookie      253
817 #define SYS_epoll_create        254
818 #define SYS_epoll_ctl           255
819 #define SYS_epoll_wait          256
820 #define SYS_remap_file_pages    257
821 #define SYS_set_tid_address     258
822 #define SYS_timer_create        259
823 #define SYS_timer_settime       (SYS_timer_create+1)
824 #define SYS_timer_gettime       (SYS_timer_create+2)
825 #define SYS_timer_getoverrun    (SYS_timer_create+3)
826 #define SYS_timer_delete        (SYS_timer_create+4)
827 #define SYS_clock_settime       (SYS_timer_create+5)
828 #define SYS_clock_gettime       (SYS_timer_create+6)
829 #define SYS_clock_getres        (SYS_timer_create+7)
830 #define SYS_clock_nanosleep     (SYS_timer_create+8)
831 #define SYS_statfs64            268
832 #define SYS_fstatfs64           269
833 #define SYS_tgkill              270
834 #define SYS_utimes              271
835 #define SYS_fadvise64_64        272
836 #define SYS_vserver             273
837 #define SYS_mbind               274
838 #define SYS_get_mempolicy       275
839 #define SYS_set_mempolicy       276
840 #define SYS_mq_open             277
841 #define SYS_mq_unlink           (SYS_mq_open+1)
842 #define SYS_mq_timedsend        (SYS_mq_open+2)
843 #define SYS_mq_timedreceive     (SYS_mq_open+3)
844 #define SYS_mq_notify           (SYS_mq_open+4)
845 #define SYS_mq_getsetattr       (SYS_mq_open+5)
846 #define SYS_kexec_load          283
847 #define SYS_waitid              284
848 /* #define SYS_sys_setaltroot   285 */
849 #define SYS_add_key             286
850 #define SYS_request_key 287
851 #define SYS_keyctl              288
852 #define SYS_ioprio_set          289
853 #define SYS_ioprio_get          290
854 #define SYS_inotify_init        291
855 #define SYS_inotify_add_watch   292
856 #define SYS_inotify_rm_watch    293
857 #define SYS_migrate_pages       294
858 #define SYS_openat              295
859 #define SYS_mkdirat             296
860 #define SYS_mknodat             297
861 #define SYS_fchownat            298
862 #define SYS_futimesat           299
863 #define SYS_fstatat64           300
864 #define SYS_unlinkat            301
865 #define SYS_renameat            302
866 #define SYS_linkat              303
867 #define SYS_symlinkat           304
868 #define SYS_readlinkat          305
869 #define SYS_fchmodat            306
870 #define SYS_faccessat           307
871 #define SYS_pselect6            308
872 #define SYS_ppoll               309
873 #define SYS_unshare             310
874 #define SYS_set_robust_list     311
875 #define SYS_get_robust_list     312
876 #define SYS_splice              313
877 #define SYS_sync_file_range     314
878 #define SYS_tee         315
879 #define SYS_vmsplice            316
880 #define SYS_move_pages          317
881 #define SYS_getcpu              318
882 #define SYS_epoll_pwait 319
883 #define SYS_utimensat           320
884 #define SYS_signalfd            321
885 #define SYS_timerfd_create      322
886 #define SYS_eventfd             323
887 #define SYS_fallocate           324
888 #define SYS_timerfd_settime     325
889 #define SYS_timerfd_gettime     326
890 #define SYS_signalfd4           327
891 #define SYS_eventfd2            328
892 #define SYS_epoll_create1       329
893 #define SYS_dup3                330
894 #define SYS_pipe2               331
895 #define SYS_inotify_init1       332
896 #define SYS_preadv              333
897 #define SYS_pwritev             334
898 #define SYS_prlimit64           340
899 #define SYS_name_to_handle_at   341
900 #define SYS_open_by_handle_at   342
901 #define SYS_clock_adjtime       343
902 #define SYS_syncfs              344
903 #define SYS_sendmmsg            345
904 #define SYS_setns               346
905 #define SYS_process_vm_readv    347
906 #define SYS_process_vm_writev   348
907
908 /* fixup legacy 16-bit junk */
909 #undef SYS_lchown
910 #undef SYS_getuid
911 #undef SYS_getgid
912 #undef SYS_geteuid
913 #undef SYS_getegid
914 #undef SYS_setreuid
915 #undef SYS_setregid
916 #undef SYS_getgroups
917 #undef SYS_setgroups
918 #undef SYS_fchown
919 #undef SYS_setresuid
920 #undef SYS_getresuid
921 #undef SYS_setresgid
922 #undef SYS_getresgid
923 #undef SYS_chown
924 #undef SYS_setuid
925 #undef SYS_setgid
926 #undef SYS_setfsuid
927 #undef SYS_setfsgid
928 #define SYS_lchown SYS_lchown32
929 #define SYS_getuid SYS_getuid32
930 #define SYS_getgid SYS_getgid32
931 #define SYS_geteuid SYS_geteuid32
932 #define SYS_getegid SYS_getegid32
933 #define SYS_setreuid SYS_setreuid32
934 #define SYS_setregid SYS_setregid32
935 #define SYS_getgroups SYS_getgroups32
936 #define SYS_setgroups SYS_setgroups32
937 #define SYS_fchown SYS_fchown32
938 #define SYS_setresuid SYS_setresuid32
939 #define SYS_getresuid SYS_getresuid32
940 #define SYS_setresgid SYS_setresgid32
941 #define SYS_getresgid SYS_getresgid32
942 #define SYS_chown SYS_chown32
943 #define SYS_setuid SYS_setuid32
944 #define SYS_setgid SYS_setgid32
945 #define SYS_setfsuid SYS_setfsuid32
946 #define SYS_setfsgid SYS_setfsgid32
947
948
949 /* fixup legacy 32-bit-vs-lfs64 junk */
950 #undef SYS_fcntl
951 #undef SYS_getdents
952 #undef SYS_ftruncate
953 #undef SYS_truncate
954 #undef SYS_stat
955 #undef SYS_fstat
956 #undef SYS_lstat
957 #undef SYS_statfs
958 #undef SYS_fstatfs
959 #define SYS_fcntl SYS_fcntl64
960 #define SYS_getdents SYS_getdents64
961 #define SYS_ftruncate SYS_ftruncate64
962 #define SYS_truncate SYS_truncate64
963 #define SYS_stat SYS_stat64
964 #define SYS_fstat SYS_fstat64
965 #define SYS_lstat SYS_lstat64
966 #define SYS_statfs SYS_statfs64
967 #define SYS_fstatfs SYS_fstatfs64
968 #define SYS_fstatat SYS_fstatat64
969 #define SYS_pread SYS_pread64
970 #define SYS_pwrite SYS_pwrite64
971
972 #define SYS_fadvise SYS_fadvise64_64
973
974 #undef SYS_getrlimit
975 #define SYS_getrlimit SYS_ugetrlimit
976
977 #undef SYS_select
978 #define SYS_select SYS__newselect