1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<HTML> 3 4 5<HEAD> 6<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 8.0.0.0 for Windows"> 9 <BASE target="main"> 10 11<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css"> 12 13 <TITLE>Foundation Library (MEM) API Function List</TITLE> 14</HEAD> 15 16 17<BODY> 18<H1>List of Heap Library (MEM) API Functions</H1> 19 20 21<H2><A name="Heap">Shared Heap</A></H2> 22<TABLE border="1"> 23 <TBODY> 24 <TR> 25<TD><A href="Heap/MEMGetHeapStartAddress.html"><CODE>MEMGetHeapStartAddress</CODE></A></TD> 26<TD>Gets the starting address of the memory region used by the heap.</TD> 27 </TR> 28 <TR> 29<TD><A href="Heap/MEMGetHeapEndAddress.html"><CODE>MEMGetHeapEndAddress</CODE></A></TD> 30<TD>Gets the ending address + 1 of the memory region used by the heap.</TD> 31 </TR> 32 <TR> 33<TD><A href="Heap/MEMGetHeapTotalSize.html"><CODE>MEMGetHeapTotalSize</CODE></A></TD> 34<TD>Gets the memory size allocated for the heap. This is the overall memory size including that of the header.</TD> 35 </TR> 36 <TR> 37<TD><A href="Heap/MEMGetHeapTotalUsableSize.html"><CODE>MEMGetHeapTotalUsableSize</CODE></A></TD> 38<TD>Gets the memory size allocated for the heap. This memory size doesn't include the header size.</TD> 39 </TR> 40 <TR> 41<TD><A href="Heap/MEMFindContainHeap.html"><CODE>MEMFindContainHeap</CODE></A></TD> 42<TD>Finds the heap that includes the specified memory block.</TD> 43 </TR> 44 <TR> 45<TD><A href="Heap/MEMFindParentHeap.html"><CODE>MEMFindParentHeap</CODE></A></TD> 46<TD>Gets the heap handle of the parent heap.</TD> 47 </TR> 48 <TR> 49<TD><A href="Heap/MEMDumpHeap.html"><CODE>MEMDumpHeap</CODE></A></TD> 50<TD>Displays heap contents. (for debugging)</TD> 51 </TR> 52 <TR> 53<TD><A href="Heap/MEMSetFillValForHeap.html"><CODE>MEMSetFillValForHeap</CODE></A></TD> 54<TD>Sets fill value in memory during heap creation and during memory block allocation/deallocation. (for debugging)</TD> 55 </TR> 56 <TR> 57<TD><A href="Heap/MEMGetFillValForHeap.html"><CODE>MEMGetFillValForHeap</CODE></A></TD> 58<TD>Gets the fill value from memory during heap creation and during memory block allocation/deallocation. (for debugging)</TD> 59 </TR> 60 <TR> 61<TD><A href="Heap/MEMGetHeapType.html"><CODE>MEMGetHeapType</CODE></A></TD> 62<TD>Gets the heap type from the heap handle.</TD> 63 </TR> 64 </TBODY> 65 </TABLE> 66<H2><A name="ExpHeap">Expanded Heap</A></H2> 67<TABLE border="1"> 68 <TBODY> 69 <TR> 70<TD><A href="ExpHeap/MEMCreateExpHeap.html"><CODE>MEMCreateExpHeap</CODE></A></TD> 71<TD>Creates the expanded heap.</TD> 72 </TR> 73 <TR> 74<TD><A href="ExpHeap/MEMCreateExpHeapEx.html"><CODE>MEMCreateExpHeapEx</CODE></A></TD> 75<TD>Creates the expanded heap. (optional designation)</TD> 76 </TR> 77 <TR> 78<TD><A href="ExpHeap/MEMDestroyExpHeap.html"><CODE>MEMDestroyExpHeap</CODE></A></TD> 79<TD>Destroys the expanded heap.</TD> 80 </TR> 81 <TR> 82<TD><A href="ExpHeap/MEMAllocFromExpHeap.html"><CODE>MEMAllocFromExpHeap</CODE></A></TD> 83<TD>Allocates a memory block from the expanded heap.</TD> 84 </TR> 85 <TR> 86<TD><A href="ExpHeap/MEMAllocFromExpHeapEx.html"><CODE>MEMAllocFromExpHeapEx</CODE></A></TD> 87<TD>Allocates a memory block from the expanded heap. (alignment designation)</TD> 88 </TR> 89 <TR> 90<TD><A href="ExpHeap/MEMFreeToExpHeap.html"><CODE>MEMFreeToExpHeap</CODE></A></TD> 91<TD>Frees a memory block.</TD> 92 </TR> 93 <TR> 94<TD><A href="ExpHeap/MEMResizeForMBlockExpHeap.html"><CODE>MEMResizeForMBlockExpHeap</CODE></A></TD> 95<TD>Changes the memory block size.</TD> 96 </TR> 97 <TR> 98<TD><A href="ExpHeap/MEMGetTotalFreeSizeForExpHeap.html"><CODE>MEMGetTotalFreeSizeForExpHeap</CODE></A></TD> 99<TD>Gets the total size of the free region in the expanded heap.</TD> 100 </TR> 101 <TR> 102<TD><A href="ExpHeap/MEMGetAllocatableSizeForExpHeap.html"><CODE>MEMGetAllocatableSizeForExpHeap</CODE></A></TD> 103<TD>Gets the maximum size of the allocatable memory block.</TD> 104 </TR> 105 <TR> 106<TD><A href="ExpHeap/MEMGetAllocatableSizeForExpHeapEx.html"><CODE>MEMGetAllocatableSizeForExpHeapEx</CODE></A></TD> 107<TD>Gets the maximum size of the allocatable memory block. (alignment designation)</TD> 108 </TR> 109 <TR> 110<TD><A href="ExpHeap/MEMSetAllocModeForExpHeap.html"><CODE>MEMSetAllocModeForExpHeap</CODE></A></TD> 111<TD>Sets the allocation mode of the memory block of the expanded heap.</TD> 112 </TR> 113 <TR> 114<TD><A href="ExpHeap/MEMGetAllocModeForExpHeap.html"><CODE>MEMGetAllocModeForExpHeap</CODE></A></TD> 115<TD>Gets the allocation mode of the memory block of the expanded heap.</TD> 116 </TR> 117 <TR> 118<TD><A href="ExpHeap/MEMSetGroupIDForExpHeap.html"><CODE>MEMSetGroupIDForExpHeap</CODE></A></TD> 119<TD>Sets the group ID of the expanded heap.</TD> 120 </TR> 121 <TR> 122<TD><A href="ExpHeap/MEMGetGroupIDForExpHeap.html"><CODE>MEMGetGroupIDForExpHeap</CODE></A></TD> 123<TD>Gets the group ID of the expanded heap.</TD> 124 </TR> 125 <TR> 126<TD><A href="ExpHeap/MEMGetSizeForMBlockExpHeap.html"><CODE>MEMGetSizeForMBlockExpHeap</CODE></A></TD> 127<TD>Gets the size of the memory block.</TD> 128 </TR> 129 <TR> 130<TD><A href="ExpHeap/MEMGetGroupIDForMBlockExpHeap.html"><CODE>MEMGetGroupIDForMBlockExpHeap</CODE></A></TD> 131<TD>Gets the group ID of the memory block.</TD> 132 </TR> 133 <TR> 134<TD><A href="ExpHeap/MEMGetAllocDirForMBlockExpHeap.html"><CODE>MEMGetAllocDirForMBlockExpHeap</CODE></A></TD> 135<TD>Gets the allocation direction of the memory block.</TD> 136 </TR> 137 <TR> 138<TD><A href="ExpHeap/MEMVisitAllocatedForExpHeap.html"><CODE>MEMVisitAllocatedForExpHeap</CODE></A></TD> 139<TD>Makes a specified function perform processing on all memory blocks.</TD> 140 </TR> 141 <TR> 142<TD><A href="ExpHeap/MEMAdjustExpHeap.html"><CODE>MEMAdjustExpHeap</CODE></A></TD> 143<TD>Reduces the memory used by the expanded heap by freeing the available memory in it.</TD> 144 </TR> 145 <TR> 146<TD><A href="ExpHeap/MEMCheckExpHeap.html"><CODE>MEMCheckExpHeap</CODE></A></TD> 147<TD>Checks whether the expanded heap is corrupted. (for debugging)</TD> 148 </TR> 149 <TR> 150<TD><A href="ExpHeap/MEMCheckForMBlockExpHeap.html"><CODE>MEMCheckForMBlockExpHeap</CODE></A></TD> 151<TD>Checks whether the memory blocks of the expanded heap are corrupted. (for debugging)</TD> 152 </TR> 153 <TR> 154<TD><A href="ExpHeap/MEMIsExpHeap.html"><CODE>MEMIsExpHeap</CODE></A></TD> 155<TD>Determines whether the heap handle is for an expanded heap.</TD> 156 </TR> 157 </TBODY> 158 </TABLE> 159<H2><A name="FrmHeap">Frame Heap</A></H2> 160<TABLE border="1"> 161 <TBODY> 162 <TR> 163<TD><A href="FrmHeap/MEMCreateFrmHeap.html"><CODE>MEMCreateFrmHeap</CODE></A></TD> 164<TD>Creates the frame heap.</TD> 165 </TR> 166 <TR> 167<TD><A href="FrmHeap/MEMCreateFrmHeapEx.html"><CODE>MEMCreateFrmHeapEx</CODE></A></TD> 168<TD>Creates the frame heap. (optional designation)</TD> 169 </TR> 170 <TR> 171<TD><A href="FrmHeap/MEMDestroyFrmHeap.html"><CODE>MEMDestroyFrmHeap</CODE></A></TD> 172<TD>Destroys the frame heap.</TD> 173 </TR> 174 <TR> 175<TD><A href="FrmHeap/MEMAllocFromFrmHeap.html"><CODE>MEMAllocFromFrmHeap</CODE></A></TD> 176<TD>Allocates a memory block from the frame heap.</TD> 177 </TR> 178 <TR> 179<TD><A href="FrmHeap/MEMAllocFromFrmHeapEx.html"><CODE>MEMAllocFromFrmHeapEx</CODE></A></TD> 180<TD>Allocates a memory block from the frame heap. (alignment designation)</TD> 181 </TR> 182 <TR> 183<TD><A href="FrmHeap/MEMFreeToFrmHeap.html"><CODE>MEMFreeToFrmHeap</CODE></A></TD> 184<TD>Frees a memory block.</TD> 185 </TR> 186 <TR> 187<TD><A href="FrmHeap/MEMResizeForMBlockFrmHeap.html"><CODE>MEMResizeForMBlockFrmHeap</CODE></A></TD> 188<TD>Changes the size of a memory block.</TD> 189 </TR> 190 <TR> 191<TD><A href="FrmHeap/MEMGetAllocatableSizeForFrmHeap.html"><CODE>MEMGetAllocatableSizeForFrmHeap</CODE></A></TD> 192<TD>Gets the maximum size of the allocatable memory block.</TD> 193 </TR> 194 <TR> 195<TD><A href="FrmHeap/MEMGetAllocatableSizeForFrmHeapEx.html"><CODE>MEMGetAllocatableSizeForFrmHeapEx</CODE></A></TD> 196<TD>Gets the maximum size of the allocatable memory block. (alignment designation)</TD> 197 </TR> 198 <TR> 199<TD><A href="FrmHeap/MEMRecordStateForFrmHeap.html"><CODE>MEMRecordStateForFrmHeap</CODE></A></TD> 200<TD>Records the allocation state of the memory block of the frame heap.</TD> 201 </TR> 202 <TR> 203<TD><A href="FrmHeap/MEMFreeByStateToFrmHeap.html"><CODE>MEMFreeByStateToFrmHeap</CODE></A></TD> 204<TD>Returns to the memory block allocation state right before recording using the recorded information about the allocation state of the memory block of the frame heap.</TD> 205 </TR> 206 <TR> 207<TD><A href="FrmHeap/MEMAdjustFrmHeap.html"><CODE>MEMAdjustFrmHeap</CODE></A></TD> 208<TD>Deallocates the empty space of the frame heap, and reduces the memory region used by the frame heap.</TD> 209 </TR> 210 <TR> 211<TD><A href="FrmHeap/MEMIsFrmHeap.html"><CODE>MEMIsFrmHeap</CODE></A></TD> 212<TD>Determines whether the heap handle is for a frame heap.</TD> 213 </TR> 214 </TBODY> 215</TABLE> 216<H2><A name="UnitHeap">Unit Heap</A></H2> 217<TABLE border="1"> 218 <TBODY> 219 <TR> 220<TD><A href="UnitHeap/MEMCreateUnitHeap.html"><CODE>MEMCreateUnitHeap</CODE></A></TD> 221<TD>Creates the unit heap.</TD> 222 </TR> 223 <TR> 224<TD><A href="UnitHeap/MEMCreateUnitHeapEx.html"><CODE>MEMCreateUnitHeapEx</CODE></A></TD> 225<TD>Creates the unit heap. (alignment and options can be specified)</TD> 226 </TR> 227 <TR> 228<TD><A href="UnitHeap/MEMDestroyUnitHeap.html"><CODE>MEMDestroyUnitHeap</CODE></A></TD> 229<TD>Destroys the unit heap.</TD> 230 </TR> 231 <TR> 232<TD><A href="UnitHeap/MEMAllocFromUnitHeap.html"><CODE>MEMAllocFromUnitHeap</CODE></A></TD> 233<TD>Allocates a memory block from the unit heap.</TD> 234 </TR> 235 <TR> 236<TD><A href="UnitHeap/MEMFreeToUnitHeap.html"><CODE>MEMFreeToUnitHeap</CODE></A></TD> 237<TD>Frees a memory block.</TD> 238 </TR> 239 <TR> 240<TD><A href="UnitHeap/MEMCountFreeBlockForUnitHeap.html"><CODE>MEMCountFreeBlockForUnitHeap</CODE></A></TD> 241<TD>Gets the number of memory blocks allocatable from the unit heap.</TD> 242 </TR> 243 <TR> 244<TD><A href="UnitHeap/MEMCalcHeapSizeForUnitHeap.html"><CODE>MEMCalcHeapSizeForUnitHeap</CODE></A></TD> 245<TD>Gets the size of the required unit heap from the size and number of the memory blocks.</TD> 246 </TR> 247 <TR> 248<TD><A href="UnitHeap/MEMGetMemBlockSizeForUnitHeap.html"><CODE>MEMGetMemBlockSizeForUnitHeap</CODE></A></TD> 249<TD>Obtains the size of the unit heap memory blocks.</TD> 250 </TR> 251 <TR> 252<TD><A href="UnitHeap/MEMIsUnitHeap.html"><CODE>MEMIsUnitHeap</CODE></A></TD> 253<TD>Determines whether the heap handle is for a unit heap.</TD> 254 </TR> 255 </TBODY> 256</TABLE> 257<H2><A name="Allocator">Memory Allocator</A></H2> 258<TABLE border="1"> 259 <TBODY> 260 <TR> 261<TD><A href="Allocator/MEMInitAllocatorForExpHeap.html"><CODE>MEMInitAllocatorForExpHeap</CODE></A></TD> 262<TD>Initializes the allocator to allocate and free memory from the expanded heap.</TD> 263 </TR> 264 <TR> 265<TD><A href="Allocator/MEMInitAllocatorForFrmHeap.html"><CODE>MEMInitAllocatorForFrmHeap</CODE></A></TD> 266<TD>Initializes the allocator to allocate and deallocate memory from the frame heap.</TD> 267 </TR> 268 <TR> 269<TD><A href="Allocator/MEMInitAllocatorForUnitHeap.html"><CODE>MEMInitAllocatorForUnitHeap</CODE></A></TD> 270<TD>Initializes the allocator to allocate and deallocate memory from the unit heap.</TD> 271 </TR> 272 <TR> 273<TD><A href="Allocator/MEMInitAllocatorForOSHeap.html"><CODE>MEMInitAllocatorForOSHeap</CODE></A></TD> 274<TD>Initializes the allocator to allocate and deallocate memory from the SDK heap.</TD> 275 </TR> 276 <TR> 277<TD><A href="Allocator/MEMAllocFromAllocator.html"><CODE>MEMAllocFromAllocator</CODE></A></TD> 278<TD>Allocates a memory block from the allocator.</TD> 279 </TR> 280 <TR> 281<TD><A href="Allocator/MEMFreeToAllocator.html"><CODE>MEMFreeToAllocator</CODE></A></TD> 282<TD>Returns the memory block to the allocator and frees the memory block.</TD> 283 </TR> 284 </TBODY> 285</TABLE> 286<P><BR> <BR> 287</P> 288<hr> 289<P>CONFIDENTIAL</p> 290</BODY> 291</HTML> 292