/********************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1987-1990 **/ /********************************************************************/ #ifndef _HEAP_INCLUDED #define _HEAP_INCLUDED //static char *SCCSID = "@(#)heap.h 1.1 85/10/09"; // // Shared Memory Heap Allocator include file // // // Constant definitions // #define INULL ((DWORD) -1) // // Structure and macro definitions // // // Heap Block Header // typedef struct blk { DWORD hp_size; // Size of block incl. header DWORD hp_flag; // Allocation flag }HEAPHDR, *PHEAPHDR, *LPHEAPHDR; #define HP_SIZE(x) (x).hp_size #define HP_FLAG(x) (x).hp_flag #define HPTR(x) ((LPHEAPHDR) &heap[(x)]) #define CPTR(x) (&heap[(x)]) #define Msgheapfree(x) HP_FLAG(*HPTR(x)) = 0 // // Data // extern LPBYTE heap; // Pointer to start of heap extern DWORD heapln; // Length of heap // // Functions // DWORD Msgheapalloc( IN DWORD NumBytes ); #endif // _HEAP_INCLUDED