Changed the GDI driver interface to pass an opaque PHYSDEV pointer
[wine] / programs / winetest / include / kernel32.pm
1 package kernel32;
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     "k32CharToOemA" => ["long",  ["str", "str"]],
16     "k32CharToOemBuffA" => ["long",  ["str", "str", "long"]],
17     "k32OemToCharA" => ["long",  ["str", "str"]],
18     "k32OemToCharBuffA" => ["long",  ["str", "str", "long"]],
19     "k32LoadStringA" => ["long",  ["long", "long", "str", "long"]],
20     "k32wvsprintfA" => ["long",  ["str", "str", "ptr"]],
21     "CommonUnimpStub" => ["void",  ["ptr"]],
22     "GetProcessDword" => ["long",  ["long", "long"]],
23     "DosFileHandleToWin32Handle" => ["long",  ["long"]],
24     "Win32HandleToDosFileHandle" => ["long",  ["long"]],
25     "DisposeLZ32Handle" => ["void",  ["long"]],
26     "GlobalAlloc16" => ["long",  ["long", "long"]],
27     "GlobalLock16" => ["ptr",  ["long"]],
28     "GlobalUnlock16" => ["long",  ["long"]],
29     "GlobalFix16" => ["long",  ["long"]],
30     "GlobalUnfix16" => ["void",  ["long"]],
31     "GlobalWire16" => ["ptr",  ["long"]],
32     "GlobalUnWire16" => ["long",  ["long"]],
33     "GlobalFree16" => ["long",  ["long"]],
34     "GlobalSize16" => ["long",  ["long"]],
35     "HouseCleanLogicallyDeadHandles" => ["void",  []],
36     "GetWin16DOSEnv" => ["long",  ["undef"]],
37     "LoadLibrary16" => ["long",  ["str"]],
38     "FreeLibrary16" => ["void",  ["long"]],
39     "GetProcAddress16" => ["ptr",  ["long", "str"]],
40     "AllocMappedBuffer" => ["void",  ["ptr"]],
41     "OT_32ThkLSF" => ["void",  ["ptr"]],
42     "ThunkInitLSF" => ["ptr",  ["ptr", "str", "long", "str", "str"]],
43     "LogApiThkLSF" => ["void",  ["str", "ptr"]],
44     "ThunkInitLS" => ["long",  ["ptr", "str", "long", "str", "str"]],
45     "LogApiThkSL" => ["void",  ["str", "ptr"]],
46     "Common32ThkLS" => ["void",  ["ptr"]],
47     "ThunkInitSL" => ["void",  ["ptr", "str", "long", "str", "str"]],
48     "LogCBThkSL" => ["void",  ["str", "ptr"]],
49     "ReleaseThunkLock" => ["void",  ["ptr"]],
50     "RestoreThunkLock" => ["void",  ["long"]],
51     "W32S_BackTo32" => ["void",  ["ptr"]],
52     "GetThunkBuff" => ["ptr",  []],
53     "GetThunkStuff" => ["ptr",  ["str", "str"]],
54     "K32WOWCallback16" => ["long",  ["long", "long"]],
55     "K32WOWCallback16Ex" => ["long",  ["long", "long", "long", "ptr", "ptr"]],
56     "K32WOWGetVDMPointer" => ["ptr",  ["long", "long", "long"]],
57     "K32WOWHandle32" => ["long",  ["long", "long"]],
58     "K32WOWHandle16" => ["long",  ["long", "long"]],
59     "K32WOWGlobalAlloc16" => ["long",  ["long", "long"]],
60     "K32WOWGlobalLock16" => ["ptr",  ["long"]],
61     "K32WOWGlobalUnlock16" => ["long",  ["long"]],
62     "K32WOWGlobalFree16" => ["long",  ["long"]],
63     "K32WOWGlobalAllocLock16" => ["long",  ["long", "long", "ptr"]],
64     "K32WOWGlobalUnlockFree16" => ["long",  ["long"]],
65     "K32WOWGlobalLockSize16" => ["long",  ["long", "ptr"]],
66     "K32WOWYield16" => ["void",  []],
67     "K32WOWDirectedYield16" => ["void",  ["long"]],
68     "K32WOWGetVDMPointerFix" => ["ptr",  ["long", "long", "long"]],
69     "K32WOWGetVDMPointerUnfix" => ["void",  ["long"]],
70     "K32WOWGetDescriptor" => ["long",  ["ptr", "ptr"]],
71     "SSOnBigStack" => ["long",  ["undef"]],
72     "FT_PrologPrime" => ["void",  ["ptr"]],
73     "QT_ThunkPrime" => ["void",  ["ptr"]],
74     "PK16FNF" => ["void",  ["str"]],
75     "GetPK16SysVar" => ["ptr",  []],
76     "GetpWin16Lock" => ["void",  ["ptr"]],
77     "_CheckNotSysLevel" => ["void",  ["ptr"]],
78     "_ConfirmSysLevel" => ["long",  ["ptr"]],
79     "_ConfirmWin16Lock" => ["long",  []],
80     "_EnterSysLevel" => ["void",  ["ptr"]],
81     "_LeaveSysLevel" => ["void",  ["ptr"]],
82     "AddAtomA" => ["long",  ["str"]],
83     "AddAtomW" => ["long",  ["wstr"]],
84     "AllocConsole" => ["long",  []],
85     "AllocSLCallback" => ["long",  ["long", "long"]],
86     "AreFileApisANSI" => ["long",  []],
87     "BackupRead" => ["long",  ["long", "ptr", "long", "ptr", "long", "long", "ptr"]],
88     "BackupSeek" => ["long",  ["long", "long", "long", "ptr", "ptr", "ptr"]],
89     "BackupWrite" => ["long",  ["long", "ptr", "long", "ptr", "long", "long", "ptr"]],
90     "Beep" => ["long",  ["long", "long"]],
91     "BuildCommDCBA" => ["long",  ["str", "ptr"]],
92     "BuildCommDCBAndTimeoutsA" => ["long",  ["str", "ptr", "ptr"]],
93     "BuildCommDCBAndTimeoutsW" => ["long",  ["wstr", "ptr", "ptr"]],
94     "BuildCommDCBW" => ["long",  ["wstr", "ptr"]],
95     "CallNamedPipeA" => ["long",  ["str", "ptr", "long", "ptr", "long", "ptr", "long"]],
96     "CallNamedPipeW" => ["long",  ["wstr", "ptr", "long", "ptr", "long", "ptr", "long"]],
97     "CancelIo" => ["long",  ["long"]],
98     "CancelWaitableTimer" => ["long",  ["long"]],
99     "ClearCommBreak" => ["long",  ["long"]],
100     "ClearCommError" => ["long",  ["long", "ptr", "ptr"]],
101     "CloseHandle" => ["long",  ["long"]],
102     "CloseProfileUserMapping" => ["long",  []],
103     "CommConfigDialogA" => ["long",  ["str", "long", "ptr"]],
104     "CommConfigDialogW" => ["long",  ["wstr", "long", "ptr"]],
105     "CompareFileTime" => ["long",  ["ptr", "ptr"]],
106     "CompareStringA" => ["long",  ["long", "long", "str", "long", "str", "long"]],
107     "CompareStringW" => ["long",  ["long", "long", "wstr", "long", "wstr", "long"]],
108     "ConnectNamedPipe" => ["long",  ["long", "ptr"]],
109     "ContinueDebugEvent" => ["long",  ["long", "long", "long"]],
110     "ConvertDefaultLocale" => ["long",  ["long"]],
111     "ConvertDialog32To16" => ["void",  ["ptr", "long", "ptr"]],
112     "ConvertToGlobalHandle" => ["long",  ["long"]],
113     "CopyFileA" => ["long",  ["str", "str", "long"]],
114     "CopyFileExA" => ["long",  ["str", "str", "ptr", "ptr", "ptr", "long"]],
115     "CopyFileExW" => ["long",  ["wstr", "wstr", "ptr", "ptr", "ptr", "long"]],
116     "CopyFileW" => ["long",  ["wstr", "wstr", "long"]],
117     "CreateConsoleScreenBuffer" => ["long",  ["long", "long", "ptr", "long", "ptr"]],
118     "CreateDirectoryA" => ["long",  ["str", "ptr"]],
119     "CreateDirectoryExA" => ["long",  ["str", "str", "ptr"]],
120     "CreateDirectoryExW" => ["long",  ["wstr", "wstr", "ptr"]],
121     "CreateDirectoryW" => ["long",  ["wstr", "ptr"]],
122     "CreateEventA" => ["long",  ["ptr", "long", "long", "str"]],
123     "CreateEventW" => ["long",  ["ptr", "long", "long", "wstr"]],
124     "CreateFileA" => ["long",  ["str", "long", "long", "ptr", "long", "long", "long"]],
125     "CreateFileMappingA" => ["long",  ["long", "ptr", "long", "long", "long", "str"]],
126     "CreateFileMappingW" => ["long",  ["long", "ptr", "long", "long", "long", "wstr"]],
127     "CreateFileW" => ["long",  ["wstr", "long", "long", "ptr", "long", "long", "long"]],
128     "CreateIoCompletionPort" => ["long",  ["long", "long", "long", "long"]],
129     "CreateMailslotA" => ["long",  ["str", "long", "long", "ptr"]],
130     "CreateMailslotW" => ["long",  ["wstr", "long", "long", "ptr"]],
131     "CreateMutexA" => ["long",  ["ptr", "long", "str"]],
132     "CreateMutexW" => ["long",  ["ptr", "long", "wstr"]],
133     "CreateNamedPipeA" => ["long",  ["str", "long", "long", "long", "long", "long", "long", "ptr"]],
134     "CreateNamedPipeW" => ["long",  ["wstr", "long", "long", "long", "long", "long", "long", "ptr"]],
135     "CreatePipe" => ["long",  ["ptr", "ptr", "ptr", "long"]],
136     "CreateProcessA" => ["long",  ["str", "str", "ptr", "ptr", "long", "long", "ptr", "str", "ptr", "ptr"]],
137     "CreateProcessW" => ["long",  ["wstr", "wstr", "ptr", "ptr", "long", "long", "ptr", "wstr", "ptr", "ptr"]],
138     "CreateSemaphoreA" => ["long",  ["ptr", "long", "long", "str"]],
139     "CreateSemaphoreW" => ["long",  ["ptr", "long", "long", "wstr"]],
140     "CreateSocketHandle" => ["long",  []],
141     "CreateTapePartition" => ["long",  ["long", "long", "long", "long"]],
142     "CreateThread" => ["long",  ["ptr", "long", "ptr", "ptr", "long", "ptr"]],
143     "CreateToolhelp32Snapshot" => ["long",  ["long", "long"]],
144     "CreateWaitableTimerA" => ["long",  ["ptr", "long", "str"]],
145     "CreateWaitableTimerW" => ["long",  ["ptr", "long", "wstr"]],
146     "DebugActiveProcess" => ["long",  ["long"]],
147     "DebugBreak" => ["void",  []],
148     "DefineDosDeviceA" => ["long",  ["long", "str", "str"]],
149     "DeleteAtom" => ["long",  ["long"]],
150     "DeleteFileA" => ["long",  ["str"]],
151     "DeleteFileW" => ["long",  ["wstr"]],
152     "DeviceIoControl" => ["long",  ["long", "long", "ptr", "long", "ptr", "long", "ptr", "ptr"]],
153     "DisableThreadLibraryCalls" => ["long",  ["long"]],
154     "DisconnectNamedPipe" => ["long",  ["long"]],
155     "DosDateTimeToFileTime" => ["long",  ["long", "long", "ptr"]],
156     "DuplicateHandle" => ["long",  ["long", "long", "long", "ptr", "long", "long", "long"]],
157     "EnumCalendarInfoA" => ["long",  ["ptr", "long", "long", "long"]],
158     "EnumDateFormatsA" => ["long",  ["ptr", "long", "long"]],
159     "EnumDateFormatsW" => ["long",  ["ptr", "long", "long"]],
160     "EnumResourceLanguagesA" => ["long",  ["long", "str", "str", "ptr", "long"]],
161     "EnumResourceLanguagesW" => ["long",  ["long", "wstr", "wstr", "ptr", "long"]],
162     "EnumResourceNamesA" => ["long",  ["long", "str", "ptr", "long"]],
163     "EnumResourceNamesW" => ["long",  ["long", "wstr", "ptr", "long"]],
164     "EnumResourceTypesA" => ["long",  ["long", "ptr", "long"]],
165     "EnumResourceTypesW" => ["long",  ["long", "ptr", "long"]],
166     "EnumSystemCodePagesA" => ["long",  ["ptr", "long"]],
167     "EnumSystemCodePagesW" => ["long",  ["ptr", "long"]],
168     "EnumSystemLocalesA" => ["long",  ["ptr", "long"]],
169     "EnumSystemLocalesW" => ["long",  ["ptr", "long"]],
170     "EnumTimeFormatsA" => ["long",  ["ptr", "long", "long"]],
171     "EnumTimeFormatsW" => ["long",  ["ptr", "long", "long"]],
172     "EraseTape" => ["long",  ["long", "long", "long"]],
173     "EscapeCommFunction" => ["long",  ["long", "long"]],
174     "ExitProcess" => ["void",  ["long"]],
175     "ExitThread" => ["void",  ["long"]],
176     "ExpandEnvironmentStringsA" => ["long",  ["str", "str", "long"]],
177     "ExpandEnvironmentStringsW" => ["long",  ["wstr", "wstr", "long"]],
178     "FT_Exit0" => ["void",  ["ptr"]],
179     "FT_Exit12" => ["void",  ["ptr"]],
180     "FT_Exit16" => ["void",  ["ptr"]],
181     "FT_Exit20" => ["void",  ["ptr"]],
182     "FT_Exit24" => ["void",  ["ptr"]],
183     "FT_Exit28" => ["void",  ["ptr"]],
184     "FT_Exit32" => ["void",  ["ptr"]],
185     "FT_Exit36" => ["void",  ["ptr"]],
186     "FT_Exit4" => ["void",  ["ptr"]],
187     "FT_Exit40" => ["void",  ["ptr"]],
188     "FT_Exit44" => ["void",  ["ptr"]],
189     "FT_Exit48" => ["void",  ["ptr"]],
190     "FT_Exit52" => ["void",  ["ptr"]],
191     "FT_Exit56" => ["void",  ["ptr"]],
192     "FT_Exit8" => ["void",  ["ptr"]],
193     "FT_Prolog" => ["void",  ["ptr"]],
194     "FT_Thunk" => ["void",  ["ptr"]],
195     "FatalAppExitA" => ["void",  ["long", "str"]],
196     "FatalAppExitW" => ["void",  ["long", "wstr"]],
197     "FileTimeToDosDateTime" => ["long",  ["ptr", "ptr", "ptr"]],
198     "FileTimeToLocalFileTime" => ["long",  ["ptr", "ptr"]],
199     "FileTimeToSystemTime" => ["long",  ["ptr", "ptr"]],
200     "FillConsoleOutputAttribute" => ["long",  ["long", "long", "long", "long", "ptr"]],
201     "FillConsoleOutputCharacterA" => ["long",  ["long", "long", "long", "long", "ptr"]],
202     "FillConsoleOutputCharacterW" => ["long",  ["long", "long", "long", "long", "ptr"]],
203     "FindAtomA" => ["long",  ["str"]],
204     "FindAtomW" => ["long",  ["wstr"]],
205     "FindClose" => ["long",  ["long"]],
206     "FindCloseChangeNotification" => ["long",  ["long"]],
207     "FindFirstChangeNotificationA" => ["long",  ["str", "long", "long"]],
208     "FindFirstChangeNotificationW" => ["long",  ["wstr", "long", "long"]],
209     "FindFirstFileA" => ["long",  ["str", "ptr"]],
210     "FindFirstFileExA" => ["long",  ["str", "ptr", "ptr", "ptr", "ptr", "long"]],
211     "FindFirstFileExW" => ["long",  ["wstr", "ptr", "ptr", "ptr", "ptr", "long"]],
212     "FindFirstFileW" => ["long",  ["wstr", "ptr"]],
213     "FindNextChangeNotification" => ["long",  ["long"]],
214     "FindNextFileA" => ["long",  ["long", "ptr"]],
215     "FindNextFileW" => ["long",  ["long", "ptr"]],
216     "FindResource16" => ["long",  ["long", "str", "str"]],
217     "FindResourceA" => ["long",  ["long", "str", "str"]],
218     "FindResourceExA" => ["long",  ["long", "str", "str", "long"]],
219     "FindResourceExW" => ["long",  ["long", "wstr", "wstr", "long"]],
220     "FindResourceW" => ["long",  ["long", "wstr", "wstr"]],
221     "FlushConsoleInputBuffer" => ["long",  ["long"]],
222     "FlushFileBuffers" => ["long",  ["long"]],
223     "FlushInstructionCache" => ["long",  ["long", "long", "long"]],
224     "FlushViewOfFile" => ["long",  ["ptr", "long"]],
225     "FormatMessageA" => ["long",  ["long", "ptr", "long", "long", "str", "long", "ptr"]],
226     "FormatMessageW" => ["long",  ["long", "ptr", "long", "long", "wstr", "long", "ptr"]],
227     "FreeConsole" => ["long",  []],
228     "FreeEnvironmentStringsA" => ["long",  ["str"]],
229     "FreeEnvironmentStringsW" => ["long",  ["wstr"]],
230     "FreeLibrary" => ["long",  ["long"]],
231     "FreeLibraryAndExitThread" => ["void",  ["long", "long"]],
232     "FreeResource" => ["long",  ["long"]],
233     "FreeResource16" => ["long",  ["long"]],
234     "FreeSLCallback" => ["void",  ["long"]],
235     "GenerateConsoleCtrlEvent" => ["long",  ["long", "long"]],
236     "Get16DLLAddress" => ["ptr",  ["long", "str"]],
237     "GetACP" => ["long",  []],
238     "GetAtomNameA" => ["long",  ["long", "str", "long"]],
239     "GetAtomNameW" => ["long",  ["long", "wstr", "long"]],
240     "GetBinaryType" => ["long",  ["str", "ptr"]],
241     "GetBinaryTypeA" => ["long",  ["str", "ptr"]],
242     "GetBinaryTypeW" => ["long",  ["wstr", "ptr"]],
243     "GetCPInfo" => ["long",  ["long", "ptr"]],
244     "GetCalendarInfoA" => ["long",  ["long", "long", "long", "str", "long", "ptr"]],
245     "GetCalendarInfoW" => ["long",  ["long", "long", "long", "wstr", "long", "ptr"]],
246     "GetCommConfig" => ["long",  ["long", "ptr", "ptr"]],
247     "GetCommMask" => ["long",  ["long", "ptr"]],
248     "GetCommModemStatus" => ["long",  ["long", "ptr"]],
249     "GetCommProperties" => ["long",  ["long", "ptr"]],
250     "GetCommState" => ["long",  ["long", "ptr"]],
251     "GetCommTimeouts" => ["long",  ["long", "ptr"]],
252     "GetCommandLineA" => ["str",  []],
253     "GetCommandLineW" => ["wstr",  []],
254     "GetCompressedFileSizeA" => ["long",  ["str", "ptr"]],
255     "GetCompressedFileSizeW" => ["long",  ["wstr", "ptr"]],
256     "GetComputerNameA" => ["long",  ["str", "ptr"]],
257     "GetComputerNameW" => ["long",  ["wstr", "ptr"]],
258     "GetConsoleCP" => ["long",  []],
259     "GetConsoleCursorInfo" => ["long",  ["long", "ptr"]],
260     "GetConsoleMode" => ["long",  ["long", "ptr"]],
261     "GetConsoleOutputCP" => ["long",  []],
262     "GetConsoleScreenBufferInfo" => ["long",  ["long", "ptr"]],
263     "GetConsoleTitleA" => ["long",  ["str", "long"]],
264     "GetConsoleTitleW" => ["long",  ["wstr", "long"]],
265     "GetCurrencyFormatA" => ["long",  ["long", "long", "str", "ptr", "str", "long"]],
266     "GetCurrencyFormatW" => ["long",  ["long", "long", "wstr", "ptr", "wstr", "long"]],
267     "GetCurrentDirectoryA" => ["long",  ["long", "str"]],
268     "GetCurrentDirectoryW" => ["long",  ["long", "wstr"]],
269     "GetCurrentProcess" => ["long",  []],
270     "GetCurrentProcessId" => ["long",  []],
271     "GetCurrentTask" => ["long",  []],
272     "GetCurrentThread" => ["long",  []],
273     "GetCurrentThreadId" => ["long",  []],
274     "GetDOSEnvironment16" => ["ptr",  []],
275     "GetDateFormatA" => ["long",  ["long", "long", "ptr", "str", "str", "long"]],
276     "GetDateFormatW" => ["long",  ["long", "long", "ptr", "wstr", "wstr", "long"]],
277     "GetDefaultCommConfigA" => ["long",  ["str", "ptr", "ptr"]],
278     "GetDefaultCommConfigW" => ["long",  ["wstr", "ptr", "ptr"]],
279     "GetDiskFreeSpaceA" => ["long",  ["str", "ptr", "ptr", "ptr", "ptr"]],
280     "GetDiskFreeSpaceExA" => ["long",  ["str", "ptr", "ptr", "ptr"]],
281     "GetDiskFreeSpaceExW" => ["long",  ["wstr", "ptr", "ptr", "ptr"]],
282     "GetDiskFreeSpaceW" => ["long",  ["wstr", "ptr", "ptr", "ptr", "ptr"]],
283     "GetDriveTypeA" => ["long",  ["str"]],
284     "GetDriveTypeW" => ["long",  ["wstr"]],
285     "GetEnvironmentStrings" => ["str",  []],
286     "GetEnvironmentStringsA" => ["str",  []],
287     "GetEnvironmentStringsW" => ["wstr",  []],
288     "GetEnvironmentVariableA" => ["long",  ["str", "str", "long"]],
289     "GetEnvironmentVariableW" => ["long",  ["wstr", "wstr", "long"]],
290     "GetExitCodeProcess" => ["long",  ["long", "ptr"]],
291     "GetExitCodeThread" => ["long",  ["long", "ptr"]],
292     "GetFileAttributesA" => ["long",  ["str"]],
293     "GetFileAttributesExA" => ["long",  ["str", "ptr", "ptr"]],
294     "GetFileAttributesExW" => ["long",  ["wstr", "ptr", "ptr"]],
295     "GetFileAttributesW" => ["long",  ["wstr"]],
296     "GetFileInformationByHandle" => ["long",  ["long", "ptr"]],
297     "GetFileSize" => ["long",  ["long", "ptr"]],
298     "GetFileTime" => ["long",  ["long", "ptr", "ptr", "ptr"]],
299     "GetFileType" => ["long",  ["long"]],
300     "GetFullPathNameA" => ["long",  ["str", "long", "str", "ptr"]],
301     "GetFullPathNameW" => ["long",  ["wstr", "long", "wstr", "ptr"]],
302     "GetHandleContext" => ["long",  ["long"]],
303     "GetHandleInformation" => ["long",  ["long", "ptr"]],
304     "GetLargestConsoleWindowSize" => ["long",  ["long"]],
305     "GetLastError" => ["long",  []],
306     "GetLocalTime" => ["void",  ["ptr"]],
307     "GetLocaleInfoA" => ["long",  ["long", "long", "str", "long"]],
308     "GetLocaleInfoW" => ["long",  ["long", "long", "wstr", "long"]],
309     "GetLogicalDriveStringsA" => ["long",  ["long", "str"]],
310     "GetLogicalDriveStringsW" => ["long",  ["long", "wstr"]],
311     "GetLogicalDrives" => ["long",  []],
312     "GetLongPathNameA" => ["long",  ["str", "str", "long"]],
313     "GetLongPathNameW" => ["long",  ["wstr", "wstr", "long"]],
314     "GetMailslotInfo" => ["long",  ["long", "ptr", "ptr", "ptr", "ptr"]],
315     "GetModuleFileName16" => ["long",  ["long", "str", "long"]],
316     "GetModuleFileNameA" => ["long",  ["long", "str", "long"]],
317     "GetModuleFileNameW" => ["long",  ["long", "wstr", "long"]],
318     "GetModuleHandle16" => ["long",  ["str"]],
319     "GetModuleHandleA" => ["long",  ["str"]],
320     "GetModuleHandleW" => ["long",  ["wstr"]],
321     "GetNamedPipeHandleStateA" => ["long",  ["long", "ptr", "ptr", "ptr", "ptr", "str", "long"]],
322     "GetNamedPipeHandleStateW" => ["long",  ["long", "ptr", "ptr", "ptr", "ptr", "wstr", "long"]],
323     "GetNamedPipeInfo" => ["long",  ["long", "ptr", "ptr", "ptr", "ptr"]],
324     "GetNumberFormatA" => ["long",  ["long", "long", "str", "ptr", "str", "long"]],
325     "GetNumberFormatW" => ["long",  ["long", "long", "wstr", "ptr", "wstr", "long"]],
326     "GetNumberOfConsoleInputEvents" => ["long",  ["long", "ptr"]],
327     "GetNumberOfConsoleMouseButtons" => ["long",  ["ptr"]],
328     "GetOEMCP" => ["long",  []],
329     "GetOverlappedResult" => ["long",  ["long", "ptr", "ptr", "long"]],
330     "GetPriorityClass" => ["long",  ["long"]],
331     "GetPrivateProfileIntA" => ["long",  ["str", "str", "long", "str"]],
332     "GetPrivateProfileIntW" => ["long",  ["wstr", "wstr", "long", "wstr"]],
333     "GetPrivateProfileSectionA" => ["long",  ["str", "str", "long", "str"]],
334     "GetPrivateProfileSectionNamesA" => ["long",  ["str", "long", "str"]],
335     "GetPrivateProfileSectionNamesW" => ["long",  ["wstr", "long", "wstr"]],
336     "GetPrivateProfileSectionW" => ["long",  ["wstr", "wstr", "long", "wstr"]],
337     "GetPrivateProfileStringA" => ["long",  ["str", "str", "str", "str", "long", "str"]],
338     "GetPrivateProfileStringW" => ["long",  ["wstr", "wstr", "wstr", "wstr", "long", "wstr"]],
339     "GetPrivateProfileStructA" => ["long",  ["str", "str", "ptr", "long", "str"]],
340     "GetPrivateProfileStructW" => ["long",  ["wstr", "wstr", "ptr", "long", "wstr"]],
341     "GetProcAddress" => ["ptr",  ["long", "str"]],
342     "GetProcessAffinityMask" => ["long",  ["long", "ptr", "ptr"]],
343     "GetProcessFlags" => ["long",  ["long"]],
344     "GetProcessHeap" => ["long",  []],
345     "GetProcessHeaps" => ["long",  ["long", "ptr"]],
346     "GetProcessShutdownParameters" => ["long",  ["ptr", "ptr"]],
347     "GetProcessTimes" => ["long",  ["long", "ptr", "ptr", "ptr", "ptr"]],
348     "GetProcessVersion" => ["long",  ["long"]],
349     "GetProcessWorkingSetSize" => ["long",  ["long", "ptr", "ptr"]],
350     "GetProfileIntA" => ["long",  ["str", "str", "long"]],
351     "GetProfileIntW" => ["long",  ["wstr", "wstr", "long"]],
352     "GetProfileSectionA" => ["long",  ["str", "str", "long"]],
353     "GetProfileSectionW" => ["long",  ["wstr", "wstr", "long"]],
354     "GetProfileStringA" => ["long",  ["str", "str", "str", "str", "long"]],
355     "GetProfileStringW" => ["long",  ["wstr", "wstr", "wstr", "wstr", "long"]],
356     "GetQueuedCompletionStatus" => ["long",  ["long", "ptr", "ptr", "ptr", "long"]],
357     "GetShortPathNameA" => ["long",  ["str", "str", "long"]],
358     "GetShortPathNameW" => ["long",  ["wstr", "wstr", "long"]],
359     "GetStartupInfoA" => ["void",  ["ptr"]],
360     "GetStartupInfoW" => ["void",  ["ptr"]],
361     "GetStdHandle" => ["long",  ["long"]],
362     "GetStringTypeA" => ["long",  ["long", "long", "str", "long", "ptr"]],
363     "GetStringTypeExA" => ["long",  ["long", "long", "str", "long", "ptr"]],
364     "GetStringTypeExW" => ["long",  ["long", "long", "wstr", "long", "ptr"]],
365     "GetStringTypeW" => ["long",  ["long", "wstr", "long", "ptr"]],
366     "GetSystemDefaultLCID" => ["long",  []],
367     "GetSystemDefaultLangID" => ["long",  []],
368     "GetSystemDirectoryA" => ["long",  ["str", "long"]],
369     "GetSystemDirectoryW" => ["long",  ["wstr", "long"]],
370     "GetSystemInfo" => ["void",  ["ptr"]],
371     "GetSystemPowerStatus" => ["long",  ["ptr"]],
372     "GetSystemTime" => ["void",  ["ptr"]],
373     "GetSystemTimeAdjustment" => ["long",  ["ptr", "ptr", "ptr"]],
374     "GetSystemTimeAsFileTime" => ["void",  ["ptr"]],
375     "GetSystemWindowsDirectoryA" => ["long",  ["str", "long"]],
376     "GetSystemWindowsDirectoryW" => ["long",  ["wstr", "long"]],
377     "GetTapeParameters" => ["long",  ["long", "long", "ptr", "ptr"]],
378     "GetTapePosition" => ["long",  ["long", "long", "ptr", "ptr", "ptr"]],
379     "GetTapeStatus" => ["long",  ["long"]],
380     "GetTempFileNameA" => ["long",  ["str", "str", "long", "str"]],
381     "GetTempFileNameW" => ["long",  ["wstr", "wstr", "long", "wstr"]],
382     "GetTempPathA" => ["long",  ["long", "str"]],
383     "GetTempPathW" => ["long",  ["long", "wstr"]],
384     "GetThreadContext" => ["long",  ["long", "ptr"]],
385     "GetThreadLocale" => ["long",  []],
386     "GetThreadPriority" => ["long",  ["long"]],
387     "GetThreadPriorityBoost" => ["long",  ["long", "ptr"]],
388     "GetThreadSelectorEntry" => ["long",  ["long", "long", "ptr"]],
389     "GetThreadTimes" => ["long",  ["long", "ptr", "ptr", "ptr", "ptr"]],
390     "GetTickCount" => ["long",  []],
391     "GetTimeFormatA" => ["long",  ["long", "long", "ptr", "str", "str", "long"]],
392     "GetTimeFormatW" => ["long",  ["long", "long", "ptr", "wstr", "wstr", "long"]],
393     "GetTimeZoneInformation" => ["long",  ["ptr"]],
394     "GetUserDefaultLCID" => ["long",  []],
395     "GetUserDefaultLangID" => ["long",  []],
396     "GetVersion" => ["long",  []],
397     "GetVersionExA" => ["long",  ["ptr"]],
398     "GetVersionExW" => ["long",  ["ptr"]],
399     "GetVolumeInformationA" => ["long",  ["str", "str", "long", "ptr", "ptr", "ptr", "str", "long"]],
400     "GetVolumeInformationW" => ["long",  ["wstr", "wstr", "long", "ptr", "ptr", "ptr", "wstr", "long"]],
401     "GetWindowsDirectoryA" => ["long",  ["str", "long"]],
402     "GetWindowsDirectoryW" => ["long",  ["wstr", "long"]],
403     "GlobalAddAtomA" => ["long",  ["str"]],
404     "GlobalAddAtomW" => ["long",  ["wstr"]],
405     "GlobalAlloc" => ["long",  ["long", "long"]],
406     "GlobalCompact" => ["long",  ["long"]],
407     "GlobalDeleteAtom" => ["long",  ["long"]],
408     "GlobalFindAtomA" => ["long",  ["str"]],
409     "GlobalFindAtomW" => ["long",  ["wstr"]],
410     "GlobalFix" => ["void",  ["long"]],
411     "GlobalFlags" => ["long",  ["long"]],
412     "GlobalFlags16" => ["long",  ["long"]],
413     "GlobalFree" => ["long",  ["long"]],
414     "GlobalGetAtomNameA" => ["long",  ["long", "str", "long"]],
415     "GlobalGetAtomNameW" => ["long",  ["long", "wstr", "long"]],
416     "GlobalHandle" => ["long",  ["ptr"]],
417     "GlobalLock" => ["ptr",  ["long"]],
418     "GlobalMemoryStatus" => ["void",  ["ptr"]],
419     "GlobalReAlloc" => ["long",  ["long", "long", "long"]],
420     "GlobalReAlloc16" => ["long",  ["long", "long", "long"]],
421     "GlobalSize" => ["long",  ["long"]],
422     "GlobalUnWire" => ["long",  ["long"]],
423     "GlobalUnfix" => ["void",  ["long"]],
424     "GlobalUnlock" => ["long",  ["long"]],
425     "GlobalWire" => ["ptr",  ["long"]],
426     "HeapCompact" => ["long",  ["long", "long"]],
427     "HeapCreate" => ["long",  ["long", "long", "long"]],
428     "HeapDestroy" => ["long",  ["long"]],
429     "HeapLock" => ["long",  ["long"]],
430     "HeapUnlock" => ["long",  ["long"]],
431     "HeapValidate" => ["long",  ["long", "long", "ptr"]],
432     "HeapWalk" => ["long",  ["long", "ptr"]],
433     "InitAtomTable" => ["long",  ["long"]],
434     "InitializeCriticalSection" => ["void",  ["ptr"]],
435     "InitializeCriticalSectionAndSpinCount" => ["long",  ["ptr", "long"]],
436     "InterlockedCompareExchange" => ["long",  ["ptr", "long", "long"]],
437     "InterlockedDecrement" => ["long",  ["ptr"]],
438     "InterlockedExchange" => ["long",  ["ptr", "long"]],
439     "InterlockedExchangeAdd" => ["long",  ["ptr", "long"]],
440     "InterlockedIncrement" => ["long",  ["ptr"]],
441     "IsBadCodePtr" => ["long",  ["ptr"]],
442     "IsBadHugeReadPtr" => ["long",  ["ptr", "long"]],
443     "IsBadHugeWritePtr" => ["long",  ["ptr", "long"]],
444     "IsBadReadPtr" => ["long",  ["ptr", "long"]],
445     "IsBadStringPtrA" => ["long",  ["str", "long"]],
446     "IsBadStringPtrW" => ["long",  ["wstr", "long"]],
447     "IsBadWritePtr" => ["long",  ["ptr", "long"]],
448     "IsDBCSLeadByte" => ["long",  ["long"]],
449     "IsDBCSLeadByteEx" => ["long",  ["long", "long"]],
450     "IsDebuggerPresent" => ["long",  []],
451     "IsProcessorFeaturePresent" => ["long",  ["long"]],
452     "IsTask16" => ["long",  ["long"]],
453     "IsValidCodePage" => ["long",  ["long"]],
454     "IsValidLocale" => ["long",  ["long", "long"]],
455     "K32Thk1632Epilog" => ["void",  ["ptr"]],
456     "K32Thk1632Prolog" => ["void",  ["ptr"]],
457     "LCMapStringA" => ["long",  ["long", "long", "str", "long", "str", "long"]],
458     "LCMapStringW" => ["long",  ["long", "long", "wstr", "long", "wstr", "long"]],
459     "LoadLibraryA" => ["long",  ["str"]],
460     "LoadLibraryExA" => ["long",  ["str", "long", "long"]],
461     "LoadLibraryExW" => ["long",  ["wstr", "long", "long"]],
462     "LoadLibraryW" => ["long",  ["wstr"]],
463     "LoadModule" => ["long",  ["str", "ptr"]],
464     "LoadModule16" => ["long",  ["str", "ptr"]],
465     "LoadResource" => ["long",  ["long", "long"]],
466     "LoadResource16" => ["long",  ["long", "long"]],
467     "LocalAlloc" => ["long",  ["long", "long"]],
468     "LocalCompact" => ["long",  ["long"]],
469     "LocalFileTimeToFileTime" => ["long",  ["ptr", "ptr"]],
470     "LocalFlags" => ["long",  ["long"]],
471     "LocalFree" => ["long",  ["long"]],
472     "LocalHandle" => ["long",  ["ptr"]],
473     "LocalLock" => ["ptr",  ["long"]],
474     "LocalReAlloc" => ["long",  ["long", "long", "long"]],
475     "LocalShrink" => ["long",  ["long", "long"]],
476     "LocalSize" => ["long",  ["long"]],
477     "LocalUnlock" => ["long",  ["long"]],
478     "LockFile" => ["long",  ["long", "long", "long", "long", "long"]],
479     "LockFileEx" => ["long",  ["long", "long", "long", "long", "long", "ptr"]],
480     "LockResource" => ["ptr",  ["long"]],
481     "LockResource16" => ["ptr",  ["long"]],
482     "MakeCriticalSectionGlobal" => ["void",  ["ptr"]],
483     "MapHInstLS" => ["void",  ["ptr"]],
484     "MapHInstLS_PN" => ["void",  ["ptr"]],
485     "MapHInstSL" => ["void",  ["ptr"]],
486     "MapHInstSL_PN" => ["void",  ["ptr"]],
487     "MapHModuleLS" => ["long",  ["long"]],
488     "MapHModuleSL" => ["long",  ["long"]],
489     "MapLS" => ["ptr",  ["ptr"]],
490     "MapSL" => ["ptr",  ["ptr"]],
491     "MapSLFix" => ["ptr",  ["ptr"]],
492     "MapViewOfFile" => ["ptr",  ["long", "long", "long", "long", "long"]],
493     "MapViewOfFileEx" => ["ptr",  ["long", "long", "long", "long", "long", "ptr"]],
494     "Module32First" => ["long",  ["long", "ptr"]],
495     "Module32Next" => ["long",  ["long", "ptr"]],
496     "MoveFileA" => ["long",  ["str", "str"]],
497     "MoveFileExA" => ["long",  ["str", "str", "long"]],
498     "MoveFileExW" => ["long",  ["wstr", "wstr", "long"]],
499     "MoveFileW" => ["long",  ["wstr", "wstr"]],
500     "MulDiv" => ["long",  ["long", "long", "long"]],
501     "MultiByteToWideChar" => ["long",  ["long", "long", "str", "long", "wstr", "long"]],
502     "OpenEventA" => ["long",  ["long", "long", "str"]],
503     "OpenEventW" => ["long",  ["long", "long", "wstr"]],
504     "OpenFile" => ["long",  ["str", "ptr", "long"]],
505     "OpenFileMappingA" => ["long",  ["long", "long", "str"]],
506     "OpenFileMappingW" => ["long",  ["long", "long", "wstr"]],
507     "OpenMutexA" => ["long",  ["long", "long", "str"]],
508     "OpenMutexW" => ["long",  ["long", "long", "wstr"]],
509     "OpenProcess" => ["long",  ["long", "long", "long"]],
510     "OpenSemaphoreA" => ["long",  ["long", "long", "str"]],
511     "OpenSemaphoreW" => ["long",  ["long", "long", "wstr"]],
512     "OpenVxDHandle" => ["long",  ["long"]],
513     "OpenWaitableTimerA" => ["long",  ["long", "long", "str"]],
514     "OpenWaitableTimerW" => ["long",  ["long", "long", "wstr"]],
515     "OutputDebugStringA" => ["void",  ["str"]],
516     "OutputDebugStringW" => ["void",  ["wstr"]],
517     "PeekConsoleInputA" => ["long",  ["long", "ptr", "long", "ptr"]],
518     "PeekConsoleInputW" => ["long",  ["long", "ptr", "long", "ptr"]],
519     "PeekNamedPipe" => ["long",  ["long", "ptr", "long", "ptr", "ptr", "ptr"]],
520     "PrepareTape" => ["long",  ["long", "long", "long"]],
521     "PrivateFreeLibrary" => ["void",  ["long"]],
522     "PrivateLoadLibrary" => ["long",  ["str"]],
523     "Process32First" => ["long",  ["long", "ptr"]],
524     "Process32Next" => ["long",  ["long", "ptr"]],
525     "ProcessIdToSessionId" => ["long",  ["long", "ptr"]],
526     "PulseEvent" => ["long",  ["long"]],
527     "PurgeComm" => ["long",  ["long", "long"]],
528     "QT_Thunk" => ["void",  ["ptr"]],
529     "QueryDosDeviceA" => ["long",  ["str", "str", "long"]],
530     "QueryDosDeviceW" => ["long",  ["wstr", "wstr", "long"]],
531     "QueryPerformanceCounter" => ["long",  ["ptr"]],
532     "QueryPerformanceFrequency" => ["long",  ["ptr"]],
533     "QueueUserAPC" => ["long",  ["ptr", "long", "long"]],
534     "RaiseException" => ["void",  ["long", "long", "long", "ptr"]],
535     "ReadConsoleA" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
536     "ReadConsoleInputA" => ["long",  ["long", "ptr", "long", "ptr"]],
537     "ReadConsoleInputW" => ["long",  ["long", "ptr", "long", "ptr"]],
538     "ReadConsoleOutputA" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
539     "ReadConsoleOutputAttribute" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
540     "ReadConsoleOutputCharacterA" => ["long",  ["long", "str", "long", "long", "ptr"]],
541     "ReadConsoleOutputCharacterW" => ["long",  ["long", "wstr", "long", "long", "ptr"]],
542     "ReadConsoleOutputW" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
543     "ReadConsoleW" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
544     "ReadFile" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
545     "ReadFileEx" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
546     "ReadProcessMemory" => ["long",  ["long", "ptr", "ptr", "long", "ptr"]],
547     "RegisterServiceProcess" => ["long",  ["long", "long"]],
548     "ReinitializeCriticalSection" => ["void",  ["ptr"]],
549     "ReleaseMutex" => ["long",  ["long"]],
550     "ReleaseSemaphore" => ["long",  ["long", "long", "ptr"]],
551     "RemoveDirectoryA" => ["long",  ["str"]],
552     "RemoveDirectoryW" => ["long",  ["wstr"]],
553     "ResetEvent" => ["long",  ["long"]],
554     "ResumeThread" => ["long",  ["long"]],
555     "SMapLS" => ["void",  ["ptr"]],
556     "SMapLS_IP_EBP_12" => ["void",  ["ptr"]],
557     "SMapLS_IP_EBP_16" => ["void",  ["ptr"]],
558     "SMapLS_IP_EBP_20" => ["void",  ["ptr"]],
559     "SMapLS_IP_EBP_24" => ["void",  ["ptr"]],
560     "SMapLS_IP_EBP_28" => ["void",  ["ptr"]],
561     "SMapLS_IP_EBP_32" => ["void",  ["ptr"]],
562     "SMapLS_IP_EBP_36" => ["void",  ["ptr"]],
563     "SMapLS_IP_EBP_40" => ["void",  ["ptr"]],
564     "SMapLS_IP_EBP_8" => ["void",  ["ptr"]],
565     "SUnMapLS" => ["void",  ["ptr"]],
566     "SUnMapLS_IP_EBP_12" => ["void",  ["ptr"]],
567     "SUnMapLS_IP_EBP_16" => ["void",  ["ptr"]],
568     "SUnMapLS_IP_EBP_20" => ["void",  ["ptr"]],
569     "SUnMapLS_IP_EBP_24" => ["void",  ["ptr"]],
570     "SUnMapLS_IP_EBP_28" => ["void",  ["ptr"]],
571     "SUnMapLS_IP_EBP_32" => ["void",  ["ptr"]],
572     "SUnMapLS_IP_EBP_36" => ["void",  ["ptr"]],
573     "SUnMapLS_IP_EBP_40" => ["void",  ["ptr"]],
574     "SUnMapLS_IP_EBP_8" => ["void",  ["ptr"]],
575     "ScrollConsoleScreenBufferA" => ["long",  ["long", "ptr", "ptr", "long", "ptr"]],
576     "SearchPathA" => ["long",  ["str", "str", "str", "long", "str", "ptr"]],
577     "SearchPathW" => ["long",  ["wstr", "wstr", "wstr", "long", "wstr", "ptr"]],
578     "SetCalendarInfoA" => ["long",  ["long", "long", "long", "str"]],
579     "SetCalendarInfoW" => ["long",  ["long", "long", "long", "wstr"]],
580     "SetCommBreak" => ["long",  ["long"]],
581     "SetCommConfig" => ["long",  ["long", "ptr", "long"]],
582     "SetCommMask" => ["long",  ["long", "long"]],
583     "SetCommState" => ["long",  ["long", "ptr"]],
584     "SetCommTimeouts" => ["long",  ["long", "ptr"]],
585     "SetComputerNameA" => ["long",  ["str"]],
586     "SetComputerNameW" => ["long",  ["wstr"]],
587     "SetConsoleActiveScreenBuffer" => ["long",  ["long"]],
588     "SetConsoleCP" => ["long",  ["long"]],
589     "SetConsoleCursorInfo" => ["long",  ["long", "ptr"]],
590     "SetConsoleCursorPosition" => ["long",  ["long", "long"]],
591     "SetConsoleInputExeNameA" => ["long",  ["str"]],
592     "SetConsoleInputExeNameW" => ["long",  ["wstr"]],
593     "SetConsoleMode" => ["long",  ["long", "long"]],
594     "SetConsoleOutputCP" => ["long",  ["long"]],
595     "SetConsoleScreenBufferSize" => ["long",  ["long", "long"]],
596     "SetConsoleTextAttribute" => ["long",  ["long", "long"]],
597     "SetConsoleTitleA" => ["long",  ["str"]],
598     "SetConsoleTitleW" => ["long",  ["wstr"]],
599     "SetConsoleWindowInfo" => ["long",  ["long", "long", "ptr"]],
600     "SetCriticalSectionSpinCount" => ["long",  ["ptr", "long"]],
601     "SetCurrentDirectoryA" => ["long",  ["str"]],
602     "SetCurrentDirectoryW" => ["long",  ["wstr"]],
603     "SetDefaultCommConfigA" => ["long",  ["str", "ptr", "long"]],
604     "SetDefaultCommConfigW" => ["long",  ["wstr", "ptr", "long"]],
605     "SetEndOfFile" => ["long",  ["long"]],
606     "SetEnvironmentVariableA" => ["long",  ["str", "str"]],
607     "SetEnvironmentVariableW" => ["long",  ["wstr", "wstr"]],
608     "SetErrorMode" => ["long",  ["long"]],
609     "SetEvent" => ["long",  ["long"]],
610     "SetFileApisToANSI" => ["void",  []],
611     "SetFileApisToOEM" => ["void",  []],
612     "SetFileAttributesA" => ["long",  ["str", "long"]],
613     "SetFileAttributesW" => ["long",  ["wstr", "long"]],
614     "SetFilePointer" => ["long",  ["long", "long", "ptr", "long"]],
615     "SetFileTime" => ["long",  ["long", "ptr", "ptr", "ptr"]],
616     "SetHandleContext" => ["long",  ["long", "long"]],
617     "SetHandleCount" => ["long",  ["long"]],
618     "SetHandleInformation" => ["long",  ["long", "long", "long"]],
619     "SetLastError" => ["void",  ["long"]],
620     "SetLocalTime" => ["long",  ["ptr"]],
621     "SetLocaleInfoA" => ["long",  ["long", "long", "str"]],
622     "SetNamedPipeHandleState" => ["long",  ["long", "ptr", "ptr", "ptr"]],
623     "SetPriorityClass" => ["long",  ["long", "long"]],
624     "SetProcessAffinityMask" => ["long",  ["long", "long"]],
625     "SetProcessPriorityBoost" => ["long",  ["long", "long"]],
626     "SetProcessShutdownParameters" => ["long",  ["long", "long"]],
627     "SetProcessWorkingSetSize" => ["long",  ["long", "long", "long"]],
628     "SetStdHandle" => ["long",  ["long", "long"]],
629     "SetSystemPowerState" => ["long",  ["long", "long"]],
630     "SetSystemTime" => ["long",  ["ptr"]],
631     "SetTapeParameters" => ["long",  ["long", "long", "ptr"]],
632     "SetTapePosition" => ["long",  ["long", "long", "long", "long", "long", "long"]],
633     "SetThreadAffinityMask" => ["long",  ["long", "long"]],
634     "SetThreadContext" => ["long",  ["long", "ptr"]],
635     "SetThreadExecutionState" => ["long",  ["long"]],
636     "SetThreadLocale" => ["long",  ["long"]],
637     "SetThreadPriority" => ["long",  ["long", "long"]],
638     "SetThreadPriorityBoost" => ["long",  ["long", "long"]],
639     "SetTimeZoneInformation" => ["long",  ["ptr"]],
640     "SetUnhandledExceptionFilter" => ["ptr",  ["ptr"]],
641     "SetVolumeLabelA" => ["long",  ["str", "str"]],
642     "SetVolumeLabelW" => ["long",  ["wstr", "wstr"]],
643     "SetWaitableTimer" => ["long",  ["long", "ptr", "long", "ptr", "ptr", "long"]],
644     "SetupComm" => ["long",  ["long", "long", "long"]],
645     "SizeofResource" => ["long",  ["long", "long"]],
646     "SizeofResource16" => ["long",  ["long", "long"]],
647     "Sleep" => ["void",  ["long"]],
648     "SleepEx" => ["long",  ["long", "long"]],
649     "SuspendThread" => ["long",  ["long"]],
650     "SystemTimeToFileTime" => ["long",  ["ptr", "ptr"]],
651     "SystemTimeToTzSpecificLocalTime" => ["long",  ["ptr", "ptr", "ptr"]],
652     "TerminateProcess" => ["long",  ["long", "long"]],
653     "TerminateThread" => ["long",  ["long", "long"]],
654     "Thread32First" => ["long",  ["long", "ptr"]],
655     "Thread32Next" => ["long",  ["long", "ptr"]],
656     "ThunkConnect32" => ["long",  ["ptr", "str", "str", "str", "long", "long"]],
657     "TlsAlloc" => ["long",  []],
658     "TlsFree" => ["long",  ["long"]],
659     "TlsGetValue" => ["ptr",  ["long"]],
660     "TlsSetValue" => ["long",  ["long", "ptr"]],
661     "TransactNamedPipe" => ["long",  ["long", "ptr", "long", "ptr", "long", "ptr", "ptr"]],
662     "TransmitCommChar" => ["long",  ["long", "long"]],
663     "UTRegister" => ["long",  ["long", "str", "str", "str", "ptr", "ptr", "ptr"]],
664     "UTUnRegister" => ["void",  ["long"]],
665     "UnMapLS" => ["void",  ["ptr"]],
666     "UnMapSLFixArray" => ["void",  ["ptr", "long", "ptr"]],
667     "UnhandledExceptionFilter" => ["long",  ["ptr"]],
668     "UninitializeCriticalSection" => ["void",  ["ptr"]],
669     "UnlockFile" => ["long",  ["long", "long", "long", "long", "long"]],
670     "UnlockFileEx" => ["long",  ["long", "long", "long", "long", "ptr"]],
671     "UnmapViewOfFile" => ["long",  ["ptr"]],
672     "UpdateResourceA" => ["long",  ["long", "str", "str", "long", "ptr", "long"]],
673     "UpdateResourceW" => ["long",  ["long", "wstr", "wstr", "long", "ptr", "long"]],
674     "VerLanguageNameA" => ["long",  ["long", "str", "long"]],
675     "VerLanguageNameW" => ["long",  ["long", "wstr", "long"]],
676     "VirtualAlloc" => ["ptr",  ["ptr", "long", "long", "long"]],
677     "VirtualAllocEx" => ["ptr",  ["long", "ptr", "long", "long", "long"]],
678     "VirtualFree" => ["long",  ["ptr", "long", "long"]],
679     "VirtualLock" => ["long",  ["ptr", "long"]],
680     "VirtualProtect" => ["long",  ["ptr", "long", "long", "ptr"]],
681     "VirtualProtectEx" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
682     "VirtualQuery" => ["long",  ["ptr", "ptr", "long"]],
683     "VirtualQueryEx" => ["long",  ["long", "ptr", "ptr", "long"]],
684     "VirtualUnlock" => ["long",  ["ptr", "long"]],
685     "WaitCommEvent" => ["long",  ["long", "ptr", "ptr"]],
686     "WaitForDebugEvent" => ["long",  ["ptr", "long"]],
687     "WaitForMultipleObjects" => ["long",  ["long", "ptr", "long", "long"]],
688     "WaitForMultipleObjectsEx" => ["long",  ["long", "ptr", "long", "long", "long"]],
689     "WaitForSingleObject" => ["long",  ["long", "long"]],
690     "WaitForSingleObjectEx" => ["long",  ["long", "long", "long"]],
691     "WaitNamedPipeA" => ["long",  ["str", "long"]],
692     "WaitNamedPipeW" => ["long",  ["wstr", "long"]],
693     "WideCharToMultiByte" => ["long",  ["long", "long", "wstr", "long", "str", "long", "str", "ptr"]],
694     "WinExec" => ["long",  ["str", "long"]],
695     "WinExec16" => ["long",  ["str", "long"]],
696     "WriteConsoleA" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
697     "WriteConsoleInputA" => ["long",  ["long", "ptr", "long", "ptr"]],
698     "WriteConsoleInputW" => ["long",  ["long", "ptr", "long", "ptr"]],
699     "WriteConsoleOutputA" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
700     "WriteConsoleOutputAttribute" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
701     "WriteConsoleOutputCharacterA" => ["long",  ["long", "str", "long", "long", "ptr"]],
702     "WriteConsoleOutputCharacterW" => ["long",  ["long", "wstr", "long", "long", "ptr"]],
703     "WriteConsoleOutputW" => ["long",  ["long", "ptr", "long", "long", "ptr"]],
704     "WriteConsoleW" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
705     "WriteFile" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
706     "WriteFileEx" => ["long",  ["long", "ptr", "long", "ptr", "ptr"]],
707     "WritePrivateProfileSectionA" => ["long",  ["str", "str", "str"]],
708     "WritePrivateProfileSectionW" => ["long",  ["wstr", "wstr", "wstr"]],
709     "WritePrivateProfileStringA" => ["long",  ["str", "str", "str", "str"]],
710     "WritePrivateProfileStringW" => ["long",  ["wstr", "wstr", "wstr", "wstr"]],
711     "WritePrivateProfileStructA" => ["long",  ["str", "str", "ptr", "long", "str"]],
712     "WritePrivateProfileStructW" => ["long",  ["wstr", "wstr", "ptr", "long", "wstr"]],
713     "WriteProcessMemory" => ["long",  ["long", "ptr", "ptr", "long", "ptr"]],
714     "WriteProfileSectionA" => ["long",  ["str", "str"]],
715     "WriteProfileSectionW" => ["long",  ["wstr", "wstr"]],
716     "WriteProfileStringA" => ["long",  ["str", "str", "str"]],
717     "WriteProfileStringW" => ["long",  ["wstr", "wstr", "wstr"]],
718     "WriteTapemark" => ["long",  ["long", "long", "long", "long"]],
719     "_hread" => ["long",  ["long", "ptr", "long"]],
720     "_hwrite" => ["long",  ["long", "str", "long"]],
721     "_lclose" => ["long",  ["long"]],
722     "_lcreat" => ["long",  ["str", "long"]],
723     "_llseek" => ["long",  ["long", "long", "long"]],
724     "_lopen" => ["long",  ["str", "long"]],
725     "_lread" => ["long",  ["long", "ptr", "long"]],
726     "_lwrite" => ["long",  ["long", "str", "long"]],
727     "lstrcat" => ["str",  ["str", "str"]],
728     "lstrcatA" => ["str",  ["str", "str"]],
729     "lstrcatW" => ["wstr",  ["wstr", "wstr"]],
730     "lstrcmp" => ["long",  ["str", "str"]],
731     "lstrcmpA" => ["long",  ["str", "str"]],
732     "lstrcmpW" => ["long",  ["wstr", "wstr"]],
733     "lstrcmpi" => ["long",  ["str", "str"]],
734     "lstrcmpiA" => ["long",  ["str", "str"]],
735     "lstrcmpiW" => ["long",  ["wstr", "wstr"]],
736     "lstrcpy" => ["str",  ["str", "str"]],
737     "lstrcpyA" => ["str",  ["str", "str"]],
738     "lstrcpyW" => ["wstr",  ["wstr", "wstr"]],
739     "lstrcpyn" => ["str",  ["str", "str", "long"]],
740     "lstrcpynA" => ["str",  ["str", "str", "long"]],
741     "lstrcpynW" => ["wstr",  ["wstr", "wstr", "long"]],
742     "lstrlen" => ["long",  ["str"]],
743     "lstrlenA" => ["long",  ["str"]],
744     "lstrlenW" => ["long",  ["wstr"]],
745     "wine_call_to_16_long" => ["long",  ["ptr", "long"]],
746     "wine_call_to_16_regs_long" => ["void",  ["ptr", "long"]],
747     "wine_call_to_16_regs_short" => ["void",  ["ptr", "long"]],
748     "wine_call_to_16_word" => ["long",  ["ptr", "long"]],
749     "wine_get_unix_file_name" => ["long",  ["str", "str", "long"]]
750 };
751
752 &wine::declare("kernel32",%$module_declarations);
753 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
754 1;