home *** CD-ROM | disk | FTP | other *** search
/ Shareware Supreme Volume 6 #1 / swsii.zip / swsii / 099 / HEAP20.ZIP / HEAP.H < prev    next >
C/C++ Source or Header  |  1993-10-05  |  2KB  |  42 lines

  1. /*       HEAP.H  -  Include file for the Heap Library
  2. */
  3.  
  4. /*  Global type definitions
  5. */
  6. typedef  unsigned char  uchar;
  7. typedef  unsigned long  ulong;
  8. typedef  unsigned int   uint;
  9. typedef  char far*      fptr;
  10. typedef  char huge*     hptr;
  11.  
  12. /*  Global definitions
  13. */
  14. #define  ERR_NOTINIT       1             /* InitHeap() was not called        */
  15. #define  ERR_ALREADYINIT   2             /* InitHeap() was already called    */
  16. #define  ERR_SIZETOOSMALL  3             /* Requested size too small         */
  17. #define  ERR_SIZETOOLARGE  4             /* Requested size too large         */
  18. #define  ERR_TOOMANYHAND   5             /* Too many handles already used    */
  19. #define  ERR_HANDNOTFOUND  6             /* Requested handle not found       */
  20.  
  21. /*  Global variables
  22. */
  23. extern const char  *HeapVersion;         /* Version of this library          */
  24. extern const uchar  HeapInitialized;     /* Set by InitHeap()                */
  25. extern const uint   HeapMaxHandles,      /* Maximum handles allocatable      */
  26.                     HeapUsedHandles;     /* Total handles alloc. by Halloc() */
  27. extern const ulong  HeapUsed,            /* Total memory alloc. by Halloc()  */
  28.                     HeapUnused;          /* Total mem. available by Halloc() */
  29.  
  30. extern uchar  HeapError;                 /* Set after all functions          */
  31. extern hptr   HeapBase;                  /* Base of memory alloc()'d         */
  32.  
  33. /*  Global function prototypes
  34. */
  35. extern uchar  InitHeap(uint handles, ulong bytes);    /* Init. all variables */
  36. extern void   UnInitHeap(void);                       /* Uninit all variables*/
  37. extern uint   Halloc(ulong bytes);                    /* Alloc memory        */
  38. extern uchar  Hfree(uint handle);                     /* Free memory         */
  39. extern ulong  Hsize(uint handle);                     /* Return memory size  */
  40. extern hptr   Hpointer(uint handle);                  /* Return mem. pointer */
  41. extern void   Hclear(void);                           /* Re-init all variabls*/
  42.