00001 00040 #ifndef _VMEM_H_ 00041 #define _VMEM_H_ 00042 00043 #include <maloc/maloc_base.h> 00044 00045 /* 00046 * *************************************************************************** 00047 * Class Vmem: Parameters and datatypes 00048 * *************************************************************************** 00049 */ 00050 00051 00057 struct sVmem { 00058 00059 char name[VMAX_ARGLEN]; 00061 size_t mallocBytes; 00062 size_t freeBytes; 00063 size_t highWater; 00064 size_t mallocAreas; 00066 }; 00067 00073 typedef struct sVmem Vmem; 00074 00075 /* 00076 * *************************************************************************** 00077 * Class Vmem: Inlineable methods (vmem.c) 00078 * *************************************************************************** 00079 */ 00080 00081 #if !defined(VINLINE_MALOC) 00082 #else /* if defined(VINLINE_MALOC) */ 00083 #endif /* if !defined(VINLINE_MALOC) */ 00084 00085 /* 00086 * *************************************************************************** 00087 * Class Vmem: Non-Inlineable methods (vmem.c) 00088 * *************************************************************************** 00089 */ 00090 00098 size_t Vmem_bytesTotal(void); 00099 00107 size_t Vmem_mallocBytesTotal(void); 00108 00116 size_t Vmem_freeBytesTotal(void); 00117 00125 size_t Vmem_highWaterTotal(void); 00126 00134 size_t Vmem_mallocAreasTotal(void); 00135 00143 void Vmem_printTotal(void); 00144 00153 Vmem* Vmem_ctor(char *name); 00154 00163 void Vmem_dtor(Vmem **thee); 00164 00175 void *Vmem_malloc(Vmem *thee, size_t num, size_t size); 00176 00188 void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram); 00189 00202 void *Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram, 00203 size_t newNum); 00204 00213 size_t Vmem_bytes(Vmem *thee); 00214 00223 size_t Vmem_mallocBytes(Vmem *thee); 00224 00233 size_t Vmem_freeBytes(Vmem *thee); 00234 00243 size_t Vmem_highWater(Vmem *thee); 00244 00253 size_t Vmem_mallocAreas(Vmem *thee); 00254 00263 void Vmem_print(Vmem *thee); 00264 00265 #endif /* _VMEM_H_ */ 00266 00267