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