11bd4fe43Sopenharmony_ci/**
21bd4fe43Sopenharmony_ci* @file hi_msg.h
31bd4fe43Sopenharmony_ci*
41bd4fe43Sopenharmony_ci* Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
51bd4fe43Sopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License");
61bd4fe43Sopenharmony_ci* you may not use this file except in compliance with the License.
71bd4fe43Sopenharmony_ci* You may obtain a copy of the License at
81bd4fe43Sopenharmony_ci*
91bd4fe43Sopenharmony_ci*     http://www.apache.org/licenses/LICENSE-2.0
101bd4fe43Sopenharmony_ci*
111bd4fe43Sopenharmony_ci* Unless required by applicable law or agreed to in writing, software
121bd4fe43Sopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS,
131bd4fe43Sopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
141bd4fe43Sopenharmony_ci* See the License for the specific language governing permissions and
151bd4fe43Sopenharmony_ci* limitations under the License.     \n
161bd4fe43Sopenharmony_ci*
171bd4fe43Sopenharmony_ci* Description: message APIs.CNcomment:消息接口。CNend
181bd4fe43Sopenharmony_ci* @li Wait message: the wait message API cannot be called, to avoid uncontrollable exception scheduling.
191bd4fe43Sopenharmony_ciCNcomment:等待消息:在中断、关中断、锁任务上下文禁止调用等待消息接口,进而产生不可控的异常调度。CNend
201bd4fe43Sopenharmony_ci* @li TX message: In the interrupt off context, the message TX API cannot be called, to avoid uncontrollable exception
211bd4fe43Sopenharmony_ci*     scheduling.CNcomment:发送消息:在关中断上下文禁止调用发送消息接口,进而产生不可控的异常调度。CNend
221bd4fe43Sopenharmony_ci* @li TX message (the timeout period is not 0): In the interrupt and task locked context, the message TX API cannot be
231bd4fe43Sopenharmony_ci*     called, to avoid uncontrollable exception scheduling.CNcomment:发送消息(超时时间非0):在中断、锁任务上下文禁止调用
241bd4fe43Sopenharmony_ci超时时间非0发送消息接口,进而产生不可控的异常调度。CNend  \n
251bd4fe43Sopenharmony_ci*/
261bd4fe43Sopenharmony_ci
271bd4fe43Sopenharmony_ci/**
281bd4fe43Sopenharmony_ci * @defgroup iot_msgqueue Message Queue
291bd4fe43Sopenharmony_ci * @ingroup osa
301bd4fe43Sopenharmony_ci */
311bd4fe43Sopenharmony_ci#ifndef __HI_MSG_H__
321bd4fe43Sopenharmony_ci#define __HI_MSG_H__
331bd4fe43Sopenharmony_ci#include <hi_types_base.h>
341bd4fe43Sopenharmony_ci
351bd4fe43Sopenharmony_ci/**
361bd4fe43Sopenharmony_ci * @ingroup iot_msgqueue
371bd4fe43Sopenharmony_ci *
381bd4fe43Sopenharmony_ci * Failed to read the message queue.CNcomment:读取消息队列出错。CNend
391bd4fe43Sopenharmony_ci */
401bd4fe43Sopenharmony_ci#define HI_MSG_INVALID_MSG_NUM 0xFFFFFFFF
411bd4fe43Sopenharmony_ci#define HI_SYS_MSG_PARAM_NUM_MAX 4
421bd4fe43Sopenharmony_ci
431bd4fe43Sopenharmony_citypedef struct {
441bd4fe43Sopenharmony_ci    hi_u32 msg_id; /* < Message ID.CNcomment:消息ID CNend */
451bd4fe43Sopenharmony_ci    uintptr_t param[HI_SYS_MSG_PARAM_NUM_MAX]; /* < Message parameter.CNcomment:消息参数 CNend */
461bd4fe43Sopenharmony_ci} hi_sys_queue_msg;
471bd4fe43Sopenharmony_ci
481bd4fe43Sopenharmony_ci/**
491bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
501bd4fe43Sopenharmony_ci* @brief   Creates a message queue.CNcomment:创建消息队列。CNend
511bd4fe43Sopenharmony_ci*
521bd4fe43Sopenharmony_ci* @par 描述:
531bd4fe43Sopenharmony_ci*           Creates a message queue.CNcomment:创建消息队列。CNend
541bd4fe43Sopenharmony_ci*
551bd4fe43Sopenharmony_ci* @attention The number of message queues supported by the system needs to be set during initialization.
561bd4fe43Sopenharmony_ciCNcomment:系统支持的总消息队列个数,需要在初始化阶段设置。CNend
571bd4fe43Sopenharmony_ci*
581bd4fe43Sopenharmony_ci* @param  id           [OUT] type  #hi_u32*,Handle of the created message queue.
591bd4fe43Sopenharmony_ciCNcomment:所创建的消息队列句柄。CNend
601bd4fe43Sopenharmony_ci* @param  queue_len    [IN]  type  #hi_u16,Message queue length, that is, the number of messages that can be stored
611bd4fe43Sopenharmony_ci*                      in the message queue.CNcomment:消息队列长度,即该消息队列支持存储多少条消息。CNend
621bd4fe43Sopenharmony_ci* @param  msg_size     [IN]  type  #hi_u32,Size of each message in the message queue (unit: byte)
631bd4fe43Sopenharmony_ciCNcomment:消息队列中一条消息大小(单位:byte)。CNend
641bd4fe43Sopenharmony_ci*
651bd4fe43Sopenharmony_ci* @retval #HI_ERR_SUCCESS           Success
661bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_INVALID_PARAM An input argument is incorrect, the handle pointer is null, the name address is
671bd4fe43Sopenharmony_ci*         null, or the message queue length is 0.CNcomment:入参错误、句柄指针为空、名字地址为空、消息队列长度为0。CNend
681bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_CREATE_Q_FAIL An error occurred when creating the message queue, for example, insufficient
691bd4fe43Sopenharmony_ci*         memory or insufficient message queue resources.
701bd4fe43Sopenharmony_ciCNcomment:创建消息队列错误,比如:内存不足、消息队列资源不足。CNend
711bd4fe43Sopenharmony_ci* @par 依赖:
721bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
731bd4fe43Sopenharmony_ci*            @li hi_config.h:Describes the message queue configuration.CNcomment:文件用于消息队列配置。CNend
741bd4fe43Sopenharmony_ci*            @li hi_errno.h:Describes file configuration error codes.CNcomment:文件配置错误码。CNend
751bd4fe43Sopenharmony_ci* @see hi_msg_queue_delete。
761bd4fe43Sopenharmony_ci*/
771bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_create(HI_OUT hi_u32 *id, hi_u16 queue_len, hi_u32 msg_size);
781bd4fe43Sopenharmony_ci
791bd4fe43Sopenharmony_ci/**
801bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
811bd4fe43Sopenharmony_ci* @brief  Deletes a message queue.CNcomment:删除消息队列。CNend
821bd4fe43Sopenharmony_ci*
831bd4fe43Sopenharmony_ci* @par 描述:
841bd4fe43Sopenharmony_ci*          Deletes a message queue.CNcomment:删除消息队列。CNend
851bd4fe43Sopenharmony_ci*
861bd4fe43Sopenharmony_ci* @attention None
871bd4fe43Sopenharmony_ci* @param  id           [IN] type  #hi_u32,Handle of the created message queue.CNcomment:消息队列句柄。CNend
881bd4fe43Sopenharmony_ci*
891bd4fe43Sopenharmony_ci* @retval #HI_ERR_SUCCESS           Success
901bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_Q_DELETE_FAIL An error occurred with the message queue, for example, the ID is out of
911bd4fe43Sopenharmony_ci*         range, the message queue is not created, or the message queue is in use.CNcomment:删除消息队列错误,
921bd4fe43Sopenharmony_ci比如:ID越界、消息队列未创建、消息队列正在使用中无法删除等。CNend
931bd4fe43Sopenharmony_ci* @par 依赖:
941bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
951bd4fe43Sopenharmony_ci*            @li hi_config.h:Describes the message queue configuration.CNcomment:文件用于消息队列配置。CNend
961bd4fe43Sopenharmony_ci*            @li hi_errno.h:Describes file configuration error codes.CNcomment:文件配置错误码。CNend
971bd4fe43Sopenharmony_ci @see hi_msg_queue_create。
981bd4fe43Sopenharmony_ci*/
991bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_delete(hi_u32 id);
1001bd4fe43Sopenharmony_ci
1011bd4fe43Sopenharmony_ci/**
1021bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
1031bd4fe43Sopenharmony_ci* @brief   Sends a message.CNcomment:发送消息。CNend
1041bd4fe43Sopenharmony_ci*
1051bd4fe43Sopenharmony_ci* @par 描述:
1061bd4fe43Sopenharmony_ci*           Sends a message.发送消息。CNend
1071bd4fe43Sopenharmony_ci*
1081bd4fe43Sopenharmony_ci* @attention None
1091bd4fe43Sopenharmony_ci* @param  id           [IN] type #hi_u32,Message queue handle.CNcomment:消息队列句柄。CNend
1101bd4fe43Sopenharmony_ci* @param  msg          [IN] type #hi_pvoid,Message content pointer.CNcomment:消息内容指针。CNend
1111bd4fe43Sopenharmony_ci* @param  timeout_ms   [IN] type #hi_u32,Timeout period for sending a message. The value 0 indicates
1121bd4fe43Sopenharmony_ci*                      that the message is sent immediately.CNcomment:消息发送的最大超时时间(单位:ms),
1131bd4fe43Sopenharmony_ci立即发送时写0。CNend
1141bd4fe43Sopenharmony_ci* @param  msg_size     [IN] type #hi_u32,Size of the sent message (unit: byte).
1151bd4fe43Sopenharmony_ciCNcomment:发送消息大小(单位:byte)。CNend
1161bd4fe43Sopenharmony_ci*
1171bd4fe43Sopenharmony_ci* @retval #HI_ERR_SUCCESS           Success.
1181bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_SEND_FAIL     An error occurs with the message queue, for example, an input argument is
1191bd4fe43Sopenharmony_ci*                                   incorrect, the message queue is not created, the size of the sent data is
1201bd4fe43Sopenharmony_ci*                                   greater than the configured size when the queue is created, or the API is
1211bd4fe43Sopenharmony_ci*                                   used in an interrupt but the timeout period is not 0.
1221bd4fe43Sopenharmony_ciCNcomment:发送消息队列错误,包括:入参错误、消息队列未创建、发送数据大于队列创建时设置大小、
1231bd4fe43Sopenharmony_ci中断中使用但超时时间不为0。CNend
1241bd4fe43Sopenharmony_ci*
1251bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_INVALID_PARAM An input argument is incorrect or the message queue pointer is null.
1261bd4fe43Sopenharmony_ciCNcomment:入参错误、消息队列指针为空。CNend
1271bd4fe43Sopenharmony_ci*
1281bd4fe43Sopenharmony_ci* @par 依赖:
1291bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
1301bd4fe43Sopenharmony_ci*            @li hi_config.h:Describes the message queue configuration.CNcomment:文件用于消息队列配置。CNend
1311bd4fe43Sopenharmony_ci*            @li hi_errno.h:Describes file configuration error codes.CNcomment:文件配置错误码。CNend
1321bd4fe43Sopenharmony_ci* @see hi_msg_queue_wait。
1331bd4fe43Sopenharmony_ci*/
1341bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_send(hi_u32 id, hi_pvoid msg, hi_u32 timeout_ms, hi_u32 msg_size);
1351bd4fe43Sopenharmony_ci
1361bd4fe43Sopenharmony_ci/**
1371bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
1381bd4fe43Sopenharmony_ci* @brief  Receives a message.CNcomment:接收消息。CNend
1391bd4fe43Sopenharmony_ci*
1401bd4fe43Sopenharmony_ci* @par 描述:
1411bd4fe43Sopenharmony_ci*           Receives a message.CNcomment:接收消息。CNend
1421bd4fe43Sopenharmony_ci*
1431bd4fe43Sopenharmony_ci* @attention None
1441bd4fe43Sopenharmony_ci* @param  id          [IN]   type #hi_u32,Message queue handle.CNcomment:消息队列句柄。CNend
1451bd4fe43Sopenharmony_ci* @param  msg         [OUT]  type #hi_pvoid,Message content pointer.CNcomment:消息内容指针。CNend
1461bd4fe43Sopenharmony_ci* @param  timeout_ms  [IN]   type #hi_u32,Timeout period for receiving a message. The value #HI_SYS_WAIT_FOREVER
1471bd4fe43Sopenharmony_ci*                     indicates permanent wait.CNcomment:消息接收超时时间(单位:ms),
1481bd4fe43Sopenharmony_ci如果表示永久等待使用#HI_SYS_WAIT_FOREVER。CNend
1491bd4fe43Sopenharmony_ci* @param  msg_size    [IN]   type #hi_u32*,Expected message length (unit: byte),if wait msg success, this val will fill
1501bd4fe43Sopenharmony_ciwith actually size of msg.
1511bd4fe43Sopenharmony_ciCNcomment:输入期望的消息长度(单位:byte),如果等待消息成功,该值将被赋值为实际接收到的消息长度。CNend
1521bd4fe43Sopenharmony_ci*
1531bd4fe43Sopenharmony_ci* @retval #HI_ERR_SUCCESS           Success.CNcomment:消息接收成功。CNend
1541bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_WAIT_FAIL     An error occurs with the message queue, for example, an input argument is incorrect,
1551bd4fe43Sopenharmony_ci*                                   the message queue is not created, the size of the waiting message is smaller than
1561bd4fe43Sopenharmony_ci*                                   the size set when the queue is created, or the API is used in an interrupt but the
1571bd4fe43Sopenharmony_ci*                                   timeout period is not 0.CNcomment:等待消息队列错误,比如:入参不正确、消息队列未
1581bd4fe43Sopenharmony_ci创建、等待消息大小小于队列创建时设置大小、中断中等待超时非零的消息队列。CNend
1591bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_INVALID_PARAM An input argument is incorrect or the message queue pointer is null.
1601bd4fe43Sopenharmony_ciCNcomment:入参错误、消息队列指针为空。CNend
1611bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_WAIT_TIME_OUT No message is received when the waiting times out.
1621bd4fe43Sopenharmony_ciCNcomment:等待超时未收到消息。CNend
1631bd4fe43Sopenharmony_ci* @par 依赖:
1641bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
1651bd4fe43Sopenharmony_ci*            @li hi_config.h:Describes the message queue configuration.CNcomment:文件用于消息队列配置。CNend
1661bd4fe43Sopenharmony_ci*            @li hi_errno.h:Describes file configuration error codes.CNcomment:文件配置错误码。CNend
1671bd4fe43Sopenharmony_ci* @see hi_msg_queue_send。
1681bd4fe43Sopenharmony_ci*/
1691bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_wait(hi_u32 id, HI_OUT hi_pvoid msg, hi_u32 timeout_ms, hi_u32* msg_size);
1701bd4fe43Sopenharmony_ci
1711bd4fe43Sopenharmony_ci/**
1721bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
1731bd4fe43Sopenharmony_ci* @brief   Checks whether the message queue is full.CNcomment:检查消息队列是否已满。CNend
1741bd4fe43Sopenharmony_ci*
1751bd4fe43Sopenharmony_ci* @par 描述:
1761bd4fe43Sopenharmony_ci*           Checks whether the message queue is full.CNcomment:检查消息队列是否已满。CNend
1771bd4fe43Sopenharmony_ci*
1781bd4fe43Sopenharmony_ci* @attention None
1791bd4fe43Sopenharmony_ci* @param  id        [IN] type #hi_u32,Message queue handle.CNcomment:消息队列句柄。CNend
1801bd4fe43Sopenharmony_ci*
1811bd4fe43Sopenharmony_ci* @retval #HI_TRUE  The message queue is full or the message queue information fails to be obtained.
1821bd4fe43Sopenharmony_ciCNcomment:消息队列已满或获取消息队列信息失败。CNend
1831bd4fe43Sopenharmony_ci* @retval #HI_FALSE The message queue is not full.CNcomment:消息队列未满。CNend
1841bd4fe43Sopenharmony_ci* @par 依赖:
1851bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
1861bd4fe43Sopenharmony_ci* @see None
1871bd4fe43Sopenharmony_ci*/
1881bd4fe43Sopenharmony_cihi_bool hi_msg_queue_is_full(hi_u32 id);
1891bd4fe43Sopenharmony_ci
1901bd4fe43Sopenharmony_ci/**
1911bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
1921bd4fe43Sopenharmony_ci* @brief   Obtains the number of used message queues.CNcomment:获取当前已经使用的消息队列个数。CNend
1931bd4fe43Sopenharmony_ci*
1941bd4fe43Sopenharmony_ci* @par 描述:
1951bd4fe43Sopenharmony_ci*           Obtains the number of used message queues.CNcomment:获取当前已经使用的消息队列个数。CNend
1961bd4fe43Sopenharmony_ci*
1971bd4fe43Sopenharmony_ci* @attention None
1981bd4fe43Sopenharmony_ci* @param  id       [IN] #hi_u32,Handle of the created message queue.CNcomment:消息队列句柄。CNend
1991bd4fe43Sopenharmony_ci*
2001bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_INVALID_MSG_NUM  Failed to read the message queue.CNcomment:读取消息队列出错。CNend
2011bd4fe43Sopenharmony_ci* @retval value                        Number of used message queues.CNcomment:消息队列使用个数。CNend
2021bd4fe43Sopenharmony_ci* @par 依赖:
2031bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
2041bd4fe43Sopenharmony_ci* @see None
2051bd4fe43Sopenharmony_ci*/
2061bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_get_msg_num(hi_u32 id);
2071bd4fe43Sopenharmony_ci
2081bd4fe43Sopenharmony_ci/**
2091bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
2101bd4fe43Sopenharmony_ci* @brief  Obtains the number of message queues.CNcomment:获取消息队列总个数。CNend
2111bd4fe43Sopenharmony_ci*
2121bd4fe43Sopenharmony_ci* @par 描述:
2131bd4fe43Sopenharmony_ci*           Obtains the number of message queues.CNcomment:获取消息队列总个数。CNend
2141bd4fe43Sopenharmony_ci*
2151bd4fe43Sopenharmony_ci* @attention None
2161bd4fe43Sopenharmony_ci* @param  id       [IN] #hi_u32,Handle of the created message queue.CNcomment:消息队列句柄。CNend
2171bd4fe43Sopenharmony_ci*
2181bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_INVALID_MSG_NUM  An error occurs with the message queue. For example: An input argument is
2191bd4fe43Sopenharmony_ci*         incorrect, or the message queue is not created.
2201bd4fe43Sopenharmony_ciCNcomment:读取消息队列出错、入参错误、消息队列未创建。CNend
2211bd4fe43Sopenharmony_ci* @retval value                        Number of message queues.CNcomment:消息队列总个数。CNend
2221bd4fe43Sopenharmony_ci* @par 依赖:
2231bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
2241bd4fe43Sopenharmony_ci* @see None
2251bd4fe43Sopenharmony_ci*/
2261bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_get_msg_total(hi_u32 id);
2271bd4fe43Sopenharmony_ci
2281bd4fe43Sopenharmony_ci
2291bd4fe43Sopenharmony_ci/**
2301bd4fe43Sopenharmony_ci* @ingroup  iot_msgqueue
2311bd4fe43Sopenharmony_ci* @brief   Send a message to the head of the queue.发送消息到队列头。Nend
2321bd4fe43Sopenharmony_ci*
2331bd4fe43Sopenharmony_ci* @par 描述:
2341bd4fe43Sopenharmony_ci*           Send a message to the head of the queue.发送消息到队列头。CNend
2351bd4fe43Sopenharmony_ci*
2361bd4fe43Sopenharmony_ci* @attention None
2371bd4fe43Sopenharmony_ci* @param  id           [IN] type #hi_u32,Message queue handle.CNcomment:消息队列句柄。CNend
2381bd4fe43Sopenharmony_ci* @param  msg          [IN] type #hi_pvoid,Message content pointer.CNcomment:消息内容指针。CNend
2391bd4fe43Sopenharmony_ci* @param  timeout_ms   [IN] type #hi_u32,Timeout period for sending a message. The value 0 indicates
2401bd4fe43Sopenharmony_ci*                      that the message is sent immediately.CNcomment:消息发送的最大超时时间(单位:ms),
2411bd4fe43Sopenharmony_ci立即发送时写0。CNend
2421bd4fe43Sopenharmony_ci* @param  msg_size     [IN] type #hi_u32,Size of the sent message (unit: byte).
2431bd4fe43Sopenharmony_ciCNcomment:发送消息大小(单位:byte)。CNend
2441bd4fe43Sopenharmony_ci*
2451bd4fe43Sopenharmony_ci* @retval #HI_ERR_SUCCESS           Success.
2461bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_SEND_FAIL     An error occurs with the message queue, for example, an input argument is
2471bd4fe43Sopenharmony_ci*                                   incorrect, the message queue is not created, the size of the sent data is
2481bd4fe43Sopenharmony_ci*                                   greater than the configured size when the queue is created, or the API is
2491bd4fe43Sopenharmony_ci*                                   used in an interrupt but the timeout period is not 0.
2501bd4fe43Sopenharmony_ciCNcomment:发送消息队列错误,包括:入参错误、消息队列未创建、发送数据大于队列创建时设置大小、
2511bd4fe43Sopenharmony_ci中断中使用但超时时间不为0。CNend
2521bd4fe43Sopenharmony_ci*
2531bd4fe43Sopenharmony_ci* @retval #HI_ERR_MSG_INVALID_PARAM An input argument is incorrect or the message queue pointer is null.
2541bd4fe43Sopenharmony_ciCNcomment:入参错误、消息队列指针为空。CNend
2551bd4fe43Sopenharmony_ci*
2561bd4fe43Sopenharmony_ci* @par 依赖:
2571bd4fe43Sopenharmony_ci*            @li hi_msg.h:Describes message queue APIs.CNcomment:文件用于描述消息队列相关接口。CNend
2581bd4fe43Sopenharmony_ci*            @li hi_config.h:Describes the message queue configuration.CNcomment:文件用于消息队列配置。CNend
2591bd4fe43Sopenharmony_ci*            @li hi_errno.h:Describes file configuration error codes.CNcomment:文件配置错误码。CNend
2601bd4fe43Sopenharmony_ci* @see hi_msg_queue_wait。
2611bd4fe43Sopenharmony_ci*/
2621bd4fe43Sopenharmony_cihi_u32 hi_msg_queue_send_msg_to_front(hi_u32 id,  hi_pvoid msg, hi_u32 msg_size, hi_u32 timeout_ms);
2631bd4fe43Sopenharmony_ci
2641bd4fe43Sopenharmony_ci
2651bd4fe43Sopenharmony_ci#endif
2661bd4fe43Sopenharmony_ci
267