OSDN Git Service

010d04f29011292c3f5915b125fe7e6c6b178750
[proj16/16.git] / src / lib / 16_hc.h
1 /* Project 16 Source Code~\r
2  * Copyright (C) 2012-2019 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 __WATCOMC__\r
38 #define NPTR __near\r
39 #endif\r
40 \r
41 #ifdef __BORLANDC__\r
42 #define NPTR\r
43 \r
44 #define _HEAPBADBEGIN   2       /* heap header is corrupted */\r
45 #define _HEAPBADNODE    3       /* heap entry is corrupted */\r
46 #define _HEAPBADPTR     5       /* invalid heap entry pointer (_heapwalk) */\r
47 #endif\r
48 \r
49 //long HC_Newfarcoreleft();\r
50 void NPTR* HC_LargestFreeBlock(size_t* Size);\r
51 size_t HC_coreleft(void);\r
52 void far* HC_LargestFarFreeBlock(dword* Size);\r
53 unsigned long HC_farcoreleft(void);\r
54 //size_t HC_GetFreeSize(void);\r
55 unsigned long HC_GetFarFreeSize(void);\r
56 size_t HC_GetNearFreeSize(void);\r
57 \r
58 void HC_heapdump(global_game_variables_t *gvar);\r
59 void HCL_heapstatLogWrite(global_game_variables_t *gvar, int heap_status, byte *str);\r
60 void HCL_heapstat(int heap_status);\r
61 \r
62 void HC_OpenDebug(global_game_variables_t *gvar);\r
63 void HC_CloseDebug(global_game_variables_t *gvar);\r
64 \r
65 #ifdef __WATCOMC__\r
66 unsigned long farcoreleft();\r
67 unsigned long coreleft();\r
68 #endif\r
69 \r
70 #endif /* __16HC__ */\r