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