消息队列接口

同样可以用于任务之间通讯的接口

可用接口:


/// 创建消息队列
/// \param[in]     msg_count     队列里消息的最大数量
/// \param[in]     msg_size      队列消息的大小,单位字节
/// \param[in]     attr          通过B_QUEUE_CREATE_ATTR创建,再传入
/// \return 消息队列ID
bQueueId_t bQueueCreate(uint32_t msg_count, uint32_t msg_size, bQueueAttr_t *attr);

int bQueuePutNonblock(bQueueId_t id, const void *msg_ptr);
int bQueueGetNonblock(bQueueId_t id, void *msg_ptr);

uint32_t bQueueGetCapacity(bQueueId_t id);
uint32_t bQueueGetMsgSize(bQueueId_t id);
uint32_t bQueueGetCount(bQueueId_t id);
uint32_t bQueueGetSpace(bQueueId_t id);

int bQueueReset(bQueueId_t id);
int bQueueDelete(bQueueId_t id);

#define bQueuePutBlock(pt, id, msg_ptr, timeout) B_QUEUE_PUT(pt, id, msg_ptr, timeout)
#define bQueueGetBlock(pt, id, msg_ptr, timeout) B_QUEUE_GET(pt, id, msg_ptr, timeout)