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