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