Implemented old Win 2.x string functions.
[wine] / dlls / kernel / kernel.spec
1 name    kernel
2 type    win16
3 file    krnl386.exe
4 owner   kernel32
5
6 # 1-207 are the basic functions, those are (with minor variations)
7 # present in win31, win95 and nt351
8
9 1   stub FatalExit
10 2   pascal16 ExitKernel() ExitKernel16
11 3   pascal GetVersion() GetVersion16
12 4   pascal16 LocalInit(word word word) LocalInit16
13 5   pascal16 LocalAlloc(word word) LocalAlloc16
14 6   pascal16 LocalReAlloc(word word word) LocalReAlloc16
15 7   pascal16 LocalFree(word) LocalFree16
16 8   pascal LocalLock(word) LocalLock16
17 9   pascal16 LocalUnlock(word) LocalUnlock16
18 10  pascal16 LocalSize(word) LocalSize16
19 11  pascal16 LocalHandle(word) LocalHandle16
20 12  pascal16 LocalFlags(word) LocalFlags16
21 13  pascal16 LocalCompact(word) LocalCompact16
22 14  pascal LocalNotify(long) LocalNotify16
23 15  pascal16 GlobalAlloc(word long) GlobalAlloc16
24 16  pascal16 GlobalReAlloc(word long word) GlobalReAlloc16
25 17  pascal16 GlobalFree(word) GlobalFree16
26 18  pascal GlobalLock(word) WIN16_GlobalLock16
27 19  pascal16 GlobalUnlock(word) GlobalUnlock16
28 20  pascal GlobalSize(word) GlobalSize16
29 21  pascal GlobalHandle(word) GlobalHandle16
30 22  pascal16 GlobalFlags(word) GlobalFlags16
31 23  pascal16 LockSegment(word) LockSegment16
32 24  pascal16 UnlockSegment(word) UnlockSegment16
33 25  pascal GlobalCompact(long) GlobalCompact16
34 26  pascal16 GlobalFreeAll(word) GlobalFreeAll16
35 27  pascal16 GetModuleName(word ptr word) GetModuleName16 # W1.1: SETSWAPHOOK, W2.0: nothing !
36 28  pascal   GlobalMasterHandle() GlobalMasterHandle16
37 29  pascal16 Yield() Yield16
38 30  pascal16 WaitEvent(word) WaitEvent16
39 31  pascal16 PostEvent(word) PostEvent16
40 32  pascal16 SetPriority(word s_word) SetPriority16
41 33  pascal16 LockCurrentTask(word) LockCurrentTask16
42 34  pascal16 SetTaskQueue(word word) SetTaskQueue16
43 35  pascal16 GetTaskQueue(word) GetTaskQueue16
44 36  pascal   GetCurrentTask() WIN16_GetCurrentTask
45 37  pascal GetCurrentPDB() GetCurrentPDB16
46 38  pascal   SetTaskSignalProc(word segptr) SetTaskSignalProc
47 39  stub     SetTaskSwitchProc      # W1.1, W2.0
48 40  stub     SetTaskInterchange     # W1.1, W2.0
49 41  pascal16 EnableDos() KERNEL_nop
50 42  pascal16 DisableDos() KERNEL_nop
51 43  stub     IsScreenGrab           # W1.1, W2.0
52 44  stub     BuildPDB               # W1.1, W2.0
53 45  pascal16 LoadModule(str ptr) LoadModule16
54 46  pascal16 FreeModule(word) FreeModule16
55 47  pascal   GetModuleHandle(segstr) WIN16_GetModuleHandle
56 48  pascal16 GetModuleUsage(word) GetModuleUsage16
57 49  pascal16 GetModuleFileName(word ptr s_word) GetModuleFileName16
58 50  pascal GetProcAddress(word segstr) GetProcAddress16
59 51  pascal MakeProcInstance(segptr word) MakeProcInstance16
60 52  pascal16 FreeProcInstance(segptr) FreeProcInstance16
61 53  stub CallProcInstance
62 54  pascal16 GetInstanceData(word word word) GetInstanceData16
63 55  register Catch(ptr) Catch16 
64 56  register Throw(ptr word) Throw16
65 57  pascal16 GetProfileInt(str str s_word) GetProfileInt16
66 58  pascal16 GetProfileString(str str str ptr word) GetProfileString16
67 59  pascal16 WriteProfileString(str str str) WriteProfileString16
68 60  pascal16 FindResource(word segstr segstr) FindResource16
69 61  pascal16 LoadResource(word word) LoadResource16
70 62  pascal LockResource(word) WIN16_LockResource16
71 63  pascal16 FreeResource(word) FreeResource16
72 64  pascal16 AccessResource(word word) AccessResource16
73 65  pascal SizeofResource(word word) SizeofResource16
74 66  pascal16 AllocResource(word word long) AllocResource16
75 67  pascal SetResourceHandler(word segstr segptr) SetResourceHandler16
76 68  pascal16 InitAtomTable(word) InitAtomTable16
77 69  pascal16 FindAtom(str) FindAtom16
78 70  pascal16 AddAtom(str) AddAtom16
79 71  pascal16 DeleteAtom(word) DeleteAtom16
80 72  pascal16 GetAtomName(word ptr word) GetAtomName16
81 73  pascal16 GetAtomHandle(word) GetAtomHandle16
82 74  pascal16 OpenFile(str ptr word) OpenFile16
83 75  stub OpenPathName
84 76  stub DeletePathName
85 # Reserved*: old Win 2.x functions now moved to USER (Win 3.0+)
86 77  pascal Reserved1(segptr) KERNEL_AnsiNext16
87 78  pascal Reserved2(segptr segptr) KERNEL_AnsiPrev16
88 79  pascal Reserved3(segstr) KERNEL_AnsiUpper16
89 80  pascal Reserved4(segstr) KERNEL_AnsiLower16
90 81  pascal16 _lclose(word) _lclose16
91 82  pascal16 _lread(word segptr word) WIN16_lread
92 83  pascal16 _lcreat(str word) _lcreat16
93 84  pascal   _llseek(word long word) _llseek16
94 85  pascal16 _lopen(str word) _lopen16
95 86  pascal16 _lwrite(word ptr word) _lwrite16
96 87  stub Reserved5 #lstrcmp16
97 88  pascal   lstrcpy(segptr str) lstrcpy16
98 89  pascal   lstrcat(segstr str) lstrcat16
99 90  pascal16 lstrlen(str) lstrlen16
100 91  register InitTask() InitTask16
101 92  pascal   GetTempDrive(word) WIN16_GetTempDrive
102 93  pascal16 GetCodeHandle(segptr) GetCodeHandle16
103 94  pascal16 DefineHandleTable(word) DefineHandleTable16
104 95  pascal16 LoadLibrary(str) LoadLibrary16
105 96  pascal16 FreeLibrary(word) FreeLibrary16
106 97  pascal16 GetTempFileName(word str word ptr) GetTempFileName16
107 98  pascal16 GetLastDiskChange() KERNEL_nop
108 99  stub GetLPErrMode
109 100 pascal16 ValidateCodeSegments() KERNEL_nop
110 101 stub NoHookDosCall
111 102 register DOS3Call() DOS3Call
112 103 register NetBIOSCall() NetBIOSCall16
113 104 pascal16 GetCodeInfo(segptr ptr) GetCodeInfo16
114 105 pascal16 GetExeVersion() GetExeVersion16
115 106 pascal SetSwapAreaSize(word) SetSwapAreaSize16
116 107 pascal16 SetErrorMode(word) SetErrorMode16
117 108 pascal16 SwitchStackTo(word word word) SwitchStackTo16 # STO in W2.0
118 109 register SwitchStackBack() SwitchStackBack16 # SBACK in W2.0
119 110 pascal   PatchCodeHandle(word) PatchCodeHandle16
120 111 pascal   GlobalWire(word) GlobalWire16
121 112 pascal16 GlobalUnWire(word) GlobalUnWire16
122 113 equate __AHSHIFT 3
123 114 equate __AHINCR 8
124 115 pascal16 OutputDebugString(str) OutputDebugStringA
125 116 stub InitLib
126 117 pascal16 OldYield() OldYield16
127 118 pascal16 GetTaskQueueDS() GetTaskQueueDS16
128 119 pascal16 GetTaskQueueES() GetTaskQueueES16
129 120 stub UndefDynLink
130 121 pascal16 LocalShrink(word word) LocalShrink16
131 122 pascal16 IsTaskLocked() IsTaskLocked16
132 123 pascal16 KbdRst() KERNEL_nop
133 124 pascal16 EnableKernel() KERNEL_nop
134 125 pascal16 DisableKernel() KERNEL_nop
135 126 stub MemoryFreed
136 127 pascal16 GetPrivateProfileInt(str str s_word str) GetPrivateProfileInt16
137 128 pascal16 GetPrivateProfileString(str str str ptr word str)
138              GetPrivateProfileString16
139 129 pascal16 WritePrivateProfileString(str str str str)
140              WritePrivateProfileString16
141 130 pascal FileCDR(ptr) FileCDR16
142 131 pascal GetDOSEnvironment() GetDOSEnvironment16
143 132 pascal GetWinFlags() GetWinFlags16
144 133 pascal16 GetExePtr(word) WIN16_GetExePtr
145 134 pascal16 GetWindowsDirectory(ptr word) GetWindowsDirectory16
146 135 pascal16 GetSystemDirectory(ptr word) GetSystemDirectory16
147 136 pascal16 GetDriveType(word) GetDriveType16
148 137 pascal16 FatalAppExit(word str) FatalAppExit16
149 138 pascal GetHeapSpaces(word) GetHeapSpaces16
150 139 stub DoSignal
151 140 pascal16 SetSigHandler(segptr ptr ptr word word) SetSigHandler16
152 141 stub InitTask1
153 142 pascal16 GetProfileSectionNames(ptr word) GetProfileSectionNames16
154 143 pascal16 GetPrivateProfileSectionNames(ptr word str) GetPrivateProfileSectionNames16
155 144 pascal16 CreateDirectory(ptr ptr) CreateDirectory16
156 145 pascal16 RemoveDirectory(ptr) RemoveDirectory16
157 146 pascal16 DeleteFile(ptr) DeleteFile16
158 147 pascal16 SetLastError(long) SetLastError
159 148 pascal   GetLastError() GetLastError
160 149 pascal16 GetVersionEx(ptr) GetVersionEx16
161 150 pascal16 DirectedYield(word) DirectedYield16
162 151 stub WinOldApCall
163 152 pascal16 GetNumTasks() GetNumTasks16
164 154 pascal16 GlobalNotify(segptr) GlobalNotify16
165 155 pascal16 GetTaskDS() GetTaskDS16
166 156 pascal   LimitEMSPages(long) LimitEMSPages16
167 157 pascal   GetCurPID(long) GetCurPID16
168 158 pascal16 IsWinOldApTask(word) IsWinOldApTask16
169 159 pascal GlobalHandleNoRIP(word) GlobalHandleNoRIP16
170 160 stub EMSCopy
171 161 pascal16 LocalCountFree() LocalCountFree16
172 162 pascal16 LocalHeapSize() LocalHeapSize16
173 163 pascal16 GlobalLRUOldest(word) GlobalLRUOldest16
174 164 pascal16 GlobalLRUNewest(word) GlobalLRUNewest16
175 165 pascal16 A20Proc(word) A20Proc16
176 166 pascal16 WinExec(str word) WinExec16
177 167 pascal16 GetExpWinVer(word) GetExpWinVer16
178 168 pascal16 DirectResAlloc(word word word) DirectResAlloc16
179 169 pascal GetFreeSpace(word) GetFreeSpace16
180 170 pascal16 AllocCStoDSAlias(word) AllocCStoDSAlias16
181 171 pascal16 AllocDStoCSAlias(word) AllocDStoCSAlias16
182 172 pascal16 AllocAlias(word) AllocCStoDSAlias16
183 173 equate __ROMBIOS 0
184 174 equate __A000H 0
185 175 pascal16 AllocSelector(word) AllocSelector16
186 176 pascal16 FreeSelector(word) FreeSelector16
187 177 pascal16 PrestoChangoSelector(word word) PrestoChangoSelector16
188 178 equate __WINFLAGS 0x413
189 179 equate __D000H 0
190 180 pascal16 LongPtrAdd(long long) LongPtrAdd16
191 181 equate __B000H 0
192 182 equate __B800H 0
193 183 equate __0000H 0
194 184 pascal GlobalDOSAlloc(long) GlobalDOSAlloc16
195 185 pascal16 GlobalDOSFree(word) GlobalDOSFree16
196 186 pascal GetSelectorBase(word) WIN16_GetSelectorBase
197 187 pascal16 SetSelectorBase(word long) WIN16_SetSelectorBase
198 188 pascal GetSelectorLimit(word) GetSelectorLimit16
199 189 pascal16 SetSelectorLimit(word long) SetSelectorLimit16
200 190 equate __E000H 0
201 191 pascal16 GlobalPageLock(word) GlobalPageLock16
202 192 pascal16 GlobalPageUnlock(word) GlobalPageUnlock16
203 193 equate __0040H 0
204 194 equate __F000H 0
205 195 equate __C000H 0
206 196 pascal16 SelectorAccessRights(word word word) SelectorAccessRights16
207 197 pascal16 GlobalFix(word) GlobalFix16
208 198 pascal16 GlobalUnfix(word) GlobalUnfix16
209 199 pascal16 SetHandleCount(word) SetHandleCount16
210 200 pascal16 ValidateFreeSpaces() KERNEL_nop
211 201 stub ReplaceInst
212 202 stub RegisterPtrace
213 203 register DebugBreak() DebugBreak16
214 204 stub SwapRecording
215 205 stub CVWBreak
216 206 pascal16 AllocSelectorArray(word) AllocSelectorArray16
217 207 pascal16 IsDBCSLeadByte(word) IsDBCSLeadByte
218
219
220 # 208-237 are Win95 extensions; a few of those are also present in WinNT
221
222 208 pascal K208(word long long long) Local32Init16
223 209 pascal K209(long long word long) Local32Alloc16
224 210 pascal K210(long long word long long) Local32ReAlloc16
225 211 pascal K211(long long word) Local32Free16
226 213 pascal K213(long long word word) Local32Translate16
227 214 pascal K214(long long word) Local32Size16
228 215 pascal K215(long word) Local32ValidHandle16  # Win95 only -- CONFLICT!
229 #215 stub WOWShouldWeSayWin95                  # WinNT only -- CONFLICT!
230 216 pascal RegEnumKey(long long ptr long) RegEnumKey16                    # Both 95/NT
231 217 pascal RegOpenKey(long str ptr) RegOpenKey16                          # Both 95/NT
232 218 pascal RegCreateKey(long str ptr) RegCreateKey16
233 219 pascal RegDeleteKey(long str) RegDeleteKey16
234 220 pascal RegCloseKey(long) RegCloseKey16                                # Both 95/NT
235 221 pascal RegSetValue(long str long ptr long) RegSetValue16
236 222 pascal RegDeleteValue(long str) RegDeleteValue16
237 223 pascal RegEnumValue(long long ptr ptr ptr ptr ptr ptr) RegEnumValue16 # Both 95/NT
238 224 pascal RegQueryValue(long str ptr ptr) RegQueryValue16
239 225 pascal RegQueryValueEx(long str ptr ptr ptr ptr) RegQueryValueEx16
240 226 pascal RegSetValueEx(long str long long ptr long) RegSetValueEx16
241 227 pascal RegFlushKey(long) RegFlushKey
242 228 pascal16 K228(word) GetExePtr
243 229 pascal16 K229(long) Local32GetSegment16
244 230 pascal GlobalSmartPageLock(word) GlobalPageLock16 #?
245 231 pascal GlobalSmartPageUnlock(word) GlobalPageUnlock16 #?
246 232 stub RegLoadKey
247 233 stub RegUnloadKey
248 234 stub RegSaveKey
249 235 stub InvalidateNlsCache
250 236 stub GetProductName
251 237 pascal16 K237() KERNEL_nop
252
253
254 # 262-274 are WinNT extensions; those are not present in Win95
255
256 262 stub WOWWaitForMsgAndEvent
257 263 stub WOWMsgBox
258 273 stub K273
259 274 stub GetShortPathName
260
261
262 # 310-356 are again shared between all versions
263
264 310 pascal16 LocalHandleDelta(word) LocalHandleDelta16
265 311 pascal GetSetKernelDOSProc(ptr) GetSetKernelDOSProc16
266 314 stub DebugDefineSegment
267 315 pascal16 WriteOutProfiles() WriteOutProfiles16
268 316 pascal GetFreeMemInfo() GetFreeMemInfo16
269 318 stub FatalExitHook
270 319 stub FlushCachedFileHandle
271 320 pascal16 IsTask(word) IsTask16
272 323 pascal16 IsRomModule(word) IsRomModule16
273 324 pascal16 LogError(word ptr) LogError16
274 325 pascal16 LogParamError(word ptr ptr) LogParamError16
275 326 pascal16 IsRomFile(word) IsRomFile16
276 327 register K327() HandleParamError
277 328 pascal16 _DebugOutput() _DebugOutput
278 329 pascal16 K329(str word) DebugFillBuffer
279 332 long THHOOK(0 0 0 0 0 0 0 0)
280 334 pascal16 IsBadReadPtr(segptr word) IsBadReadPtr16
281 335 pascal16 IsBadWritePtr(segptr word) IsBadWritePtr16
282 336 pascal16 IsBadCodePtr(segptr) IsBadCodePtr16
283 337 pascal16 IsBadStringPtr(segptr word) IsBadStringPtr16
284 338 pascal16 HasGPHandler(segptr) HasGPHandler16
285 339 pascal16 DiagQuery() DiagQuery16
286 340 pascal16 DiagOutput(str) DiagOutput16
287 341 pascal ToolHelpHook(ptr) ToolHelpHook16
288 342 word __GP(0 0 0 0)
289 343 stub RegisterWinOldApHook
290 344 stub GetWinOldApHooks
291 345 pascal16 IsSharedSelector(word) IsSharedSelector16
292 346 pascal16 IsBadHugeReadPtr(segptr long) IsBadHugeReadPtr16
293 347 pascal16 IsBadHugeWritePtr(segptr long) IsBadHugeWritePtr16
294 348 pascal16 hmemcpy(ptr ptr long) hmemcpy16
295 349 pascal   _hread(word segptr long) WIN16_hread
296 350 pascal   _hwrite(word ptr long) _hwrite16
297 351 pascal16 BUNNY_351() KERNEL_nop
298 352 pascal   lstrcatn(segstr str word) lstrcatn16
299 353 pascal   lstrcpyn(segptr str word) lstrcpyn16
300 354 pascal   GetAppCompatFlags(word) GetAppCompatFlags16
301 355 pascal16 GetWinDebugInfo(ptr word) GetWinDebugInfo16
302 356 pascal16 SetWinDebugInfo(ptr) SetWinDebugInfo16
303
304
305 # 357-365 are present in Win95 only
306 # Note that from here on most of the Win95-only functions are exported 
307 # ordinal-only; the names given here are mostly guesses :-)
308
309 357 pascal MapSL(segptr) MapSL
310 358 pascal MapLS(long) MapLS
311 359 pascal UnMapLS(segptr) UnMapLS
312 360 pascal16 OpenFileEx(str ptr word) OpenFile16
313 361 pascal16 PIGLET_361() KERNEL_nop
314 362 stub ThunkTerminateProcess
315 365 register GlobalChangeLockCount(word word) GlobalChangeLockCount16
316
317
318 # 403-404 are common to all versions
319
320 403 pascal16 FarSetOwner(word word) FarSetOwner16 # aka K403
321 404 pascal16 FarGetOwner(word) FarGetOwner16 # aka K404
322
323
324 # 406-494 are present only in Win95
325
326 406 pascal16 WritePrivateProfileStruct(str str ptr word str) WritePrivateProfileStruct16
327 407 pascal16 GetPrivateProfileStruct(str str ptr word str) GetPrivateProfileStruct16
328 408 stub KERNEL_408
329 409 stub KERNEL_409
330 410 stub CreateProcessFromWinExec
331 411 pascal   GetCurrentDirectory(long ptr) GetCurrentDirectory16
332 412 pascal16 SetCurrentDirectory(ptr) SetCurrentDirectory16
333 413 pascal16 FindFirstFile(ptr ptr) FindFirstFile16
334 414 pascal16 FindNextFile(word ptr) FindNextFile16
335 415 pascal16 FindClose(word) FindClose16
336 416 pascal16 WritePrivateProfileSection(str str str) WritePrivateProfileSection16
337 417 pascal16 WriteProfileSection(str str) WriteProfileSection16
338 418 pascal16 GetPrivateProfileSection(str ptr word str) GetPrivateProfileSection16
339 419 pascal16 GetProfileSection(str ptr word) GetProfileSection16
340 420 pascal   GetFileAttributes(ptr) GetFileAttributes16
341 421 pascal16 SetFileAttributes(ptr long) SetFileAttributes16
342 422 pascal16 GetDiskFreeSpace(ptr ptr ptr ptr ptr) GetDiskFreeSpace16 
343 423 pascal16 LogApiThk(str) LogApiThk
344 431 pascal16 IsPeFormat(str word) IsPeFormat16
345 432 stub FileTimeToLocalFileTime
346 434 pascal16 UnicodeToAnsi(ptr ptr word) UnicodeToAnsi16
347 435 stub GetTaskFlags
348 436 pascal16 _ConfirmSysLevel(ptr) _ConfirmSysLevel
349 437 pascal16 _CheckNotSysLevel(ptr) _CheckNotSysLevel
350 438 pascal16 _CreateSysLevel(ptr long) _CreateSysLevel
351 439 pascal16 _EnterSysLevel(ptr) _EnterSysLevel
352 440 pascal16 _LeaveSysLevel(ptr) _LeaveSysLevel
353 441 pascal CreateThread16(ptr long segptr segptr long ptr) CreateThread16
354 442 pascal VWin32_EventCreate() VWin32_EventCreate
355 443 pascal VWin32_EventDestroy(long) VWin32_EventDestroy
356 444 pascal16 Local32Info(ptr word) Local32Info16
357 445 pascal16 Local32First(ptr word) Local32First16
358 446 pascal16 Local32Next(ptr) Local32Next16
359 447 pascal16 WIN32_OldYield() WIN32_OldYield16
360 448 stub KERNEL_448
361 449 pascal GetpWin16Lock() GetpWin16Lock16
362 450 pascal VWin32_EventWait(long) VWin32_EventWait
363 451 pascal VWin32_EventSet(long) VWin32_EventSet
364 452 pascal LoadLibrary32(str) LoadLibrary32_16
365 453 pascal GetProcAddress32(long str) GetProcAddress32_16
366 454 equate __FLATCS 0   # initialized by BUILTIN_Init()
367 455 equate __FLATDS 0   # initialized by BUILTIN_Init()
368 456 pascal DefResourceHandler(word word word) NE_DefResourceHandler
369 457 pascal CreateW32Event(long long) WIN16_CreateEvent
370 458 pascal SetW32Event(long) SetEvent
371 459 pascal ResetW32Event(long) ResetEvent
372 460 pascal WaitForSingleObject(long long) WIN16_WaitForSingleObject
373 461 pascal WaitForMultipleObjects(long ptr long long) WIN16_WaitForMultipleObjects
374 462 pascal GetCurrentThreadId() GetCurrentThreadId
375 463 pascal SetThreadQueue(long word) SetThreadQueue16
376 464 pascal GetThreadQueue(long) GetThreadQueue16
377 465 stub NukeProcess
378 466 pascal16 ExitProcess(word) ExitProcess16
379 467 stub WOACreateConsole
380 468 stub WOASpawnConApp
381 469 stub WOAGimmeTitle
382 470 stub WOADestroyConsole
383 471 pascal GetCurrentProcessId() GetCurrentProcessId
384 472 register MapHInstLS() MapHInstLS
385 473 register MapHInstSL() MapHInstSL
386 474 pascal CloseW32Handle(long) CloseHandle
387 475 pascal16 GetTEBSelectorFS() GetTEBSelectorFS16
388 476 pascal ConvertToGlobalHandle(long) ConvertToGlobalHandle
389 477 stub WOAFullScreen
390 478 stub WOATerminateProcess
391 479 pascal KERNEL_479(long) VWin32_EventSet  # ???
392 480 pascal16 _EnterWin16Lock() SYSLEVEL_EnterWin16Lock
393 481 pascal16 _LeaveWin16Lock() SYSLEVEL_LeaveWin16Lock
394 482 pascal LoadSystemLibrary32(str) LoadLibrary32_16   # FIXME!
395 483 pascal MapProcessHandle(long) MapProcessHandle
396 484 pascal SetProcessDWORD(long s_word long) SetProcessDword
397 485 pascal GetProcessDWORD(long s_word) GetProcessDword
398 486 pascal FreeLibrary32(long) FreeLibrary
399 487 pascal GetModuleFileName32(long str word) GetModuleFileNameA
400 488 pascal GetModuleHandle32(str) GetModuleHandleA
401 489 stub KERNEL_489  # VWin32_BoostWithDecay
402 490 pascal16 KERNEL_490(word) KERNEL_490
403 491 pascal RegisterServiceProcess(long long) RegisterServiceProcess
404 492 stub WOAAbort
405 493 pascal16 UTInit(long long long long) UTInit16
406 494 stub KERNEL_494
407
408 # 495 is present only in Win98
409 495 pascal WaitForMultipleObjectsEx(long ptr long long long) WIN16_WaitForMultipleObjectsEx
410
411 # 500-544 are WinNT extensions; some are also available in Win95
412
413 500 pascal WOW16Call(word word word) WOW16Call
414 501 stub KDDBGOUT                                               # Both NT/95 (?)
415 502 stub WOWGETNEXTVDMCOMMAND
416 503 stub WOWREGISTERSHELLWINDOWHANDLE
417 504 stub WOWLOADMODULE
418 505 stub WOWQUERYPERFORMANCECOUNTER
419 506 stub WOWCURSORICONOP
420 #507 stub WOWCURSORICONOP # conflict with 506 !
421 507 stub WOWFAILEDEXEC
422 #508 stub WOWFAILEDEXEC # conflict with 507 ! (something broken here ?)
423 508 stub WOWCLOSECOMPORT
424 #509 stub WOWCLOSECOMPORT # conflict with 508 !
425 509 stub WOWKILLREMOTETASK
426 511 stub WOWKILLREMOTETASK
427 512 stub WOWQUERYDEBUG
428 513 pascal LoadLibraryEx32W(ptr long long) LoadLibraryEx32W16   # Both NT/95
429 514 pascal FreeLibrary32W(long) FreeLibrary32W16                # Both NT/95
430 515 pascal GetProcAddress32W(long str) GetProcAddress32W16      # Both NT/95
431 516 pascal GetVDMPointer32W(segptr word) GetVDMPointer32W16     # Both NT/95
432 517 pascal CallProc32W() CallProc32W16                          # Both NT/95
433 518 pascal _CallProcEx32W() CallProcEx32W16                     # Both NT/95
434 519 stub EXITKERNELTHUNK
435 # the __MOD_ variables are WORD datareferences, the current values are invented.
436 520 equate __MOD_KERNEL 4200
437 521 equate __MOD_DKERNEL 4201
438 522 equate __MOD_USER 4203
439 523 equate __MOD_DUSER 4204
440 524 equate __MOD_GDI 4205
441 525 equate __MOD_DGDI 4206
442 526 equate __MOD_KEYBOARD 4207
443 527 equate __MOD_SOUND 4208
444 528 equate __MOD_SHELL 4209
445 529 equate __MOD_WINSOCK 4210
446 530 equate __MOD_TOOLHELP 4211
447 531 equate __MOD_MMEDIA 4212
448 532 equate __MOD_COMMDLG 4213
449 541 stub WOWSETEXITONLASTAPP
450 544 stub WOWSETCOMPATHANDLE
451
452
453 # 531-568 are Win95-only extensions.
454 # NOTE: Ordinals 531,532,541 clash with the WinNT extensions given above! Argh!
455
456 #531 stub ConvertClipboardHandleLS
457 #532 stub ConvertClipboardHandleSL
458 533 stub ConvertDDEHandleLS
459 534 stub ConvertDDEHandleSL
460 535 pascal VWin32_BoostThreadGroup(long long) VWin32_BoostThreadGroup
461 536 pascal VWin32_BoostThreadStatic(long long) VWin32_BoostThreadStatic
462 537 stub KERNEL_537
463 538 stub ThunkTheTemplateHandle
464 540 stub KERNEL_540
465 #541 stub KERNEL_541
466 542 stub KERNEL_542
467 543 stub KERNEL_543
468 560 pascal SetThunkletCallbackGlue(long segptr) SetThunkletCallbackGlue16
469 561 pascal AllocLSThunkletCallback(segptr long) AllocLSThunkletCallback16
470 562 pascal AllocSLThunkletCallback(long long) AllocSLThunkletCallback16
471 563 pascal FindLSThunkletCallback(segptr long) FindLSThunkletCallback
472 564 pascal FindSLThunkletCallback(long long) FindSLThunkletCallback
473 566 stub KERNEL_566  # (thunklet) FIXME!!!
474 567 pascal AllocLSThunkletCallbackEx(segptr long word) AllocLSThunkletCallbackEx16
475 568 pascal AllocSLThunkletCallbackEx(long long word) AllocSLThunkletCallbackEx16
476
477
478 # 600-653 are Win95 only
479
480 600 stub AllocCodeAlias
481 601 stub FreeCodeAlias
482 602 pascal16 GetDummyModuleHandleDS() GetDummyModuleHandleDS16
483 603 stub KERNEL_603  # OutputDebugString (?)
484 604 register CBClientGlueSL() CBClientGlueSL
485 605 pascal AllocSLThunkletCallback(long long) AllocSLThunkletCallback16
486 606 pascal AllocLSThunkletCallback(segptr long) AllocLSThunkletCallback16
487 607 pascal AllocLSThunkletSysthunk(segptr long long) AllocLSThunkletSysthunk16
488 608 pascal AllocSLThunkletSysthunk(long segptr long) AllocSLThunkletSysthunk16
489 609 pascal FindLSThunkletCallback(segptr long) FindLSThunkletCallback
490 610 pascal FindSLThunkletCallback(long long) FindSLThunkletCallback
491 611 pascal16 FreeThunklet(long long) FreeThunklet16
492 612 pascal16 IsSLThunklet(ptr) IsSLThunklet16
493 613 stub HugeMapLS
494 614 stub HugeUnMapLS
495 615 pascal16 ConvertDialog32To16(long long long) ConvertDialog32To16
496 616 pascal16 ConvertMenu32To16(long long long) ConvertMenu32To16
497 617 pascal16 GetMenu32Size(ptr) GetMenu32Size16
498 618 pascal16 GetDialog32Size(ptr) GetDialog32Size16
499 619 pascal16 RegisterCBClient(word segptr long) RegisterCBClient16
500 620 register CBClientThunkSL() CBClientThunkSL
501 621 register CBClientThunkSLEx() CBClientThunkSLEx
502 622 pascal16 UnRegisterCBClient(word segptr long) UnRegisterCBClient16
503 623 pascal16 InitCBClient(long) InitCBClient16
504 624 pascal SetFastQueue(long long) SetFastQueue16
505 625 pascal GetFastQueue() GetFastQueue16
506 626 stub SmashEnvironment
507 627 pascal16 IsBadFlatReadWritePtr(segptr long word) IsBadFlatReadWritePtr16
508 630 register C16ThkSL() C16ThkSL
509 631 register C16ThkSL01() C16ThkSL01
510 651 pascal ThunkConnect16(str str word long ptr str word) ThunkConnect16
511 652 stub IsThreadId
512 653 stub OkWithKernelToChangeUsers
513
514
515 # 700-704 are Win95 only
516
517 700 pascal SSInit() SSInit16
518 701 stub SSOnBigStack
519 702 stub SSCall
520 703 stub CallProc32WFix
521 704 register SSConfirmSmallStack() SSConfirmSmallStack
522
523
524 # Win95 krnl386.exe also exports ordinals 802-864,
525 # however, those seem to be only callback stubs that are
526 # never called directly by other modules ...
527