2 * mq_receive.c - functions for receiving from message queue.
7 #include <sys/syscall.h>
10 #ifdef __NR_mq_timedreceive
11 #define __NR___syscall_mq_timedreceive __NR_mq_timedreceive
12 static _syscall5(int, __syscall_mq_timedreceive, int, mqdes,
13 char *, msg_ptr, size_t, msg_len, unsigned int *,
14 msg_prio, const void *, abs_timeout)
15 # if defined __USE_XOPEN2K && defined __UCLIBC_HAS_ADVANCED_REALTIME__
17 * Receive the oldest from highest priority messages.
18 * Stop waiting if abs_timeout expires.
20 ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len,
21 unsigned int *msg_prio,
22 const struct timespec *abs_timeout)
24 return __syscall_mq_timedreceive(mqdes, msg_ptr, msg_len, msg_prio,
29 /* Receive the oldest from highest priority messages */
30 ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len,
31 unsigned int *msg_prio)
33 return __syscall_mq_timedreceive(mqdes, msg_ptr, msg_len, msg_prio, NULL);
35 #elif defined __UCLIBC_HAS_STUBS__
36 # if defined __USE_XOPEN2K && defined __UCLIBC_HAS_ADVANCED_REALTIME__
37 ssize_t mq_timedreceive(mqd_t mqdes attribute_unused, char *msg_ptr attribute_unused,
38 size_t msg_len attribute_unused, unsigned int *msg_prio attribute_unused,
39 const struct timespec *abs_timeout attribute_unused)
45 ssize_t mq_receive(mqd_t mqdes attribute_unused, char *msg_ptr attribute_unused,
46 size_t msg_len attribute_unused, unsigned int *msg_prio attribute_unused)