
/*--------------------------------------------------------------------*/
/*--- System call numbers for arm-linux.                           ---*/
/*---                                       vki-scnums-arm-linux.h ---*/
/*--------------------------------------------------------------------*/

/*
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.

   Copyright (C) 2008-2015 Evan Geller
      gaze@bea.ms

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307, USA.

   The GNU General Public License is contained in the file COPYING.
*/

#ifndef __VKI_SCNUMS_ARM_LINUX_H
#define __VKI_SCNUMS_ARM_LINUX_H

// From linux-2.6/arch/arm/include/asm/unistd.h

#define __NR_restart_syscall		  0
#define __NR_exit			  1
#define __NR_fork			  2
#define __NR_read			  3
#define __NR_write			  4
#define __NR_open			  5
#define __NR_close			  6
					/* 7 was sys_waitpid */
#define __NR_creat			  8
#define __NR_link			  9
#define __NR_unlink			 10
#define __NR_execve			 11
#define __NR_chdir			 12
#define __NR_time			 13
#define __NR_mknod			 14
#define __NR_chmod			 15
#define __NR_lchown			 16
					/* 17 was sys_break */
					/* 18 was sys_stat */
#define __NR_lseek			 19
#define __NR_getpid			 20
#define __NR_mount			 21
#define __NR_umount			 22
#define __NR_setuid			 23
#define __NR_getuid			 24
#define __NR_stime			 25
#define __NR_ptrace			 26
#define __NR_alarm			 27
					/* 28 was sys_fstat */
#define __NR_pause			 29
#define __NR_utime			 30
					/* 31 was sys_stty */
					/* 32 was sys_gtty */
#define __NR_access			 33
#define __NR_nice			 34
					/* 35 was sys_ftime */
#define __NR_sync			 36
#define __NR_kill			 37
#define __NR_rename			 38
#define __NR_mkdir			 39
#define __NR_rmdir			 40
#define __NR_dup			 41
#define __NR_pipe			 42
#define __NR_times			 43
					/* 44 was sys_prof */
#define __NR_brk			 45
#define __NR_setgid			 46
#define __NR_getgid			 47
					/* 48 was sys_signal */
#define __NR_geteuid			 49
#define __NR_getegid			 50
#define __NR_acct			 51
#define __NR_umount2			 52
					/* 53 was sys_lock */
#define __NR_ioctl			 54
#define __NR_fcntl			 55
					/* 56 was sys_mpx */
#define __NR_setpgid			 57
					/* 58 was sys_ulimit */
					/* 59 was sys_olduname */
#define __NR_umask			 60
#define __NR_chroot			 61
#define __NR_ustat			 62
#define __NR_dup2			 63
#define __NR_getppid			 64
#define __NR_getpgrp			 65
#define __NR_setsid			 66
#define __NR_sigaction			 67
					/* 68 was sys_sgetmask */
					/* 69 was sys_ssetmask */
#define __NR_setreuid			 70
#define __NR_setregid			 71
#define __NR_sigsuspend			 72
#define __NR_sigpending			 73
#define __NR_sethostname		 74
#define __NR_setrlimit			 75
#define __NR_getrlimit			 76	/* Back compat 2GB limited rlimit */
#define __NR_getrusage			 77
#define __NR_gettimeofday		 78
#define __NR_settimeofday		 79
#define __NR_getgroups			 80
#define __NR_setgroups			 81
#define __NR_select			 82
#define __NR_symlink			 83
					/* 84 was sys_lstat */
#define __NR_readlink			 85
#define __NR_uselib			 86
#define __NR_swapon			 87
#define __NR_reboot			 88
#define __NR_readdir			 89
#define __NR_mmap			 90
#define __NR_munmap			 91
#define __NR_truncate			 92
#define __NR_ftruncate			 93
#define __NR_fchmod			 94
#define __NR_fchown			 95
#define __NR_getpriority		 96
#define __NR_setpriority		 97
					/* 98 was sys_profil */
#define __NR_statfs			 99
#define __NR_fstatfs			100
					/* 101 was sys_ioperm */
#define __NR_socketcall			102
#define __NR_syslog			103
#define __NR_setitimer			104
#define __NR_getitimer			105
#define __NR_stat			106
#define __NR_lstat			107
#define __NR_fstat			108
					/* 109 was sys_uname */
					/* 110 was sys_iopl */
#define __NR_vhangup			111
					/* 112 was sys_idle */
#define __NR_syscall			113 /* syscall to call a syscall! */
#define __NR_wait4			114
#define __NR_swapoff			115
#define __NR_sysinfo			116
#define __NR_ipc			117
#define __NR_fsync			118
#define __NR_sigreturn			119
#define __NR_clone			120
#define __NR_setdomainname		121
#define __NR_uname			122
					/* 123 was sys_modify_ldt */
#define __NR_adjtimex			124
#define __NR_mprotect			125
#define __NR_sigprocmask		126
					/* 127 was sys_create_module */
#define __NR_init_module		128
#define __NR_delete_module		129
					/* 130 was sys_get_kernel_syms */
#define __NR_quotactl			131
#define __NR_getpgid			132
#define __NR_fchdir			133
#define __NR_bdflush			134
#define __NR_sysfs			135
#define __NR_personality		136
					/* 137 was sys_afs_syscall */
#define __NR_setfsuid			138
#define __NR_setfsgid			139
#define __NR__llseek			140
#define __NR_getdents			141
#define __NR__newselect			142
#define __NR_flock			143
#define __NR_msync			144
#define __NR_readv			145
#define __NR_writev			146
#define __NR_getsid			147
#define __NR_fdatasync			148
#define __NR__sysctl			149
#define __NR_mlock			150
#define __NR_munlock			151
#define __NR_mlockall			152
#define __NR_munlockall			153
#define __NR_sched_setparam		154
#define __NR_sched_getparam		155
#define __NR_sched_setscheduler		156
#define __NR_sched_getscheduler		157
#define __NR_sched_yield		158
#define __NR_sched_get_priority_max	159
#define __NR_sched_get_priority_min	160
#define __NR_sched_rr_get_interval	161
#define __NR_nanosleep			162
#define __NR_mremap			163
#define __NR_setresuid			164
#define __NR_getresuid			165
					/* 166 was sys_vm86 */
					/* 167 was sys_query_module */
#define __NR_poll			168
#define __NR_nfsservctl			169
#define __NR_setresgid			170
#define __NR_getresgid			171
#define __NR_prctl			172
#define __NR_rt_sigreturn		173
#define __NR_rt_sigaction		174
#define __NR_rt_sigprocmask		175
#define __NR_rt_sigpending		176
#define __NR_rt_sigtimedwait		177
#define __NR_rt_sigqueueinfo		178
#define __NR_rt_sigsuspend		179
#define __NR_pread64			180
#define __NR_pwrite64			181
#define __NR_chown			182
#define __NR_getcwd			183
#define __NR_capget			184
#define __NR_capset			185
#define __NR_sigaltstack		186
#define __NR_sendfile			187
					/* 188 reserved */
					/* 189 reserved */
#define __NR_vfork			190
#define __NR_ugetrlimit			191	/* SuS compliant getrlimit */
#define __NR_mmap2			192
#define __NR_truncate64			193
#define __NR_ftruncate64		194
#define __NR_stat64			195
#define __NR_lstat64			196
#define __NR_fstat64			197
#define __NR_lchown32			198
#define __NR_getuid32			199
#define __NR_getgid32			200
#define __NR_geteuid32			201
#define __NR_getegid32			202
#define __NR_setreuid32			203
#define __NR_setregid32			204
#define __NR_getgroups32		205
#define __NR_setgroups32		206
#define __NR_fchown32			207
#define __NR_setresuid32		208
#define __NR_getresuid32		209
#define __NR_setresgid32		210
#define __NR_getresgid32		211
#define __NR_chown32			212
#define __NR_setuid32			213
#define __NR_setgid32			214
#define __NR_setfsuid32			215
#define __NR_setfsgid32			216
#define __NR_getdents64			217
#define __NR_pivot_root			218
#define __NR_mincore			219
#define __NR_madvise			220
#define __NR_fcntl64			221
					/* 222 for tux */
					/* 223 is unused */
#define __NR_gettid			224
#define __NR_readahead			225
#define __NR_setxattr			226
#define __NR_lsetxattr			227
#define __NR_fsetxattr			228
#define __NR_getxattr			229
#define __NR_lgetxattr			230
#define __NR_fgetxattr			231
#define __NR_listxattr			232
#define __NR_llistxattr			233
#define __NR_flistxattr			234
#define __NR_removexattr		235
#define __NR_lremovexattr		236
#define __NR_fremovexattr		237
#define __NR_tkill			238
#define __NR_sendfile64			239
#define __NR_futex			240
#define __NR_sched_setaffinity		241
#define __NR_sched_getaffinity		242
#define __NR_io_setup			243
#define __NR_io_destroy			244
#define __NR_io_getevents		245
#define __NR_io_submit			246
#define __NR_io_cancel			247
#define __NR_exit_group			248
#define __NR_lookup_dcookie		249
#define __NR_epoll_create		250
#define __NR_epoll_ctl			251
#define __NR_epoll_wait			252
#define __NR_remap_file_pages		253
					/* 254 for set_thread_area */
					/* 255 for get_thread_area */
#define __NR_set_tid_address		256
#define __NR_timer_create		257
#define __NR_timer_settime		258
#define __NR_timer_gettime		259
#define __NR_timer_getoverrun		260
#define __NR_timer_delete		261
#define __NR_clock_settime		262
#define __NR_clock_gettime		263
#define __NR_clock_getres		264
#define __NR_clock_nanosleep		265
#define __NR_statfs64			266
#define __NR_fstatfs64			267
#define __NR_tgkill			268
#define __NR_utimes			269
#define __NR_arm_fadvise64_64		270
#define __NR_fadvise64          270 //Added by Johan, 2008-10-11, not sure why it's called _arm_.. otherwise.
#define __NR_pciconfig_iobase		271
#define __NR_pciconfig_read		272
#define __NR_pciconfig_write		273
#define __NR_mq_open			274
#define __NR_mq_unlink			275
#define __NR_mq_timedsend		276
#define __NR_mq_timedreceive		277
#define __NR_mq_notify			278
#define __NR_mq_getsetattr		279
#define __NR_waitid			280
#define __NR_socket			281
#define __NR_bind			282
#define __NR_connect			283
#define __NR_listen			284
#define __NR_accept			285
#define __NR_getsockname		286
#define __NR_getpeername		287
#define __NR_socketpair			288
#define __NR_send			289
#define __NR_sendto			290
#define __NR_recv			291
#define __NR_recvfrom			292
#define __NR_shutdown			293
#define __NR_setsockopt			294
#define __NR_getsockopt			295
#define __NR_sendmsg			296
#define __NR_recvmsg			297
#define __NR_semop			298
#define __NR_semget			299
#define __NR_semctl			300
#define __NR_msgsnd			301
#define __NR_msgrcv			302
#define __NR_msgget			303
#define __NR_msgctl			304
#define __NR_shmat			305
#define __NR_shmdt			306
#define __NR_shmget			307
#define __NR_shmctl			308
#define __NR_add_key			309
#define __NR_request_key		310
#define __NR_keyctl			311
#define __NR_semtimedop			312
#define __NR_vserver			313
#define __NR_ioprio_set			314
#define __NR_ioprio_get			315
#define __NR_inotify_init		316
#define __NR_inotify_add_watch		317
#define __NR_inotify_rm_watch		318
#define __NR_mbind			319
#define __NR_get_mempolicy		320
#define __NR_set_mempolicy		321
#define __NR_openat			322
#define __NR_mkdirat			323
#define __NR_mknodat			324
#define __NR_fchownat			325
#define __NR_futimesat			326
#define __NR_fstatat64			327
#define __NR_unlinkat			328
#define __NR_renameat			329
#define __NR_linkat			330
#define __NR_symlinkat			331
#define __NR_readlinkat			332
#define __NR_fchmodat			333
#define __NR_faccessat			334
#define __NR_pselect6			335 /* JRS 20100812: is this correct? */
#define __NR_ppoll	       		336
#define __NR_unshare			337
#define __NR_set_robust_list		338
#define __NR_get_robust_list		339
#define __NR_splice			340
#define __NR_arm_sync_file_range	341
#define __NR_sync_file_range2		__NR_arm_sync_file_range
#define __NR_tee			342
#define __NR_vmsplice			343
#define __NR_move_pages			344
#define __NR_getcpu			345
#define __NR_epoll_pwait		346
#define __NR_kexec_load			347
#define __NR_utimensat			348
#define __NR_signalfd			349
#define __NR_timerfd_create		350
#define __NR_eventfd			351
#define __NR_fallocate			352
#define __NR_timerfd_settime		353
#define __NR_timerfd_gettime		354
#define __NR_signalfd4                  355
#define __NR_eventfd2                   356
#define __NR_epoll_create1              357
#define __NR_dup3                       358
#define __NR_pipe2                      359
#define __NR_inotify_init1              360
#define __NR_preadv			361
#define __NR_pwritev			362
#define __NR_rt_tgsigqueueinfo		363
#define __NR_perf_event_open		364
#define __NR_recvmmsg			365
#define __NR_accept4			366
#define __NR_fanotify_init		367
#define __NR_fanotify_mark		368
#define __NR_prlimit64			369
#define __NR_name_to_handle_at		370
#define __NR_open_by_handle_at		371
#define __NR_clock_adjtime		372
#define __NR_syncfs			373
#define __NR_sendmmsg			374
#define __NR_setns			375
#define __NR_process_vm_readv		376
#define __NR_process_vm_writev		377
#define __NR_kcmp                       378
#define __NR_finit_module               379
#define __NR_sched_setattr              380
#define __NR_sched_getattr              381
#define __NR_renameat2                  382
#define __NR_seccomp                    383
#define __NR_getrandom                  384
#define __NR_memfd_create               385



#define __NR_ARM_BASE                   (0x0f0000)
#define __NR_ARM_breakpoint             (__NR_ARM_BASE+1)
#define __NR_ARM_cacheflush             (__NR_ARM_BASE+2)
#define __NR_ARM_usr26                  (__NR_ARM_BASE+3)
#define __NR_ARM_usr32                  (__NR_ARM_BASE+4)
#define __NR_ARM_set_tls                (__NR_ARM_BASE+5)


#endif /* __VKI_SCNUMS_ARM_LINUX_H */

/*--------------------------------------------------------------------*/
/*--- end                                   vki-scnums-arm-linux.h ---*/
/*--------------------------------------------------------------------*/
