Home | History | Annotate | Download | only in os
      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 x86 */
      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 */
    278