1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  *
4  * HDF is dual licensed: you can use it either under the terms of
5  * the GPL, or the BSD license, at your option.
6  * See the LICENSE file in the root of this repository for complete details.
7  */
8 
9 #ifndef CAN_MSG_H
10 #define CAN_MSG_H
11 
12 #include "can_if.h"
13 #include "hdf_sref.h"
14 #include "platform_queue.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
19 
20 struct CanMsgPool;
21 
22 void CanMsgGet(const struct CanMsg *msg);
23 
24 void CanMsgPut(const struct CanMsg *msg);
25 
26 struct CanMsg *CanMsgPoolObtainMsg(struct CanMsgPool *pool);
27 
28 struct CanMsgPool *CanMsgPoolCreate(size_t size);
29 
30 void CanMsgPoolDestroy(struct CanMsgPool *pool);
31 
32 #ifdef __cplusplus
33 }
34 #endif /* __cplusplus */
35 
36 #endif
37