]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _ASM_X86_64_UNISTD_H_ |
2 | #define _ASM_X86_64_UNISTD_H_ | |
3 | ||
4 | #ifndef __SYSCALL | |
5 | #define __SYSCALL(a,b) | |
6 | #endif | |
7 | ||
8 | /* | |
9 | * This file contains the system call numbers. | |
10 | * | |
11 | * Note: holes are not allowed. | |
12 | */ | |
13 | ||
14 | /* at least 8 syscall per cacheline */ | |
15 | #define __NR_read 0 | |
16 | __SYSCALL(__NR_read, sys_read) | |
17 | #define __NR_write 1 | |
18 | __SYSCALL(__NR_write, sys_write) | |
19 | #define __NR_open 2 | |
20 | __SYSCALL(__NR_open, sys_open) | |
21 | #define __NR_close 3 | |
22 | __SYSCALL(__NR_close, sys_close) | |
23 | #define __NR_stat 4 | |
24 | __SYSCALL(__NR_stat, sys_newstat) | |
25 | #define __NR_fstat 5 | |
26 | __SYSCALL(__NR_fstat, sys_newfstat) | |
27 | #define __NR_lstat 6 | |
28 | __SYSCALL(__NR_lstat, sys_newlstat) | |
29 | #define __NR_poll 7 | |
30 | __SYSCALL(__NR_poll, sys_poll) | |
31 | ||
32 | #define __NR_lseek 8 | |
33 | __SYSCALL(__NR_lseek, sys_lseek) | |
34 | #define __NR_mmap 9 | |
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) | |
40 | #define __NR_brk 12 | |
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) | |
48 | ||
49 | #define __NR_ioctl 16 | |
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) | |
55 | #define __NR_readv 19 | |
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) | |
61 | #define __NR_pipe 22 | |
62 | __SYSCALL(__NR_pipe, sys_pipe) | |
63 | #define __NR_select 23 | |
64 | __SYSCALL(__NR_select, sys_select) | |
65 | ||
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) | |
70 | #define __NR_msync 26 | |
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) | |
78 | #define __NR_shmat 30 | |
7d87e14c | 79 | __SYSCALL(__NR_shmat, sys_shmat) |
1da177e4 LT |
80 | #define __NR_shmctl 31 |
81 | __SYSCALL(__NR_shmctl, sys_shmctl) | |
82 | ||
83 | #define __NR_dup 32 | |
84 | __SYSCALL(__NR_dup, sys_dup) | |
85 | #define __NR_dup2 33 | |
86 | __SYSCALL(__NR_dup2, sys_dup2) | |
87 | #define __NR_pause 34 | |
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) | |
93 | #define __NR_alarm 37 | |
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) | |
99 | ||
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) | |
116 | ||
117 | #define __NR_shutdown 48 | |
118 | __SYSCALL(__NR_shutdown, sys_shutdown) | |
119 | #define __NR_bind 49 | |
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) | |
133 | ||
134 | #define __NR_clone 56 | |
135 | __SYSCALL(__NR_clone, stub_clone) | |
136 | #define __NR_fork 57 | |
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) | |
142 | #define __NR_exit 60 | |
143 | __SYSCALL(__NR_exit, sys_exit) | |
144 | #define __NR_wait4 61 | |
145 | __SYSCALL(__NR_wait4, sys_wait4) | |
146 | #define __NR_kill 62 | |
147 | __SYSCALL(__NR_kill, sys_kill) | |
148 | #define __NR_uname 63 | |
149 | __SYSCALL(__NR_uname, sys_uname) | |
150 | ||
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) | |
167 | ||
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) | |
184 | ||
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) | |
197 | #define __NR_link 86 | |
198 | __SYSCALL(__NR_link, sys_link) | |
199 | #define __NR_unlink 87 | |
200 | __SYSCALL(__NR_unlink, sys_unlink) | |
201 | ||
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) | |
218 | ||
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) | |
235 | ||
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) | |
253 | ||
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) | |
270 | ||
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) | |
285 | ||
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) | |
300 | ||
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) | |
306 | ||
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) | |
315 | ||
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) | |
334 | ||
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) | |
343 | ||
344 | #define __NR_vhangup 153 | |
345 | __SYSCALL(__NR_vhangup, sys_vhangup) | |
346 | ||
347 | #define __NR_modify_ldt 154 | |
348 | __SYSCALL(__NR_modify_ldt, sys_modify_ldt) | |
349 | ||
350 | #define __NR_pivot_root 155 | |
351 | __SYSCALL(__NR_pivot_root, sys_pivot_root) | |
352 | ||
353 | #define __NR__sysctl 156 | |
354 | __SYSCALL(__NR__sysctl, sys_sysctl) | |
355 | ||
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) | |
360 | ||
361 | #define __NR_adjtimex 159 | |
362 | __SYSCALL(__NR_adjtimex, sys_adjtimex) | |
363 | ||
364 | #define __NR_setrlimit 160 | |
365 | __SYSCALL(__NR_setrlimit, sys_setrlimit) | |
366 | ||
367 | #define __NR_chroot 161 | |
368 | __SYSCALL(__NR_chroot, sys_chroot) | |
369 | ||
370 | #define __NR_sync 162 | |
371 | __SYSCALL(__NR_sync, sys_sync) | |
372 | ||
373 | #define __NR_acct 163 | |
374 | __SYSCALL(__NR_acct, sys_acct) | |
375 | ||
376 | #define __NR_settimeofday 164 | |
377 | __SYSCALL(__NR_settimeofday, sys_settimeofday) | |
378 | ||
379 | #define __NR_mount 165 | |
380 | __SYSCALL(__NR_mount, sys_mount) | |
381 | #define __NR_umount2 166 | |
382 | __SYSCALL(__NR_umount2, sys_umount) | |
383 | ||
384 | #define __NR_swapon 167 | |
385 | __SYSCALL(__NR_swapon, sys_swapon) | |
386 | #define __NR_swapoff 168 | |
387 | __SYSCALL(__NR_swapoff, sys_swapoff) | |
388 | ||
389 | #define __NR_reboot 169 | |
390 | __SYSCALL(__NR_reboot, sys_reboot) | |
391 | ||
392 | #define __NR_sethostname 170 | |
393 | __SYSCALL(__NR_sethostname, sys_sethostname) | |
394 | #define __NR_setdomainname 171 | |
395 | __SYSCALL(__NR_setdomainname, sys_setdomainname) | |
396 | ||
397 | #define __NR_iopl 172 | |
398 | __SYSCALL(__NR_iopl, stub_iopl) | |
399 | #define __NR_ioperm 173 | |
400 | __SYSCALL(__NR_ioperm, sys_ioperm) | |
401 | ||
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) | |
412 | ||
413 | #define __NR_quotactl 179 | |
414 | __SYSCALL(__NR_quotactl, sys_quotactl) | |
415 | ||
416 | #define __NR_nfsservctl 180 | |
417 | __SYSCALL(__NR_nfsservctl, sys_nfsservctl) | |
418 | ||
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) | |
423 | ||
424 | #define __NR_afs_syscall 183 /* reserved for AFS */ | |
425 | __SYSCALL(__NR_afs_syscall, sys_ni_syscall) | |
426 | ||
427 | #define __NR_tuxcall 184 /* reserved for tux */ | |
428 | __SYSCALL(__NR_tuxcall, sys_ni_syscall) | |
429 | ||
430 | #define __NR_security 185 | |
431 | __SYSCALL(__NR_security, sys_ni_syscall) | |
432 | ||
433 | #define __NR_gettid 186 | |
434 | __SYSCALL(__NR_gettid, sys_gettid) | |
435 | ||
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_time64) | |
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) | |
1da177e4 LT |
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 | |
5234f5eb | 555 | __SYSCALL(__NR_kexec_load, sys_kexec_load) |
1da177e4 LT |
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) | |
22e2c507 JA |
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) | |
725b38ab RL |
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 | ||
575 | #define __NR_syscall_max __NR_inotify_rm_watch | |
1da177e4 LT |
576 | #ifndef __NO_STUBS |
577 | ||
578 | /* user-visible error numbers are in the range -1 - -4095 */ | |
579 | ||
580 | #define __syscall_clobber "r11","rcx","memory" | |
581 | ||
582 | #define __syscall_return(type, res) \ | |
583 | do { \ | |
584 | if ((unsigned long)(res) >= (unsigned long)(-127)) { \ | |
585 | errno = -(res); \ | |
586 | res = -1; \ | |
587 | } \ | |
588 | return (type) (res); \ | |
589 | } while (0) | |
590 | ||
591 | #ifdef __KERNEL__ | |
592 | #define __ARCH_WANT_OLD_READDIR | |
593 | #define __ARCH_WANT_OLD_STAT | |
594 | #define __ARCH_WANT_SYS_ALARM | |
595 | #define __ARCH_WANT_SYS_GETHOSTNAME | |
596 | #define __ARCH_WANT_SYS_PAUSE | |
597 | #define __ARCH_WANT_SYS_SGETMASK | |
598 | #define __ARCH_WANT_SYS_SIGNAL | |
599 | #define __ARCH_WANT_SYS_UTIME | |
600 | #define __ARCH_WANT_SYS_WAITPID | |
601 | #define __ARCH_WANT_SYS_SOCKETCALL | |
602 | #define __ARCH_WANT_SYS_FADVISE64 | |
603 | #define __ARCH_WANT_SYS_GETPGRP | |
604 | #define __ARCH_WANT_SYS_LLSEEK | |
605 | #define __ARCH_WANT_SYS_NICE | |
606 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT | |
607 | #define __ARCH_WANT_SYS_OLDUMOUNT | |
608 | #define __ARCH_WANT_SYS_SIGPENDING | |
609 | #define __ARCH_WANT_SYS_SIGPROCMASK | |
610 | #define __ARCH_WANT_SYS_RT_SIGACTION | |
611 | #define __ARCH_WANT_COMPAT_SYS_TIME | |
612 | #endif | |
613 | ||
614 | #ifndef __KERNEL_SYSCALLS__ | |
615 | ||
616 | #define __syscall "syscall" | |
617 | ||
618 | #define _syscall0(type,name) \ | |
619 | type name(void) \ | |
620 | { \ | |
621 | long __res; \ | |
622 | __asm__ volatile (__syscall \ | |
623 | : "=a" (__res) \ | |
624 | : "0" (__NR_##name) : __syscall_clobber ); \ | |
625 | __syscall_return(type,__res); \ | |
626 | } | |
627 | ||
628 | #define _syscall1(type,name,type1,arg1) \ | |
629 | type name(type1 arg1) \ | |
630 | { \ | |
631 | long __res; \ | |
632 | __asm__ volatile (__syscall \ | |
633 | : "=a" (__res) \ | |
634 | : "0" (__NR_##name),"D" ((long)(arg1)) : __syscall_clobber ); \ | |
635 | __syscall_return(type,__res); \ | |
636 | } | |
637 | ||
638 | #define _syscall2(type,name,type1,arg1,type2,arg2) \ | |
639 | type name(type1 arg1,type2 arg2) \ | |
640 | { \ | |
641 | long __res; \ | |
642 | __asm__ volatile (__syscall \ | |
643 | : "=a" (__res) \ | |
644 | : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)) : __syscall_clobber ); \ | |
645 | __syscall_return(type,__res); \ | |
646 | } | |
647 | ||
648 | #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ | |
649 | type name(type1 arg1,type2 arg2,type3 arg3) \ | |
650 | { \ | |
651 | long __res; \ | |
652 | __asm__ volatile (__syscall \ | |
653 | : "=a" (__res) \ | |
654 | : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \ | |
655 | "d" ((long)(arg3)) : __syscall_clobber); \ | |
656 | __syscall_return(type,__res); \ | |
657 | } | |
658 | ||
659 | #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ | |
660 | type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ | |
661 | { \ | |
662 | long __res; \ | |
663 | __asm__ volatile ("movq %5,%%r10 ;" __syscall \ | |
664 | : "=a" (__res) \ | |
665 | : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \ | |
666 | "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \ | |
667 | __syscall_return(type,__res); \ | |
668 | } | |
669 | ||
670 | #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ | |
671 | type5,arg5) \ | |
672 | type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ | |
673 | { \ | |
674 | long __res; \ | |
675 | __asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \ | |
676 | : "=a" (__res) \ | |
677 | : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \ | |
678 | "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \ | |
679 | __syscall_clobber,"r8","r10" ); \ | |
680 | __syscall_return(type,__res); \ | |
681 | } | |
682 | ||
683 | #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ | |
684 | type5,arg5,type6,arg6) \ | |
685 | type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ | |
686 | { \ | |
687 | long __res; \ | |
688 | __asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; movq %7,%%r9 ; " __syscall \ | |
689 | : "=a" (__res) \ | |
690 | : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \ | |
691 | "d" ((long)(arg3)), "g" ((long)(arg4)), "g" ((long)(arg5)), \ | |
692 | "g" ((long)(arg6)) : \ | |
693 | __syscall_clobber,"r8","r10","r9" ); \ | |
694 | __syscall_return(type,__res); \ | |
695 | } | |
696 | ||
697 | #else /* __KERNEL_SYSCALLS__ */ | |
698 | ||
699 | #include <linux/syscalls.h> | |
700 | #include <asm/ptrace.h> | |
701 | ||
702 | /* | |
703 | * we need this inline - forking from kernel space will result | |
704 | * in NO COPY ON WRITE (!!!), until an execve is executed. This | |
705 | * is no problem, but for the stack. This is handled by not letting | |
706 | * main() use the stack at all after fork(). Thus, no function | |
707 | * calls - which means inline code for fork too, as otherwise we | |
708 | * would use the stack upon exit from 'fork()'. | |
709 | * | |
710 | * Actually only pause and fork are needed inline, so that there | |
711 | * won't be any messing with the stack from main(), but we define | |
712 | * some others too. | |
713 | */ | |
714 | #define __NR__exit __NR_exit | |
715 | ||
716 | static inline pid_t setsid(void) | |
717 | { | |
718 | return sys_setsid(); | |
719 | } | |
720 | ||
721 | static inline ssize_t write(unsigned int fd, char * buf, size_t count) | |
722 | { | |
723 | return sys_write(fd, buf, count); | |
724 | } | |
725 | ||
726 | static inline ssize_t read(unsigned int fd, char * buf, size_t count) | |
727 | { | |
728 | return sys_read(fd, buf, count); | |
729 | } | |
730 | ||
731 | static inline off_t lseek(unsigned int fd, off_t offset, unsigned int origin) | |
732 | { | |
733 | return sys_lseek(fd, offset, origin); | |
734 | } | |
735 | ||
736 | static inline long dup(unsigned int fd) | |
737 | { | |
738 | return sys_dup(fd); | |
739 | } | |
740 | ||
741 | /* implemented in asm in arch/x86_64/kernel/entry.S */ | |
742 | extern int execve(const char *, char * const *, char * const *); | |
743 | ||
744 | static inline long open(const char * filename, int flags, int mode) | |
745 | { | |
746 | return sys_open(filename, flags, mode); | |
747 | } | |
748 | ||
749 | static inline long close(unsigned int fd) | |
750 | { | |
751 | return sys_close(fd); | |
752 | } | |
753 | ||
754 | static inline pid_t waitpid(int pid, int * wait_stat, int flags) | |
755 | { | |
756 | return sys_wait4(pid, wait_stat, flags, NULL); | |
757 | } | |
758 | ||
759 | extern long sys_mmap(unsigned long addr, unsigned long len, | |
760 | unsigned long prot, unsigned long flags, | |
761 | unsigned long fd, unsigned long off); | |
762 | ||
763 | extern int sys_modify_ldt(int func, void *ptr, unsigned long bytecount); | |
764 | ||
765 | asmlinkage long sys_execve(char *name, char **argv, char **envp, | |
766 | struct pt_regs regs); | |
767 | asmlinkage long sys_clone(unsigned long clone_flags, unsigned long newsp, | |
768 | void *parent_tid, void *child_tid, | |
769 | struct pt_regs regs); | |
770 | asmlinkage long sys_fork(struct pt_regs regs); | |
771 | asmlinkage long sys_vfork(struct pt_regs regs); | |
772 | asmlinkage long sys_pipe(int *fildes); | |
773 | ||
774 | #endif /* __KERNEL_SYSCALLS__ */ | |
775 | ||
776 | #if !defined(__ASSEMBLY__) && defined(__KERNEL__) | |
777 | ||
778 | #include <linux/linkage.h> | |
779 | #include <linux/compiler.h> | |
780 | #include <linux/types.h> | |
781 | #include <asm/ptrace.h> | |
782 | ||
783 | asmlinkage long sys_ptrace(long request, long pid, | |
784 | unsigned long addr, long data); | |
785 | asmlinkage long sys_iopl(unsigned int level, struct pt_regs *regs); | |
786 | asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on); | |
787 | struct sigaction; | |
788 | asmlinkage long sys_rt_sigaction(int sig, | |
789 | const struct sigaction __user *act, | |
790 | struct sigaction __user *oact, | |
791 | size_t sigsetsize); | |
792 | ||
793 | #endif /* __ASSEMBLY__ */ | |
794 | ||
795 | #endif /* __NO_STUBS */ | |
796 | ||
797 | /* | |
798 | * "Conditional" syscalls | |
799 | * | |
800 | * What we want is __attribute__((weak,alias("sys_ni_syscall"))), | |
801 | * but it doesn't work on all toolchains, so we just do it by hand | |
802 | */ | |
803 | #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") | |
804 | ||
805 | #endif |