ASN1C C/C++ Common Runtime  ASN1C v7.5.x
Macros | Functions
rtxMemory.h File Reference
#include "rtxsrc/rtxContext.h"

Go to the source code of this file.

Macros

#define RT_MH_DONTKEEPFREE   0x1
 
#define RT_MH_VALIDATEPTR   0x2
 
#define RT_MH_CHECKHEAP   0x4
 
#define RT_MH_TRACE   0x8
 
#define RT_MH_DIAG   0x10
 
#define RT_MH_DIAG_DEBUG   0x20
 
#define RT_MH_ZEROONFREE   0x40
 
#define RT_MH_ZEROARRAY   0x80
 
#define RT_MH_SYSALLOC   0x100
 
#define RT_MH_TRACE_FREELIST
 
#define OSRTMH_PROPID_DEFBLKSIZE   1
 
#define OSRTMH_PROPID_SETFLAGS   2
 
#define OSRTMH_PROPID_CLEARFLAGS   3
 
#define OSRTMH_PROPID_KEEPFREEUNITS   4
 
#define OSRTMH_PROPID_USER   10
 
#define OSRTXM_K_MEMBLKSIZ   (4*1024)
 
#define OSRTALLOCTYPE(pctxt, type)   (type*) rtxMemHeapAlloc (&(pctxt)->pMemHeap, sizeof(type))
 
#define OSRTALLOCTYPEZ(pctxt, type)   (type*) rtxMemHeapAllocZ (&(pctxt)->pMemHeap, sizeof(type))
 
#define OSRTREALLOCARRAY(pctxt, pseqof, type)
 
#define OSCRTMALLOC0(nbytes)   malloc(nbytes)
 
#define OSCRTFREE0(ptr)   free(ptr)
 
#define OSCRTMALLOC   rtxMemAlloc
 
#define OSCRTFREE   rtxMemFreePtr
 
#define OSCDECL
 
#define rtxMemAlloc(pctxt, nbytes)   rtxMemHeapAlloc(&(pctxt)->pMemHeap,nbytes)
 
#define rtxMemSysAlloc(pctxt, nbytes)   rtxMemHeapSysAlloc(&(pctxt)->pMemHeap,nbytes)
 
#define rtxMemAllocZ(pctxt, nbytes)   rtxMemHeapAllocZ(&(pctxt)->pMemHeap,nbytes)
 
#define rtxMemSysAllocZ(pctxt, nbytes)   rtxMemHeapSysAllocZ(&(pctxt)->pMemHeap,nbytes)
 
#define rtxMemRealloc(pctxt, mem_p, nbytes)   rtxMemHeapRealloc(&(pctxt)->pMemHeap, (void*)mem_p, nbytes)
 
#define rtxMemSysRealloc(pctxt, mem_p, nbytes)   rtxMemHeapSysRealloc(&(pctxt)->pMemHeap,(void*)mem_p,nbytes)
 
#define rtxMemFreePtr(pctxt, mem_p)   rtxMemHeapFreePtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemSysFreePtr(pctxt, mem_p)   rtxMemHeapSysFreePtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemAllocType(pctxt, ctype)   (ctype*)rtxMemHeapAlloc(&(pctxt)->pMemHeap,sizeof(ctype))
 
#define rtxMemSysAllocType(pctxt, ctype)   (ctype*)rtxMemHeapSysAlloc(&(pctxt)->pMemHeap,sizeof(ctype))
 
#define rtxMemAllocTypeZ(pctxt, ctype)   (ctype*)rtxMemHeapAllocZ(&(pctxt)->pMemHeap,sizeof(ctype))
 
#define rtxMemSysAllocTypeZ(pctxt, ctype)   (ctype*)rtxMemHeapSysAllocZ(&(pctxt)->pMemHeap,sizeof(ctype))
 
#define rtxMemFreeType(pctxt, mem_p)   rtxMemHeapFreePtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemSysFreeType(pctxt, mem_p)   rtxMemHeapSysFreePtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemAllocArray(pctxt, n, type)   (type*)rtxMemAllocArray2 (pctxt, n, sizeof(type), 0)
 
#define rtxMemSysAllocArray(pctxt, n, type)   (type*)rtxMemAllocArray2 (pctxt, n, sizeof(type), RT_MH_SYSALLOC)
 
#define rtxMemAllocArrayZ(pctxt, n, type)   (type*)rtxMemAllocArray2 (pctxt, n, sizeof(type), RT_MH_ZEROARRAY)
 
#define rtxMemFreeArray(pctxt, mem_p)   rtxMemHeapFreePtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemSysFreeArray(pctxt, mem_p)   rtxMemHeapSysFreePtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemReallocArray(pctxt, mem_p, n, type)   (type*)rtxMemHeapRealloc(&(pctxt)->pMemHeap, (void*)mem_p, sizeof(type)*n)
 
#define rtxMemNewAutoPtr(pctxt, nbytes)   rtxMemHeapAlloc(&(pctxt)->pMemHeap, nbytes)
 
#define rtxMemAutoPtrRef(pctxt, ptr)   rtxMemHeapAutoPtrRef(&(pctxt)->pMemHeap, (void*)(ptr))
 
#define rtxMemAutoPtrUnref(pctxt, ptr)   rtxMemHeapAutoPtrUnref(&(pctxt)->pMemHeap, (void*)(ptr))
 
#define rtxMemAutoPtrGetRefCount(pctxt, ptr)   rtxMemHeapAutoPtrGetRefCount(&(pctxt)->pMemHeap, (void*)(ptr))
 
#define rtxMemCheckPtr(pctxt, mem_p)   rtxMemHeapCheckPtr(&(pctxt)->pMemHeap, (void*)mem_p)
 
#define rtxMemCheck(pctxt)   rtxMemHeapCheck(&(pctxt)->pMemHeap, __FILE__, __LINE__)
 
#define rtxMemPrint(pctxt)   rtxMemHeapPrint(&(pctxt)->pMemHeap)
 
#define rtxMemPrintWithFree(pctxt)   rtxMemHeapPrintWithFree(&(pctxt)->pMemHeap)
 
#define rtxMemSetProperty(pctxt, propId, pProp)   rtxMemHeapSetProperty (&(pctxt)->pMemHeap, propId, pProp)
 

Functions

void rtxMemHeapAddRef (void **ppvMemHeap)
 
void * rtxMemHeapAlloc (void **ppvMemHeap, OSSIZE nbytes)
 
void * rtxMemHeapAllocZ (void **ppvMemHeap, OSSIZE nbytes)
 
void * rtxMemHeapSysAlloc (void **ppvMemHeap, OSSIZE nbytes)
 
void * rtxMemHeapSysAllocZ (void **ppvMemHeap, OSSIZE nbytes)
 
int rtxMemHeapCheckPtr (void **ppvMemHeap, const void *mem_p)
 
void rtxMemHeapFreeAll (void **ppvMemHeap)
 
void rtxMemHeapFreePtr (void **ppvMemHeap, void *mem_p)
 
void rtxMemHeapSysFreePtr (void **ppvMemHeap, void *mem_p)
 
void * rtxMemHeapRealloc (void **ppvMemHeap, void *mem_p, OSSIZE nbytes_)
 
void * rtxMemHeapSysRealloc (void **ppvMemHeap, void *mem_p, OSSIZE nbytes_)
 
void rtxMemHeapRelease (void **ppvMemHeap)
 
void rtxMemHeapReset (void **ppvMemHeap)
 
void rtxMemHeapSetProperty (void **ppvMemHeap, OSUINT32 propId, void *pProp)
 
void * rtxMemNewArray (OSSIZE nbytes)
 
void * rtxMemNewArrayZ (OSSIZE nbytes)
 
void rtxMemDeleteArray (void *mem_p)
 
void * rtxMemHeapAutoPtrRef (void **ppvMemHeap, void *ptr)
 
int rtxMemHeapAutoPtrUnref (void **ppvMemHeap, void *ptr)
 
int rtxMemHeapAutoPtrGetRefCount (void **ppvMemHeap, void *mem_p)
 
void rtxMemHeapInvalidPtrHook (void **ppvMemHeap, const void *mem_p)
 
void rtxMemHeapCheck (void **ppvMemHeap, const char *file, int line)
 
void rtxMemHeapPrint (void **ppvMemHeap)
 
void rtxMemHeapPrintWithFree (void **ppvMemHeap)
 
int rtxMemHeapCreate (void **ppvMemHeap)
 
int rtxMemHeapCreateExt (void **ppvMemHeap, OSMallocFunc malloc_func, OSReallocFunc realloc_func, OSFreeFunc free_func)
 
int rtxMemStaticHeapCreate (void **ppvMemHeap, void *pmem, OSSIZE memsize)
 
void rtxMemSetAllocFuncs (OSMallocFunc malloc_func, OSReallocFunc realloc_func, OSFreeFunc free_func)
 
void rtxMemFreeOpenSeqExt (OSCTXT *pctxt, struct OSRTDList *pElemList)
 
OSUINT32 rtxMemHeapGetDefBlkSize (OSCTXT *pctxt)
 
void rtxMemSetDefBlkSize (OSUINT32 blkSize)
 
OSUINT32 rtxMemGetDefBlkSize (OSVOIDARG)
 
OSBOOL rtxMemHeapIsEmpty (OSCTXT *pctxt)
 
OSBOOL rtxMemIsZero (const void *pmem, OSSIZE memsiz)
 
void rtxMemFree (OSCTXT *pctxt)
 
void rtxMemReset (OSCTXT *pctxt)
 
void * rtxMemAllocArray2 (OSCTXT *pctxt, OSSIZE numElements, OSSIZE typeSize, OSUINT32 flags)
 

Detailed Description

Memory management function and macro definitions.

Macro Definition Documentation

◆ RT_MH_TRACE_FREELIST

#define RT_MH_TRACE_FREELIST
Value:
0x200 /* enable printing of the free element list
at certain junctures in the memory
management code.
Requires building with _MEMTRACE */