2 /*--------------------------------------------------------------------*/
3 /*--- System call numbers for arm-linux. ---*/
4 /*--- vki-scnums-arm-linux.h ---*/
5 /*--------------------------------------------------------------------*/
8 This file is part of Valgrind, a dynamic binary instrumentation
11 Copyright (C) 2008-2017 Evan Geller
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.
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.
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
29 The GNU General Public License is contained in the file COPYING.
32 #ifndef __VKI_SCNUMS_ARM_LINUX_H
33 #define __VKI_SCNUMS_ARM_LINUX_H
35 // From linux-2.6/arch/arm/include/asm/unistd.h
37 #define __NR_restart_syscall 0
44 /* 7 was sys_waitpid */
47 #define __NR_unlink 10
48 #define __NR_execve 11
53 #define __NR_lchown 16
54 /* 17 was sys_break */
57 #define __NR_getpid 20
59 #define __NR_umount 22
60 #define __NR_setuid 23
61 #define __NR_getuid 24
63 #define __NR_ptrace 26
65 /* 28 was sys_fstat */
70 #define __NR_access 33
72 /* 35 was sys_ftime */
75 #define __NR_rename 38
83 #define __NR_setgid 46
84 #define __NR_getgid 47
85 /* 48 was sys_signal */
86 #define __NR_geteuid 49
87 #define __NR_getegid 50
89 #define __NR_umount2 52
94 #define __NR_setpgid 57
95 /* 58 was sys_ulimit */
96 /* 59 was sys_olduname */
98 #define __NR_chroot 61
101 #define __NR_getppid 64
102 #define __NR_getpgrp 65
103 #define __NR_setsid 66
104 #define __NR_sigaction 67
105 /* 68 was sys_sgetmask */
106 /* 69 was sys_ssetmask */
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 compat 2GB 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 /* 84 was sys_lstat */
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
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 /* 98 was sys_profil */
136 #define __NR_statfs 99
137 #define __NR_fstatfs 100
138 /* 101 was sys_ioperm */
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 /* 109 was sys_uname */
147 /* 110 was sys_iopl */
148 #define __NR_vhangup 111
149 /* 112 was sys_idle */
150 #define __NR_syscall 113 /* syscall to call a syscall! */
151 #define __NR_wait4 114
152 #define __NR_swapoff 115
153 #define __NR_sysinfo 116
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 /* 123 was sys_modify_ldt */
161 #define __NR_adjtimex 124
162 #define __NR_mprotect 125
163 #define __NR_sigprocmask 126
164 /* 127 was sys_create_module */
165 #define __NR_init_module 128
166 #define __NR_delete_module 129
167 /* 130 was sys_get_kernel_syms */
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 /* 137 was sys_afs_syscall */
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 /* 166 was sys_vm86 */
204 /* 167 was sys_query_module */
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
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_getdents64 217
255 #define __NR_pivot_root 218
256 #define __NR_mincore 219
257 #define __NR_madvise 220
258 #define __NR_fcntl64 221
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_io_setup 243
281 #define __NR_io_destroy 244
282 #define __NR_io_getevents 245
283 #define __NR_io_submit 246
284 #define __NR_io_cancel 247
285 #define __NR_exit_group 248
286 #define __NR_lookup_dcookie 249
287 #define __NR_epoll_create 250
288 #define __NR_epoll_ctl 251
289 #define __NR_epoll_wait 252
290 #define __NR_remap_file_pages 253
291 /* 254 for set_thread_area */
292 /* 255 for get_thread_area */
293 #define __NR_set_tid_address 256
294 #define __NR_timer_create 257
295 #define __NR_timer_settime 258
296 #define __NR_timer_gettime 259
297 #define __NR_timer_getoverrun 260
298 #define __NR_timer_delete 261
299 #define __NR_clock_settime 262
300 #define __NR_clock_gettime 263
301 #define __NR_clock_getres 264
302 #define __NR_clock_nanosleep 265
303 #define __NR_statfs64 266
304 #define __NR_fstatfs64 267
305 #define __NR_tgkill 268
306 #define __NR_utimes 269
307 #define __NR_arm_fadvise64_64 270
308 #define __NR_fadvise64 270 //Added by Johan, 2008-10-11, not sure why it's called _arm_.. otherwise.
309 #define __NR_pciconfig_iobase 271
310 #define __NR_pciconfig_read 272
311 #define __NR_pciconfig_write 273
312 #define __NR_mq_open 274
313 #define __NR_mq_unlink 275
314 #define __NR_mq_timedsend 276
315 #define __NR_mq_timedreceive 277
316 #define __NR_mq_notify 278
317 #define __NR_mq_getsetattr 279
318 #define __NR_waitid 280
319 #define __NR_socket 281
320 #define __NR_bind 282
321 #define __NR_connect 283
322 #define __NR_listen 284
323 #define __NR_accept 285
324 #define __NR_getsockname 286
325 #define __NR_getpeername 287
326 #define __NR_socketpair 288
327 #define __NR_send 289
328 #define __NR_sendto 290
329 #define __NR_recv 291
330 #define __NR_recvfrom 292
331 #define __NR_shutdown 293
332 #define __NR_setsockopt 294
333 #define __NR_getsockopt 295
334 #define __NR_sendmsg 296
335 #define __NR_recvmsg 297
336 #define __NR_semop 298
337 #define __NR_semget 299
338 #define __NR_semctl 300
339 #define __NR_msgsnd 301
340 #define __NR_msgrcv 302
341 #define __NR_msgget 303
342 #define __NR_msgctl 304
343 #define __NR_shmat 305
344 #define __NR_shmdt 306
345 #define __NR_shmget 307
346 #define __NR_shmctl 308
347 #define __NR_add_key 309
348 #define __NR_request_key 310
349 #define __NR_keyctl 311
350 #define __NR_semtimedop 312
351 #define __NR_vserver 313
352 #define __NR_ioprio_set 314
353 #define __NR_ioprio_get 315
354 #define __NR_inotify_init 316
355 #define __NR_inotify_add_watch 317
356 #define __NR_inotify_rm_watch 318
357 #define __NR_mbind 319
358 #define __NR_get_mempolicy 320
359 #define __NR_set_mempolicy 321
360 #define __NR_openat 322
361 #define __NR_mkdirat 323
362 #define __NR_mknodat 324
363 #define __NR_fchownat 325
364 #define __NR_futimesat 326
365 #define __NR_fstatat64 327
366 #define __NR_unlinkat 328
367 #define __NR_renameat 329
368 #define __NR_linkat 330
369 #define __NR_symlinkat 331
370 #define __NR_readlinkat 332
371 #define __NR_fchmodat 333
372 #define __NR_faccessat 334
373 #define __NR_pselect6 335 /* JRS 20100812: is this correct? */
374 #define __NR_ppoll 336
375 #define __NR_unshare 337
376 #define __NR_set_robust_list 338
377 #define __NR_get_robust_list 339
378 #define __NR_splice 340
379 #define __NR_arm_sync_file_range 341
380 #define __NR_sync_file_range2 __NR_arm_sync_file_range
382 #define __NR_vmsplice 343
383 #define __NR_move_pages 344
384 #define __NR_getcpu 345
385 #define __NR_epoll_pwait 346
386 #define __NR_kexec_load 347
387 #define __NR_utimensat 348
388 #define __NR_signalfd 349
389 #define __NR_timerfd_create 350
390 #define __NR_eventfd 351
391 #define __NR_fallocate 352
392 #define __NR_timerfd_settime 353
393 #define __NR_timerfd_gettime 354
394 #define __NR_signalfd4 355
395 #define __NR_eventfd2 356
396 #define __NR_epoll_create1 357
397 #define __NR_dup3 358
398 #define __NR_pipe2 359
399 #define __NR_inotify_init1 360
400 #define __NR_preadv 361
401 #define __NR_pwritev 362
402 #define __NR_rt_tgsigqueueinfo 363
403 #define __NR_perf_event_open 364
404 #define __NR_recvmmsg 365
405 #define __NR_accept4 366
406 #define __NR_fanotify_init 367
407 #define __NR_fanotify_mark 368
408 #define __NR_prlimit64 369
409 #define __NR_name_to_handle_at 370
410 #define __NR_open_by_handle_at 371
411 #define __NR_clock_adjtime 372
412 #define __NR_syncfs 373
413 #define __NR_sendmmsg 374
414 #define __NR_setns 375
415 #define __NR_process_vm_readv 376
416 #define __NR_process_vm_writev 377
417 #define __NR_kcmp 378
418 #define __NR_finit_module 379
419 #define __NR_sched_setattr 380
420 #define __NR_sched_getattr 381
421 #define __NR_renameat2 382
422 #define __NR_seccomp 383
423 #define __NR_getrandom 384
424 #define __NR_memfd_create 385
428 #define __NR_ARM_BASE (0x0f0000)
429 #define __NR_ARM_breakpoint (__NR_ARM_BASE+1)
430 #define __NR_ARM_cacheflush (__NR_ARM_BASE+2)
431 #define __NR_ARM_usr26 (__NR_ARM_BASE+3)
432 #define __NR_ARM_usr32 (__NR_ARM_BASE+4)
433 #define __NR_ARM_set_tls (__NR_ARM_BASE+5)
436 #endif /* __VKI_SCNUMS_ARM_LINUX_H */
438 /*--------------------------------------------------------------------*/
439 /*--- end vki-scnums-arm-linux.h ---*/
440 /*--------------------------------------------------------------------*/