b5246c8c4a5271df270291a3e25d9557315a8890
[scilab.git] / scilab / modules / core / includes / win_mem_alloc.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - 2005 - Allan CORNET
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #ifndef __WIN_MEM_ALLOC__
14 #define __WIN_MEM_ALLOC__
15
16 #ifdef NULL
17 #undef NULL
18 #endif
19 #define NULL 0
20
21 #include <crtdefs.h>
22
23
24 void *MyHeapRealloc(void *lpAddress, size_t dwSize, char *file, int line);
25 void *MyHeapAlloc(size_t dwSize, char *file, int line);
26 void MyHeapFree(void *lpAddress, char *file, int line);
27 void *MyVirtualAlloc(size_t dwSize, char *file, int line);
28 void MyVirtualFree(void *lpAddress, char *file, int line);
29
30 void *MyHeapRealloc2(void *lpAddress, size_t dwSize, char *file, int line);
31 void *MyHeapAlloc2(size_t dwSize, char *file, int line);
32 void MyHeapFree2(void *lpAddress, char *file, int line);
33 void *MyVirtualAlloc2(size_t dwSize, char *file, int line);
34 void MyVirtualFree2(void *lpAddress, char *file, int line);
35
36
37 #ifdef MALLOC
38 #undef MALLOC
39 #endif
40 #define MALLOC(x) MyHeapAlloc(x,__FILE__,__LINE__)
41
42 #ifdef FREE
43 #undef FREE
44 #endif
45 #define FREE(x) if (x  != NULL) MyHeapFree((char *)x,__FILE__,__LINE__);
46
47 #ifdef CALLOC
48 #undef CALLOC
49 #endif
50 #define CALLOC(x,y) MyHeapAlloc(((x)*(y)),__FILE__,__LINE__)
51
52
53 #ifdef REALLOC
54 #undef REALLOC
55 #endif
56 #define REALLOC(x,y) MyHeapRealloc(x, y,__FILE__,__LINE__)
57
58 #ifdef SCISTACKMALLOC
59 #undef SCISTACKMALLOC
60 #endif
61 #define SCISTACKMALLOC(x) MyVirtualAlloc((unsigned long)x,__FILE__,__LINE__)
62
63 #ifdef SCISTACKFREE
64 #undef SCISTACKFREE
65 #endif
66 #define SCISTACKFREE(x) if (x  != NULL) MyVirtualFree((char *) x,__FILE__,__LINE__);
67
68 #endif /* __WIN_MEM_ALLOC__ */