Added regedit unit test, a couple minor changes to regedit.
[wine] / programs / winetest / include / user32.pm
1 package user32;
2
3 use strict;
4
5 require Exporter;
6
7 use wine;
8 use vars qw(@ISA @EXPORT @EXPORT_OK);
9
10 @ISA = qw(Exporter);
11 @EXPORT = qw();
12 @EXPORT_OK = qw();
13
14 my $module_declarations = {
15     "ActivateKeyboardLayout" => ["long",  ["long", "long"]],
16     "AdjustWindowRect" => ["long",  ["ptr", "long", "long"]],
17     "AdjustWindowRectEx" => ["long",  ["ptr", "long", "long", "long"]],
18     "AllowSetForegroundWindow" => ["long",  ["long"]],
19     "AnimateWindow" => ["long",  ["long", "long", "long"]],
20     "AnyPopup" => ["long",  []],
21     "AppendMenuA" => ["long",  ["long", "long", "long", "str"]],
22     "AppendMenuW" => ["long",  ["long", "long", "long", "wstr"]],
23     "ArrangeIconicWindows" => ["long",  ["long"]],
24     "AttachThreadInput" => ["long",  ["long", "long", "long"]],
25     "BeginDeferWindowPos" => ["long",  ["long"]],
26     "BeginPaint" => ["long",  ["long", "ptr"]],
27     "BringWindowToTop" => ["long",  ["long"]],
28     "BroadcastSystemMessage" => ["long",  ["long", "ptr", "long", "long", "long"]],
29     "CalcChildScroll" => ["void",  ["long", "long"]],
30     "CallMsgFilterA" => ["long",  ["ptr", "long"]],
31     "CallMsgFilterW" => ["long",  ["ptr", "long"]],
32     "CallNextHookEx" => ["long",  ["long", "long", "long", "long"]],
33     "CallNextHookEx16" => ["long",  ["long", "long", "long", "long"]],
34     "CallWindowProc16" => ["long",  ["ptr", "long", "long", "long", "long"]],
35     "CallWindowProcA" => ["long",  ["ptr", "long", "long", "long", "long"]],
36     "CallWindowProcW" => ["long",  ["ptr", "long", "long", "long", "long"]],
37     "CascadeWindows" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
38     "ChangeClipboardChain" => ["long",  ["long", "long"]],
39     "ChangeDisplaySettingsA" => ["long",  ["ptr", "long"]],
40     "ChangeDisplaySettingsExA" => ["long",  ["str", "ptr", "long", "long", "long"]],
41     "ChangeMenuA" => ["long",  ["long", "long", "str", "long", "long"]],
42     "ChangeMenuW" => ["long",  ["long", "long", "wstr", "long", "long"]],
43     "CharLowerA" => ["str",  ["str"]],
44     "CharLowerBuffA" => ["long",  ["str", "long"]],
45     "CharLowerBuffW" => ["long",  ["wstr", "long"]],
46     "CharLowerW" => ["wstr",  ["wstr"]],
47     "CharNextA" => ["str",  ["str"]],
48     "CharNextExA" => ["str",  ["long", "str", "long"]],
49     "CharNextExW" => ["wstr",  ["long", "wstr", "long"]],
50     "CharNextW" => ["wstr",  ["wstr"]],
51     "CharPrevA" => ["str",  ["str", "str"]],
52     "CharPrevExA" => ["str",  ["long", "str", "str", "long"]],
53     "CharPrevExW" => ["str",  ["long", "wstr", "wstr", "long"]],
54     "CharPrevW" => ["wstr",  ["wstr", "wstr"]],
55     "CharToOemA" => ["long",  ["str", "str"]],
56     "CharToOemBuffA" => ["long",  ["str", "str", "long"]],
57     "CharToOemBuffW" => ["long",  ["wstr", "str", "long"]],
58     "CharToOemW" => ["long",  ["wstr", "str"]],
59     "CharUpperA" => ["str",  ["str"]],
60     "CharUpperBuffA" => ["long",  ["str", "long"]],
61     "CharUpperBuffW" => ["long",  ["wstr", "long"]],
62     "CharUpperW" => ["wstr",  ["wstr"]],
63     "CheckDlgButton" => ["long",  ["long", "long", "long"]],
64     "CheckMenuItem" => ["long",  ["long", "long", "long"]],
65     "CheckMenuRadioItem" => ["long",  ["long", "long", "long", "long", "long"]],
66     "CheckRadioButton" => ["long",  ["long", "long", "long", "long"]],
67     "ChildWindowFromPoint" => ["long",  ["long", "long", "long"]],
68     "ChildWindowFromPointEx" => ["long",  ["long", "long", "long", "long"]],
69     "ClientToScreen" => ["long",  ["long", "ptr"]],
70     "ClipCursor" => ["long",  ["ptr"]],
71     "CloseClipboard" => ["long",  []],
72     "CloseDesktop" => ["long",  ["long"]],
73     "CloseDriver16" => ["long",  ["long", "long", "long"]],
74     "CloseWindow" => ["long",  ["long"]],
75     "CloseWindowStation" => ["long",  ["long"]],
76     "CopyAcceleratorTableA" => ["long",  ["long", "ptr", "long"]],
77     "CopyAcceleratorTableW" => ["long",  ["long", "ptr", "long"]],
78     "CopyIcon" => ["long",  ["long"]],
79     "CopyImage" => ["long",  ["long", "long", "long", "long", "long"]],
80     "CopyRect" => ["long",  ["ptr", "ptr"]],
81     "CountClipboardFormats" => ["long",  []],
82     "CreateAcceleratorTableA" => ["long",  ["ptr", "long"]],
83     "CreateAcceleratorTableW" => ["long",  ["ptr", "long"]],
84     "CreateCaret" => ["long",  ["long", "long", "long", "long"]],
85     "CreateCursor" => ["long",  ["long", "long", "long", "long", "long", "ptr", "ptr"]],
86     "CreateDesktopA" => ["long",  ["str", "str", "ptr", "long", "long", "ptr"]],
87     "CreateDesktopW" => ["long",  ["wstr", "wstr", "ptr", "long", "long", "ptr"]],
88     "CreateDialogIndirectParam16" => ["long",  ["long", "ptr", "long", "ptr", "long"]],
89     "CreateDialogIndirectParamA" => ["long",  ["long", "ptr", "long", "ptr", "long"]],
90     "CreateDialogIndirectParamAorW" => ["long",  ["long", "ptr", "long", "ptr", "long"]],
91     "CreateDialogIndirectParamW" => ["long",  ["long", "ptr", "long", "ptr", "long"]],
92     "CreateDialogParamA" => ["long",  ["long", "str", "long", "ptr", "long"]],
93     "CreateDialogParamW" => ["long",  ["long", "wstr", "long", "ptr", "long"]],
94     "CreateIcon" => ["long",  ["long", "long", "long", "long", "long", "ptr", "ptr"]],
95     "CreateIconFromResource" => ["long",  ["ptr", "long", "long", "long"]],
96     "CreateIconFromResourceEx" => ["long",  ["ptr", "long", "long", "long", "long", "long", "long"]],
97     "CreateIconIndirect" => ["long",  ["ptr"]],
98     "CreateMDIWindowA" => ["long",  ["str", "str", "long", "long", "long", "long", "long", "long", "long", "long"]],
99     "CreateMDIWindowW" => ["long",  ["wstr", "wstr", "long", "long", "long", "long", "long", "long", "long", "long"]],
100     "CreateMenu" => ["long",  []],
101     "CreatePopupMenu" => ["long",  []],
102     "CreateWindowExA" => ["long",  ["long", "str", "str", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
103     "CreateWindowExW" => ["long",  ["long", "wstr", "wstr", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
104     "CreateWindowStationW" => ["long",  ["wstr", "long", "long", "ptr"]],
105     "DdeAbandonTransaction" => ["long",  ["long", "long", "long"]],
106     "DdeAccessData" => ["ptr",  ["long", "ptr"]],
107     "DdeAddData" => ["long",  ["long", "ptr", "long", "long"]],
108     "DdeClientTransaction" => ["long",  ["ptr", "long", "long", "long", "long", "long", "long", "ptr"]],
109     "DdeCmpStringHandles" => ["long",  ["long", "long"]],
110     "DdeConnect" => ["long",  ["long", "long", "long", "ptr"]],
111     "DdeConnectList" => ["long",  ["long", "long", "long", "long", "ptr"]],
112     "DdeCreateDataHandle" => ["long",  ["long", "ptr", "long", "long", "long", "long", "long"]],
113     "DdeCreateStringHandleA" => ["long",  ["long", "str", "long"]],
114     "DdeCreateStringHandleW" => ["long",  ["long", "wstr", "long"]],
115     "DdeDisconnect" => ["long",  ["long"]],
116     "DdeDisconnectList" => ["long",  ["long"]],
117     "DdeEnableCallback" => ["long",  ["long", "long", "long"]],
118     "DdeFreeDataHandle" => ["long",  ["long"]],
119     "DdeFreeStringHandle" => ["long",  ["long", "long"]],
120     "DdeGetData" => ["long",  ["long", "ptr", "long", "long"]],
121     "DdeGetLastError" => ["long",  ["long"]],
122     "DdeImpersonateClient" => ["long",  ["long"]],
123     "DdeInitializeA" => ["long",  ["ptr", "ptr", "long", "long"]],
124     "DdeInitializeW" => ["long",  ["ptr", "ptr", "long", "long"]],
125     "DdeKeepStringHandle" => ["long",  ["long", "long"]],
126     "DdeNameService" => ["long",  ["long", "long", "long", "long"]],
127     "DdePostAdvise" => ["long",  ["long", "long", "long"]],
128     "DdeQueryConvInfo" => ["long",  ["long", "long", "ptr"]],
129     "DdeQueryNextServer" => ["long",  ["long", "long"]],
130     "DdeQueryStringA" => ["long",  ["long", "long", "str", "long", "long"]],
131     "DdeQueryStringW" => ["long",  ["long", "long", "wstr", "long", "long"]],
132     "DdeReconnect" => ["long",  ["long"]],
133     "DdeSetQualityOfService" => ["long",  ["long", "ptr", "ptr"]],
134     "DdeSetUserHandle" => ["long",  ["long", "long", "long"]],
135     "DdeUnaccessData" => ["long",  ["long"]],
136     "DdeUninitialize" => ["long",  ["long"]],
137     "DefDlgProcA" => ["long",  ["long", "long", "long", "long"]],
138     "DefDlgProcW" => ["long",  ["long", "long", "long", "long"]],
139     "DefDriverProc16" => ["long",  ["long", "long", "long", "long", "long"]],
140     "DefFrameProcA" => ["long",  ["long", "long", "long", "long", "long"]],
141     "DefFrameProcW" => ["long",  ["long", "long", "long", "long", "long"]],
142     "DefMDIChildProcA" => ["long",  ["long", "long", "long", "long"]],
143     "DefMDIChildProcW" => ["long",  ["long", "long", "long", "long"]],
144     "DefWindowProcA" => ["long",  ["long", "long", "long", "long"]],
145     "DefWindowProcW" => ["long",  ["long", "long", "long", "long"]],
146     "DeferWindowPos" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long"]],
147     "DeleteMenu" => ["long",  ["long", "long", "long"]],
148     "DeregisterShellHookWindow" => ["long",  ["long"]],
149     "DestroyAcceleratorTable" => ["long",  ["long"]],
150     "DestroyCaret" => ["long",  []],
151     "DestroyCursor" => ["long",  ["long"]],
152     "DestroyIcon" => ["long",  ["long"]],
153     "DestroyIcon32" => ["long",  ["long", "long"]],
154     "DestroyMenu" => ["long",  ["long"]],
155     "DestroyWindow" => ["long",  ["long"]],
156     "DialogBoxIndirectParam16" => ["long",  ["long", "long", "long", "ptr", "long"]],
157     "DialogBoxIndirectParamA" => ["long",  ["long", "ptr", "long", "ptr", "long"]],
158     "DialogBoxIndirectParamAorW" => ["long",  ["long", "ptr", "long", "ptr", "long", "long"]],
159     "DialogBoxIndirectParamW" => ["long",  ["long", "ptr", "long", "ptr", "long"]],
160     "DialogBoxParamA" => ["long",  ["long", "str", "long", "ptr", "long"]],
161     "DialogBoxParamW" => ["long",  ["long", "wstr", "long", "ptr", "long"]],
162     "DispatchMessageA" => ["long",  ["ptr"]],
163     "DispatchMessageW" => ["long",  ["ptr"]],
164     "DlgDirListA" => ["long",  ["long", "str", "long", "long", "long"]],
165     "DlgDirListComboBoxA" => ["long",  ["long", "str", "long", "long", "long"]],
166     "DlgDirListComboBoxW" => ["long",  ["long", "wstr", "long", "long", "long"]],
167     "DlgDirListW" => ["long",  ["long", "wstr", "long", "long", "long"]],
168     "DlgDirSelectComboBoxExA" => ["long",  ["long", "str", "long", "long"]],
169     "DlgDirSelectComboBoxExW" => ["long",  ["long", "wstr", "long", "long"]],
170     "DlgDirSelectExA" => ["long",  ["long", "str", "long", "long"]],
171     "DlgDirSelectExW" => ["long",  ["long", "wstr", "long", "long"]],
172     "DragDetect" => ["long",  ["long", "long", "long"]],
173     "DrawAnimatedRects" => ["long",  ["long", "long", "ptr", "ptr"]],
174     "DrawCaption" => ["long",  ["long", "long", "ptr", "long"]],
175     "DrawCaptionTempA" => ["long",  ["long", "long", "ptr", "long", "long", "str", "long"]],
176     "DrawCaptionTempW" => ["long",  ["long", "long", "ptr", "long", "long", "wstr", "long"]],
177     "DrawEdge" => ["long",  ["long", "ptr", "long", "long"]],
178     "DrawFocusRect" => ["long",  ["long", "ptr"]],
179     "DrawFrameControl" => ["long",  ["long", "ptr", "long", "long"]],
180     "DrawIcon" => ["long",  ["long", "long", "long", "long"]],
181     "DrawIconEx" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
182     "DrawMenuBar" => ["long",  ["long"]],
183     "DrawMenuBarTemp" => ["long",  ["long", "long", "ptr", "long", "long"]],
184     "DrawStateA" => ["long",  ["long", "long", "ptr", "long", "long", "long", "long", "long", "long", "long"]],
185     "DrawStateW" => ["long",  ["long", "long", "ptr", "long", "long", "long", "long", "long", "long", "long"]],
186     "DrawTextA" => ["long",  ["long", "str", "long", "ptr", "long"]],
187     "DrawTextExA" => ["long",  ["long", "str", "long", "ptr", "long", "ptr"]],
188     "DrawTextExW" => ["long",  ["long", "wstr", "long", "ptr", "long", "ptr"]],
189     "DrawTextW" => ["long",  ["long", "wstr", "long", "ptr", "long"]],
190     "EditWndProc" => ["long",  ["long", "long", "long", "long"]],
191     "EditWndProcW" => ["long",  ["long", "long", "long", "long"]],
192     "EmptyClipboard" => ["long",  []],
193     "EnableMenuItem" => ["long",  ["long", "long", "long"]],
194     "EnableScrollBar" => ["long",  ["long", "long", "long"]],
195     "EnableWindow" => ["long",  ["long", "long"]],
196     "EndDeferWindowPos" => ["long",  ["long"]],
197     "EndDialog" => ["long",  ["long", "long"]],
198     "EndMenu" => ["void",  []],
199     "EndPaint" => ["long",  ["long", "ptr"]],
200     "EnumChildWindows" => ["long",  ["long", "ptr", "long"]],
201     "EnumClipboardFormats" => ["long",  ["long"]],
202     "EnumDesktopWindows" => ["long",  ["long", "ptr", "long"]],
203     "EnumDisplayDevicesA" => ["long",  ["ptr", "long", "ptr", "long"]],
204     "EnumDisplayDevicesW" => ["long",  ["ptr", "long", "ptr", "long"]],
205     "EnumDisplayMonitors" => ["long",  ["long", "ptr", "ptr", "long"]],
206     "EnumDisplaySettingsA" => ["long",  ["str", "long", "ptr"]],
207     "EnumDisplaySettingsExA" => ["long",  ["str", "long", "ptr", "long"]],
208     "EnumDisplaySettingsExW" => ["long",  ["wstr", "long", "ptr", "long"]],
209     "EnumDisplaySettingsW" => ["long",  ["wstr", "long", "ptr"]],
210     "EnumPropsA" => ["long",  ["long", "ptr"]],
211     "EnumPropsExA" => ["long",  ["long", "ptr", "long"]],
212     "EnumPropsExW" => ["long",  ["long", "ptr", "long"]],
213     "EnumPropsW" => ["long",  ["long", "ptr"]],
214     "EnumThreadWindows" => ["long",  ["long", "ptr", "long"]],
215     "EnumWindows" => ["long",  ["ptr", "long"]],
216     "EqualRect" => ["long",  ["ptr", "ptr"]],
217     "ExcludeUpdateRgn" => ["long",  ["long", "long"]],
218     "ExitWindowsEx" => ["long",  ["long", "long"]],
219     "FillRect" => ["long",  ["long", "ptr", "long"]],
220     "FindWindowA" => ["long",  ["str", "str"]],
221     "FindWindowExA" => ["long",  ["long", "long", "str", "str"]],
222     "FindWindowExW" => ["long",  ["long", "long", "wstr", "wstr"]],
223     "FindWindowW" => ["long",  ["wstr", "wstr"]],
224     "FlashWindow" => ["long",  ["long", "long"]],
225     "FrameRect" => ["long",  ["long", "ptr", "long"]],
226     "FreeDDElParam" => ["long",  ["long", "long"]],
227     "GetActiveWindow" => ["long",  []],
228     "GetAncestor" => ["long",  ["long", "long"]],
229     "GetAppCompatFlags" => ["long",  ["long"]],
230     "GetAsyncKeyState" => ["long",  ["long"]],
231     "GetCapture" => ["long",  []],
232     "GetCaretBlinkTime" => ["long",  []],
233     "GetCaretPos" => ["long",  ["ptr"]],
234     "GetClassInfoA" => ["long",  ["long", "str", "ptr"]],
235     "GetClassInfoExA" => ["long",  ["long", "str", "ptr"]],
236     "GetClassInfoExW" => ["long",  ["long", "wstr", "ptr"]],
237     "GetClassInfoW" => ["long",  ["long", "wstr", "ptr"]],
238     "GetClassLongA" => ["long",  ["long", "long"]],
239     "GetClassLongW" => ["long",  ["long", "long"]],
240     "GetClassNameA" => ["long",  ["long", "str", "long"]],
241     "GetClassNameW" => ["long",  ["long", "wstr", "long"]],
242     "GetClassWord" => ["long",  ["long", "long"]],
243     "GetClientRect" => ["long",  ["long", "ptr"]],
244     "GetClipCursor" => ["long",  ["ptr"]],
245     "GetClipboardData" => ["long",  ["long"]],
246     "GetClipboardFormatNameA" => ["long",  ["long", "str", "long"]],
247     "GetClipboardFormatNameW" => ["long",  ["long", "wstr", "long"]],
248     "GetClipboardOwner" => ["long",  []],
249     "GetClipboardSequenceNumber" => ["long",  []],
250     "GetClipboardViewer" => ["long",  []],
251     "GetCursor" => ["long",  []],
252     "GetCursorPos" => ["long",  ["ptr"]],
253     "GetDC" => ["long",  ["long"]],
254     "GetDCEx" => ["long",  ["long", "long", "long"]],
255     "GetDesktopWindow" => ["long",  []],
256     "GetDialogBaseUnits" => ["long",  []],
257     "GetDlgCtrlID" => ["long",  ["long"]],
258     "GetDlgItem" => ["long",  ["long", "long"]],
259     "GetDlgItemInt" => ["long",  ["long", "long", "ptr", "long"]],
260     "GetDlgItemTextA" => ["long",  ["long", "long", "str", "long"]],
261     "GetDlgItemTextW" => ["long",  ["long", "long", "wstr", "long"]],
262     "GetDoubleClickTime" => ["long",  []],
263     "GetDriverModuleHandle16" => ["long",  ["long"]],
264     "GetFocus" => ["long",  []],
265     "GetForegroundWindow" => ["long",  []],
266     "GetIconInfo" => ["long",  ["long", "ptr"]],
267     "GetInputState" => ["long",  []],
268     "GetInternalWindowPos" => ["long",  ["long", "ptr", "ptr"]],
269     "GetKBCodePage" => ["long",  []],
270     "GetKeyNameTextA" => ["long",  ["long", "str", "long"]],
271     "GetKeyNameTextW" => ["long",  ["long", "wstr", "long"]],
272     "GetKeyState" => ["long",  ["long"]],
273     "GetKeyboardLayout" => ["long",  ["long"]],
274     "GetKeyboardLayoutList" => ["long",  ["long", "ptr"]],
275     "GetKeyboardLayoutNameA" => ["long",  ["str"]],
276     "GetKeyboardLayoutNameW" => ["long",  ["wstr"]],
277     "GetKeyboardState" => ["long",  ["ptr"]],
278     "GetKeyboardType" => ["long",  ["long"]],
279     "GetLastActivePopup" => ["long",  ["long"]],
280     "GetMenu" => ["long",  ["long"]],
281     "GetMenuCheckMarkDimensions" => ["long",  []],
282     "GetMenuContextHelpId" => ["long",  ["long"]],
283     "GetMenuDefaultItem" => ["long",  ["long", "long", "long"]],
284     "GetMenuInfo" => ["long",  ["long", "ptr"]],
285     "GetMenuItemCount" => ["long",  ["long"]],
286     "GetMenuItemID" => ["long",  ["long", "long"]],
287     "GetMenuItemInfoA" => ["long",  ["long", "long", "long", "ptr"]],
288     "GetMenuItemInfoW" => ["long",  ["long", "long", "long", "ptr"]],
289     "GetMenuItemRect" => ["long",  ["long", "long", "long", "ptr"]],
290     "GetMenuState" => ["long",  ["long", "long", "long"]],
291     "GetMenuStringA" => ["long",  ["long", "long", "str", "long", "long"]],
292     "GetMenuStringW" => ["long",  ["long", "long", "wstr", "long", "long"]],
293     "GetMessageA" => ["long",  ["ptr", "long", "long", "long"]],
294     "GetMessageExtraInfo" => ["long",  []],
295     "GetMessagePos" => ["long",  []],
296     "GetMessageTime" => ["long",  []],
297     "GetMessageW" => ["long",  ["ptr", "long", "long", "long"]],
298     "GetMonitorInfoA" => ["long",  ["long", "ptr"]],
299     "GetMonitorInfoW" => ["long",  ["long", "ptr"]],
300     "GetNextDlgGroupItem" => ["long",  ["long", "long", "long"]],
301     "GetNextDlgTabItem" => ["long",  ["long", "long", "long"]],
302     "GetOpenClipboardWindow" => ["long",  []],
303     "GetParent" => ["long",  ["long"]],
304     "GetPriorityClipboardFormat" => ["long",  ["ptr", "long"]],
305     "GetProcessDefaultLayout" => ["long",  ["ptr"]],
306     "GetProcessWindowStation" => ["long",  []],
307     "GetProgmanWindow" => ["long",  []],
308     "GetPropA" => ["long",  ["long", "str"]],
309     "GetPropW" => ["long",  ["long", "wstr"]],
310     "GetQueueStatus" => ["long",  ["long"]],
311     "GetScrollInfo" => ["long",  ["long", "long", "ptr"]],
312     "GetScrollPos" => ["long",  ["long", "long"]],
313     "GetScrollRange" => ["long",  ["long", "long", "ptr", "ptr"]],
314     "GetShellWindow" => ["long",  []],
315     "GetSubMenu" => ["long",  ["long", "long"]],
316     "GetSysColor" => ["long",  ["long"]],
317     "GetSysColorBrush" => ["long",  ["long"]],
318     "GetSysColorPen" => ["long",  ["long"]],
319     "GetSystemMenu" => ["long",  ["long", "long"]],
320     "GetSystemMetrics" => ["long",  ["long"]],
321     "GetTabbedTextExtentA" => ["long",  ["long", "str", "long", "long", "ptr"]],
322     "GetTabbedTextExtentW" => ["long",  ["long", "wstr", "long", "long", "ptr"]],
323     "GetTaskmanWindow" => ["long",  []],
324     "GetThreadDesktop" => ["long",  ["long"]],
325     "GetTopWindow" => ["long",  ["long"]],
326     "GetUpdateRect" => ["long",  ["long", "ptr", "long"]],
327     "GetUpdateRgn" => ["long",  ["long", "long", "long"]],
328     "GetUserObjectInformationA" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
329     "GetUserObjectInformationW" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
330     "GetUserObjectSecurity" => ["long",  ["long", "ptr", "ptr", "long", "ptr"]],
331     "GetWindow" => ["long",  ["long", "long"]],
332     "GetWindowContextHelpId" => ["long",  ["long"]],
333     "GetWindowDC" => ["long",  ["long"]],
334     "GetWindowLongA" => ["long",  ["long", "long"]],
335     "GetWindowLongW" => ["long",  ["long", "long"]],
336     "GetWindowModuleFileNameA" => ["long",  ["long", "str", "long"]],
337     "GetWindowModuleFileNameW" => ["long",  ["long", "str", "long"]],
338     "GetWindowPlacement" => ["long",  ["long", "ptr"]],
339     "GetWindowRect" => ["long",  ["long", "ptr"]],
340     "GetWindowRgn" => ["long",  ["long", "long"]],
341     "GetWindowTextA" => ["long",  ["long", "str", "long"]],
342     "GetWindowTextLengthA" => ["long",  ["long"]],
343     "GetWindowTextLengthW" => ["long",  ["long"]],
344     "GetWindowTextW" => ["long",  ["long", "wstr", "long"]],
345     "GetWindowThreadProcessId" => ["long",  ["long", "ptr"]],
346     "GetWindowWord" => ["long",  ["long", "long"]],
347     "GrayStringA" => ["long",  ["long", "long", "ptr", "long", "long", "long", "long", "long", "long"]],
348     "GrayStringW" => ["long",  ["long", "long", "ptr", "long", "long", "long", "long", "long", "long"]],
349     "HideCaret" => ["long",  ["long"]],
350     "HiliteMenuItem" => ["long",  ["long", "long", "long", "long"]],
351     "ImpersonateDdeClientWindow" => ["long",  ["long", "long"]],
352     "InSendMessage" => ["long",  []],
353     "InSendMessageEx" => ["long",  ["ptr"]],
354     "InflateRect" => ["long",  ["ptr", "long", "long"]],
355     "InsertMenuA" => ["long",  ["long", "long", "long", "long", "str"]],
356     "InsertMenuItemA" => ["long",  ["long", "long", "long", "ptr"]],
357     "InsertMenuItemW" => ["long",  ["long", "long", "long", "ptr"]],
358     "InsertMenuW" => ["long",  ["long", "long", "long", "long", "wstr"]],
359     "InternalGetWindowText" => ["long",  ["long", "wstr", "long"]],
360     "IntersectRect" => ["long",  ["ptr", "ptr", "ptr"]],
361     "InvalidateRect" => ["long",  ["long", "ptr", "long"]],
362     "InvalidateRgn" => ["long",  ["long", "long", "long"]],
363     "InvertRect" => ["long",  ["long", "ptr"]],
364     "IsCharAlphaA" => ["long",  ["long"]],
365     "IsCharAlphaNumericA" => ["long",  ["long"]],
366     "IsCharAlphaNumericW" => ["long",  ["long"]],
367     "IsCharAlphaW" => ["long",  ["long"]],
368     "IsCharLowerA" => ["long",  ["long"]],
369     "IsCharLowerW" => ["long",  ["long"]],
370     "IsCharUpperA" => ["long",  ["long"]],
371     "IsCharUpperW" => ["long",  ["long"]],
372     "IsChild" => ["long",  ["long", "long"]],
373     "IsClipboardFormatAvailable" => ["long",  ["long"]],
374     "IsDialogMessage" => ["long",  ["long", "ptr"]],
375     "IsDialogMessageA" => ["long",  ["long", "ptr"]],
376     "IsDialogMessageW" => ["long",  ["long", "ptr"]],
377     "IsDlgButtonChecked" => ["long",  ["long", "long"]],
378     "IsIconic" => ["long",  ["long"]],
379     "IsMenu" => ["long",  ["long"]],
380     "IsRectEmpty" => ["long",  ["ptr"]],
381     "IsWindow" => ["long",  ["long"]],
382     "IsWindowEnabled" => ["long",  ["long"]],
383     "IsWindowUnicode" => ["long",  ["long"]],
384     "IsWindowVisible" => ["long",  ["long"]],
385     "IsZoomed" => ["long",  ["long"]],
386     "KillSystemTimer" => ["long",  ["long", "long"]],
387     "KillTimer" => ["long",  ["long", "long"]],
388     "LoadAcceleratorsA" => ["long",  ["long", "str"]],
389     "LoadAcceleratorsW" => ["long",  ["long", "wstr"]],
390     "LoadBitmapA" => ["long",  ["long", "str"]],
391     "LoadBitmapW" => ["long",  ["long", "wstr"]],
392     "LoadCursorA" => ["long",  ["long", "str"]],
393     "LoadCursorFromFileA" => ["long",  ["str"]],
394     "LoadCursorFromFileW" => ["long",  ["wstr"]],
395     "LoadCursorW" => ["long",  ["long", "wstr"]],
396     "LoadIconA" => ["long",  ["long", "str"]],
397     "LoadIconW" => ["long",  ["long", "wstr"]],
398     "LoadImageA" => ["long",  ["long", "str", "long", "long", "long", "long"]],
399     "LoadImageW" => ["long",  ["long", "wstr", "long", "long", "long", "long"]],
400     "LoadKeyboardLayoutA" => ["long",  ["str", "long"]],
401     "LoadKeyboardLayoutW" => ["long",  ["wstr", "long"]],
402     "LoadLocalFonts" => ["void",  []],
403     "LoadMenuA" => ["long",  ["long", "str"]],
404     "LoadMenuIndirectA" => ["long",  ["ptr"]],
405     "LoadMenuIndirectW" => ["long",  ["ptr"]],
406     "LoadMenuW" => ["long",  ["long", "wstr"]],
407     "LoadStringA" => ["long",  ["long", "long", "str", "long"]],
408     "LoadStringW" => ["long",  ["long", "long", "wstr", "long"]],
409     "LockSetForegroundWindow" => ["long",  ["long"]],
410     "LockWindowUpdate" => ["long",  ["long"]],
411     "LookupIconIdFromDirectory" => ["long",  ["ptr", "long"]],
412     "LookupIconIdFromDirectoryEx" => ["long",  ["ptr", "long", "long", "long", "long"]],
413     "MapDialogRect" => ["long",  ["long", "ptr"]],
414     "MapVirtualKeyA" => ["long",  ["long", "long"]],
415     "MapVirtualKeyExA" => ["long",  ["long", "long", "long"]],
416     "MapVirtualKeyExW" => ["long",  ["long", "long", "long"]],
417     "MapVirtualKeyW" => ["long",  ["long", "long"]],
418     "MapWindowPoints" => ["long",  ["long", "long", "ptr", "long"]],
419     "MenuItemFromPoint" => ["long",  ["long", "long", "long", "long"]],
420     "MessageBeep" => ["long",  ["long"]],
421     "MessageBoxA" => ["long",  ["long", "str", "str", "long"]],
422     "MessageBoxExA" => ["long",  ["long", "str", "str", "long", "long"]],
423     "MessageBoxExW" => ["long",  ["long", "wstr", "wstr", "long", "long"]],
424     "MessageBoxIndirectA" => ["long",  ["ptr"]],
425     "MessageBoxIndirectW" => ["long",  ["ptr"]],
426     "MessageBoxW" => ["long",  ["long", "wstr", "wstr", "long"]],
427     "ModifyMenuA" => ["long",  ["long", "long", "long", "long", "str"]],
428     "ModifyMenuW" => ["long",  ["long", "long", "long", "long", "wstr"]],
429     "MonitorFromPoint" => ["long",  ["long", "long", "long"]],
430     "MonitorFromRect" => ["long",  ["ptr", "long"]],
431     "MonitorFromWindow" => ["long",  ["long", "long"]],
432     "MoveWindow" => ["long",  ["long", "long", "long", "long", "long", "long"]],
433     "MsgWaitForMultipleObjects" => ["long",  ["long", "ptr", "long", "long", "long"]],
434     "MsgWaitForMultipleObjectsEx" => ["long",  ["long", "ptr", "long", "long", "long"]],
435     "OemKeyScan" => ["long",  ["long"]],
436     "OemToCharA" => ["long",  ["str", "str"]],
437     "OemToCharBuffA" => ["long",  ["str", "str", "long"]],
438     "OemToCharBuffW" => ["long",  ["str", "wstr", "long"]],
439     "OemToCharW" => ["long",  ["str", "wstr"]],
440     "OffsetRect" => ["long",  ["ptr", "long", "long"]],
441     "OpenClipboard" => ["long",  ["long"]],
442     "OpenDesktopA" => ["long",  ["str", "long", "long", "long"]],
443     "OpenDriver16" => ["long",  ["str", "str", "long"]],
444     "OpenIcon" => ["long",  ["long"]],
445     "PackDDElParam" => ["long",  ["long", "long", "long"]],
446     "PaintDesktop" => ["long",  ["long"]],
447     "PeekMessageA" => ["long",  ["ptr", "long", "long", "long", "long"]],
448     "PeekMessageW" => ["long",  ["ptr", "long", "long", "long", "long"]],
449     "PostAppMessage16" => ["long",  ["long", "long", "long", "long"]],
450     "PostMessageA" => ["long",  ["long", "long", "long", "long"]],
451     "PostMessageW" => ["long",  ["long", "long", "long", "long"]],
452     "PostQuitMessage" => ["void",  ["long"]],
453     "PostThreadMessageA" => ["long",  ["long", "long", "long", "long"]],
454     "PostThreadMessageW" => ["long",  ["long", "long", "long", "long"]],
455     "PrivateExtractIconExA" => ["long",  ["str", "long", "ptr", "ptr", "long"]],
456     "PrivateExtractIconExW" => ["long",  ["wstr", "long", "ptr", "ptr", "long"]],
457     "PrivateExtractIconsA" => ["long",  ["str", "long", "long", "long", "ptr", "long", "long", "long"]],
458     "PrivateExtractIconsW" => ["long",  ["wstr", "long", "long", "long", "ptr", "long", "long", "long"]],
459     "PtInRect" => ["long",  ["ptr", "long", "long"]],
460     "RedrawWindow" => ["long",  ["long", "ptr", "long", "long"]],
461     "RegisterClassA" => ["long",  ["ptr"]],
462     "RegisterClassExA" => ["long",  ["ptr"]],
463     "RegisterClassExW" => ["long",  ["ptr"]],
464     "RegisterClassW" => ["long",  ["ptr"]],
465     "RegisterClipboardFormatA" => ["long",  ["str"]],
466     "RegisterClipboardFormatW" => ["long",  ["wstr"]],
467     "RegisterDeviceNotificationA" => ["long",  ["long", "ptr", "long"]],
468     "RegisterHotKey" => ["long",  ["long", "long", "long", "long"]],
469     "RegisterLogonProcess" => ["long",  ["long", "long"]],
470     "RegisterShellHookWindow" => ["long",  ["long"]],
471     "RegisterSystemThread" => ["void",  ["long", "long"]],
472     "RegisterTasklist" => ["long",  ["long"]],
473     "RegisterWindowMessageA" => ["long",  ["str"]],
474     "RegisterWindowMessageW" => ["long",  ["wstr"]],
475     "ReleaseCapture" => ["long",  []],
476     "ReleaseDC" => ["long",  ["long", "long"]],
477     "RemoveMenu" => ["long",  ["long", "long", "long"]],
478     "RemovePropA" => ["long",  ["long", "str"]],
479     "RemovePropW" => ["long",  ["long", "wstr"]],
480     "ReplyMessage" => ["long",  ["long"]],
481     "ReuseDDElParam" => ["long",  ["long", "long", "long", "long", "long"]],
482     "ScreenToClient" => ["long",  ["long", "ptr"]],
483     "ScrollChildren" => ["void",  ["long", "long", "long", "long"]],
484     "ScrollDC" => ["long",  ["long", "long", "long", "ptr", "ptr", "long", "ptr"]],
485     "ScrollWindow" => ["long",  ["long", "long", "long", "ptr", "ptr"]],
486     "ScrollWindowEx" => ["long",  ["long", "long", "long", "ptr", "ptr", "long", "ptr", "long"]],
487     "SendDlgItemMessageA" => ["long",  ["long", "long", "long", "long", "long"]],
488     "SendDlgItemMessageW" => ["long",  ["long", "long", "long", "long", "long"]],
489     "SendDriverMessage16" => ["long",  ["long", "long", "long", "long"]],
490     "SendInput" => ["long",  ["long", "ptr", "long"]],
491     "SendMessageA" => ["long",  ["long", "long", "long", "long"]],
492     "SendMessageCallbackA" => ["long",  ["long", "long", "long", "long", "ptr", "long"]],
493     "SendMessageCallbackW" => ["long",  ["long", "long", "long", "long", "ptr", "long"]],
494     "SendMessageTimeoutA" => ["long",  ["long", "long", "long", "long", "long", "long", "ptr"]],
495     "SendMessageTimeoutW" => ["long",  ["long", "long", "long", "long", "long", "long", "ptr"]],
496     "SendMessageW" => ["long",  ["long", "long", "long", "long"]],
497     "SendNotifyMessageA" => ["long",  ["long", "long", "long", "long"]],
498     "SendNotifyMessageW" => ["long",  ["long", "long", "long", "long"]],
499     "SetActiveWindow" => ["long",  ["long"]],
500     "SetCapture" => ["long",  ["long"]],
501     "SetCaretBlinkTime" => ["long",  ["long"]],
502     "SetCaretPos" => ["long",  ["long", "long"]],
503     "SetClassLongA" => ["long",  ["long", "long", "long"]],
504     "SetClassLongW" => ["long",  ["long", "long", "long"]],
505     "SetClassWord" => ["long",  ["long", "long", "long"]],
506     "SetClipboardData" => ["long",  ["long", "long"]],
507     "SetClipboardViewer" => ["long",  ["long"]],
508     "SetCursor" => ["long",  ["long"]],
509     "SetCursorPos" => ["long",  ["long", "long"]],
510     "SetDebugErrorLevel" => ["void",  ["long"]],
511     "SetDeskWallPaper" => ["long",  ["str"]],
512     "SetDlgItemInt" => ["long",  ["long", "long", "long", "long"]],
513     "SetDlgItemTextA" => ["long",  ["long", "long", "str"]],
514     "SetDlgItemTextW" => ["long",  ["long", "long", "wstr"]],
515     "SetDoubleClickTime" => ["long",  ["long"]],
516     "SetFocus" => ["long",  ["long"]],
517     "SetForegroundWindow" => ["long",  ["long"]],
518     "SetInternalWindowPos" => ["void",  ["long", "long", "ptr", "ptr"]],
519     "SetKeyboardState" => ["long",  ["ptr"]],
520     "SetLastErrorEx" => ["void",  ["long", "long"]],
521     "SetLogonNotifyWindow" => ["long",  ["long", "long"]],
522     "SetMenu" => ["long",  ["long", "long"]],
523     "SetMenuContextHelpId" => ["long",  ["long", "long"]],
524     "SetMenuDefaultItem" => ["long",  ["long", "long", "long"]],
525     "SetMenuInfo" => ["long",  ["long", "ptr"]],
526     "SetMenuItemBitmaps" => ["long",  ["long", "long", "long", "long", "long"]],
527     "SetMenuItemInfoA" => ["long",  ["long", "long", "long", "ptr"]],
528     "SetMenuItemInfoW" => ["long",  ["long", "long", "long", "ptr"]],
529     "SetMessageQueue" => ["long",  ["long"]],
530     "SetParent" => ["long",  ["long", "long"]],
531     "SetProcessDefaultLayout" => ["long",  ["long"]],
532     "SetProcessWindowStation" => ["long",  ["long"]],
533     "SetProgmanWindow" => ["long",  ["long"]],
534     "SetPropA" => ["long",  ["long", "str", "long"]],
535     "SetPropW" => ["long",  ["long", "wstr", "long"]],
536     "SetRect" => ["long",  ["ptr", "long", "long", "long", "long"]],
537     "SetRectEmpty" => ["long",  ["ptr"]],
538     "SetScrollPos" => ["long",  ["long", "long", "long", "long"]],
539     "SetScrollRange" => ["long",  ["long", "long", "long", "long", "long"]],
540     "SetShellWindow" => ["long",  ["long"]],
541     "SetShellWindowEx" => ["long",  ["long", "long"]],
542     "SetSysColors" => ["long",  ["long", "ptr", "ptr"]],
543     "SetSysColorsTemp" => ["long",  ["ptr", "ptr", "long"]],
544     "SetSystemCursor" => ["long",  ["long", "long"]],
545     "SetSystemMenu" => ["long",  ["long", "long"]],
546     "SetSystemTimer" => ["long",  ["long", "long", "long", "ptr"]],
547     "SetTaskmanWindow" => ["long",  ["long"]],
548     "SetThreadDesktop" => ["long",  ["long"]],
549     "SetTimer" => ["long",  ["long", "long", "long", "ptr"]],
550     "SetUserObjectInformationA" => ["long",  ["long", "long", "ptr", "long"]],
551     "SetUserObjectSecurity" => ["long",  ["long", "ptr", "ptr"]],
552     "SetWindowContextHelpId" => ["long",  ["long", "long"]],
553     "SetWindowLongA" => ["long",  ["long", "long", "long"]],
554     "SetWindowLongW" => ["long",  ["long", "long", "long"]],
555     "SetWindowPlacement" => ["long",  ["long", "ptr"]],
556     "SetWindowPos" => ["long",  ["long", "long", "long", "long", "long", "long", "long"]],
557     "SetWindowRgn" => ["long",  ["long", "long", "long"]],
558     "SetWindowStationUser" => ["long",  ["long", "long"]],
559     "SetWindowText" => ["long",  ["long", "str"]],
560     "SetWindowTextA" => ["long",  ["long", "str"]],
561     "SetWindowTextW" => ["long",  ["long", "wstr"]],
562     "SetWindowWord" => ["long",  ["long", "long", "long"]],
563     "SetWindowsHookA" => ["long",  ["long", "ptr"]],
564     "SetWindowsHookEx16" => ["long",  ["long", "ptr", "long", "long"]],
565     "SetWindowsHookExA" => ["long",  ["long", "ptr", "long", "long"]],
566     "SetWindowsHookExW" => ["long",  ["long", "ptr", "long", "long"]],
567     "SetWindowsHookW" => ["long",  ["long", "ptr"]],
568     "ShowCaret" => ["long",  ["long"]],
569     "ShowCursor" => ["long",  ["long"]],
570     "ShowOwnedPopups" => ["long",  ["long", "long"]],
571     "ShowScrollBar" => ["long",  ["long", "long", "long"]],
572     "ShowWindow" => ["long",  ["long", "long"]],
573     "ShowWindowAsync" => ["long",  ["long", "long"]],
574     "SubtractRect" => ["long",  ["ptr", "ptr", "ptr"]],
575     "SwapMouseButton" => ["long",  ["long"]],
576     "SwitchToThisWindow" => ["void",  ["long", "long"]],
577     "SystemParametersInfoA" => ["long",  ["long", "long", "ptr", "long"]],
578     "SystemParametersInfoW" => ["long",  ["long", "long", "ptr", "long"]],
579     "TabbedTextOutA" => ["long",  ["long", "long", "long", "str", "long", "long", "ptr", "long"]],
580     "TabbedTextOutW" => ["long",  ["long", "long", "long", "wstr", "long", "long", "ptr", "long"]],
581     "TileWindows" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
582     "ToAscii" => ["long",  ["long", "long", "ptr", "ptr", "long"]],
583     "ToAsciiEx" => ["long",  ["long", "long", "ptr", "ptr", "long", "long"]],
584     "ToUnicode" => ["long",  ["long", "long", "ptr", "wstr", "long", "long"]],
585     "ToUnicodeEx" => ["long",  ["long", "long", "ptr", "wstr", "long", "long", "long"]],
586     "TrackPopupMenu" => ["long",  ["long", "long", "long", "long", "long", "long", "ptr"]],
587     "TrackPopupMenuEx" => ["long",  ["long", "long", "long", "long", "long", "ptr"]],
588     "TranslateAccelerator" => ["long",  ["long", "long", "ptr"]],
589     "TranslateAcceleratorA" => ["long",  ["long", "long", "ptr"]],
590     "TranslateAcceleratorW" => ["long",  ["long", "long", "ptr"]],
591     "TranslateCharsetInfo" => ["long",  ["ptr", "ptr", "long"]],
592     "TranslateMDISysAccel" => ["long",  ["long", "ptr"]],
593     "TranslateMessage" => ["long",  ["ptr"]],
594     "UnhookWindowsHook" => ["long",  ["long", "ptr"]],
595     "UnhookWindowsHookEx" => ["long",  ["long"]],
596     "UnionRect" => ["long",  ["ptr", "ptr", "ptr"]],
597     "UnpackDDElParam" => ["long",  ["long", "long", "ptr", "ptr"]],
598     "UnregisterClassA" => ["long",  ["str", "long"]],
599     "UnregisterClassW" => ["long",  ["wstr", "long"]],
600     "UnregisterHotKey" => ["long",  ["long", "long"]],
601     "UpdateWindow" => ["void",  ["long"]],
602     "UserClientDllInitialize" => ["long",  ["long", "long", "ptr"]],
603     "UserRealizePalette" => ["long",  ["long"]],
604     "UserSignalProc" => ["long",  ["long", "long", "long", "long"]],
605     "UserYield16" => ["void",  []],
606     "ValidateRect" => ["void",  ["long", "ptr"]],
607     "ValidateRgn" => ["void",  ["long", "long"]],
608     "VkKeyScanA" => ["long",  ["long"]],
609     "VkKeyScanExA" => ["long",  ["long", "long"]],
610     "VkKeyScanExW" => ["long",  ["long", "long"]],
611     "VkKeyScanW" => ["long",  ["long"]],
612     "WaitForInputIdle" => ["long",  ["long", "long"]],
613     "WaitMessage" => ["long",  []],
614     "WinHelpA" => ["long",  ["long", "str", "long", "long"]],
615     "WinHelpW" => ["long",  ["long", "wstr", "long", "long"]],
616     "WindowFromDC" => ["long",  ["long"]],
617     "WindowFromPoint" => ["long",  ["long", "long"]],
618     "keybd_event" => ["void",  ["long", "long", "long", "long"]],
619     "mouse_event" => ["void",  ["long", "long", "long", "long", "long"]],
620     "wvsnprintfA" => ["long",  ["str", "long", "str", "ptr"]],
621     "wvsnprintfW" => ["long",  ["wstr", "long", "wstr", "ptr"]],
622     "wvsprintfA" => ["long",  ["str", "str", "ptr"]],
623     "wvsprintfW" => ["long",  ["wstr", "wstr", "ptr"]]
624 };
625
626 &wine::declare("user32",%$module_declarations);
627 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
628 1;