aboutsummaryrefslogtreecommitdiff
path: root/sys/linux/i386/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux/i386/syscall.h')
-rw-r--r--sys/linux/i386/syscall.h505
1 files changed, 505 insertions, 0 deletions
diff --git a/sys/linux/i386/syscall.h b/sys/linux/i386/syscall.h
new file mode 100644
index 0000000..21894bf
--- /dev/null
+++ b/sys/linux/i386/syscall.h
@@ -0,0 +1,505 @@
+#define ·RestartSysCall 0
+#define ·Exit 1
+#define ·Fork 2
+#define ·Read 3
+#define ·Write 4
+#define ·Open 5
+#define ·Close 6
+#define ·WaitPid 7
+#define ·Create 8
+#define ·Link 9
+#define ·Unlink 10
+#define ·ExecVe 11
+#define ·Chdir 12
+#define ·Time 13
+#define ·MkNod 14
+#define ·Chmod 15
+#define ·LChown 16
+#define ·Break 17
+#define ·OldStat 18
+#define ·LSeek 19
+#define ·GetPid 20
+#define ·Mount 21
+#define ·UMount 22
+#define ·SetUid 23
+#define ·GetUid 24
+#define ·STime 25
+#define ·PTrace 26
+#define ·Alarm 27
+#define ·OldFStat 28
+#define ·Pause 29
+#define ·UTime 30
+#define ·STty 31
+#define ·GTty 32
+#define ·Access 33
+#define ·Nice 34
+#define ·FTime 35
+#define ·Sync 36
+#define ·Kill 37
+#define ·Rename 38
+#define ·Mkdir 39
+#define ·Rmdir 40
+#define ·Dup 41
+#define ·Pipe 42
+#define ·Times 43
+#define ·Prof 44
+#define ·Brk 45
+#define ·SetGid 46
+#define ·GetGid 47
+#define ·Signal 48
+#define ·GetEUid 49
+#define ·GetEGid 50
+#define ·Acct 51
+#define ·UMount2 52
+#define ·Lock 53
+#define ·IoCtl 54
+#define ·FCntl 55
+#define ·MPx 56
+#define ·SetPGid 57
+#define ·ULimit 58
+#define ·OldOldUName 59
+#define ·UMask 60
+#define ·Chroot 61
+#define ·UStat 62
+#define ·Dup2 63
+#define ·GetPPid 64
+#define ·GetPGrp 65
+#define ·SetSId 66
+#define ·SigAction 67
+#define ·SGetMask 68
+#define ·SSetMask 69
+#define ·SetReUid 70
+#define ·SetReGid 71
+#define ·SigSuspend 72
+#define ·SigPending 73
+#define ·SetHostname 74
+#define ·SetRLimit 75
+#define ·GetRUsage 77
+#define ·GetTimeOfDayTime32 78
+#define ·SetTimeOfDayTime32 79
+#define ·GetGroups 80
+#define ·SetGroups 81
+#define ·Select 82
+#define ·SymLink 83
+#define ·OldLStat 84
+#define ·ReadLink 85
+#define ·UseLib 86
+#define ·SwapOn 87
+#define ·Reboot 88
+#define ·ReadDir 89
+#define ·MMap 90
+#define ·MUnmap 91
+#define ·Truncate 92
+#define ·FTruncate 93
+#define ·FChmod 94
+#define ·FChown 95
+#define ·GetPriority 96
+#define ·SetPriority 97
+#define ·ProfIl 98
+#define ·StatFs 99
+#define ·FStatFs 100
+#define ·IoPerm 101
+#define ·SocketCall 102
+#define ·SysLog 103
+#define ·SetITimer 104
+#define ·GetITimer 105
+#define ·Stat 106
+#define ·LStat 107
+#define ·FStat 108
+#define ·OldUName 109
+#define ·IoPl 110
+#define ·VHangUp 111
+#define ·Idle 112
+#define ·Vm86Old 113
+#define ·Wait4 114
+#define ·SwapOff 115
+#define ·SysInfo 116
+#define ·Ipc 117
+#define ·FSync 118
+#define ·SigReturn 119
+#define ·Clone 120
+#define ·SetDomainName 121
+#define ·UName 122
+#define ·ModifyLdT 123
+#define ·AdjTimex 124
+#define ·MProtect 125
+#define ·SigProcMask 126
+#define ·CreateModule 127
+#define ·InItModule 128
+#define ·DeleteModule 129
+#define ·GetKernelSyms 130
+#define ·QuotaCtl 131
+#define ·GetPGid 132
+#define ·FChdir 133
+#define ·BdFlush 134
+#define ·SysFs 135
+#define ·Personality 136
+#define ·AFsSysCall 137
+#define ·SetFsUid 138
+#define ·SetFsGid 139
+#define ·LlSeek 140
+#define ·GetDents 141
+#define ·NewSelect 142
+#define ·FLock 143
+#define ·MSync 144
+#define ·ReadV 145
+#define ·WriteV 146
+#define ·GetsId 147
+#define ·FdAtAsync 148
+#define ·SysCtl 149
+#define ·MLock 150
+#define ·MUnlock 151
+#define ·MLockAll 152
+#define ·MUnlockAll 153
+#define ·SchedSetParam 154
+#define ·SchedGetParam 155
+#define ·SchedSetScheduler 156
+#define ·SchedGetScheduler 157
+#define ·SchedYield 158
+#define ·SchedGetPriorityMax 159
+#define ·SchedGetPriorityMin 160
+#define ·SchedRrGetInterval 161
+#define ·NanoSleep 162
+#define ·MRemap 163
+#define ·SetResUid 164
+#define ·GetResUid 165
+#define ·Vm86 166
+#define ·QueryModule 167
+#define ·Poll 168
+#define ·NfsServCtl 169
+#define ·SetResGid 170
+#define ·GetResGid 171
+#define ·PrCtl 172
+#define ·RtSigReturn 173
+#define ·RtSigAction 174
+#define ·RtSigProcMask 175
+#define ·RtSigPending 176
+#define ·RtSigTimedWait 177
+#define ·RtSigQueueInfo 178
+#define ·RtSigSuspend 179
+#define ·PRead64 180
+#define ·PWrite64 181
+#define ·Chown 182
+#define ·GetCwd 183
+#define ·CapGet 184
+#define ·CapSet 185
+#define ·SiGaltStack 186
+#define ·SendFile 187
+#define ·GetPMsg 188
+#define ·PutPMsg 189
+#define ·VFork 190
+#define ·UGetRLimit 191
+#define ·MMap2 192
+#define ·Truncate64 193
+#define ·FTruncate64 194
+#define ·Stat64 195
+#define ·LStat64 196
+#define ·FStat64 197
+#define ·LChown32 198
+#define ·GetUid32 199
+#define ·GetGid32 200
+#define ·GetEUid32 201
+#define ·GetEGid32 202
+#define ·SetReUid32 203
+#define ·SetReGid32 204
+#define ·GetGroups32 205
+#define ·SetGroups32 206
+#define ·FChown32 207
+#define ·SetResUid32 208
+#define ·GetResUid32 209
+#define ·SetResGid32 210
+#define ·GetResGid32 211
+#define ·Chown32 212
+#define ·SetUid32 213
+#define ·SetGid32 214
+#define ·SetFsUid32 215
+#define ·SetFsGid32 216
+#define ·PivotRoot 217
+#define ·MLoaded 218
+#define ·MAdvise 219
+#define ·GetDents64 220
+#define ·FCntl64 221
+#define ·GetTId 224
+#define ·ReadAhead 225
+#define ·SetXAttr 226
+#define ·LSetXAttr 227
+#define ·FSetXAttr 228
+#define ·GetXAttr 229
+#define ·LGetXAttr 230
+#define ·FGetXAttr 231
+#define ·ListXAttr 232
+#define ·LListXAttr 233
+#define ·FListXAttr 234
+#define ·RemoveXAttr 235
+#define ·LRemoveXAttr 236
+#define ·FRemoveXAttr 237
+#define ·TKill 238
+#define ·SendFile64 239
+#define ·Futex 240
+#define ·SchedSetAffinity 241
+#define ·SchedGetAffinity 242
+#define ·SetThreadArea 243
+#define ·GetThreadArea 244
+#define ·IoSetUp 245
+#define ·IoDestroy 246
+#define ·IoGetEvents 247
+#define ·IoSubmit 248
+#define ·IoCancel 249
+#define ·FAdvise64 250
+#define ·ExitGroup 252
+#define ·LookupDCookie 253
+#define ·EPollCreate 254
+#define ·EPollCtl 255
+#define ·EPollWait 256
+#define ·RemapFilePages 257
+#define ·SetTIdAddress 258
+#define ·TimerCreate 259
+#define ·StatFs64 268
+#define ·FStatFs64 269
+#define ·TgKill 270
+#define ·UTimes 271
+#define ·FAdvise6464 272
+#define ·VServer 273
+#define ·MBind 274
+#define ·GetMemPolicy 275
+#define ·SetMemPolicy 276
+#define ·MQOpen 277
+#define ·KExecLoad 283
+#define ·WaitId 284
+#define ·AddKey 286
+#define ·RequestKey 287
+#define ·KeyCtl 288
+#define ·IoPrIoSet 289
+#define ·IoPrIoGet 290
+#define ·INotifyInIt 291
+#define ·INotifyAddWatch 292
+#define ·INotifyRmWatch 293
+#define ·MigratePages 294
+#define ·OpenAt 295
+#define ·MkdirAt 296
+#define ·MkNodAt 297
+#define ·FChownAt 298
+#define ·FuTimesAt 299
+#define ·FStatAt64 300
+#define ·UnlinkAt 301
+#define ·RenameAt 302
+#define ·LinkAt 303
+#define ·SymLinkAt 304
+#define ·ReadLinkAt 305
+#define ·FChmodAt 306
+#define ·FAccessAt 307
+#define ·PSelect6 308
+#define ·PPoll 309
+#define ·UnShare 310
+#define ·SetRobustList 311
+#define ·GetRobustList 312
+#define ·Splice 313
+#define ·SyncFileRange 314
+#define ·Tee 315
+#define ·VmSplice 316
+#define ·MovePages 317
+#define ·GetCpu 318
+#define ·EPollPWait 319
+#define ·UTimeNsAt 320
+#define ·SignalFd 321
+#define ·TimerFdCreate 322
+#define ·EventFd 323
+#define ·FAllocate 324
+#define ·TimerFdSetTime32 325
+#define ·TimerFdGetTime32 326
+#define ·SignalFd4 327
+#define ·EventFd2 328
+#define ·EPollCreate1 329
+#define ·Dup3 330
+#define ·Pipe2 331
+#define ·INotifyInIt1 332
+#define ·PreAdv 333
+#define ·PWriteV 334
+#define ·RtTgSigQueueInfo 335
+#define ·PerFEventOpen 336
+#define ·RecvMMsg 337
+#define ·FaNotifyInIt 338
+#define ·FaNotifyMark 339
+#define ·PrLimit64 340
+#define ·NameToHandleAt 341
+#define ·OpenByHandleAt 342
+#define ·ClockAdjTime 343
+#define ·SyncFs 344
+#define ·SendMMsg 345
+#define ·SetNs 346
+#define ·ProcessVmReadV 347
+#define ·ProcessVmWriteV 348
+#define ·KCmp 349
+#define ·FinItModule 350
+#define ·SchedSetAttr 351
+#define ·SchedGetAttr 352
+#define ·RenameAt2 353
+#define ·SeccoMp 354
+#define ·GetRandom 355
+#define ·MemFdCreate 356
+#define ·BpF 357
+#define ·ExecVeAt 358
+#define ·Socket 359
+#define ·SocketPair 360
+#define ·Bind 361
+#define ·Connect 362
+#define ·Listen 363
+#define ·Accept4 364
+#define ·GetSockOpt 365
+#define ·SetSockOpt 366
+#define ·GetSockName 367
+#define ·GetPeerName 368
+#define ·SendTo 369
+#define ·SendMsg 370
+#define ·RecvFrom 371
+#define ·RecvMsg 372
+#define ·Shutdown 373
+#define ·UserFaultFd 374
+#define ·MemBarrier 375
+#define ·MLock2 376
+#define ·CopyFileRange 377
+#define ·PreAdv2 378
+#define ·PWriteV2 379
+#define ·PKeyMProtect 380
+#define ·PKeyAllOc 381
+#define ·PKeyFree 382
+#define ·StatX 383
+#define ·ArchPrCtl 384
+#define ·IoPGetEvents 385
+#define ·RSeq 386
+#define ·SemGet 393
+#define ·SemCtl 394
+#define ·ShmGet 395
+#define ·ShmCtl 396
+#define ·ShmAt 397
+#define ·ShmDt 398
+#define ·MsgGet 399
+#define ·MsgSend 400
+#define ·MsgRecv 401
+#define ·MsgCtl 402
+#define ·ClockGetTime64 403
+#define ·ClockSetTime64 404
+#define ·ClockAdjTime64 405
+#define ·ClockGetResTime64 406
+#define ·ClockNanoSleepTime64 407
+#define ·TimerGetTime64 408
+#define ·TimerSetTime64 409
+#define ·TimerFdGetTime64 410
+#define ·TimerFdSetTime64 411
+#define ·UTimeNsAtTime64 412
+#define ·PSelect6Time64 413
+#define ·PPollTime64 414
+#define ·IoPGetEventsTime64 416
+#define ·RecvMMsgTime64 417
+#define ·MQTimedSendTime64 418
+#define ·MQTimedReceiveTime64 419
+#define ·SemTimeDopTime64 420
+#define ·RtSigTimedWaitTime64 421
+#define ·FutexTime64 422
+#define ·SchedRrGetIntervalTime64 423
+#define ·PidFdSendSignal 424
+#define ·IoUringSetUp 425
+#define ·IoUringEnter 426
+#define ·IoUringRegister 427
+#define ·OpenTree 428
+#define ·MoveMount 429
+#define ·FsOpen 430
+#define ·FsConfig 431
+#define ·FsMount 432
+#define ·FsPick 433
+#define ·PidFdOpen 434
+#define ·Clone3 435
+#define ·CloseRange 436
+#define ·OpenAt2 437
+#define ·PidFdGetFd 438
+#define ·FAccessAt2 439
+
+/* assembly routines */
+#define asm __asm__ __volatile__
+
+#if SYSCALL_NO_TLS
+#define SYSCALL_INSNS "int $128"
+#else
+#define SYSCALL_INSNS "call *%%gs:16"
+#endif
+
+#define SYSCALL_INSNS_12 "xchg %%ebx,%%edx ; " SYSCALL_INSNS " ; xchg %%ebx,%%edx"
+#define SYSCALL_INSNS_34 "xchg %%ebx,%%edi ; " SYSCALL_INSNS " ; xchg %%ebx,%%edi"
+
+static inline
+long _syscall0(long n)
+{
+ ulong __ret;
+ asm(SYSCALL_INSNS : "=a"(__ret) : "a"(n) : "memory");
+ return __ret;
+}
+
+static inline
+long _syscall1(long n, long a1)
+{
+ ulong __ret;
+ asm(SYSCALL_INSNS_12 : "=a"(__ret) : "a"(n), "d"(a1) : "memory");
+ return __ret;
+}
+
+static inline
+long _syscall2(long n, long a1, long a2)
+{
+ ulong __ret;
+ asm(SYSCALL_INSNS_12 : "=a"(__ret) : "a"(n), "d"(a1), "c"(a2) : "memory");
+ return __ret;
+}
+
+static inline
+long _syscall3(long n, long a1, long a2, long a3)
+{
+ ulong __ret;
+#if !defined(__PIC__) || !defined(BROKEN_EBX_ASM)
+ asm(SYSCALL_INSNS : "=a"(__ret) : "a"(n), "b"(a1), "c"(a2), "d"(a3) : "memory");
+#else
+ asm(SYSCALL_INSNS_34 : "=a"(__ret) : "a"(n), "D"(a1), "c"(a2), "d"(a3) : "memory");
+#endif
+ return __ret;
+}
+
+static inline
+long _syscall4(long n, long a1, long a2, long a3, long a4)
+{
+ ulong __ret;
+#if !defined(__PIC__) || !defined(BROKEN_EBX_ASM)
+ asm(SYSCALL_INSNS : "=a"(__ret) : "a"(n), "b"(a1), "c"(a2), "d"(a3), "S"(a4) : "memory");
+#else
+ asm(SYSCALL_INSNS_34 : "=a"(__ret) : "a"(n), "D"(a1), "c"(a2), "d"(a3), "S"(a4) : "memory");
+#endif
+ return __ret;
+}
+
+static inline
+long _syscall5(long n, long a1, long a2, long a3, long a4, long a5)
+{
+ ulong __ret;
+#if !defined(__PIC__) || !defined(BROKEN_EBX_ASM)
+ asm(SYSCALL_INSNS
+ : "=a"(__ret) : "a"(n), "b"(a1), "c"(a2), "d"(a3), "S"(a4), "D"(a5) : "memory");
+#else
+ asm("pushl %2 ; push %%ebx ; mov 4(%%esp),%%ebx ; " SYSCALL_INSNS " ; pop %%ebx ; add $4,%%esp"
+ : "=a"(__ret) : "a"(n), "g"(a1), "c"(a2), "d"(a3), "S"(a4), "D"(a5) : "memory");
+#endif
+ return __ret;
+}
+
+static inline
+long _syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6)
+{
+ ulong __ret;
+#if !defined(__PIC__) || !defined(BROKEN_EBX_ASM)
+ asm("pushl %7 ; push %%ebp ; mov 4(%%esp),%%ebp ; " SYSCALL_INSNS " ; pop %%ebp ; add $4,%%esp"
+ : "=a"(__ret) : "a"(n), "b"(a1), "c"(a2), "d"(a3), "S"(a4), "D"(a5), "g"(a6) : "memory");
+#else
+ ulong a1a6[2] = { a1, a6 };
+ asm("pushl %1 ; push %%ebx ; push %%ebp ; mov 8(%%esp),%%ebx ; mov 4(%%ebx),%%ebp ; mov (%%ebx),%%ebx ; " SYSCALL_INSNS " ; pop %%ebp ; pop %%ebx ; add $4,%%esp"
+ : "=a"(__ret) : "g"(&a1a6), "a"(n), "c"(a2), "d"(a3), "S"(a4), "D"(a5) : "memory");
+#endif
+ return __ret;
+}
+