1 #ifndef _ASM_X86_64_UNISTD_H_
2 #define _ASM_X86_64_UNISTD_H_
9 * This file contains the system call numbers.
11 * Note: holes are not allowed.
14 /* at least 8 syscall per cacheline */
16 __SYSCALL(__NR_read
, sys_read
)
18 __SYSCALL(__NR_write
, sys_write
)
20 __SYSCALL(__NR_open
, sys_open
)
22 __SYSCALL(__NR_close
, sys_close
)
24 __SYSCALL(__NR_stat
, sys_newstat
)
26 __SYSCALL(__NR_fstat
, sys_newfstat
)
28 __SYSCALL(__NR_lstat
, sys_newlstat
)
30 __SYSCALL(__NR_poll
, sys_poll
)
33 __SYSCALL(__NR_lseek
, sys_lseek
)
35 __SYSCALL(__NR_mmap
, sys_mmap
)
36 #define __NR_mprotect 10
37 __SYSCALL(__NR_mprotect
, sys_mprotect
)
38 #define __NR_munmap 11
39 __SYSCALL(__NR_munmap
, sys_munmap
)
41 __SYSCALL(__NR_brk
, sys_brk
)
42 #define __NR_rt_sigaction 13
43 __SYSCALL(__NR_rt_sigaction
, sys_rt_sigaction
)
44 #define __NR_rt_sigprocmask 14
45 __SYSCALL(__NR_rt_sigprocmask
, sys_rt_sigprocmask
)
46 #define __NR_rt_sigreturn 15
47 __SYSCALL(__NR_rt_sigreturn
, stub_rt_sigreturn
)
50 __SYSCALL(__NR_ioctl
, sys_ioctl
)
51 #define __NR_pread64 17
52 __SYSCALL(__NR_pread64
, sys_pread64
)
53 #define __NR_pwrite64 18
54 __SYSCALL(__NR_pwrite64
, sys_pwrite64
)
56 __SYSCALL(__NR_readv
, sys_readv
)
57 #define __NR_writev 20
58 __SYSCALL(__NR_writev
, sys_writev
)
59 #define __NR_access 21
60 __SYSCALL(__NR_access
, sys_access
)
62 __SYSCALL(__NR_pipe
, sys_pipe
)
63 #define __NR_select 23
64 __SYSCALL(__NR_select
, sys_select
)
66 #define __NR_sched_yield 24
67 __SYSCALL(__NR_sched_yield
, sys_sched_yield
)
68 #define __NR_mremap 25
69 __SYSCALL(__NR_mremap
, sys_mremap
)
71 __SYSCALL(__NR_msync
, sys_msync
)
72 #define __NR_mincore 27
73 __SYSCALL(__NR_mincore
, sys_mincore
)
74 #define __NR_madvise 28
75 __SYSCALL(__NR_madvise
, sys_madvise
)
76 #define __NR_shmget 29
77 __SYSCALL(__NR_shmget
, sys_shmget
)
79 __SYSCALL(__NR_shmat
, sys_shmat
)
80 #define __NR_shmctl 31
81 __SYSCALL(__NR_shmctl
, sys_shmctl
)
84 __SYSCALL(__NR_dup
, sys_dup
)
86 __SYSCALL(__NR_dup2
, sys_dup2
)
88 __SYSCALL(__NR_pause
, sys_pause
)
89 #define __NR_nanosleep 35
90 __SYSCALL(__NR_nanosleep
, sys_nanosleep
)
91 #define __NR_getitimer 36
92 __SYSCALL(__NR_getitimer
, sys_getitimer
)
94 __SYSCALL(__NR_alarm
, sys_alarm
)
95 #define __NR_setitimer 38
96 __SYSCALL(__NR_setitimer
, sys_setitimer
)
97 #define __NR_getpid 39
98 __SYSCALL(__NR_getpid
, sys_getpid
)
100 #define __NR_sendfile 40
101 __SYSCALL(__NR_sendfile
, sys_sendfile64
)
102 #define __NR_socket 41
103 __SYSCALL(__NR_socket
, sys_socket
)
104 #define __NR_connect 42
105 __SYSCALL(__NR_connect
, sys_connect
)
106 #define __NR_accept 43
107 __SYSCALL(__NR_accept
, sys_accept
)
108 #define __NR_sendto 44
109 __SYSCALL(__NR_sendto
, sys_sendto
)
110 #define __NR_recvfrom 45
111 __SYSCALL(__NR_recvfrom
, sys_recvfrom
)
112 #define __NR_sendmsg 46
113 __SYSCALL(__NR_sendmsg
, sys_sendmsg
)
114 #define __NR_recvmsg 47
115 __SYSCALL(__NR_recvmsg
, sys_recvmsg
)
117 #define __NR_shutdown 48
118 __SYSCALL(__NR_shutdown
, sys_shutdown
)
120 __SYSCALL(__NR_bind
, sys_bind
)
121 #define __NR_listen 50
122 __SYSCALL(__NR_listen
, sys_listen
)
123 #define __NR_getsockname 51
124 __SYSCALL(__NR_getsockname
, sys_getsockname
)
125 #define __NR_getpeername 52
126 __SYSCALL(__NR_getpeername
, sys_getpeername
)
127 #define __NR_socketpair 53
128 __SYSCALL(__NR_socketpair
, sys_socketpair
)
129 #define __NR_setsockopt 54
130 __SYSCALL(__NR_setsockopt
, sys_setsockopt
)
131 #define __NR_getsockopt 55
132 __SYSCALL(__NR_getsockopt
, sys_getsockopt
)
134 #define __NR_clone 56
135 __SYSCALL(__NR_clone
, stub_clone
)
137 __SYSCALL(__NR_fork
, stub_fork
)
138 #define __NR_vfork 58
139 __SYSCALL(__NR_vfork
, stub_vfork
)
140 #define __NR_execve 59
141 __SYSCALL(__NR_execve
, stub_execve
)
143 __SYSCALL(__NR_exit
, sys_exit
)
144 #define __NR_wait4 61
145 __SYSCALL(__NR_wait4
, sys_wait4
)
147 __SYSCALL(__NR_kill
, sys_kill
)
148 #define __NR_uname 63
149 __SYSCALL(__NR_uname
, sys_uname
)
151 #define __NR_semget 64
152 __SYSCALL(__NR_semget
, sys_semget
)
153 #define __NR_semop 65
154 __SYSCALL(__NR_semop
, sys_semop
)
155 #define __NR_semctl 66
156 __SYSCALL(__NR_semctl
, sys_semctl
)
157 #define __NR_shmdt 67
158 __SYSCALL(__NR_shmdt
, sys_shmdt
)
159 #define __NR_msgget 68
160 __SYSCALL(__NR_msgget
, sys_msgget
)
161 #define __NR_msgsnd 69
162 __SYSCALL(__NR_msgsnd
, sys_msgsnd
)
163 #define __NR_msgrcv 70
164 __SYSCALL(__NR_msgrcv
, sys_msgrcv
)
165 #define __NR_msgctl 71
166 __SYSCALL(__NR_msgctl
, sys_msgctl
)
168 #define __NR_fcntl 72
169 __SYSCALL(__NR_fcntl
, sys_fcntl
)
170 #define __NR_flock 73
171 __SYSCALL(__NR_flock
, sys_flock
)
172 #define __NR_fsync 74
173 __SYSCALL(__NR_fsync
, sys_fsync
)
174 #define __NR_fdatasync 75
175 __SYSCALL(__NR_fdatasync
, sys_fdatasync
)
176 #define __NR_truncate 76
177 __SYSCALL(__NR_truncate
, sys_truncate
)
178 #define __NR_ftruncate 77
179 __SYSCALL(__NR_ftruncate
, sys_ftruncate
)
180 #define __NR_getdents 78
181 __SYSCALL(__NR_getdents
, sys_getdents
)
182 #define __NR_getcwd 79
183 __SYSCALL(__NR_getcwd
, sys_getcwd
)
185 #define __NR_chdir 80
186 __SYSCALL(__NR_chdir
, sys_chdir
)
187 #define __NR_fchdir 81
188 __SYSCALL(__NR_fchdir
, sys_fchdir
)
189 #define __NR_rename 82
190 __SYSCALL(__NR_rename
, sys_rename
)
191 #define __NR_mkdir 83
192 __SYSCALL(__NR_mkdir
, sys_mkdir
)
193 #define __NR_rmdir 84
194 __SYSCALL(__NR_rmdir
, sys_rmdir
)
195 #define __NR_creat 85
196 __SYSCALL(__NR_creat
, sys_creat
)
198 __SYSCALL(__NR_link
, sys_link
)
199 #define __NR_unlink 87
200 __SYSCALL(__NR_unlink
, sys_unlink
)
202 #define __NR_symlink 88
203 __SYSCALL(__NR_symlink
, sys_symlink
)
204 #define __NR_readlink 89
205 __SYSCALL(__NR_readlink
, sys_readlink
)
206 #define __NR_chmod 90
207 __SYSCALL(__NR_chmod
, sys_chmod
)
208 #define __NR_fchmod 91
209 __SYSCALL(__NR_fchmod
, sys_fchmod
)
210 #define __NR_chown 92
211 __SYSCALL(__NR_chown
, sys_chown
)
212 #define __NR_fchown 93
213 __SYSCALL(__NR_fchown
, sys_fchown
)
214 #define __NR_lchown 94
215 __SYSCALL(__NR_lchown
, sys_lchown
)
216 #define __NR_umask 95
217 __SYSCALL(__NR_umask
, sys_umask
)
219 #define __NR_gettimeofday 96
220 __SYSCALL(__NR_gettimeofday
, sys_gettimeofday
)
221 #define __NR_getrlimit 97
222 __SYSCALL(__NR_getrlimit
, sys_getrlimit
)
223 #define __NR_getrusage 98
224 __SYSCALL(__NR_getrusage
, sys_getrusage
)
225 #define __NR_sysinfo 99
226 __SYSCALL(__NR_sysinfo
, sys_sysinfo
)
227 #define __NR_times 100
228 __SYSCALL(__NR_times
, sys_times
)
229 #define __NR_ptrace 101
230 __SYSCALL(__NR_ptrace
, sys_ptrace
)
231 #define __NR_getuid 102
232 __SYSCALL(__NR_getuid
, sys_getuid
)
233 #define __NR_syslog 103
234 __SYSCALL(__NR_syslog
, sys_syslog
)
236 /* at the very end the stuff that never runs during the benchmarks */
237 #define __NR_getgid 104
238 __SYSCALL(__NR_getgid
, sys_getgid
)
239 #define __NR_setuid 105
240 __SYSCALL(__NR_setuid
, sys_setuid
)
241 #define __NR_setgid 106
242 __SYSCALL(__NR_setgid
, sys_setgid
)
243 #define __NR_geteuid 107
244 __SYSCALL(__NR_geteuid
, sys_geteuid
)
245 #define __NR_getegid 108
246 __SYSCALL(__NR_getegid
, sys_getegid
)
247 #define __NR_setpgid 109
248 __SYSCALL(__NR_setpgid
, sys_setpgid
)
249 #define __NR_getppid 110
250 __SYSCALL(__NR_getppid
, sys_getppid
)
251 #define __NR_getpgrp 111
252 __SYSCALL(__NR_getpgrp
, sys_getpgrp
)
254 #define __NR_setsid 112
255 __SYSCALL(__NR_setsid
, sys_setsid
)
256 #define __NR_setreuid 113
257 __SYSCALL(__NR_setreuid
, sys_setreuid
)
258 #define __NR_setregid 114
259 __SYSCALL(__NR_setregid
, sys_setregid
)
260 #define __NR_getgroups 115
261 __SYSCALL(__NR_getgroups
, sys_getgroups
)
262 #define __NR_setgroups 116
263 __SYSCALL(__NR_setgroups
, sys_setgroups
)
264 #define __NR_setresuid 117
265 __SYSCALL(__NR_setresuid
, sys_setresuid
)
266 #define __NR_getresuid 118
267 __SYSCALL(__NR_getresuid
, sys_getresuid
)
268 #define __NR_setresgid 119
269 __SYSCALL(__NR_setresgid
, sys_setresgid
)
271 #define __NR_getresgid 120
272 __SYSCALL(__NR_getresgid
, sys_getresgid
)
273 #define __NR_getpgid 121
274 __SYSCALL(__NR_getpgid
, sys_getpgid
)
275 #define __NR_setfsuid 122
276 __SYSCALL(__NR_setfsuid
, sys_setfsuid
)
277 #define __NR_setfsgid 123
278 __SYSCALL(__NR_setfsgid
, sys_setfsgid
)
279 #define __NR_getsid 124
280 __SYSCALL(__NR_getsid
, sys_getsid
)
281 #define __NR_capget 125
282 __SYSCALL(__NR_capget
, sys_capget
)
283 #define __NR_capset 126
284 __SYSCALL(__NR_capset
, sys_capset
)
286 #define __NR_rt_sigpending 127
287 __SYSCALL(__NR_rt_sigpending
, sys_rt_sigpending
)
288 #define __NR_rt_sigtimedwait 128
289 __SYSCALL(__NR_rt_sigtimedwait
, sys_rt_sigtimedwait
)
290 #define __NR_rt_sigqueueinfo 129
291 __SYSCALL(__NR_rt_sigqueueinfo
, sys_rt_sigqueueinfo
)
292 #define __NR_rt_sigsuspend 130
293 __SYSCALL(__NR_rt_sigsuspend
, stub_rt_sigsuspend
)
294 #define __NR_sigaltstack 131
295 __SYSCALL(__NR_sigaltstack
, stub_sigaltstack
)
296 #define __NR_utime 132
297 __SYSCALL(__NR_utime
, sys_utime
)
298 #define __NR_mknod 133
299 __SYSCALL(__NR_mknod
, sys_mknod
)
301 /* Only needed for a.out */
302 #define __NR_uselib 134
303 __SYSCALL(__NR_uselib
, sys_ni_syscall
)
304 #define __NR_personality 135
305 __SYSCALL(__NR_personality
, sys_personality
)
307 #define __NR_ustat 136
308 __SYSCALL(__NR_ustat
, sys_ustat
)
309 #define __NR_statfs 137
310 __SYSCALL(__NR_statfs
, sys_statfs
)
311 #define __NR_fstatfs 138
312 __SYSCALL(__NR_fstatfs
, sys_fstatfs
)
313 #define __NR_sysfs 139
314 __SYSCALL(__NR_sysfs
, sys_sysfs
)
316 #define __NR_getpriority 140
317 __SYSCALL(__NR_getpriority
, sys_getpriority
)
318 #define __NR_setpriority 141
319 __SYSCALL(__NR_setpriority
, sys_setpriority
)
320 #define __NR_sched_setparam 142
321 __SYSCALL(__NR_sched_setparam
, sys_sched_setparam
)
322 #define __NR_sched_getparam 143
323 __SYSCALL(__NR_sched_getparam
, sys_sched_getparam
)
324 #define __NR_sched_setscheduler 144
325 __SYSCALL(__NR_sched_setscheduler
, sys_sched_setscheduler
)
326 #define __NR_sched_getscheduler 145
327 __SYSCALL(__NR_sched_getscheduler
, sys_sched_getscheduler
)
328 #define __NR_sched_get_priority_max 146
329 __SYSCALL(__NR_sched_get_priority_max
, sys_sched_get_priority_max
)
330 #define __NR_sched_get_priority_min 147
331 __SYSCALL(__NR_sched_get_priority_min
, sys_sched_get_priority_min
)
332 #define __NR_sched_rr_get_interval 148
333 __SYSCALL(__NR_sched_rr_get_interval
, sys_sched_rr_get_interval
)
335 #define __NR_mlock 149
336 __SYSCALL(__NR_mlock
, sys_mlock
)
337 #define __NR_munlock 150
338 __SYSCALL(__NR_munlock
, sys_munlock
)
339 #define __NR_mlockall 151
340 __SYSCALL(__NR_mlockall
, sys_mlockall
)
341 #define __NR_munlockall 152
342 __SYSCALL(__NR_munlockall
, sys_munlockall
)
344 #define __NR_vhangup 153
345 __SYSCALL(__NR_vhangup
, sys_vhangup
)
347 #define __NR_modify_ldt 154
348 __SYSCALL(__NR_modify_ldt
, sys_modify_ldt
)
350 #define __NR_pivot_root 155
351 __SYSCALL(__NR_pivot_root
, sys_pivot_root
)
353 #define __NR__sysctl 156
354 __SYSCALL(__NR__sysctl
, sys_sysctl
)
356 #define __NR_prctl 157
357 __SYSCALL(__NR_prctl
, sys_prctl
)
358 #define __NR_arch_prctl 158
359 __SYSCALL(__NR_arch_prctl
, sys_arch_prctl
)
361 #define __NR_adjtimex 159
362 __SYSCALL(__NR_adjtimex
, sys_adjtimex
)
364 #define __NR_setrlimit 160
365 __SYSCALL(__NR_setrlimit
, sys_setrlimit
)
367 #define __NR_chroot 161
368 __SYSCALL(__NR_chroot
, sys_chroot
)
370 #define __NR_sync 162
371 __SYSCALL(__NR_sync
, sys_sync
)
373 #define __NR_acct 163
374 __SYSCALL(__NR_acct
, sys_acct
)
376 #define __NR_settimeofday 164
377 __SYSCALL(__NR_settimeofday
, sys_settimeofday
)
379 #define __NR_mount 165
380 __SYSCALL(__NR_mount
, sys_mount
)
381 #define __NR_umount2 166
382 __SYSCALL(__NR_umount2
, sys_umount
)
384 #define __NR_swapon 167
385 __SYSCALL(__NR_swapon
, sys_swapon
)
386 #define __NR_swapoff 168
387 __SYSCALL(__NR_swapoff
, sys_swapoff
)
389 #define __NR_reboot 169
390 __SYSCALL(__NR_reboot
, sys_reboot
)
392 #define __NR_sethostname 170
393 __SYSCALL(__NR_sethostname
, sys_sethostname
)
394 #define __NR_setdomainname 171
395 __SYSCALL(__NR_setdomainname
, sys_setdomainname
)
397 #define __NR_iopl 172
398 __SYSCALL(__NR_iopl
, stub_iopl
)
399 #define __NR_ioperm 173
400 __SYSCALL(__NR_ioperm
, sys_ioperm
)
402 #define __NR_create_module 174
403 __SYSCALL(__NR_create_module
, sys_ni_syscall
)
404 #define __NR_init_module 175
405 __SYSCALL(__NR_init_module
, sys_init_module
)
406 #define __NR_delete_module 176
407 __SYSCALL(__NR_delete_module
, sys_delete_module
)
408 #define __NR_get_kernel_syms 177
409 __SYSCALL(__NR_get_kernel_syms
, sys_ni_syscall
)
410 #define __NR_query_module 178
411 __SYSCALL(__NR_query_module
, sys_ni_syscall
)
413 #define __NR_quotactl 179
414 __SYSCALL(__NR_quotactl
, sys_quotactl
)
416 #define __NR_nfsservctl 180
417 __SYSCALL(__NR_nfsservctl
, sys_nfsservctl
)
419 #define __NR_getpmsg 181 /* reserved for LiS/STREAMS */
420 __SYSCALL(__NR_getpmsg
, sys_ni_syscall
)
421 #define __NR_putpmsg 182 /* reserved for LiS/STREAMS */
422 __SYSCALL(__NR_putpmsg
, sys_ni_syscall
)
424 #define __NR_afs_syscall 183 /* reserved for AFS */
425 __SYSCALL(__NR_afs_syscall
, sys_ni_syscall
)
427 #define __NR_tuxcall 184 /* reserved for tux */
428 __SYSCALL(__NR_tuxcall
, sys_ni_syscall
)
430 #define __NR_security 185
431 __SYSCALL(__NR_security
, sys_ni_syscall
)
433 #define __NR_gettid 186
434 __SYSCALL(__NR_gettid
, sys_gettid
)
436 #define __NR_readahead 187
437 __SYSCALL(__NR_readahead
, sys_readahead
)
438 #define __NR_setxattr 188
439 __SYSCALL(__NR_setxattr
, sys_setxattr
)
440 #define __NR_lsetxattr 189
441 __SYSCALL(__NR_lsetxattr
, sys_lsetxattr
)
442 #define __NR_fsetxattr 190
443 __SYSCALL(__NR_fsetxattr
, sys_fsetxattr
)
444 #define __NR_getxattr 191
445 __SYSCALL(__NR_getxattr
, sys_getxattr
)
446 #define __NR_lgetxattr 192
447 __SYSCALL(__NR_lgetxattr
, sys_lgetxattr
)
448 #define __NR_fgetxattr 193
449 __SYSCALL(__NR_fgetxattr
, sys_fgetxattr
)
450 #define __NR_listxattr 194
451 __SYSCALL(__NR_listxattr
, sys_listxattr
)
452 #define __NR_llistxattr 195
453 __SYSCALL(__NR_llistxattr
, sys_llistxattr
)
454 #define __NR_flistxattr 196
455 __SYSCALL(__NR_flistxattr
, sys_flistxattr
)
456 #define __NR_removexattr 197
457 __SYSCALL(__NR_removexattr
, sys_removexattr
)
458 #define __NR_lremovexattr 198
459 __SYSCALL(__NR_lremovexattr
, sys_lremovexattr
)
460 #define __NR_fremovexattr 199
461 __SYSCALL(__NR_fremovexattr
, sys_fremovexattr
)
462 #define __NR_tkill 200
463 __SYSCALL(__NR_tkill
, sys_tkill
)
464 #define __NR_time 201
465 __SYSCALL(__NR_time
, sys_time
)
466 #define __NR_futex 202
467 __SYSCALL(__NR_futex
, sys_futex
)
468 #define __NR_sched_setaffinity 203
469 __SYSCALL(__NR_sched_setaffinity
, sys_sched_setaffinity
)
470 #define __NR_sched_getaffinity 204
471 __SYSCALL(__NR_sched_getaffinity
, sys_sched_getaffinity
)
472 #define __NR_set_thread_area 205
473 __SYSCALL(__NR_set_thread_area
, sys_ni_syscall
) /* use arch_prctl */
474 #define __NR_io_setup 206
475 __SYSCALL(__NR_io_setup
, sys_io_setup
)
476 #define __NR_io_destroy 207
477 __SYSCALL(__NR_io_destroy
, sys_io_destroy
)
478 #define __NR_io_getevents 208
479 __SYSCALL(__NR_io_getevents
, sys_io_getevents
)
480 #define __NR_io_submit 209
481 __SYSCALL(__NR_io_submit
, sys_io_submit
)
482 #define __NR_io_cancel 210
483 __SYSCALL(__NR_io_cancel
, sys_io_cancel
)
484 #define __NR_get_thread_area 211
485 __SYSCALL(__NR_get_thread_area
, sys_ni_syscall
) /* use arch_prctl */
486 #define __NR_lookup_dcookie 212
487 __SYSCALL(__NR_lookup_dcookie
, sys_lookup_dcookie
)
488 #define __NR_epoll_create 213
489 __SYSCALL(__NR_epoll_create
, sys_epoll_create
)
490 #define __NR_epoll_ctl_old 214
491 __SYSCALL(__NR_epoll_ctl_old
, sys_ni_syscall
)
492 #define __NR_epoll_wait_old 215
493 __SYSCALL(__NR_epoll_wait_old
, sys_ni_syscall
)
494 #define __NR_remap_file_pages 216
495 __SYSCALL(__NR_remap_file_pages
, sys_remap_file_pages
)
496 #define __NR_getdents64 217
497 __SYSCALL(__NR_getdents64
, sys_getdents64
)
498 #define __NR_set_tid_address 218
499 __SYSCALL(__NR_set_tid_address
, sys_set_tid_address
)
500 #define __NR_restart_syscall 219
501 __SYSCALL(__NR_restart_syscall
, sys_restart_syscall
)
502 #define __NR_semtimedop 220
503 __SYSCALL(__NR_semtimedop
, sys_semtimedop
)
504 #define __NR_fadvise64 221
505 __SYSCALL(__NR_fadvise64
, sys_fadvise64
)
506 #define __NR_timer_create 222
507 __SYSCALL(__NR_timer_create
, sys_timer_create
)
508 #define __NR_timer_settime 223
509 __SYSCALL(__NR_timer_settime
, sys_timer_settime
)
510 #define __NR_timer_gettime 224
511 __SYSCALL(__NR_timer_gettime
, sys_timer_gettime
)
512 #define __NR_timer_getoverrun 225
513 __SYSCALL(__NR_timer_getoverrun
, sys_timer_getoverrun
)
514 #define __NR_timer_delete 226
515 __SYSCALL(__NR_timer_delete
, sys_timer_delete
)
516 #define __NR_clock_settime 227
517 __SYSCALL(__NR_clock_settime
, sys_clock_settime
)
518 #define __NR_clock_gettime 228
519 __SYSCALL(__NR_clock_gettime
, sys_clock_gettime
)
520 #define __NR_clock_getres 229
521 __SYSCALL(__NR_clock_getres
, sys_clock_getres
)
522 #define __NR_clock_nanosleep 230
523 __SYSCALL(__NR_clock_nanosleep
, sys_clock_nanosleep
)
524 #define __NR_exit_group 231
525 __SYSCALL(__NR_exit_group
, sys_exit_group
)
526 #define __NR_epoll_wait 232
527 __SYSCALL(__NR_epoll_wait
, sys_epoll_wait
)
528 #define __NR_epoll_ctl 233
529 __SYSCALL(__NR_epoll_ctl
, sys_epoll_ctl
)
530 #define __NR_tgkill 234
531 __SYSCALL(__NR_tgkill
, sys_tgkill
)
532 #define __NR_utimes 235
533 __SYSCALL(__NR_utimes
, sys_utimes
)
534 #define __NR_vserver 236
535 __SYSCALL(__NR_vserver
, sys_ni_syscall
)
536 #define __NR_mbind 237
537 __SYSCALL(__NR_mbind
, sys_mbind
)
538 #define __NR_set_mempolicy 238
539 __SYSCALL(__NR_set_mempolicy
, sys_set_mempolicy
)
540 #define __NR_get_mempolicy 239
541 __SYSCALL(__NR_get_mempolicy
, sys_get_mempolicy
)
542 #define __NR_mq_open 240
543 __SYSCALL(__NR_mq_open
, sys_mq_open
)
544 #define __NR_mq_unlink 241
545 __SYSCALL(__NR_mq_unlink
, sys_mq_unlink
)
546 #define __NR_mq_timedsend 242
547 __SYSCALL(__NR_mq_timedsend
, sys_mq_timedsend
)
548 #define __NR_mq_timedreceive 243
549 __SYSCALL(__NR_mq_timedreceive
, sys_mq_timedreceive
)
550 #define __NR_mq_notify 244
551 __SYSCALL(__NR_mq_notify
, sys_mq_notify
)
552 #define __NR_mq_getsetattr 245
553 __SYSCALL(__NR_mq_getsetattr
, sys_mq_getsetattr
)
554 #define __NR_kexec_load 246
555 __SYSCALL(__NR_kexec_load
, sys_kexec_load
)
556 #define __NR_waitid 247
557 __SYSCALL(__NR_waitid
, sys_waitid
)
558 #define __NR_add_key 248
559 __SYSCALL(__NR_add_key
, sys_add_key
)
560 #define __NR_request_key 249
561 __SYSCALL(__NR_request_key
, sys_request_key
)
562 #define __NR_keyctl 250
563 __SYSCALL(__NR_keyctl
, sys_keyctl
)
564 #define __NR_ioprio_set 251
565 __SYSCALL(__NR_ioprio_set
, sys_ioprio_set
)
566 #define __NR_ioprio_get 252
567 __SYSCALL(__NR_ioprio_get
, sys_ioprio_get
)
568 #define __NR_inotify_init 253
569 __SYSCALL(__NR_inotify_init
, sys_inotify_init
)
570 #define __NR_inotify_add_watch 254
571 __SYSCALL(__NR_inotify_add_watch
, sys_inotify_add_watch
)
572 #define __NR_inotify_rm_watch 255
573 __SYSCALL(__NR_inotify_rm_watch
, sys_inotify_rm_watch
)
574 #define __NR_migrate_pages 256
575 __SYSCALL(__NR_migrate_pages
, sys_migrate_pages
)
576 #define __NR_openat 257
577 __SYSCALL(__NR_openat
, sys_openat
)
578 #define __NR_mkdirat 258
579 __SYSCALL(__NR_mkdirat
, sys_mkdirat
)
580 #define __NR_mknodat 259
581 __SYSCALL(__NR_mknodat
, sys_mknodat
)
582 #define __NR_fchownat 260
583 __SYSCALL(__NR_fchownat
, sys_fchownat
)
584 #define __NR_futimesat 261
585 __SYSCALL(__NR_futimesat
, sys_futimesat
)
586 #define __NR_newfstatat 262
587 __SYSCALL(__NR_newfstatat
, sys_newfstatat
)
588 #define __NR_unlinkat 263
589 __SYSCALL(__NR_unlinkat
, sys_unlinkat
)
590 #define __NR_renameat 264
591 __SYSCALL(__NR_renameat
, sys_renameat
)
592 #define __NR_linkat 265
593 __SYSCALL(__NR_linkat
, sys_linkat
)
594 #define __NR_symlinkat 266
595 __SYSCALL(__NR_symlinkat
, sys_symlinkat
)
596 #define __NR_readlinkat 267
597 __SYSCALL(__NR_readlinkat
, sys_readlinkat
)
598 #define __NR_fchmodat 268
599 __SYSCALL(__NR_fchmodat
, sys_fchmodat
)
600 #define __NR_faccessat 269
601 __SYSCALL(__NR_faccessat
, sys_faccessat
)
602 #define __NR_pselect6 270
603 __SYSCALL(__NR_pselect6
, sys_ni_syscall
) /* for now */
604 #define __NR_ppoll 271
605 __SYSCALL(__NR_ppoll
, sys_ni_syscall
) /* for now */
606 #define __NR_unshare 272
607 __SYSCALL(__NR_unshare
, sys_unshare
)
608 #define __NR_set_robust_list 273
609 __SYSCALL(__NR_set_robust_list
, sys_set_robust_list
)
610 #define __NR_get_robust_list 274
611 __SYSCALL(__NR_get_robust_list
, sys_get_robust_list
)
613 #define __NR_syscall_max __NR_get_robust_list
617 /* user-visible error numbers are in the range -1 - -4095 */
619 #define __syscall_clobber "r11","rcx","memory"
621 #define __syscall_return(type, res) \
623 if ((unsigned long)(res) >= (unsigned long)(-127)) { \
627 return (type) (res); \
631 #define __ARCH_WANT_OLD_READDIR
632 #define __ARCH_WANT_OLD_STAT
633 #define __ARCH_WANT_SYS_ALARM
634 #define __ARCH_WANT_SYS_GETHOSTNAME
635 #define __ARCH_WANT_SYS_PAUSE
636 #define __ARCH_WANT_SYS_SGETMASK
637 #define __ARCH_WANT_SYS_SIGNAL
638 #define __ARCH_WANT_SYS_UTIME
639 #define __ARCH_WANT_SYS_WAITPID
640 #define __ARCH_WANT_SYS_SOCKETCALL
641 #define __ARCH_WANT_SYS_FADVISE64
642 #define __ARCH_WANT_SYS_GETPGRP
643 #define __ARCH_WANT_SYS_LLSEEK
644 #define __ARCH_WANT_SYS_NICE
645 #define __ARCH_WANT_SYS_OLD_GETRLIMIT
646 #define __ARCH_WANT_SYS_OLDUMOUNT
647 #define __ARCH_WANT_SYS_SIGPENDING
648 #define __ARCH_WANT_SYS_SIGPROCMASK
649 #define __ARCH_WANT_SYS_RT_SIGACTION
650 #define __ARCH_WANT_SYS_TIME
651 #define __ARCH_WANT_COMPAT_SYS_TIME
654 #ifndef __KERNEL_SYSCALLS__
656 #define __syscall "syscall"
658 #define _syscall0(type,name) \
662 __asm__ volatile (__syscall \
664 : "0" (__NR_##name) : __syscall_clobber ); \
665 __syscall_return(type,__res); \
668 #define _syscall1(type,name,type1,arg1) \
669 type name(type1 arg1) \
672 __asm__ volatile (__syscall \
674 : "0" (__NR_##name),"D" ((long)(arg1)) : __syscall_clobber ); \
675 __syscall_return(type,__res); \
678 #define _syscall2(type,name,type1,arg1,type2,arg2) \
679 type name(type1 arg1,type2 arg2) \
682 __asm__ volatile (__syscall \
684 : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)) : __syscall_clobber ); \
685 __syscall_return(type,__res); \
688 #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
689 type name(type1 arg1,type2 arg2,type3 arg3) \
692 __asm__ volatile (__syscall \
694 : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
695 "d" ((long)(arg3)) : __syscall_clobber); \
696 __syscall_return(type,__res); \
699 #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
700 type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
703 __asm__ volatile ("movq %5,%%r10 ;" __syscall \
705 : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
706 "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \
707 __syscall_return(type,__res); \
710 #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
712 type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
715 __asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \
717 : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
718 "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \
719 __syscall_clobber,"r8","r10" ); \
720 __syscall_return(type,__res); \
723 #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
724 type5,arg5,type6,arg6) \
725 type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \
728 __asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; movq %7,%%r9 ; " __syscall \
730 : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
731 "d" ((long)(arg3)), "g" ((long)(arg4)), "g" ((long)(arg5)), \
732 "g" ((long)(arg6)) : \
733 __syscall_clobber,"r8","r10","r9" ); \
734 __syscall_return(type,__res); \
737 #else /* __KERNEL_SYSCALLS__ */
739 #include <linux/syscalls.h>
740 #include <asm/ptrace.h>
743 * we need this inline - forking from kernel space will result
744 * in NO COPY ON WRITE (!!!), until an execve is executed. This
745 * is no problem, but for the stack. This is handled by not letting
746 * main() use the stack at all after fork(). Thus, no function
747 * calls - which means inline code for fork too, as otherwise we
748 * would use the stack upon exit from 'fork()'.
750 * Actually only pause and fork are needed inline, so that there
751 * won't be any messing with the stack from main(), but we define
754 #define __NR__exit __NR_exit
756 static inline pid_t
setsid(void)
761 static inline ssize_t
write(unsigned int fd
, char * buf
, size_t count
)
763 return sys_write(fd
, buf
, count
);
766 static inline ssize_t
read(unsigned int fd
, char * buf
, size_t count
)
768 return sys_read(fd
, buf
, count
);
771 static inline off_t
lseek(unsigned int fd
, off_t offset
, unsigned int origin
)
773 return sys_lseek(fd
, offset
, origin
);
776 static inline long dup(unsigned int fd
)
781 /* implemented in asm in arch/x86_64/kernel/entry.S */
782 extern int execve(const char *, char * const *, char * const *);
784 static inline long open(const char * filename
, int flags
, int mode
)
786 return sys_open(filename
, flags
, mode
);
789 static inline long close(unsigned int fd
)
791 return sys_close(fd
);
794 static inline pid_t
waitpid(int pid
, int * wait_stat
, int flags
)
796 return sys_wait4(pid
, wait_stat
, flags
, NULL
);
799 extern long sys_mmap(unsigned long addr
, unsigned long len
,
800 unsigned long prot
, unsigned long flags
,
801 unsigned long fd
, unsigned long off
);
803 extern int sys_modify_ldt(int func
, void *ptr
, unsigned long bytecount
);
805 asmlinkage
long sys_execve(char *name
, char **argv
, char **envp
,
806 struct pt_regs regs
);
807 asmlinkage
long sys_clone(unsigned long clone_flags
, unsigned long newsp
,
808 void *parent_tid
, void *child_tid
,
809 struct pt_regs regs
);
810 asmlinkage
long sys_fork(struct pt_regs regs
);
811 asmlinkage
long sys_vfork(struct pt_regs regs
);
812 asmlinkage
long sys_pipe(int *fildes
);
814 #endif /* __KERNEL_SYSCALLS__ */
816 #if !defined(__ASSEMBLY__) && defined(__KERNEL__)
818 #include <linux/linkage.h>
819 #include <linux/compiler.h>
820 #include <linux/types.h>
821 #include <asm/ptrace.h>
823 asmlinkage
long sys_iopl(unsigned int level
, struct pt_regs
*regs
);
824 asmlinkage
long sys_ioperm(unsigned long from
, unsigned long num
, int turn_on
);
826 asmlinkage
long sys_rt_sigaction(int sig
,
827 const struct sigaction __user
*act
,
828 struct sigaction __user
*oact
,
831 #endif /* __ASSEMBLY__ */
833 #endif /* __NO_STUBS */
836 * "Conditional" syscalls
838 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
839 * but it doesn't work on all toolchains, so we just do it by hand
841 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")