xref: /rockchip-linux_mpp/osal/inc/mpp_mem_pool.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2 /*
3  * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4  */
5 
6 #ifndef __MPP_MEM_POOL_H__
7 #define __MPP_MEM_POOL_H__
8 
9 #include "mpp_mem.h"
10 
11 typedef void* MppMemPool;
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #define mpp_mem_pool_init_f(name, size) mpp_mem_pool_init(name, size, __FUNCTION__)
18 #define mpp_mem_pool_deinit_f(pool)     mpp_mem_pool_deinit(pool, __FUNCTION__);
19 
20 #define mpp_mem_pool_get_f(pool)        mpp_mem_pool_get(pool, __FUNCTION__)
21 #define mpp_mem_pool_put_f(pool, p)     mpp_mem_pool_put(pool, p, __FUNCTION__)
22 
23 MppMemPool mpp_mem_pool_init(const char *name, size_t size, const char *caller);
24 void mpp_mem_pool_deinit(MppMemPool pool, const char *caller);
25 
26 void *mpp_mem_pool_get(MppMemPool pool, const char *caller);
27 void mpp_mem_pool_put(MppMemPool pool, void *p, const char *caller);
28 
29 #ifdef __cplusplus
30 }
31 #endif
32 
33 #endif /*__MPP_MEM_POOL_H__*/
34