]> 4ch.mooo.com Git - 16.git/blob - src/lib/16_hc.h
36b95841ea0b8ee38a1b74985a00c41ba3e12a7e
[16.git] / src / lib / 16_hc.h
1 /* Project 16 Source Code~\r
2  * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
3  *\r
4  * This file is part of Project 16.\r
5  *\r
6  * Project 16 is free software; you can redistribute it and/or modify\r
7  * it under the terms of the GNU General Public License as published by\r
8  * the Free Software Foundation; either version 3 of the License, or\r
9  * (at your option) any later version.\r
10  *\r
11  * Project 16 is distributed in the hope that it will be useful,\r
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14  * GNU General Public License for more details.\r
15  *\r
16  * You should have received a copy of the GNU General Public License\r
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>, or\r
18  * write to the Free Software Foundation, Inc., 51 Franklin Street,\r
19  * Fifth Floor, Boston, MA 02110-1301 USA.\r
20  *\r
21  */\r
22 /*\r
23         heap check\r
24 */\r
25 \r
26 #ifndef __16HC__\r
27 #define __16HC__\r
28 \r
29 #include "src/lib/16_head.h"\r
30 \r
31 typedef struct heapusage\r
32 {\r
33         unsigned long h_free, h_total, h_used;\r
34         int heap_status;\r
35 } hc_use_t;\r
36 \r
37 #ifdef __BORLANDC__\r
38 #if 0\r
39 /*typedef */struct _heapinfo\r
40 {\r
41         int       _far *_pentry;        //- heap entry pointer\r
42         size_t _size;           //- size of heap entry\r
43         int       _useflag;             //- entry in use return value\r
44 };// _heapinfo_t;\r
45 #endif\r
46 \r
47 #define _HEAPBADBEGIN   2       /* heap header is corrupted */\r
48 #define _HEAPBADNODE    3       /* heap entry is corrupted */\r
49 #define _HEAPBADPTR     5       /* invalid heap entry pointer (_heapwalk) */\r
50 #endif\r
51 \r
52 //long HC_Newfarcoreleft();\r
53 void __near* HC_LargestFreeBlock(size_t* Size);\r
54 size_t HC_coreleft(void);\r
55 void far* HC_LargestFarFreeBlock(dword* Size);\r
56 unsigned long HC_farcoreleft(void);\r
57 //size_t HC_GetFreeSize(void);\r
58 unsigned long HC_GetFarFreeSize(void);\r
59 size_t HC_GetNearFreeSize(void);\r
60 \r
61 void HC_heapdump(global_game_variables_t *gvar);\r
62 void HCL_heapstatLogWrite(global_game_variables_t *gvar, int heap_status, byte *str);\r
63 void HCL_heapstat(int heap_status);\r
64 \r
65 void HC_OpenDebug(global_game_variables_t *gvar);\r
66 void HC_CloseDebug(global_game_variables_t *gvar);\r
67 \r
68 #ifdef __WATCOMC__\r
69 unsigned long farcoreleft();\r
70 unsigned long coreleft();\r
71 #endif\r
72 \r
73 #endif /* __16HC__ */\r