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