1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3 <title>MM_Audit_Imp class Reference</title> 4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 </head><body> 6 <!-- Generated by Doxygen 1.2.18 --> 7 <center> 8 <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9 <hr><h1>MM_Audit_Imp Class Reference<br> 10 <small> 11 [<a class="el" href="group__osclmemory.html">OSCL Memory</a>]</small> 12 </h1><code>#include <<a class="el" href="oscl__mem__audit_8h-source.html">oscl_mem_audit.h</a>></code> 13 <p> 14 <table border=0 cellpadding=0 cellspacing=0> 15 <tr><td></td></tr> 16 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> 17 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a0">MM_Audit_Imp</a> ()</td></tr> 18 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a1">~MM_Audit_Imp</a> ()</td></tr> 19 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a2">MM_allocate</a> (const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *statsNode, uint32 sizeIn, const char *pFileName, uint32 lineNumber, bool allocNodeTracking=false)</td></tr> 20 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a3">MM_deallocate</a> (void *pMemBlockIn)</td></tr> 21 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a4">MM_GetStats</a> (const char *const tagIn)</td></tr> 22 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a5">MM_GetStatsInDepth</a> (const char *tagIn, <a class="el" href="structMM__Stats__CB.html">MM_Stats_CB</a> *array_ptr, uint32 max_nodes)</td></tr> 23 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a6">MM_GetTreeNodes</a> (const char *tagIn)</td></tr> 24 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a7">MM_AddTag</a> (const char *tagIn)</td></tr> 25 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a8">MM_GetTagNode</a> (const char *tagIn)</td></tr> 26 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a9">MM_GetExistingTag</a> (const char *tagIn)</td></tr> 27 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a10">MM_GetRootNode</a> ()</td></tr> 28 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a11">MM_CreateAllocNodeInfo</a> (uint32 max_array_size)</td></tr> 29 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a12">MM_ReleaseAllocNodeInfo</a> (<a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *info)</td></tr> 30 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a13">MM_GetAllocNodeInfo</a> (<a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *output_array, uint32 max_array_size, uint32 offset)</td></tr> 31 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a14">MM_Validate</a> (const void *ptrIn)</td></tr> 32 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a15">MM_GetAllocNo</a> (void)</td></tr> 33 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a16">MM_GetOverheadStats</a> (<a class="el" href="structMM__AuditOverheadStats.html">MM_AuditOverheadStats</a> &stats)</td></tr> 34 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a17">MM_GetNumAllocNodes</a> ()</td></tr> 35 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a18">MM_GetMode</a> (void)</td></tr> 36 <tr><td nowrap align=right valign=top>uint8 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a19">MM_GetPrefillPattern</a> (void)</td></tr> 37 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a20">MM_GetPostfillPattern</a> (void)</td></tr> 38 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a21">MM_SetMode</a> (uint32 inMode)</td></tr> 39 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a22">MM_SetPrefillPattern</a> (uint8 pattern)</td></tr> 40 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a23">MM_SetPostfillPattern</a> (uint8 pattern)</td></tr> 41 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a24">MM_SetTagLevel</a> (uint32 level)</td></tr> 42 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a25">MM_SetFailurePoint</a> (const char *tagIn, uint32 alloc_number)</td></tr> 43 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a26">MM_UnsetFailurePoint</a> (const char *tagIn)</td></tr> 44 <tr><td nowrap align=right valign=top><a class="el" href="structMM__AllocNode.html">MM_AllocNode</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a27">addAllocNode</a> (void *pMem, uint32 sizeIn, <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *pStatsNode, const char *pFileName, uint32 lineNumber)</td></tr> 45 <tr><td nowrap align=right valign=top><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a28">removeAllocNode</a> (void *pMemBlockIn, uint32 &size)</td></tr> 46 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a29">removeALLAllocNodes</a> ()</td></tr> 47 <tr><td nowrap align=right valign=top><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a30">createStatsNode</a> (const char *tagIn)</td></tr> 48 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a31">updateStatsNode</a> (<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *pCurrStatsNode, const <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a> &pDelta, bool bAdd)</td></tr> 49 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a32">updateStatsNodeInFailure</a> (const char *tagIn)</td></tr> 50 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a33">updateStatsNodeInFailure</a> (<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *pStatsNode)</td></tr> 51 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a34">pruneSubtree</a> (<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *pNode)</td></tr> 52 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a35">pruneSubtree</a> (const char *tagIn)</td></tr> 53 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a36">retrieveParentTag</a> (char *tag)</td></tr> 54 <tr><td nowrap align=right valign=top>int32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a37">retrieveParentTagLength</a> (const char *tag, int32 bound)</td></tr> 55 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a38">makeValidTag</a> (const char *tagIn, <a class="el" href="group__osclmemory.html#a0">MMAuditCharAutoPtr</a> &autoptr)</td></tr> 56 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a39">getTagActualSize</a> (const char *tagIn)</td></tr> 57 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a40">isSetFailure</a> (const char *tagIn)</td></tr> 58 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a41">isSetFailure</a> (<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *statsNode)</td></tr> 59 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a42">validate_all_heap</a> ()</td></tr> 60 <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> 61 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#d0">validate</a> (void *ptrIn)</td></tr> 62 <tr><td nowrap align=right valign=top><a class="el" href="classOsclMemAudit.html">OsclMemAudit</a> * </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#d1">getAuditRoot</a> (void *ptrIn)</td></tr> 63 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#d2">getSize</a> (void *ptrIn)</td></tr> 64 </table> 65 <hr><h2>Constructor & Destructor Documentation</h2> 66 <a name="a0" doxytag="MM_Audit_Imp::MM_Audit_Imp"></a><p> 67 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 68 <tr> 69 <td class="md"> 70 <table cellpadding="0" cellspacing="0" border="0"> 71 <tr> 72 <td class="md" nowrap valign="top"> MM_Audit_Imp::MM_Audit_Imp </td> 73 <td class="md" valign="top">( </td> 74 <td class="mdname1" valign="top" nowrap> </td> 75 <td class="md" valign="top">) </td> 76 <td class="md" nowrap></td> 77 </tr> 78 79 </table> 80 </td> 81 </tr> 82 </table> 83 <table cellspacing=5 cellpadding=0 border=0> 84 <tr> 85 <td> 86 87 </td> 88 <td> 89 90 <p> 91 Constructor, create the root node in statistics table </td> 92 </tr> 93 </table> 94 <a name="a1" doxytag="MM_Audit_Imp::~MM_Audit_Imp"></a><p> 95 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 96 <tr> 97 <td class="md"> 98 <table cellpadding="0" cellspacing="0" border="0"> 99 <tr> 100 <td class="md" nowrap valign="top"> MM_Audit_Imp::~MM_Audit_Imp </td> 101 <td class="md" valign="top">( </td> 102 <td class="mdname1" valign="top" nowrap> </td> 103 <td class="md" valign="top">) </td> 104 <td class="md" nowrap></td> 105 </tr> 106 107 </table> 108 </td> 109 </tr> 110 </table> 111 <table cellspacing=5 cellpadding=0 border=0> 112 <tr> 113 <td> 114 115 </td> 116 <td> 117 118 <p> 119 A destructor, remove all the nodes in allocation andstatistics table </td> 120 </tr> 121 </table> 122 <hr><h2>Member Function Documentation</h2> 123 <a name="a27" doxytag="MM_Audit_Imp::addAllocNode"></a><p> 124 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 125 <tr> 126 <td class="md"> 127 <table cellpadding="0" cellspacing="0" border="0"> 128 <tr> 129 <td class="md" nowrap valign="top"> <a class="el" href="structMM__AllocNode.html">MM_AllocNode</a>* MM_Audit_Imp::addAllocNode </td> 130 <td class="md" valign="top">( </td> 131 <td class="md" nowrap valign="top">void * </td> 132 <td class="mdname" nowrap> <em>pMem</em>, </td> 133 </tr> 134 <tr> 135 <td></td> 136 <td></td> 137 <td class="md" nowrap>uint32 </td> 138 <td class="mdname" nowrap> <em>sizeIn</em>, </td> 139 </tr> 140 <tr> 141 <td></td> 142 <td></td> 143 <td class="md" nowrap><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 144 <td class="mdname" nowrap> <em>pStatsNode</em>, </td> 145 </tr> 146 <tr> 147 <td></td> 148 <td></td> 149 <td class="md" nowrap>const char * </td> 150 <td class="mdname" nowrap> <em>pFileName</em>, </td> 151 </tr> 152 <tr> 153 <td></td> 154 <td></td> 155 <td class="md" nowrap>uint32 </td> 156 <td class="mdname" nowrap> <em>lineNumber</em></td> 157 </tr> 158 <tr> 159 <td></td> 160 <td class="md">) </td> 161 <td class="md" colspan="2"></td> 162 </tr> 163 164 </table> 165 </td> 166 </tr> 167 </table> 168 <table cellspacing=5 cellpadding=0 border=0> 169 <tr> 170 <td> 171 172 </td> 173 <td> 174 175 <p> 176 <dl compact><dt><b>Returns: </b></dt><dd> 177 true if operation succeeds; </dl> </td> 178 </tr> 179 </table> 180 <a name="a30" doxytag="MM_Audit_Imp::createStatsNode"></a><p> 181 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 182 <tr> 183 <td class="md"> 184 <table cellpadding="0" cellspacing="0" border="0"> 185 <tr> 186 <td class="md" nowrap valign="top"> <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::createStatsNode </td> 187 <td class="md" valign="top">( </td> 188 <td class="md" nowrap valign="top">const char * </td> 189 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 190 <td class="md" valign="top">) </td> 191 <td class="md" nowrap></td> 192 </tr> 193 194 </table> 195 </td> 196 </tr> 197 </table> 198 <table cellspacing=5 cellpadding=0 border=0> 199 <tr> 200 <td> 201 202 </td> 203 <td> 204 205 <p> 206 <dl compact><dt><b>Returns: </b></dt><dd> 207 true if operation succeeds; </dl> </td> 208 </tr> 209 </table> 210 <a name="d1" doxytag="MM_Audit_Imp::getAuditRoot"></a><p> 211 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 212 <tr> 213 <td class="md"> 214 <table cellpadding="0" cellspacing="0" border="0"> 215 <tr> 216 <td class="md" nowrap valign="top"> <a class="el" href="classOsclMemAudit.html">OsclMemAudit</a>* MM_Audit_Imp::getAuditRoot </td> 217 <td class="md" valign="top">( </td> 218 <td class="md" nowrap valign="top">void * </td> 219 <td class="mdname1" valign="top" nowrap> <em>ptrIn</em> </td> 220 <td class="md" valign="top">) </td> 221 <td class="md" nowrap><code> [static]</code></td> 222 </tr> 223 224 </table> 225 </td> 226 </tr> 227 </table> 228 <table cellspacing=5 cellpadding=0 border=0> 229 <tr> 230 <td> 231 232 </td> 233 <td> 234 235 <p> 236 <dl compact><dt><b>Returns: </b></dt><dd> 237 audit root pointer. </dl> </td> 238 </tr> 239 </table> 240 <a name="d2" doxytag="MM_Audit_Imp::getSize"></a><p> 241 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 242 <tr> 243 <td class="md"> 244 <table cellpadding="0" cellspacing="0" border="0"> 245 <tr> 246 <td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::getSize </td> 247 <td class="md" valign="top">( </td> 248 <td class="md" nowrap valign="top">void * </td> 249 <td class="mdname1" valign="top" nowrap> <em>ptrIn</em> </td> 250 <td class="md" valign="top">) </td> 251 <td class="md" nowrap><code> [static]</code></td> 252 </tr> 253 254 </table> 255 </td> 256 </tr> 257 </table> 258 <table cellspacing=5 cellpadding=0 border=0> 259 <tr> 260 <td> 261 262 </td> 263 <td> 264 265 <p> 266 <dl compact><dt><b>Returns: </b></dt><dd> 267 original block size. leaves if bad pointer. </dl> </td> 268 </tr> 269 </table> 270 <a name="a39" doxytag="MM_Audit_Imp::getTagActualSize"></a><p> 271 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 272 <tr> 273 <td class="md"> 274 <table cellpadding="0" cellspacing="0" border="0"> 275 <tr> 276 <td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::getTagActualSize </td> 277 <td class="md" valign="top">( </td> 278 <td class="md" nowrap valign="top">const char * </td> 279 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 280 <td class="md" valign="top">) </td> 281 <td class="md" nowrap></td> 282 </tr> 283 284 </table> 285 </td> 286 </tr> 287 </table> 288 <table cellspacing=5 cellpadding=0 border=0> 289 <tr> 290 <td> 291 292 </td> 293 <td> 294 295 <p> 296 <dl compact><dt><b>Returns: </b></dt><dd> 297 the size of the truncated tag; 0 means NO truncation </dl> </td> 298 </tr> 299 </table> 300 <a name="a41" doxytag="MM_Audit_Imp::isSetFailure"></a><p> 301 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 302 <tr> 303 <td class="md"> 304 <table cellpadding="0" cellspacing="0" border="0"> 305 <tr> 306 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::isSetFailure </td> 307 <td class="md" valign="top">( </td> 308 <td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 309 <td class="mdname1" valign="top" nowrap> <em>statsNode</em> </td> 310 <td class="md" valign="top">) </td> 311 <td class="md" nowrap></td> 312 </tr> 313 314 </table> 315 </td> 316 </tr> 317 </table> 318 <table cellspacing=5 cellpadding=0 border=0> 319 <tr> 320 <td> 321 322 </td> 323 <td> 324 325 <p> 326 </td> 327 </tr> 328 </table> 329 <a name="a40" doxytag="MM_Audit_Imp::isSetFailure"></a><p> 330 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 331 <tr> 332 <td class="md"> 333 <table cellpadding="0" cellspacing="0" border="0"> 334 <tr> 335 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::isSetFailure </td> 336 <td class="md" valign="top">( </td> 337 <td class="md" nowrap valign="top">const char * </td> 338 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 339 <td class="md" valign="top">) </td> 340 <td class="md" nowrap></td> 341 </tr> 342 343 </table> 344 </td> 345 </tr> 346 </table> 347 <table cellspacing=5 cellpadding=0 border=0> 348 <tr> 349 <td> 350 351 </td> 352 <td> 353 354 <p> 355 <dl compact><dt><b>Returns: </b></dt><dd> 356 true if operation succeeds; </dl> </td> 357 </tr> 358 </table> 359 <a name="a38" doxytag="MM_Audit_Imp::makeValidTag"></a><p> 360 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 361 <tr> 362 <td class="md"> 363 <table cellpadding="0" cellspacing="0" border="0"> 364 <tr> 365 <td class="md" nowrap valign="top"> void MM_Audit_Imp::makeValidTag </td> 366 <td class="md" valign="top">( </td> 367 <td class="md" nowrap valign="top">const char * </td> 368 <td class="mdname" nowrap> <em>tagIn</em>, </td> 369 </tr> 370 <tr> 371 <td></td> 372 <td></td> 373 <td class="md" nowrap><a class="el" href="group__osclmemory.html#a0">MMAuditCharAutoPtr</a> & </td> 374 <td class="mdname" nowrap> <em>autoptr</em></td> 375 </tr> 376 <tr> 377 <td></td> 378 <td class="md">) </td> 379 <td class="md" colspan="2"></td> 380 </tr> 381 382 </table> 383 </td> 384 </tr> 385 </table> 386 <table cellspacing=5 cellpadding=0 border=0> 387 <tr> 388 <td> 389 390 </td> 391 <td> 392 393 <p> 394 <dl compact><dt><b>Returns: </b></dt><dd> 395 a valid tag; NULL will be converted into root tag </dl> </td> 396 </tr> 397 </table> 398 <a name="a7" doxytag="MM_Audit_Imp::MM_AddTag"></a><p> 399 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 400 <tr> 401 <td class="md"> 402 <table cellpadding="0" cellspacing="0" border="0"> 403 <tr> 404 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_AddTag </td> 405 <td class="md" valign="top">( </td> 406 <td class="md" nowrap valign="top">const char * </td> 407 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 408 <td class="md" valign="top">) </td> 409 <td class="md" nowrap><code> [inline]</code></td> 410 </tr> 411 412 </table> 413 </td> 414 </tr> 415 </table> 416 <table cellspacing=5 cellpadding=0 border=0> 417 <tr> 418 <td> 419 420 </td> 421 <td> 422 423 <p> 424 API to add a node and zero out its counters; Note that this tag should be re-used <dl compact><dt><b>Parameters: </b></dt><dd> 425 <table border=0 cellspacing=2 cellpadding=0> 426 <tr><td valign=top><em>tagIn</em> </td><td> 427 input tag </td></tr> 428 </table> 429 </dl><dl compact><dt><b>Returns: </b></dt><dd> 430 true if operation succeeds; </dl> </td> 431 </tr> 432 </table> 433 <a name="a2" doxytag="MM_Audit_Imp::MM_allocate"></a><p> 434 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 435 <tr> 436 <td class="md"> 437 <table cellpadding="0" cellspacing="0" border="0"> 438 <tr> 439 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* MM_Audit_Imp::MM_allocate </td> 440 <td class="md" valign="top">( </td> 441 <td class="md" nowrap valign="top">const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 442 <td class="mdname" nowrap> <em>statsNode</em>, </td> 443 </tr> 444 <tr> 445 <td></td> 446 <td></td> 447 <td class="md" nowrap>uint32 </td> 448 <td class="mdname" nowrap> <em>sizeIn</em>, </td> 449 </tr> 450 <tr> 451 <td></td> 452 <td></td> 453 <td class="md" nowrap>const char * </td> 454 <td class="mdname" nowrap> <em>pFileName</em>, </td> 455 </tr> 456 <tr> 457 <td></td> 458 <td></td> 459 <td class="md" nowrap>uint32 </td> 460 <td class="mdname" nowrap> <em>lineNumber</em>, </td> 461 </tr> 462 <tr> 463 <td></td> 464 <td></td> 465 <td class="md" nowrap>bool </td> 466 <td class="mdname" nowrap> <em>allocNodeTracking</em> = false</td> 467 </tr> 468 <tr> 469 <td></td> 470 <td class="md">) </td> 471 <td class="md" colspan="2"></td> 472 </tr> 473 474 </table> 475 </td> 476 </tr> 477 </table> 478 <table cellspacing=5 cellpadding=0 border=0> 479 <tr> 480 <td> 481 482 </td> 483 <td> 484 485 <p> 486 The following are APIs t __nothrow_/ const __nothrow_ <dl compact><dt><b>Returns: </b></dt><dd> 487 the memory pointer if operation succeeds. </dl> </td> 488 </tr> 489 </table> 490 <a name="a11" doxytag="MM_Audit_Imp::MM_CreateAllocNodeInfo"></a><p> 491 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 492 <tr> 493 <td class="md"> 494 <table cellpadding="0" cellspacing="0" border="0"> 495 <tr> 496 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a>* MM_Audit_Imp::MM_CreateAllocNodeInfo </td> 497 <td class="md" valign="top">( </td> 498 <td class="md" nowrap valign="top">uint32 </td> 499 <td class="mdname1" valign="top" nowrap> <em>max_array_size</em> </td> 500 <td class="md" valign="top">) </td> 501 <td class="md" nowrap></td> 502 </tr> 503 504 </table> 505 </td> 506 </tr> 507 </table> 508 <table cellspacing=5 cellpadding=0 border=0> 509 <tr> 510 <td> 511 512 </td> 513 <td> 514 515 <p> 516 These APIs will allocate and release space for alloc node info, to be used with the MM_GetAllocNodeInfo API. </td> 517 </tr> 518 </table> 519 <a name="a3" doxytag="MM_Audit_Imp::MM_deallocate"></a><p> 520 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 521 <tr> 522 <td class="md"> 523 <table cellpadding="0" cellspacing="0" border="0"> 524 <tr> 525 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_deallocate </td> 526 <td class="md" valign="top">( </td> 527 <td class="md" nowrap valign="top">void * </td> 528 <td class="mdname1" valign="top" nowrap> <em>pMemBlockIn</em> </td> 529 <td class="md" valign="top">) </td> 530 <td class="md" nowrap></td> 531 </tr> 532 533 </table> 534 </td> 535 </tr> 536 </table> 537 <table cellspacing=5 cellpadding=0 border=0> 538 <tr> 539 <td> 540 541 </td> 542 <td> 543 544 <p> 545 <dl compact><dt><b>Returns: </b></dt><dd> 546 true if operation succeeds; </dl> </td> 547 </tr> 548 </table> 549 <a name="a15" doxytag="MM_Audit_Imp::MM_GetAllocNo"></a><p> 550 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 551 <tr> 552 <td class="md"> 553 <table cellpadding="0" cellspacing="0" border="0"> 554 <tr> 555 <td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetAllocNo </td> 556 <td class="md" valign="top">( </td> 557 <td class="md" nowrap valign="top">void </td> 558 <td class="mdname1" valign="top" nowrap> </td> 559 <td class="md" valign="top">) </td> 560 <td class="md" nowrap><code> [inline]</code></td> 561 </tr> 562 563 </table> 564 </td> 565 </tr> 566 </table> 567 <table cellspacing=5 cellpadding=0 border=0> 568 <tr> 569 <td> 570 571 </td> 572 <td> 573 574 <p> 575 API to get the current allocation number <dl compact><dt><b>Returns: </b></dt><dd> 576 the current allocation number </dl> </td> 577 </tr> 578 </table> 579 <a name="a13" doxytag="MM_Audit_Imp::MM_GetAllocNodeInfo"></a><p> 580 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 581 <tr> 582 <td class="md"> 583 <table cellpadding="0" cellspacing="0" border="0"> 584 <tr> 585 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 MM_Audit_Imp::MM_GetAllocNodeInfo </td> 586 <td class="md" valign="top">( </td> 587 <td class="md" nowrap valign="top"><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> * </td> 588 <td class="mdname" nowrap> <em>output_array</em>, </td> 589 </tr> 590 <tr> 591 <td></td> 592 <td></td> 593 <td class="md" nowrap>uint32 </td> 594 <td class="mdname" nowrap> <em>max_array_size</em>, </td> 595 </tr> 596 <tr> 597 <td></td> 598 <td></td> 599 <td class="md" nowrap>uint32 </td> 600 <td class="mdname" nowrap> <em>offset</em></td> 601 </tr> 602 <tr> 603 <td></td> 604 <td class="md">) </td> 605 <td class="md" colspan="2"></td> 606 </tr> 607 608 </table> 609 </td> 610 </tr> 611 </table> 612 <table cellspacing=5 cellpadding=0 border=0> 613 <tr> 614 <td> 615 616 </td> 617 <td> 618 619 <p> 620 API to query the list of alloc nodes. It copies the information into the provided output array. <dl compact><dt><b>Parameters: </b></dt><dd> 621 <table border=0 cellspacing=2 cellpadding=0> 622 <tr><td valign=top><em>output_array</em> </td><td> 623 the array where the data will be written </td></tr> 624 <tr><td valign=top><em>max_array_size</em> </td><td> 625 the max number of output array elements </td></tr> 626 <tr><td valign=top><em>offset</em> </td><td> 627 the offset into the alloc node list from which the data should begin. </td></tr> 628 </table> 629 </dl><dl compact><dt><b>Returns: </b></dt><dd> 630 the number of valid nodes in the output array </dl> </td> 631 </tr> 632 </table> 633 <a name="a9" doxytag="MM_Audit_Imp::MM_GetExistingTag"></a><p> 634 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 635 <tr> 636 <td class="md"> 637 <table cellpadding="0" cellspacing="0" border="0"> 638 <tr> 639 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::MM_GetExistingTag </td> 640 <td class="md" valign="top">( </td> 641 <td class="md" nowrap valign="top">const char * </td> 642 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 643 <td class="md" valign="top">) </td> 644 <td class="md" nowrap></td> 645 </tr> 646 647 </table> 648 </td> 649 </tr> 650 </table> 651 <table cellspacing=5 cellpadding=0 border=0> 652 <tr> 653 <td> 654 655 </td> 656 <td> 657 658 <p> 659 API to add a node and zero out its counters; Note that this tag should be re-used <dl compact><dt><b>Parameters: </b></dt><dd> 660 <table border=0 cellspacing=2 cellpadding=0> 661 <tr><td valign=top><em>tagIn</em> </td><td> 662 input tag </td></tr> 663 </table> 664 </dl><dl compact><dt><b>Returns: </b></dt><dd> 665 true if operation succeeds; </dl> </td> 666 </tr> 667 </table> 668 <a name="a18" doxytag="MM_Audit_Imp::MM_GetMode"></a><p> 669 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 670 <tr> 671 <td class="md"> 672 <table cellpadding="0" cellspacing="0" border="0"> 673 <tr> 674 <td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetMode </td> 675 <td class="md" valign="top">( </td> 676 <td class="md" nowrap valign="top">void </td> 677 <td class="mdname1" valign="top" nowrap> </td> 678 <td class="md" valign="top">) </td> 679 <td class="md" nowrap><code> [inline]</code></td> 680 </tr> 681 682 </table> 683 </td> 684 </tr> 685 </table> 686 <table cellspacing=5 cellpadding=0 border=0> 687 <tr> 688 <td> 689 690 </td> 691 <td> 692 693 <p> 694 API to get the operating mode of the mm_audit class. </td> 695 </tr> 696 </table> 697 <a name="a17" doxytag="MM_Audit_Imp::MM_GetNumAllocNodes"></a><p> 698 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 699 <tr> 700 <td class="md"> 701 <table cellpadding="0" cellspacing="0" border="0"> 702 <tr> 703 <td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetNumAllocNodes </td> 704 <td class="md" valign="top">( </td> 705 <td class="mdname1" valign="top" nowrap> </td> 706 <td class="md" valign="top">) </td> 707 <td class="md" nowrap><code> [inline]</code></td> 708 </tr> 709 710 </table> 711 </td> 712 </tr> 713 </table> 714 <table cellspacing=5 cellpadding=0 border=0> 715 <tr> 716 <td> 717 718 </td> 719 <td> 720 721 <p> 722 API to get the number of allocation nodes (records) for allocations that are being tracked individually. </td> 723 </tr> 724 </table> 725 <a name="a16" doxytag="MM_Audit_Imp::MM_GetOverheadStats"></a><p> 726 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 727 <tr> 728 <td class="md"> 729 <table cellpadding="0" cellspacing="0" border="0"> 730 <tr> 731 <td class="md" nowrap valign="top"> void MM_Audit_Imp::MM_GetOverheadStats </td> 732 <td class="md" valign="top">( </td> 733 <td class="md" nowrap valign="top"><a class="el" href="structMM__AuditOverheadStats.html">MM_AuditOverheadStats</a> & </td> 734 <td class="mdname1" valign="top" nowrap> <em>stats</em> </td> 735 <td class="md" valign="top">) </td> 736 <td class="md" nowrap><code> [inline]</code></td> 737 </tr> 738 739 </table> 740 </td> 741 </tr> 742 </table> 743 <table cellspacing=5 cellpadding=0 border=0> 744 <tr> 745 <td> 746 747 </td> 748 <td> 749 750 <p> 751 API to get the overhead statistics for the memory used by the mm_audit class. </td> 752 </tr> 753 </table> 754 <a name="a20" doxytag="MM_Audit_Imp::MM_GetPostfillPattern"></a><p> 755 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 756 <tr> 757 <td class="md"> 758 <table cellpadding="0" cellspacing="0" border="0"> 759 <tr> 760 <td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetPostfillPattern </td> 761 <td class="md" valign="top">( </td> 762 <td class="md" nowrap valign="top">void </td> 763 <td class="mdname1" valign="top" nowrap> </td> 764 <td class="md" valign="top">) </td> 765 <td class="md" nowrap><code> [inline]</code></td> 766 </tr> 767 768 </table> 769 </td> 770 </tr> 771 </table> 772 <table cellspacing=5 cellpadding=0 border=0> 773 <tr> 774 <td> 775 776 </td> 777 <td> 778 779 <p> 780 API to get the postfill pattern. The pattern is used to fill the memory before freeing it. </td> 781 </tr> 782 </table> 783 <a name="a19" doxytag="MM_Audit_Imp::MM_GetPrefillPattern"></a><p> 784 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 785 <tr> 786 <td class="md"> 787 <table cellpadding="0" cellspacing="0" border="0"> 788 <tr> 789 <td class="md" nowrap valign="top"> uint8 MM_Audit_Imp::MM_GetPrefillPattern </td> 790 <td class="md" valign="top">( </td> 791 <td class="md" nowrap valign="top">void </td> 792 <td class="mdname1" valign="top" nowrap> </td> 793 <td class="md" valign="top">) </td> 794 <td class="md" nowrap><code> [inline]</code></td> 795 </tr> 796 797 </table> 798 </td> 799 </tr> 800 </table> 801 <table cellspacing=5 cellpadding=0 border=0> 802 <tr> 803 <td> 804 805 </td> 806 <td> 807 808 <p> 809 API to get the prefill pattern. The pattern is used to fill the memory before returning it to the caller. </td> 810 </tr> 811 </table> 812 <a name="a10" doxytag="MM_Audit_Imp::MM_GetRootNode"></a><p> 813 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 814 <tr> 815 <td class="md"> 816 <table cellpadding="0" cellspacing="0" border="0"> 817 <tr> 818 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::MM_GetRootNode </td> 819 <td class="md" valign="top">( </td> 820 <td class="mdname1" valign="top" nowrap> </td> 821 <td class="md" valign="top">) </td> 822 <td class="md" nowrap><code> [inline]</code></td> 823 </tr> 824 825 </table> 826 </td> 827 </tr> 828 </table> 829 <table cellspacing=5 cellpadding=0 border=0> 830 <tr> 831 <td> 832 833 </td> 834 <td> 835 836 <p> 837 </td> 838 </tr> 839 </table> 840 <a name="a4" doxytag="MM_Audit_Imp::MM_GetStats"></a><p> 841 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 842 <tr> 843 <td class="md"> 844 <table cellpadding="0" cellspacing="0" border="0"> 845 <tr> 846 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a>* MM_Audit_Imp::MM_GetStats </td> 847 <td class="md" valign="top">( </td> 848 <td class="md" nowrap valign="top">const char *const </td> 849 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 850 <td class="md" valign="top">) </td> 851 <td class="md" nowrap></td> 852 </tr> 853 854 </table> 855 </td> 856 </tr> 857 </table> 858 <table cellspacing=5 cellpadding=0 border=0> 859 <tr> 860 <td> 861 862 </td> 863 <td> 864 865 <p> 866 API to get memory statistics through context string(tag) <dl compact><dt><b>Returns: </b></dt><dd> 867 statistics pointer if operation succeeds </dl> </td> 868 </tr> 869 </table> 870 <a name="a5" doxytag="MM_Audit_Imp::MM_GetStatsInDepth"></a><p> 871 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 872 <tr> 873 <td class="md"> 874 <table cellpadding="0" cellspacing="0" border="0"> 875 <tr> 876 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 MM_Audit_Imp::MM_GetStatsInDepth </td> 877 <td class="md" valign="top">( </td> 878 <td class="md" nowrap valign="top">const char * </td> 879 <td class="mdname" nowrap> <em>tagIn</em>, </td> 880 </tr> 881 <tr> 882 <td></td> 883 <td></td> 884 <td class="md" nowrap><a class="el" href="structMM__Stats__CB.html">MM_Stats_CB</a> * </td> 885 <td class="mdname" nowrap> <em>array_ptr</em>, </td> 886 </tr> 887 <tr> 888 <td></td> 889 <td></td> 890 <td class="md" nowrap>uint32 </td> 891 <td class="mdname" nowrap> <em>max_nodes</em></td> 892 </tr> 893 <tr> 894 <td></td> 895 <td class="md">) </td> 896 <td class="md" colspan="2"></td> 897 </tr> 898 899 </table> 900 </td> 901 </tr> 902 </table> 903 <table cellspacing=5 cellpadding=0 border=0> 904 <tr> 905 <td> 906 907 </td> 908 <td> 909 910 <p> 911 API to get memory statistics in detail through context string(tag) including its subtree <dl compact><dt><b>Returns: </b></dt><dd> 912 statistics pointer array and actual number of nodes if operation succeeds </dl> </td> 913 </tr> 914 </table> 915 <a name="a8" doxytag="MM_Audit_Imp::MM_GetTagNode"></a><p> 916 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 917 <tr> 918 <td class="md"> 919 <table cellpadding="0" cellspacing="0" border="0"> 920 <tr> 921 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::MM_GetTagNode </td> 922 <td class="md" valign="top">( </td> 923 <td class="md" nowrap valign="top">const char * </td> 924 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 925 <td class="md" valign="top">) </td> 926 <td class="md" nowrap></td> 927 </tr> 928 929 </table> 930 </td> 931 </tr> 932 </table> 933 <table cellspacing=5 cellpadding=0 border=0> 934 <tr> 935 <td> 936 937 </td> 938 <td> 939 940 <p> 941 API to add a node and zero out its counters; Note that this tag should be re-used <dl compact><dt><b>Parameters: </b></dt><dd> 942 <table border=0 cellspacing=2 cellpadding=0> 943 <tr><td valign=top><em>tagIn</em> </td><td> 944 input tag </td></tr> 945 </table> 946 </dl><dl compact><dt><b>Returns: </b></dt><dd> 947 pointer to <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> which should be passed to MM_allocate </dl> </td> 948 </tr> 949 </table> 950 <a name="a6" doxytag="MM_Audit_Imp::MM_GetTreeNodes"></a><p> 951 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 952 <tr> 953 <td class="md"> 954 <table cellpadding="0" cellspacing="0" border="0"> 955 <tr> 956 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 MM_Audit_Imp::MM_GetTreeNodes </td> 957 <td class="md" valign="top">( </td> 958 <td class="md" nowrap valign="top">const char * </td> 959 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 960 <td class="md" valign="top">) </td> 961 <td class="md" nowrap></td> 962 </tr> 963 964 </table> 965 </td> 966 </tr> 967 </table> 968 <table cellspacing=5 cellpadding=0 border=0> 969 <tr> 970 <td> 971 972 </td> 973 <td> 974 975 <p> 976 API to get the number of tree nodes including the tag node and its subtree <dl compact><dt><b>Parameters: </b></dt><dd> 977 <table border=0 cellspacing=2 cellpadding=0> 978 <tr><td valign=top><em>tagIn</em> </td><td> 979 input tag </td></tr> 980 </table> 981 </dl><dl compact><dt><b>Returns: </b></dt><dd> 982 the number of tree nodes ; 0 means no tag node </dl> </td> 983 </tr> 984 </table> 985 <a name="a12" doxytag="MM_Audit_Imp::MM_ReleaseAllocNodeInfo"></a><p> 986 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 987 <tr> 988 <td class="md"> 989 <table cellpadding="0" cellspacing="0" border="0"> 990 <tr> 991 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_ReleaseAllocNodeInfo </td> 992 <td class="md" valign="top">( </td> 993 <td class="md" nowrap valign="top"><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> * </td> 994 <td class="mdname1" valign="top" nowrap> <em>info</em> </td> 995 <td class="md" valign="top">) </td> 996 <td class="md" nowrap></td> 997 </tr> 998 999 </table> 1000 </td> 1001 </tr> 1002 </table> 1003 <table cellspacing=5 cellpadding=0 border=0> 1004 <tr> 1005 <td> 1006 1007 </td> 1008 <td> 1009 1010 <p> 1011 </td> 1012 </tr> 1013 </table> 1014 <a name="a25" doxytag="MM_Audit_Imp::MM_SetFailurePoint"></a><p> 1015 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1016 <tr> 1017 <td class="md"> 1018 <table cellpadding="0" cellspacing="0" border="0"> 1019 <tr> 1020 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_SetFailurePoint </td> 1021 <td class="md" valign="top">( </td> 1022 <td class="md" nowrap valign="top">const char * </td> 1023 <td class="mdname" nowrap> <em>tagIn</em>, </td> 1024 </tr> 1025 <tr> 1026 <td></td> 1027 <td></td> 1028 <td class="md" nowrap>uint32 </td> 1029 <td class="mdname" nowrap> <em>alloc_number</em></td> 1030 </tr> 1031 <tr> 1032 <td></td> 1033 <td class="md">) </td> 1034 <td class="md" colspan="2"></td> 1035 </tr> 1036 1037 </table> 1038 </td> 1039 </tr> 1040 </table> 1041 <table cellspacing=5 cellpadding=0 border=0> 1042 <tr> 1043 <td> 1044 1045 </td> 1046 <td> 1047 1048 <p> 1049 API to insert allocation failure deterministically according to allocation number associated with tag <dl compact><dt><b>Parameters: </b></dt><dd> 1050 <table border=0 cellspacing=2 cellpadding=0> 1051 <tr><td valign=top><em>tagIn</em> </td><td> 1052 input tag </td></tr> 1053 <tr><td valign=top><em>alloc_number</em> </td><td> 1054 allocation number associated with tag </td></tr> 1055 </table> 1056 </dl><dl compact><dt><b>Returns: </b></dt><dd> 1057 true if operation succeeds; </dl> </td> 1058 </tr> 1059 </table> 1060 <a name="a21" doxytag="MM_Audit_Imp::MM_SetMode"></a><p> 1061 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1062 <tr> 1063 <td class="md"> 1064 <table cellpadding="0" cellspacing="0" border="0"> 1065 <tr> 1066 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetMode </td> 1067 <td class="md" valign="top">( </td> 1068 <td class="md" nowrap valign="top">uint32 </td> 1069 <td class="mdname1" valign="top" nowrap> <em>inMode</em> </td> 1070 <td class="md" valign="top">) </td> 1071 <td class="md" nowrap></td> 1072 </tr> 1073 1074 </table> 1075 </td> 1076 </tr> 1077 </table> 1078 <table cellspacing=5 cellpadding=0 border=0> 1079 <tr> 1080 <td> 1081 1082 </td> 1083 <td> 1084 1085 <p> 1086 API to set the operating mode of the mm_audit class. </td> 1087 </tr> 1088 </table> 1089 <a name="a23" doxytag="MM_Audit_Imp::MM_SetPostfillPattern"></a><p> 1090 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1091 <tr> 1092 <td class="md"> 1093 <table cellpadding="0" cellspacing="0" border="0"> 1094 <tr> 1095 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetPostfillPattern </td> 1096 <td class="md" valign="top">( </td> 1097 <td class="md" nowrap valign="top">uint8 </td> 1098 <td class="mdname1" valign="top" nowrap> <em>pattern</em> </td> 1099 <td class="md" valign="top">) </td> 1100 <td class="md" nowrap></td> 1101 </tr> 1102 1103 </table> 1104 </td> 1105 </tr> 1106 </table> 1107 <table cellspacing=5 cellpadding=0 border=0> 1108 <tr> 1109 <td> 1110 1111 </td> 1112 <td> 1113 1114 <p> 1115 API to set the postfill pattern. </td> 1116 </tr> 1117 </table> 1118 <a name="a22" doxytag="MM_Audit_Imp::MM_SetPrefillPattern"></a><p> 1119 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1120 <tr> 1121 <td class="md"> 1122 <table cellpadding="0" cellspacing="0" border="0"> 1123 <tr> 1124 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetPrefillPattern </td> 1125 <td class="md" valign="top">( </td> 1126 <td class="md" nowrap valign="top">uint8 </td> 1127 <td class="mdname1" valign="top" nowrap> <em>pattern</em> </td> 1128 <td class="md" valign="top">) </td> 1129 <td class="md" nowrap></td> 1130 </tr> 1131 1132 </table> 1133 </td> 1134 </tr> 1135 </table> 1136 <table cellspacing=5 cellpadding=0 border=0> 1137 <tr> 1138 <td> 1139 1140 </td> 1141 <td> 1142 1143 <p> 1144 API to set the prefill pattern. </td> 1145 </tr> 1146 </table> 1147 <a name="a24" doxytag="MM_Audit_Imp::MM_SetTagLevel"></a><p> 1148 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1149 <tr> 1150 <td class="md"> 1151 <table cellpadding="0" cellspacing="0" border="0"> 1152 <tr> 1153 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetTagLevel </td> 1154 <td class="md" valign="top">( </td> 1155 <td class="md" nowrap valign="top">uint32 </td> 1156 <td class="mdname1" valign="top" nowrap> <em>level</em> </td> 1157 <td class="md" valign="top">) </td> 1158 <td class="md" nowrap></td> 1159 </tr> 1160 1161 </table> 1162 </td> 1163 </tr> 1164 </table> 1165 <table cellspacing=5 cellpadding=0 border=0> 1166 <tr> 1167 <td> 1168 1169 </td> 1170 <td> 1171 1172 <p> 1173 API to set the maximum tag level,i.e. tag level for a.b.c.d = 4 <dl compact><dt><b>Parameters: </b></dt><dd> 1174 <table border=0 cellspacing=2 cellpadding=0> 1175 <tr><td valign=top><em>level</em> </td><td> 1176 input tag level to be set </td></tr> 1177 </table> 1178 </dl> </td> 1179 </tr> 1180 </table> 1181 <a name="a26" doxytag="MM_Audit_Imp::MM_UnsetFailurePoint"></a><p> 1182 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1183 <tr> 1184 <td class="md"> 1185 <table cellpadding="0" cellspacing="0" border="0"> 1186 <tr> 1187 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_UnsetFailurePoint </td> 1188 <td class="md" valign="top">( </td> 1189 <td class="md" nowrap valign="top">const char * </td> 1190 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 1191 <td class="md" valign="top">) </td> 1192 <td class="md" nowrap></td> 1193 </tr> 1194 1195 </table> 1196 </td> 1197 </tr> 1198 </table> 1199 <table cellspacing=5 cellpadding=0 border=0> 1200 <tr> 1201 <td> 1202 1203 </td> 1204 <td> 1205 1206 <p> 1207 API to cancel the allocation failure point associated with tag <dl compact><dt><b>Parameters: </b></dt><dd> 1208 <table border=0 cellspacing=2 cellpadding=0> 1209 <tr><td valign=top><em>tagIn</em> </td><td> 1210 input tag </td></tr> 1211 </table> 1212 </dl> </td> 1213 </tr> 1214 </table> 1215 <a name="a14" doxytag="MM_Audit_Imp::MM_Validate"></a><p> 1216 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1217 <tr> 1218 <td class="md"> 1219 <table cellpadding="0" cellspacing="0" border="0"> 1220 <tr> 1221 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_Validate </td> 1222 <td class="md" valign="top">( </td> 1223 <td class="md" nowrap valign="top">const void * </td> 1224 <td class="mdname1" valign="top" nowrap> <em>ptrIn</em> </td> 1225 <td class="md" valign="top">) </td> 1226 <td class="md" nowrap></td> 1227 </tr> 1228 1229 </table> 1230 </td> 1231 </tr> 1232 </table> 1233 <table cellspacing=5 cellpadding=0 border=0> 1234 <tr> 1235 <td> 1236 1237 </td> 1238 <td> 1239 1240 <p> 1241 API to check the input pointer is a valid pointer to a chunk of memory <dl compact><dt><b>Parameters: </b></dt><dd> 1242 <table border=0 cellspacing=2 cellpadding=0> 1243 <tr><td valign=top><em>ptrIn</em> </td><td> 1244 input pointer to be validated </td></tr> 1245 </table> 1246 </dl><dl compact><dt><b>Returns: </b></dt><dd> 1247 true if operation succeeds; </dl> </td> 1248 </tr> 1249 </table> 1250 <a name="a35" doxytag="MM_Audit_Imp::pruneSubtree"></a><p> 1251 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1252 <tr> 1253 <td class="md"> 1254 <table cellpadding="0" cellspacing="0" border="0"> 1255 <tr> 1256 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::pruneSubtree </td> 1257 <td class="md" valign="top">( </td> 1258 <td class="md" nowrap valign="top">const char * </td> 1259 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 1260 <td class="md" valign="top">) </td> 1261 <td class="md" nowrap></td> 1262 </tr> 1263 1264 </table> 1265 </td> 1266 </tr> 1267 </table> 1268 <table cellspacing=5 cellpadding=0 border=0> 1269 <tr> 1270 <td> 1271 1272 </td> 1273 <td> 1274 1275 <p> 1276 </td> 1277 </tr> 1278 </table> 1279 <a name="a34" doxytag="MM_Audit_Imp::pruneSubtree"></a><p> 1280 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1281 <tr> 1282 <td class="md"> 1283 <table cellpadding="0" cellspacing="0" border="0"> 1284 <tr> 1285 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::pruneSubtree </td> 1286 <td class="md" valign="top">( </td> 1287 <td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 1288 <td class="mdname1" valign="top" nowrap> <em>pNode</em> </td> 1289 <td class="md" valign="top">) </td> 1290 <td class="md" nowrap></td> 1291 </tr> 1292 1293 </table> 1294 </td> 1295 </tr> 1296 </table> 1297 <table cellspacing=5 cellpadding=0 border=0> 1298 <tr> 1299 <td> 1300 1301 </td> 1302 <td> 1303 1304 <p> 1305 <dl compact><dt><b>Returns: </b></dt><dd> 1306 true if operation succeeds; </dl> </td> 1307 </tr> 1308 </table> 1309 <a name="a29" doxytag="MM_Audit_Imp::removeALLAllocNodes"></a><p> 1310 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1311 <tr> 1312 <td class="md"> 1313 <table cellpadding="0" cellspacing="0" border="0"> 1314 <tr> 1315 <td class="md" nowrap valign="top"> void MM_Audit_Imp::removeALLAllocNodes </td> 1316 <td class="md" valign="top">( </td> 1317 <td class="mdname1" valign="top" nowrap> </td> 1318 <td class="md" valign="top">) </td> 1319 <td class="md" nowrap></td> 1320 </tr> 1321 1322 </table> 1323 </td> 1324 </tr> 1325 </table> 1326 <table cellspacing=5 cellpadding=0 border=0> 1327 <tr> 1328 <td> 1329 1330 </td> 1331 <td> 1332 1333 <p> 1334 </td> 1335 </tr> 1336 </table> 1337 <a name="a28" doxytag="MM_Audit_Imp::removeAllocNode"></a><p> 1338 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1339 <tr> 1340 <td class="md"> 1341 <table cellpadding="0" cellspacing="0" border="0"> 1342 <tr> 1343 <td class="md" nowrap valign="top"> <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::removeAllocNode </td> 1344 <td class="md" valign="top">( </td> 1345 <td class="md" nowrap valign="top">void * </td> 1346 <td class="mdname" nowrap> <em>pMemBlockIn</em>, </td> 1347 </tr> 1348 <tr> 1349 <td></td> 1350 <td></td> 1351 <td class="md" nowrap>uint32 & </td> 1352 <td class="mdname" nowrap> <em>size</em></td> 1353 </tr> 1354 <tr> 1355 <td></td> 1356 <td class="md">) </td> 1357 <td class="md" colspan="2"></td> 1358 </tr> 1359 1360 </table> 1361 </td> 1362 </tr> 1363 </table> 1364 <table cellspacing=5 cellpadding=0 border=0> 1365 <tr> 1366 <td> 1367 1368 </td> 1369 <td> 1370 1371 <p> 1372 <dl compact><dt><b>Returns: </b></dt><dd> 1373 true if operation succeeds; </dl> </td> 1374 </tr> 1375 </table> 1376 <a name="a36" doxytag="MM_Audit_Imp::retrieveParentTag"></a><p> 1377 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1378 <tr> 1379 <td class="md"> 1380 <table cellpadding="0" cellspacing="0" border="0"> 1381 <tr> 1382 <td class="md" nowrap valign="top"> void MM_Audit_Imp::retrieveParentTag </td> 1383 <td class="md" valign="top">( </td> 1384 <td class="md" nowrap valign="top">char * </td> 1385 <td class="mdname1" valign="top" nowrap> <em>tag</em> </td> 1386 <td class="md" valign="top">) </td> 1387 <td class="md" nowrap></td> 1388 </tr> 1389 1390 </table> 1391 </td> 1392 </tr> 1393 </table> 1394 <table cellspacing=5 cellpadding=0 border=0> 1395 <tr> 1396 <td> 1397 1398 </td> 1399 <td> 1400 1401 <p> 1402 </td> 1403 </tr> 1404 </table> 1405 <a name="a37" doxytag="MM_Audit_Imp::retrieveParentTagLength"></a><p> 1406 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1407 <tr> 1408 <td class="md"> 1409 <table cellpadding="0" cellspacing="0" border="0"> 1410 <tr> 1411 <td class="md" nowrap valign="top"> int32 MM_Audit_Imp::retrieveParentTagLength </td> 1412 <td class="md" valign="top">( </td> 1413 <td class="md" nowrap valign="top">const char * </td> 1414 <td class="mdname" nowrap> <em>tag</em>, </td> 1415 </tr> 1416 <tr> 1417 <td></td> 1418 <td></td> 1419 <td class="md" nowrap>int32 </td> 1420 <td class="mdname" nowrap> <em>bound</em></td> 1421 </tr> 1422 <tr> 1423 <td></td> 1424 <td class="md">) </td> 1425 <td class="md" colspan="2"></td> 1426 </tr> 1427 1428 </table> 1429 </td> 1430 </tr> 1431 </table> 1432 <table cellspacing=5 cellpadding=0 border=0> 1433 <tr> 1434 <td> 1435 1436 </td> 1437 <td> 1438 1439 <p> 1440 <dl compact><dt><b>Returns: </b></dt><dd> 1441 the length of a immediate parent tag for the input tag </dl> </td> 1442 </tr> 1443 </table> 1444 <a name="a31" doxytag="MM_Audit_Imp::updateStatsNode"></a><p> 1445 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1446 <tr> 1447 <td class="md"> 1448 <table cellpadding="0" cellspacing="0" border="0"> 1449 <tr> 1450 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::updateStatsNode </td> 1451 <td class="md" valign="top">( </td> 1452 <td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 1453 <td class="mdname" nowrap> <em>pCurrStatsNode</em>, </td> 1454 </tr> 1455 <tr> 1456 <td></td> 1457 <td></td> 1458 <td class="md" nowrap>const <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a> & </td> 1459 <td class="mdname" nowrap> <em>pDelta</em>, </td> 1460 </tr> 1461 <tr> 1462 <td></td> 1463 <td></td> 1464 <td class="md" nowrap>bool </td> 1465 <td class="mdname" nowrap> <em>bAdd</em></td> 1466 </tr> 1467 <tr> 1468 <td></td> 1469 <td class="md">) </td> 1470 <td class="md" colspan="2"></td> 1471 </tr> 1472 1473 </table> 1474 </td> 1475 </tr> 1476 </table> 1477 <table cellspacing=5 cellpadding=0 border=0> 1478 <tr> 1479 <td> 1480 1481 </td> 1482 <td> 1483 1484 <p> 1485 <dl compact><dt><b>Returns: </b></dt><dd> 1486 true if operation succeeds; </dl> </td> 1487 </tr> 1488 </table> 1489 <a name="a33" doxytag="MM_Audit_Imp::updateStatsNodeInFailure"></a><p> 1490 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1491 <tr> 1492 <td class="md"> 1493 <table cellpadding="0" cellspacing="0" border="0"> 1494 <tr> 1495 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::updateStatsNodeInFailure </td> 1496 <td class="md" valign="top">( </td> 1497 <td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 1498 <td class="mdname1" valign="top" nowrap> <em>pStatsNode</em> </td> 1499 <td class="md" valign="top">) </td> 1500 <td class="md" nowrap></td> 1501 </tr> 1502 1503 </table> 1504 </td> 1505 </tr> 1506 </table> 1507 <table cellspacing=5 cellpadding=0 border=0> 1508 <tr> 1509 <td> 1510 1511 </td> 1512 <td> 1513 1514 <p> 1515 </td> 1516 </tr> 1517 </table> 1518 <a name="a32" doxytag="MM_Audit_Imp::updateStatsNodeInFailure"></a><p> 1519 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1520 <tr> 1521 <td class="md"> 1522 <table cellpadding="0" cellspacing="0" border="0"> 1523 <tr> 1524 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::updateStatsNodeInFailure </td> 1525 <td class="md" valign="top">( </td> 1526 <td class="md" nowrap valign="top">const char * </td> 1527 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 1528 <td class="md" valign="top">) </td> 1529 <td class="md" nowrap></td> 1530 </tr> 1531 1532 </table> 1533 </td> 1534 </tr> 1535 </table> 1536 <table cellspacing=5 cellpadding=0 border=0> 1537 <tr> 1538 <td> 1539 1540 </td> 1541 <td> 1542 1543 <p> 1544 <dl compact><dt><b>Returns: </b></dt><dd> 1545 true if operation succeeds; </dl> </td> 1546 </tr> 1547 </table> 1548 <a name="d0" doxytag="MM_Audit_Imp::validate"></a><p> 1549 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1550 <tr> 1551 <td class="md"> 1552 <table cellpadding="0" cellspacing="0" border="0"> 1553 <tr> 1554 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::validate </td> 1555 <td class="md" valign="top">( </td> 1556 <td class="md" nowrap valign="top">void * </td> 1557 <td class="mdname1" valign="top" nowrap> <em>ptrIn</em> </td> 1558 <td class="md" valign="top">) </td> 1559 <td class="md" nowrap><code> [static]</code></td> 1560 </tr> 1561 1562 </table> 1563 </td> 1564 </tr> 1565 </table> 1566 <table cellspacing=5 cellpadding=0 border=0> 1567 <tr> 1568 <td> 1569 1570 </td> 1571 <td> 1572 1573 <p> 1574 <dl compact><dt><b>Returns: </b></dt><dd> 1575 true if operation succeeds; </dl> </td> 1576 </tr> 1577 </table> 1578 <a name="a42" doxytag="MM_Audit_Imp::validate_all_heap"></a><p> 1579 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1580 <tr> 1581 <td class="md"> 1582 <table cellpadding="0" cellspacing="0" border="0"> 1583 <tr> 1584 <td class="md" nowrap valign="top"> bool MM_Audit_Imp::validate_all_heap </td> 1585 <td class="md" valign="top">( </td> 1586 <td class="mdname1" valign="top" nowrap> </td> 1587 <td class="md" valign="top">) </td> 1588 <td class="md" nowrap></td> 1589 </tr> 1590 1591 </table> 1592 </td> 1593 </tr> 1594 </table> 1595 <table cellspacing=5 cellpadding=0 border=0> 1596 <tr> 1597 <td> 1598 1599 </td> 1600 <td> 1601 1602 <p> 1603 <dl compact><dt><b>Returns: </b></dt><dd> 1604 true if operation succeeds; </dl> </td> 1605 </tr> 1606 </table> 1607 <hr>The documentation for this class was generated from the following file:<ul> 1608 <li><a class="el" href="oscl__mem__audit_8h-source.html">oscl_mem_audit.h</a></ul> 1609 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 1610 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 1611 </small></address> 1612 </body> 1613 </html> 1614