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