recvmmsg on metag
receive multiple messages on a socket
sys_recvmmsg(int fd, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout)
| number | 243 (0xf3) |
|---|---|
| abi | common |
| entry point | sys_recvmmsg |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | recvmmsg(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 243, the syscall number |
D1Ar1 | int fd |
D0Ar2 | struct mmsghdr *mmsg |
D1Ar3 | unsigned int vlen |
D0Ar4 | unsigned int flags |
D1Ar5 | struct timespec *timeout |
D0Re0 | the return value |
Then run SWITCH #0x440001 to enter the kernel.
Values wider than one register are packed into consecutive arguments.
This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 299
- x86 337
- arm64 243
- arm 365
- riscv64 243
- ia32 337
- x32 1073742361
- loongarch64 243
- ppc64 343
- ppc 343
- s390x 357
- mips64 5294
- mipsn32 6298
- mipso32 4335
- alpha 479
- arc 243
- blackfin 370, removed in 4.17
- cris 340, removed in 4.17
- csky 243
- hexagon 243
- ia64 1322, removed in 6.7
- m68k 371
- microblaze 367
- mn10300 338, removed in 4.17
- nds32 243, removed in 5.18
- nios2 243
- openrisc 243
- parisc 319
- score 243, removed in 4.17
- sh 357
- sparc 328
- sparc64 328
- tilegx 243, removed in 4.17
- tilepro 243, removed in 4.17
- xtensa 307
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/recvmmsg?kernel=all