DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
DMI package procedure libraries

Memory management descriptor


WARNING: This section and the following two sections, ``Memory management descriptor operations'' and ``Default memory management model'' are included for backwards compatibility only. In addition, the following man pages describe APIs which are obsolete and should no longer be used:

The memory management descriptor is a representation of the memory model in the client front end. It defines how memory blocks are allocated/deallocated and how allocation failure is handled. Other aspects of the memory model, such as the grouping of memory blocks in pools and buffers, are not addressed directly in the descriptor. To allow such extensions, the memory management descriptor contains a reference to private model data which can be used by the model-specific interface. The memory management descriptor is a handle defined as:

   typedef void * DmiMemDsc_t;
Effectively this handle references the following structure which defines the memory model:
   typedef struct DmiMemMgmt {
   	DmiNodeAlloc_t * nodeAlloc;
   	DmiNodeFree_t * nodeFree;
   	DmiAllocFail_t * allocFail;
   	void * mgmtData;
   } DmiMemMgmt_t;
This definition can be found in /usr/include/dmi/dmi2mem.h The members are:

nodeAlloc
memory allocator

nodeFree
memory deallocator

allocFail
handler routine called when the allocator fails to allocate memory

mgmtData
pointer to private model-specific data
If the allocFail pointer is NULL then no handler is called in the case of failure.

See also:


Next topic: Memory management descriptor operations
Previous topic: Memory pool management

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004