syscall.sh / riscv64 / 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 | 243 (0xf3) |
|---|---|
| abi | 64 |
| entry point | sys_recvmmsg |
| since | Linux 4.15 |
| man page | recvmmsg(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
a7 | 243, the syscall number |
a0 | int fd |
a1 | struct mmsghdr *mmsg |
a2 | unsigned int vlen |
a3 | unsigned int flags |
a4 | struct __kernel_timespec *timeout |
a0 | the return value |
Then run ecall to enter the kernel.
Same syscall on other architectures
- x64 299
- x86 337
- arm64 243
- arm 365
- 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/riscv64/recvmmsg