#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; }