msgrcv on score
System V message queue operations
sys_msgrcv(int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg)
| number | 188 (0xbc) |
|---|---|
| abi | common |
| kconfig | CONFIG_SYSVIPC |
| family | sysvipc see the whole family on score |
| entry point | sys_msgrcv |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | msgrcv(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 188, the syscall number |
r4 | int msqid |
r5 | struct msgbuf *msgp |
r6 | size_t msgsz |
r7 | long msgtyp |
r8 | int msgflg |
r4 | the return value |
Then run syscall to enter the kernel.
r7 is the error flag and r4 then holds the positive error number.
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 70
- x86 401
- arm64 188
- arm 302
- riscv64 188
- ia32 401
- x32 1073741894
- loongarch64 188
- ppc64 401
- ppc 401
- s390x 401
- mips64 5068
- mipsn32 6068
- mipso32 4401
- alpha 202
- arc 188
- blackfin 336, removed in 4.17
- csky 188
- hexagon 188
- ia64 1111, removed in 6.7
- m68k 401
- metag 188, removed in 4.17
- microblaze 333
- nds32 188, removed in 5.18
- nios2 188
- openrisc 188
- parisc 189
- sh 401
- sparc 401
- sparc64 401
- tilegx 188, removed in 4.17
- tilepro 188, removed in 4.17
- xtensa 168
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/msgrcv?kernel=all