mq_timedreceive on score
receive a message from a message queue
sys_mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio, const struct timespec *abs_timeout)
| number | 183 (0xb7) |
|---|---|
| abi | common |
| kconfig | CONFIG_POSIX_MQUEUE |
| family | mqueue see the whole family on score |
| entry point | sys_mq_timedreceive |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | mq_timedreceive(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 183, the syscall number |
r4 | mqd_t mqdes |
r5 | char *msg_ptr |
r6 | size_t msg_len |
r7 | unsigned int *msg_prio |
r8 | const struct timespec *abs_timeout |
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 243
- x86 280
- arm64 183
- arm 277
- riscv64 183
- ia32 280
- x32 1073742067
- loongarch64 183
- ppc64 265
- ppc 265
- s390x 274
- mips64 5233
- mipsn32 6237
- mipso32 4274
- alpha 435
- arc 183
- blackfin 281, removed in 4.17
- cris 280, removed in 4.17
- csky 183
- frv 280, removed in 4.17
- hexagon 183
- ia64 1265, removed in 6.7
- m32r 280, removed in 4.17
- m68k 274
- metag 183, removed in 4.17
- microblaze 280
- mn10300 280, removed in 4.17
- nds32 183, removed in 5.18
- nios2 183
- openrisc 183
- parisc 232
- sh 280
- sparc 276
- sparc64 276
- tilegx 183, removed in 4.17
- tilepro 183, removed in 4.17
- xtensa 235
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/mq_timedreceive?kernel=all