ae95dbd602ffb61d8d4105a7f3a9aab0ce2f4a17
[reactos.git] / lib / kernel32 / mem / local.c
1 /* $Id$
2  *
3  * COPYRIGHT:   See COPYING in the top level directory
4  *              Copyright (C) 1996, Onno Hovers, All rights reserved
5  * PROJECT:     ReactOS system libraries
6  * FILE:        lib/kernel32/mem/local.c
7  * PURPOSE:     Manages the local heap
8  * PROGRAMER:   Onno Hovers (original wfc version)
9  *              David Welch (adapted for ReactOS)
10  * UPDATE HISTORY:
11  *              9/4/98: Adapted from the wfc project
12  */
13
14
15 /* NOTES
16  * 
17  * The local heap is the same as the global heap for win32 and both are only
18  * required for legacy apps
19  *
20  */
21
22 /* INCLUDES ****************************************************************/
23
24 #include <k32.h>
25
26 #define NDEBUG
27 #include <kernel32/kernel32.h>
28
29 /* FUNCTIONS ***************************************************************/
30
31
32 /*
33  * @implemented
34  */
35 HLOCAL STDCALL
36 LocalAlloc(UINT uFlags,
37            UINT uBytes)
38 {
39    return (HLOCAL)GlobalAlloc(uFlags, uBytes);
40 }
41
42
43 /*
44  * @implemented
45  */
46 UINT STDCALL
47 LocalCompact(UINT uMinFree)
48 {
49    return RtlCompactHeap(hProcessHeap, 0);
50 }
51
52
53 /*
54  * @implemented
55  */
56 UINT STDCALL
57 LocalFlags(HLOCAL hMem)
58 {
59    return GlobalFlags((HGLOBAL)hMem);
60 }
61
62
63 /*
64  * @implemented
65  */
66 HLOCAL STDCALL
67 LocalFree(HLOCAL hMem)
68 {
69    return (HLOCAL)GlobalFree((HGLOBAL)hMem);
70 }
71
72
73 /*
74  * @implemented
75  */
76 HLOCAL STDCALL
77 LocalHandle(LPCVOID pMem)
78 {
79    return (HLOCAL)GlobalHandle(pMem);
80 }
81
82
83 /*
84  * @implemented
85  */
86 LPVOID STDCALL
87 LocalLock(HLOCAL hMem)
88 {
89    return GlobalLock((HGLOBAL)hMem);
90 }
91
92
93 /*
94  * @implemented
95  */
96 HLOCAL STDCALL
97 LocalReAlloc(HLOCAL hMem,
98              UINT uBytes,
99              UINT uFlags)
100 {
101    return (HLOCAL)GlobalReAlloc((HGLOBAL)hMem, uBytes, uFlags);
102 }
103
104
105 /*
106  * @implemented
107  */
108 UINT STDCALL
109 LocalShrink(HLOCAL hMem, UINT cbNewSize)
110 {
111    return RtlCompactHeap(hProcessHeap, 0);
112 }
113
114
115 /*
116  * @implemented
117  */
118 UINT STDCALL
119 LocalSize(HLOCAL hMem)
120 {
121    return GlobalSize((HGLOBAL)hMem);
122 }
123
124
125 /*
126  * @implemented
127  */
128 BOOL STDCALL
129 LocalUnlock(HLOCAL hMem)
130 {
131    return GlobalUnlock((HGLOBAL)hMem);
132 }
133
134 /* EOF */