1 | /* Copyright (c) 2001, Stanford University
|
---|
2 | * All rights reserved.
|
---|
3 | *
|
---|
4 | * See the file LICENSE.txt for information on redistributing this software.
|
---|
5 | */
|
---|
6 |
|
---|
7 | #ifndef CR_MEM_H
|
---|
8 | #define CR_MEM_H
|
---|
9 |
|
---|
10 | #include <iprt/types.h>
|
---|
11 |
|
---|
12 | #ifdef __cplusplus
|
---|
13 | extern "C" {
|
---|
14 | #endif
|
---|
15 |
|
---|
16 | #define DEBUG_MEM 0
|
---|
17 |
|
---|
18 | void *crAllocDebug( unsigned int nbytes, const char *file, int line );
|
---|
19 | void *crCallocDebug( unsigned int nbytes, const char *file, int line );
|
---|
20 | #if DEBUG_MEM
|
---|
21 | #define crAlloc(N) crAllocDebug(N, __FILE__, __LINE__)
|
---|
22 | #define crCalloc(N) crCallocDebug(N, __FILE__, __LINE__)
|
---|
23 | #else
|
---|
24 | extern DECLEXPORT(void *) crAlloc( unsigned int nbytes );
|
---|
25 | extern DECLEXPORT(void *) crCalloc( unsigned int nbytes );
|
---|
26 | #endif
|
---|
27 | extern DECLEXPORT(void) crRealloc( void **ptr, unsigned int bytes );
|
---|
28 | extern DECLEXPORT(void) crFree( void *ptr );
|
---|
29 | extern DECLEXPORT(void) crMemcpy( void *dst, const void *src, unsigned int bytes );
|
---|
30 | extern DECLEXPORT(void) crMemset( void *ptr, int value, unsigned int bytes );
|
---|
31 | extern DECLEXPORT(void) crMemZero( void *ptr, unsigned int bytes );
|
---|
32 | extern DECLEXPORT(int) crMemcmp( const void *p1, const void *p2, unsigned int bytes );
|
---|
33 |
|
---|
34 | #ifdef __cplusplus
|
---|
35 | }
|
---|
36 | #endif
|
---|
37 |
|
---|
38 | #endif /* CR_MEM_H */
|
---|