home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / viscobv6.zip / vac22os2 / ibmcobol / samples / toolkit / mm / ultimoio / hhpheap.h < prev    next >
C/C++ Source or Header  |  1996-11-19  |  3KB  |  65 lines

  1.  
  2. /********************** START OF SPECIFICATIONS *****************************/
  3. /*                                                                          */
  4. /* SOURCE FILE NAME: HHPHEAP.H                                              */
  5. /*                                                                          */
  6. /* DESCRIPTIVE NAME: Heap manager include file.                             */
  7. /*                                                                          */
  8. /* COPYRIGHT:                                                               */
  9. /*                 Copyright (c) IBM Corporation 1991                       */
  10. /*                         All Rights Reserved                              */
  11. /*                                                                          */
  12. /* STATUS: OS/2 MM Release 1.00                                             */
  13. /*                                                                          */
  14. /* ABSTRACT: Contains data structures and prototypes that are used in       */
  15. /*           HHP API's.                                                     */
  16. /*                                                                          */
  17. /*********************** END OF SPECIFICATIONS ******************************/
  18.  
  19.  
  20. #ifndef _HHPHEAP_H_
  21. #define _HHPHEAP_H_
  22.  
  23. typedef PVOID HHUGEHEAP;
  24.  
  25. HHUGEHEAP APIENTRY HhpCreateHeap( ULONG uInitSize, USHORT fFlags );
  26.  
  27. PVOID     APIENTRY HhpTAllocMem ( HHUGEHEAP hheap, ULONG cbLen, PSZ pszFile, ULONG uLine);
  28. PVOID     APIENTRY HhpIAllocMem ( HHUGEHEAP hheap, ULONG cbLen );
  29.  
  30. #ifdef MMDEBUG
  31. #define MM_HEAP_DEBUG_VAR "MM_HEAP"
  32. #define HhpAllocMem(u,v) HhpTAllocMem (u, v, (PSZ)__FILE__, (ULONG)__LINE__)
  33. #else
  34. #define HhpAllocMem(u,v) HhpTAllocMem (u, v, (PSZ)NULL, (ULONG)NULL)
  35. #endif
  36.  
  37.  
  38. BOOL      APIENTRY HhpFreeMem( HHUGEHEAP hheap, PVOID pData );
  39.  
  40. BOOL      APIENTRY HhpDestroyHeap( HHUGEHEAP hheap );
  41.  
  42.  
  43. /* Shared Heap Support */
  44.  
  45. USHORT    APIENTRY HhpAccessHeap( HHUGEHEAP hheap, PID pid );
  46.  
  47. USHORT    APIENTRY HhpReleaseHeap( HHUGEHEAP hheap, PID pid );
  48.  
  49. PID       APIENTRY HhpGetPID( VOID );
  50.  
  51. /* Low-Level Independent (Not Suballocated) Buffer Support */
  52.  
  53. PBYTE     APIENTRY HhpAllocBuffer( ULONG lSize, USHORT fFlags );
  54.  
  55. USHORT    APIENTRY HhpFreeBuffer( PBYTE pBuffer );
  56.  
  57. USHORT    APIENTRY HhpAccessBuffer( PBYTE pBuffer );
  58.  
  59. #define HH_SHARED         0x1    /* Cause the Heap to be Shared */
  60.  
  61. USHORT    APIENTRY HhpDumpHeap( HHUGEHEAP hheap );
  62.  
  63.  
  64. #endif /* _HHPHEAP_H_ */
  65.