/*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE Versions 3.13.7 * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/


VERSION $Id: freeList.3,v 1.2 1997/04/10 19:47:35


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
















Man(1) output converted with man2html