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>OsclMemAudit 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>OsclMemAudit 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="classOsclMemAudit.html#a0">OsclMemAudit</a> ()</td></tr> 18 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a1">~OsclMemAudit</a> ()</td></tr> 19 <tr><td nowrap align=right valign=top>void * </td><td valign=bottom><a class="el" href="classOsclMemAudit.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>bool </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a3">MM_deallocate</a> (void *pMemBlockIn)</td></tr> 21 <tr><td nowrap align=right valign=top><a class="el" href="structMM__Stats__t.html">MM_Stats_t</a> * </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a4">MM_GetStats</a> (const char *const tagIn)</td></tr> 22 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemAudit.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>uint32 </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a6">MM_GetTreeNodes</a> (const char *tagIn)</td></tr> 24 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a7">MM_AddTag</a> (const char *tagIn)</td></tr> 25 <tr><td nowrap align=right valign=top>const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a8">MM_GetTagNode</a> (const char *tagIn)</td></tr> 26 <tr><td nowrap align=right valign=top>const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a9">MM_GetExistingTag</a> (const char *tagIn)</td></tr> 27 <tr><td nowrap align=right valign=top>const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a10">MM_GetRootNode</a> ()</td></tr> 28 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a11">MM_GetAllocNodeInfo</a> (<a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *output_array, uint32 max_array_size, uint32 offset)</td></tr> 29 <tr><td nowrap align=right valign=top><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> * </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a12">MM_CreateAllocNodeInfo</a> (uint32 max_array_size)</td></tr> 30 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a13">MM_ReleaseAllocNodeInfo</a> (<a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *info)</td></tr> 31 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclMemAudit.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="classOsclMemAudit.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="classOsclMemAudit.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="classOsclMemAudit.html#a17">MM_GetNumAllocNodes</a> ()</td></tr> 35 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemAudit.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="classOsclMemAudit.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="classOsclMemAudit.html#a20">MM_GetPostfillPattern</a> (void)</td></tr> 38 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a21">MM_SetMode</a> (uint32 inMode)</td></tr> 39 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a22">MM_SetPrefillPattern</a> (uint8 pattern)</td></tr> 40 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a23">MM_SetPostfillPattern</a> (uint8 pattern)</td></tr> 41 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a24">MM_SetTagLevel</a> (uint32 level)</td></tr> 42 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a25">MM_SetFailurePoint</a> (const char *tagIn, uint32 alloc_number)</td></tr> 43 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a26">MM_UnsetFailurePoint</a> (const char *tagIn)</td></tr> 44 <tr><td nowrap align=right valign=top>int32 </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a27">MM_GetRefCount</a> ()</td></tr> 45 <tr><td nowrap align=right valign=top><a class="el" href="classOsclLockBase.html">OsclLockBase</a> * </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#a28">GetLock</a> ()</td></tr> 46 <tr><td colspan=2><br><h2>Friends</h2></td></tr> 47 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOsclMemAudit.html#l0">OsclMemGlobalAuditObject</a></td></tr> 48 </table> 49 <hr><h2>Constructor & Destructor Documentation</h2> 50 <a name="a0" doxytag="OsclMemAudit::OsclMemAudit"></a><p> 51 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 52 <tr> 53 <td class="md"> 54 <table cellpadding="0" cellspacing="0" border="0"> 55 <tr> 56 <td class="md" nowrap valign="top"> OsclMemAudit::OsclMemAudit </td> 57 <td class="md" valign="top">( </td> 58 <td class="mdname1" valign="top" nowrap> </td> 59 <td class="md" valign="top">) </td> 60 <td class="md" nowrap><code> [inline]</code></td> 61 </tr> 62 63 </table> 64 </td> 65 </tr> 66 </table> 67 <table cellspacing=5 cellpadding=0 border=0> 68 <tr> 69 <td> 70 71 </td> 72 <td> 73 74 <p> 75 Constructor, create the root node in statistics table </td> 76 </tr> 77 </table> 78 <a name="a1" doxytag="OsclMemAudit::~OsclMemAudit"></a><p> 79 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 80 <tr> 81 <td class="md"> 82 <table cellpadding="0" cellspacing="0" border="0"> 83 <tr> 84 <td class="md" nowrap valign="top"> OsclMemAudit::~OsclMemAudit </td> 85 <td class="md" valign="top">( </td> 86 <td class="mdname1" valign="top" nowrap> </td> 87 <td class="md" valign="top">) </td> 88 <td class="md" nowrap><code> [inline]</code></td> 89 </tr> 90 91 </table> 92 </td> 93 </tr> 94 </table> 95 <table cellspacing=5 cellpadding=0 border=0> 96 <tr> 97 <td> 98 99 </td> 100 <td> 101 102 <p> 103 A destructor, remove all the nodes in allocation andstatistics table </td> 104 </tr> 105 </table> 106 <hr><h2>Member Function Documentation</h2> 107 <a name="a28" doxytag="OsclMemAudit::GetLock"></a><p> 108 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 109 <tr> 110 <td class="md"> 111 <table cellpadding="0" cellspacing="0" border="0"> 112 <tr> 113 <td class="md" nowrap valign="top"> <a class="el" href="classOsclLockBase.html">OsclLockBase</a>* OsclMemAudit::GetLock </td> 114 <td class="md" valign="top">( </td> 115 <td class="mdname1" valign="top" nowrap> </td> 116 <td class="md" valign="top">) </td> 117 <td class="md" nowrap><code> [inline]</code></td> 118 </tr> 119 120 </table> 121 </td> 122 </tr> 123 </table> 124 <table cellspacing=5 cellpadding=0 border=0> 125 <tr> 126 <td> 127 128 </td> 129 <td> 130 131 <p> 132 API to obtain mem lock ptr </td> 133 </tr> 134 </table> 135 <a name="a7" doxytag="OsclMemAudit::MM_AddTag"></a><p> 136 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 137 <tr> 138 <td class="md"> 139 <table cellpadding="0" cellspacing="0" border="0"> 140 <tr> 141 <td class="md" nowrap valign="top"> bool OsclMemAudit::MM_AddTag </td> 142 <td class="md" valign="top">( </td> 143 <td class="md" nowrap valign="top">const char * </td> 144 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 145 <td class="md" valign="top">) </td> 146 <td class="md" nowrap><code> [inline]</code></td> 147 </tr> 148 149 </table> 150 </td> 151 </tr> 152 </table> 153 <table cellspacing=5 cellpadding=0 border=0> 154 <tr> 155 <td> 156 157 </td> 158 <td> 159 160 <p> 161 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> 162 <table border=0 cellspacing=2 cellpadding=0> 163 <tr><td valign=top><em>tagIn</em> </td><td> 164 input tag </td></tr> 165 </table> 166 </dl><dl compact><dt><b>Returns: </b></dt><dd> 167 true if operation succeeds; </dl> </td> 168 </tr> 169 </table> 170 <a name="a2" doxytag="OsclMemAudit::MM_allocate"></a><p> 171 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 172 <tr> 173 <td class="md"> 174 <table cellpadding="0" cellspacing="0" border="0"> 175 <tr> 176 <td class="md" nowrap valign="top"> void* OsclMemAudit::MM_allocate </td> 177 <td class="md" valign="top">( </td> 178 <td class="md" nowrap valign="top">const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> * </td> 179 <td class="mdname" nowrap> <em>statsNode</em>, </td> 180 </tr> 181 <tr> 182 <td></td> 183 <td></td> 184 <td class="md" nowrap>uint32 </td> 185 <td class="mdname" nowrap> <em>sizeIn</em>, </td> 186 </tr> 187 <tr> 188 <td></td> 189 <td></td> 190 <td class="md" nowrap>const char * </td> 191 <td class="mdname" nowrap> <em>pFileName</em>, </td> 192 </tr> 193 <tr> 194 <td></td> 195 <td></td> 196 <td class="md" nowrap>uint32 </td> 197 <td class="mdname" nowrap> <em>lineNumber</em>, </td> 198 </tr> 199 <tr> 200 <td></td> 201 <td></td> 202 <td class="md" nowrap>bool </td> 203 <td class="mdname" nowrap> <em>allocNodeTracking</em> = false</td> 204 </tr> 205 <tr> 206 <td></td> 207 <td class="md">) </td> 208 <td class="md" colspan="2"><code> [inline]</code></td> 209 </tr> 210 211 </table> 212 </td> 213 </tr> 214 </table> 215 <table cellspacing=5 cellpadding=0 border=0> 216 <tr> 217 <td> 218 219 </td> 220 <td> 221 222 <p> 223 The following are APIs t __nothrow_/ const __nothrow_ <dl compact><dt><b>Returns: </b></dt><dd> 224 the memory pointer if operation succeeds. </dl> </td> 225 </tr> 226 </table> 227 <a name="a12" doxytag="OsclMemAudit::MM_CreateAllocNodeInfo"></a><p> 228 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 229 <tr> 230 <td class="md"> 231 <table cellpadding="0" cellspacing="0" border="0"> 232 <tr> 233 <td class="md" nowrap valign="top"> <a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a>* OsclMemAudit::MM_CreateAllocNodeInfo </td> 234 <td class="md" valign="top">( </td> 235 <td class="md" nowrap valign="top">uint32 </td> 236 <td class="mdname1" valign="top" nowrap> <em>max_array_size</em> </td> 237 <td class="md" valign="top">) </td> 238 <td class="md" nowrap><code> [inline]</code></td> 239 </tr> 240 241 </table> 242 </td> 243 </tr> 244 </table> 245 <table cellspacing=5 cellpadding=0 border=0> 246 <tr> 247 <td> 248 249 </td> 250 <td> 251 252 <p> 253 </td> 254 </tr> 255 </table> 256 <a name="a3" doxytag="OsclMemAudit::MM_deallocate"></a><p> 257 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 258 <tr> 259 <td class="md"> 260 <table cellpadding="0" cellspacing="0" border="0"> 261 <tr> 262 <td class="md" nowrap valign="top"> bool OsclMemAudit::MM_deallocate </td> 263 <td class="md" valign="top">( </td> 264 <td class="md" nowrap valign="top">void * </td> 265 <td class="mdname1" valign="top" nowrap> <em>pMemBlockIn</em> </td> 266 <td class="md" valign="top">) </td> 267 <td class="md" nowrap><code> [inline]</code></td> 268 </tr> 269 270 </table> 271 </td> 272 </tr> 273 </table> 274 <table cellspacing=5 cellpadding=0 border=0> 275 <tr> 276 <td> 277 278 </td> 279 <td> 280 281 <p> 282 <dl compact><dt><b>Returns: </b></dt><dd> 283 true if operation succeeds; </dl> </td> 284 </tr> 285 </table> 286 <a name="a15" doxytag="OsclMemAudit::MM_GetAllocNo"></a><p> 287 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 288 <tr> 289 <td class="md"> 290 <table cellpadding="0" cellspacing="0" border="0"> 291 <tr> 292 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetAllocNo </td> 293 <td class="md" valign="top">( </td> 294 <td class="md" nowrap valign="top">void </td> 295 <td class="mdname1" valign="top" nowrap> </td> 296 <td class="md" valign="top">) </td> 297 <td class="md" nowrap><code> [inline]</code></td> 298 </tr> 299 300 </table> 301 </td> 302 </tr> 303 </table> 304 <table cellspacing=5 cellpadding=0 border=0> 305 <tr> 306 <td> 307 308 </td> 309 <td> 310 311 <p> 312 API to get the current allocation number <dl compact><dt><b>Returns: </b></dt><dd> 313 the current allocation number </dl> </td> 314 </tr> 315 </table> 316 <a name="a11" doxytag="OsclMemAudit::MM_GetAllocNodeInfo"></a><p> 317 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 318 <tr> 319 <td class="md"> 320 <table cellpadding="0" cellspacing="0" border="0"> 321 <tr> 322 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetAllocNodeInfo </td> 323 <td class="md" valign="top">( </td> 324 <td class="md" nowrap valign="top"><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> * </td> 325 <td class="mdname" nowrap> <em>output_array</em>, </td> 326 </tr> 327 <tr> 328 <td></td> 329 <td></td> 330 <td class="md" nowrap>uint32 </td> 331 <td class="mdname" nowrap> <em>max_array_size</em>, </td> 332 </tr> 333 <tr> 334 <td></td> 335 <td></td> 336 <td class="md" nowrap>uint32 </td> 337 <td class="mdname" nowrap> <em>offset</em></td> 338 </tr> 339 <tr> 340 <td></td> 341 <td class="md">) </td> 342 <td class="md" colspan="2"><code> [inline]</code></td> 343 </tr> 344 345 </table> 346 </td> 347 </tr> 348 </table> 349 <table cellspacing=5 cellpadding=0 border=0> 350 <tr> 351 <td> 352 353 </td> 354 <td> 355 356 <p> 357 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> 358 <table border=0 cellspacing=2 cellpadding=0> 359 <tr><td valign=top><em>output_array</em> </td><td> 360 the array where the data will be written </td></tr> 361 <tr><td valign=top><em>max_array_size</em> </td><td> 362 the max number of output array elements </td></tr> 363 <tr><td valign=top><em>offset</em> </td><td> 364 the offset into the alloc node list from which the data should begin. </td></tr> 365 </table> 366 </dl><dl compact><dt><b>Returns: </b></dt><dd> 367 the number of valid nodes in the output array </dl> </td> 368 </tr> 369 </table> 370 <a name="a9" doxytag="OsclMemAudit::MM_GetExistingTag"></a><p> 371 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 372 <tr> 373 <td class="md"> 374 <table cellpadding="0" cellspacing="0" border="0"> 375 <tr> 376 <td class="md" nowrap valign="top"> const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* OsclMemAudit::MM_GetExistingTag </td> 377 <td class="md" valign="top">( </td> 378 <td class="md" nowrap valign="top">const char * </td> 379 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 380 <td class="md" valign="top">) </td> 381 <td class="md" nowrap><code> [inline]</code></td> 382 </tr> 383 384 </table> 385 </td> 386 </tr> 387 </table> 388 <table cellspacing=5 cellpadding=0 border=0> 389 <tr> 390 <td> 391 392 </td> 393 <td> 394 395 <p> 396 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> 397 <table border=0 cellspacing=2 cellpadding=0> 398 <tr><td valign=top><em>tagIn</em> </td><td> 399 input tag </td></tr> 400 </table> 401 </dl><dl compact><dt><b>Returns: </b></dt><dd> 402 true if operation succeeds; </dl> </td> 403 </tr> 404 </table> 405 <a name="a18" doxytag="OsclMemAudit::MM_GetMode"></a><p> 406 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 407 <tr> 408 <td class="md"> 409 <table cellpadding="0" cellspacing="0" border="0"> 410 <tr> 411 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetMode </td> 412 <td class="md" valign="top">( </td> 413 <td class="md" nowrap valign="top">void </td> 414 <td class="mdname1" valign="top" nowrap> </td> 415 <td class="md" valign="top">) </td> 416 <td class="md" nowrap><code> [inline]</code></td> 417 </tr> 418 419 </table> 420 </td> 421 </tr> 422 </table> 423 <table cellspacing=5 cellpadding=0 border=0> 424 <tr> 425 <td> 426 427 </td> 428 <td> 429 430 <p> 431 API to get the operating mode of the mm_audit class. </td> 432 </tr> 433 </table> 434 <a name="a17" doxytag="OsclMemAudit::MM_GetNumAllocNodes"></a><p> 435 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 436 <tr> 437 <td class="md"> 438 <table cellpadding="0" cellspacing="0" border="0"> 439 <tr> 440 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetNumAllocNodes </td> 441 <td class="md" valign="top">( </td> 442 <td class="mdname1" valign="top" nowrap> </td> 443 <td class="md" valign="top">) </td> 444 <td class="md" nowrap><code> [inline]</code></td> 445 </tr> 446 447 </table> 448 </td> 449 </tr> 450 </table> 451 <table cellspacing=5 cellpadding=0 border=0> 452 <tr> 453 <td> 454 455 </td> 456 <td> 457 458 <p> 459 API to get the number of allocation nodes (records) for allocations that are being tracked individually. </td> 460 </tr> 461 </table> 462 <a name="a16" doxytag="OsclMemAudit::MM_GetOverheadStats"></a><p> 463 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 464 <tr> 465 <td class="md"> 466 <table cellpadding="0" cellspacing="0" border="0"> 467 <tr> 468 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_GetOverheadStats </td> 469 <td class="md" valign="top">( </td> 470 <td class="md" nowrap valign="top"><a class="el" href="structMM__AuditOverheadStats.html">MM_AuditOverheadStats</a> & </td> 471 <td class="mdname1" valign="top" nowrap> <em>stats</em> </td> 472 <td class="md" valign="top">) </td> 473 <td class="md" nowrap><code> [inline]</code></td> 474 </tr> 475 476 </table> 477 </td> 478 </tr> 479 </table> 480 <table cellspacing=5 cellpadding=0 border=0> 481 <tr> 482 <td> 483 484 </td> 485 <td> 486 487 <p> 488 API to get the overhead statistics for the memory used by the mm_audit class. </td> 489 </tr> 490 </table> 491 <a name="a20" doxytag="OsclMemAudit::MM_GetPostfillPattern"></a><p> 492 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 493 <tr> 494 <td class="md"> 495 <table cellpadding="0" cellspacing="0" border="0"> 496 <tr> 497 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetPostfillPattern </td> 498 <td class="md" valign="top">( </td> 499 <td class="md" nowrap valign="top">void </td> 500 <td class="mdname1" valign="top" nowrap> </td> 501 <td class="md" valign="top">) </td> 502 <td class="md" nowrap><code> [inline]</code></td> 503 </tr> 504 505 </table> 506 </td> 507 </tr> 508 </table> 509 <table cellspacing=5 cellpadding=0 border=0> 510 <tr> 511 <td> 512 513 </td> 514 <td> 515 516 <p> 517 API to get the postfill pattern. The pattern is used to fill the memory before freeing it. </td> 518 </tr> 519 </table> 520 <a name="a19" doxytag="OsclMemAudit::MM_GetPrefillPattern"></a><p> 521 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 522 <tr> 523 <td class="md"> 524 <table cellpadding="0" cellspacing="0" border="0"> 525 <tr> 526 <td class="md" nowrap valign="top"> uint8 OsclMemAudit::MM_GetPrefillPattern </td> 527 <td class="md" valign="top">( </td> 528 <td class="md" nowrap valign="top">void </td> 529 <td class="mdname1" valign="top" nowrap> </td> 530 <td class="md" valign="top">) </td> 531 <td class="md" nowrap><code> [inline]</code></td> 532 </tr> 533 534 </table> 535 </td> 536 </tr> 537 </table> 538 <table cellspacing=5 cellpadding=0 border=0> 539 <tr> 540 <td> 541 542 </td> 543 <td> 544 545 <p> 546 API to get the prefill pattern. The pattern is used to fill the memory before returning it to the caller. </td> 547 </tr> 548 </table> 549 <a name="a27" doxytag="OsclMemAudit::MM_GetRefCount"></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"> int32 OsclMemAudit::MM_GetRefCount </td> 556 <td class="md" valign="top">( </td> 557 <td class="mdname1" valign="top" nowrap> </td> 558 <td class="md" valign="top">) </td> 559 <td class="md" nowrap><code> [inline]</code></td> 560 </tr> 561 562 </table> 563 </td> 564 </tr> 565 </table> 566 <table cellspacing=5 cellpadding=0 border=0> 567 <tr> 568 <td> 569 570 </td> 571 <td> 572 573 <p> 574 </td> 575 </tr> 576 </table> 577 <a name="a10" doxytag="OsclMemAudit::MM_GetRootNode"></a><p> 578 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 579 <tr> 580 <td class="md"> 581 <table cellpadding="0" cellspacing="0" border="0"> 582 <tr> 583 <td class="md" nowrap valign="top"> const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* OsclMemAudit::MM_GetRootNode </td> 584 <td class="md" valign="top">( </td> 585 <td class="mdname1" valign="top" nowrap> </td> 586 <td class="md" valign="top">) </td> 587 <td class="md" nowrap><code> [inline]</code></td> 588 </tr> 589 590 </table> 591 </td> 592 </tr> 593 </table> 594 <table cellspacing=5 cellpadding=0 border=0> 595 <tr> 596 <td> 597 598 </td> 599 <td> 600 601 <p> 602 </td> 603 </tr> 604 </table> 605 <a name="a4" doxytag="OsclMemAudit::MM_GetStats"></a><p> 606 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 607 <tr> 608 <td class="md"> 609 <table cellpadding="0" cellspacing="0" border="0"> 610 <tr> 611 <td class="md" nowrap valign="top"> <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a>* OsclMemAudit::MM_GetStats </td> 612 <td class="md" valign="top">( </td> 613 <td class="md" nowrap valign="top">const char *const </td> 614 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 615 <td class="md" valign="top">) </td> 616 <td class="md" nowrap><code> [inline]</code></td> 617 </tr> 618 619 </table> 620 </td> 621 </tr> 622 </table> 623 <table cellspacing=5 cellpadding=0 border=0> 624 <tr> 625 <td> 626 627 </td> 628 <td> 629 630 <p> 631 API to get memory statistics through context string(tag) <dl compact><dt><b>Returns: </b></dt><dd> 632 statistics pointer if operation succeeds </dl> </td> 633 </tr> 634 </table> 635 <a name="a5" doxytag="OsclMemAudit::MM_GetStatsInDepth"></a><p> 636 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 637 <tr> 638 <td class="md"> 639 <table cellpadding="0" cellspacing="0" border="0"> 640 <tr> 641 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetStatsInDepth </td> 642 <td class="md" valign="top">( </td> 643 <td class="md" nowrap valign="top">const char * </td> 644 <td class="mdname" nowrap> <em>tagIn</em>, </td> 645 </tr> 646 <tr> 647 <td></td> 648 <td></td> 649 <td class="md" nowrap><a class="el" href="structMM__Stats__CB.html">MM_Stats_CB</a> * </td> 650 <td class="mdname" nowrap> <em>array_ptr</em>, </td> 651 </tr> 652 <tr> 653 <td></td> 654 <td></td> 655 <td class="md" nowrap>uint32 </td> 656 <td class="mdname" nowrap> <em>max_nodes</em></td> 657 </tr> 658 <tr> 659 <td></td> 660 <td class="md">) </td> 661 <td class="md" colspan="2"><code> [inline]</code></td> 662 </tr> 663 664 </table> 665 </td> 666 </tr> 667 </table> 668 <table cellspacing=5 cellpadding=0 border=0> 669 <tr> 670 <td> 671 672 </td> 673 <td> 674 675 <p> 676 API to get memory statistics in detail through context string(tag) including its subtree <dl compact><dt><b>Returns: </b></dt><dd> 677 statistics pointer array and actual number of nodes if operation succeeds </dl> </td> 678 </tr> 679 </table> 680 <a name="a8" doxytag="OsclMemAudit::MM_GetTagNode"></a><p> 681 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 682 <tr> 683 <td class="md"> 684 <table cellpadding="0" cellspacing="0" border="0"> 685 <tr> 686 <td class="md" nowrap valign="top"> const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* OsclMemAudit::MM_GetTagNode </td> 687 <td class="md" valign="top">( </td> 688 <td class="md" nowrap valign="top">const char * </td> 689 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 690 <td class="md" valign="top">) </td> 691 <td class="md" nowrap><code> [inline]</code></td> 692 </tr> 693 694 </table> 695 </td> 696 </tr> 697 </table> 698 <table cellspacing=5 cellpadding=0 border=0> 699 <tr> 700 <td> 701 702 </td> 703 <td> 704 705 <p> 706 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> 707 <table border=0 cellspacing=2 cellpadding=0> 708 <tr><td valign=top><em>tagIn</em> </td><td> 709 input tag </td></tr> 710 </table> 711 </dl><dl compact><dt><b>Returns: </b></dt><dd> 712 pointer to <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> which should be passed to MM_allocate </dl> </td> 713 </tr> 714 </table> 715 <a name="a6" doxytag="OsclMemAudit::MM_GetTreeNodes"></a><p> 716 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 717 <tr> 718 <td class="md"> 719 <table cellpadding="0" cellspacing="0" border="0"> 720 <tr> 721 <td class="md" nowrap valign="top"> uint32 OsclMemAudit::MM_GetTreeNodes </td> 722 <td class="md" valign="top">( </td> 723 <td class="md" nowrap valign="top">const char * </td> 724 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 725 <td class="md" valign="top">) </td> 726 <td class="md" nowrap><code> [inline]</code></td> 727 </tr> 728 729 </table> 730 </td> 731 </tr> 732 </table> 733 <table cellspacing=5 cellpadding=0 border=0> 734 <tr> 735 <td> 736 737 </td> 738 <td> 739 740 <p> 741 API to get the number of tree nodes including the tag node and its subtree <dl compact><dt><b>Parameters: </b></dt><dd> 742 <table border=0 cellspacing=2 cellpadding=0> 743 <tr><td valign=top><em>tagIn</em> </td><td> 744 input tag </td></tr> 745 </table> 746 </dl><dl compact><dt><b>Returns: </b></dt><dd> 747 the number of tree nodes ; 0 means no tag node </dl> </td> 748 </tr> 749 </table> 750 <a name="a13" doxytag="OsclMemAudit::MM_ReleaseAllocNodeInfo"></a><p> 751 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 752 <tr> 753 <td class="md"> 754 <table cellpadding="0" cellspacing="0" border="0"> 755 <tr> 756 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_ReleaseAllocNodeInfo </td> 757 <td class="md" valign="top">( </td> 758 <td class="md" nowrap valign="top"><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> * </td> 759 <td class="mdname1" valign="top" nowrap> <em>info</em> </td> 760 <td class="md" valign="top">) </td> 761 <td class="md" nowrap><code> [inline]</code></td> 762 </tr> 763 764 </table> 765 </td> 766 </tr> 767 </table> 768 <table cellspacing=5 cellpadding=0 border=0> 769 <tr> 770 <td> 771 772 </td> 773 <td> 774 775 <p> 776 </td> 777 </tr> 778 </table> 779 <a name="a25" doxytag="OsclMemAudit::MM_SetFailurePoint"></a><p> 780 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 781 <tr> 782 <td class="md"> 783 <table cellpadding="0" cellspacing="0" border="0"> 784 <tr> 785 <td class="md" nowrap valign="top"> bool OsclMemAudit::MM_SetFailurePoint </td> 786 <td class="md" valign="top">( </td> 787 <td class="md" nowrap valign="top">const char * </td> 788 <td class="mdname" nowrap> <em>tagIn</em>, </td> 789 </tr> 790 <tr> 791 <td></td> 792 <td></td> 793 <td class="md" nowrap>uint32 </td> 794 <td class="mdname" nowrap> <em>alloc_number</em></td> 795 </tr> 796 <tr> 797 <td></td> 798 <td class="md">) </td> 799 <td class="md" colspan="2"><code> [inline]</code></td> 800 </tr> 801 802 </table> 803 </td> 804 </tr> 805 </table> 806 <table cellspacing=5 cellpadding=0 border=0> 807 <tr> 808 <td> 809 810 </td> 811 <td> 812 813 <p> 814 API to insert allocation failure deterministically according to allocation number associated with tag <dl compact><dt><b>Parameters: </b></dt><dd> 815 <table border=0 cellspacing=2 cellpadding=0> 816 <tr><td valign=top><em>tagIn</em> </td><td> 817 input tag </td></tr> 818 <tr><td valign=top><em>alloc_number</em> </td><td> 819 allocation number associated with tag </td></tr> 820 </table> 821 </dl><dl compact><dt><b>Returns: </b></dt><dd> 822 true if operation succeeds; </dl> </td> 823 </tr> 824 </table> 825 <a name="a21" doxytag="OsclMemAudit::MM_SetMode"></a><p> 826 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 827 <tr> 828 <td class="md"> 829 <table cellpadding="0" cellspacing="0" border="0"> 830 <tr> 831 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_SetMode </td> 832 <td class="md" valign="top">( </td> 833 <td class="md" nowrap valign="top">uint32 </td> 834 <td class="mdname1" valign="top" nowrap> <em>inMode</em> </td> 835 <td class="md" valign="top">) </td> 836 <td class="md" nowrap><code> [inline]</code></td> 837 </tr> 838 839 </table> 840 </td> 841 </tr> 842 </table> 843 <table cellspacing=5 cellpadding=0 border=0> 844 <tr> 845 <td> 846 847 </td> 848 <td> 849 850 <p> 851 API to set the operating mode of the mm_audit class. </td> 852 </tr> 853 </table> 854 <a name="a23" doxytag="OsclMemAudit::MM_SetPostfillPattern"></a><p> 855 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 856 <tr> 857 <td class="md"> 858 <table cellpadding="0" cellspacing="0" border="0"> 859 <tr> 860 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_SetPostfillPattern </td> 861 <td class="md" valign="top">( </td> 862 <td class="md" nowrap valign="top">uint8 </td> 863 <td class="mdname1" valign="top" nowrap> <em>pattern</em> </td> 864 <td class="md" valign="top">) </td> 865 <td class="md" nowrap><code> [inline]</code></td> 866 </tr> 867 868 </table> 869 </td> 870 </tr> 871 </table> 872 <table cellspacing=5 cellpadding=0 border=0> 873 <tr> 874 <td> 875 876 </td> 877 <td> 878 879 <p> 880 API to set the postfill pattern. </td> 881 </tr> 882 </table> 883 <a name="a22" doxytag="OsclMemAudit::MM_SetPrefillPattern"></a><p> 884 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 885 <tr> 886 <td class="md"> 887 <table cellpadding="0" cellspacing="0" border="0"> 888 <tr> 889 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_SetPrefillPattern </td> 890 <td class="md" valign="top">( </td> 891 <td class="md" nowrap valign="top">uint8 </td> 892 <td class="mdname1" valign="top" nowrap> <em>pattern</em> </td> 893 <td class="md" valign="top">) </td> 894 <td class="md" nowrap><code> [inline]</code></td> 895 </tr> 896 897 </table> 898 </td> 899 </tr> 900 </table> 901 <table cellspacing=5 cellpadding=0 border=0> 902 <tr> 903 <td> 904 905 </td> 906 <td> 907 908 <p> 909 API to set the prefill pattern. </td> 910 </tr> 911 </table> 912 <a name="a24" doxytag="OsclMemAudit::MM_SetTagLevel"></a><p> 913 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 914 <tr> 915 <td class="md"> 916 <table cellpadding="0" cellspacing="0" border="0"> 917 <tr> 918 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_SetTagLevel </td> 919 <td class="md" valign="top">( </td> 920 <td class="md" nowrap valign="top">uint32 </td> 921 <td class="mdname1" valign="top" nowrap> <em>level</em> </td> 922 <td class="md" valign="top">) </td> 923 <td class="md" nowrap><code> [inline]</code></td> 924 </tr> 925 926 </table> 927 </td> 928 </tr> 929 </table> 930 <table cellspacing=5 cellpadding=0 border=0> 931 <tr> 932 <td> 933 934 </td> 935 <td> 936 937 <p> 938 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> 939 <table border=0 cellspacing=2 cellpadding=0> 940 <tr><td valign=top><em>level</em> </td><td> 941 input tag level to be set </td></tr> 942 </table> 943 </dl> </td> 944 </tr> 945 </table> 946 <a name="a26" doxytag="OsclMemAudit::MM_UnsetFailurePoint"></a><p> 947 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 948 <tr> 949 <td class="md"> 950 <table cellpadding="0" cellspacing="0" border="0"> 951 <tr> 952 <td class="md" nowrap valign="top"> void OsclMemAudit::MM_UnsetFailurePoint </td> 953 <td class="md" valign="top">( </td> 954 <td class="md" nowrap valign="top">const char * </td> 955 <td class="mdname1" valign="top" nowrap> <em>tagIn</em> </td> 956 <td class="md" valign="top">) </td> 957 <td class="md" nowrap><code> [inline]</code></td> 958 </tr> 959 960 </table> 961 </td> 962 </tr> 963 </table> 964 <table cellspacing=5 cellpadding=0 border=0> 965 <tr> 966 <td> 967 968 </td> 969 <td> 970 971 <p> 972 API to cancel the allocation failure point associated with tag <dl compact><dt><b>Parameters: </b></dt><dd> 973 <table border=0 cellspacing=2 cellpadding=0> 974 <tr><td valign=top><em>tagIn</em> </td><td> 975 input tag </td></tr> 976 </table> 977 </dl> </td> 978 </tr> 979 </table> 980 <a name="a14" doxytag="OsclMemAudit::MM_Validate"></a><p> 981 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 982 <tr> 983 <td class="md"> 984 <table cellpadding="0" cellspacing="0" border="0"> 985 <tr> 986 <td class="md" nowrap valign="top"> bool OsclMemAudit::MM_Validate </td> 987 <td class="md" valign="top">( </td> 988 <td class="md" nowrap valign="top">const void * </td> 989 <td class="mdname1" valign="top" nowrap> <em>ptrIn</em> </td> 990 <td class="md" valign="top">) </td> 991 <td class="md" nowrap><code> [inline]</code></td> 992 </tr> 993 994 </table> 995 </td> 996 </tr> 997 </table> 998 <table cellspacing=5 cellpadding=0 border=0> 999 <tr> 1000 <td> 1001 1002 </td> 1003 <td> 1004 1005 <p> 1006 API to check the input pointer is a valid pointer to a chunk of memory <dl compact><dt><b>Parameters: </b></dt><dd> 1007 <table border=0 cellspacing=2 cellpadding=0> 1008 <tr><td valign=top><em>ptrIn</em> </td><td> 1009 input pointer to be validated </td></tr> 1010 </table> 1011 </dl><dl compact><dt><b>Returns: </b></dt><dd> 1012 true if operation succeeds; </dl> </td> 1013 </tr> 1014 </table> 1015 <hr><h2>Friends And Related Function Documentation</h2> 1016 <a name="l0" doxytag="OsclMemAudit::OsclMemGlobalAuditObject"></a><p> 1017 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 1018 <tr> 1019 <td class="md"> 1020 <table cellpadding="0" cellspacing="0" border="0"> 1021 <tr> 1022 <td class="md" nowrap valign="top"> friend class OsclMemGlobalAuditObject<code> [friend]</code> 1023 </table> 1024 </td> 1025 </tr> 1026 </table> 1027 <table cellspacing=5 cellpadding=0 border=0> 1028 <tr> 1029 <td> 1030 1031 </td> 1032 <td> 1033 1034 <p> 1035 </td> 1036 </tr> 1037 </table> 1038 <hr>The documentation for this class was generated from the following file:<ul> 1039 <li><a class="el" href="oscl__mem__audit_8h-source.html">oscl_mem_audit.h</a></ul> 1040 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 1041 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 1042 </small></address> 1043 </body> 1044 </html> 1045