summaryrefslogtreecommitdiff
path: root/include/rtthread.h
diff options
context:
space:
mode:
authorzhkag <[email protected]>2023-06-26 12:06:06 +0800
committerGitHub <[email protected]>2023-06-26 00:06:06 -0400
commite65509a58eea37f504654a6fba1e11dd69026ebe (patch)
treea6a101d0f25e38f4613534cec4629c2b10b7d18f /include/rtthread.h
parent64c1d626e2ccfe150cc4f9136c2f952dd2ff64f0 (diff)
[src][components][include]消息队列支持优先级 (#7382)
Diffstat (limited to 'include/rtthread.h')
-rw-r--r--include/rtthread.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/rtthread.h b/include/rtthread.h
index dfcd1c413c..ea3ee6f81a 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -463,6 +463,9 @@ struct rt_mq_message
{
struct rt_mq_message *next;
rt_ssize_t length;
+#ifdef RT_USING_MESSAGEQUEUE_PRIORITY
+ rt_int32_t prio;
+#endif
};
#define RT_MQ_BUF_SIZE(msg_size, max_msgs) \
@@ -515,6 +518,21 @@ rt_ssize_t rt_mq_recv_killable(rt_mq_t mq,
rt_size_t size,
rt_int32_t timeout);
rt_err_t rt_mq_control(rt_mq_t mq, int cmd, void *arg);
+
+#ifdef RT_USING_MESSAGEQUEUE_PRIORITY
+rt_err_t rt_mq_send_wait_prio(rt_mq_t mq,
+ const void *buffer,
+ rt_size_t size,
+ rt_int32_t prio,
+ rt_int32_t timeout,
+ int suspend_flag);
+rt_err_t rt_mq_recv_prio(rt_mq_t mq,
+ void *buffer,
+ rt_size_t size,
+ rt_int32_t *prio,
+ rt_int32_t timeout,
+ int suspend_flag);
+#endif
#endif
/* defunct */