freeList(1)

VERSION $Id$

NAME
freeList.c - General Purpose memory free list library

SYNOPSIS
freeListInitPvt	- Initialize a free list
freeListCalloc	- Allocate and initialize to zero a new element
freeListMalloc	- Allocate a new element
freeListFree	- Free an element,i.e. put on free list
void freeListInitPvt(void **ppvt,int size,int nmalloc);
void *freeListCalloc(void *pvt);
void *freeListMalloc(void *pvt);
size_t freeListItemsAvail(void *pvt);
void freeListFree(void *pvt,void*pmem);
where :
pvt	- For private use by library. Caller must provide a "void *pvt"
size	- Size in butes of each element. Note that all elements must be same size
nmalloc	- Number of elements top allocate when regular malloc must be called.

DESCRIPTION
This library can be used to allocate and free fixed size memory elements. Free elements are maintained on a free list rather then being returned to the heap via calls to free. When it is necessary to call malloc, memory can be allocated in multiples of the element size.

RETURNS
freeListCalloc and freeListMalloc return address of element allocated
or NULL if no more memory could be obtained via call to malloc

INCLUDES
freeLib.h