Listing 1: The HeapManager header file
/*
* HEAPMGR.H
* Header file for 32-bit OS/2 heap
* management library.
*
*/
#ifndef _H_HEAPMGR_
#define _H_HEAPMGR_
#include <stdlib.h> /* for size_t */
/*
* The incomplete HeapManager control struct
*
*/
struct _heap;
#define HEAP struct _heap
/*
* Prototypes
*
*/
#ifdef __cplusplus
extern "C" {
#endif
HEAP * createHeap(size_t size);
int destroyHeap(HEAP *heap);
void * allocMem(HEAP *heap, size_t size);
int freeMem(HEAP *heap, void *blockP);
size_t queryHeapSize(HEAP *heap);
size_t queryHeapFree(HEAP *heap);
size_t queryHeapBlocks(HEAP *heap);
void * queryHeapBase(HEAP *heap);
size_t queryBlockSize(void *blockP);
#ifdef __cplusplus
}
#endif
#endif /* _H_HEAPMGR_ */
/* End of File */