PVALLOC.H
/* 
 -  P V A L L O C . H 
 - 
 *  Purpose: 
 *      Header file for sample memory manager.  Provides chained 
 *      memory data structures. 
 * 
 */ 
 
#ifndef __PVALLOC_H__ 
#define __PVALLOC_H__ 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
#define pvNull NULL 
 
typedef unsigned long CB; 
typedef void FAR * PV; 
typedef char FAR * SZ; 
typedef BYTE FAR * PB; 
 
/* Memory allocation node */ 
 
typedef struct 
{ 
    HANDLE  hMem; 
    CB      cbSize; 
    PV      lpvNext; 
    PV      lpvBuf; 
    CB      ulBlockNum; 
    unsigned long   ulAlignPad; 
} PVINFO, * PPVINFO; 
 
#define cbPvMax (65520L-sizeof(PVINFO)) 
#define cbPvMin (1024L-sizeof(PVINFO)) 
 
/* Memory manager function prototypes */ 
 
PV   PvAlloc(CB cbSize); 
PV   PvAllocMore(CB cbSize, PV lpvParent); 
BOOL PvFree(PV lpv); 
 
#ifdef __cplusplus 
}       /* extern "C" */ 
#endif 
 
#endif  /* __PVALLOC_H__ */