Home | History | Annotate | Download | only in oscl_html
      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>OSCL Memory</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> &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>
      9 <hr><h1>OSCL Memory</h1><table border=0 cellpadding=0 cellspacing=0>
     10 <tr><td></td></tr>
     11 <tr><td colspan=2><br><h2>Files</h2></td></tr>
     12 <tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem_8h.html">oscl_mem.h</a></td></tr>
     13 <tr><td>&nbsp;</td><td><font size=-1><em>This file contains basic memory definitions for common use across platforms.</em></font><br><br></td></tr>
     14 
     15 <p>
     16 <tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem__audit_8h.html">oscl_mem_audit.h</a></td></tr>
     17 <tr><td>&nbsp;</td><td><font size=-1><em>This file contains the definition and partial implementation of MM_Audit class.</em></font><br><br></td></tr>
     18 
     19 <p>
     20 <tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem__audit__internals_8h.html">oscl_mem_audit_internals.h</a></td></tr>
     21 <tr><td>&nbsp;</td><td><font size=-1><em>This file contains the internal definitions for the mem audit library.</em></font><br><br></td></tr>
     22 
     23 <p>
     24 <tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem__auto__ptr_8h.html">oscl_mem_auto_ptr.h</a></td></tr>
     25 <tr><td>&nbsp;</td><td><font size=-1><em>This file defines the oscl_mem_auto_ptr template class. This class is used to avoid any potential memory leaks that may arise while returning from methods in case of error.</em></font><br><br></td></tr>
     26 
     27 <p>
     28 <tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem__basic__functions_8h.html">oscl_mem_basic_functions.h</a></td></tr>
     29 <tr><td>&nbsp;</td><td><font size=-1><em>This file contains prototypes for the basic memory functions.</em></font><br><br></td></tr>
     30 
     31 <p>
     32 <tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="oscl__mem__mempool_8h.html">oscl_mem_mempool.h</a></td></tr>
     33 <tr><td>&nbsp;</td><td><font size=-1><em>This file contains the definition of memory pool allocators.</em></font><br><br></td></tr>
     34 
     35 <p>
     36 <tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
     37 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classallocator.html">allocator</a></td></tr>
     38 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classallocator.html">allocator</a></td></tr>
     39 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classHeapBase.html">HeapBase</a></td></tr>
     40 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__AllocBlockFence.html">MM_AllocBlockFence</a></td></tr>
     41 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__AllocBlockHdr.html">MM_AllocBlockHdr</a></td></tr>
     42 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__AllocInfo.html">MM_AllocInfo</a></td></tr>
     43 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__AllocNode.html">MM_AllocNode</a></td></tr>
     44 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__AllocQueryInfo.html">MM_AllocQueryInfo</a></td></tr>
     45 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classMM__Audit__Imp.html">MM_Audit_Imp</a></td></tr>
     46 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__AuditOverheadStats.html">MM_AuditOverheadStats</a></td></tr>
     47 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__FailInsertParam.html">MM_FailInsertParam</a></td></tr>
     48 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__Stats__CB.html">MM_Stats_CB</a></td></tr>
     49 <tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMM__Stats__t.html">MM_Stats_t</a></td></tr>
     50 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a></td></tr>
     51 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMem.html">OsclMem</a></td></tr>
     52 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a></td></tr>
     53 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a></td></tr>
     54 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAllocDestructDealloc.html">OsclMemAllocDestructDealloc</a></td></tr>
     55 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAllocDestructDealloc.html">OsclMemAllocDestructDealloc</a></td></tr>
     56 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAudit.html">OsclMemAudit</a></td></tr>
     57 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a></td></tr>
     58 <tr><td>&nbsp;</td><td><font size=-1><em>The oscl_auto_ptr class is a template class that defines a pointer like object intended to be assigned an address obtanined (directly or or indirectly) by new. When the oscl_auto_ptr expires, its destructor uses delete to free the memory.</em> <a href="classOSCLMemAutoPtr.html#_details">More...</a><em></em></font><br><br></td></tr>
     59 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a></td></tr>
     60 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a></td></tr>
     61 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemBasicAllocDestructDealloc.html">OsclMemBasicAllocDestructDealloc</a></td></tr>
     62 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemBasicAllocDestructDealloc.html">OsclMemBasicAllocDestructDealloc</a></td></tr>
     63 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemGlobalAuditObject.html">OsclMemGlobalAuditObject</a></td></tr>
     64 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolFixedChunkAllocator.html">OsclMemPoolFixedChunkAllocator</a></td></tr>
     65 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolFixedChunkAllocatorObserver.html">OsclMemPoolFixedChunkAllocatorObserver</a></td></tr>
     66 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html">OsclMemPoolResizableAllocator</a></td></tr>
     67 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a></td></tr>
     68 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a></td></tr>
     69 <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a></td></tr>
     70 <tr><td colspan=2><br><h2>Defines</h2></td></tr>
     71 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a33">OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE</a></td></tr>
     72 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a34">OSCL_HAS_GLOBAL_NEW_DELETE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
     73 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a35">OSCL_CLEANUP_BASE_CLASS</a>(T)&nbsp;&nbsp;&nbsp;_OSCL_CLEANUP_BASE_CLASS(T)</td></tr>
     74 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a36">OSCL_ALLOC_NEW</a>(T_allocator, T, params)&nbsp;&nbsp;&nbsp;new(T_allocator.allocate(1)) T params</td></tr>
     75 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a37">OSCL_TRAP_ALLOC_NEW</a>(T_ptr, T_allocator, T, params)&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(T_allocator.allocate(1),T_allocator.deallocate,T_ptr,T,params)</td></tr>
     76 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a38">OSCL_ALLOC_DELETE</a>(ptr, T_allocator, T)</td></tr>
     77 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a39">OSCL_MALLOC</a>(count)&nbsp;&nbsp;&nbsp;_oscl_default_audit_malloc(count)</td></tr>
     78 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a40">oscl_malloc</a>(a)&nbsp;&nbsp;&nbsp;OSCL_MALLOC(a)</td></tr>
     79 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a41">OSCL_DEFAULT_MALLOC</a>(x)&nbsp;&nbsp;&nbsp;OSCL_MALLOC(x)</td></tr>
     80 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a42">OSCL_AUDIT_MALLOC</a>(auditCB, count)&nbsp;&nbsp;&nbsp;_oscl_audit_malloc(count, auditCB)</td></tr>
     81 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a43">OSCL_CALLOC</a>(num, size)&nbsp;&nbsp;&nbsp;_oscl_default_audit_calloc(num,size)</td></tr>
     82 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a44">oscl_calloc</a>(a, b)&nbsp;&nbsp;&nbsp;OSCL_CALLOC(a,b)</td></tr>
     83 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a45">OSCL_AUDIT_CALLOC</a>(auditCB, num, size)&nbsp;&nbsp;&nbsp;_oscl_audit_calloc(num,size, auditCB)</td></tr>
     84 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a46">OSCL_REALLOC</a>(ptr, new_size)&nbsp;&nbsp;&nbsp;_oscl_default_audit_realloc(ptr,new_size)</td></tr>
     85 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a47">oscl_realloc</a>(a, b)&nbsp;&nbsp;&nbsp;OSCL_REALLOC(a,b)</td></tr>
     86 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a48">OSCL_AUDIT_REALLOC</a>(auditCB, ptr, new_size)&nbsp;&nbsp;&nbsp;_oscl_audit_realloc(ptr,new_size, auditCB)</td></tr>
     87 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a49">OSCL_FREE</a>(ptr)&nbsp;&nbsp;&nbsp;_oscl_audit_free(ptr)</td></tr>
     88 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a50">oscl_free</a>(x)&nbsp;&nbsp;&nbsp;OSCL_FREE(x)</td></tr>
     89 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a51">OSCL_DEFAULT_FREE</a>(x)&nbsp;&nbsp;&nbsp;OSCL_FREE(x)</td></tr>
     90 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a52">OSCL_NEW</a>(T, params)&nbsp;&nbsp;&nbsp;new T params</td></tr>
     91 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a53">OSCL_PLACEMENT_NEW</a>(ptr, constructor)&nbsp;&nbsp;&nbsp;new(ptr) constructor</td></tr>
     92 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a54">OSCL_TRAP_NEW</a>(T_ptr, T, params)&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(_oscl_default_audit_new(sizeof(T)),_oscl_audit_free,T_ptr,T,params)</td></tr>
     93 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a55">OSCL_AUDIT_NEW</a>(auditCB, T, params)&nbsp;&nbsp;&nbsp;new(_oscl_audit_new(sizeof(T),auditCB)) T params</td></tr>
     94 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a56">OSCL_TRAP_AUDIT_NEW</a>(T_ptr, auditCB, T, params)&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(_oscl_audit_new(sizeof(T),auditCB),_oscl_audit_free,T_ptr,T,params)</td></tr>
     95 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a57">OSCL_DELETE</a>(ptr)</td></tr>
     96 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a58">OSCL_AUDIT_ARRAY_NEW</a>(auditCB, T, count)&nbsp;&nbsp;&nbsp;new(_oscl_audit_new(sizeof(T)*(count),auditCB)) T</td></tr>
     97 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a59">OSCL_ARRAY_NEW</a>(T, count)&nbsp;&nbsp;&nbsp;new T[count]</td></tr>
     98 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a60">OSCL_ARRAY_DELETE</a>(ptr)&nbsp;&nbsp;&nbsp;delete [] ptr</td></tr>
     99 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a61">_OSCL_TRAP_NEW</a>(exp, freeFunc, T_ptr, T, params)</td></tr>
    100 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a62">_OSCL_CLEANUP_BASE_CLASS</a>(T)&nbsp;&nbsp;&nbsp;this-&gt;T::~T()</td></tr>
    101 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a63">MM_ALLOC_MAX_QUERY_FILENAME_LEN</a>&nbsp;&nbsp;&nbsp;128</td></tr>
    102 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a64">MM_ALLOC_MAX_QUERY_TAG_LEN</a>&nbsp;&nbsp;&nbsp;64</td></tr>
    103 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a65">MM_AUDIT_VALIDATE_BLOCK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
    104 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a66">MM_AUDIT_PREFILL_FLAG</a>&nbsp;&nbsp;&nbsp;0x1</td></tr>
    105 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a67">MM_AUDIT_POSTFILL_FLAG</a>&nbsp;&nbsp;&nbsp;0x2</td></tr>
    106 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a68">MM_AUDIT_VALIDATE_ALL_HEAP_FLAG</a>&nbsp;&nbsp;&nbsp;0x4</td></tr>
    107 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a69">MM_AUDIT_VALIDATE_ON_FREE_FLAG</a>&nbsp;&nbsp;&nbsp;0x8</td></tr>
    108 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a70">MM_AUDIT_ALLOC_NODE_ENABLE_FLAG</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>
    109 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a71">MM_AUDIT_SUPPRESS_FILENAME_FLAG</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>
    110 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a72">DEFAULT_MM_AUDIT_MODE</a>&nbsp;&nbsp;&nbsp;0</td></tr>
    111 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a73">MM_AUDIT_ALLOC_NODE_SUPPORT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
    112 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a74">MM_AUDIT_FENCE_SUPPORT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
    113 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a75">MM_AUDIT_INCLUDE_ALL_HEAP_VALIDATION</a>&nbsp;&nbsp;&nbsp;1</td></tr>
    114 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a76">MM_AUDIT_FILL_SUPPORT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
    115 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a77">MM_AUDIT_FAILURE_SIMULATION_SUPPORT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
    116 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a78">FENCE_PATTERN</a>&nbsp;&nbsp;&nbsp;0xAA</td></tr>
    117 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a79">MIN_FENCE_SIZE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
    118 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a80">MEM_ALIGN_SIZE</a>&nbsp;&nbsp;&nbsp;8</td></tr>
    119 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a81">COMPUTE_MEM_ALIGN_SIZE</a>(x, y, z)&nbsp;&nbsp;&nbsp;(y+(((x+y)%z) ? (z - (x+y)%z) : 0))</td></tr>
    120 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a82">DEFAULT_PREFILL_PATTERN</a>&nbsp;&nbsp;&nbsp;0x96</td></tr>
    121 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a83">DEFAULT_POSTFILL_PATTERN</a>&nbsp;&nbsp;&nbsp;0x5A</td></tr>
    122 <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a84">OSCL_DISABLE_WARNING_RETURN_TYPE_NOT_UDT</a></td></tr>
    123 <tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
    124 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt; char,<br>
    125  <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt; char, <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a> &gt; &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a0">MMAuditCharAutoPtr</a></td></tr>
    126 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt; uint8,<br>
    127  <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt; uint8, <a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a> &gt; &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a1">MMAuditUint8AutoPtr</a></td></tr>
    128 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt; <a class="el" href="structMM__AllocNode.html">MM_AllocNode</a>,<br>
    129  <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt; <a class="el" href="structMM__AllocNode.html">MM_AllocNode</a>,<br>
    130  <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a> &gt; &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a2">MM_AllocNodeAutoPtr</a></td></tr>
    131 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt; <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>,<br>
    132  <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt; <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>,<br>
    133  <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a> &gt; &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a3">MM_StatsNodeTagTreeType</a></td></tr>
    134 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt; <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>,<br>
    135  <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt; <a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>,<br>
    136  <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a> &gt; &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a4">OsclMemStatsNodeAutoPtr</a></td></tr>
    137 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt; <a class="el" href="group__osclmemory.html#a3">MM_StatsNodeTagTreeType</a>,<br>
    138  <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a5">TagTree_Allocator</a></td></tr>
    139 <tr><td nowrap align=right valign=top>typedef <a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a>&lt; <a class="el" href="group__osclmemory.html#a3">MM_StatsNodeTagTreeType</a>,<br>
    140  <a class="el" href="group__osclmemory.html#a5">TagTree_Allocator</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a6">OsclTagTreeType</a></td></tr>
    141 <tr><td colspan=2><br><h2>Functions</h2></td></tr>
    142 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a7">_oscl_malloc</a> (int32 count)</td></tr>
    143 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a8">_oscl_calloc</a> (int32 nelems, int32 size)</td></tr>
    144 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a9">_oscl_realloc</a> (void *src, int32 count)</td></tr>
    145 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a10">_oscl_free</a> (void *src)</td></tr>
    146 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a11">oscl_memcpy</a> (void *dest, const void *src, uint32 count)</td></tr>
    147 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a12">oscl_memmove</a> (void *dest, const void *src, uint32 count)</td></tr>
    148 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a13">oscl_memmove32</a> (void *dest, const void *src, uint32 count)</td></tr>
    149 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a14">oscl_memset</a> (void *dest, uint8 val, uint32 count)</td></tr>
    150 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF int&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a15">oscl_memcmp</a> (const void *buf1, const void *buf2, uint32 count)</td></tr>
    151 <tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF <a class="el" href="group__osclbase.html#a27">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a16">oscl_mem_aligned_size</a> (<a class="el" href="group__osclbase.html#a27">uint</a> size)</td></tr>
    152 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a17">OsclMemInit</a> (<a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;auditCB)</td></tr>
    153 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a18">_oscl_audit_malloc</a> (size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
    154 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a19">_oscl_audit_calloc</a> (size_t, size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
    155 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a20">_oscl_audit_realloc</a> (void *, size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
    156 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a21">_oscl_audit_new</a> (size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
    157 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a22">_oscl_default_audit_malloc</a> (size_t, const char *f=NULL, const int l=0)</td></tr>
    158 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a23">_oscl_default_audit_calloc</a> (size_t, size_t, const char *f=NULL, const int l=0)</td></tr>
    159 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a24">_oscl_default_audit_realloc</a> (void *, size_t, const char *f=NULL, const int l=0)</td></tr>
    160 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a25">_oscl_default_audit_new</a> (size_t, const char *f=NULL, const int l=0)</td></tr>
    161 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a26">_oscl_audit_free</a> (void *)</td></tr>
    162 <tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a27">operator new</a> (size_t aSize, const char *aFile, int aLine)</td></tr>
    163 <tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a28">operator new</a> (size_t)</td></tr>
    164 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a29">operator delete</a> (void *)</td></tr>
    165 <tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a30">operator new[]</a> (size_t aSize, const char *aFile, int aLine)</td></tr>
    166 <tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a31">operator new[]</a> (size_t aSize)</td></tr>
    167 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a32">operator delete[]</a> (void *aPtr)</td></tr>
    168 <tr><td colspan=2><br><h2>Variables</h2></td></tr>
    169 <tr><td nowrap align=right valign=top>const uint32&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a85">ALLOC_NODE_FLAG</a> = 0x80000000</td></tr>
    170 </table>
    171 <hr><h2>Define Documentation</h2>
    172 <a name="a62" doxytag="oscl_mem.h::_OSCL_CLEANUP_BASE_CLASS"></a><p>
    173 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    174   <tr>
    175     <td class="md">
    176       <table cellpadding="0" cellspacing="0" border="0">
    177         <tr>
    178           <td class="md" nowrap valign="top"> #define _OSCL_CLEANUP_BASE_CLASS</td>
    179           <td class="md" valign="top">(&nbsp;</td>
    180           <td class="md" nowrap valign="top">T&nbsp;</td>
    181           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    182           <td class="md" valign="top">)&nbsp;</td>
    183           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;this-&gt;T::~T()
    184       </table>
    185     </td>
    186   </tr>
    187 </table>
    188 <table cellspacing=5 cellpadding=0 border=0>
    189   <tr>
    190     <td>
    191       &nbsp;
    192     </td>
    193     <td>
    194 
    195 <p>
    196 This macro is used to cleanup the base class in a derived-class constructor just before a leave occurs.<dl compact><dt><b>Parameters: </b></dt><dd>
    197 <table border=0 cellspacing=2 cellpadding=0>
    198 <tr><td valign=top><em>T:</em>&nbsp;</td><td>
    199 base class name. </td></tr>
    200 </table>
    201 </dl>    </td>
    202   </tr>
    203 </table>
    204 <a name="a61" doxytag="oscl_mem.h::_OSCL_TRAP_NEW"></a><p>
    205 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    206   <tr>
    207     <td class="md">
    208       <table cellpadding="0" cellspacing="0" border="0">
    209         <tr>
    210           <td class="md" nowrap valign="top"> #define _OSCL_TRAP_NEW</td>
    211           <td class="md" valign="top">(&nbsp;</td>
    212           <td class="md" nowrap valign="top">exp,         <tr>
    213           <td></td>
    214           <td></td>
    215           <td class="md" nowrap>freeFunc,         <tr>
    216           <td></td>
    217           <td></td>
    218           <td class="md" nowrap>T_ptr,         <tr>
    219           <td></td>
    220           <td></td>
    221           <td class="md" nowrap>T,         <tr>
    222           <td></td>
    223           <td></td>
    224           <td class="md" nowrap>params&nbsp;</td>
    225           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    226           <td class="md" valign="top">)&nbsp;</td>
    227           <td class="md" nowrap>
    228       </table>
    229     </td>
    230   </tr>
    231 </table>
    232 <table cellspacing=5 cellpadding=0 border=0>
    233   <tr>
    234     <td>
    235       &nbsp;
    236     </td>
    237     <td>
    238 
    239 <p>
    240 <b>Value:</b><div class="fragment"><pre>{\
    241     int32 __err;\
    242     <a class="code" href="group__osclbase.html#a25">OsclAny</a>*__ptr=exp;\
    243     <a class="code" href="group__osclerror.html#a47">OSCL_TRY</a>(__err,T_ptr=<span class="keyword">new</span>(__ptr) T params;);\
    244     <span class="keywordflow">if</span>(__err){\
    245         freeFunc(__ptr);\
    246         T_ptr=<a class="code" href="group__osclbase.html#a81">NULL</a>;\
    247         <a class="code" href="classOsclError.html#d7">OsclError::Leave</a>(__err);\
    248     }\
    249 }</pre></div>Internal-use macro to catch leaves in constructors. If the constructor leaves, this will free the memory before allowing the leave to propagate to the next level. It is the constructor's responsibility to cleanup any memory in the partially constructed object before leaving. This cleanup may include cleaning up the base class using the OSCL_CLEANUP_BASE_CLASS macro.<dl compact><dt><b>Parameters: </b></dt><dd>
    250 <table border=0 cellspacing=2 cellpadding=0>
    251 <tr><td valign=top><em>exp:</em>&nbsp;</td><td>
    252 expression to allocate memory. </td></tr>
    253 <tr><td valign=top><em>Tptr:variable</em>&nbsp;</td><td>
    254 to hold result. </td></tr>
    255 <tr><td valign=top><em>T:</em>&nbsp;</td><td>
    256 type </td></tr>
    257 <tr><td valign=top><em>params:</em>&nbsp;</td><td>
    258 constructor arg list </td></tr>
    259 <tr><td valign=top><em>freeFunc:</em>&nbsp;</td><td>
    260 delete or free function. </td></tr>
    261 </table>
    262 </dl>    </td>
    263   </tr>
    264 </table>
    265 <a name="a81" doxytag="oscl_mem_audit_internals.h::COMPUTE_MEM_ALIGN_SIZE"></a><p>
    266 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    267   <tr>
    268     <td class="md">
    269       <table cellpadding="0" cellspacing="0" border="0">
    270         <tr>
    271           <td class="md" nowrap valign="top"> #define COMPUTE_MEM_ALIGN_SIZE</td>
    272           <td class="md" valign="top">(&nbsp;</td>
    273           <td class="md" nowrap valign="top">x,         <tr>
    274           <td></td>
    275           <td></td>
    276           <td class="md" nowrap>y,         <tr>
    277           <td></td>
    278           <td></td>
    279           <td class="md" nowrap>z&nbsp;</td>
    280           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    281           <td class="md" valign="top">)&nbsp;</td>
    282           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(y+(((x+y)%z) ? (z - (x+y)%z) : 0))
    283       </table>
    284     </td>
    285   </tr>
    286 </table>
    287 <table cellspacing=5 cellpadding=0 border=0>
    288   <tr>
    289     <td>
    290       &nbsp;
    291     </td>
    292     <td>
    293 
    294 <p>
    295     </td>
    296   </tr>
    297 </table>
    298 <a name="a72" doxytag="oscl_mem_audit.h::DEFAULT_MM_AUDIT_MODE"></a><p>
    299 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    300   <tr>
    301     <td class="md">
    302       <table cellpadding="0" cellspacing="0" border="0">
    303         <tr>
    304           <td class="md" nowrap valign="top"> #define DEFAULT_MM_AUDIT_MODE&nbsp;&nbsp;&nbsp;0
    305       </table>
    306     </td>
    307   </tr>
    308 </table>
    309 <table cellspacing=5 cellpadding=0 border=0>
    310   <tr>
    311     <td>
    312       &nbsp;
    313     </td>
    314     <td>
    315 
    316 <p>
    317     </td>
    318   </tr>
    319 </table>
    320 <a name="a83" doxytag="oscl_mem_audit_internals.h::DEFAULT_POSTFILL_PATTERN"></a><p>
    321 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    322   <tr>
    323     <td class="md">
    324       <table cellpadding="0" cellspacing="0" border="0">
    325         <tr>
    326           <td class="md" nowrap valign="top"> #define DEFAULT_POSTFILL_PATTERN&nbsp;&nbsp;&nbsp;0x5A
    327       </table>
    328     </td>
    329   </tr>
    330 </table>
    331 <table cellspacing=5 cellpadding=0 border=0>
    332   <tr>
    333     <td>
    334       &nbsp;
    335     </td>
    336     <td>
    337 
    338 <p>
    339     </td>
    340   </tr>
    341 </table>
    342 <a name="a82" doxytag="oscl_mem_audit_internals.h::DEFAULT_PREFILL_PATTERN"></a><p>
    343 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    344   <tr>
    345     <td class="md">
    346       <table cellpadding="0" cellspacing="0" border="0">
    347         <tr>
    348           <td class="md" nowrap valign="top"> #define DEFAULT_PREFILL_PATTERN&nbsp;&nbsp;&nbsp;0x96
    349       </table>
    350     </td>
    351   </tr>
    352 </table>
    353 <table cellspacing=5 cellpadding=0 border=0>
    354   <tr>
    355     <td>
    356       &nbsp;
    357     </td>
    358     <td>
    359 
    360 <p>
    361     </td>
    362   </tr>
    363 </table>
    364 <a name="a78" doxytag="oscl_mem_audit_internals.h::FENCE_PATTERN"></a><p>
    365 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    366   <tr>
    367     <td class="md">
    368       <table cellpadding="0" cellspacing="0" border="0">
    369         <tr>
    370           <td class="md" nowrap valign="top"> #define FENCE_PATTERN&nbsp;&nbsp;&nbsp;0xAA
    371       </table>
    372     </td>
    373   </tr>
    374 </table>
    375 <table cellspacing=5 cellpadding=0 border=0>
    376   <tr>
    377     <td>
    378       &nbsp;
    379     </td>
    380     <td>
    381 
    382 <p>
    383     </td>
    384   </tr>
    385 </table>
    386 <a name="a80" doxytag="oscl_mem_audit_internals.h::MEM_ALIGN_SIZE"></a><p>
    387 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    388   <tr>
    389     <td class="md">
    390       <table cellpadding="0" cellspacing="0" border="0">
    391         <tr>
    392           <td class="md" nowrap valign="top"> #define MEM_ALIGN_SIZE&nbsp;&nbsp;&nbsp;8
    393       </table>
    394     </td>
    395   </tr>
    396 </table>
    397 <table cellspacing=5 cellpadding=0 border=0>
    398   <tr>
    399     <td>
    400       &nbsp;
    401     </td>
    402     <td>
    403 
    404 <p>
    405     </td>
    406   </tr>
    407 </table>
    408 <a name="a79" doxytag="oscl_mem_audit_internals.h::MIN_FENCE_SIZE"></a><p>
    409 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    410   <tr>
    411     <td class="md">
    412       <table cellpadding="0" cellspacing="0" border="0">
    413         <tr>
    414           <td class="md" nowrap valign="top"> #define MIN_FENCE_SIZE&nbsp;&nbsp;&nbsp;4
    415       </table>
    416     </td>
    417   </tr>
    418 </table>
    419 <table cellspacing=5 cellpadding=0 border=0>
    420   <tr>
    421     <td>
    422       &nbsp;
    423     </td>
    424     <td>
    425 
    426 <p>
    427     </td>
    428   </tr>
    429 </table>
    430 <a name="a63" doxytag="oscl_mem_audit.h::MM_ALLOC_MAX_QUERY_FILENAME_LEN"></a><p>
    431 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    432   <tr>
    433     <td class="md">
    434       <table cellpadding="0" cellspacing="0" border="0">
    435         <tr>
    436           <td class="md" nowrap valign="top"> #define MM_ALLOC_MAX_QUERY_FILENAME_LEN&nbsp;&nbsp;&nbsp;128
    437       </table>
    438     </td>
    439   </tr>
    440 </table>
    441 <table cellspacing=5 cellpadding=0 border=0>
    442   <tr>
    443     <td>
    444       &nbsp;
    445     </td>
    446     <td>
    447 
    448 <p>
    449     </td>
    450   </tr>
    451 </table>
    452 <a name="a64" doxytag="oscl_mem_audit.h::MM_ALLOC_MAX_QUERY_TAG_LEN"></a><p>
    453 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    454   <tr>
    455     <td class="md">
    456       <table cellpadding="0" cellspacing="0" border="0">
    457         <tr>
    458           <td class="md" nowrap valign="top"> #define MM_ALLOC_MAX_QUERY_TAG_LEN&nbsp;&nbsp;&nbsp;64
    459       </table>
    460     </td>
    461   </tr>
    462 </table>
    463 <table cellspacing=5 cellpadding=0 border=0>
    464   <tr>
    465     <td>
    466       &nbsp;
    467     </td>
    468     <td>
    469 
    470 <p>
    471     </td>
    472   </tr>
    473 </table>
    474 <a name="a70" doxytag="oscl_mem_audit.h::MM_AUDIT_ALLOC_NODE_ENABLE_FLAG"></a><p>
    475 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    476   <tr>
    477     <td class="md">
    478       <table cellpadding="0" cellspacing="0" border="0">
    479         <tr>
    480           <td class="md" nowrap valign="top"> #define MM_AUDIT_ALLOC_NODE_ENABLE_FLAG&nbsp;&nbsp;&nbsp;0x10
    481       </table>
    482     </td>
    483   </tr>
    484 </table>
    485 <table cellspacing=5 cellpadding=0 border=0>
    486   <tr>
    487     <td>
    488       &nbsp;
    489     </td>
    490     <td>
    491 
    492 <p>
    493     </td>
    494   </tr>
    495 </table>
    496 <a name="a73" doxytag="oscl_mem_audit_internals.h::MM_AUDIT_ALLOC_NODE_SUPPORT"></a><p>
    497 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    498   <tr>
    499     <td class="md">
    500       <table cellpadding="0" cellspacing="0" border="0">
    501         <tr>
    502           <td class="md" nowrap valign="top"> #define MM_AUDIT_ALLOC_NODE_SUPPORT&nbsp;&nbsp;&nbsp;1
    503       </table>
    504     </td>
    505   </tr>
    506 </table>
    507 <table cellspacing=5 cellpadding=0 border=0>
    508   <tr>
    509     <td>
    510       &nbsp;
    511     </td>
    512     <td>
    513 
    514 <p>
    515     </td>
    516   </tr>
    517 </table>
    518 <a name="a77" doxytag="oscl_mem_audit_internals.h::MM_AUDIT_FAILURE_SIMULATION_SUPPORT"></a><p>
    519 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    520   <tr>
    521     <td class="md">
    522       <table cellpadding="0" cellspacing="0" border="0">
    523         <tr>
    524           <td class="md" nowrap valign="top"> #define MM_AUDIT_FAILURE_SIMULATION_SUPPORT&nbsp;&nbsp;&nbsp;1
    525       </table>
    526     </td>
    527   </tr>
    528 </table>
    529 <table cellspacing=5 cellpadding=0 border=0>
    530   <tr>
    531     <td>
    532       &nbsp;
    533     </td>
    534     <td>
    535 
    536 <p>
    537     </td>
    538   </tr>
    539 </table>
    540 <a name="a74" doxytag="oscl_mem_audit_internals.h::MM_AUDIT_FENCE_SUPPORT"></a><p>
    541 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    542   <tr>
    543     <td class="md">
    544       <table cellpadding="0" cellspacing="0" border="0">
    545         <tr>
    546           <td class="md" nowrap valign="top"> #define MM_AUDIT_FENCE_SUPPORT&nbsp;&nbsp;&nbsp;0
    547       </table>
    548     </td>
    549   </tr>
    550 </table>
    551 <table cellspacing=5 cellpadding=0 border=0>
    552   <tr>
    553     <td>
    554       &nbsp;
    555     </td>
    556     <td>
    557 
    558 <p>
    559     </td>
    560   </tr>
    561 </table>
    562 <a name="a76" doxytag="oscl_mem_audit_internals.h::MM_AUDIT_FILL_SUPPORT"></a><p>
    563 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    564   <tr>
    565     <td class="md">
    566       <table cellpadding="0" cellspacing="0" border="0">
    567         <tr>
    568           <td class="md" nowrap valign="top"> #define MM_AUDIT_FILL_SUPPORT&nbsp;&nbsp;&nbsp;0
    569       </table>
    570     </td>
    571   </tr>
    572 </table>
    573 <table cellspacing=5 cellpadding=0 border=0>
    574   <tr>
    575     <td>
    576       &nbsp;
    577     </td>
    578     <td>
    579 
    580 <p>
    581     </td>
    582   </tr>
    583 </table>
    584 <a name="a75" doxytag="oscl_mem_audit_internals.h::MM_AUDIT_INCLUDE_ALL_HEAP_VALIDATION"></a><p>
    585 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    586   <tr>
    587     <td class="md">
    588       <table cellpadding="0" cellspacing="0" border="0">
    589         <tr>
    590           <td class="md" nowrap valign="top"> #define MM_AUDIT_INCLUDE_ALL_HEAP_VALIDATION&nbsp;&nbsp;&nbsp;1
    591       </table>
    592     </td>
    593   </tr>
    594 </table>
    595 <table cellspacing=5 cellpadding=0 border=0>
    596   <tr>
    597     <td>
    598       &nbsp;
    599     </td>
    600     <td>
    601 
    602 <p>
    603     </td>
    604   </tr>
    605 </table>
    606 <a name="a67" doxytag="oscl_mem_audit.h::MM_AUDIT_POSTFILL_FLAG"></a><p>
    607 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    608   <tr>
    609     <td class="md">
    610       <table cellpadding="0" cellspacing="0" border="0">
    611         <tr>
    612           <td class="md" nowrap valign="top"> #define MM_AUDIT_POSTFILL_FLAG&nbsp;&nbsp;&nbsp;0x2
    613       </table>
    614     </td>
    615   </tr>
    616 </table>
    617 <table cellspacing=5 cellpadding=0 border=0>
    618   <tr>
    619     <td>
    620       &nbsp;
    621     </td>
    622     <td>
    623 
    624 <p>
    625     </td>
    626   </tr>
    627 </table>
    628 <a name="a66" doxytag="oscl_mem_audit.h::MM_AUDIT_PREFILL_FLAG"></a><p>
    629 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    630   <tr>
    631     <td class="md">
    632       <table cellpadding="0" cellspacing="0" border="0">
    633         <tr>
    634           <td class="md" nowrap valign="top"> #define MM_AUDIT_PREFILL_FLAG&nbsp;&nbsp;&nbsp;0x1
    635       </table>
    636     </td>
    637   </tr>
    638 </table>
    639 <table cellspacing=5 cellpadding=0 border=0>
    640   <tr>
    641     <td>
    642       &nbsp;
    643     </td>
    644     <td>
    645 
    646 <p>
    647     </td>
    648   </tr>
    649 </table>
    650 <a name="a71" doxytag="oscl_mem_audit.h::MM_AUDIT_SUPPRESS_FILENAME_FLAG"></a><p>
    651 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    652   <tr>
    653     <td class="md">
    654       <table cellpadding="0" cellspacing="0" border="0">
    655         <tr>
    656           <td class="md" nowrap valign="top"> #define MM_AUDIT_SUPPRESS_FILENAME_FLAG&nbsp;&nbsp;&nbsp;0x20
    657       </table>
    658     </td>
    659   </tr>
    660 </table>
    661 <table cellspacing=5 cellpadding=0 border=0>
    662   <tr>
    663     <td>
    664       &nbsp;
    665     </td>
    666     <td>
    667 
    668 <p>
    669     </td>
    670   </tr>
    671 </table>
    672 <a name="a68" doxytag="oscl_mem_audit.h::MM_AUDIT_VALIDATE_ALL_HEAP_FLAG"></a><p>
    673 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    674   <tr>
    675     <td class="md">
    676       <table cellpadding="0" cellspacing="0" border="0">
    677         <tr>
    678           <td class="md" nowrap valign="top"> #define MM_AUDIT_VALIDATE_ALL_HEAP_FLAG&nbsp;&nbsp;&nbsp;0x4
    679       </table>
    680     </td>
    681   </tr>
    682 </table>
    683 <table cellspacing=5 cellpadding=0 border=0>
    684   <tr>
    685     <td>
    686       &nbsp;
    687     </td>
    688     <td>
    689 
    690 <p>
    691     </td>
    692   </tr>
    693 </table>
    694 <a name="a65" doxytag="oscl_mem_audit.h::MM_AUDIT_VALIDATE_BLOCK"></a><p>
    695 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    696   <tr>
    697     <td class="md">
    698       <table cellpadding="0" cellspacing="0" border="0">
    699         <tr>
    700           <td class="md" nowrap valign="top"> #define MM_AUDIT_VALIDATE_BLOCK&nbsp;&nbsp;&nbsp;1
    701       </table>
    702     </td>
    703   </tr>
    704 </table>
    705 <table cellspacing=5 cellpadding=0 border=0>
    706   <tr>
    707     <td>
    708       &nbsp;
    709     </td>
    710     <td>
    711 
    712 <p>
    713     </td>
    714   </tr>
    715 </table>
    716 <a name="a69" doxytag="oscl_mem_audit.h::MM_AUDIT_VALIDATE_ON_FREE_FLAG"></a><p>
    717 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    718   <tr>
    719     <td class="md">
    720       <table cellpadding="0" cellspacing="0" border="0">
    721         <tr>
    722           <td class="md" nowrap valign="top"> #define MM_AUDIT_VALIDATE_ON_FREE_FLAG&nbsp;&nbsp;&nbsp;0x8
    723       </table>
    724     </td>
    725   </tr>
    726 </table>
    727 <table cellspacing=5 cellpadding=0 border=0>
    728   <tr>
    729     <td>
    730       &nbsp;
    731     </td>
    732     <td>
    733 
    734 <p>
    735     </td>
    736   </tr>
    737 </table>
    738 <a name="a38" doxytag="oscl_mem.h::OSCL_ALLOC_DELETE"></a><p>
    739 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    740   <tr>
    741     <td class="md">
    742       <table cellpadding="0" cellspacing="0" border="0">
    743         <tr>
    744           <td class="md" nowrap valign="top"> #define OSCL_ALLOC_DELETE</td>
    745           <td class="md" valign="top">(&nbsp;</td>
    746           <td class="md" nowrap valign="top">ptr,         <tr>
    747           <td></td>
    748           <td></td>
    749           <td class="md" nowrap>T_allocator,         <tr>
    750           <td></td>
    751           <td></td>
    752           <td class="md" nowrap>T&nbsp;</td>
    753           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    754           <td class="md" valign="top">)&nbsp;</td>
    755           <td class="md" nowrap>
    756       </table>
    757     </td>
    758   </tr>
    759 </table>
    760 <table cellspacing=5 cellpadding=0 border=0>
    761   <tr>
    762     <td>
    763       &nbsp;
    764     </td>
    765     <td>
    766 
    767 <p>
    768 <b>Value:</b><div class="fragment"><pre>{\
    769   ptr-&gt;~T();\
    770   T_allocator.deallocate(ptr);\
    771   }</pre></div>Deletes the object of type T using the given allocator<dl compact><dt><b>Parameters: </b></dt><dd>
    772 <table border=0 cellspacing=2 cellpadding=0>
    773 <tr><td valign=top><em>T_allocator</em>&nbsp;</td><td>
    774 allocator for objects of type T </td></tr>
    775 <tr><td valign=top><em>T</em>&nbsp;</td><td>
    776 type of object to delete </td></tr>
    777 <tr><td valign=top><em>ptr</em>&nbsp;</td><td>
    778 pointer to previously created object</td></tr>
    779 </table>
    780 </dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    781 <table border=0 cellspacing=2 cellpadding=0>
    782 <tr><td valign=top><em>none</em>&nbsp;</td><td>
    783 , unless thrown by the given allocator </td></tr>
    784 </table>
    785 </dl>    </td>
    786   </tr>
    787 </table>
    788 <a name="a36" doxytag="oscl_mem.h::OSCL_ALLOC_NEW"></a><p>
    789 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    790   <tr>
    791     <td class="md">
    792       <table cellpadding="0" cellspacing="0" border="0">
    793         <tr>
    794           <td class="md" nowrap valign="top"> #define OSCL_ALLOC_NEW</td>
    795           <td class="md" valign="top">(&nbsp;</td>
    796           <td class="md" nowrap valign="top">T_allocator,         <tr>
    797           <td></td>
    798           <td></td>
    799           <td class="md" nowrap>T,         <tr>
    800           <td></td>
    801           <td></td>
    802           <td class="md" nowrap>params&nbsp;</td>
    803           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    804           <td class="md" valign="top">)&nbsp;</td>
    805           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;new(T_allocator.allocate(1)) T params
    806       </table>
    807     </td>
    808   </tr>
    809 </table>
    810 <table cellspacing=5 cellpadding=0 border=0>
    811   <tr>
    812     <td>
    813       &nbsp;
    814     </td>
    815     <td>
    816 
    817 <p>
    818 Creates an object of type T using the given allocator to acquire the memory needed.<dl compact><dt><b>Parameters: </b></dt><dd>
    819 <table border=0 cellspacing=2 cellpadding=0>
    820 <tr><td valign=top><em>T_allocator</em>&nbsp;</td><td>
    821 allocator for objects of type T, must be an <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;T, Allocator&gt;, where Allocator is an <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> </td></tr>
    822 <tr><td valign=top><em>T</em>&nbsp;</td><td>
    823 type of object to create </td></tr>
    824 <tr><td valign=top><em>params</em>&nbsp;</td><td>
    825 object initialization parameters</td></tr>
    826 </table>
    827 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    828 pointer to created object</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    829 <table border=0 cellspacing=2 cellpadding=0>
    830 <tr><td valign=top><em>none</em>&nbsp;</td><td>
    831 , unless thrown by the given allocator </td></tr>
    832 </table>
    833 </dl>    </td>
    834   </tr>
    835 </table>
    836 <a name="a60" doxytag="oscl_mem.h::OSCL_ARRAY_DELETE"></a><p>
    837 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    838   <tr>
    839     <td class="md">
    840       <table cellpadding="0" cellspacing="0" border="0">
    841         <tr>
    842           <td class="md" nowrap valign="top"> #define OSCL_ARRAY_DELETE</td>
    843           <td class="md" valign="top">(&nbsp;</td>
    844           <td class="md" nowrap valign="top">ptr&nbsp;</td>
    845           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    846           <td class="md" valign="top">)&nbsp;</td>
    847           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;delete [] ptr
    848       </table>
    849     </td>
    850   </tr>
    851 </table>
    852 <table cellspacing=5 cellpadding=0 border=0>
    853   <tr>
    854     <td>
    855       &nbsp;
    856     </td>
    857     <td>
    858 
    859 <p>
    860 Oscl array delete operator..<dl compact><dt><b>Parameters: </b></dt><dd>
    861 <table border=0 cellspacing=2 cellpadding=0>
    862 <tr><td valign=top><em>ptr</em>&nbsp;</td><td>
    863 pointer to memory block previously allocated with OSCL_ARRAY_NEW</td></tr>
    864 </table>
    865 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    866 void </dl>    </td>
    867   </tr>
    868 </table>
    869 <a name="a59" doxytag="oscl_mem.h::OSCL_ARRAY_NEW"></a><p>
    870 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    871   <tr>
    872     <td class="md">
    873       <table cellpadding="0" cellspacing="0" border="0">
    874         <tr>
    875           <td class="md" nowrap valign="top"> #define OSCL_ARRAY_NEW</td>
    876           <td class="md" valign="top">(&nbsp;</td>
    877           <td class="md" nowrap valign="top">T,         <tr>
    878           <td></td>
    879           <td></td>
    880           <td class="md" nowrap>count&nbsp;</td>
    881           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    882           <td class="md" valign="top">)&nbsp;</td>
    883           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;new T[count]
    884       </table>
    885     </td>
    886   </tr>
    887 </table>
    888 <table cellspacing=5 cellpadding=0 border=0>
    889   <tr>
    890     <td>
    891       &nbsp;
    892     </td>
    893     <td>
    894 
    895 <p>
    896 Oscl array "new" operator. This uses the global memory audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
    897 <table border=0 cellspacing=2 cellpadding=0>
    898 <tr><td valign=top><em>T</em>&nbsp;</td><td>
    899 data type for 'new' operation </td></tr>
    900 <tr><td valign=top><em>count</em>&nbsp;</td><td>
    901 number of elements to create</td></tr>
    902 </table>
    903 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    904 pointer to the newly created object array of type T</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    905 <table border=0 cellspacing=2 cellpadding=0>
    906 <tr><td valign=top><em>may</em>&nbsp;</td><td>
    907  leave with code = bad alloc </td></tr>
    908 </table>
    909 </dl>    </td>
    910   </tr>
    911 </table>
    912 <a name="a58" doxytag="oscl_mem.h::OSCL_AUDIT_ARRAY_NEW"></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"> #define OSCL_AUDIT_ARRAY_NEW</td>
    919           <td class="md" valign="top">(&nbsp;</td>
    920           <td class="md" nowrap valign="top">auditCB,         <tr>
    921           <td></td>
    922           <td></td>
    923           <td class="md" nowrap>T,         <tr>
    924           <td></td>
    925           <td></td>
    926           <td class="md" nowrap>count&nbsp;</td>
    927           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    928           <td class="md" valign="top">)&nbsp;</td>
    929           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;new(_oscl_audit_new(sizeof(T)*(count),auditCB)) T
    930       </table>
    931     </td>
    932   </tr>
    933 </table>
    934 <table cellspacing=5 cellpadding=0 border=0>
    935   <tr>
    936     <td>
    937       &nbsp;
    938     </td>
    939     <td>
    940 
    941 <p>
    942 Oscl array "new" operator. This uses the input memory audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
    943 <table border=0 cellspacing=2 cellpadding=0>
    944 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
    945 input memory management audit object </td></tr>
    946 <tr><td valign=top><em>T</em>&nbsp;</td><td>
    947 data type for 'new' operation </td></tr>
    948 <tr><td valign=top><em>count</em>&nbsp;</td><td>
    949 number of elements to create</td></tr>
    950 </table>
    951 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    952 pointer to the newly created object array of type T</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
    953 <table border=0 cellspacing=2 cellpadding=0>
    954 <tr><td valign=top><em>may</em>&nbsp;</td><td>
    955  leave with code = bad alloc </td></tr>
    956 </table>
    957 </dl>    </td>
    958   </tr>
    959 </table>
    960 <a name="a45" doxytag="oscl_mem.h::OSCL_AUDIT_CALLOC"></a><p>
    961 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    962   <tr>
    963     <td class="md">
    964       <table cellpadding="0" cellspacing="0" border="0">
    965         <tr>
    966           <td class="md" nowrap valign="top"> #define OSCL_AUDIT_CALLOC</td>
    967           <td class="md" valign="top">(&nbsp;</td>
    968           <td class="md" nowrap valign="top">auditCB,         <tr>
    969           <td></td>
    970           <td></td>
    971           <td class="md" nowrap>num,         <tr>
    972           <td></td>
    973           <td></td>
    974           <td class="md" nowrap>size&nbsp;</td>
    975           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    976           <td class="md" valign="top">)&nbsp;</td>
    977           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_audit_calloc(num,size, auditCB)
    978       </table>
    979     </td>
    980   </tr>
    981 </table>
    982 <table cellspacing=5 cellpadding=0 border=0>
    983   <tr>
    984     <td>
    985       &nbsp;
    986     </td>
    987     <td>
    988 
    989 <p>
    990 Allocates a memory block using the specified audit object. The block is initialized to zero.<dl compact><dt><b>Parameters: </b></dt><dd>
    991 <table border=0 cellspacing=2 cellpadding=0>
    992 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
    993 input memory management audit object </td></tr>
    994 <tr><td valign=top><em>num</em>&nbsp;</td><td>
    995 number of elements </td></tr>
    996 <tr><td valign=top><em>size</em>&nbsp;</td><td>
    997 number of bytes to allocate for each element</td></tr>
    998 </table>
    999 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1000 a void pointer to the allocated space, or NULL if there is insufficient memory available.</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1001 <table border=0 cellspacing=2 cellpadding=0>
   1002 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1003  </td></tr>
   1004 </table>
   1005 </dl>    </td>
   1006   </tr>
   1007 </table>
   1008 <a name="a42" doxytag="oscl_mem.h::OSCL_AUDIT_MALLOC"></a><p>
   1009 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1010   <tr>
   1011     <td class="md">
   1012       <table cellpadding="0" cellspacing="0" border="0">
   1013         <tr>
   1014           <td class="md" nowrap valign="top"> #define OSCL_AUDIT_MALLOC</td>
   1015           <td class="md" valign="top">(&nbsp;</td>
   1016           <td class="md" nowrap valign="top">auditCB,         <tr>
   1017           <td></td>
   1018           <td></td>
   1019           <td class="md" nowrap>count&nbsp;</td>
   1020           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1021           <td class="md" valign="top">)&nbsp;</td>
   1022           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_audit_malloc(count, auditCB)
   1023       </table>
   1024     </td>
   1025   </tr>
   1026 </table>
   1027 <table cellspacing=5 cellpadding=0 border=0>
   1028   <tr>
   1029     <td>
   1030       &nbsp;
   1031     </td>
   1032     <td>
   1033 
   1034 <p>
   1035 Allocates a memory block using the given audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   1036 <table border=0 cellspacing=2 cellpadding=0>
   1037 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
   1038 input memory management audit object </td></tr>
   1039 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   1040 number of bytes to allocate</td></tr>
   1041 </table>
   1042 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1043 a void pointer to the allocated space, or NULL if there is insufficient memory available.</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1044 <table border=0 cellspacing=2 cellpadding=0>
   1045 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1046  </td></tr>
   1047 </table>
   1048 </dl>    </td>
   1049   </tr>
   1050 </table>
   1051 <a name="a55" doxytag="oscl_mem.h::OSCL_AUDIT_NEW"></a><p>
   1052 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1053   <tr>
   1054     <td class="md">
   1055       <table cellpadding="0" cellspacing="0" border="0">
   1056         <tr>
   1057           <td class="md" nowrap valign="top"> #define OSCL_AUDIT_NEW</td>
   1058           <td class="md" valign="top">(&nbsp;</td>
   1059           <td class="md" nowrap valign="top">auditCB,         <tr>
   1060           <td></td>
   1061           <td></td>
   1062           <td class="md" nowrap>T,         <tr>
   1063           <td></td>
   1064           <td></td>
   1065           <td class="md" nowrap>params&nbsp;</td>
   1066           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1067           <td class="md" valign="top">)&nbsp;</td>
   1068           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;new(_oscl_audit_new(sizeof(T),auditCB)) T params
   1069       </table>
   1070     </td>
   1071   </tr>
   1072 </table>
   1073 <table cellspacing=5 cellpadding=0 border=0>
   1074   <tr>
   1075     <td>
   1076       &nbsp;
   1077     </td>
   1078     <td>
   1079 
   1080 <p>
   1081 Oscl "new" operator. This uses the specified memory audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   1082 <table border=0 cellspacing=2 cellpadding=0>
   1083 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
   1084 input memory management audit object </td></tr>
   1085 <tr><td valign=top><em>T</em>&nbsp;</td><td>
   1086 data type for 'new' operation </td></tr>
   1087 <tr><td valign=top><em>params</em>&nbsp;</td><td>
   1088 object initialization parameters</td></tr>
   1089 </table>
   1090 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1091 pointer to the newly created object of type T</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1092 <table border=0 cellspacing=2 cellpadding=0>
   1093 <tr><td valign=top><em>may</em>&nbsp;</td><td>
   1094  leave with code = bad alloc </td></tr>
   1095 </table>
   1096 </dl>    </td>
   1097   </tr>
   1098 </table>
   1099 <a name="a48" doxytag="oscl_mem.h::OSCL_AUDIT_REALLOC"></a><p>
   1100 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1101   <tr>
   1102     <td class="md">
   1103       <table cellpadding="0" cellspacing="0" border="0">
   1104         <tr>
   1105           <td class="md" nowrap valign="top"> #define OSCL_AUDIT_REALLOC</td>
   1106           <td class="md" valign="top">(&nbsp;</td>
   1107           <td class="md" nowrap valign="top">auditCB,         <tr>
   1108           <td></td>
   1109           <td></td>
   1110           <td class="md" nowrap>ptr,         <tr>
   1111           <td></td>
   1112           <td></td>
   1113           <td class="md" nowrap>new_size&nbsp;</td>
   1114           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1115           <td class="md" valign="top">)&nbsp;</td>
   1116           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_audit_realloc(ptr,new_size, auditCB)
   1117       </table>
   1118     </td>
   1119   </tr>
   1120 </table>
   1121 <table cellspacing=5 cellpadding=0 border=0>
   1122   <tr>
   1123     <td>
   1124       &nbsp;
   1125     </td>
   1126     <td>
   1127 
   1128 <p>
   1129 Re-Allocates a memory block using the specified audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   1130 <table border=0 cellspacing=2 cellpadding=0>
   1131 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
   1132 input memory management audit object </td></tr>
   1133 <tr><td valign=top><em>ptr</em>&nbsp;</td><td>
   1134 original memory block </td></tr>
   1135 <tr><td valign=top><em>new_size</em>&nbsp;</td><td>
   1136 New size of the block</td></tr>
   1137 </table>
   1138 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1139 a void pointer to the allocated space, or NULL if there is insufficient memory available.</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1140 <table border=0 cellspacing=2 cellpadding=0>
   1141 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1142  </td></tr>
   1143 </table>
   1144 </dl>    </td>
   1145   </tr>
   1146 </table>
   1147 <a name="a44" doxytag="oscl_mem.h::oscl_calloc"></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"> #define oscl_calloc</td>
   1154           <td class="md" valign="top">(&nbsp;</td>
   1155           <td class="md" nowrap valign="top">a,         <tr>
   1156           <td></td>
   1157           <td></td>
   1158           <td class="md" nowrap>b&nbsp;</td>
   1159           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1160           <td class="md" valign="top">)&nbsp;</td>
   1161           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OSCL_CALLOC(a,b)
   1162       </table>
   1163     </td>
   1164   </tr>
   1165 </table>
   1166 <table cellspacing=5 cellpadding=0 border=0>
   1167   <tr>
   1168     <td>
   1169       &nbsp;
   1170     </td>
   1171     <td>
   1172 
   1173 <p>
   1174     </td>
   1175   </tr>
   1176 </table>
   1177 <a name="a43" doxytag="oscl_mem.h::OSCL_CALLOC"></a><p>
   1178 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1179   <tr>
   1180     <td class="md">
   1181       <table cellpadding="0" cellspacing="0" border="0">
   1182         <tr>
   1183           <td class="md" nowrap valign="top"> #define OSCL_CALLOC</td>
   1184           <td class="md" valign="top">(&nbsp;</td>
   1185           <td class="md" nowrap valign="top">num,         <tr>
   1186           <td></td>
   1187           <td></td>
   1188           <td class="md" nowrap>size&nbsp;</td>
   1189           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1190           <td class="md" valign="top">)&nbsp;</td>
   1191           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_default_audit_calloc(num,size)
   1192       </table>
   1193     </td>
   1194   </tr>
   1195 </table>
   1196 <table cellspacing=5 cellpadding=0 border=0>
   1197   <tr>
   1198     <td>
   1199       &nbsp;
   1200     </td>
   1201     <td>
   1202 
   1203 <p>
   1204 Allocates a memory block using the memory management's global audit object. The block is initialized to zero.<dl compact><dt><b>Parameters: </b></dt><dd>
   1205 <table border=0 cellspacing=2 cellpadding=0>
   1206 <tr><td valign=top><em>num</em>&nbsp;</td><td>
   1207 number of elements </td></tr>
   1208 <tr><td valign=top><em>size</em>&nbsp;</td><td>
   1209 number of bytes to allocate for each element</td></tr>
   1210 </table>
   1211 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1212 a void pointer to the allocated space, or NULL if there is insufficient memory available.</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1213 <table border=0 cellspacing=2 cellpadding=0>
   1214 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1215  </td></tr>
   1216 </table>
   1217 </dl>    </td>
   1218   </tr>
   1219 </table>
   1220 <a name="a35" doxytag="oscl_mem.h::OSCL_CLEANUP_BASE_CLASS"></a><p>
   1221 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1222   <tr>
   1223     <td class="md">
   1224       <table cellpadding="0" cellspacing="0" border="0">
   1225         <tr>
   1226           <td class="md" nowrap valign="top"> #define OSCL_CLEANUP_BASE_CLASS</td>
   1227           <td class="md" valign="top">(&nbsp;</td>
   1228           <td class="md" nowrap valign="top">T&nbsp;</td>
   1229           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1230           <td class="md" valign="top">)&nbsp;</td>
   1231           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_OSCL_CLEANUP_BASE_CLASS(T)
   1232       </table>
   1233     </td>
   1234   </tr>
   1235 </table>
   1236 <table cellspacing=5 cellpadding=0 border=0>
   1237   <tr>
   1238     <td>
   1239       &nbsp;
   1240     </td>
   1241     <td>
   1242 
   1243 <p>
   1244 Cleans up the base class of a partially-constructed derived class. This macro will call the destructor if necessary, based on the error-handling implementation.<dl compact><dt><b>Parameters: </b></dt><dd>
   1245 <table border=0 cellspacing=2 cellpadding=0>
   1246 <tr><td valign=top><em>T:</em>&nbsp;</td><td>
   1247 name of the base class. </td></tr>
   1248 </table>
   1249 </dl>    </td>
   1250   </tr>
   1251 </table>
   1252 <a name="a51" doxytag="oscl_mem.h::OSCL_DEFAULT_FREE"></a><p>
   1253 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1254   <tr>
   1255     <td class="md">
   1256       <table cellpadding="0" cellspacing="0" border="0">
   1257         <tr>
   1258           <td class="md" nowrap valign="top"> #define OSCL_DEFAULT_FREE</td>
   1259           <td class="md" valign="top">(&nbsp;</td>
   1260           <td class="md" nowrap valign="top">x&nbsp;</td>
   1261           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1262           <td class="md" valign="top">)&nbsp;</td>
   1263           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OSCL_FREE(x)
   1264       </table>
   1265     </td>
   1266   </tr>
   1267 </table>
   1268 <table cellspacing=5 cellpadding=0 border=0>
   1269   <tr>
   1270     <td>
   1271       &nbsp;
   1272     </td>
   1273     <td>
   1274 
   1275 <p>
   1276 Another back-compatibility definition.     </td>
   1277   </tr>
   1278 </table>
   1279 <a name="a41" doxytag="oscl_mem.h::OSCL_DEFAULT_MALLOC"></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"> #define OSCL_DEFAULT_MALLOC</td>
   1286           <td class="md" valign="top">(&nbsp;</td>
   1287           <td class="md" nowrap valign="top">x&nbsp;</td>
   1288           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1289           <td class="md" valign="top">)&nbsp;</td>
   1290           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OSCL_MALLOC(x)
   1291       </table>
   1292     </td>
   1293   </tr>
   1294 </table>
   1295 <table cellspacing=5 cellpadding=0 border=0>
   1296   <tr>
   1297     <td>
   1298       &nbsp;
   1299     </td>
   1300     <td>
   1301 
   1302 <p>
   1303 Another back-compatibility definition.     </td>
   1304   </tr>
   1305 </table>
   1306 <a name="a57" doxytag="oscl_mem.h::OSCL_DELETE"></a><p>
   1307 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1308   <tr>
   1309     <td class="md">
   1310       <table cellpadding="0" cellspacing="0" border="0">
   1311         <tr>
   1312           <td class="md" nowrap valign="top"> #define OSCL_DELETE</td>
   1313           <td class="md" valign="top">(&nbsp;</td>
   1314           <td class="md" nowrap valign="top">ptr&nbsp;</td>
   1315           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1316           <td class="md" valign="top">)&nbsp;</td>
   1317           <td class="md" nowrap>
   1318       </table>
   1319     </td>
   1320   </tr>
   1321 </table>
   1322 <table cellspacing=5 cellpadding=0 border=0>
   1323   <tr>
   1324     <td>
   1325       &nbsp;
   1326     </td>
   1327     <td>
   1328 
   1329 <p>
   1330 <b>Value:</b><div class="fragment"><pre>{\
   1331     <span class="keywordflow">if</span>(ptr){<span class="keyword">delete</span>(ptr);}\
   1332 }</pre></div>Oscl "delete" operator.<dl compact><dt><b>Parameters: </b></dt><dd>
   1333 <table border=0 cellspacing=2 cellpadding=0>
   1334 <tr><td valign=top><em>ptr</em>&nbsp;</td><td>
   1335 pointer to memory block previously allocated with OSCL_NEW</td></tr>
   1336 </table>
   1337 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1338 void </dl>    </td>
   1339   </tr>
   1340 </table>
   1341 <a name="a84" doxytag="oscl_mem_auto_ptr.h::OSCL_DISABLE_WARNING_RETURN_TYPE_NOT_UDT"></a><p>
   1342 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1343   <tr>
   1344     <td class="md">
   1345       <table cellpadding="0" cellspacing="0" border="0">
   1346         <tr>
   1347           <td class="md" nowrap valign="top"> #define OSCL_DISABLE_WARNING_RETURN_TYPE_NOT_UDT
   1348       </table>
   1349     </td>
   1350   </tr>
   1351 </table>
   1352 <table cellspacing=5 cellpadding=0 border=0>
   1353   <tr>
   1354     <td>
   1355       &nbsp;
   1356     </td>
   1357     <td>
   1358 
   1359 <p>
   1360     </td>
   1361   </tr>
   1362 </table>
   1363 <a name="a33" doxytag="oscl_mem.h::OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE"></a><p>
   1364 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1365   <tr>
   1366     <td class="md">
   1367       <table cellpadding="0" cellspacing="0" border="0">
   1368         <tr>
   1369           <td class="md" nowrap valign="top"> #define OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE
   1370       </table>
   1371     </td>
   1372   </tr>
   1373 </table>
   1374 <table cellspacing=5 cellpadding=0 border=0>
   1375   <tr>
   1376     <td>
   1377       &nbsp;
   1378     </td>
   1379     <td>
   1380 
   1381 <p>
   1382 Previously this was in oscl_mem_imp.h     </td>
   1383   </tr>
   1384 </table>
   1385 <a name="a50" doxytag="oscl_mem.h::oscl_free"></a><p>
   1386 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1387   <tr>
   1388     <td class="md">
   1389       <table cellpadding="0" cellspacing="0" border="0">
   1390         <tr>
   1391           <td class="md" nowrap valign="top"> #define oscl_free</td>
   1392           <td class="md" valign="top">(&nbsp;</td>
   1393           <td class="md" nowrap valign="top">x&nbsp;</td>
   1394           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1395           <td class="md" valign="top">)&nbsp;</td>
   1396           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OSCL_FREE(x)
   1397       </table>
   1398     </td>
   1399   </tr>
   1400 </table>
   1401 <table cellspacing=5 cellpadding=0 border=0>
   1402   <tr>
   1403     <td>
   1404       &nbsp;
   1405     </td>
   1406     <td>
   1407 
   1408 <p>
   1409     </td>
   1410   </tr>
   1411 </table>
   1412 <a name="a49" doxytag="oscl_mem.h::OSCL_FREE"></a><p>
   1413 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1414   <tr>
   1415     <td class="md">
   1416       <table cellpadding="0" cellspacing="0" border="0">
   1417         <tr>
   1418           <td class="md" nowrap valign="top"> #define OSCL_FREE</td>
   1419           <td class="md" valign="top">(&nbsp;</td>
   1420           <td class="md" nowrap valign="top">ptr&nbsp;</td>
   1421           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1422           <td class="md" valign="top">)&nbsp;</td>
   1423           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_audit_free(ptr)
   1424       </table>
   1425     </td>
   1426   </tr>
   1427 </table>
   1428 <table cellspacing=5 cellpadding=0 border=0>
   1429   <tr>
   1430     <td>
   1431       &nbsp;
   1432     </td>
   1433     <td>
   1434 
   1435 <p>
   1436 Deallocates or frees a memory block.<dl compact><dt><b>Parameters: </b></dt><dd>
   1437 <table border=0 cellspacing=2 cellpadding=0>
   1438 <tr><td valign=top><em>ptr</em>&nbsp;</td><td>
   1439 pointer to previously allocated memory block using the given audit object </td></tr>
   1440 </table>
   1441 </dl>    </td>
   1442   </tr>
   1443 </table>
   1444 <a name="a34" doxytag="oscl_mem.h::OSCL_HAS_GLOBAL_NEW_DELETE"></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"> #define OSCL_HAS_GLOBAL_NEW_DELETE&nbsp;&nbsp;&nbsp;1
   1451       </table>
   1452     </td>
   1453   </tr>
   1454 </table>
   1455 <table cellspacing=5 cellpadding=0 border=0>
   1456   <tr>
   1457     <td>
   1458       &nbsp;
   1459     </td>
   1460     <td>
   1461 
   1462 <p>
   1463     </td>
   1464   </tr>
   1465 </table>
   1466 <a name="a40" doxytag="oscl_mem.h::oscl_malloc"></a><p>
   1467 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1468   <tr>
   1469     <td class="md">
   1470       <table cellpadding="0" cellspacing="0" border="0">
   1471         <tr>
   1472           <td class="md" nowrap valign="top"> #define oscl_malloc</td>
   1473           <td class="md" valign="top">(&nbsp;</td>
   1474           <td class="md" nowrap valign="top">a&nbsp;</td>
   1475           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1476           <td class="md" valign="top">)&nbsp;</td>
   1477           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OSCL_MALLOC(a)
   1478       </table>
   1479     </td>
   1480   </tr>
   1481 </table>
   1482 <table cellspacing=5 cellpadding=0 border=0>
   1483   <tr>
   1484     <td>
   1485       &nbsp;
   1486     </td>
   1487     <td>
   1488 
   1489 <p>
   1490     </td>
   1491   </tr>
   1492 </table>
   1493 <a name="a39" doxytag="oscl_mem.h::OSCL_MALLOC"></a><p>
   1494 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1495   <tr>
   1496     <td class="md">
   1497       <table cellpadding="0" cellspacing="0" border="0">
   1498         <tr>
   1499           <td class="md" nowrap valign="top"> #define OSCL_MALLOC</td>
   1500           <td class="md" valign="top">(&nbsp;</td>
   1501           <td class="md" nowrap valign="top">count&nbsp;</td>
   1502           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1503           <td class="md" valign="top">)&nbsp;</td>
   1504           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_default_audit_malloc(count)
   1505       </table>
   1506     </td>
   1507   </tr>
   1508 </table>
   1509 <table cellspacing=5 cellpadding=0 border=0>
   1510   <tr>
   1511     <td>
   1512       &nbsp;
   1513     </td>
   1514     <td>
   1515 
   1516 <p>
   1517 Allocates a memory block using the memory management's global audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   1518 <table border=0 cellspacing=2 cellpadding=0>
   1519 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   1520 number of bytes to allocate</td></tr>
   1521 </table>
   1522 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1523 a void pointer to the allocated space, or NULL if there is insufficient memory available.</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1524 <table border=0 cellspacing=2 cellpadding=0>
   1525 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1526  </td></tr>
   1527 </table>
   1528 </dl>    </td>
   1529   </tr>
   1530 </table>
   1531 <a name="a52" doxytag="oscl_mem.h::OSCL_NEW"></a><p>
   1532 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1533   <tr>
   1534     <td class="md">
   1535       <table cellpadding="0" cellspacing="0" border="0">
   1536         <tr>
   1537           <td class="md" nowrap valign="top"> #define OSCL_NEW</td>
   1538           <td class="md" valign="top">(&nbsp;</td>
   1539           <td class="md" nowrap valign="top">T,         <tr>
   1540           <td></td>
   1541           <td></td>
   1542           <td class="md" nowrap>params&nbsp;</td>
   1543           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1544           <td class="md" valign="top">)&nbsp;</td>
   1545           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;new T params
   1546       </table>
   1547     </td>
   1548   </tr>
   1549 </table>
   1550 <table cellspacing=5 cellpadding=0 border=0>
   1551   <tr>
   1552     <td>
   1553       &nbsp;
   1554     </td>
   1555     <td>
   1556 
   1557 <p>
   1558 Oscl "new" operator. This uses the global memory audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   1559 <table border=0 cellspacing=2 cellpadding=0>
   1560 <tr><td valign=top><em>T</em>&nbsp;</td><td>
   1561 data type for 'new' operation </td></tr>
   1562 <tr><td valign=top><em>params</em>&nbsp;</td><td>
   1563 object initialization parameters</td></tr>
   1564 </table>
   1565 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1566 pointer to the newly created object of type T</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1567 <table border=0 cellspacing=2 cellpadding=0>
   1568 <tr><td valign=top><em>may</em>&nbsp;</td><td>
   1569  leave with code = bad alloc </td></tr>
   1570 </table>
   1571 </dl>    </td>
   1572   </tr>
   1573 </table>
   1574 <a name="a53" doxytag="oscl_mem.h::OSCL_PLACEMENT_NEW"></a><p>
   1575 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1576   <tr>
   1577     <td class="md">
   1578       <table cellpadding="0" cellspacing="0" border="0">
   1579         <tr>
   1580           <td class="md" nowrap valign="top"> #define OSCL_PLACEMENT_NEW</td>
   1581           <td class="md" valign="top">(&nbsp;</td>
   1582           <td class="md" nowrap valign="top">ptr,         <tr>
   1583           <td></td>
   1584           <td></td>
   1585           <td class="md" nowrap>constructor&nbsp;</td>
   1586           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1587           <td class="md" valign="top">)&nbsp;</td>
   1588           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;new(ptr) constructor
   1589       </table>
   1590     </td>
   1591   </tr>
   1592 </table>
   1593 <table cellspacing=5 cellpadding=0 border=0>
   1594   <tr>
   1595     <td>
   1596       &nbsp;
   1597     </td>
   1598     <td>
   1599 
   1600 <p>
   1601     </td>
   1602   </tr>
   1603 </table>
   1604 <a name="a47" doxytag="oscl_mem.h::oscl_realloc"></a><p>
   1605 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1606   <tr>
   1607     <td class="md">
   1608       <table cellpadding="0" cellspacing="0" border="0">
   1609         <tr>
   1610           <td class="md" nowrap valign="top"> #define oscl_realloc</td>
   1611           <td class="md" valign="top">(&nbsp;</td>
   1612           <td class="md" nowrap valign="top">a,         <tr>
   1613           <td></td>
   1614           <td></td>
   1615           <td class="md" nowrap>b&nbsp;</td>
   1616           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1617           <td class="md" valign="top">)&nbsp;</td>
   1618           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;OSCL_REALLOC(a,b)
   1619       </table>
   1620     </td>
   1621   </tr>
   1622 </table>
   1623 <table cellspacing=5 cellpadding=0 border=0>
   1624   <tr>
   1625     <td>
   1626       &nbsp;
   1627     </td>
   1628     <td>
   1629 
   1630 <p>
   1631     </td>
   1632   </tr>
   1633 </table>
   1634 <a name="a46" doxytag="oscl_mem.h::OSCL_REALLOC"></a><p>
   1635 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1636   <tr>
   1637     <td class="md">
   1638       <table cellpadding="0" cellspacing="0" border="0">
   1639         <tr>
   1640           <td class="md" nowrap valign="top"> #define OSCL_REALLOC</td>
   1641           <td class="md" valign="top">(&nbsp;</td>
   1642           <td class="md" nowrap valign="top">ptr,         <tr>
   1643           <td></td>
   1644           <td></td>
   1645           <td class="md" nowrap>new_size&nbsp;</td>
   1646           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1647           <td class="md" valign="top">)&nbsp;</td>
   1648           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_oscl_default_audit_realloc(ptr,new_size)
   1649       </table>
   1650     </td>
   1651   </tr>
   1652 </table>
   1653 <table cellspacing=5 cellpadding=0 border=0>
   1654   <tr>
   1655     <td>
   1656       &nbsp;
   1657     </td>
   1658     <td>
   1659 
   1660 <p>
   1661 Re-Allocates a memory block using the memory management's global audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   1662 <table border=0 cellspacing=2 cellpadding=0>
   1663 <tr><td valign=top><em>ptr</em>&nbsp;</td><td>
   1664 original memory block </td></tr>
   1665 <tr><td valign=top><em>new_size</em>&nbsp;</td><td>
   1666 New size of the block</td></tr>
   1667 </table>
   1668 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1669 a void pointer to the allocated space, or NULL if there is insufficient memory available.</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1670 <table border=0 cellspacing=2 cellpadding=0>
   1671 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1672  </td></tr>
   1673 </table>
   1674 </dl>    </td>
   1675   </tr>
   1676 </table>
   1677 <a name="a37" doxytag="oscl_mem.h::OSCL_TRAP_ALLOC_NEW"></a><p>
   1678 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1679   <tr>
   1680     <td class="md">
   1681       <table cellpadding="0" cellspacing="0" border="0">
   1682         <tr>
   1683           <td class="md" nowrap valign="top"> #define OSCL_TRAP_ALLOC_NEW</td>
   1684           <td class="md" valign="top">(&nbsp;</td>
   1685           <td class="md" nowrap valign="top">T_ptr,         <tr>
   1686           <td></td>
   1687           <td></td>
   1688           <td class="md" nowrap>T_allocator,         <tr>
   1689           <td></td>
   1690           <td></td>
   1691           <td class="md" nowrap>T,         <tr>
   1692           <td></td>
   1693           <td></td>
   1694           <td class="md" nowrap>params&nbsp;</td>
   1695           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1696           <td class="md" valign="top">)&nbsp;</td>
   1697           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(T_allocator.allocate(1),T_allocator.deallocate,T_ptr,T,params)
   1698       </table>
   1699     </td>
   1700   </tr>
   1701 </table>
   1702 <table cellspacing=5 cellpadding=0 border=0>
   1703   <tr>
   1704     <td>
   1705       &nbsp;
   1706     </td>
   1707     <td>
   1708 
   1709 <p>
   1710 Creates an object of type T using the given allocator to acquire the memory needed. This macro is similar to OSCL_ALLOC_NEW except that it handles constructors that leave. If the constructor leaves, the destructor will be called, and allocated memory will be freed before allowing the leave to propagate to the next level.<dl compact><dt><b>Parameters: </b></dt><dd>
   1711 <table border=0 cellspacing=2 cellpadding=0>
   1712 <tr><td valign=top><em>T_ptr</em>&nbsp;</td><td>
   1713 variable to hold return value-- pointer to new object of type T. </td></tr>
   1714 <tr><td valign=top><em>T_allocator</em>&nbsp;</td><td>
   1715 allocator for objects of type T, must be an <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;T, Allocator&gt;, where Allocator is an <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> </td></tr>
   1716 <tr><td valign=top><em>T</em>&nbsp;</td><td>
   1717 type of object to create </td></tr>
   1718 <tr><td valign=top><em>params</em>&nbsp;</td><td>
   1719 object initialization parameters</td></tr>
   1720 </table>
   1721 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1722 pointer to created object</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1723 <table border=0 cellspacing=2 cellpadding=0>
   1724 <tr><td valign=top><em>none</em>&nbsp;</td><td>
   1725 , unless thrown by the given allocator </td></tr>
   1726 </table>
   1727 </dl>    </td>
   1728   </tr>
   1729 </table>
   1730 <a name="a56" doxytag="oscl_mem.h::OSCL_TRAP_AUDIT_NEW"></a><p>
   1731 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1732   <tr>
   1733     <td class="md">
   1734       <table cellpadding="0" cellspacing="0" border="0">
   1735         <tr>
   1736           <td class="md" nowrap valign="top"> #define OSCL_TRAP_AUDIT_NEW</td>
   1737           <td class="md" valign="top">(&nbsp;</td>
   1738           <td class="md" nowrap valign="top">T_ptr,         <tr>
   1739           <td></td>
   1740           <td></td>
   1741           <td class="md" nowrap>auditCB,         <tr>
   1742           <td></td>
   1743           <td></td>
   1744           <td class="md" nowrap>T,         <tr>
   1745           <td></td>
   1746           <td></td>
   1747           <td class="md" nowrap>params&nbsp;</td>
   1748           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1749           <td class="md" valign="top">)&nbsp;</td>
   1750           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(_oscl_audit_new(sizeof(T),auditCB),_oscl_audit_free,T_ptr,T,params)
   1751       </table>
   1752     </td>
   1753   </tr>
   1754 </table>
   1755 <table cellspacing=5 cellpadding=0 border=0>
   1756   <tr>
   1757     <td>
   1758       &nbsp;
   1759     </td>
   1760     <td>
   1761 
   1762 <p>
   1763 Oscl "new" operator. This uses the specified memory audit object. This macro is similar to OSCL_AUDIT_NEW except that it will handle constructors that leave. If the constructor leaves, the destructor will be called, and allocated memory will be freed before allowing the leave to propagate to the next level.<dl compact><dt><b>Parameters: </b></dt><dd>
   1764 <table border=0 cellspacing=2 cellpadding=0>
   1765 <tr><td valign=top><em>T_ptr</em>&nbsp;</td><td>
   1766 variable to hold return value-- pointer to new object of type T. </td></tr>
   1767 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
   1768 input memory management audit object </td></tr>
   1769 <tr><td valign=top><em>T</em>&nbsp;</td><td>
   1770 data type for 'new' operation </td></tr>
   1771 <tr><td valign=top><em>params</em>&nbsp;</td><td>
   1772 object initialization parameters</td></tr>
   1773 </table>
   1774 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1775 pointer to the newly created object of type T</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1776 <table border=0 cellspacing=2 cellpadding=0>
   1777 <tr><td valign=top><em>may</em>&nbsp;</td><td>
   1778  leave with code = bad alloc </td></tr>
   1779 </table>
   1780 </dl>    </td>
   1781   </tr>
   1782 </table>
   1783 <a name="a54" doxytag="oscl_mem.h::OSCL_TRAP_NEW"></a><p>
   1784 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1785   <tr>
   1786     <td class="md">
   1787       <table cellpadding="0" cellspacing="0" border="0">
   1788         <tr>
   1789           <td class="md" nowrap valign="top"> #define OSCL_TRAP_NEW</td>
   1790           <td class="md" valign="top">(&nbsp;</td>
   1791           <td class="md" nowrap valign="top">T_ptr,         <tr>
   1792           <td></td>
   1793           <td></td>
   1794           <td class="md" nowrap>T,         <tr>
   1795           <td></td>
   1796           <td></td>
   1797           <td class="md" nowrap>params&nbsp;</td>
   1798           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   1799           <td class="md" valign="top">)&nbsp;</td>
   1800           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(_oscl_default_audit_new(sizeof(T)),_oscl_audit_free,T_ptr,T,params)
   1801       </table>
   1802     </td>
   1803   </tr>
   1804 </table>
   1805 <table cellspacing=5 cellpadding=0 border=0>
   1806   <tr>
   1807     <td>
   1808       &nbsp;
   1809     </td>
   1810     <td>
   1811 
   1812 <p>
   1813 Oscl "new" operator. This uses the global memory audit object. This operator is similar to OSCL_NEW except that it will handle constructors that leave. If the constructor leaves, the destructor will be called, and allocated memory will be freed before allowing the leave to propagate to the next level.<dl compact><dt><b>Parameters: </b></dt><dd>
   1814 <table border=0 cellspacing=2 cellpadding=0>
   1815 <tr><td valign=top><em>T_ptr</em>&nbsp;</td><td>
   1816 variable to hold return value-- pointer to new object of type T. </td></tr>
   1817 <tr><td valign=top><em>T</em>&nbsp;</td><td>
   1818 data type for 'new' operation </td></tr>
   1819 <tr><td valign=top><em>params</em>&nbsp;</td><td>
   1820 object initialization parameters</td></tr>
   1821 </table>
   1822 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1823 pointer to the newly created object of type T</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
   1824 <table border=0 cellspacing=2 cellpadding=0>
   1825 <tr><td valign=top><em>may</em>&nbsp;</td><td>
   1826  leave with code = bad alloc </td></tr>
   1827 </table>
   1828 </dl>    </td>
   1829   </tr>
   1830 </table>
   1831 <hr><h2>Typedef Documentation</h2>
   1832 <a name="a2" doxytag="oscl_mem_audit.h::MM_AllocNodeAutoPtr"></a><p>
   1833 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1834   <tr>
   1835     <td class="md">
   1836       <table cellpadding="0" cellspacing="0" border="0">
   1837         <tr>
   1838           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt;<a class="el" href="structMM__AllocNode.html">MM_AllocNode</a>, <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;<a class="el" href="structMM__AllocNode.html">MM_AllocNode</a>, <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a>&gt; &gt; MM_AllocNodeAutoPtr
   1839       </table>
   1840     </td>
   1841   </tr>
   1842 </table>
   1843 <table cellspacing=5 cellpadding=0 border=0>
   1844   <tr>
   1845     <td>
   1846       &nbsp;
   1847     </td>
   1848     <td>
   1849 
   1850 <p>
   1851     </td>
   1852   </tr>
   1853 </table>
   1854 <a name="a3" doxytag="oscl_mem_audit.h::MM_StatsNodeTagTreeType"></a><p>
   1855 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1856   <tr>
   1857     <td class="md">
   1858       <table cellpadding="0" cellspacing="0" border="0">
   1859         <tr>
   1860           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt;<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>, <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>, <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a>&gt; &gt; MM_StatsNodeTagTreeType
   1861       </table>
   1862     </td>
   1863   </tr>
   1864 </table>
   1865 <table cellspacing=5 cellpadding=0 border=0>
   1866   <tr>
   1867     <td>
   1868       &nbsp;
   1869     </td>
   1870     <td>
   1871 
   1872 <p>
   1873     </td>
   1874   </tr>
   1875 </table>
   1876 <a name="a0" doxytag="oscl_mem_audit.h::MMAuditCharAutoPtr"></a><p>
   1877 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1878   <tr>
   1879     <td class="md">
   1880       <table cellpadding="0" cellspacing="0" border="0">
   1881         <tr>
   1882           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt;char, <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;char, <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a>&gt; &gt; MMAuditCharAutoPtr
   1883       </table>
   1884     </td>
   1885   </tr>
   1886 </table>
   1887 <table cellspacing=5 cellpadding=0 border=0>
   1888   <tr>
   1889     <td>
   1890       &nbsp;
   1891     </td>
   1892     <td>
   1893 
   1894 <p>
   1895     </td>
   1896   </tr>
   1897 </table>
   1898 <a name="a1" doxytag="oscl_mem_audit.h::MMAuditUint8AutoPtr"></a><p>
   1899 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1900   <tr>
   1901     <td class="md">
   1902       <table cellpadding="0" cellspacing="0" border="0">
   1903         <tr>
   1904           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt;uint8, <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;uint8, <a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a>&gt; &gt; MMAuditUint8AutoPtr
   1905       </table>
   1906     </td>
   1907   </tr>
   1908 </table>
   1909 <table cellspacing=5 cellpadding=0 border=0>
   1910   <tr>
   1911     <td>
   1912       &nbsp;
   1913     </td>
   1914     <td>
   1915 
   1916 <p>
   1917     </td>
   1918   </tr>
   1919 </table>
   1920 <a name="a4" doxytag="oscl_mem_audit.h::OsclMemStatsNodeAutoPtr"></a><p>
   1921 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1922   <tr>
   1923     <td class="md">
   1924       <table cellpadding="0" cellspacing="0" border="0">
   1925         <tr>
   1926           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOSCLMemAutoPtr.html">OSCLMemAutoPtr</a>&lt;<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>, <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;<a class="el" href="classOsclMemStatsNode.html">OsclMemStatsNode</a>, <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a>&gt; &gt; OsclMemStatsNodeAutoPtr
   1927       </table>
   1928     </td>
   1929   </tr>
   1930 </table>
   1931 <table cellspacing=5 cellpadding=0 border=0>
   1932   <tr>
   1933     <td>
   1934       &nbsp;
   1935     </td>
   1936     <td>
   1937 
   1938 <p>
   1939     </td>
   1940   </tr>
   1941 </table>
   1942 <a name="a6" doxytag="oscl_mem_audit.h::OsclTagTreeType"></a><p>
   1943 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1944   <tr>
   1945     <td class="md">
   1946       <table cellpadding="0" cellspacing="0" border="0">
   1947         <tr>
   1948           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOscl__TagTree.html">Oscl_TagTree</a>&lt;<a class="el" href="group__osclmemory.html#a3">MM_StatsNodeTagTreeType</a>, <a class="el" href="group__osclmemory.html#a5">TagTree_Allocator</a>&gt; OsclTagTreeType
   1949       </table>
   1950     </td>
   1951   </tr>
   1952 </table>
   1953 <table cellspacing=5 cellpadding=0 border=0>
   1954   <tr>
   1955     <td>
   1956       &nbsp;
   1957     </td>
   1958     <td>
   1959 
   1960 <p>
   1961     </td>
   1962   </tr>
   1963 </table>
   1964 <a name="a5" doxytag="oscl_mem_audit.h::TagTree_Allocator"></a><p>
   1965 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1966   <tr>
   1967     <td class="md">
   1968       <table cellpadding="0" cellspacing="0" border="0">
   1969         <tr>
   1970           <td class="md" nowrap valign="top"> typedef <a class="el" href="classOscl__TAlloc.html">Oscl_TAlloc</a>&lt;<a class="el" href="group__osclmemory.html#a3">MM_StatsNodeTagTreeType</a>, <a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a>&gt; TagTree_Allocator
   1971       </table>
   1972     </td>
   1973   </tr>
   1974 </table>
   1975 <table cellspacing=5 cellpadding=0 border=0>
   1976   <tr>
   1977     <td>
   1978       &nbsp;
   1979     </td>
   1980     <td>
   1981 
   1982 <p>
   1983     </td>
   1984   </tr>
   1985 </table>
   1986 <hr><h2>Function Documentation</h2>
   1987 <a name="a19" doxytag="oscl_mem.h::_oscl_audit_calloc"></a><p>
   1988 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1989   <tr>
   1990     <td class="md">
   1991       <table cellpadding="0" cellspacing="0" border="0">
   1992         <tr>
   1993           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_audit_calloc </td>
   1994           <td class="md" valign="top">(&nbsp;</td>
   1995           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   1996           <td class="mdname" nowrap>&nbsp;, </td>
   1997         </tr>
   1998         <tr>
   1999           <td></td>
   2000           <td></td>
   2001           <td class="md" nowrap>size_t&nbsp;</td>
   2002           <td class="mdname" nowrap>&nbsp;, </td>
   2003         </tr>
   2004         <tr>
   2005           <td></td>
   2006           <td></td>
   2007           <td class="md" nowrap><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;&nbsp;</td>
   2008           <td class="mdname" nowrap>&nbsp;, </td>
   2009         </tr>
   2010         <tr>
   2011           <td></td>
   2012           <td></td>
   2013           <td class="md" nowrap>const char *&nbsp;</td>
   2014           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2015         </tr>
   2016         <tr>
   2017           <td></td>
   2018           <td></td>
   2019           <td class="md" nowrap>const int&nbsp;</td>
   2020           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2021         </tr>
   2022         <tr>
   2023           <td></td>
   2024           <td class="md">)&nbsp;</td>
   2025           <td class="md" colspan="2"></td>
   2026         </tr>
   2027 
   2028       </table>
   2029     </td>
   2030   </tr>
   2031 </table>
   2032 <table cellspacing=5 cellpadding=0 border=0>
   2033   <tr>
   2034     <td>
   2035       &nbsp;
   2036     </td>
   2037     <td>
   2038 
   2039 <p>
   2040     </td>
   2041   </tr>
   2042 </table>
   2043 <a name="a26" doxytag="oscl_mem.h::_oscl_audit_free"></a><p>
   2044 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2045   <tr>
   2046     <td class="md">
   2047       <table cellpadding="0" cellspacing="0" border="0">
   2048         <tr>
   2049           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void _oscl_audit_free </td>
   2050           <td class="md" valign="top">(&nbsp;</td>
   2051           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2052           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   2053           <td class="md" valign="top">)&nbsp;</td>
   2054           <td class="md" nowrap></td>
   2055         </tr>
   2056 
   2057       </table>
   2058     </td>
   2059   </tr>
   2060 </table>
   2061 <table cellspacing=5 cellpadding=0 border=0>
   2062   <tr>
   2063     <td>
   2064       &nbsp;
   2065     </td>
   2066     <td>
   2067 
   2068 <p>
   2069     </td>
   2070   </tr>
   2071 </table>
   2072 <a name="a18" doxytag="oscl_mem.h::_oscl_audit_malloc"></a><p>
   2073 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2074   <tr>
   2075     <td class="md">
   2076       <table cellpadding="0" cellspacing="0" border="0">
   2077         <tr>
   2078           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_audit_malloc </td>
   2079           <td class="md" valign="top">(&nbsp;</td>
   2080           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2081           <td class="mdname" nowrap>&nbsp;, </td>
   2082         </tr>
   2083         <tr>
   2084           <td></td>
   2085           <td></td>
   2086           <td class="md" nowrap><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;&nbsp;</td>
   2087           <td class="mdname" nowrap>&nbsp;, </td>
   2088         </tr>
   2089         <tr>
   2090           <td></td>
   2091           <td></td>
   2092           <td class="md" nowrap>const char *&nbsp;</td>
   2093           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2094         </tr>
   2095         <tr>
   2096           <td></td>
   2097           <td></td>
   2098           <td class="md" nowrap>const int&nbsp;</td>
   2099           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2100         </tr>
   2101         <tr>
   2102           <td></td>
   2103           <td class="md">)&nbsp;</td>
   2104           <td class="md" colspan="2"></td>
   2105         </tr>
   2106 
   2107       </table>
   2108     </td>
   2109   </tr>
   2110 </table>
   2111 <table cellspacing=5 cellpadding=0 border=0>
   2112   <tr>
   2113     <td>
   2114       &nbsp;
   2115     </td>
   2116     <td>
   2117 
   2118 <p>
   2119 ******************************************************* Macros for malloc/free with memory management.     </td>
   2120   </tr>
   2121 </table>
   2122 <a name="a21" doxytag="oscl_mem.h::_oscl_audit_new"></a><p>
   2123 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2124   <tr>
   2125     <td class="md">
   2126       <table cellpadding="0" cellspacing="0" border="0">
   2127         <tr>
   2128           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_audit_new </td>
   2129           <td class="md" valign="top">(&nbsp;</td>
   2130           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2131           <td class="mdname" nowrap>&nbsp;, </td>
   2132         </tr>
   2133         <tr>
   2134           <td></td>
   2135           <td></td>
   2136           <td class="md" nowrap><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;&nbsp;</td>
   2137           <td class="mdname" nowrap>&nbsp;, </td>
   2138         </tr>
   2139         <tr>
   2140           <td></td>
   2141           <td></td>
   2142           <td class="md" nowrap>const char *&nbsp;</td>
   2143           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2144         </tr>
   2145         <tr>
   2146           <td></td>
   2147           <td></td>
   2148           <td class="md" nowrap>const int&nbsp;</td>
   2149           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2150         </tr>
   2151         <tr>
   2152           <td></td>
   2153           <td class="md">)&nbsp;</td>
   2154           <td class="md" colspan="2"></td>
   2155         </tr>
   2156 
   2157       </table>
   2158     </td>
   2159   </tr>
   2160 </table>
   2161 <table cellspacing=5 cellpadding=0 border=0>
   2162   <tr>
   2163     <td>
   2164       &nbsp;
   2165     </td>
   2166     <td>
   2167 
   2168 <p>
   2169     </td>
   2170   </tr>
   2171 </table>
   2172 <a name="a20" doxytag="oscl_mem.h::_oscl_audit_realloc"></a><p>
   2173 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2174   <tr>
   2175     <td class="md">
   2176       <table cellpadding="0" cellspacing="0" border="0">
   2177         <tr>
   2178           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_audit_realloc </td>
   2179           <td class="md" valign="top">(&nbsp;</td>
   2180           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2181           <td class="mdname" nowrap>&nbsp;, </td>
   2182         </tr>
   2183         <tr>
   2184           <td></td>
   2185           <td></td>
   2186           <td class="md" nowrap>size_t&nbsp;</td>
   2187           <td class="mdname" nowrap>&nbsp;, </td>
   2188         </tr>
   2189         <tr>
   2190           <td></td>
   2191           <td></td>
   2192           <td class="md" nowrap><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;&nbsp;</td>
   2193           <td class="mdname" nowrap>&nbsp;, </td>
   2194         </tr>
   2195         <tr>
   2196           <td></td>
   2197           <td></td>
   2198           <td class="md" nowrap>const char *&nbsp;</td>
   2199           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2200         </tr>
   2201         <tr>
   2202           <td></td>
   2203           <td></td>
   2204           <td class="md" nowrap>const int&nbsp;</td>
   2205           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2206         </tr>
   2207         <tr>
   2208           <td></td>
   2209           <td class="md">)&nbsp;</td>
   2210           <td class="md" colspan="2"></td>
   2211         </tr>
   2212 
   2213       </table>
   2214     </td>
   2215   </tr>
   2216 </table>
   2217 <table cellspacing=5 cellpadding=0 border=0>
   2218   <tr>
   2219     <td>
   2220       &nbsp;
   2221     </td>
   2222     <td>
   2223 
   2224 <p>
   2225     </td>
   2226   </tr>
   2227 </table>
   2228 <a name="a8" doxytag="oscl_mem_basic_functions.h::_oscl_calloc"></a><p>
   2229 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2230   <tr>
   2231     <td class="md">
   2232       <table cellpadding="0" cellspacing="0" border="0">
   2233         <tr>
   2234           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* _oscl_calloc </td>
   2235           <td class="md" valign="top">(&nbsp;</td>
   2236           <td class="md" nowrap valign="top">int32&nbsp;</td>
   2237           <td class="mdname" nowrap>&nbsp; <em>nelems</em>, </td>
   2238         </tr>
   2239         <tr>
   2240           <td></td>
   2241           <td></td>
   2242           <td class="md" nowrap>int32&nbsp;</td>
   2243           <td class="mdname" nowrap>&nbsp; <em>size</em></td>
   2244         </tr>
   2245         <tr>
   2246           <td></td>
   2247           <td class="md">)&nbsp;</td>
   2248           <td class="md" colspan="2"></td>
   2249         </tr>
   2250 
   2251       </table>
   2252     </td>
   2253   </tr>
   2254 </table>
   2255 <table cellspacing=5 cellpadding=0 border=0>
   2256   <tr>
   2257     <td>
   2258       &nbsp;
   2259     </td>
   2260     <td>
   2261 
   2262 <p>
   2263     </td>
   2264   </tr>
   2265 </table>
   2266 <a name="a23" doxytag="oscl_mem.h::_oscl_default_audit_calloc"></a><p>
   2267 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2268   <tr>
   2269     <td class="md">
   2270       <table cellpadding="0" cellspacing="0" border="0">
   2271         <tr>
   2272           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_default_audit_calloc </td>
   2273           <td class="md" valign="top">(&nbsp;</td>
   2274           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2275           <td class="mdname" nowrap>&nbsp;, </td>
   2276         </tr>
   2277         <tr>
   2278           <td></td>
   2279           <td></td>
   2280           <td class="md" nowrap>size_t&nbsp;</td>
   2281           <td class="mdname" nowrap>&nbsp;, </td>
   2282         </tr>
   2283         <tr>
   2284           <td></td>
   2285           <td></td>
   2286           <td class="md" nowrap>const char *&nbsp;</td>
   2287           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2288         </tr>
   2289         <tr>
   2290           <td></td>
   2291           <td></td>
   2292           <td class="md" nowrap>const int&nbsp;</td>
   2293           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2294         </tr>
   2295         <tr>
   2296           <td></td>
   2297           <td class="md">)&nbsp;</td>
   2298           <td class="md" colspan="2"></td>
   2299         </tr>
   2300 
   2301       </table>
   2302     </td>
   2303   </tr>
   2304 </table>
   2305 <table cellspacing=5 cellpadding=0 border=0>
   2306   <tr>
   2307     <td>
   2308       &nbsp;
   2309     </td>
   2310     <td>
   2311 
   2312 <p>
   2313     </td>
   2314   </tr>
   2315 </table>
   2316 <a name="a22" doxytag="oscl_mem.h::_oscl_default_audit_malloc"></a><p>
   2317 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2318   <tr>
   2319     <td class="md">
   2320       <table cellpadding="0" cellspacing="0" border="0">
   2321         <tr>
   2322           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_default_audit_malloc </td>
   2323           <td class="md" valign="top">(&nbsp;</td>
   2324           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2325           <td class="mdname" nowrap>&nbsp;, </td>
   2326         </tr>
   2327         <tr>
   2328           <td></td>
   2329           <td></td>
   2330           <td class="md" nowrap>const char *&nbsp;</td>
   2331           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2332         </tr>
   2333         <tr>
   2334           <td></td>
   2335           <td></td>
   2336           <td class="md" nowrap>const int&nbsp;</td>
   2337           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2338         </tr>
   2339         <tr>
   2340           <td></td>
   2341           <td class="md">)&nbsp;</td>
   2342           <td class="md" colspan="2"></td>
   2343         </tr>
   2344 
   2345       </table>
   2346     </td>
   2347   </tr>
   2348 </table>
   2349 <table cellspacing=5 cellpadding=0 border=0>
   2350   <tr>
   2351     <td>
   2352       &nbsp;
   2353     </td>
   2354     <td>
   2355 
   2356 <p>
   2357     </td>
   2358   </tr>
   2359 </table>
   2360 <a name="a25" doxytag="oscl_mem.h::_oscl_default_audit_new"></a><p>
   2361 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2362   <tr>
   2363     <td class="md">
   2364       <table cellpadding="0" cellspacing="0" border="0">
   2365         <tr>
   2366           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_default_audit_new </td>
   2367           <td class="md" valign="top">(&nbsp;</td>
   2368           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2369           <td class="mdname" nowrap>&nbsp;, </td>
   2370         </tr>
   2371         <tr>
   2372           <td></td>
   2373           <td></td>
   2374           <td class="md" nowrap>const char *&nbsp;</td>
   2375           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2376         </tr>
   2377         <tr>
   2378           <td></td>
   2379           <td></td>
   2380           <td class="md" nowrap>const int&nbsp;</td>
   2381           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2382         </tr>
   2383         <tr>
   2384           <td></td>
   2385           <td class="md">)&nbsp;</td>
   2386           <td class="md" colspan="2"></td>
   2387         </tr>
   2388 
   2389       </table>
   2390     </td>
   2391   </tr>
   2392 </table>
   2393 <table cellspacing=5 cellpadding=0 border=0>
   2394   <tr>
   2395     <td>
   2396       &nbsp;
   2397     </td>
   2398     <td>
   2399 
   2400 <p>
   2401     </td>
   2402   </tr>
   2403 </table>
   2404 <a name="a24" doxytag="oscl_mem.h::_oscl_default_audit_realloc"></a><p>
   2405 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2406   <tr>
   2407     <td class="md">
   2408       <table cellpadding="0" cellspacing="0" border="0">
   2409         <tr>
   2410           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void* _oscl_default_audit_realloc </td>
   2411           <td class="md" valign="top">(&nbsp;</td>
   2412           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2413           <td class="mdname" nowrap>&nbsp;, </td>
   2414         </tr>
   2415         <tr>
   2416           <td></td>
   2417           <td></td>
   2418           <td class="md" nowrap>size_t&nbsp;</td>
   2419           <td class="mdname" nowrap>&nbsp;, </td>
   2420         </tr>
   2421         <tr>
   2422           <td></td>
   2423           <td></td>
   2424           <td class="md" nowrap>const char *&nbsp;</td>
   2425           <td class="mdname" nowrap>&nbsp; <em>f</em> = NULL, </td>
   2426         </tr>
   2427         <tr>
   2428           <td></td>
   2429           <td></td>
   2430           <td class="md" nowrap>const int&nbsp;</td>
   2431           <td class="mdname" nowrap>&nbsp; <em>l</em> = 0</td>
   2432         </tr>
   2433         <tr>
   2434           <td></td>
   2435           <td class="md">)&nbsp;</td>
   2436           <td class="md" colspan="2"></td>
   2437         </tr>
   2438 
   2439       </table>
   2440     </td>
   2441   </tr>
   2442 </table>
   2443 <table cellspacing=5 cellpadding=0 border=0>
   2444   <tr>
   2445     <td>
   2446       &nbsp;
   2447     </td>
   2448     <td>
   2449 
   2450 <p>
   2451     </td>
   2452   </tr>
   2453 </table>
   2454 <a name="a10" doxytag="oscl_mem_basic_functions.h::_oscl_free"></a><p>
   2455 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2456   <tr>
   2457     <td class="md">
   2458       <table cellpadding="0" cellspacing="0" border="0">
   2459         <tr>
   2460           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void _oscl_free </td>
   2461           <td class="md" valign="top">(&nbsp;</td>
   2462           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2463           <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
   2464           <td class="md" valign="top">)&nbsp;</td>
   2465           <td class="md" nowrap></td>
   2466         </tr>
   2467 
   2468       </table>
   2469     </td>
   2470   </tr>
   2471 </table>
   2472 <table cellspacing=5 cellpadding=0 border=0>
   2473   <tr>
   2474     <td>
   2475       &nbsp;
   2476     </td>
   2477     <td>
   2478 
   2479 <p>
   2480     </td>
   2481   </tr>
   2482 </table>
   2483 <a name="a7" doxytag="oscl_mem_basic_functions.h::_oscl_malloc"></a><p>
   2484 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2485   <tr>
   2486     <td class="md">
   2487       <table cellpadding="0" cellspacing="0" border="0">
   2488         <tr>
   2489           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* _oscl_malloc </td>
   2490           <td class="md" valign="top">(&nbsp;</td>
   2491           <td class="md" nowrap valign="top">int32&nbsp;</td>
   2492           <td class="mdname1" valign="top" nowrap>&nbsp; <em>count</em>          </td>
   2493           <td class="md" valign="top">)&nbsp;</td>
   2494           <td class="md" nowrap></td>
   2495         </tr>
   2496 
   2497       </table>
   2498     </td>
   2499   </tr>
   2500 </table>
   2501 <table cellspacing=5 cellpadding=0 border=0>
   2502   <tr>
   2503     <td>
   2504       &nbsp;
   2505     </td>
   2506     <td>
   2507 
   2508 <p>
   2509     </td>
   2510   </tr>
   2511 </table>
   2512 <a name="a9" doxytag="oscl_mem_basic_functions.h::_oscl_realloc"></a><p>
   2513 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2514   <tr>
   2515     <td class="md">
   2516       <table cellpadding="0" cellspacing="0" border="0">
   2517         <tr>
   2518           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* _oscl_realloc </td>
   2519           <td class="md" valign="top">(&nbsp;</td>
   2520           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2521           <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
   2522         </tr>
   2523         <tr>
   2524           <td></td>
   2525           <td></td>
   2526           <td class="md" nowrap>int32&nbsp;</td>
   2527           <td class="mdname" nowrap>&nbsp; <em>count</em></td>
   2528         </tr>
   2529         <tr>
   2530           <td></td>
   2531           <td class="md">)&nbsp;</td>
   2532           <td class="md" colspan="2"></td>
   2533         </tr>
   2534 
   2535       </table>
   2536     </td>
   2537   </tr>
   2538 </table>
   2539 <table cellspacing=5 cellpadding=0 border=0>
   2540   <tr>
   2541     <td>
   2542       &nbsp;
   2543     </td>
   2544     <td>
   2545 
   2546 <p>
   2547     </td>
   2548   </tr>
   2549 </table>
   2550 <a name="a29" doxytag="osclconfig_global_new_delete.h::operator delete"></a><p>
   2551 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2552   <tr>
   2553     <td class="md">
   2554       <table cellpadding="0" cellspacing="0" border="0">
   2555         <tr>
   2556           <td class="md" nowrap valign="top"> void operator delete </td>
   2557           <td class="md" valign="top">(&nbsp;</td>
   2558           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2559           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   2560           <td class="md" valign="top">)&nbsp;</td>
   2561           <td class="md" nowrap><code> [inline]</code></td>
   2562         </tr>
   2563 
   2564       </table>
   2565     </td>
   2566   </tr>
   2567 </table>
   2568 <table cellspacing=5 cellpadding=0 border=0>
   2569   <tr>
   2570     <td>
   2571       &nbsp;
   2572     </td>
   2573     <td>
   2574 
   2575 <p>
   2576     </td>
   2577   </tr>
   2578 </table>
   2579 <a name="a32" doxytag="oscl_mem.h::operator delete[]"></a><p>
   2580 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2581   <tr>
   2582     <td class="md">
   2583       <table cellpadding="0" cellspacing="0" border="0">
   2584         <tr>
   2585           <td class="md" nowrap valign="top"> void operator delete[] </td>
   2586           <td class="md" valign="top">(&nbsp;</td>
   2587           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2588           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aPtr</em>          </td>
   2589           <td class="md" valign="top">)&nbsp;</td>
   2590           <td class="md" nowrap><code> [inline]</code></td>
   2591         </tr>
   2592 
   2593       </table>
   2594     </td>
   2595   </tr>
   2596 </table>
   2597 <table cellspacing=5 cellpadding=0 border=0>
   2598   <tr>
   2599     <td>
   2600       &nbsp;
   2601     </td>
   2602     <td>
   2603 
   2604 <p>
   2605     </td>
   2606   </tr>
   2607 </table>
   2608 <a name="a28" doxytag="osclconfig_global_new_delete.h::operator new"></a><p>
   2609 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2610   <tr>
   2611     <td class="md">
   2612       <table cellpadding="0" cellspacing="0" border="0">
   2613         <tr>
   2614           <td class="md" nowrap valign="top"> void* operator new </td>
   2615           <td class="md" valign="top">(&nbsp;</td>
   2616           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2617           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
   2618           <td class="md" valign="top">)&nbsp;</td>
   2619           <td class="md" nowrap><code> [inline]</code></td>
   2620         </tr>
   2621 
   2622       </table>
   2623     </td>
   2624   </tr>
   2625 </table>
   2626 <table cellspacing=5 cellpadding=0 border=0>
   2627   <tr>
   2628     <td>
   2629       &nbsp;
   2630     </td>
   2631     <td>
   2632 
   2633 <p>
   2634     </td>
   2635   </tr>
   2636 </table>
   2637 <a name="a27" doxytag="oscl_mem.h::operator new"></a><p>
   2638 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2639   <tr>
   2640     <td class="md">
   2641       <table cellpadding="0" cellspacing="0" border="0">
   2642         <tr>
   2643           <td class="md" nowrap valign="top"> void* operator new </td>
   2644           <td class="md" valign="top">(&nbsp;</td>
   2645           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2646           <td class="mdname" nowrap>&nbsp; <em>aSize</em>, </td>
   2647         </tr>
   2648         <tr>
   2649           <td></td>
   2650           <td></td>
   2651           <td class="md" nowrap>const char *&nbsp;</td>
   2652           <td class="mdname" nowrap>&nbsp; <em>aFile</em>, </td>
   2653         </tr>
   2654         <tr>
   2655           <td></td>
   2656           <td></td>
   2657           <td class="md" nowrap>int&nbsp;</td>
   2658           <td class="mdname" nowrap>&nbsp; <em>aLine</em></td>
   2659         </tr>
   2660         <tr>
   2661           <td></td>
   2662           <td class="md">)&nbsp;</td>
   2663           <td class="md" colspan="2"><code> [inline]</code></td>
   2664         </tr>
   2665 
   2666       </table>
   2667     </td>
   2668   </tr>
   2669 </table>
   2670 <table cellspacing=5 cellpadding=0 border=0>
   2671   <tr>
   2672     <td>
   2673       &nbsp;
   2674     </td>
   2675     <td>
   2676 
   2677 <p>
   2678     </td>
   2679   </tr>
   2680 </table>
   2681 <a name="a31" doxytag="oscl_mem.h::operator new[]"></a><p>
   2682 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2683   <tr>
   2684     <td class="md">
   2685       <table cellpadding="0" cellspacing="0" border="0">
   2686         <tr>
   2687           <td class="md" nowrap valign="top"> void* operator new[] </td>
   2688           <td class="md" valign="top">(&nbsp;</td>
   2689           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2690           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aSize</em>          </td>
   2691           <td class="md" valign="top">)&nbsp;</td>
   2692           <td class="md" nowrap><code> [inline]</code></td>
   2693         </tr>
   2694 
   2695       </table>
   2696     </td>
   2697   </tr>
   2698 </table>
   2699 <table cellspacing=5 cellpadding=0 border=0>
   2700   <tr>
   2701     <td>
   2702       &nbsp;
   2703     </td>
   2704     <td>
   2705 
   2706 <p>
   2707     </td>
   2708   </tr>
   2709 </table>
   2710 <a name="a30" doxytag="oscl_mem.h::operator new[]"></a><p>
   2711 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2712   <tr>
   2713     <td class="md">
   2714       <table cellpadding="0" cellspacing="0" border="0">
   2715         <tr>
   2716           <td class="md" nowrap valign="top"> void* operator new[] </td>
   2717           <td class="md" valign="top">(&nbsp;</td>
   2718           <td class="md" nowrap valign="top">size_t&nbsp;</td>
   2719           <td class="mdname" nowrap>&nbsp; <em>aSize</em>, </td>
   2720         </tr>
   2721         <tr>
   2722           <td></td>
   2723           <td></td>
   2724           <td class="md" nowrap>const char *&nbsp;</td>
   2725           <td class="mdname" nowrap>&nbsp; <em>aFile</em>, </td>
   2726         </tr>
   2727         <tr>
   2728           <td></td>
   2729           <td></td>
   2730           <td class="md" nowrap>int&nbsp;</td>
   2731           <td class="mdname" nowrap>&nbsp; <em>aLine</em></td>
   2732         </tr>
   2733         <tr>
   2734           <td></td>
   2735           <td class="md">)&nbsp;</td>
   2736           <td class="md" colspan="2"><code> [inline]</code></td>
   2737         </tr>
   2738 
   2739       </table>
   2740     </td>
   2741   </tr>
   2742 </table>
   2743 <table cellspacing=5 cellpadding=0 border=0>
   2744   <tr>
   2745     <td>
   2746       &nbsp;
   2747     </td>
   2748     <td>
   2749 
   2750 <p>
   2751     </td>
   2752   </tr>
   2753 </table>
   2754 <a name="a16" doxytag="oscl_mem.h::oscl_mem_aligned_size"></a><p>
   2755 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2756   <tr>
   2757     <td class="md">
   2758       <table cellpadding="0" cellspacing="0" border="0">
   2759         <tr>
   2760           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF <a class="el" href="group__osclbase.html#a27">uint</a> oscl_mem_aligned_size </td>
   2761           <td class="md" valign="top">(&nbsp;</td>
   2762           <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a27">uint</a>&nbsp;</td>
   2763           <td class="mdname1" valign="top" nowrap>&nbsp; <em>size</em>          </td>
   2764           <td class="md" valign="top">)&nbsp;</td>
   2765           <td class="md" nowrap></td>
   2766         </tr>
   2767 
   2768       </table>
   2769     </td>
   2770   </tr>
   2771 </table>
   2772 <table cellspacing=5 cellpadding=0 border=0>
   2773   <tr>
   2774     <td>
   2775       &nbsp;
   2776     </td>
   2777     <td>
   2778 
   2779 <p>
   2780 Get memory-aligned size of an object.<dl compact><dt><b>Parameters: </b></dt><dd>
   2781 <table border=0 cellspacing=2 cellpadding=0>
   2782 <tr><td valign=top><em>size</em>&nbsp;</td><td>
   2783 size of object</td></tr>
   2784 </table>
   2785 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   2786 memory-aligned size </dl>    </td>
   2787   </tr>
   2788 </table>
   2789 <a name="a15" doxytag="oscl_mem_basic_functions.h::oscl_memcmp"></a><p>
   2790 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2791   <tr>
   2792     <td class="md">
   2793       <table cellpadding="0" cellspacing="0" border="0">
   2794         <tr>
   2795           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF int oscl_memcmp </td>
   2796           <td class="md" valign="top">(&nbsp;</td>
   2797           <td class="md" nowrap valign="top">const void *&nbsp;</td>
   2798           <td class="mdname" nowrap>&nbsp; <em>buf1</em>, </td>
   2799         </tr>
   2800         <tr>
   2801           <td></td>
   2802           <td></td>
   2803           <td class="md" nowrap>const void *&nbsp;</td>
   2804           <td class="mdname" nowrap>&nbsp; <em>buf2</em>, </td>
   2805         </tr>
   2806         <tr>
   2807           <td></td>
   2808           <td></td>
   2809           <td class="md" nowrap>uint32&nbsp;</td>
   2810           <td class="mdname" nowrap>&nbsp; <em>count</em></td>
   2811         </tr>
   2812         <tr>
   2813           <td></td>
   2814           <td class="md">)&nbsp;</td>
   2815           <td class="md" colspan="2"></td>
   2816         </tr>
   2817 
   2818       </table>
   2819     </td>
   2820   </tr>
   2821 </table>
   2822 <table cellspacing=5 cellpadding=0 border=0>
   2823   <tr>
   2824     <td>
   2825       &nbsp;
   2826     </td>
   2827     <td>
   2828 
   2829 <p>
   2830 Compare characters in two buffers<dl compact><dt><b>Parameters: </b></dt><dd>
   2831 <table border=0 cellspacing=2 cellpadding=0>
   2832 <tr><td valign=top><em>buf1</em>&nbsp;</td><td>
   2833 first buffer </td></tr>
   2834 <tr><td valign=top><em>buf2</em>&nbsp;</td><td>
   2835 second buffer </td></tr>
   2836 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   2837 number of bytes to compare</td></tr>
   2838 </table>
   2839 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   2840 &lt;0 buf1 less than buf2 0 buf1 equal to buf2 &gt;0 buf1 greater than buf2 </dl>    </td>
   2841   </tr>
   2842 </table>
   2843 <a name="a11" doxytag="oscl_mem_basic_functions.h::oscl_memcpy"></a><p>
   2844 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2845   <tr>
   2846     <td class="md">
   2847       <table cellpadding="0" cellspacing="0" border="0">
   2848         <tr>
   2849           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* oscl_memcpy </td>
   2850           <td class="md" valign="top">(&nbsp;</td>
   2851           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2852           <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
   2853         </tr>
   2854         <tr>
   2855           <td></td>
   2856           <td></td>
   2857           <td class="md" nowrap>const void *&nbsp;</td>
   2858           <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
   2859         </tr>
   2860         <tr>
   2861           <td></td>
   2862           <td></td>
   2863           <td class="md" nowrap>uint32&nbsp;</td>
   2864           <td class="mdname" nowrap>&nbsp; <em>count</em></td>
   2865         </tr>
   2866         <tr>
   2867           <td></td>
   2868           <td class="md">)&nbsp;</td>
   2869           <td class="md" colspan="2"></td>
   2870         </tr>
   2871 
   2872       </table>
   2873     </td>
   2874   </tr>
   2875 </table>
   2876 <table cellspacing=5 cellpadding=0 border=0>
   2877   <tr>
   2878     <td>
   2879       &nbsp;
   2880     </td>
   2881     <td>
   2882 
   2883 <p>
   2884 Copies characters between buffers The oscl_memcpy function copies count bytes of src to dest. If the source and destination overlap, this function does not ensure that the original source bytes in the overlapping region are copied before being overwritten. Use oscl_memmove to handle overlapping regions<dl compact><dt><b>Parameters: </b></dt><dd>
   2885 <table border=0 cellspacing=2 cellpadding=0>
   2886 <tr><td valign=top><em>dest</em>&nbsp;</td><td>
   2887 new buffer </td></tr>
   2888 <tr><td valign=top><em>src</em>&nbsp;</td><td>
   2889 buffer to copy </td></tr>
   2890 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   2891 number of bytes to copy</td></tr>
   2892 </table>
   2893 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   2894 the value of dest </dl>    </td>
   2895   </tr>
   2896 </table>
   2897 <a name="a12" doxytag="oscl_mem_basic_functions.h::oscl_memmove"></a><p>
   2898 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2899   <tr>
   2900     <td class="md">
   2901       <table cellpadding="0" cellspacing="0" border="0">
   2902         <tr>
   2903           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* oscl_memmove </td>
   2904           <td class="md" valign="top">(&nbsp;</td>
   2905           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2906           <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
   2907         </tr>
   2908         <tr>
   2909           <td></td>
   2910           <td></td>
   2911           <td class="md" nowrap>const void *&nbsp;</td>
   2912           <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
   2913         </tr>
   2914         <tr>
   2915           <td></td>
   2916           <td></td>
   2917           <td class="md" nowrap>uint32&nbsp;</td>
   2918           <td class="mdname" nowrap>&nbsp; <em>count</em></td>
   2919         </tr>
   2920         <tr>
   2921           <td></td>
   2922           <td class="md">)&nbsp;</td>
   2923           <td class="md" colspan="2"></td>
   2924         </tr>
   2925 
   2926       </table>
   2927     </td>
   2928   </tr>
   2929 </table>
   2930 <table cellspacing=5 cellpadding=0 border=0>
   2931   <tr>
   2932     <td>
   2933       &nbsp;
   2934     </td>
   2935     <td>
   2936 
   2937 <p>
   2938 Moves chars from one buffer to another The memmove function copies count bytes of characters from src to dest. If some regions of the source area and the destination overlap, memmove ensures that the original source bytes in the overlapping region are copied before being overwritten.<dl compact><dt><b>Parameters: </b></dt><dd>
   2939 <table border=0 cellspacing=2 cellpadding=0>
   2940 <tr><td valign=top><em>dest</em>&nbsp;</td><td>
   2941 new buffer </td></tr>
   2942 <tr><td valign=top><em>src</em>&nbsp;</td><td>
   2943 buffer to copy </td></tr>
   2944 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   2945 number of bytes to copy</td></tr>
   2946 </table>
   2947 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   2948 the value of dest </dl>    </td>
   2949   </tr>
   2950 </table>
   2951 <a name="a13" doxytag="oscl_mem_basic_functions.h::oscl_memmove32"></a><p>
   2952 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   2953   <tr>
   2954     <td class="md">
   2955       <table cellpadding="0" cellspacing="0" border="0">
   2956         <tr>
   2957           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* oscl_memmove32 </td>
   2958           <td class="md" valign="top">(&nbsp;</td>
   2959           <td class="md" nowrap valign="top">void *&nbsp;</td>
   2960           <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
   2961         </tr>
   2962         <tr>
   2963           <td></td>
   2964           <td></td>
   2965           <td class="md" nowrap>const void *&nbsp;</td>
   2966           <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
   2967         </tr>
   2968         <tr>
   2969           <td></td>
   2970           <td></td>
   2971           <td class="md" nowrap>uint32&nbsp;</td>
   2972           <td class="mdname" nowrap>&nbsp; <em>count</em></td>
   2973         </tr>
   2974         <tr>
   2975           <td></td>
   2976           <td class="md">)&nbsp;</td>
   2977           <td class="md" colspan="2"></td>
   2978         </tr>
   2979 
   2980       </table>
   2981     </td>
   2982   </tr>
   2983 </table>
   2984 <table cellspacing=5 cellpadding=0 border=0>
   2985   <tr>
   2986     <td>
   2987       &nbsp;
   2988     </td>
   2989     <td>
   2990 
   2991 <p>
   2992 Same functionality as oscl_memmove, yet optimized for memory alligned on 32-bit boundary<dl compact><dt><b>Parameters: </b></dt><dd>
   2993 <table border=0 cellspacing=2 cellpadding=0>
   2994 <tr><td valign=top><em>dest</em>&nbsp;</td><td>
   2995 new buffer </td></tr>
   2996 <tr><td valign=top><em>src</em>&nbsp;</td><td>
   2997 buffer to copy </td></tr>
   2998 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   2999 number of bytes to copy</td></tr>
   3000 </table>
   3001 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   3002 the value of dest </dl>    </td>
   3003   </tr>
   3004 </table>
   3005 <a name="a14" doxytag="oscl_mem_basic_functions.h::oscl_memset"></a><p>
   3006 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   3007   <tr>
   3008     <td class="md">
   3009       <table cellpadding="0" cellspacing="0" border="0">
   3010         <tr>
   3011           <td class="md" nowrap valign="top"> OSCL_COND_IMPORT_REF void* oscl_memset </td>
   3012           <td class="md" valign="top">(&nbsp;</td>
   3013           <td class="md" nowrap valign="top">void *&nbsp;</td>
   3014           <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
   3015         </tr>
   3016         <tr>
   3017           <td></td>
   3018           <td></td>
   3019           <td class="md" nowrap>uint8&nbsp;</td>
   3020           <td class="mdname" nowrap>&nbsp; <em>val</em>, </td>
   3021         </tr>
   3022         <tr>
   3023           <td></td>
   3024           <td></td>
   3025           <td class="md" nowrap>uint32&nbsp;</td>
   3026           <td class="mdname" nowrap>&nbsp; <em>count</em></td>
   3027         </tr>
   3028         <tr>
   3029           <td></td>
   3030           <td class="md">)&nbsp;</td>
   3031           <td class="md" colspan="2"></td>
   3032         </tr>
   3033 
   3034       </table>
   3035     </td>
   3036   </tr>
   3037 </table>
   3038 <table cellspacing=5 cellpadding=0 border=0>
   3039   <tr>
   3040     <td>
   3041       &nbsp;
   3042     </td>
   3043     <td>
   3044 
   3045 <p>
   3046 Sets the bytes of a buffer to a specified character<dl compact><dt><b>Parameters: </b></dt><dd>
   3047 <table border=0 cellspacing=2 cellpadding=0>
   3048 <tr><td valign=top><em>dest</em>&nbsp;</td><td>
   3049 buffer to modify </td></tr>
   3050 <tr><td valign=top><em>val</em>&nbsp;</td><td>
   3051 character to set </td></tr>
   3052 <tr><td valign=top><em>count</em>&nbsp;</td><td>
   3053 number of bytes to set</td></tr>
   3054 </table>
   3055 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   3056 the value of dest </dl>    </td>
   3057   </tr>
   3058 </table>
   3059 <a name="a17" doxytag="oscl_mem.h::OsclMemInit"></a><p>
   3060 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   3061   <tr>
   3062     <td class="md">
   3063       <table cellpadding="0" cellspacing="0" border="0">
   3064         <tr>
   3065           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemInit </td>
   3066           <td class="md" valign="top">(&nbsp;</td>
   3067           <td class="md" nowrap valign="top"><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;&nbsp;</td>
   3068           <td class="mdname1" valign="top" nowrap>&nbsp; <em>auditCB</em>          </td>
   3069           <td class="md" valign="top">)&nbsp;</td>
   3070           <td class="md" nowrap></td>
   3071         </tr>
   3072 
   3073       </table>
   3074     </td>
   3075   </tr>
   3076 </table>
   3077 <table cellspacing=5 cellpadding=0 border=0>
   3078   <tr>
   3079     <td>
   3080       &nbsp;
   3081     </td>
   3082     <td>
   3083 
   3084 <p>
   3085 Initialize an <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> object. Sets the stats node pointer to null, and sets the audit pointer to the global audit object.<dl compact><dt><b>Parameters: </b></dt><dd>
   3086 <table border=0 cellspacing=2 cellpadding=0>
   3087 <tr><td valign=top><em>auditCB</em>&nbsp;</td><td>
   3088 memory management audit object </td></tr>
   3089 </table>
   3090 </dl>    </td>
   3091   </tr>
   3092 </table>
   3093 <hr><h2>Variable Documentation</h2>
   3094 <a name="a85" doxytag="MM_AllocBlockHdr::ALLOC_NODE_FLAG"></a><p>
   3095 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   3096   <tr>
   3097     <td class="md">
   3098       <table cellpadding="0" cellspacing="0" border="0">
   3099         <tr>
   3100           <td class="md" nowrap valign="top"> const uint32 MM_AllocBlockHdr::ALLOC_NODE_FLAG = 0x80000000<code> [static, inherited]</code>
   3101       </table>
   3102     </td>
   3103   </tr>
   3104 </table>
   3105 <table cellspacing=5 cellpadding=0 border=0>
   3106   <tr>
   3107     <td>
   3108       &nbsp;
   3109     </td>
   3110     <td>
   3111 
   3112 <p>
   3113     </td>
   3114   </tr>
   3115 </table>
   3116 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
   3117 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
   3118 </small></address>
   3119 </body>
   3120 </html>
   3121