4 #include <nucleus/queue.h>
5 #include <posix/registry.h>
8 typedef struct pse51_mq pse51_mq_t;
10 typedef struct pse51_msg {
16 #define pse51_msg_get_prio(msg) (msg)->link.prio
17 #define pse51_msg_set_prio(msg, prio) (msg)->link.prio = (prio)
19 pse51_msg_t *pse51_mq_timedsend_inner(pse51_mq_t **mqp, mqd_t fd,
size_t len,
20 const struct timespec *abs_timeoutp);
22 int pse51_mq_finish_send(mqd_t fd, pse51_mq_t *mq, pse51_msg_t *msg);
24 pse51_msg_t *pse51_mq_timedrcv_inner(pse51_mq_t **mqp, mqd_t fd,
size_t len,
25 const struct timespec *abs_timeoutp);
27 int pse51_mq_finish_rcv(mqd_t fd, pse51_mq_t *mq, pse51_msg_t *msg);
29 #ifdef CONFIG_XENO_OPT_PERVASIVE
31 void pse51_mq_uqds_cleanup(pse51_queues_t *q);
35 int pse51_mq_pkg_init(
void);
37 void pse51_mq_pkg_cleanup(
void);