mq_timedreceive on ia32

receive a message from a message queue

sys_mq_timedreceive_time32(mqd_t mqdes, char *u_msg_ptr, unsigned int msg_len, unsigned int *u_msg_prio, const struct old_timespec32 *u_abs_timeout)
number280 (0x118)
abii386
kconfigCONFIG_POSIX_MQUEUE
familymqueue
entry pointsys_mq_timedreceive_time32
sinceLinux 3.3 or earlier (3.3 is the first release scanned for ia32)
man pagemq_timedreceive(2)
sourceelixir.bootlin.com

Registers

registervalue
eax280, the syscall number
ebxmqd_t mqdes
ecxchar *u_msg_ptr
edxunsigned int msg_len
esiunsigned int *u_msg_prio
ediconst struct old_timespec32 *u_abs_timeout
eaxthe return value

Then run int 0x80 to enter the kernel.

This compat ABI is only available when the kernel is built with CONFIG_IA32_EMULATION.

Same syscall on other architectures

Get this as JSON: https://api.syscall.sh/v2/syscalls/ia32/mq_timedreceive