#define ·IoSetUp 0 #define ·IoDestroy 1 #define ·IoSubmit 2 #define ·IoCancel 3 #define ·IoGetEvents 4 #define ·SetXAttr 5 #define ·LSetXAttr 6 #define ·FSetXAttr 7 #define ·GetXAttr 8 #define ·LGetXAttr 9 #define ·FGetXAttr 10 #define ·ListXAttr 11 #define ·LListXAttr 12 #define ·FListXAttr 13 #define ·RemoveXAttr 14 #define ·LRemoveXAttr 15 #define ·FRemoveXAttr 16 #define ·GetCwd 17 #define ·LookupDCookie 18 #define ·EventFd2 19 #define ·EPollCreate1 20 #define ·EPollCtl 21 #define ·EPollPWait 22 #define ·Dup 23 #define ·Dup3 24 #define ·FCntl 25 #define ·INotifyInIt1 26 #define ·INotifyAddWatch 27 #define ·INotifyRmWatch 28 #define ·IoCtl 29 #define ·IoPrIoSet 30 #define ·IoPrIoGet 31 #define ·FLock 32 #define ·MkNodAt 33 #define ·MkdirAt 34 #define ·UnlinkAt 35 #define ·SymLinkAt 36 #define ·LinkAt 37 #define ·RenameAt 38 #define ·UMount2 39 #define ·Mount 40 #define ·PivotRoot 41 #define ·NfsServCtl 42 #define ·StatFs 43 #define ·FStatFs 44 #define ·Truncate 45 #define ·FTruncate 46 #define ·FAllocate 47 #define ·FAccessAt 48 #define ·Chdir 49 #define ·FChdir 50 #define ·Chroot 51 #define ·FChmod 52 #define ·FChmodAt 53 #define ·FChownAt 54 #define ·FChown 55 #define ·OpenAt 56 #define ·Close 57 #define ·VHangUp 58 #define ·Pipe2 59 #define ·QuotaCtl 60 #define ·GetDents64 61 #define ·LSeek 62 #define ·Read 63 #define ·Write 64 #define ·ReadV 65 #define ·WriteV 66 #define ·PRead64 67 #define ·PWrite64 68 #define ·PreAdv 69 #define ·PWriteV 70 #define ·SendFile 71 #define ·PSelect6 72 #define ·PPoll 73 #define ·SignalFd4 74 #define ·VmSplice 75 #define ·Splice 76 #define ·Tee 77 #define ·ReadLinkAt 78 #define ·NewFStatAt 79 #define ·FStat 80 #define ·Sync 81 #define ·FSync 82 #define ·FdAtAsync 83 #define ·SyncFileRange 84 #define ·TimerFdCreate 85 #define ·TimerFdSetTime 86 #define ·TimerFdGetTime 87 #define ·UTimeNsAt 88 #define ·Acct 89 #define ·CapGet 90 #define ·CapSet 91 #define ·Personality 92 #define ·Exit 93 #define ·ExitGroup 94 #define ·WaitId 95 #define ·SetTIdAddress 96 #define ·UnShare 97 #define ·Futex 98 #define ·SetRobustList 99 #define ·GetRobustList 100 #define ·NanoSleep 101 #define ·GetITimer 102 #define ·SetITimer 103 #define ·KExecLoad 104 #define ·InItModule 105 #define ·DeleteModule 106 #define ·TimerCreate 107 #define ·TimerGetTime 108 #define ·TimerGetOverrun 109 #define ·TimerSetTime 110 #define ·TimerDelete 111 #define ·ClockSetTime 112 #define ·ClockGetTime 113 #define ·ClockGetRes 114 #define ·ClockNanoSleep 115 #define ·SysLog 116 #define ·PTrace 117 #define ·SchedSetParam 118 #define ·SchedSetScheduler 119 #define ·SchedGetScheduler 120 #define ·SchedGetParam 121 #define ·SchedSetAffinity 122 #define ·SchedGetAffinity 123 #define ·SchedYield 124 #define ·SchedGetPriorityMax 125 #define ·SchedGetPriorityMin 126 #define ·SchedRrGetInterval 127 #define ·RestartSysCall 128 #define ·Kill 129 #define ·TKill 130 #define ·TgKill 131 #define ·SiGaltStack 132 #define ·RtSigSuspend 133 #define ·RtSigAction 134 #define ·RtSigProcMask 135 #define ·RtSigPending 136 #define ·RtSigTimedWait 137 #define ·RtSigQueueInfo 138 #define ·RtSigReturn 139 #define ·SetPriority 140 #define ·GetPriority 141 #define ·Reboot 142 #define ·SetReGid 143 #define ·SetGid 144 #define ·SetReUid 145 #define ·SetUid 146 #define ·SetResUid 147 #define ·GetResUid 148 #define ·SetResGid 149 #define ·GetResGid 150 #define ·SetFsUid 151 #define ·SetFsGid 152 #define ·Times 153 #define ·SetPGid 154 #define ·GetPGid 155 #define ·GetsId 156 #define ·SetSId 157 #define ·GetGroups 158 #define ·SetGroups 159 #define ·UName 160 #define ·SetHostname 161 #define ·SetDomainName 162 #define ·GetRLimit 163 #define ·SetRLimit 164 #define ·GetRUsage 165 #define ·UMask 166 #define ·PrCtl 167 #define ·GetCpu 168 #define ·GetTimeOfDay 169 #define ·SetTimeOfDay 170 #define ·AdjTimex 171 #define ·GetPid 172 #define ·GetPPid 173 #define ·GetUid 174 #define ·GetEUid 175 #define ·GetGid 176 #define ·GetEGid 177 #define ·GetTId 178 #define ·SysInfo 179 #define ·MQOpen 180 #define ·MQUnlink 181 #define ·MQTimedSend 182 #define ·MQTimedReceive 183 #define ·MQNotify 184 #define ·MQGetSetAttr 185 #define ·MsgGet 186 #define ·MsgCtl 187 #define ·MsgRecv 188 #define ·MsgSend 189 #define ·SemGet 190 #define ·SemCtl 191 #define ·SemTimeDop 192 #define ·SemOp 193 #define ·ShmGet 194 #define ·ShmCtl 195 #define ·ShmAt 196 #define ·ShmDt 197 #define ·Socket 198 #define ·SocketPair 199 #define ·Bind 200 #define ·Listen 201 #define ·Accept 202 #define ·Connect 203 #define ·GetSockName 204 #define ·GetPeerName 205 #define ·SendTo 206 #define ·RecvFrom 207 #define ·SetSockOpt 208 #define ·GetSockOpt 209 #define ·Shutdown 210 #define ·SendMsg 211 #define ·RecvMsg 212 #define ·ReadAhead 213 #define ·Brk 214 #define ·MUnmap 215 #define ·MRemap 216 #define ·AddKey 217 #define ·RequestKey 218 #define ·KeyCtl 219 #define ·Clone 220 #define ·ExecVe 221 #define ·MMap 222 #define ·FAdvise64 223 #define ·SwapOn 224 #define ·SwapOff 225 #define ·MProtect 226 #define ·MSync 227 #define ·MLock 228 #define ·MUnlock 229 #define ·MLockAll 230 #define ·MUnlockAll 231 #define ·MLoaded 232 #define ·MAdvise 233 #define ·RemapFilePages 234 #define ·MBind 235 #define ·GetMemPolicy 236 #define ·SetMemPolicy 237 #define ·MigratePages 238 #define ·MovePages 239 #define ·RtTgSigQueueInfo 240 #define ·PerFEventOpen 241 #define ·Accept4 242 #define ·RecvMMsg 243 #define ·Wait4 260 #define ·PrLimit64 261 #define ·FaNotifyInIt 262 #define ·FaNotifyMark 263 #define ·NameToHandleAt 264 #define ·OpenByHandleAt 265 #define ·ClockAdjTime 266 #define ·SyncFs 267 #define ·SetNs 268 #define ·SendMMsg 269 #define ·ProcessVmReadV 270 #define ·ProcessVmWriteV 271 #define ·KCmp 272 #define ·FinItModule 273 #define ·SchedSetAttr 274 #define ·SchedGetAttr 275 #define ·RenameAt2 276 #define ·SeccoMp 277 #define ·GetRandom 278 #define ·MemFdCreate 279 #define ·BpF 280 #define ·ExecVeAt 281 #define ·UserFaultFd 282 #define ·MemBarrier 283 #define ·MLock2 284 #define ·CopyFileRange 285 #define ·PreAdv2 286 #define ·PWriteV2 287 #define ·PKeyMProtect 288 #define ·PKeyAllOc 289 #define ·PKeyFree 290 #define ·StatX 291 #define ·IoPGetEvents 292 #define ·RSeq 293 #define ·KExecFileLoad 294 #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__ #define __asm_syscall(...) do { \ asm( "svc 0" \ : "=r"(x0) : __VA_ARGS__ : "memory", "cc"); \ return x0; \ } while (0) static inline long _syscall0(long n) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0"); __asm_syscall("r"(x8)); } static inline long _syscall1(long n, long a) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0") = a; __asm_syscall("r"(x8), "0"(x0)); } static inline long _syscall2(long n, long a, long b) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0") = a; register long x1 __asm__("x1") = b; __asm_syscall("r"(x8), "0"(x0), "r"(x1)); } static inline long _syscall3(long n, long a, long b, long c) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0") = a; register long x1 __asm__("x1") = b; register long x2 __asm__("x2") = c; __asm_syscall("r"(x8), "0"(x0), "r"(x1), "r"(x2)); } static inline long _syscall4(long n, long a, long b, long c, long d) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0") = a; register long x1 __asm__("x1") = b; register long x2 __asm__("x2") = c; register long x3 __asm__("x3") = d; __asm_syscall("r"(x8), "0"(x0), "r"(x1), "r"(x2), "r"(x3)); } static inline long _syscall5(long n, long a, long b, long c, long d, long e) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0") = a; register long x1 __asm__("x1") = b; register long x2 __asm__("x2") = c; register long x3 __asm__("x3") = d; register long x4 __asm__("x4") = e; __asm_syscall("r"(x8), "0"(x0), "r"(x1), "r"(x2), "r"(x3), "r"(x4)); } static inline long _syscall6(long n, long a, long b, long c, long d, long e, long f) { register long x8 __asm__("x8") = n; register long x0 __asm__("x0") = a; register long x1 __asm__("x1") = b; register long x2 __asm__("x2") = c; register long x3 __asm__("x3") = d; register long x4 __asm__("x4") = e; register long x5 __asm__("x5") = f; __asm_syscall("r"(x8), "0"(x0), "r"(x1), "r"(x2), "r"(x3), "r"(x4), "r"(x5)); }