syscall.sh / x64 / recvmmsg
recvmmsg
receive multiple messages on a socket
sys_recvmmsg(int fd, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct __kernel_timespec *timeout)
| number | 299 (0x12b) |
|---|---|
| abi | 64 |
| entry point | sys_recvmmsg |
| since | Linux 3.3 |
| man page | recvmmsg(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 299, the syscall number |
rdi | int fd |
rsi | struct mmsghdr *mmsg |
rdx | unsigned int vlen |
r10 | unsigned int flags |
r8 | struct __kernel_timespec *timeout |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x86 337
- arm64 243
- arm 365
- riscv64 243
- x32 1073742361
- loongarch64 243
- ppc64 343
- ppc 343
- s390x 357
- mips64 5294
- mipsn32 6298
- mipso32 4335
- alpha 479
- arc 243
- csky 243
- hexagon 243
- m68k 371
- microblaze 367
- nios2 243
- openrisc 243
- parisc 319
- sh 357
- sparc 328
- sparc64 328
- xtensa 307
Get this as JSON: https://api.syscall.sh/v2/syscalls/x64/recvmmsg