From 4ff3ad23f4411cc2621cfcaf4144037f2b90d8a5 Mon Sep 17 00:00:00 2001 From: chunyexixiaoyu <834670833@qq.com> Date: Fri, 8 Jul 2022 17:27:34 +0800 Subject: [PATCH] APP_Framework/Framework/:support message queue --- .../transform_layer/rtthread/transform.c | 30 +++++++++++++++++++ .../transform_layer/rtthread/transform.h | 10 +++++++ 2 files changed, 40 insertions(+) diff --git a/APP_Framework/Framework/transform_layer/rtthread/transform.c b/APP_Framework/Framework/transform_layer/rtthread/transform.c index 71421046c..42872041a 100644 --- a/APP_Framework/Framework/transform_layer/rtthread/transform.c +++ b/APP_Framework/Framework/transform_layer/rtthread/transform.c @@ -111,6 +111,36 @@ uint32_t PrivGetTickTime() /*********************fs**************************/ +/*********************message queue***********************************/ +mqd_t PrivMqueueOpen(const char *name, int oflag) +{ + return mq_open(name, oflag); +} +mqd_t PrivMqueueCreate(const char *name, int oflag, mode_t mode,struct mq_attr *attr) +{ + return mq_open(name, oflag,mode,attr); +} + +int PrivMqueueSend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio) +{ + return mq_send(mqdes,msg_ptr,msg_len, msg_prio); +} + +int PrivMqueueUnlink(const char *name) +{ + return mq_unlink(name); +} + +int PrivMqueueClose(mqd_t mqdes) +{ + return mq_close(mqdes); +} + +ssize_t PrivMqueueReceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio) +{ + return mq_receive(mqdes, msg_ptr,msg_len, msg_prio); +} + /************************Driver Posix Transform***********************/ int PrivOpen(const char *path, int flags) { diff --git a/APP_Framework/Framework/transform_layer/rtthread/transform.h b/APP_Framework/Framework/transform_layer/rtthread/transform.h index 7cca2aed7..3faeea3ad 100644 --- a/APP_Framework/Framework/transform_layer/rtthread/transform.h +++ b/APP_Framework/Framework/transform_layer/rtthread/transform.h @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include #include #include @@ -188,6 +190,14 @@ void PrivTaskQuit(void *value_ptr); int PrivTaskDelay(int32_t ms); uint32_t PrivGetTickTime(); +/****************message queue***********************/ +mqd_t PrivMqueueOpen(const char *name, int oflag); +mqd_t PrivMqueueCreate(const char *name, int oflag, mode_t mode,struct mq_attr *attr); +int PrivMqueueSend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); +int PrivMqueueUnlink(const char *name); +int PrivMqueueClose(mqd_t mqdes); +ssize_t PrivMqueueReceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); + /*********************driver*************************/ int PrivOpen(const char *path, int flags);