blob: aff4e2cc0b835fc09898098f623f3f8b7f5f88e7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>MM_Audit_Imp class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
<hr><h1>MM_Audit_Imp Class Reference<br>
<small>
[<a class="el" href="group__osclmemory.html">OSCL Memory</a>]</small>
</h1><code>#include &lt;<a class="el" href="oscl__mem__audit_8h-source.html">oscl_mem_audit.h</a>&gt;</code>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a0">MM_Audit_Imp</a> ()</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a1">~MM_Audit_Imp</a> ()</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</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>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a3">MM_deallocate</a> (void *pMemBlockIn)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a4">MM_GetStats</a> (const char *const tagIn)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</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>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a6">MM_GetTreeNodes</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a7">MM_AddTag</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a8">MM_GetTagNode</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a9">MM_GetExistingTag</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a10">MM_GetRootNode</a> ()</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a11">MM_CreateAllocNodeInfo</a> (uint32 max_array_size)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</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>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</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>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a14">MM_Validate</a> (const void *ptrIn)</td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a15">MM_GetAllocNo</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</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> &amp;stats)</td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a17">MM_GetNumAllocNodes</a> ()</td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a18">MM_GetMode</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>uint8&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a19">MM_GetPrefillPattern</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a20">MM_GetPostfillPattern</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a21">MM_SetMode</a> (uint32 inMode)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a22">MM_SetPrefillPattern</a> (uint8 pattern)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a23">MM_SetPostfillPattern</a> (uint8 pattern)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a24">MM_SetTagLevel</a> (uint32 level)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a25">MM_SetFailurePoint</a> (const char *tagIn, uint32 alloc_number)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a26">MM_UnsetFailurePoint</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="structMM__AllocNode.html">MM_AllocNode</a> *&nbsp;</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>
<tr><td nowrap align=right valign=top><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a28">removeAllocNode</a> (void *pMemBlockIn, uint32 &amp;size)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a29">removeALLAllocNodes</a> ()</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a30">createStatsNode</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</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> &amp;pDelta, bool bAdd)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a32">updateStatsNodeInFailure</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</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>
<tr><td nowrap align=right valign=top>bool&nbsp;</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>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a35">pruneSubtree</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a36">retrieveParentTag</a> (char *tag)</td></tr>
<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a37">retrieveParentTagLength</a> (const char *tag, int32 bound)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</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> &amp;autoptr)</td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a39">getTagActualSize</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a40">isSetFailure</a> (const char *tagIn)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</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>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#a42">validate_all_heap</a> ()</td></tr>
<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#d0">validate</a> (void *ptrIn)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOsclMemAudit.html">OsclMemAudit</a> *&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#d1">getAuditRoot</a> (void *ptrIn)</td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html#d2">getSize</a> (void *ptrIn)</td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="MM_Audit_Imp::MM_Audit_Imp"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> MM_Audit_Imp::MM_Audit_Imp </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Constructor, create the root node in statistics table </td>
</tr>
</table>
<a name="a1" doxytag="MM_Audit_Imp::~MM_Audit_Imp"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> MM_Audit_Imp::~MM_Audit_Imp </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
A destructor, remove all the nodes in allocation andstatistics table </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a27" doxytag="MM_Audit_Imp::addAllocNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="structMM__AllocNode.html">MM_AllocNode</a>* MM_Audit_Imp::addAllocNode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pMem</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>sizeIn</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pStatsNode</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pFileName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>lineNumber</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a30" doxytag="MM_Audit_Imp::createStatsNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::createStatsNode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="d1" doxytag="MM_Audit_Imp::getAuditRoot"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classOsclMemAudit.html">OsclMemAudit</a>* MM_Audit_Imp::getAuditRoot </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>ptrIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
audit root pointer. </dl> </td>
</tr>
</table>
<a name="d2" doxytag="MM_Audit_Imp::getSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::getSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>ptrIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
original block size. leaves if bad pointer. </dl> </td>
</tr>
</table>
<a name="a39" doxytag="MM_Audit_Imp::getTagActualSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::getTagActualSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
the size of the truncated tag; 0 means NO truncation </dl> </td>
</tr>
</table>
<a name="a41" doxytag="MM_Audit_Imp::isSetFailure"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::isSetFailure </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>statsNode</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a40" doxytag="MM_Audit_Imp::isSetFailure"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::isSetFailure </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a38" doxytag="MM_Audit_Imp::makeValidTag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void MM_Audit_Imp::makeValidTag </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>tagIn</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="group__osclmemory.html#a0">MMAuditCharAutoPtr</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>autoptr</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
a valid tag; NULL will be converted into root tag </dl> </td>
</tr>
</table>
<a name="a7" doxytag="MM_Audit_Imp::MM_AddTag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_AddTag </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagIn</em>&nbsp;</td><td>
input tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a2" doxytag="MM_Audit_Imp::MM_allocate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* MM_Audit_Imp::MM_allocate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>statsNode</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>sizeIn</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pFileName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>lineNumber</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>bool&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>allocNodeTracking</em> = false</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The following are APIs t __nothrow_/ const __nothrow_ <dl compact><dt><b>Returns: </b></dt><dd>
the memory pointer if operation succeeds. </dl> </td>
</tr>
</table>
<a name="a11" doxytag="MM_Audit_Imp::MM_CreateAllocNodeInfo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>max_array_size</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
These APIs will allocate and release space for alloc node info, to be used with the MM_GetAllocNodeInfo API. </td>
</tr>
</table>
<a name="a3" doxytag="MM_Audit_Imp::MM_deallocate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_deallocate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>pMemBlockIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a15" doxytag="MM_Audit_Imp::MM_GetAllocNo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetAllocNo </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the current allocation number <dl compact><dt><b>Returns: </b></dt><dd>
the current allocation number </dl> </td>
</tr>
</table>
<a name="a13" doxytag="MM_Audit_Imp::MM_GetAllocNodeInfo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 MM_Audit_Imp::MM_GetAllocNodeInfo </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>output_array</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>max_array_size</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>offset</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>output_array</em>&nbsp;</td><td>
the array where the data will be written </td></tr>
<tr><td valign=top><em>max_array_size</em>&nbsp;</td><td>
the max number of output array elements </td></tr>
<tr><td valign=top><em>offset</em>&nbsp;</td><td>
the offset into the alloc node list from which the data should begin. </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the number of valid nodes in the output array </dl> </td>
</tr>
</table>
<a name="a9" doxytag="MM_Audit_Imp::MM_GetExistingTag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::MM_GetExistingTag </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagIn</em>&nbsp;</td><td>
input tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a18" doxytag="MM_Audit_Imp::MM_GetMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetMode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the operating mode of the mm_audit class. </td>
</tr>
</table>
<a name="a17" doxytag="MM_Audit_Imp::MM_GetNumAllocNodes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetNumAllocNodes </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the number of allocation nodes (records) for allocations that are being tracked individually. </td>
</tr>
</table>
<a name="a16" doxytag="MM_Audit_Imp::MM_GetOverheadStats"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void MM_Audit_Imp::MM_GetOverheadStats </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structMM__AuditOverheadStats.html">MM_AuditOverheadStats</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>stats</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the overhead statistics for the memory used by the mm_audit class. </td>
</tr>
</table>
<a name="a20" doxytag="MM_Audit_Imp::MM_GetPostfillPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 MM_Audit_Imp::MM_GetPostfillPattern </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the postfill pattern. The pattern is used to fill the memory before freeing it. </td>
</tr>
</table>
<a name="a19" doxytag="MM_Audit_Imp::MM_GetPrefillPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint8 MM_Audit_Imp::MM_GetPrefillPattern </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the prefill pattern. The pattern is used to fill the memory before returning it to the caller. </td>
</tr>
</table>
<a name="a10" doxytag="MM_Audit_Imp::MM_GetRootNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::MM_GetRootNode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a4" doxytag="MM_Audit_Imp::MM_GetStats"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *const&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get memory statistics through context string(tag) <dl compact><dt><b>Returns: </b></dt><dd>
statistics pointer if operation succeeds </dl> </td>
</tr>
</table>
<a name="a5" doxytag="MM_Audit_Imp::MM_GetStatsInDepth"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 MM_Audit_Imp::MM_GetStatsInDepth </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>tagIn</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="structMM__Stats__CB.html">MM_Stats_CB</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>array_ptr</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>max_nodes</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get memory statistics in detail through context string(tag) including its subtree <dl compact><dt><b>Returns: </b></dt><dd>
statistics pointer array and actual number of nodes if operation succeeds </dl> </td>
</tr>
</table>
<a name="a8" doxytag="MM_Audit_Imp::MM_GetTagNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::MM_GetTagNode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagIn</em>&nbsp;</td><td>
input tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
pointer to <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> which should be passed to MM_allocate </dl> </td>
</tr>
</table>
<a name="a6" doxytag="MM_Audit_Imp::MM_GetTreeNodes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 MM_Audit_Imp::MM_GetTreeNodes </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to get the number of tree nodes including the tag node and its subtree <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagIn</em>&nbsp;</td><td>
input tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the number of tree nodes ; 0 means no tag node </dl> </td>
</tr>
</table>
<a name="a12" doxytag="MM_Audit_Imp::MM_ReleaseAllocNodeInfo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_ReleaseAllocNodeInfo </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a25" doxytag="MM_Audit_Imp::MM_SetFailurePoint"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_SetFailurePoint </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>tagIn</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>alloc_number</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to insert allocation failure deterministically according to allocation number associated with tag <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagIn</em>&nbsp;</td><td>
input tag </td></tr>
<tr><td valign=top><em>alloc_number</em>&nbsp;</td><td>
allocation number associated with tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a21" doxytag="MM_Audit_Imp::MM_SetMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetMode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>inMode</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to set the operating mode of the mm_audit class. </td>
</tr>
</table>
<a name="a23" doxytag="MM_Audit_Imp::MM_SetPostfillPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetPostfillPattern </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint8&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>pattern</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to set the postfill pattern. </td>
</tr>
</table>
<a name="a22" doxytag="MM_Audit_Imp::MM_SetPrefillPattern"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetPrefillPattern </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint8&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>pattern</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to set the prefill pattern. </td>
</tr>
</table>
<a name="a24" doxytag="MM_Audit_Imp::MM_SetTagLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_SetTagLevel </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>level</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>level</em>&nbsp;</td><td>
input tag level to be set </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a26" doxytag="MM_Audit_Imp::MM_UnsetFailurePoint"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void MM_Audit_Imp::MM_UnsetFailurePoint </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to cancel the allocation failure point associated with tag <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagIn</em>&nbsp;</td><td>
input tag </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a14" doxytag="MM_Audit_Imp::MM_Validate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool MM_Audit_Imp::MM_Validate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>ptrIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
API to check the input pointer is a valid pointer to a chunk of memory <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ptrIn</em>&nbsp;</td><td>
input pointer to be validated </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a35" doxytag="MM_Audit_Imp::pruneSubtree"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::pruneSubtree </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a34" doxytag="MM_Audit_Imp::pruneSubtree"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::pruneSubtree </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>pNode</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a29" doxytag="MM_Audit_Imp::removeALLAllocNodes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void MM_Audit_Imp::removeALLAllocNodes </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a28" doxytag="MM_Audit_Imp::removeAllocNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>* MM_Audit_Imp::removeAllocNode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pMemBlockIn</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32 &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>size</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a36" doxytag="MM_Audit_Imp::retrieveParentTag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void MM_Audit_Imp::retrieveParentTag </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tag</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a37" doxytag="MM_Audit_Imp::retrieveParentTagLength"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int32 MM_Audit_Imp::retrieveParentTagLength </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>int32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bound</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
the length of a immediate parent tag for the input tag </dl> </td>
</tr>
</table>
<a name="a31" doxytag="MM_Audit_Imp::updateStatsNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::updateStatsNode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pCurrStatsNode</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const <a class="el" href="structMM__Stats__t.html">MM_Stats_t</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pDelta</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>bool&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bAdd</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a33" doxytag="MM_Audit_Imp::updateStatsNodeInFailure"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::updateStatsNodeInFailure </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>pStatsNode</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a32" doxytag="MM_Audit_Imp::updateStatsNodeInFailure"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::updateStatsNodeInFailure </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>tagIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="d0" doxytag="MM_Audit_Imp::validate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::validate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>ptrIn</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<a name="a42" doxytag="MM_Audit_Imp::validate_all_heap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool MM_Audit_Imp::validate_all_heap </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
true if operation succeeds; </dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="oscl__mem__audit_8h-source.html">oscl_mem_audit.h</a></ul>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>