; Note - if you want to add exports to kernel16, please check with the
; developer who currently owns the product.  As a general rule,
; add new public APIs to the end of the list, and add new internal APIs
; in one of the holes that is marked ";Avail NNN".  Call your internal
; API  "funcname @ NNN  NONAME  NODATA  ;Internal"
; The ";Internal" is redundant now that we use NONAME, but it is fine
; documentation.  the "NONAME" keeps it from appearing in LIBW or
; KRNL386.EXE, so internal stuff stays internal.
;
; In your code, either link by ordinal, or add an entry
; to your DEF file, performing the rename of the kernel export there.
; Also, don't add exports at the very end of the file, as that messes
; up the ROM Windows hack.


LIBRARY KERNEL

DESCRIPTION 'Microsoft Windows Kernel Interface Version 4.00'
EXETYPE WINDOWS
PROTMODE
STUB 'KERNSTUB.EXE'

CODE PRELOAD MOVEABLE
DATA SINGLE

SEGMENTS
    _TEXT     CLASS 'CODE' PRELOAD FIXED
    _INITTEXT CLASS 'CODE' PRELOAD FIXED
;    _STRS     CLASS 'CODE' PRELOAD FIXED

    _DATA     CLASS 'DATA' PRELOAD FIXED
    _GPFIX0   CLASS 'DATA' PRELOAD FIXED
    _GPFIX    CLASS 'DATA' PRELOAD FIXED
    _GPFIX1   CLASS 'DATA' PRELOAD FIXED

    _INITDATA CLASS 'DATA' PRELOAD FIXED
    STACK     CLASS 'DATA' PRELOAD FIXED

    _PADDATA  CLASS 'DATA' PRELOAD FIXED
    _NRESTEXT CLASS 'CODE' PRELOAD MOVEABLE DISCARDABLE
    _MISCTEXT CLASS 'CODE' PRELOAD MOVEABLE DISCARDABLE

HEAPSIZE 512            ; This used to be the initial size of the
                        ; global handle table.

EXPORTS

; General procedures

 FATALEXIT              @  1            NODATA
 EXITKERNEL             @  2            NODATA  ;Internal
 GETVERSION             @  3            NODATA

; Local memory manager procedures

 LOCALINIT              @  4            NODATA
 LOCALALLOC             @  5            NODATA
 LOCALREALLOC           @  6            NODATA
 LOCALFREE              @  7            NODATA
 LOCALLOCK              @  8            NODATA
 LOCALUNLOCK            @  9            NODATA
 LOCALSIZE              @ 10            NODATA
 LOCALHANDLE            @ 11            NODATA
 LOCALFLAGS             @ 12            NODATA
 LOCALCOMPACT           @ 13            NODATA
 LOCALNOTIFY            @ 14            NODATA  ;Internal

; Global memory manager procedures

 GLOBALALLOC            @ 15            NODATA
 GLOBALREALLOC          @ 16            NODATA
 GLOBALFREE             @ 17            NODATA
 GLOBALLOCK             @ 18            NODATA
 GLOBALUNLOCK           @ 19            NODATA
 GLOBALSIZE             @ 20            NODATA
 GLOBALHANDLE           @ 21            NODATA
 GLOBALFLAGS            @ 22            NODATA
 LOCKSEGMENT            @ 23            NODATA
 UNLOCKSEGMENT          @ 24            NODATA
 GLOBALCOMPACT          @ 25            NODATA
 GLOBALFREEALL          @ 26            NODATA  ;Internal
 GETMODULENAME          @ 27            NODATA  ;Internal
 GLOBALMASTERHANDLE     @ 28            NODATA  ;Internal

; Multitasking procedures

 YIELD                  @ 29            NODATA
 WAITEVENT              @ 30            NODATA
 POSTEVENT              @ 31            NODATA  ;Internal
 SETPRIORITY            @ 32            NODATA  ;Internal
 LOCKCURRENTTASK        @ 33            NODATA  ;Internal
 SETTASKQUEUE           @ 34            NODATA  ;Internal OBSOLETE in Win95, WOW still needs for now
 GETTASKQUEUE           @ 35            NODATA  ;Internal
 GETCURRENTTASK         @ 36            NODATA
 GETCURRENTPDB          @ 37            NODATA
 SETTASKSIGNALPROC      @ 38            NODATA  ;Internal OBSOLETE in Win95, WOW still needs for now
; SETTASKSWITCHPROC     @ 39            NODATA
; SETTASKINTERCHANGE    @ 40            NODATA
 ENABLEDOS              @ 41            NODATA  ;Internal
 DISABLEDOS             @ 42            NODATA  ;Internal
; ISSCREENGRAB          @ 43            NODATA
; BUILDPDB              @ 44            NODATA

; Dynamic loader

 LOADMODULE             @ 45            NODATA
 FREEMODULE             @ 46            NODATA
 GETMODULEHANDLE        @ 47            NODATA
 GETMODULEUSAGE         @ 48            NODATA
 GETMODULEFILENAME      @ 49            NODATA
 GETPROCADDRESS         @ 50            NODATA
 MAKEPROCINSTANCE       @ 51            NODATA
 FREEPROCINSTANCE       @ 52            NODATA
 CALLPROCINSTANCE       @ 53            NODATA  ;Internal
 GETINSTANCEDATA        @ 54            NODATA
 CATCH                  @ 55            NODATA
 THROW                  @ 56            NODATA

; WIN.INI interface procedures

 GETPROFILEINT          @ 57            NODATA
 GETPROFILESTRING       @ 58            NODATA
 WRITEPROFILESTRING     @ 59            NODATA

; Resource manager procedures

 FINDRESOURCE           @ 60            NODATA
 LOADRESOURCE           @ 61            NODATA
 LOCKRESOURCE           @ 62            NODATA
 FREERESOURCE           @ 63            NODATA
 ACCESSRESOURCE         @ 64            NODATA
 SIZEOFRESOURCE         @ 65            NODATA
 ALLOCRESOURCE          @ 66            NODATA
 SETRESOURCEHANDLER     @ 67            NODATA

; Atom manager procedures

 INITATOMTABLE          @ 68            NODATA
 FINDATOM               @ 69            NODATA
 ADDATOM                @ 70            NODATA
 DELETEATOM             @ 71            NODATA
 GETATOMNAME            @ 72            NODATA
 GETATOMHANDLE          @ 73            NODATA

; File name procedures

 OPENFILE               @ 74            NODATA
 OPENPATHNAME           @ 75            NODATA  ;Internal
 DELETEPATHNAME         @ 76            NODATA  ;Internal

; ANSI character set procedures
; The following 4 functions are now in USER. The ordinal numbers are
; preserved for compatability with 2.X apps

 K77 = ANSINEXT         @ 77    NONAME  NODATA  ;Internal
 K78 = ANSIPREV         @ 78    NONAME  NODATA  ;Internal
 K79 = ANSIUPPER        @ 79    NONAME  NODATA  ;Internal
 K80 = ANSILOWER        @ 80    NONAME  NODATA  ;Internal

; File I/O procedures

 _LCLOSE                @ 81            NODATA
 _LREAD                 @ 82            NODATA
 _LCREAT                @ 83            NODATA
 _LLSEEK                @ 84            NODATA
 _LOPEN                 @ 85            NODATA
 _LWRITE                @ 86            NODATA

; Internally used string procedures that take far pointers
; The following LSTRORIGINAL function is the old 2.X lstrcmp()
; The ordinal number is preserved for compatability with 2.X apps
; All 3.X apps will use the lstrcmp() and lstrcmpi() of USER.

K87 =  LSTRORIGINAL     @ 87    NONAME  NODATA  ;Internal
 LSTRCPY                @ 88            NODATA
 LSTRCAT                @ 89            NODATA
 LSTRLEN                @ 90            NODATA

; Stuff added after last release

 INITTASK               @ 91            NODATA
 GETTEMPDRIVE           @ 92            NODATA
 GETCODEHANDLE          @ 93            NODATA
 DEFINEHANDLETABLE      @ 94            NODATA
 LOADLIBRARY            @ 95            NODATA
 FREELIBRARY            @ 96            NODATA
 GETTEMPFILENAME        @ 97            NODATA
 GETLASTDISKCHANGE      @ 98            NODATA  ;Internal
 GETLPERRMODE           @ 99            NODATA  ;Internal
 VALIDATECODESEGMENTS   @100            NODATA

; Stuff added for 1.02 release

 NOHOOKDOSCALL          @101            NODATA  ;Internal

; Stuff added for 1.03 release

 DOS3CALL               @102            NODATA
 NETBIOSCALL            @103            NODATA

; Stuff added for 2.00 release

 GETCODEINFO            @104            NODATA
 GETEXEVERSION          @105            NODATA  ;Internal
 SETSWAPAREASIZE        @106            NODATA
 SETERRORMODE           @107            NODATA
 SWITCHSTACKTO          @108            NODATA
 SWITCHSTACKBACK        @109            NODATA
 PATCHCODEHANDLE        @110            NODATA
 GLOBALWIRE             @111            NODATA
 GLOBALUNWIRE           @112            NODATA
 __AHSHIFT              @113            NODATA
 __AHINCR               @114            NODATA
 OUTPUTDEBUGSTRING      @115            NODATA
 INITLIB                @116            NODATA  ;Internal
 OLDYIELD               @117            NODATA  ;Internal
 ;GETTASKQUEUEDS        @118            NODATA  ;Internal
 GETTASKQUEUEES         @119            NODATA  ;Internal OBSOLETE in Win95, WOW still needs for now
 UNDEFDYNLINK           @120            NODATA  ;Internal
 LOCALSHRINK            @121            NODATA
 ISTASKLOCKED           @122            NODATA  ;Internal
 KBDRST                 @123            NODATA  ;Internal

; Stuff added for REO SpeedWagon

 ENABLEKERNEL           @124            NODATA  ;Internal
 DISABLEKERNEL          @125            NODATA  ;Internal

; Stuff added for 2.03c release.

 MEMORYFREED            @126            NODATA  ;Internal

; New 3.0 Goodies

 GETPRIVATEPROFILEINT   @127
 GETPRIVATEPROFILESTRING @128
 WRITEPRIVATEPROFILESTRING @129
 FILECDR                @130            NODATA  ;Internal
 GETDOSENVIRONMENT      @131            NODATA
 GETWINFLAGS            @132            NODATA
 GETEXEPTR              @133            NODATA  ;Internal
 GETWINDOWSDIRECTORY    @134            NODATA
 GETSYSTEMDIRECTORY     @135            NODATA
 GETDRIVETYPE           @136            NODATA
 FATALAPPEXIT           @137            NODATA
 GETHEAPSPACES          @138            NODATA  ;Internal
; DOSIGNAL              @139            NODATA  ;Internal
; SETSIGHANDLER         @140            NODATA  ;Internal
; INITTASK1             @141            NODATA  ;Internal

; New INI stuff in Chicago/4.0

 GETPROFILESECTIONNAMES @142            NODATA
 GETPRIVATEPROFILESECTIONNAMES @143     NODATA
 CREATEDIRECTORY        @144            NODATA
 REMOVEDIRECTORY        @145            NODATA
 DELETEFILE             @146            NODATA
 SETLASTERROR           @147            NODATA
 GETLASTERROR           @148            NODATA
 GETVERSIONEX           @149

; Stuff below was in 2.03

 DIRECTEDYIELD          @150            NODATA
; WINOLDAPCALL          @151            NODATA  ;Internal
 GETNUMTASKS            @152            NODATA
; DISCARDCODESEGMENT    @153            NODATA
 GLOBALNOTIFY           @154            NODATA
 GETTASKDS              @155            NODATA  ;Internal
 LIMITEMSPAGES          @156            NODATA
 GETCURPID              @157            NODATA  ;Internal
 ISWINOLDAPTASK         @158            NODATA  ;Internal
 GLOBALHANDLENORIP      @159            NODATA  ;Internal
; EMSCOPY               @160            NODATA  ;Internal
 LOCALCOUNTFREE         @161            NODATA  ;Internal
 LOCALHEAPSIZE          @162            NODATA  ;Internal
 GLOBALLRUOLDEST        @163            NODATA
 GLOBALLRUNEWEST        @164            NODATA
 A20PROC                @165            NODATA  ;Internal
 WINEXEC                @166            NODATA
 GETEXPWINVER           @167            NODATA  ;Internal
 DIRECTRESALLOC         @168            NODATA  ;Internal
 GETFREESPACE           @169            NODATA

; Protect Mode stuff

 ALLOCCSTODSALIAS       @170            NODATA
 ALLOCDSTOCSALIAS       @171            NODATA
 ALLOCALIAS             @172            NODATA
 __ROMBIOS              @173            NODATA
 __A000h                @174            NODATA
 ALLOCSELECTOR          @175            NODATA
 FREESELECTOR           @176            NODATA
 PRESTOCHANGOSELECTOR   @177            NODATA
 __WINFLAGS             @178            NODATA
 __D000h                @179            NODATA
 LONGPTRADD             @180            NODATA
 __B000h                @181            NODATA
 __B800h                @182            NODATA
 __0000h                @183            NODATA
 GLOBALDOSALLOC         @184            NODATA
 GLOBALDOSFREE          @185            NODATA
 GETSELECTORBASE        @186            NODATA
 SETSELECTORBASE        @187            NODATA
 GETSELECTORLIMIT       @188            NODATA
 SETSELECTORLIMIT       @189            NODATA
 __E000h                @190            NODATA
 GLOBALPAGELOCK         @191            NODATA
 GLOBALPAGEUNLOCK       @192            NODATA
 __0040h                @193            NODATA
 __F000h                @194            NODATA
 __C000h                @195            NODATA
 SELECTORACCESSRIGHTS   @196            NODATA
 GLOBALFIX              @197            NODATA
 GLOBALUNFIX            @198            NODATA
 SETHANDLECOUNT         @199            NODATA

; Debugging aids

 VALIDATEFREESPACES     @200            NODATA
 REPLACEINST            @201            NODATA  ;Internal
 REGISTERPTRACE         @202            NODATA  ;Internal
 DEBUGBREAK             @203            NODATA
 SWAPRECORDING          @204            NODATA
 CVWBREAK               @205            NODATA

 ALLOCSELECTORARRAY     @206            NODATA  ;Internal

; DBCS Supporting Stuff

 ISDBCSLEADBYTE         @207            NODATA

; 32bit heap manager

 k208=LOCAL32INIT       @208    NODATA          ;Internal
 k209=LOCAL32ALLOC      @209    NODATA          ;Internal
 k210=LOCAL32REALLOC    @210    NODATA          ;Internal
 k211=LOCAL32FREE       @211    NODATA          ;Internal
;Avail 212
 k213=LOCAL32TRANSLATE  @213    NODATA          ;Internal
 k214=LOCAL32SIZE       @214    NODATA          ;Internal
 k215=LOCAL32VALIDHANDLE @215   NODATA          ;Internal

; 32-bit Registry APIs
 REGENUMKEY = REGENUMKEY32            @216    NODATA
 REGOPENKEY = REGOPENKEY32            @217    NODATA
 REGCREATEKEY = REGCREATEKEY32        @218    NODATA
 REGDELETEKEY = REGDELETEKEY32        @219    NODATA
 REGCLOSEKEY = REGCLOSEKEY32          @220    NODATA
 REGSETVALUE = REGSETVALUE32          @221    NODATA
 REGDELETEVALUE = REGDELETEVALUE32    @222    NODATA
 REGENUMVALUE = REGENUMVALUE32        @223    NODATA
 REGQUERYVALUE = REGQUERYVALUE32      @224    NODATA
 REGQUERYVALUEEX = REGQUERYVALUEEX32  @225    NODATA
 REGSETVALUEEX = REGSETVALUEEX32      @226    NODATA
 REGFLUSHKEY = REGFLUSHKEY32          @227    NODATA

 K228 = COMPUTEOBJECTOWNER            @228    NODATA    ;Internal
 K229 = LOCAL32GETSEL                 @229    NODATA    ;Internal
 GLOBALSMARTPAGELOCK = IGLOBALFIX     @230    NODATA    ; See 3ginterf.asm
 GLOBALSMARTPAGEUNLOCK = IGLOBALUNFIX @231    NODATA    ; See 3ginterf.asm

 REGLOADKEY = REGLOADKEY32            @232    NODATA
 REGUNLOADKEY = REGUNLOADKEY32        @233    NODATA
 REGSAVEKEY = REGSAVEKEY32            @234    NODATA
 INVALIDATENLSCACHE                   @235    NODATA  ;Internal
 GETPRODUCTNAME                       @236    NODATA
 K237=ISSAFEMODE                      @237    NODATA  ;Internal
;Avail 238
; .....
;Avail 249
;Avail 250

 WOWREGISTERSHELLWINDOWHANDLE @251    NODATA     ;Internal
 WOWSHUTDOWNTIMER             @252    NODATA     ;Internal

;Avail 251
;Avail 252
; .....
;Avail 260
;Avail 261

;
; ==================================
; Add new WOW thunks above this line
; ==================================
;

 WOWWAITFORMSGANDEVENT  @262    NODATA     ;Internal
 WOWMSGBOX              @263    NODATA     ;Internal

;Avail 264
;Avail 265
; .....
;Avail 271
;Avail 272

 WOWPARTYBYNUMBER       @273    NONAME  NODATA     ;Internal
 GetShortPathName       @274            NODATA

;Avail 275
;Avail 276
; .....
;Avail 284
;Avail 285

;;;;; JAPANESE VERSION ONLY
;;;;; GETINTERNALVERSION        NODATA          ;Internal

; all you wanted to know about these ROMRESERVEDs but were afraid to ask:
; these act like ifdef ROM
; rom.def is produced by passing kernel.def thru SED.

; ROM Windows Uncompression routine
;ROM_RESERVED LZDECODE  @286    NODATA          ;Internal

;Avail 287
;Avail 288
; .....
;Avail 308
;Avail 309

; New stuff for 3.1

 LOCALHANDLEDELTA       @310            NODATA  ;Internal
 GETSETKERNELDOSPROC    @311            NODATA  ;Internal
; FARVALIDATEPOINTER    @312            NODATA  ;Internal removed davidds
; GETLASTCRITICALERROR  @313            NODATA  ; removed EarleH
 DEBUGDEFINESEGMENT     @314            NODATA  ;Internal
 WRITEOUTPROFILES       @315            NODATA  ;Internal
 GETFREEMEMINFO         @316    NONAME  NODATA  ;Internal
;Avail 317
 FATALEXITHOOK          @318            NODATA  ;Internal
 FLUSHCACHEDFILEHANDLE  @319            NODATA  ;Internal
 ISTASK                 @320            NODATA
; RESERVED              @321            NODATA
;Avail 322
 ISROMMODULE            @323            NODATA  ;Internal
 LOGERROR               @324            NODATA
 LOGPARAMERROR          @325            NODATA
 ISROMFILE              @326            NODATA  ;Internal
 HANDLEPARAMERROR       @327    NONAME  NODATA  ;Internal
 _DebugOutput           @328            NODATA
 DEBUGFILLBUFFER        @329    NONAME  NODATA  ;Internal
;Avail 330
;Avail 331
 THHOOK                 @332            NODATA  ;Internal
;OPENSYSTEMFILE         @333            NODATA  ;Removed 3-Oct-91 by JonT

 ; Pointer validation routines (donc)
 ISBADREADPTR           @334            NODATA
 ISBADWRITEPTR          @335            NODATA
 ISBADCODEPTR           @336            NODATA
 ISBADSTRINGPTR         @337            NODATA
 HASGPHANDLER           @338            NODATA  ;Internal

 ; Diagnostic mode exports
 DIAGQUERY              @339    NONAME  NODATA  ;Internal
 DIAGOUTPUT             @340    NONAME  NODATA  ;Internal
 TOOLHELPHOOK           @341            NODATA  ;Internal
 __GP                   @342    RESIDENTNAME    ;Internal GP handler table

 ; Winoldap hooks
 ;REGISTERWINOLDAPHOOK  @343            NODATA  ;Internal [removed DonC]
 ;GETWINOLDAPHOOKS      @344            NODATA  ;Internal [removed DonC]

 ISSHAREDSELECTOR       @345            NODATA  ;Internal

 ; More pointer validation and huge routines (donc)
 ISBADHUGEREADPTR       @346            NODATA
 ISBADHUGEWRITEPTR      @347            NODATA
 HMEMCPY                @348            NODATA
 _HREAD                 @349            NODATA
 _HWRITE                @350            NODATA

; USER's private exit notify callback.

 BUNNY_351              @351            NODATA  ;Internal

 LSTRCATN               @352
 LSTRCPYN               @353            NODATA
 GETAPPCOMPATFLAGS      @354            NODATA  ;Internal
 GETWINDEBUGINFO        @355            NODATA
 SETWINDEBUGINFO        @356            NODATA
 MAPSL                  @357    NONAME  NODATA
 MAPLS                  @358    NONAME  NODATA
 UNMAPLS                @359    NONAME  NODATA
 OPENFILEEX             @360            NODATA

; USER's private api to tell kernel it's ok to terminate now

;WOW PIGLET_361             @361            NODATA  ;Internal
;WOW THUNKTERMINATEPROCESS   @362    NONAME  NODATA  ;Internal

;Avail 363
;Avail 364
 FASTANDDIRTYGLOBALFIX  @365    NONAME  NODATA  ;Internal Win32

;Avail 366
; .....
;Avail 401
;Avail 402
 FARSETOWNER            @403    NONAME  NODATA  ;Internal Win32S support
 FARGETOWNER            @404    NONAME  NODATA  ;Internal Win32S support
; GETLDT                @405            NODATA  ;Internal
; New for Win4
 WRITEPRIVATEPROFILESTRUCT @406         NODATA
 GETPRIVATEPROFILESTRUCT @407           NODATA

; New for Chicago
;WOW DOSTHUNK32             @408    NONAME  NODATA  ;Internal Win32 support
;WOW WIN32INIT              @409    NONAME  NODATA  ;Internal Win32 support
;WOW WIN32EXEC              @410    NONAME  NODATA  ;Internal Win32 support
 GETCURRENTDIRECTORY    @411            NODATA
 SETCURRENTDIRECTORY    @412            NODATA
 FINDFIRSTFILE          @413            NODATA
 FINDNEXTFILE           @414            NODATA
 FINDCLOSE              @415            NODATA
 WRITEPRIVATEPROFILESECTION @416        NODATA
 WRITEPROFILESECTION    @417            NODATA
 GETPRIVATEPROFILESECTION @418          NODATA
 GETPROFILESECTION      @419            NODATA
 GETFILEATTRIBUTES      @420            NODATA
 SETFILEATTRIBUTES      @421            NODATA
 GETDISKFREESPACE       @422            NODATA

;WOW LOGAPITHKLS            @423    NONAME  NODATA  ;Internal
;;; COMMON16THKSL               @424    NONAME  NODATA  ;Internal
;@425   NONAME  NODATA  ;Internal
;@426   NONAME  NODATA  ;Internal
;@427   NONAME  NODATA  ;Internal
;@428   NONAME  NODATA  ;Internal
;@429   NONAME  NODATA  ;Internal

;@430   NONAME  NODATA  ;Internal
 ISPEFORMAT             @431    NONAME  NODATA  ;Internal used by shell
 FILETIMETOLOCALFILETIME @432
;@433   NONAME  NODATA  ;Internal
 k434=UniToAnsi         @434    NONAME  NODATA  ;Internal

;WOW GETTASKFLAGS           @435    NONAME  NODATA  ;Internal Win32 support

;WOW _CHECKSYSLEVEL         @436    NONAME  NODATA  ;Internal ; 16 bit access to heirachical critical
;WOW _CONFIRMSYSLEVEL       @437    NONAME  NODATA  ;Internal ; sections
;WOW _INITSYSLEVEL          @438    NONAME  NODATA  ;Internal
;WOW _ENTERSYSLEVEL         @439    NONAME  NODATA  ;Internal
;WOW _LEAVESYSLEVEL         @440    NONAME  NODATA  ;Internal

 CREATETHREAD           @441    NONAME  NODATA  ;Internal
;WOW CREATESYNCEVENT        @442    NONAME  NODATA  ;Internal
;WOW DESTROYSYNCEVENT       @443    NONAME  NODATA  ;Internal

;WOW HEAP32INFO             @444    NONAME  NODATA  ;Internal
;WOW HEAP32FIRST            @445    NONAME  NODATA  ;Internal
;WOW HEAP32NEXT             @446    NONAME  NODATA  ;Internal

 LEAVEENTERWIN16LOCK    @447    NONAME  NODATA  ;Internal
;WOW _GETSYSLEVELCOUNT      @448    NONAME  NODATA  ;Internal
 GETWIN16LOCK           @449    NONAME  NODATA  ;Internal
;WOW WAITSYNCEVENT          @450    NONAME  NODATA  ;Internal
;WOW SETSYNCEVENT           @451    NONAME  NODATA  ;Internal

 LOADLIBRARY32          @452    NONAME  NODATA  ;Internal
 GETPROCADDRESS32       @453    NONAME  NODATA  ;Internal

 __FLATCS               @454    NONAME  NODATA  ;Internal
 __FLATDS               @455    NONAME  NODATA  ;Internal

;WOW DefaultResourceHandler @456    NONAME  NODATA  ;Internal

 CREATEWIN32EVENT       @457    NONAME  NODATA  ;Internal
 SETWIN32EVENT          @458    NONAME  NODATA  ;Internal
 RESETWIN32EVENT        @459    NONAME  NODATA  ;Internal
 WAITFORSINGLEOBJECT    @460    NONAME  NODATA  ;Internal
 WAITFORMULTIPLEOBJECTS @461    NONAME  NODATA  ;Internal

 GETCURRENTTHREADID     @462    NONAME  NODATA  ;Internal
 SETTHREADQUEUE         @463    NONAME  NODATA  ;Internal
 GETTHREADQUEUE         @464    NONAME  NODATA  ;Internal
 NUKEPROCESS            @465    NONAME  NODATA  ;Internal
 EXITPROCESS            @466    NONAME  NODATA  ;Internal

;WOW WOACREATECONSOLE       @467    NONAME  NODATA  ;Internal : WinOldAp/ Console interface
;WOW WOASPAWNCONAPP         @468    NONAME  NODATA  ;Internal : WinOldAp/ Console interface
;WOW WOAGIMMETITLE          @469    NONAME  NODATA  ;Internal : WinOldAp/ Console interface
;WOW WOADESTROYCONSOLE      @470    NONAME  NODATA  ;Internal : WinOldAp/ Console interface

 GETCURRENTPROCESSID    @471    NONAME  NODATA  ;Internal

 MAPHINSTLS             @472    NONAME  NODATA  ;Internal
 MAPHINSTSL             @473    NONAME  NODATA  ;Internal

 CLOSEWIN32HANDLE       @474    NONAME  NODATA  ;Internal
;WOW GETCURRENTTIBFS        @475    NONAME  NODATA  ;Internal

;WOW CONVERTTOGLOBALHANDLE  @476    NONAME  NODATA  ;Internal

;WOW WOAFULLSCREEN          @477    NONAME  NODATA  ;Internal : WinOldAp/ Console Interface
;WOW WOATERMINATEPROCESSES  @478    NONAME  NODATA  ;Internal : WinOldAp/ Console Interface

;WOW SETRITSYNCEVENT        @479    NONAME  NODATA  ;Internal
;WOW  _ENTERWIN16LOCK        @480    NONAME  NODATA  ;Internal
;WOW  _LEAVEWIN16LOCK        @481    NONAME  NODATA  ;Internal
 LOADSYSTEMLIBRARY32    @482    NONAME  NODATA  ;Internal
;WOW MAPPROCESSHANDLE       @483    NONAME  NODATA  ;Internal
;WOW SETPROCESSDWORD        @484    NONAME  NODATA  ;Internal
;WOW GETPROCESSDWORD        @485    NONAME  NODATA  ;Internal
 FREELIBRARY32          @486    NONAME  NODATA  ;Internal
 GETMODULEFILENAME32    @487    NONAME  NODATA  ;Internal
 GETMODULEHANDLE32      @488    NONAME  NODATA  ;Internal
;WOW BOOSTTHREADPRIDECAY    @489    NONAME  NODATA  ;Internal
;WOW SETSENDMSGTDB          @490    NONAME  NODATA  ;Internal
 REGISTERSERVICEPROCESS @491            NODATA

;WOW WOAABORT               @492    NONAME  NODATA ;Internal

;WOW UTAlohaKernel          @493    NONAME  NODATA ;Internal  ;;Secret win32s16.dll interface
;WOW GlobalLinToHandle      @494    NONAME  NODATA ;Internal  ;;Secret win32s16.dll interface


;; FLUSHLRUSTATS        @500    NONAME  NODATA  ;Internal : to flush LRU stats
 CHANGEALLOCFIXEDBEHAVIOUR      @501    NONAME  NODATA  ;Internal


; WOW Stuff for NT

 WOWGETNEXTVDMCOMMAND   @502            NODATA  ;Internal
 WOWLOADMODULE          @504            NODATA  ;Internal
 WOWQUERYPERFORMANCECOUNTER @505        NODATA  ;Internal
 WOW16CALL              @506            NODATA  ;Internal
 WOWCURSORICONOP        @507            NODATA  ;Internal
 WOWFAILEDEXEC          @508            NODATA  ;Internal
 WOWCLOSECOMPORT        @509            NODATA  ;Internal
 KDDBGOUT               @510            NODATA  ;Internal
 WOWKILLREMOTETASK      @511            NODATA  ;Internal
 WOWQUERYDEBUG          @512            NODATA  ;Internal

; NT Generic Thunks.

 LoadLibraryEx32W       @513            NODATA
 FreeLibrary32W         @514            NODATA
 GetProcAddress32W      @515            NODATA
 GetVDMPointer32W       @516            NODATA
 CallProc32W            @517            NODATA
 _CallProcEx32W         @518            NODATA

 EXITKERNELTHUNK        @519            NODATA
 WOWSETEXITONLASTAPP    @520            NODATA  ;Internal

 GetWOWCompatFlagsEx=MyGetAppWOWCompatFlagsEx  @521 NODATA   ; Export to allow checking of WOWCFEX compat
                                                             ; bits from outside modules (ex. user.exe)
 
;
;Avail 522
; .....
;Avail 529
;Avail 530

; CF_* thunking support

;WOW ConvertCFDataLS        @531    NONAME  NODATA  ;Internal
;WOW ConvertCFDataSL        @532    NONAME  NODATA  ;Internal
;WOW ConvertDDEHandleLS     @533    NONAME  NODATA  ;Internal
;WOW ConvertDDEHandleSL     @534    NONAME  NODATA  ;Internal

;WOW BoostThreadGroupPri    @535    NONAME  NODATA  ;Internal
;WOW BoostThreadStaticPri   @536    NONAME  NODATA  ;Internal

;WOW IsThisADDEExecuteHandle @537   NONAME  NODATA  ;Internal
;WOW ThunkTheTemplateHandle @538    NONAME  NODATA  ;Internal

;WOW ConvertOleTargetDeviceLS @540  NONAME  NODATA  ;Internal
;WOW ConvertOleTargetDeviceSL @541  NONAME  NODATA  ;Internal
;WOW GlobalDefectAndNuke    @542    NONAME  NODATA  ;Internal
;WOW GlobalDefect           @543    NONAME  NODATA  ;Internal
 WOWSETCOMPATHANDLE     @544            NODATA  ;for user thunk
 TellKrnlWhoNetDrvIs        @545    NODATA  ;Internal  for user.exe

;Avail 546
; .....
;Avail 558
;Avail 559

 InitCB                 @560    NONAME  NODATA  ;Internal
 GetStdCBLS             @561    NONAME  NODATA  ;Internal
 GetStdCBSL             @562    NONAME  NODATA  ;Internal
 GetExistingStdCBLS     @563    NONAME  NODATA  ;Internal
 GetExistingStdCBSL     @564    NONAME  NODATA  ;Internal
;Avail 565
 GetFlexCBSL            @566    NONAME  NODATA  ;Internal
 GetStdCBLSEx           @567    NONAME  NODATA  ;Internal
 GetStdCBSLEx           @568    NONAME  NODATA  ;Internal

;Avail 569

 __MOD_KERNEL           @570  NODATA  ; DANGER This first ordinal hardcoded in ldboot.asm
 __MOD_DKERNEL          @571  NODATA
 __MOD_USER             @572  NODATA
 __MOD_DUSER            @573  NODATA
 __MOD_GDI              @574  NODATA
 __MOD_DGDI             @575  NODATA
 __MOD_KEYBOARD         @576  NODATA
 __MOD_SOUND            @577  NODATA
 __MOD_SHELL            @578  NODATA
 __MOD_WINSOCK          @579  NODATA
 __MOD_TOOLHELP         @580  NODATA
 __MOD_MMEDIA           @581  NODATA
 __MOD_COMMDLG          @582  NODATA
 __MOD_WINNLS           @583  NODATA
 __MOD_WIFEMAN          @584  NODATA
 GetSystemDefaultLangID @275  NODATA

;Avail 583
;Avail 584
; .....
;Avail 598
;Avail 599

; Moved from Win32c.dll
;WOW GetCSAlias             @600    NONAME  NODATA  ;Internal
;WOW FreeCSAlias            @601    NONAME  NODATA  ;Internal
;WOW GetCurrentHeap         @602    NONAME  NODATA  ;Internal
;WOW Log16BitThunkCall      @603    NONAME  NODATA  ;Internal
;WOW CALLBACK_BODY_16       @604    NONAME  NODATA  ;Internal
;WOW AllocCallback          = GetStdCBSL         @605    NONAME  NODATA  ;Internal
;WOW AllocCallback32        = GetStdCBLS         @606    NONAME  NODATA  ;Internal
;WOW AllocOleThkLS          @607    NONAME  NODATA  ;Internal
;WOW AllocOleThkSL          @608    NONAME  NODATA  ;Internal
;WOW QueryCallbackAddress32 = GetExistingStdCBLS @609    NONAME  NODATA  ;Internal
;WOW QueryCallbackAddress   = GetExistingStdCBSL @610    NONAME  NODATA  ;Internal
;WOW FreeCallback           @611    NONAME  NODATA  ;Internal
;WOW IsCallbackThunkSL      = IsCBThkSL          @612    NONAME  NODATA  ;Internal
;WOW TileBuffer             @613    NONAME  NODATA  ;Internal
;WOW UntileBuffer           @614    NONAME  NODATA  ;Internal
 ; cvtres32.asm
;WOW CONVERTDIALOG32        @615    NONAME  NODATA  ;Internal  for user.exe
;WOW CONVERTMENU32          @616    NONAME  NODATA  ;Internal  for user.exe
 ; cvtres32.asm
;WOW COUNTMENUU             @617    NONAME  NODATA  ;Internal  for user.exe
;WOW COUNTDIALOGU           @618    NONAME  NODATA  ;Internal  for user.exe
 ; cback16.asm
;WOW REGISTERCBCLIENT       @619    NONAME  NODATA  ;Internal  for system dll's
;WOW CALLBACKJUMPTO32BITLAND @620   NONAME  NODATA  ;Internal  for system dll's
;WOW COMMON_CALLBACK16      @621    NONAME  NODATA  ;Internal  for system dll's
;WOW UNREGISTERCBCLIENT     @622    NONAME  NODATA  ;Internal  for system dll's
;WOW Win32CThunkInit        @623    NONAME  NODATA  ;Internal  for user.exe

;WOW SETTHREADQUEUEDWORD    @624    NONAME  NODATA  ;Internal for user.exe
;WOW GETFASTQUEUE           @625    NONAME  NODATA  ;Internal for user.exe
;WOW SMASHENVIRONMENT       @626    NONAME  NODATA  ;Internal for msgsrv

 ; flat pointer validation routine for GDI.
 ISBADFLATREADWRITEPTR  @627            NODATA  ;Internal for GDI

;WOW C16ThkSL               @630    NONAME  NODATA  ;Internal: 16->32 thunk dispatch
 C16ThkSL01                 @631    NONAME  NODATA  ;16->32 thunk dispatch


 ThunkConnect16             @651    NONAME  NODATA  ;Entry point for ISV thunks

;WOW IsThreadId             @652    NONAME  NODATA  ;Internal
;WOW OkWithKernelToChangeUsers @653 NONAME  NODATA  ;Internal  for user.exe

 ;; Ole2 Stack Switching hacks
;WOW SSInit                 @700    NONAME  NODATA  ;Internal
;WOW SSOnBigStack           @701    NONAME  NODATA  ;Internal
;WOW _SSCall                @702    NONAME  NODATA  ;Internal
;WOW CallProc32WFix         @703    NONAME  NODATA  ;Internal
;WOW SSAssertOffBigStack    @704    NONAME  NODATA  ;Internal



 Callback2              @802    NONAME  NODATA  ;ISV LS thunks
 Callback4              @804    NONAME  NODATA  ;ISV LS thunks
 Callback6              @806    NONAME  NODATA  ;ISV LS thunks
 Callback8              @808    NONAME  NODATA  ;ISV LS thunks
 Callback10             @810    NONAME  NODATA  ;ISV LS thunks
 Callback12             @812    NONAME  NODATA  ;ISV LS thunks
 Callback14             @814    NONAME  NODATA  ;ISV LS thunks
 Callback16             @816    NONAME  NODATA  ;ISV LS thunks
 Callback18             @818    NONAME  NODATA  ;ISV LS thunks
 Callback20             @820    NONAME  NODATA  ;ISV LS thunks
 Callback22             @822    NONAME  NODATA  ;ISV LS thunks
 Callback24             @824    NONAME  NODATA  ;ISV LS thunks
 Callback26             @826    NONAME  NODATA  ;ISV LS thunks
 Callback28             @828    NONAME  NODATA  ;ISV LS thunks
 Callback30             @830    NONAME  NODATA  ;ISV LS thunks
 Callback32             @832    NONAME  NODATA  ;ISV LS thunks
 Callback34             @834    NONAME  NODATA  ;ISV LS thunks
 Callback36             @836    NONAME  NODATA  ;ISV LS thunks
 Callback38             @838    NONAME  NODATA  ;ISV LS thunks
 Callback40             @840    NONAME  NODATA  ;ISV LS thunks
 Callback42             @842    NONAME  NODATA  ;ISV LS thunks
 Callback44             @844    NONAME  NODATA  ;ISV LS thunks
 Callback46             @846    NONAME  NODATA  ;ISV LS thunks
 Callback48             @848    NONAME  NODATA  ;ISV LS thunks
 Callback50             @850    NONAME  NODATA  ;ISV LS thunks
 Callback52             @852    NONAME  NODATA  ;ISV LS thunks
 Callback54             @854    NONAME  NODATA  ;ISV LS thunks
 Callback56             @856    NONAME  NODATA  ;ISV LS thunks
 Callback58             @858    NONAME  NODATA  ;ISV LS thunks
 Callback60             @860    NONAME  NODATA  ;ISV LS thunks
 Callback62             @862    NONAME  NODATA  ;ISV LS thunks
 Callback64             @864    NONAME  NODATA  ;ISV LS thunks








;
;   ADD NEW EXPORTS BEFORE HERE SO YOU DON'T BREAK ROM WINDOWS
;

; all you wanted to know about these ROMRESERVEDs but were afraid to ask:
; these act like ifdef ROM
; rom.def is produced by passing kernel.def thru SED.

;ROM_RESERVED IMPORTS

    ;ROM_RESERVED lmaROMTOC     =   ROMWIN.1
        ;ROM_RESERVED selLDTAlias       =       ROMWIN.3
        ;ROM_RESERVED lmaExtMemROM      =       ROMWIN.4
    ;ROM_RESERVED cbExtMemROM   =   ROMWIN.5
;
;   DON'T ADD EXPORTS HERE BECAUSE THIS IS THE IMPORTS SECTION FOR ROM
;
