Add missing header inclusion for Android from 1c764dbe
[fio.git] / os / os-linux-syscall.h
1 #ifndef FIO_OS_LINUX_SYSCALL_H
2 #define FIO_OS_LINUX_SYSCALL_H
3
4 #include "../arch/arch.h"
5
6 /* Linux syscalls for i386 */
7 #if defined(ARCH_X86_H)
8 #ifndef __NR_ioprio_set
9 #define __NR_ioprio_set         289
10 #define __NR_ioprio_get         290
11 #endif
12
13 #ifndef __NR_fadvise64
14 #define __NR_fadvise64          250
15 #endif
16
17 #ifndef __NR_sys_splice
18 #define __NR_sys_splice         313
19 #define __NR_sys_tee            315
20 #define __NR_sys_vmsplice       316
21 #endif
22
23 #ifndef __NR_preadv2
24 #define __NR_preadv2            378
25 #endif
26 #ifndef __NR_pwritev2
27 #define __NR_pwritev2           379
28 #endif
29
30 /* Linux syscalls for x86_64 */
31 #elif defined(ARCH_X86_64_H)
32 #ifndef __NR_ioprio_set
33 #define __NR_ioprio_set         251
34 #define __NR_ioprio_get         252
35 #endif
36
37 #ifndef __NR_fadvise64
38 #define __NR_fadvise64          221
39 #endif
40
41 #ifndef __NR_sys_splice
42 #define __NR_sys_splice         275
43 #define __NR_sys_tee            276
44 #define __NR_sys_vmsplice       278
45 #endif
46
47 #ifndef __NR_shmget
48 #define __NR_shmget              29
49 #define __NR_shmat               30
50 #define __NR_shmctl              31
51 #define __NR_shmdt               67
52 #endif
53
54 #ifndef __NR_preadv2
55 #define __NR_preadv2            327
56 #endif
57 #ifndef __NR_pwritev2
58 #define __NR_pwritev2           328
59 #endif
60
61 /* Linux syscalls for ppc */
62 #elif defined(ARCH_PPC_H)
63 #ifndef __NR_ioprio_set
64 #define __NR_ioprio_set         273
65 #define __NR_ioprio_get         274
66 #endif
67
68 #ifndef __NR_fadvise64
69 #define __NR_fadvise64          233
70 #endif
71
72 #ifndef __NR_sys_splice
73 #define __NR_sys_splice         283
74 #define __NR_sys_tee            284
75 #define __NR_sys_vmsplice       285
76 #endif
77
78 /* Linux syscalls for ia64 */
79 #elif defined(ARCH_IA64_H)
80 #ifndef __NR_ioprio_set
81 #define __NR_ioprio_set         1274
82 #define __NR_ioprio_get         1275
83 #endif
84
85 #ifndef __NR_fadvise64
86 #define __NR_fadvise64          1234
87 #endif
88
89 #ifndef __NR_sys_splice
90 #define __NR_sys_splice         1297
91 #define __NR_sys_tee            1301
92 #define __NR_sys_vmsplice       1302
93 #endif
94
95 #ifndef __NR_preadv2
96 #define __NR_preadv2            1348
97 #endif
98 #ifndef __NR_pwritev2
99 #define __NR_pwritev2           1349
100 #endif
101
102 /* Linux syscalls for alpha */
103 #elif defined(ARCH_ALPHA_H)
104 #ifndef __NR_ioprio_set
105 #define __NR_ioprio_set         442
106 #define __NR_ioprio_get         443
107 #endif
108
109 #ifndef __NR_fadvise64
110 #define __NR_fadvise64          413
111 #endif
112
113 #ifndef __NR_sys_splice
114 #define __NR_sys_splice         468
115 #define __NR_sys_tee            470
116 #define __NR_sys_vmsplice       471
117 #endif
118
119 /* Linux syscalls for s390 */
120 #elif defined(ARCH_S390_H)
121 #ifndef __NR_ioprio_set
122 #define __NR_ioprio_set         282
123 #define __NR_ioprio_get         283
124 #endif
125
126 #ifndef __NR_fadvise64
127 #define __NR_fadvise64          253
128 #endif
129
130 #ifndef __NR_sys_splice
131 #define __NR_sys_splice         306
132 #define __NR_sys_tee            308
133 #define __NR_sys_vmsplice       309
134 #endif
135
136 #ifndef __NR_preadv2
137 #define __NR_preadv2            376
138 #endif
139 #ifndef __NR_pwritev2
140 #define __NR_pwritev2           377
141 #endif
142
143 /* Linux syscalls for sparc */
144 #elif defined(ARCH_SPARC_H)
145 #ifndef __NR_ioprio_set
146 #define __NR_ioprio_set         196
147 #define __NR_ioprio_get         218
148 #endif
149
150 #ifndef __NR_fadvise64
151 #define __NR_fadvise64          209
152 #endif
153
154 #ifndef __NR_sys_splice
155 #define __NR_sys_splice         232
156 #define __NR_sys_tee            280
157 #define __NR_sys_vmsplice       25
158 #endif
159
160 #ifndef __NR_preadv2
161 #define __NR_preadv2            358
162 #endif
163 #ifndef __NR_pwritev2
164 #define __NR_pwritev2           359
165 #endif
166
167 /* Linux syscalls for sparc64 */
168 #elif defined(ARCH_SPARC64_H)
169 #ifndef __NR_ioprio_set
170 #define __NR_ioprio_set         196
171 #define __NR_ioprio_get         218
172 #endif
173
174 #ifndef __NR_fadvise64
175 #define __NR_fadvise64          209
176 #endif
177
178 #ifndef __NR_sys_splice
179 #define __NR_sys_splice         232
180 #define __NR_sys_tee            280
181 #define __NR_sys_vmsplice       25
182 #endif
183
184 #ifndef __NR_preadv2
185 #define __NR_preadv2            358
186 #endif
187 #ifndef __NR_pwritev2
188 #define __NR_pwritev2           359
189 #endif
190
191 /* Linux syscalls for arm */
192 #elif defined(ARCH_ARM_H)
193 #ifndef __NR_ioprio_set
194 #define __NR_ioprio_set         314
195 #define __NR_ioprio_get         315
196 #endif
197
198 #ifndef __NR_fadvise64
199 #define __NR_fadvise64          270
200 #endif
201
202 #ifndef __NR_sys_splice
203 #define __NR_sys_splice         340
204 #define __NR_sys_tee            342
205 #define __NR_sys_vmsplice       343
206 #endif
207
208 #ifndef __NR_preadv2
209 #define __NR_preadv2            392
210 #endif
211 #ifndef __NR_pwritev2
212 #define __NR_pwritev2           393
213 #endif
214
215 /* Linux syscalls for mips */
216 #elif defined(ARCH_MIPS64_H)
217 #ifndef __NR_ioprio_set
218 #define __NR_ioprio_set         314
219 #define __NR_ioprio_get         315
220 #endif
221
222 #ifndef __NR_fadvise64
223 #define __NR_fadvise64          215
224 #endif
225
226 #ifndef __NR_sys_splice
227 #define __NR_sys_splice         263
228 #define __NR_sys_tee            265
229 #define __NR_sys_vmsplice       266
230 #endif
231
232 /* Linux syscalls for sh */
233 #elif defined(ARCH_SH_H)
234 #ifndef __NR_ioprio_set
235 #define __NR_ioprio_set         288
236 #define __NR_ioprio_get         289
237 #endif
238
239 #ifndef __NR_fadvise64
240 #define __NR_fadvise64          250
241 #endif
242
243 #ifndef __NR_sys_splice
244 #define __NR_sys_splice         313
245 #define __NR_sys_tee            315
246 #define __NR_sys_vmsplice       316
247 #endif
248
249 /* Linux syscalls for hppa */
250 #elif defined(ARCH_HPPA_H)
251 #ifndef __NR_ioprio_set
252 #define __NR_ioprio_set         267
253 #define __NR_ioprio_get         268
254 #endif
255
256 #ifndef __NR_fadvise64
257 #define __NR_fadvise64          236
258 #endif
259
260 #ifndef __NR_sys_splice
261 #define __NR_sys_splice         291
262 #define __NR_sys_tee            293
263 #define __NR_sys_vmsplice       294
264 #endif
265
266 /* Linux syscalls for aarch64 */
267 #elif defined(ARCH_AARCH64_H)
268 #ifndef __NR_ioprio_set
269 #define __NR_ioprio_set         30
270 #define __NR_ioprio_get         31
271 #endif
272
273 #else
274 #warning "Unknown architecture"
275 #endif
276
277 #endif /* FIO_OS_LINUX_SYSCALL_H */