38 #ifndef reda_bufferpool_h
39 #define reda_bufferpool_h
53 struct REDA_BufferPoolProperty
60 RTI_SIZE_T buffer_size;
65 RTI_SIZE_T max_buffers;
78 #define REDA_BUFFERPOOL_FLAG_ARRAY_ALLOC (0x1)
84 #define REDA_BufferPoolProperty_INITIALIZER \
96 #define REDA_BUFFERPOOL_UNLIMITED (0xffffffff)
98 struct REDA_BufferPool;
103 typedef struct REDA_BufferPool *REDA_BufferPool_T;
118 FUNCTION_MUST_TYPEDEF(
120 (*REDA_BufferPool_initializeFunc_T)(
void *initialize_param,
void *buffer)
134 FUNCTION_SHOULD_TYPEDEF(
136 (*REDA_BufferPool_finalizeFunc_T)(
void *finalize_param,
void *buffer)
160 MUST_CHECK_RETURN REDADllExport REDA_BufferPool_T
161 REDA_BufferPool_new(
struct REDA_BufferPoolProperty *property,
162 REDA_BufferPool_initializeFunc_T initialize_func,
163 void *initialize_param,
164 REDA_BufferPool_finalizeFunc_T finalize_func,
165 void *finalize_param);
182 SHOULD_CHECK_RETURN REDADllExport
RTI_BOOL
183 REDA_BufferPool_delete(REDA_BufferPool_T pool);
201 MUST_CHECK_RETURN REDADllExport
void*
202 REDA_BufferPool_get_buffer(REDA_BufferPool_T pool);
221 REDA_BufferPool_return_buffer(REDA_BufferPool_T pool,
void *buffer);