diff options
Diffstat (limited to 'libraries/ode-0.9/include/ode/memory.h')
-rw-r--r-- | libraries/ode-0.9/include/ode/memory.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libraries/ode-0.9/include/ode/memory.h b/libraries/ode-0.9/include/ode/memory.h new file mode 100644 index 0000000..c1af051 --- /dev/null +++ b/libraries/ode-0.9/include/ode/memory.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /************************************************************************* | ||
2 | * * | ||
3 | * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. * | ||
4 | * All rights reserved. Email: russ@q12.org Web: www.q12.org * | ||
5 | * * | ||
6 | * This library is free software; you can redistribute it and/or * | ||
7 | * modify it under the terms of EITHER: * | ||
8 | * (1) The GNU Lesser General Public License as published by the Free * | ||
9 | * Software Foundation; either version 2.1 of the License, or (at * | ||
10 | * your option) any later version. The text of the GNU Lesser * | ||
11 | * General Public License is included with this library in the * | ||
12 | * file LICENSE.TXT. * | ||
13 | * (2) The BSD-style license that is included with this library in * | ||
14 | * the file LICENSE-BSD.TXT. * | ||
15 | * * | ||
16 | * This library is distributed in the hope that it will be useful, * | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * | ||
19 | * LICENSE.TXT and LICENSE-BSD.TXT for more details. * | ||
20 | * * | ||
21 | *************************************************************************/ | ||
22 | |||
23 | /* this comes from the `reuse' library. copy any changes back to the source */ | ||
24 | |||
25 | #ifndef _ODE_MEMORY_H_ | ||
26 | #define _ODE_MEMORY_H_ | ||
27 | |||
28 | #include "ode/config.h" | ||
29 | |||
30 | #ifdef __cplusplus | ||
31 | extern "C" { | ||
32 | #endif | ||
33 | |||
34 | /* function types to allocate and free memory */ | ||
35 | typedef void * dAllocFunction (size_t size); | ||
36 | typedef void * dReallocFunction (void *ptr, size_t oldsize, size_t newsize); | ||
37 | typedef void dFreeFunction (void *ptr, size_t size); | ||
38 | |||
39 | /* set new memory management functions. if fn is 0, the default handlers are | ||
40 | * used. */ | ||
41 | ODE_API void dSetAllocHandler (dAllocFunction *fn); | ||
42 | ODE_API void dSetReallocHandler (dReallocFunction *fn); | ||
43 | ODE_API void dSetFreeHandler (dFreeFunction *fn); | ||
44 | |||
45 | /* get current memory management functions */ | ||
46 | ODE_API dAllocFunction *dGetAllocHandler (void); | ||
47 | ODE_API dReallocFunction *dGetReallocHandler (void); | ||
48 | ODE_API dFreeFunction *dGetFreeHandler (void); | ||
49 | |||
50 | /* allocate and free memory. */ | ||
51 | ODE_API void * dAlloc (size_t size); | ||
52 | ODE_API void * dRealloc (void *ptr, size_t oldsize, size_t newsize); | ||
53 | ODE_API void dFree (void *ptr, size_t size); | ||
54 | |||
55 | #ifdef __cplusplus | ||
56 | } | ||
57 | #endif | ||
58 | |||
59 | #endif | ||