update for HEAD-2003050101
[reactos.git] / lib / freetype / src / otlayout / otlutils.h
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__ */