C Language and Libraries Help (clang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
_heapwalk Functions
 Summary Example                         Up Contents Index Back
─────Run-Time Library───────────────────────────────────────────────────────
 
     The routines in the _heapwalk family help debug heap-related
     problems in programs.
 
     The _heapwalk routines walk through the heap, traversing one
     entry per call, and return a pointer to a structure of type
     _HEAPINFO that contains information about the next heap entry.
     The _HEAPINFO type, defined in MALLOC.H, contains the following
     elements:
 
     Element                Description
 
     int __far *_pentry     Heap entry pointer
     size_t _size           Size of heap entry
     int _useflag           Entry "in use" flag
 
     A call to _heapwalk that returns _HEAPOK stores the size of the
     entry in the _size field and sets the _useflag field to either
     _FREEENTRY or _USEDENTRY (both are constants defined in MALLOC.H).
     To obtain this information about the first entry in the heap, pass
     the _heapwalk routine a pointer to a _HEAPINFO structure whose
     _pentry member is NULL.
 
     The various _heapwalk functions walk through the heap specified
     below:
 
     Function       Heap Walked
 
     _heapwalk      Depends on data model of program
     _bheapwalk     Based heap specified by <seg> value; _NULLSEG
                    specifies all based heaps
     _fheapwalk     Far heap (outside default data segment)
     _nheapwalk     Near heap (inside default data segment)
 
     In large data models (that is, compact-, large-, and huge-model
     programs), _heapwalk maps to _fheapwalk. In small data models
     (tiny-, small-, and medium-model programs), _heapwalk maps to
     _nheapwalk.
 
     For _heapwalk, if the <seg> value is _NULLSEG, all based heap
     segments will be traversed; otherwise, only the specified based
     heap is walked.
 
     Return Value
 
     All four routines return one of the following manifest constants
     (defined in MALLOC.H):
 
     _HEAPOK           _HEAPEMPTY       _HEAPBADPTR
     _HEAPBADBEGIN     _HEAPBADNODE     _HEAPEND
                                    -♦-