ntdll: Fix race in NtRead/WriteFile.
[wine/testsucceed.git] / dlls / krnl386.exe16 / krnl386.exe16.spec
blobf3dbbea577c891494358557e5358cd02de95b755
1 # 1-207 are the basic functions, those are (with minor variations)
2 # present in win31, win95 and nt351
4 1 stub FatalExit
5 2 pascal -ret16 ExitKernel() ExitKernel16
6 3 pascal GetVersion() GetVersion16
7 4 pascal -ret16 LocalInit(word word word) LocalInit16
8 5 pascal -ret16 LocalAlloc(word word) LocalAlloc16
9 6 pascal -ret16 LocalReAlloc(word word word) LocalReAlloc16
10 7 pascal -ret16 LocalFree(word) LocalFree16
11 8 pascal LocalLock(word) LocalLock16
12 9 pascal -ret16 LocalUnlock(word) LocalUnlock16
13 10 pascal -ret16 LocalSize(word) LocalSize16
14 11 pascal -ret16 LocalHandle(word) LocalHandle16
15 12 pascal -ret16 LocalFlags(word) LocalFlags16
16 13 pascal -ret16 LocalCompact(word) LocalCompact16
17 14 pascal LocalNotify(long) LocalNotify16
18 15 pascal -ret16 GlobalAlloc(word long) GlobalAlloc16
19 16 pascal -ret16 GlobalReAlloc(word long word) GlobalReAlloc16
20 17 pascal -ret16 GlobalFree(word) GlobalFree16
21 18 pascal GlobalLock(word) WIN16_GlobalLock16
22 19 pascal -ret16 GlobalUnlock(word) GlobalUnlock16
23 20 pascal GlobalSize(word) GlobalSize16
24 21 pascal GlobalHandle(word) GlobalHandle16
25 22 pascal -ret16 GlobalFlags(word) GlobalFlags16
26 23 pascal -ret16 LockSegment(word) LockSegment16
27 24 pascal -ret16 UnlockSegment(word) UnlockSegment16
28 25 pascal GlobalCompact(long) GlobalCompact16
29 26 pascal -ret16 GlobalFreeAll(word) GlobalFreeAll16
30 27 pascal -ret16 GetModuleName(word ptr word) GetModuleName16 # W1.1: SETSWAPHOOK, W2.0: nothing !
31 28 pascal GlobalMasterHandle() GlobalMasterHandle16
32 29 pascal -ret16 Yield() Yield16
33 30 pascal -ret16 WaitEvent(word) WaitEvent16
34 31 pascal -ret16 PostEvent(word) PostEvent16
35 32 pascal -ret16 SetPriority(word s_word) SetPriority16
36 33 pascal -ret16 LockCurrentTask(word) LockCurrentTask16
37 34 pascal -ret16 SetTaskQueue(word word) SetTaskQueue16
38 35 pascal -ret16 GetTaskQueue(word) GetTaskQueue16
39 36 pascal GetCurrentTask() WIN16_GetCurrentTask
40 37 pascal GetCurrentPDB() GetCurrentPDB16
41 38 pascal SetTaskSignalProc(word segptr) SetTaskSignalProc
42 39 stub SetTaskSwitchProc # W1.1, W2.0
43 40 stub SetTaskInterchange # W1.1, W2.0
44 41 pascal -ret16 EnableDos() KERNEL_nop
45 42 pascal -ret16 DisableDos() KERNEL_nop
46 43 stub IsScreenGrab # W1.1, W2.0
47 44 stub BuildPDB # W1.1, W2.0
48 45 pascal -ret16 LoadModule(str ptr) LoadModule16
49 46 pascal -ret16 FreeModule(word) FreeModule16
50 47 pascal GetModuleHandle(segstr) WIN16_GetModuleHandle
51 48 pascal -ret16 GetModuleUsage(word) GetModuleUsage16
52 49 pascal -ret16 GetModuleFileName(word ptr s_word) GetModuleFileName16
53 50 pascal GetProcAddress(word str) GetProcAddress16
54 51 pascal MakeProcInstance(segptr word) MakeProcInstance16
55 52 pascal -ret16 FreeProcInstance(segptr) FreeProcInstance16
56 53 stub CallProcInstance
57 54 pascal -ret16 GetInstanceData(word word word) GetInstanceData16
58 55 pascal -register Catch(ptr) Catch16
59 56 pascal -register Throw(ptr word) Throw16
60 57 pascal -ret16 GetProfileInt(str str s_word) GetProfileInt16
61 58 pascal -ret16 GetProfileString(str str str ptr word) GetProfileString16
62 59 pascal -ret16 WriteProfileString(str str str) WriteProfileString16
63 60 pascal -ret16 FindResource(word str str) FindResource16
64 61 pascal -ret16 LoadResource(word word) LoadResource16
65 62 pascal LockResource(word) WIN16_LockResource16
66 63 pascal -ret16 FreeResource(word) FreeResource16
67 64 pascal -ret16 AccessResource(word word) AccessResource16
68 65 pascal SizeofResource(word word) SizeofResource16
69 66 pascal -ret16 AllocResource(word word long) AllocResource16
70 67 pascal SetResourceHandler(word str segptr) SetResourceHandler16
71 68 pascal -ret16 InitAtomTable(word) InitAtomTable16
72 69 pascal -ret16 FindAtom(str) FindAtom16
73 70 pascal -ret16 AddAtom(str) AddAtom16
74 71 pascal -ret16 DeleteAtom(word) DeleteAtom16
75 72 pascal -ret16 GetAtomName(word ptr word) GetAtomName16
76 73 pascal -ret16 GetAtomHandle(word) GetAtomHandle16
77 74 pascal -ret16 OpenFile(str ptr word) OpenFile16
78 75 stub OpenPathName
79 76 stub DeletePathName
80 # Reserved*: old Win 2.x functions now moved to USER (Win 3.0+)
81 77 pascal Reserved1(segptr) KERNEL_AnsiNext16
82 78 pascal Reserved2(segptr segptr) KERNEL_AnsiPrev16
83 79 pascal Reserved3(segstr) KERNEL_AnsiUpper16
84 80 pascal Reserved4(segstr) KERNEL_AnsiLower16
85 81 pascal -ret16 _lclose(word) _lclose16
86 82 pascal -ret16 _lread(word segptr word) WIN16_lread
87 83 pascal -ret16 _lcreat(str word) _lcreat16
88 84 pascal _llseek(word long word) _llseek16
89 85 pascal -ret16 _lopen(str word) _lopen16
90 86 pascal -ret16 _lwrite(word ptr word) _lwrite16
91 87 pascal -ret16 Reserved5(str str) KERNEL_lstrcmp16
92 88 pascal lstrcpy(segptr str) lstrcpy16
93 89 pascal lstrcat(segstr str) lstrcat16
94 90 pascal -ret16 lstrlen(str) lstrlen16
95 91 pascal -register InitTask() InitTask16
96 92 pascal GetTempDrive(word) GetTempDrive
97 93 pascal -ret16 GetCodeHandle(segptr) GetCodeHandle16
98 94 pascal -ret16 DefineHandleTable(word) DefineHandleTable16
99 95 pascal -ret16 LoadLibrary(str) LoadLibrary16
100 96 pascal -ret16 FreeLibrary(word) FreeLibrary16
101 97 pascal -ret16 GetTempFileName(word str word ptr) GetTempFileName16
102 98 pascal -ret16 GetLastDiskChange() KERNEL_nop
103 99 stub GetLPErrMode
104 100 pascal -ret16 ValidateCodeSegments() KERNEL_nop
105 101 stub NoHookDosCall
106 102 pascal -register DOS3Call() DOS3Call
107 103 pascal -register NetBIOSCall() NetBIOSCall16
108 104 pascal -ret16 GetCodeInfo(segptr ptr) GetCodeInfo16
109 105 pascal -ret16 GetExeVersion() GetExeVersion16
110 106 pascal SetSwapAreaSize(word) SetSwapAreaSize16
111 107 pascal -ret16 SetErrorMode(word) SetErrorMode16
112 108 pascal -ret16 SwitchStackTo(word word word) SwitchStackTo16 # STO in W2.0
113 109 pascal -register SwitchStackBack() SwitchStackBack16 # SBACK in W2.0
114 110 pascal PatchCodeHandle(word) PatchCodeHandle16
115 111 pascal GlobalWire(word) GlobalWire16
116 112 pascal -ret16 GlobalUnWire(word) GlobalUnWire16
117 113 equate __AHSHIFT 3
118 114 equate __AHINCR 8
119 115 pascal -ret16 OutputDebugString(str) OutputDebugString16
120 116 stub InitLib
121 117 pascal -ret16 OldYield() OldYield16
122 118 pascal -ret16 GetTaskQueueDS() GetTaskQueueDS16
123 119 pascal -ret16 GetTaskQueueES() GetTaskQueueES16
124 120 stub UndefDynLink
125 121 pascal -ret16 LocalShrink(word word) LocalShrink16
126 122 pascal -ret16 IsTaskLocked() IsTaskLocked16
127 123 pascal -ret16 KbdRst() KERNEL_nop
128 124 pascal -ret16 EnableKernel() KERNEL_nop
129 125 pascal -ret16 DisableKernel() KERNEL_nop
130 126 stub MemoryFreed
131 127 pascal -ret16 GetPrivateProfileInt(str str s_word str) GetPrivateProfileInt16
132 128 pascal -ret16 GetPrivateProfileString(str str str ptr word str) GetPrivateProfileString16
133 129 pascal -ret16 WritePrivateProfileString(str str str str) WritePrivateProfileString16
134 130 pascal FileCDR(ptr) FileCDR16
135 131 pascal GetDOSEnvironment() GetDOSEnvironment16
136 132 pascal GetWinFlags() GetWinFlags16
137 133 pascal -ret16 GetExePtr(word) WIN16_GetExePtr
138 134 pascal -ret16 GetWindowsDirectory(ptr word) GetWindowsDirectory16
139 135 pascal -ret16 GetSystemDirectory(ptr word) GetSystemDirectory16
140 136 pascal -ret16 GetDriveType(word) GetDriveType16
141 137 pascal -ret16 FatalAppExit(word str) FatalAppExit16
142 138 pascal GetHeapSpaces(word) GetHeapSpaces16
143 139 stub DoSignal
144 140 pascal -ret16 SetSigHandler(segptr ptr ptr word word) SetSigHandler16
145 141 stub InitTask1
146 142 pascal -ret16 GetProfileSectionNames(ptr word) GetProfileSectionNames16
147 143 pascal -ret16 GetPrivateProfileSectionNames(ptr word str) GetPrivateProfileSectionNames16
148 144 pascal -ret16 CreateDirectory(ptr ptr) CreateDirectory16
149 145 pascal -ret16 RemoveDirectory(ptr) RemoveDirectory16
150 146 pascal -ret16 DeleteFile(ptr) DeleteFile16
151 147 pascal -ret16 SetLastError(long) SetLastError16
152 148 pascal GetLastError() GetLastError16
153 149 pascal -ret16 GetVersionEx(ptr) GetVersionEx16
154 150 pascal -ret16 DirectedYield(word) DirectedYield16
155 151 stub WinOldApCall
156 152 pascal -ret16 GetNumTasks() GetNumTasks16
157 154 pascal -ret16 GlobalNotify(segptr) GlobalNotify16
158 155 pascal -ret16 GetTaskDS() GetTaskDS16
159 156 pascal LimitEMSPages(long) LimitEMSPages16
160 157 pascal GetCurPID(long) GetCurPID16
161 158 pascal -ret16 IsWinOldApTask(word) IsWinOldApTask16
162 159 pascal GlobalHandleNoRIP(word) GlobalHandleNoRIP16
163 160 stub EMSCopy
164 161 pascal -ret16 LocalCountFree() LocalCountFree16
165 162 pascal -ret16 LocalHeapSize() LocalHeapSize16
166 163 pascal -ret16 GlobalLRUOldest(word) GlobalLRUOldest16
167 164 pascal -ret16 GlobalLRUNewest(word) GlobalLRUNewest16
168 165 pascal -ret16 A20Proc(word) A20Proc16
169 166 pascal -ret16 WinExec(str word) WinExec16
170 167 pascal -ret16 GetExpWinVer(word) GetExpWinVer16
171 168 pascal -ret16 DirectResAlloc(word word word) DirectResAlloc16
172 169 pascal GetFreeSpace(word) GetFreeSpace16
173 170 pascal -ret16 AllocCStoDSAlias(word) AllocCStoDSAlias16
174 171 pascal -ret16 AllocDStoCSAlias(word) AllocDStoCSAlias16
175 172 pascal -ret16 AllocAlias(word) AllocCStoDSAlias16
176 173 equate __ROMBIOS 0
177 174 equate __A000H 0
178 175 pascal -ret16 AllocSelector(word) AllocSelector16
179 176 pascal -ret16 FreeSelector(word) FreeSelector16
180 177 pascal -ret16 PrestoChangoSelector(word word) PrestoChangoSelector16
181 178 equate __WINFLAGS 0x413
182 179 equate __D000H 0
183 180 pascal -ret16 LongPtrAdd(long long) LongPtrAdd16
184 181 equate __B000H 0
185 182 equate __B800H 0
186 183 equate __0000H 0
187 184 pascal GlobalDOSAlloc(long) GlobalDOSAlloc16
188 185 pascal -ret16 GlobalDOSFree(word) GlobalDOSFree16
189 186 pascal GetSelectorBase(word) GetSelectorBase
190 187 pascal -ret16 SetSelectorBase(word long) SetSelectorBase
191 188 pascal GetSelectorLimit(word) GetSelectorLimit16
192 189 pascal -ret16 SetSelectorLimit(word long) SetSelectorLimit16
193 190 equate __E000H 0
194 191 pascal -ret16 GlobalPageLock(word) GlobalPageLock16
195 192 pascal -ret16 GlobalPageUnlock(word) GlobalPageUnlock16
196 193 equate __0040H 0
197 194 equate __F000H 0
198 195 equate __C000H 0
199 196 pascal -ret16 SelectorAccessRights(word word word) SelectorAccessRights16
200 197 pascal -ret16 GlobalFix(word) GlobalFix16
201 198 pascal -ret16 GlobalUnfix(word) GlobalUnfix16
202 199 pascal -ret16 SetHandleCount(word) SetHandleCount16
203 200 pascal -ret16 ValidateFreeSpaces() KERNEL_nop
204 201 stub ReplaceInst
205 202 stub RegisterPtrace
206 203 pascal -register DebugBreak() DebugBreak16
207 204 stub SwapRecording
208 205 stub CVWBreak
209 206 pascal -ret16 AllocSelectorArray(word) AllocSelectorArray16
210 207 pascal -ret16 IsDBCSLeadByte(word) IsDBCSLeadByte
213 # 208-237 are Win95 extensions; a few of those are also present in WinNT
215 208 pascal K208(word long long long) Local32Init16
216 209 pascal K209(long long word long) Local32Alloc16
217 210 pascal K210(long long word long long) Local32ReAlloc16
218 211 pascal K211(long long word) Local32Free16
219 213 pascal K213(long long word word) Local32Translate16
220 214 pascal K214(long long word) Local32Size16
221 215 pascal K215(long word) Local32ValidHandle16 # Win95 only -- CONFLICT!
222 #215 stub WOWShouldWeSayWin95 # WinNT only -- CONFLICT!
223 216 pascal RegEnumKey(long long ptr long) RegEnumKey16 # Both 95/NT
224 217 pascal RegOpenKey(long str ptr) RegOpenKey16 # Both 95/NT
225 218 pascal RegCreateKey(long str ptr) RegCreateKey16
226 219 pascal RegDeleteKey(long str) RegDeleteKey16
227 220 pascal RegCloseKey(long) RegCloseKey16 # Both 95/NT
228 221 pascal RegSetValue(long str long ptr long) RegSetValue16
229 222 pascal RegDeleteValue(long str) RegDeleteValue16
230 223 pascal RegEnumValue(long long ptr ptr ptr ptr ptr ptr) RegEnumValue16 # Both 95/NT
231 224 pascal RegQueryValue(long str ptr ptr) RegQueryValue16
232 225 pascal RegQueryValueEx(long str ptr ptr ptr ptr) RegQueryValueEx16
233 226 pascal RegSetValueEx(long str long long ptr long) RegSetValueEx16
234 227 pascal RegFlushKey(long) RegFlushKey16
235 228 pascal -ret16 K228(word) GetExePtr
236 229 pascal -ret16 K229(long) Local32GetSegment16
237 230 pascal GlobalSmartPageLock(word) GlobalPageLock16 #?
238 231 pascal GlobalSmartPageUnlock(word) GlobalPageUnlock16 #?
239 232 stub RegLoadKey
240 233 stub RegUnloadKey
241 234 stub RegSaveKey
242 235 stub InvalidateNlsCache
243 236 stub GetProductName
244 237 pascal -ret16 K237() KERNEL_nop
247 # 262-274 are WinNT extensions; those are not present in Win95
249 262 stub WOWWaitForMsgAndEvent
250 263 stub WOWMsgBox
251 273 stub K273
252 274 pascal -ret16 GetShortPathName(str ptr word) GetShortPathName16
255 # 310-356 are again shared between all versions
257 310 pascal -ret16 LocalHandleDelta(word) LocalHandleDelta16
258 311 pascal GetSetKernelDOSProc(ptr) GetSetKernelDOSProc16
259 314 stub DebugDefineSegment
260 315 pascal -ret16 WriteOutProfiles() WriteOutProfiles16
261 316 pascal GetFreeMemInfo() GetFreeMemInfo16
262 318 stub FatalExitHook
263 319 stub FlushCachedFileHandle
264 320 pascal -ret16 IsTask(word) IsTask16
265 323 pascal -ret16 IsRomModule(word) IsRomModule16
266 324 pascal -ret16 LogError(word ptr) LogError16
267 325 pascal -ret16 LogParamError(word ptr ptr) LogParamError16
268 326 pascal -ret16 IsRomFile(word) IsRomFile16
269 327 pascal -register K327() HandleParamError
270 328 varargs -ret16 _DebugOutput(word str) _DebugOutput
271 329 pascal -ret16 K329(str word) DebugFillBuffer
272 332 variable THHOOK(0 0 0 0 0 0 0 0)
273 334 pascal -ret16 IsBadReadPtr(segptr word) IsBadReadPtr16
274 335 pascal -ret16 IsBadWritePtr(segptr word) IsBadWritePtr16
275 336 pascal -ret16 IsBadCodePtr(segptr) IsBadCodePtr16
276 337 pascal -ret16 IsBadStringPtr(segptr word) IsBadStringPtr16
277 338 pascal -ret16 HasGPHandler(segptr) HasGPHandler16
278 339 pascal -ret16 DiagQuery() DiagQuery16
279 340 pascal -ret16 DiagOutput(str) DiagOutput16
280 341 pascal ToolHelpHook(ptr) ToolHelpHook16
281 342 variable __GP(0 0)
282 343 stub RegisterWinOldApHook
283 344 stub GetWinOldApHooks
284 345 pascal -ret16 IsSharedSelector(word) IsSharedSelector16
285 346 pascal -ret16 IsBadHugeReadPtr(segptr long) IsBadHugeReadPtr16
286 347 pascal -ret16 IsBadHugeWritePtr(segptr long) IsBadHugeWritePtr16
287 348 pascal -ret16 hmemcpy(ptr ptr long) hmemcpy16
288 349 pascal _hread(word segptr long) WIN16_hread
289 350 pascal _hwrite(word ptr long) _hwrite16
290 351 pascal -ret16 BUNNY_351() KERNEL_nop
291 352 pascal lstrcatn(segstr str word) lstrcatn16
292 353 pascal lstrcpyn(segptr str word) lstrcpyn16
293 354 pascal GetAppCompatFlags(word) GetAppCompatFlags16
294 355 pascal -ret16 GetWinDebugInfo(ptr word) GetWinDebugInfo16
295 356 pascal -ret16 SetWinDebugInfo(ptr) SetWinDebugInfo16
298 # 357-365 are present in Win95 only
299 # Note that from here on most of the Win95-only functions are exported
300 # ordinal-only; the names given here are mostly guesses :-)
302 357 pascal MapSL(segptr) MapSL
303 358 pascal MapLS(long) MapLS
304 359 pascal UnMapLS(segptr) UnMapLS
305 360 pascal -ret16 OpenFileEx(str ptr word) OpenFile16
306 361 pascal -ret16 PIGLET_361() KERNEL_nop
307 362 stub ThunkTerminateProcess
308 365 pascal -register GlobalChangeLockCount(word word) GlobalChangeLockCount16
311 # 403-404 are common to all versions
313 403 pascal -ret16 FarSetOwner(word word) FarSetOwner16 # aka K403
314 404 pascal -ret16 FarGetOwner(word) FarGetOwner16 # aka K404
317 # 406-494 are present only in Win95
319 406 pascal -ret16 WritePrivateProfileStruct(str str ptr word str) WritePrivateProfileStruct16
320 407 pascal -ret16 GetPrivateProfileStruct(str str ptr word str) GetPrivateProfileStruct16
321 408 stub KERNEL_408
322 409 stub KERNEL_409
323 410 stub CreateProcessFromWinExec
324 411 pascal GetCurrentDirectory(long ptr) GetCurrentDirectory16
325 412 pascal -ret16 SetCurrentDirectory(ptr) SetCurrentDirectory16
326 413 pascal -ret16 FindFirstFile(ptr ptr) FindFirstFile16
327 414 pascal -ret16 FindNextFile(word ptr) FindNextFile16
328 415 pascal -ret16 FindClose(word) FindClose16
329 416 pascal -ret16 WritePrivateProfileSection(str str str) WritePrivateProfileSection16
330 417 pascal -ret16 WriteProfileSection(str str) WriteProfileSection16
331 418 pascal -ret16 GetPrivateProfileSection(str ptr word str) GetPrivateProfileSection16
332 419 pascal -ret16 GetProfileSection(str ptr word) GetProfileSection16
333 420 pascal GetFileAttributes(ptr) GetFileAttributes16
334 421 pascal -ret16 SetFileAttributes(ptr long) SetFileAttributes16
335 422 pascal -ret16 GetDiskFreeSpace(ptr ptr ptr ptr ptr) GetDiskFreeSpace16
336 423 pascal -ret16 LogApiThk(str) LogApiThk
337 431 pascal -ret16 IsPeFormat(str word) IsPeFormat16
338 432 stub FileTimeToLocalFileTime
339 434 pascal -ret16 UnicodeToAnsi(ptr ptr word) UnicodeToAnsi16
340 435 stub GetTaskFlags
341 436 pascal -ret16 _ConfirmSysLevel(ptr) _ConfirmSysLevel
342 437 pascal -ret16 _CheckNotSysLevel(ptr) _CheckNotSysLevel
343 438 pascal -ret16 _CreateSysLevel(ptr long) _CreateSysLevel
344 439 pascal -ret16 _EnterSysLevel(ptr) _EnterSysLevel
345 440 pascal -ret16 _LeaveSysLevel(ptr) _LeaveSysLevel
346 441 pascal CreateThread16(ptr long segptr segptr long ptr) CreateThread16
347 442 pascal VWin32_EventCreate() VWin32_EventCreate
348 443 pascal VWin32_EventDestroy(long) VWin32_EventDestroy
349 444 pascal -ret16 Local32Info(ptr word) Local32Info16
350 445 pascal -ret16 Local32First(ptr word) Local32First16
351 446 pascal -ret16 Local32Next(ptr) Local32Next16
352 447 pascal -ret16 WIN32_OldYield() WIN32_OldYield16
353 448 stub KERNEL_448
354 449 pascal GetpWin16Lock() GetpWin16Lock16
355 450 pascal VWin32_EventWait(long) VWin32_EventWait
356 451 pascal VWin32_EventSet(long) VWin32_EventSet
357 452 pascal LoadLibrary32(str) LoadLibrary32_16
358 453 pascal GetProcAddress32(long str) GetProcAddress32_16
359 454 equate __FLATCS 0 # initialized by BUILTIN_Init()
360 455 equate __FLATDS 0 # initialized by BUILTIN_Init()
361 456 pascal DefResourceHandler(word word word) NE_DefResourceHandler
362 457 pascal CreateW32Event(long long) CreateW32Event
363 458 pascal SetW32Event(long) SetW32Event
364 459 pascal ResetW32Event(long) ResetW32Event
365 460 pascal WaitForSingleObject(long long) WaitForSingleObject16
366 461 pascal WaitForMultipleObjects(long ptr long long) WaitForMultipleObjects16
367 462 pascal GetCurrentThreadId() GetCurrentThreadId16
368 463 pascal SetThreadQueue(long word) SetThreadQueue16
369 464 pascal GetThreadQueue(long) GetThreadQueue16
370 465 stub NukeProcess
371 466 pascal -ret16 ExitProcess(word) ExitProcess16
372 467 stub WOACreateConsole
373 468 stub WOASpawnConApp
374 469 stub WOAGimmeTitle
375 470 stub WOADestroyConsole
376 471 pascal GetCurrentProcessId() GetCurrentProcessId16
377 472 pascal -register MapHInstLS() MapHInstLS16
378 473 pascal -register MapHInstSL() MapHInstSL16
379 474 pascal CloseW32Handle(long) CloseW32Handle
380 475 pascal -ret16 GetTEBSelectorFS() GetTEBSelectorFS16
381 476 pascal ConvertToGlobalHandle(long) ConvertToGlobalHandle16
382 477 stub WOAFullScreen
383 478 stub WOATerminateProcess
384 479 pascal KERNEL_479(long) VWin32_EventSet # ???
385 480 pascal -ret16 _EnterWin16Lock() _EnterWin16Lock
386 481 pascal -ret16 _LeaveWin16Lock() _LeaveWin16Lock
387 482 pascal LoadSystemLibrary32(str) LoadLibrary32_16 # FIXME!
388 483 pascal MapProcessHandle(long) MapProcessHandle
389 484 pascal SetProcessDword(long s_word long) SetProcessDword16
390 485 pascal GetProcessDword(long s_word) GetProcessDword16
391 486 pascal FreeLibrary32(long) FreeLibrary32_16
392 487 pascal GetModuleFileName32(long str word) GetModuleFileName32_16
393 488 pascal GetModuleHandle32(str) GetModuleHandle32_16
394 489 stub KERNEL_489 # VWin32_BoostWithDecay
395 490 pascal -ret16 KERNEL_490(word) KERNEL_490
396 491 pascal RegisterServiceProcess(long long) RegisterServiceProcess16
397 492 stub WOAAbort
398 493 pascal -ret16 UTInit(long long long long) UTInit16
399 494 stub KERNEL_494
401 # 495 is present only in Win98
402 495 pascal WaitForMultipleObjectsEx(long ptr long long long) WaitForMultipleObjectsEx16
404 # 500-544 are WinNT extensions; some are also available in Win95
406 500 varargs WOW16Call(word word word) WOW16Call
407 501 stub KDDBGOUT # Both NT/95 (?)
408 502 stub WOWGETNEXTVDMCOMMAND
409 503 stub WOWREGISTERSHELLWINDOWHANDLE
410 504 stub WOWLOADMODULE
411 505 stub WOWQUERYPERFORMANCECOUNTER
412 506 stub WOWCURSORICONOP
413 #507 stub WOWCURSORICONOP # conflict with 506 !
414 507 stub WOWFAILEDEXEC
415 #508 stub WOWFAILEDEXEC # conflict with 507 ! (something broken here ?)
416 508 stub WOWCLOSECOMPORT
417 #509 stub WOWCLOSECOMPORT # conflict with 508 !
418 #509 stub WOWKILLREMOTETASK
419 511 stub WOWKILLREMOTETASK
420 512 stub WOWQUERYDEBUG
421 513 pascal LoadLibraryEx32W(ptr long long) LoadLibraryEx32W16 # Both NT/95
422 514 pascal FreeLibrary32W(long) FreeLibrary32W16 # Both NT/95
423 515 pascal GetProcAddress32W(long str) GetProcAddress32W16 # Both NT/95
424 516 pascal GetVDMPointer32W(segptr word) GetVDMPointer32W16 # Both NT/95
425 517 varargs CallProc32W(long long long) CallProc32W16 # Both NT/95
426 518 varargs _CallProcEx32W(long long long) CallProcEx32W16 # Both NT/95
427 519 stub EXITKERNELTHUNK
428 # the __MOD_ variables are WORD datareferences, the current values are invented.
429 520 equate __MOD_KERNEL 4200
430 521 equate __MOD_DKERNEL 4201
431 522 equate __MOD_USER 4203
432 523 equate __MOD_DUSER 4204
433 524 equate __MOD_GDI 4205
434 525 equate __MOD_DGDI 4206
435 526 equate __MOD_KEYBOARD 4207
436 527 equate __MOD_SOUND 4208
437 528 equate __MOD_SHELL 4209
438 529 equate __MOD_WINSOCK 4210
439 530 equate __MOD_TOOLHELP 4211
440 531 equate __MOD_MMEDIA 4212
441 532 equate __MOD_COMMDLG 4213
442 541 stub WOWSETEXITONLASTAPP
443 544 stub WOWSETCOMPATHANDLE
446 # 531-568 are Win95-only extensions.
447 # NOTE: Ordinals 531,532,541 clash with the WinNT extensions given above! Argh!
449 #531 stub ConvertClipboardHandleLS
450 #532 stub ConvertClipboardHandleSL
451 533 stub ConvertDDEHandleLS
452 534 stub ConvertDDEHandleSL
453 535 pascal VWin32_BoostThreadGroup(long long) VWin32_BoostThreadGroup
454 536 pascal VWin32_BoostThreadStatic(long long) VWin32_BoostThreadStatic
455 537 stub KERNEL_537
456 538 stub ThunkTheTemplateHandle
457 540 stub KERNEL_540
458 #541 stub KERNEL_541
459 542 stub KERNEL_542
460 543 stub KERNEL_543
461 560 pascal SetThunkletCallbackGlue(long segptr) SetThunkletCallbackGlue16
462 561 pascal AllocLSThunkletCallback(segptr long) AllocLSThunkletCallback16
463 562 pascal AllocSLThunkletCallback(long long) AllocSLThunkletCallback16
464 563 pascal FindLSThunkletCallback(segptr long) FindLSThunkletCallback
465 564 pascal FindSLThunkletCallback(long long) FindSLThunkletCallback
466 566 stub KERNEL_566 # (thunklet) FIXME!!!
467 567 pascal AllocLSThunkletCallbackEx(segptr long word) AllocLSThunkletCallbackEx16
468 568 pascal AllocSLThunkletCallbackEx(long long word) AllocSLThunkletCallbackEx16
471 # 600-653 are Win95 only
473 600 stub AllocCodeAlias
474 601 stub FreeCodeAlias
475 602 pascal -ret16 GetDummyModuleHandleDS() GetDummyModuleHandleDS16
476 603 stub KERNEL_603 # OutputDebugString (?)
477 604 pascal -register CBClientGlueSL() CBClientGlueSL
478 # FIXME: 605 is duplicate of 562
479 605 pascal AllocSLThunkletCallback_dup(long long) AllocSLThunkletCallback16
480 # FIXME: 606 is duplicate of 561
481 606 pascal AllocLSThunkletCallback_dup(segptr long) AllocLSThunkletCallback16
482 607 pascal AllocLSThunkletSysthunk(segptr long long) AllocLSThunkletSysthunk16
483 608 pascal AllocSLThunkletSysthunk(long segptr long) AllocSLThunkletSysthunk16
484 # FIXME: 609 is duplicate of 563
485 609 pascal FindLSThunkletCallback_dup(segptr long) FindLSThunkletCallback
486 # FIXME: 610 is duplicate of 562
487 610 pascal FindSLThunkletCallback_dup(long long) FindSLThunkletCallback
488 611 pascal -ret16 FreeThunklet(long long) FreeThunklet16
489 612 pascal -ret16 IsSLThunklet(ptr) IsSLThunklet16
490 613 stub HugeMapLS
491 614 stub HugeUnMapLS
492 615 pascal -ret16 ConvertDialog32To16(long long long) ConvertDialog32To16
493 616 pascal -ret16 ConvertMenu32To16(long long long) ConvertMenu32To16
494 617 pascal -ret16 GetMenu32Size(ptr) GetMenu32Size16
495 618 pascal -ret16 GetDialog32Size(ptr) GetDialog32Size16
496 619 pascal -ret16 RegisterCBClient(word segptr long) RegisterCBClient16
497 620 pascal -register CBClientThunkSL() CBClientThunkSL
498 621 pascal -register CBClientThunkSLEx() CBClientThunkSLEx
499 622 pascal -ret16 UnRegisterCBClient(word segptr long) UnRegisterCBClient16
500 623 pascal -ret16 InitCBClient(long) InitCBClient16
501 624 pascal SetFastQueue(long long) SetFastQueue16
502 625 pascal GetFastQueue() GetFastQueue16
503 626 stub SmashEnvironment
504 627 pascal -ret16 IsBadFlatReadWritePtr(segptr long word) IsBadFlatReadWritePtr16
505 630 pascal -register C16ThkSL() C16ThkSL
506 631 pascal -register C16ThkSL01() C16ThkSL01
507 651 pascal ThunkConnect16(str str word long ptr str word) ThunkConnect16
508 652 stub IsThreadId
509 653 stub OkWithKernelToChangeUsers
511 # Extra Wine internal functions for thunking and self-loader
513 666 pascal UTGlue16(ptr long ptr long) UTGlue16
514 667 pascal EntryAddrProc(word word) EntryAddrProc16
515 668 pascal MyAlloc(word word word) MyAlloc16
516 669 pascal -ret16 DllEntryPoint(long word word word long word) KERNEL_DllEntryPoint
518 # 700-704 are Win95 only
520 700 pascal SSInit() SSInit16
521 701 stub SSOnBigStack
522 702 stub SSCall
523 703 stub CallProc32WFix
524 704 pascal -register SSConfirmSmallStack() SSConfirmSmallStack
526 # Win95 krnl386.exe also exports ordinals 802-864,
527 # however, those seem to be only callback stubs that are
528 # never called directly by other modules ...
530 ################################################################
531 # VxD entry points
533 901 pascal -register __wine_vxd_vmm() __wine_vxd_vmm
534 905 pascal -register __wine_vxd_timer() __wine_vxd_timer
535 909 pascal -register __wine_vxd_reboot() __wine_vxd_reboot
536 910 pascal -register __wine_vxd_vdd() __wine_vxd_vdd
537 912 pascal -register __wine_vxd_vmd() __wine_vxd_vmd
538 914 pascal -register __wine_vxd_comm() __wine_vxd_comm
539 #915 pascal -register __wine_vxd_printer() __wine_vxd_printer
540 923 pascal -register __wine_vxd_shell() __wine_vxd_shell
541 933 pascal -register __wine_vxd_pagefile() __wine_vxd_pagefile
542 938 pascal -register __wine_vxd_apm() __wine_vxd_apm
543 939 pascal -register __wine_vxd_vxdloader() __wine_vxd_vxdloader
544 945 pascal -register __wine_vxd_win32s() __wine_vxd_win32s
545 951 pascal -register __wine_vxd_configmg() __wine_vxd_configmg
546 955 pascal -register __wine_vxd_enable() __wine_vxd_enable
547 1990 pascal -register __wine_vxd_timerapi() __wine_vxd_timerapi
549 ################################################################
550 # 32-bit version of the various 16-bit functions exported by kernel32
552 @ stdcall -arch=win32 -register VxDCall0(long) VxDCall
553 @ stdcall -arch=win32 -register VxDCall1(long) VxDCall
554 @ stdcall -arch=win32 -register VxDCall2(long) VxDCall
555 @ stdcall -arch=win32 -register VxDCall3(long) VxDCall
556 @ stdcall -arch=win32 -register VxDCall4(long) VxDCall
557 @ stdcall -arch=win32 -register VxDCall5(long) VxDCall
558 @ stdcall -arch=win32 -register VxDCall6(long) VxDCall
559 @ stdcall -arch=win32 -register VxDCall7(long) VxDCall
560 @ stdcall -arch=win32 -register VxDCall8(long) VxDCall
561 @ stdcall -arch=win32 k32CharToOemA(str ptr)
562 @ stdcall -arch=win32 k32CharToOemBuffA(str ptr long)
563 @ stdcall -arch=win32 k32OemToCharA(ptr ptr)
564 @ stdcall -arch=win32 k32OemToCharBuffA(ptr ptr long)
565 @ stdcall -arch=win32 k32LoadStringA(long long ptr long)
566 @ varargs -arch=win32 k32wsprintfA(str str)
567 @ stdcall -arch=win32 k32wvsprintfA(ptr str ptr)
568 @ stdcall -arch=win32 -register CommonUnimpStub()
569 @ stdcall -arch=win32 GetProcessDword16(long long)
570 @ stdcall -arch=win32 DosFileHandleToWin32Handle(long)
571 @ stdcall -arch=win32 Win32HandleToDosFileHandle(long)
572 @ stdcall -arch=win32 DisposeLZ32Handle(long)
573 @ stdcall -arch=win32 GlobalAlloc16(long long)
574 @ stdcall -arch=win32 GlobalLock16(long)
575 @ stdcall -arch=win32 GlobalUnlock16(long)
576 @ stdcall -arch=win32 GlobalFix16(long)
577 @ stdcall -arch=win32 GlobalUnfix16(long)
578 @ stdcall -arch=win32 GlobalWire16(long)
579 @ stdcall -arch=win32 GlobalUnWire16(long)
580 @ stdcall -arch=win32 GlobalFree16(long)
581 @ stdcall -arch=win32 GlobalSize16(long)
582 @ stdcall -arch=win32 HouseCleanLogicallyDeadHandles()
583 @ stdcall -arch=win32 GetWin16DOSEnv()
584 @ stdcall -arch=win32 LoadLibrary16(str)
585 @ stdcall -arch=win32 FreeLibrary16(long)
586 @ stdcall -arch=win32 GetProcAddress16(long str) WIN32_GetProcAddress16
587 @ stdcall -arch=win32 -register AllocMappedBuffer()
588 @ stdcall -arch=win32 -register FreeMappedBuffer()
589 @ stdcall -arch=win32 -register OT_32ThkLSF()
590 @ stdcall -arch=win32 ThunkInitLSF(long str long str str)
591 @ stdcall -arch=win32 -register LogApiThkLSF(str)
592 @ stdcall -arch=win32 ThunkInitLS(long str long str str)
593 @ stdcall -arch=win32 -register LogApiThkSL(str)
594 @ stdcall -arch=win32 -register Common32ThkLS()
595 @ stdcall -arch=win32 ThunkInitSL(long str long str str)
596 @ stdcall -arch=win32 -register LogCBThkSL(str)
597 @ stdcall -arch=win32 ReleaseThunkLock(ptr)
598 @ stdcall -arch=win32 RestoreThunkLock(long)
599 @ stdcall -arch=win32 -register W32S_BackTo32()
600 @ stdcall -arch=win32 GetThunkBuff()
601 @ stdcall -arch=win32 GetThunkStuff(str str)
602 @ stdcall -arch=win32 K32WOWCallback16(long long)
603 @ stdcall -arch=win32 K32WOWCallback16Ex(ptr long long ptr ptr)
604 @ stdcall -arch=win32 K32WOWGetVDMPointer(long long long)
605 @ stdcall -arch=win32 K32WOWHandle32(long long)
606 @ stdcall -arch=win32 K32WOWHandle16(long long)
607 @ stdcall -arch=win32 K32WOWGlobalAlloc16(long long)
608 @ stdcall -arch=win32 K32WOWGlobalLock16(long)
609 @ stdcall -arch=win32 K32WOWGlobalUnlock16(long)
610 @ stdcall -arch=win32 K32WOWGlobalFree16(long)
611 @ stdcall -arch=win32 K32WOWGlobalAllocLock16(long long ptr)
612 @ stdcall -arch=win32 K32WOWGlobalUnlockFree16(long)
613 @ stdcall -arch=win32 K32WOWGlobalLockSize16(long ptr)
614 @ stdcall -arch=win32 K32WOWYield16()
615 @ stdcall -arch=win32 K32WOWDirectedYield16(long)
616 @ stdcall -arch=win32 K32WOWGetVDMPointerFix(long long long)
617 @ stdcall -arch=win32 K32WOWGetVDMPointerUnfix(long)
618 @ stdcall -arch=win32 K32WOWGetDescriptor(long long)
619 @ stdcall -arch=win32 _KERNEL32_86(ptr)
620 @ stdcall -arch=win32 SSOnBigStack()
621 @ varargs -arch=win32 SSCall(long long ptr)
622 @ stdcall -arch=win32 -register FT_PrologPrime()
623 @ stdcall -arch=win32 -register QT_ThunkPrime()
624 @ stdcall -arch=win32 PK16FNF(ptr)
625 @ stdcall -arch=win32 GetPK16SysVar()
626 @ stdcall -arch=win32 GetpWin16Lock(ptr)
627 @ stdcall -arch=win32 _CheckNotSysLevel(ptr)
628 @ stdcall -arch=win32 _ConfirmSysLevel(ptr)
629 @ stdcall -arch=win32 _ConfirmWin16Lock()
630 @ stdcall -arch=win32 _EnterSysLevel(ptr)
631 @ stdcall -arch=win32 _LeaveSysLevel(ptr)
632 @ stdcall -arch=win32 _KERNEL32_99(long)
633 @ stdcall -arch=win32 _KERNEL32_100(long long long)
635 @ stdcall -arch=win32 AllocSLCallback(ptr ptr)
636 @ stdcall -arch=win32 -norelay FT_Exit0()
637 @ stdcall -arch=win32 -norelay FT_Exit12()
638 @ stdcall -arch=win32 -norelay FT_Exit16()
639 @ stdcall -arch=win32 -norelay FT_Exit20()
640 @ stdcall -arch=win32 -norelay FT_Exit24()
641 @ stdcall -arch=win32 -norelay FT_Exit28()
642 @ stdcall -arch=win32 -norelay FT_Exit32()
643 @ stdcall -arch=win32 -norelay FT_Exit36()
644 @ stdcall -arch=win32 -norelay FT_Exit40()
645 @ stdcall -arch=win32 -norelay FT_Exit44()
646 @ stdcall -arch=win32 -norelay FT_Exit48()
647 @ stdcall -arch=win32 -norelay FT_Exit4()
648 @ stdcall -arch=win32 -norelay FT_Exit52()
649 @ stdcall -arch=win32 -norelay FT_Exit56()
650 @ stdcall -arch=win32 -norelay FT_Exit8()
651 @ stdcall -arch=win32 -register FT_Prolog()
652 @ stdcall -arch=win32 -register FT_Thunk()
653 @ stdcall -arch=win32 FreeSLCallback(long)
654 @ stdcall -arch=win32 Get16DLLAddress(long str)
655 @ stdcall -arch=win32 -register K32Thk1632Epilog()
656 @ stdcall -arch=win32 -register K32Thk1632Prolog()
657 @ stdcall -arch=win32 -norelay MapHInstLS()
658 @ stdcall -arch=win32 -norelay MapHInstLS_PN()
659 @ stdcall -arch=win32 -norelay MapHInstSL()
660 @ stdcall -arch=win32 -norelay MapHInstSL_PN()
661 @ stdcall -arch=win32 MapHModuleLS(long)
662 @ stdcall -arch=win32 MapHModuleSL(long)
663 @ stdcall -arch=win32 MapLS(ptr)
664 @ stdcall -arch=win32 MapSL(long)
665 @ stdcall -arch=win32 MapSLFix(long)
666 @ stdcall -arch=win32 PrivateFreeLibrary(long)
667 @ stdcall -arch=win32 PrivateLoadLibrary(str)
668 @ stdcall -arch=win32 -register QT_Thunk()
669 @ stdcall -arch=win32 -norelay SMapLS()
670 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_12()
671 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_16()
672 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_20()
673 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_24()
674 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_28()
675 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_32()
676 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_36()
677 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_40()
678 @ stdcall -arch=win32 -norelay SMapLS_IP_EBP_8()
679 @ stdcall -arch=win32 -norelay SUnMapLS()
680 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_12()
681 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_16()
682 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_20()
683 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_24()
684 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_28()
685 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_32()
686 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_36()
687 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_40()
688 @ stdcall -arch=win32 -norelay SUnMapLS_IP_EBP_8()
689 @ stdcall -arch=win32 ThunkConnect32(ptr str str str ptr ptr)
690 @ stdcall -arch=win32 UTRegister(long str str str ptr ptr ptr)
691 @ stdcall -arch=win32 UTUnRegister(long)
692 @ stdcall -arch=win32 UnMapLS(long)
693 @ stdcall -arch=win32 -norelay UnMapSLFixArray(long long)
694 @ stdcall -arch=win32 _lclose16(long)
696 ################################################################
697 # 16-bit symbols not available from kernel32 but used by other 16-bit dlls
699 @ stdcall -arch=win32 AllocSelectorArray16(long)
700 @ stdcall -arch=win32 FarGetOwner16(long)
701 @ stdcall -arch=win32 FarSetOwner16(long long)
702 @ stdcall -arch=win32 FindResource16(long str str)
703 @ stdcall -arch=win32 FreeResource16(long)
704 @ stdcall -arch=win32 FreeSelector16(long)
705 @ stdcall -arch=win32 GetCurrentPDB16()
706 @ stdcall -arch=win32 GetCurrentTask()
707 @ stdcall -arch=win32 GetDOSEnvironment16()
708 @ stdcall -arch=win32 GetExePtr(long)
709 @ stdcall -arch=win32 GetExpWinVer16(long)
710 @ stdcall -arch=win32 GetModuleHandle16(str)
711 @ stdcall -arch=win32 GlobalReAlloc16(long long long)
712 @ stdcall -arch=win32 InitTask16(ptr)
713 @ stdcall -arch=win32 IsBadReadPtr16(long long)
714 @ stdcall -arch=win32 IsTask16(long)
715 @ stdcall -arch=win32 LoadModule16(str long)
716 @ stdcall -arch=win32 LoadResource16(long long)
717 @ stdcall -arch=win32 LocalAlloc16(long long)
718 @ stdcall -arch=win32 LocalInit16(long long long)
719 @ stdcall -arch=win32 LocalLock16(long)
720 @ stdcall -arch=win32 LocalUnlock16(long)
721 @ stdcall -arch=win32 LocalReAlloc16(long long long)
722 @ stdcall -arch=win32 LocalFree16(long)
723 @ stdcall -arch=win32 LocalSize16(long)
724 @ stdcall -arch=win32 LocalCompact16(long)
725 @ stdcall -arch=win32 LocalCountFree16()
726 @ stdcall -arch=win32 LocalHeapSize16()
727 @ stdcall -arch=win32 LockResource16(long)
728 @ stdcall -arch=win32 SetSelectorBase(long long)
729 @ stdcall -arch=win32 SetSelectorLimit16(long long)
730 @ stdcall -arch=win32 SizeofResource16(long long)
731 @ stdcall -arch=win32 WinExec16(str long)
733 ################################################################
734 # Wine internal extensions
736 # All functions must be prefixed with '__wine_' (for internal functions)
737 # or 'wine_' (for user-visible functions) to avoid namespace conflicts.
739 # DOS support
740 @ cdecl -arch=win32 __wine_call_int_handler(ptr long)
741 @ cdecl -arch=win32 __wine_load_dos_exe(str str)
743 # VxDs
744 @ cdecl -arch=win32 -private __wine_vxd_open(wstr long ptr)
745 @ cdecl -arch=win32 -private __wine_vxd_get_proc(long)