1 #ifndef __OTLAYOUT_UTILS_H__ 2 #define __OTLAYOUT_UTILS_H__ 3 4 #include "otlayout.h" 5 6 OTL_BEGIN_HEADER 7 8 OTL_LOCAL( OTL_Error ) 9 otl_mem_alloc( OTL_Pointer* pblock, 10 OTL_ULong size, 11 OTL_Memory memory ); 12 13 OTL_LOCAL( void ) 14 otl_mem_free( OTL_Pointer* pblock, 15 OTL_Memory memory ); 16 17 OTL_LOCAL( OTL_Error ) 18 otl_mem_realloc( OTL_Pointer *pblock, 19 OTL_ULong cur_size, 20 OTL_ULong new_size, 21 OTL_Memory memory ); 22 23 #define OTL_MEM_ALLOC(p,s) otl_mem_alloc( (void**)&(p), (s), memory ) 24 #define OTL_MEM_FREE(p) otl_mem_free( (void**)&(p), memory ) 25 #define OTL_MEM_REALLOC(p,c,n) otl_mem_realloc( (void**)&(p), (c), (s), memory ) 26 27 #define OTL_MEM_NEW(p) OTL_MEM_ALLOC(p,sizeof(*(p))) 28 #define OTL_MEM_NEW_ARRAY(p,c) OTL_MEM_ALLOC(p,(c)*sizeof(*(p))) 29 #define OTL_MEM_RENEW_ARRAY(p,c,n) OTL_MEM_REALLOC(p,(c)*sizeof(*(p)),(n)*sizeof(*(p))) 30 31 OTL_END_HEADER 32 33 #endif /* __OTLAYOUT_UTILS_H__ */ 34