1
2/*--------------------------------------------------------------------*/
3/*--- System call numbers for s390x-linux.                         ---*/
4/*---                                     vki-scnums-s390x-linux.h ---*/
5/*--------------------------------------------------------------------*/
6
7/*
8   This file is part of Valgrind, a dynamic binary instrumentation
9   framework.
10
11   Copyright IBM Corp. 2010-2015
12
13   This program is free software; you can redistribute it and/or
14   modify it under the terms of the GNU General Public License as
15   published by the Free Software Foundation; either version 2 of the
16   License, or (at your option) any later version.
17
18   This program is distributed in the hope that it will be useful, but
19   WITHOUT ANY WARRANTY; without even the implied warranty of
20   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21   General Public License for more details.
22
23   You should have received a copy of the GNU General Public License
24   along with this program; if not, write to the Free Software
25   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
26   02111-1307, USA.
27
28   The GNU General Public License is contained in the file COPYING.
29*/
30
31/* Contributed by Florian Krohm and Christian Borntraeger. */
32
33#ifndef __VKI_SCNUMS_S390X_LINUX_H
34#define __VKI_SCNUMS_S390X_LINUX_H
35
36//----------------------------------------------------------------------
37// From linux-3.16/arch/s390/include/uapi/asm/unistd.h
38//----------------------------------------------------------------------
39
40/*
41 * This file contains the system call numbers.
42 */
43
44#define __NR_exit                 1
45#define __NR_fork                 2
46#define __NR_read                 3
47#define __NR_write                4
48#define __NR_open                 5
49#define __NR_close                6
50#define __NR_restart_syscall	  7
51#define __NR_creat                8
52#define __NR_link                 9
53#define __NR_unlink              10
54#define __NR_execve              11
55#define __NR_chdir               12
56#define __NR_mknod               14
57#define __NR_chmod               15
58#define __NR_lseek               19
59#define __NR_getpid              20
60#define __NR_mount               21
61#define __NR_umount              22
62#define __NR_ptrace              26
63#define __NR_alarm               27
64#define __NR_pause               29
65#define __NR_utime               30
66#define __NR_access              33
67#define __NR_nice                34
68#define __NR_sync                36
69#define __NR_kill                37
70#define __NR_rename              38
71#define __NR_mkdir               39
72#define __NR_rmdir               40
73#define __NR_dup                 41
74#define __NR_pipe                42
75#define __NR_times               43
76#define __NR_brk                 45
77#define __NR_signal              48
78#define __NR_acct                51
79#define __NR_umount2             52
80#define __NR_ioctl               54
81#define __NR_fcntl               55
82#define __NR_setpgid             57
83#define __NR_umask               60
84#define __NR_chroot              61
85#define __NR_ustat               62
86#define __NR_dup2                63
87#define __NR_getppid             64
88#define __NR_getpgrp             65
89#define __NR_setsid              66
90#define __NR_sigaction           67
91#define __NR_sigsuspend          72
92#define __NR_sigpending          73
93#define __NR_sethostname         74
94#define __NR_setrlimit           75
95#define __NR_getrusage           77
96#define __NR_gettimeofday        78
97#define __NR_settimeofday        79
98#define __NR_symlink             83
99#define __NR_readlink            85
100#define __NR_uselib              86
101#define __NR_swapon              87
102#define __NR_reboot              88
103#define __NR_readdir             89
104#define __NR_mmap                90
105#define __NR_munmap              91
106#define __NR_truncate            92
107#define __NR_ftruncate           93
108#define __NR_fchmod              94
109#define __NR_getpriority         96
110#define __NR_setpriority         97
111#define __NR_statfs              99
112#define __NR_fstatfs            100
113#define __NR_socketcall         102
114#define __NR_syslog             103
115#define __NR_setitimer          104
116#define __NR_getitimer          105
117#define __NR_stat               106
118#define __NR_lstat              107
119#define __NR_fstat              108
120#define __NR_lookup_dcookie     110
121#define __NR_vhangup            111
122#define __NR_idle               112
123#define __NR_wait4              114
124#define __NR_swapoff            115
125#define __NR_sysinfo            116
126#define __NR_ipc                117
127#define __NR_fsync              118
128#define __NR_sigreturn          119
129#define __NR_clone              120
130#define __NR_setdomainname      121
131#define __NR_uname              122
132#define __NR_adjtimex           124
133#define __NR_mprotect           125
134#define __NR_sigprocmask        126
135#define __NR_create_module      127
136#define __NR_init_module        128
137#define __NR_delete_module      129
138#define __NR_get_kernel_syms    130
139#define __NR_quotactl           131
140#define __NR_getpgid            132
141#define __NR_fchdir             133
142#define __NR_bdflush            134
143#define __NR_sysfs              135
144#define __NR_personality        136
145#define __NR_afs_syscall        137 /* Syscall for Andrew File System */
146#define __NR_getdents           141
147#define __NR_flock              143
148#define __NR_msync              144
149#define __NR_readv              145
150#define __NR_writev             146
151#define __NR_getsid             147
152#define __NR_fdatasync          148
153#define __NR__sysctl            149
154#define __NR_mlock              150
155#define __NR_munlock            151
156#define __NR_mlockall           152
157#define __NR_munlockall         153
158#define __NR_sched_setparam             154
159#define __NR_sched_getparam             155
160#define __NR_sched_setscheduler         156
161#define __NR_sched_getscheduler         157
162#define __NR_sched_yield                158
163#define __NR_sched_get_priority_max     159
164#define __NR_sched_get_priority_min     160
165#define __NR_sched_rr_get_interval      161
166#define __NR_nanosleep          162
167#define __NR_mremap             163
168#define __NR_query_module       167
169#define __NR_poll               168
170#define __NR_nfsservctl         169
171#define __NR_prctl              172
172#define __NR_rt_sigreturn       173
173#define __NR_rt_sigaction       174
174#define __NR_rt_sigprocmask     175
175#define __NR_rt_sigpending      176
176#define __NR_rt_sigtimedwait    177
177#define __NR_rt_sigqueueinfo    178
178#define __NR_rt_sigsuspend      179
179#define __NR_pread64            180
180#define __NR_pwrite64           181
181#define __NR_getcwd             183
182#define __NR_capget             184
183#define __NR_capset             185
184#define __NR_sigaltstack        186
185#define __NR_sendfile           187
186#define __NR_getpmsg		188
187#define __NR_putpmsg		189
188#define __NR_vfork		190
189#define __NR_pivot_root         217
190#define __NR_mincore            218
191#define __NR_madvise            219
192#define __NR_getdents64		220
193#define __NR_readahead		222
194#define __NR_setxattr		224
195#define __NR_lsetxattr		225
196#define __NR_fsetxattr		226
197#define __NR_getxattr		227
198#define __NR_lgetxattr		228
199#define __NR_fgetxattr		229
200#define __NR_listxattr		230
201#define __NR_llistxattr		231
202#define __NR_flistxattr		232
203#define __NR_removexattr	233
204#define __NR_lremovexattr	234
205#define __NR_fremovexattr	235
206#define __NR_gettid		236
207#define __NR_tkill		237
208#define __NR_futex		238
209#define __NR_sched_setaffinity	239
210#define __NR_sched_getaffinity	240
211#define __NR_tgkill		241
212/* Number 242 is reserved for tux */
213#define __NR_io_setup		243
214#define __NR_io_destroy		244
215#define __NR_io_getevents	245
216#define __NR_io_submit		246
217#define __NR_io_cancel		247
218#define __NR_exit_group		248
219#define __NR_epoll_create	249
220#define __NR_epoll_ctl		250
221#define __NR_epoll_wait		251
222#define __NR_set_tid_address	252
223#define __NR_fadvise64		253
224#define __NR_timer_create	254
225#define __NR_timer_settime	(__NR_timer_create+1)
226#define __NR_timer_gettime	(__NR_timer_create+2)
227#define __NR_timer_getoverrun	(__NR_timer_create+3)
228#define __NR_timer_delete	(__NR_timer_create+4)
229#define __NR_clock_settime	(__NR_timer_create+5)
230#define __NR_clock_gettime	(__NR_timer_create+6)
231#define __NR_clock_getres	(__NR_timer_create+7)
232#define __NR_clock_nanosleep	(__NR_timer_create+8)
233/* Number 263 is reserved for vserver */
234#define __NR_statfs64		265
235#define __NR_fstatfs64		266
236#define __NR_remap_file_pages	267
237/* Number 268 is reserved for new sys_mbind */
238/* Number 269 is reserved for new sys_get_mempolicy */
239/* Number 270 is reserved for new sys_set_mempolicy */
240#define __NR_mq_open		271
241#define __NR_mq_unlink		272
242#define __NR_mq_timedsend	273
243#define __NR_mq_timedreceive	274
244#define __NR_mq_notify		275
245#define __NR_mq_getsetattr	276
246#define __NR_kexec_load		277
247#define __NR_add_key		278
248#define __NR_request_key	279
249#define __NR_keyctl		280
250#define __NR_waitid		281
251#define __NR_ioprio_set		282
252#define __NR_ioprio_get		283
253#define __NR_inotify_init	284
254#define __NR_inotify_add_watch	285
255#define __NR_inotify_rm_watch	286
256/* Number 287 is reserved for new sys_migrate_pages */
257#define __NR_openat		288
258#define __NR_mkdirat		289
259#define __NR_mknodat		290
260#define __NR_fchownat		291
261#define __NR_futimesat		292
262#define __NR_unlinkat		294
263#define __NR_renameat		295
264#define __NR_linkat		296
265#define __NR_symlinkat		297
266#define __NR_readlinkat		298
267#define __NR_fchmodat		299
268#define __NR_faccessat		300
269#define __NR_pselect6		301
270#define __NR_ppoll		302
271#define __NR_unshare		303
272#define __NR_set_robust_list	304
273#define __NR_get_robust_list	305
274#define __NR_splice		306
275#define __NR_sync_file_range	307
276#define __NR_tee		308
277#define __NR_vmsplice		309
278/* Number 310 is reserved for new sys_move_pages */
279#define __NR_getcpu		311
280#define __NR_epoll_pwait	312
281#define __NR_utimes		313
282#define __NR_fallocate		314
283#define __NR_utimensat		315
284#define __NR_signalfd		316
285#define __NR_timerfd		317
286#define __NR_eventfd		318
287#define __NR_timerfd_create	319
288#define __NR_timerfd_settime	320
289#define __NR_timerfd_gettime	321
290#define __NR_signalfd4		322
291#define __NR_eventfd2		323
292#define __NR_inotify_init1	324
293#define __NR_pipe2		325
294#define __NR_dup3		326
295#define __NR_epoll_create1	327
296#define	__NR_preadv		328
297#define	__NR_pwritev		329
298#define __NR_rt_tgsigqueueinfo	330
299#define __NR_perf_event_open	331
300#define __NR_fanotify_init	332
301#define __NR_fanotify_mark	333
302#define __NR_prlimit64		334
303#define __NR_name_to_handle_at	335
304#define __NR_open_by_handle_at	336
305#define __NR_clock_adjtime	337
306#define __NR_syncfs		338
307#define __NR_setns		339
308#define __NR_process_vm_readv	340
309#define __NR_process_vm_writev	341
310#define __NR_s390_runtime_instr 342
311#define __NR_kcmp		343
312#define __NR_finit_module	344
313#define __NR_sched_setattr	345
314#define __NR_sched_getattr	346
315#define __NR_renameat2		347
316#define __NR_seccomp		348
317#define __NR_getrandom		349
318#define __NR_memfd_create	350
319#define NR_syscalls 351
320
321/*
322 * There are some system calls that are not present on 64 bit, some
323 * have a different name although they do the same (e.g. __NR_chown32
324 * is __NR_chown on 64 bit).
325 */
326#ifdef VGA_s390x
327
328#define __NR_select		142
329#define __NR_getrlimit		191	/* SuS compliant getrlimit */
330#define __NR_lchown  		198
331#define __NR_getuid  		199
332#define __NR_getgid  		200
333#define __NR_geteuid  		201
334#define __NR_getegid  		202
335#define __NR_setreuid  		203
336#define __NR_setregid  		204
337#define __NR_getgroups  	205
338#define __NR_setgroups  	206
339#define __NR_fchown  		207
340#define __NR_setresuid  	208
341#define __NR_getresuid  	209
342#define __NR_setresgid  	210
343#define __NR_getresgid  	211
344#define __NR_chown  		212
345#define __NR_setuid  		213
346#define __NR_setgid  		214
347#define __NR_setfsuid  		215
348#define __NR_setfsgid  		216
349#define __NR_newfstatat		293
350
351#endif
352
353#endif /* __VKI_SCNUMS_S390X_LINUX_H */
354
355/*--------------------------------------------------------------------*/
356/*--- end                                                          ---*/
357/*--------------------------------------------------------------------*/
358