aboutsummaryrefslogtreecommitdiff
path: root/sys/linux/amd64/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux/amd64/syscall.h')
-rw-r--r--sys/linux/amd64/syscall.h801
1 files changed, 386 insertions, 415 deletions
diff --git a/sys/linux/amd64/syscall.h b/sys/linux/amd64/syscall.h
index a06e3ba..f571b81 100644
--- a/sys/linux/amd64/syscall.h
+++ b/sys/linux/amd64/syscall.h
@@ -1,452 +1,423 @@
-#pragma once
+#define ·Read 0
+#define ·Write 1
+#define ·Open 2
+#define ·Close 3
+#define ·Stat 4
+#define ·FStat 5
+#define ·LStat 6
+#define ·Poll 7
+#define ·LSeek 8
+#define ·MMap 9
+#define ·MProtect 10
+#define ·MUnmap 11
+#define ·Brk 12
+#define ·RtSigAction 13
+#define ·RtSigProcMask 14
+#define ·RtSigReturn 15
+#define ·IoCtl 16
+#define ·PRead64 17
+#define ·PWrite64 18
+#define ·ReadV 19
+#define ·WriteV 20
+#define ·Access 21
+#define ·Pipe 22
+#define ·Select 23
+#define ·SchedYield 24
+#define ·MRemap 25
+#define ·MSync 26
+#define ·MLoaded 27
+#define ·MAdvise 28
+#define ·ShmGet 29
+#define ·ShmAt 30
+#define ·ShmCtl 31
+#define ·Dup 32
+#define ·Dup2 33
+#define ·Pause 34
+#define ·NanoSleep 35
+#define ·GetITimer 36
+#define ·Alarm 37
+#define ·SetITimer 38
+#define ·GetPid 39
+#define ·SendFile 40
+#define ·Socket 41
+#define ·Connect 42
+#define ·Accept 43
+#define ·SendTo 44
+#define ·RecvFrom 45
+#define ·SendMsg 46
+#define ·RecvMsg 47
+#define ·Shutdown 48
+#define ·Bind 49
+#define ·Listen 50
+#define ·GetSockName 51
+#define ·GetPeerName 52
+#define ·SocketPair 53
+#define ·SetSockOpt 54
+#define ·GetSockOpt 55
+#define ·Clone 56
+#define ·Fork 57
+#define ·VFork 58
+#define ·ExecVe 59
+#define ·Exit 60
+#define ·Wait4 61
+#define ·Kill 62
+#define ·UName 63
+#define ·SemGet 64
+#define ·SemOp 65
+#define ·SemCtl 66
+#define ·ShmDt 67
+#define ·MsgGet 68
+#define ·MsgSend 69
+#define ·MsgRecv 70
+#define ·MsgCtl 71
+#define ·FCntl 72
+#define ·FLock 73
+#define ·FSync 74
+#define ·FdAtAsync 75
+#define ·Truncate 76
+#define ·FTruncate 77
+#define ·GetDents 78
+#define ·GetCwd 79
+#define ·Chdir 80
+#define ·FChdir 81
+#define ·Rename 82
+#define ·Mkdir 83
+#define ·Rmdir 84
+#define ·Create 85
+#define ·Link 86
+#define ·Unlink 87
+#define ·SymLink 88
+#define ·ReadLink 89
+#define ·Chmod 90
+#define ·FChmod 91
+#define ·Chown 92
+#define ·FChown 93
+#define ·LChown 94
+#define ·UMask 95
+#define ·GetTimeOfDay 96
+#define ·GetRLimit 97
+#define ·GetRUsage 98
+#define ·SysInfo 99
+#define ·Times 100
+#define ·PTrace 101
+#define ·GetUid 102
+#define ·SysLog 103
+#define ·GetGid 104
+#define ·SetUid 105
+#define ·SetGid 106
+#define ·GetEUid 107
+#define ·GetEGid 108
+#define ·SetPGid 109
+#define ·GetPPid 110
+#define ·GetPGrp 111
+#define ·SetSId 112
+#define ·SetReUid 113
+#define ·SetReGid 114
+#define ·GetGroups 115
+#define ·SetGroups 116
+#define ·SetResUid 117
+#define ·GetResUid 118
+#define ·SetResGid 119
+#define ·GetResGid 120
+#define ·GetPGid 121
+#define ·SetFsUid 122
+#define ·SetFsGid 123
+#define ·GetsId 124
+#define ·CapGet 125
+#define ·CapSet 126
+#define ·RtSigPending 127
+#define ·RtSigTimedWait 128
+#define ·RtSigQueueInfo 129
+#define ·RtSigSuspend 130
+#define ·SiGaltStack 131
+#define ·UTime 132
+#define ·MkNod 133
+#define ·UseLib 134
+#define ·Personality 135
+#define ·UStat 136
+#define ·StatFs 137
+#define ·FStatFs 138
+#define ·SysFs 139
+#define ·GetPriority 140
+#define ·SetPriority 141
+#define ·SchedSetParam 142
+#define ·SchedGetParam 143
+#define ·SchedSetScheduler 144
+#define ·SchedGetScheduler 145
+#define ·SchedGetPriorityMax 146
+#define ·SchedGetPriorityMin 147
+#define ·SchedRrGetInterval 148
+#define ·MLock 149
+#define ·MUnlock 150
+#define ·MLockAll 151
+#define ·MUnlockAll 152
+#define ·VHangUp 153
+#define ·ModifyLdT 154
+#define ·PivotRoot 155
+#define ·SysCtl 156
+#define ·PrCtl 157
+#define ·ArchPrCtl 158
+#define ·AdjTimex 159
+#define ·SetRLimit 160
+#define ·Chroot 161
+#define ·Sync 162
+#define ·Acct 163
+#define ·SetTimeOfDay 164
+#define ·Mount 165
+#define ·UMount2 166
+#define ·SwapOn 167
+#define ·SwapOff 168
+#define ·Reboot 169
+#define ·SetHostname 170
+#define ·SetDomainName 171
+#define ·IoPl 172
+#define ·IoPerm 173
+#define ·CreateModule 174
+#define ·InItModule 175
+#define ·DeleteModule 176
+#define ·GetKernelSyms 177
+#define ·QueryModule 178
+#define ·QuotaCtl 179
+#define ·NfsServCtl 180
+#define ·GetPMsg 181
+#define ·PutPMsg 182
+#define ·AFsSysCall 183
+#define ·TuxCall 184
+#define ·Security 185
+#define ·GetTId 186
+#define ·ReadAhead 187
+#define ·SetXAttr 188
+#define ·LSetXAttr 189
+#define ·FSetXAttr 190
+#define ·GetXAttr 191
+#define ·LGetXAttr 192
+#define ·FGetXAttr 193
+#define ·ListXAttr 194
+#define ·LListXAttr 195
+#define ·FListXAttr 196
+#define ·RemoveXAttr 197
+#define ·LRemoveXAttr 198
+#define ·FRemoveXAttr 199
+#define ·TKill 200
+#define ·Time 201
+#define ·Futex 202
+#define ·SchedSetAffinity 203
+#define ·SchedGetAffinity 204
+#define ·SetThreadArea 205
+#define ·IoSetUp 206
+#define ·IoDestroy 207
+#define ·IoGetEvents 208
+#define ·IoSubmit 209
+#define ·IoCancel 210
+#define ·GetThreadArea 211
+#define ·LookupDCookie 212
+#define ·EPollCreate 213
+#define ·EPollCtlOld 214
+#define ·EPollWaitOld 215
+#define ·RemapFilePages 216
+#define ·GetDents64 217
+#define ·SetTIdAddress 218
+#define ·RestartSysCall 219
+#define ·SemTimeDop 220
+#define ·FAdvise64 221
+#define ·TimerCreate 222
+#define ·TimerSetTime 223
+#define ·TimerGetTime 224
+#define ·TimerGetOverrun 225
+#define ·TimerDelete 226
+#define ·ClockSetTime 227
+#define ·ClockGetTime 228
+#define ·ClockGetRes 229
+#define ·ClockNanoSleep 230
+#define ·ExitGroup 231
+#define ·EPollWait 232
+#define ·EPollCtl 233
+#define ·TgKill 234
+#define ·UTimes 235
+#define ·VServer 236
+#define ·MBind 237
+#define ·SetMemPolicy 238
+#define ·GetMemPolicy 239
+#define ·MQOpen 240
+#define ·MQUnlink 241
+#define ·MQTimedSend 242
+#define ·MQTimedReceive 243
+#define ·MQNotify 244
+#define ·MQGetSetAttr 245
+#define ·KExecLoad 246
+#define ·WaitId 247
+#define ·AddKey 248
+#define ·RequestKey 249
+#define ·KeyCtl 250
+#define ·IoPrIoSet 251
+#define ·IoPrIoGet 252
+#define ·INotifyInIt 253
+#define ·INotifyAddWatch 254
+#define ·INotifyRmWatch 255
+#define ·MigratePages 256
+#define ·OpenAt 257
+#define ·MkdirAt 258
+#define ·MkNodAt 259
+#define ·FChownAt 260
+#define ·FuTimesAt 261
+#define ·NewFStatAt 262
+#define ·UnlinkAt 263
+#define ·RenameAt 264
+#define ·LinkAt 265
+#define ·SymLinkAt 266
+#define ·ReadLinkAt 267
+#define ·FChmodAt 268
+#define ·FAccessAt 269
+#define ·PSelect6 270
+#define ·PPoll 271
+#define ·UnShare 272
+#define ·SetRobustList 273
+#define ·GetRobustList 274
+#define ·Splice 275
+#define ·Tee 276
+#define ·SyncFileRange 277
+#define ·VmSplice 278
+#define ·MovePages 279
+#define ·UTimeNsAt 280
+#define ·EPollPWait 281
+#define ·SignalFd 282
+#define ·TimerFdCreate 283
+#define ·EventFd 284
+#define ·FAllocate 285
+#define ·TimerFdSetTime 286
+#define ·TimerFdGetTime 287
+#define ·Accept4 288
+#define ·SignalFd4 289
+#define ·EventFd2 290
+#define ·EPollCreate1 291
+#define ·Dup3 292
+#define ·Pipe2 293
+#define ·INotifyInIt1 294
+#define ·PreAdv 295
+#define ·PWriteV 296
+#define ·RtTgSigQueueInfo 297
+#define ·PerFEventOpen 298
+#define ·RecvMMsg 299
+#define ·FaNotifyInIt 300
+#define ·FaNotifyMark 301
+#define ·PrLimit64 302
+#define ·NameToHandleAt 303
+#define ·OpenByHandleAt 304
+#define ·ClockAdjTime 305
+#define ·SyncFs 306
+#define ·SendMMsg 307
+#define ·SetNs 308
+#define ·GetCpu 309
+#define ·ProcessVmReadV 310
+#define ·ProcessVmWriteV 311
+#define ·KCmp 312
+#define ·FinItModule 313
+#define ·SchedSetAttr 314
+#define ·SchedGetAttr 315
+#define ·RenameAt2 316
+#define ·SeccoMp 317
+#define ·GetRandom 318
+#define ·MemFdCreate 319
+#define ·KExecFileLoad 320
+#define ·BpF 321
+#define ·ExecVeAt 322
+#define ·UserFaultFd 323
+#define ·MemBarrier 324
+#define ·MLock2 325
+#define ·CopyFileRange 326
+#define ·PreAdv2 327
+#define ·PWriteV2 328
+#define ·PKeyMProtect 329
+#define ·PKeyAllOc 330
+#define ·PKeyFree 331
+#define ·StatX 332
+#define ·IoPGetEvents 333
+#define ·RSeq 334
+#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
-#define ·Read 0
-#define ·Write 1
-#define ·Open 2
-#define ·Close 3
-#define ·Stat 4
-#define ·Fstat 5
-#define ·Lstat 6
-#define ·Poll 7
-#define ·Lseek 8
-#define ·Mmap 9
-#define ·Mprotect 10
-#define ·Munmap 11
-#define ·Brk 12
-#define ·RtSigAction 13
-#define ·RtSigProcmask 14
-#define ·RtSigReturn 15
-#define ·IoCtl 16
-#define ·PRead64 17
-#define ·PWrite64 18
-#define ·Readv 19
-#define ·Writev 20
-#define ·Access 21
-#define ·Pipe 22
-#define ·Select 23
-#define ·SchedYield 24
-#define ·MRemap 25
-#define ·MSync 26
-#define ·MIncore 27
-#define ·MAdvise 28
-#define ·ShmGet 29
-#define ·ShmAt 30
-#define ·ShmCtl 31
-#define ·Dup 32
-#define ·Dup2 33
-#define ·Pause 34
-#define ·Nanosleep 35
-#define ·GetItimer 36
-#define ·Alarm 37
-#define ·SetItimer 38
-#define ·GetPid 39
-#define ·SendFile 40
-#define ·Socket 41
-#define ·Connect 42
-#define ·Accept 43
-#define ·SendTo 44
-#define ·RecvFrom 45
-#define ·SendMsg 46
-#define ·RecvMsg 47
-#define ·Shutdown 48
-#define ·Bind 49
-#define ·Listen 50
-#define ·GetSockName 51
-#define ·GetPeerName 52
-#define ·SocketPair 53
-#define ·SetSockOpt 54
-#define ·GetSockOpt 55
-#define ·Clone 56
-#define ·Fork 57
-#define ·Vfork 58
-#define ·Execve 59
-#define ·Exit 60
-#define ·Wait4 61
-#define ·Kill 62
-#define ·Uname 63
-#define ·SemGet 64
-#define ·SemOp 65
-#define ·SemCtl 66
-#define ·ShmDt 67
-#define ·MsgGet 68
-#define ·MsgSnd 69
-#define ·MsgRcv 70
-#define ·MsgCtl 71
-#define ·Fcntl 72
-#define ·FLock 73
-#define ·FSync 74
-#define ·FDataSync 75
-#define ·Truncate 76
-#define ·FTruncate 77
-#define ·GetDents 78
-#define ·GetCwd 79
-#define ·Chdir 80
-#define ·Fchdir 81
-#define ·Rename 82
-#define ·Mkdir 83
-#define ·Rmdir 84
-#define ·Create 85
-#define ·Link 86
-#define ·Unlink 87
-#define ·Symlink 88
-#define ·Readlink 89
-#define ·Chmod 90
-#define ·Fchmod 91
-#define ·Chown 92
-#define ·FChown 93
-#define ·LChown 94
-#define ·UMask 95
-#define ·GetTimeOfDay 96
-#define ·GetRLimit 97
-#define ·GetRUsage 98
-#define ·SysInfo 99
-#define ·Times 100
-#define ·PTrace 101
-#define ·GetUID 102
-#define ·SysLog 103
-#define ·GetGid 104
-#define ·SetUid 105
-#define ·SetGid 106
-#define ·GetEuid 107
-#define ·GetEgid 108
-#define ·SetPgid 109
-#define ·GetPpid 110
-#define ·GetPgrp 111
-#define ·SetSid 112
-#define ·SetReuid 113
-#define ·SetRegid 114
-#define ·GetGroups 115
-#define ·SetGroups 116
-#define ·SetResuid 117
-#define ·GetResuid 118
-#define ·SetResgid 119
-#define ·GetResgid 120
-#define ·GetPgid 121
-#define ·SetFsuid 122
-#define ·SetFsgid 123
-#define ·GetSid 124
-#define ·CapGet 125
-#define ·CapSet 126
-#define ·RtSigPending 127
-#define ·RtSigTimedWait 128
-#define ·RtSigQueueInfo 129
-#define ·RtSigSuspend 130
-#define ·SignaltStack 131
-#define ·UTime 132
-#define ·MkNod 133
-#define ·UseLib 134
-#define ·Personality 135
-#define ·UStat 136
-#define ·StatFs 137
-#define ·FstatFs 138
-#define ·SysFs 139
-#define ·GetPriority 140
-#define ·SetPriority 141
-#define ·SchedSetParam 142
-#define ·SchedGetParam 143
-#define ·SchedSetScheduler 144
-#define ·SchedGetScheduler 145
-#define ·SchedGetPriorityMax 146
-#define ·SchedGetPriorityMin 147
-#define ·SchedRrGetInterval 148
-#define ·MLock 149
-#define ·MUnlock 150
-#define ·MLockAll 151
-#define ·MUnlockAll 152
-#define ·VHangup 153
-#define ·ModifyLdt 154
-#define ·PivotRoot 155
-#define ·Sysctl 156
-#define ·Prctl 157
-#define ·ArchPrctl 158
-#define ·AdjTimex 159
-#define ·SetRLimit 160
-#define ·Chroot 161
-#define ·Sync 162
-#define ·Acct 163
-#define ·Settimeofday 164
-#define ·Mount 165
-#define ·Umount2 166
-#define ·Swapon 167
-#define ·Swapoff 168
-#define ·Reboot 169
-#define ·SetHostName 170
-#define ·SetDomainName 171
-#define ·Iopl 172
-#define ·Ioperm 173
-#define ·CreateModule 174
-#define ·InitModule 175
-#define ·DeleteModule 176
-#define ·GetKernelSyms 177
-#define ·QueryModule 178
-#define ·QuotaCtl 179
-#define ·NfsServCtl 180
-#define ·GetPmsg 181
-#define ·PutPmsg 182
-#define ·AfsSyscall 183
-#define ·TuxCall 184
-#define ·Security 185
-#define ·Gettid 186
-#define ·Readahead 187
-#define ·SetXattr 188
-#define ·LsetXattr 189
-#define ·FsetXattr 190
-#define ·GetXattr 191
-#define ·LgetXattr 192
-#define ·FgetXattr 193
-#define ·ListXattr 194
-#define ·LlistXattr 195
-#define ·FlistXattr 196
-#define ·RemoveXattr 197
-#define ·LremoveXattr 198
-#define ·FremoveXattr 199
-#define ·TKill 200
-#define ·Time 201
-#define ·Futex 202
-#define ·SchedSetAffinity 203
-#define ·SchedGetAffinity 204
-#define ·SetThreadArea 205
-#define ·IoSetup 206
-#define ·IoDestroy 207
-#define ·IoGetEvents 208
-#define ·IoSubmit 209
-#define ·IoCancel 210
-#define ·GetThreadArea 211
-#define ·LookupDCookie 212
-#define ·EpollCreate 213
-#define ·EpollCtlOld 214
-#define ·EpollWaitOld 215
-#define ·RemapFilePages 216
-#define ·Getdents64 217
-#define ·SetTidAddress 218
-#define ·RestartSyscall 219
-#define ·SemtimeDop 220
-#define ·Fadvise64 221
-#define ·TimerCreate 222
-#define ·TimerSetTime 223
-#define ·TimerGetTime 224
-#define ·TimerGetOverrun 225
-#define ·TimerDelete 226
-#define ·ClockSetTime 227
-#define ·ClockGetTime 228
-#define ·ClockGetRes 229
-#define ·ClockNanosleep 230
-#define ·ExitGroup 231
-#define ·EpollWait 232
-#define ·EpollCtl 233
-#define ·Tgkill 234
-#define ·Utimes 235
-#define ·Vserver 236
-#define ·Mbind 237
-#define ·SetMemPolicy 238
-#define ·GetMemPolicy 239
-#define ·MqOpen 240
-#define ·MqUnlink 241
-#define ·MqTimedSend 242
-#define ·MqTimedReceive 243
-#define ·MqNotify 244
-#define ·MqGetSetAttr 245
-#define ·KexecLoad 246
-#define ·Waitid 247
-#define ·AddKey 248
-#define ·RequestKey 249
-#define ·Keyctl 250
-#define ·IoprioSet 251
-#define ·IoprioGet 252
-#define ·InotifyInit 253
-#define ·InotifyAddWatch 254
-#define ·InotifyRmWatch 255
-#define ·MigratePages 256
-#define ·OpenAt 257
-#define ·MkdirAt 258
-#define ·MkNodAt 259
-#define ·FchownAt 260
-#define ·FutimesAt 261
-#define ·NewfstatAt 262
-#define ·UnlinkAt 263
-#define ·RenameAt 264
-#define ·LinkAt 265
-#define ·SymlinkAt 266
-#define ·ReadlinkAt 267
-#define ·FchmodAt 268
-#define ·FaccessAt 269
-#define ·Pselect6 270
-#define ·Ppoll 271
-#define ·Unshare 272
-#define ·SetRobustList 273
-#define ·GetRobustList 274
-#define ·Splice 275
-#define ·Tee 276
-#define ·SyncFileRange 277
-#define ·Vmsplice 278
-#define ·MovePages 279
-#define ·UtimensAt 280
-#define ·EpollPwait 281
-#define ·SignalFd 282
-#define ·TimerFdCreate 283
-#define ·EventFd 284
-#define ·Fallocate 285
-#define ·TimerFdSetTime 286
-#define ·TimerFdGetTime 287
-#define ·Accept4 288
-#define ·SignalFd4 289
-#define ·EventFd2 290
-#define ·EpollCreate1 291
-#define ·Dup3 292
-#define ·Pipe2 293
-#define ·InotifyInit1 294
-#define ·Preadv 295
-#define ·Pwritev 296
-#define ·RtTgSigQueueInfo 297
-#define ·PerfEventOpen 298
-#define ·RecvmMsg 299
-#define ·FanotifyInit 300
-#define ·FanotifyMark 301
-#define ·Prlimit64 302
-#define ·NameToHandleAt 303
-#define ·OpenByHandleAt 304
-#define ·ClockAdjtime 305
-#define ·SyncFs 306
-#define ·SendmMsg 307
-#define ·SetNs 308
-#define ·GetCpu 309
-#define ·ProcessVmReadv 310
-#define ·ProcessVmWritev 311
-#define ·Kcmp 312
-#define ·FinitModule 313
-#define ·SchedSetattr 314
-#define ·SchedGetattr 315
-#define ·Renameat2 316
-#define ·Seccomp 317
-#define ·Getrandom 318
-#define ·MemfdCreate 319
-#define ·KexecFileLoad 320
-#define ·Bpf 321
-#define ·ExecveAt 322
-#define ·UserFaultFd 323
-#define ·MemBarrier 324
-#define ·Mlock2 325
-#define ·CopyFileRange 326
-#define ·Preadv2 327
-#define ·Pwritev2 328
-#define ·PkeyMprotect 329
-#define ·PkeyAlloc 330
-#define ·PkeyFree 331
-#define ·Statx 332
-#define ·IoPgetEvents 333
-#define ·Rseq 334
-#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
-#define ·ProcessMadvise 440
+/* assembly routines */
+#define asm __asm__ __volatile__
-/*
- * x86-64 linux ABI
- * syscall rdi rsi rdx r10 r8 r9
- * return value in rax
- *
- * the syntax for extended GNU inline assembly
- * asm([instructions] : [output operands] : [input operands] : [clobbers] )
- * operands are written as "constrants"(symbol)
- * available constraints are:
- * 'r': any register
- * 'a': eax, 'b': ebx, 'c': ecx, 'd': edx, 'S', esi, 'D' edi
- * '=': write only, previous value is discarded
- */
-#define sysarg(x) ((long)(x))
-
-static inline long
-_syscall0(long n)
+static inline
+long _syscall0(long n)
{
ulong ret;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n)
- : "rcx", "r11", "memory"
- );
+ asm("syscall" : "=a"(ret) : "a"(n) : "rcx", "r11", "memory");
return ret;
}
-static inline long
-_syscall1(long n, long a1)
+static inline
+long _syscall1(long n, long a1)
{
ulong ret;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n), "D"(a1)
- : "rcx", "r11", "memory"
- );
+ asm("syscall" : "=a"(ret) : "a"(n), "D"(a1) : "rcx", "r11", "memory");
return ret;
}
-static inline long
-_syscall2(long n, long a1, long a2)
+static inline
+long _syscall2(long n, long a1, long a2)
{
ulong ret;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n), "D"(a1), "S"(a2)
- : "rcx", "r11", "memory"
- );
+ asm("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2)
+ : "rcx", "r11", "memory");
return ret;
}
-static inline long
-_syscall3(long n, long a1, long a2, long a3)
+static inline
+long _syscall3(long n, long a1, long a2, long a3)
{
ulong ret;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n), "D"(a1), "S"(a2), "d"(a3)
- : "rcx", "r11", "memory"
- );
+ asm("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
+ "d"(a3) : "rcx", "r11", "memory");
return ret;
}
-static inline long
-_syscall4(long n, long a1, long a2, long a3, long a4)
+static inline
+long _syscall4(long n, long a1, long a2, long a3, long a4)
{
ulong ret;
- register long r10 asm("r10") = a4;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n), "D"(a1), "S"(a2), "d"(a3), "r"(r10)
- : "rcx", "r11", "memory"
- );
+ register long r10 __asm__("r10") = a4;
+ asm("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
+ "d"(a3), "r"(r10): "rcx", "r11", "memory");
return ret;
}
-static inline long
-_syscall5(long n, long a1, long a2, long a3, long a4, long a5)
+static inline
+long _syscall5(long n, long a1, long a2, long a3, long a4, long a5)
{
ulong ret;
- register long r10 asm("r10") = a4;
- register long r8 asm("r8") = a5;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n), "D"(a1), "S"(a2), "d"(a3), "r"(r10), "r"(r8)
- : "rcx", "r11", "memory"
- );
+ register long r10 __asm__("r10") = a4;
+ register long r8 __asm__("r8") = a5;
+ asm("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
+ "d"(a3), "r"(r10), "r"(r8) : "rcx", "r11", "memory");
return ret;
}
-static inline long
-_syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6)
+static inline
+long _syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6)
{
ulong ret;
register long r10 __asm__("r10") = a4;
- register long r8 __asm__("r8") = a5;
- register long r9 __asm__("r9") = a6;
- asm volatile("syscall" : "=a"(ret)
- : "a"(n), "D"(a1), "S"(a2), "d"(a3), "r"(r10), "r"(r8), "r"(r9)
- : "rcx", "r11", "memory"
- );
+ register long r8 __asm__("r8") = a5;
+ register long r9 __asm__("r9") = a6;
+ asm("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
+ "d"(a3), "r"(r10), "r"(r8), "r"(r9) : "rcx", "r11", "memory");
return ret;
}
+
+