kernel32: Make some functions hookable.
[wine] / dlls / kernel32 / krnl386.exe.spec
1 # 1-207 are the basic functions, those are (with minor variations)
2 # present in win31, win95 and nt351
3
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
211
212
213 # 208-237 are Win95 extensions; a few of those are also present in WinNT
214
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
245
246
247 # 262-274 are WinNT extensions; those are not present in Win95
248
249 262 stub WOWWaitForMsgAndEvent
250 263 stub WOWMsgBox
251 273 stub K273
252 274 pascal -ret16 GetShortPathName(str ptr word) GetShortPathName16
253
254
255 # 310-356 are again shared between all versions
256
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
296
297
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 :-)
301
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
309
310
311 # 403-404 are common to all versions
312
313 403 pascal -ret16 FarSetOwner(word word) FarSetOwner16 # aka K403
314 404 pascal -ret16 FarGetOwner(word) FarGetOwner16 # aka K404
315
316
317 # 406-494 are present only in Win95
318
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
400
401 # 495 is present only in Win98
402 495 pascal WaitForMultipleObjectsEx(long ptr long long long) WaitForMultipleObjectsEx16
403
404 # 500-544 are WinNT extensions; some are also available in Win95
405
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
444
445
446 # 531-568 are Win95-only extensions.
447 # NOTE: Ordinals 531,532,541 clash with the WinNT extensions given above! Argh!
448
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
469
470
471 # 600-653 are Win95 only
472
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
510
511 # Extra Wine internal functions for thunking and self-loader
512
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
517
518 # 700-704 are Win95 only
519
520 700 pascal SSInit() SSInit16
521 701 stub SSOnBigStack
522 702 stub SSCall
523 703 stub CallProc32WFix
524 704 pascal -register SSConfirmSmallStack() SSConfirmSmallStack
525
526
527 # Win95 krnl386.exe also exports ordinals 802-864,
528 # however, those seem to be only callback stubs that are
529 # never called directly by other modules ...