1
2/*--------------------------------------------------------------------*/
3/*--- System call numbers for x86-linux.                           ---*/
4/*---                                       vki-scnums-x86-linux.h ---*/
5/*--------------------------------------------------------------------*/
6
7/*
8   This file is part of Valgrind, a dynamic binary instrumentation
9   framework.
10
11   Copyright (C) 2000-2017 Julian Seward
12      jseward@acm.org
13
14   This program is free software; you can redistribute it and/or
15   modify it under the terms of the GNU General Public License as
16   published by the Free Software Foundation; either version 2 of the
17   License, or (at your option) any later version.
18
19   This program is distributed in the hope that it will be useful, but
20   WITHOUT ANY WARRANTY; without even the implied warranty of
21   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22   General Public License for more details.
23
24   You should have received a copy of the GNU General Public License
25   along with this program; if not, write to the Free Software
26   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
27   02111-1307, USA.
28
29   The GNU General Public License is contained in the file COPYING.
30*/
31
32#ifndef __VKI_SCNUMS_X86_LINUX_H
33#define __VKI_SCNUMS_X86_LINUX_H
34
35// Derived from linux-2.6/arch/x86/syscalls/syscall_32.tbl
36
37#define __NR_restart_syscall      0
38#define __NR_exit		  1
39#define __NR_fork		  2
40#define __NR_read		  3
41#define __NR_write		  4
42#define __NR_open		  5
43#define __NR_close		  6
44#define __NR_waitpid		  7
45#define __NR_creat		  8
46#define __NR_link		  9
47#define __NR_unlink		 10
48#define __NR_execve		 11
49#define __NR_chdir		 12
50#define __NR_time		 13
51#define __NR_mknod		 14
52#define __NR_chmod		 15
53#define __NR_lchown		 16
54#define __NR_break		 17
55#define __NR_oldstat		 18
56#define __NR_lseek		 19
57#define __NR_getpid		 20
58#define __NR_mount		 21
59#define __NR_umount		 22
60#define __NR_setuid		 23
61#define __NR_getuid		 24
62#define __NR_stime		 25
63#define __NR_ptrace		 26
64#define __NR_alarm		 27
65#define __NR_oldfstat		 28
66#define __NR_pause		 29
67#define __NR_utime		 30
68#define __NR_stty		 31
69#define __NR_gtty		 32
70#define __NR_access		 33
71#define __NR_nice		 34
72#define __NR_ftime		 35
73#define __NR_sync		 36
74#define __NR_kill		 37
75#define __NR_rename		 38
76#define __NR_mkdir		 39
77#define __NR_rmdir		 40
78#define __NR_dup		 41
79#define __NR_pipe		 42
80#define __NR_times		 43
81#define __NR_prof		 44
82#define __NR_brk		 45
83#define __NR_setgid		 46
84#define __NR_getgid		 47
85#define __NR_signal		 48
86#define __NR_geteuid		 49
87#define __NR_getegid		 50
88#define __NR_acct		 51
89#define __NR_umount2		 52
90#define __NR_lock		 53
91#define __NR_ioctl		 54
92#define __NR_fcntl		 55
93#define __NR_mpx		 56
94#define __NR_setpgid		 57
95#define __NR_ulimit		 58
96#define __NR_oldolduname	 59
97#define __NR_umask		 60
98#define __NR_chroot		 61
99#define __NR_ustat		 62
100#define __NR_dup2		 63
101#define __NR_getppid		 64
102#define __NR_getpgrp		 65
103#define __NR_setsid		 66
104#define __NR_sigaction		 67
105#define __NR_sgetmask		 68
106#define __NR_ssetmask		 69
107#define __NR_setreuid		 70
108#define __NR_setregid		 71
109#define __NR_sigsuspend		 72
110#define __NR_sigpending		 73
111#define __NR_sethostname	 74
112#define __NR_setrlimit		 75
113#define __NR_getrlimit		 76	/* Back compatible 2Gig limited rlimit */
114#define __NR_getrusage		 77
115#define __NR_gettimeofday	 78
116#define __NR_settimeofday	 79
117#define __NR_getgroups		 80
118#define __NR_setgroups		 81
119#define __NR_select		 82
120#define __NR_symlink		 83
121#define __NR_oldlstat		 84
122#define __NR_readlink		 85
123#define __NR_uselib		 86
124#define __NR_swapon		 87
125#define __NR_reboot		 88
126#define __NR_readdir		 89
127#define __NR_mmap		 90
128#define __NR_munmap		 91
129#define __NR_truncate		 92
130#define __NR_ftruncate		 93
131#define __NR_fchmod		 94
132#define __NR_fchown		 95
133#define __NR_getpriority	 96
134#define __NR_setpriority	 97
135#define __NR_profil		 98
136#define __NR_statfs		 99
137#define __NR_fstatfs		100
138#define __NR_ioperm		101
139#define __NR_socketcall		102
140#define __NR_syslog		103
141#define __NR_setitimer		104
142#define __NR_getitimer		105
143#define __NR_stat		106
144#define __NR_lstat		107
145#define __NR_fstat		108
146#define __NR_olduname		109
147#define __NR_iopl		110
148#define __NR_vhangup		111
149#define __NR_idle		112
150#define __NR_vm86old		113
151#define __NR_wait4		114
152#define __NR_swapoff		115
153#define __NR_sysinfo		116
154#define __NR_ipc		117
155#define __NR_fsync		118
156#define __NR_sigreturn		119
157#define __NR_clone		120
158#define __NR_setdomainname	121
159#define __NR_uname		122
160#define __NR_modify_ldt		123
161#define __NR_adjtimex		124
162#define __NR_mprotect		125
163#define __NR_sigprocmask	126
164#define __NR_create_module	127
165#define __NR_init_module	128
166#define __NR_delete_module	129
167#define __NR_get_kernel_syms	130
168#define __NR_quotactl		131
169#define __NR_getpgid		132
170#define __NR_fchdir		133
171#define __NR_bdflush		134
172#define __NR_sysfs		135
173#define __NR_personality	136
174#define __NR_afs_syscall	137 /* Syscall for Andrew File System */
175#define __NR_setfsuid		138
176#define __NR_setfsgid		139
177#define __NR__llseek		140
178#define __NR_getdents		141
179#define __NR__newselect		142
180#define __NR_flock		143
181#define __NR_msync		144
182#define __NR_readv		145
183#define __NR_writev		146
184#define __NR_getsid		147
185#define __NR_fdatasync		148
186#define __NR__sysctl		149
187#define __NR_mlock		150
188#define __NR_munlock		151
189#define __NR_mlockall		152
190#define __NR_munlockall		153
191#define __NR_sched_setparam		154
192#define __NR_sched_getparam		155
193#define __NR_sched_setscheduler		156
194#define __NR_sched_getscheduler		157
195#define __NR_sched_yield		158
196#define __NR_sched_get_priority_max	159
197#define __NR_sched_get_priority_min	160
198#define __NR_sched_rr_get_interval	161
199#define __NR_nanosleep		162
200#define __NR_mremap		163
201#define __NR_setresuid		164
202#define __NR_getresuid		165
203#define __NR_vm86		166
204#define __NR_query_module	167
205#define __NR_poll		168
206#define __NR_nfsservctl		169
207#define __NR_setresgid		170
208#define __NR_getresgid		171
209#define __NR_prctl              172
210#define __NR_rt_sigreturn	173
211#define __NR_rt_sigaction	174
212#define __NR_rt_sigprocmask	175
213#define __NR_rt_sigpending	176
214#define __NR_rt_sigtimedwait	177
215#define __NR_rt_sigqueueinfo	178
216#define __NR_rt_sigsuspend	179
217#define __NR_pread64		180
218#define __NR_pwrite64		181
219#define __NR_chown		182
220#define __NR_getcwd		183
221#define __NR_capget		184
222#define __NR_capset		185
223#define __NR_sigaltstack	186
224#define __NR_sendfile		187
225#define __NR_getpmsg		188	/* some people actually want streams */
226#define __NR_putpmsg		189	/* some people actually want streams */
227#define __NR_vfork		190
228#define __NR_ugetrlimit		191	/* SuS compliant getrlimit */
229#define __NR_mmap2		192
230#define __NR_truncate64		193
231#define __NR_ftruncate64	194
232#define __NR_stat64		195
233#define __NR_lstat64		196
234#define __NR_fstat64		197
235#define __NR_lchown32		198
236#define __NR_getuid32		199
237#define __NR_getgid32		200
238#define __NR_geteuid32		201
239#define __NR_getegid32		202
240#define __NR_setreuid32		203
241#define __NR_setregid32		204
242#define __NR_getgroups32	205
243#define __NR_setgroups32	206
244#define __NR_fchown32		207
245#define __NR_setresuid32	208
246#define __NR_getresuid32	209
247#define __NR_setresgid32	210
248#define __NR_getresgid32	211
249#define __NR_chown32		212
250#define __NR_setuid32		213
251#define __NR_setgid32		214
252#define __NR_setfsuid32		215
253#define __NR_setfsgid32		216
254#define __NR_pivot_root		217
255#define __NR_mincore		218
256#define __NR_madvise		219
257#define __NR_madvise1		219	/* delete when C lib stub is removed */
258#define __NR_getdents64		220
259#define __NR_fcntl64		221
260/* 223 is unused */
261#define __NR_gettid		224
262#define __NR_readahead		225
263#define __NR_setxattr		226
264#define __NR_lsetxattr		227
265#define __NR_fsetxattr		228
266#define __NR_getxattr		229
267#define __NR_lgetxattr		230
268#define __NR_fgetxattr		231
269#define __NR_listxattr		232
270#define __NR_llistxattr		233
271#define __NR_flistxattr		234
272#define __NR_removexattr	235
273#define __NR_lremovexattr	236
274#define __NR_fremovexattr	237
275#define __NR_tkill		238
276#define __NR_sendfile64		239
277#define __NR_futex		240
278#define __NR_sched_setaffinity	241
279#define __NR_sched_getaffinity	242
280#define __NR_set_thread_area	243
281#define __NR_get_thread_area	244
282#define __NR_io_setup		245
283#define __NR_io_destroy		246
284#define __NR_io_getevents	247
285#define __NR_io_submit		248
286#define __NR_io_cancel		249
287#define __NR_fadvise64		250
288#define __NR_set_zone_reclaim	251
289#define __NR_exit_group		252
290#define __NR_lookup_dcookie	253
291#define __NR_epoll_create	254
292#define __NR_epoll_ctl		255
293#define __NR_epoll_wait		256
294#define __NR_remap_file_pages	257
295#define __NR_set_tid_address	258
296#define __NR_timer_create	259
297#define __NR_timer_settime	(__NR_timer_create+1)
298#define __NR_timer_gettime	(__NR_timer_create+2)
299#define __NR_timer_getoverrun	(__NR_timer_create+3)
300#define __NR_timer_delete	(__NR_timer_create+4)
301#define __NR_clock_settime	(__NR_timer_create+5)
302#define __NR_clock_gettime	(__NR_timer_create+6)
303#define __NR_clock_getres	(__NR_timer_create+7)
304#define __NR_clock_nanosleep	(__NR_timer_create+8)
305#define __NR_statfs64		268
306#define __NR_fstatfs64		269
307#define __NR_tgkill		270
308#define __NR_utimes		271
309#define __NR_fadvise64_64	272
310#define __NR_vserver		273
311#define __NR_mbind		274
312#define __NR_get_mempolicy	275
313#define __NR_set_mempolicy	276
314#define __NR_mq_open 		277
315#define __NR_mq_unlink		(__NR_mq_open+1)
316#define __NR_mq_timedsend	(__NR_mq_open+2)
317#define __NR_mq_timedreceive	(__NR_mq_open+3)
318#define __NR_mq_notify		(__NR_mq_open+4)
319#define __NR_mq_getsetattr	(__NR_mq_open+5)
320#define __NR_sys_kexec_load	283
321#define __NR_waitid		284
322/* #define __NR_sys_setaltroot	285 */
323#define __NR_add_key		286
324#define __NR_request_key	287
325#define __NR_keyctl		288
326#define __NR_ioprio_set		289
327#define __NR_ioprio_get		290
328#define __NR_inotify_init	291
329#define __NR_inotify_add_watch	292
330#define __NR_inotify_rm_watch	293
331#define __NR_migrate_pages	294
332#define __NR_openat		295
333#define __NR_mkdirat		296
334#define __NR_mknodat		297
335#define __NR_fchownat		298
336#define __NR_futimesat		299
337#define __NR_fstatat64		300
338#define __NR_unlinkat		301
339#define __NR_renameat		302
340#define __NR_linkat		303
341#define __NR_symlinkat		304
342#define __NR_readlinkat		305
343#define __NR_fchmodat		306
344#define __NR_faccessat		307
345#define __NR_pselect6		308
346#define __NR_ppoll		309
347#define __NR_unshare		310
348#define __NR_set_robust_list	311
349#define __NR_get_robust_list	312
350#define __NR_splice		313
351#define __NR_sync_file_range	314
352#define __NR_tee		315
353#define __NR_vmsplice		316
354#define __NR_move_pages		317
355#define __NR_getcpu		318
356#define __NR_epoll_pwait	319
357#define __NR_utimensat		320
358#define __NR_signalfd		321
359#define __NR_timerfd_create	322
360#define __NR_eventfd		323
361#define __NR_fallocate		324
362#define __NR_timerfd_settime	325
363#define __NR_timerfd_gettime	326
364#define __NR_signalfd4          327
365#define __NR_eventfd2           328
366#define __NR_epoll_create1      329
367#define __NR_dup3               330
368#define __NR_pipe2              331
369#define __NR_inotify_init1      332
370#define __NR_preadv             333
371#define __NR_pwritev            334
372#define __NR_rt_tgsigqueueinfo  335
373#define __NR_perf_event_open	336
374#define __NR_recvmmsg		337
375#define __NR_fanotify_init	338
376#define __NR_fanotify_mark	339
377#define __NR_prlimit64		340
378#define __NR_name_to_handle_at	341
379#define __NR_open_by_handle_at  342
380#define __NR_clock_adjtime	343
381#define __NR_syncfs             344
382#define __NR_sendmmsg		345
383#define __NR_setns		346
384#define __NR_process_vm_readv   347
385#define __NR_process_vm_writev  348
386#define __NR_kcmp               349
387#define __NR_finit_module       350
388#define __NR_sched_setattr      351
389#define __NR_sched_getattr      352
390#define __NR_renameat2          353
391#define __NR_seccomp            354
392#define __NR_getrandom          355
393#define __NR_memfd_create       356
394#define __NR_bpf                357
395#define __NR_execveat           358
396#define __NR_socket             359
397#define __NR_socketpair         360
398#define __NR_bind               361
399#define __NR_connect            362
400#define __NR_listen             363
401#define __NR_accept4            364
402#define __NR_getsockopt         365
403#define __NR_setsockopt         366
404#define __NR_getsockname        367
405#define __NR_getpeername        368
406#define __NR_sendto             369
407#define __NR_sendmsg            370
408#define __NR_recvfrom           371
409#define __NR_recvmsg            372
410#define __NR_shutdown           373
411#define __NR_userfaultfd        374
412#define __NR_membarrier         375
413#define __NR_mlock2             376
414
415#endif /* __VKI_SCNUMS_X86_LINUX_H */
416
417/*--------------------------------------------------------------------*/
418/*--- end                                                          ---*/
419/*--------------------------------------------------------------------*/
420