/* Project 16 Source Code~\r
- * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2022 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
*\r
*/\r
/*\r
- heap test stuff\r
+ heap check\r
*/\r
\r
#ifndef __16HC__\r
\r
#include "src/lib/16_head.h"\r
\r
-long HC_farcoreleft();\r
-#ifdef __BORLANDC__\r
-void * HC_LargestFreeBlock(size_t* Size);\r
-#endif\r
+typedef struct heapusage\r
+{\r
+ unsigned long h_free, h_total, h_used;\r
+ int heap_status;\r
+} hc_use_t;\r
+\r
#ifdef __WATCOMC__\r
-void __near* HC_LargestFreeBlock(size_t* Size);\r
+#define NPTR __near\r
#endif\r
+\r
+#ifdef __BORLANDC__\r
+#define NPTR\r
+\r
+#define _HEAPBADBEGIN 2 /* heap header is corrupted */\r
+#define _HEAPBADNODE 3 /* heap entry is corrupted */\r
+#define _HEAPBADPTR 5 /* invalid heap entry pointer (_heapwalk) */\r
+#endif\r
+\r
+//long HC_Newfarcoreleft();\r
+void NPTR* HC_LargestFreeBlock(size_t* Size);\r
size_t HC_coreleft(void);\r
-void far* HC_LargestFarFreeBlock(size_t* Size);\r
-size_t HC_farcoreleft_(void);\r
-/*void huge* LargestHugeFreeBlock(size_t* Size);\r
-size_t _hugecoreleft(void);\r
-void __based(__self)* LargestBasedFreeBlock(size_t* Size);\r
-size_t _basedcoreleft(void);*/\r
-size_t HC_GetFreeSize(void);\r
-size_t HC_GetFarFreeSize(void);\r
+void far* HC_LargestFarFreeBlock(dword* Size);\r
+unsigned long HC_farcoreleft(void);\r
+//size_t HC_GetFreeSize(void);\r
+unsigned long HC_GetFarFreeSize(void);\r
size_t HC_GetNearFreeSize(void);\r
+\r
void HC_heapdump(global_game_variables_t *gvar);\r
-void HC_heapstat(global_game_variables_t *gvar, int heap_status, byte *str);\r
-void HC_heapstat0(int heap_status);\r
+void HCL_heapstatLogWrite(global_game_variables_t *gvar, int heap_status, byte *str);\r
+void HCL_heapstat(int heap_status);\r
\r
void HC_OpenDebug(global_game_variables_t *gvar);\r
void HC_CloseDebug(global_game_variables_t *gvar);\r