;       SCCSID = @(#)bksextrn.inc       6.1 90/11/16
;SCCSID = @(#)bksextrn.inc      6.7 90/02/19
; ****************************************************************************
; *                                                                          *
; *                       IBM/Microsoft Confidential                         *
; *                                                                          *
; *                 Copyright (c) IBM Corporation  1987, 1990                *
; *                 Copyright (c) Microsoft Corp.  1987, 1990                *
; *                           All Rights Reserved                            *
; *                                                                          *
; ****************************************************************************
;P2847  88/06/01  THG   Call Win API with logical handle -or- Win_Handle
;P2981  88/06/15  THG   Add Proc_Hand field to IDSEG for KBD_Handle storage
;B710438 11-06-89 THG   Add support for CS 243 codepage

        EXTRN   Action:BYTE             ; Read request for ANSI KeyDef
        EXTRN   Action_Taken:WORD       ; DosOpen response
        EXTRN   ANSI_State:BYTE         ; ANSI ON/OFF switch
        EXTRN   Buf_End:WORD            ; Offset to the end of ANSI KeyDef
        EXTRN   Buf_Length:BYTE         ; Length of KeyDef
        EXTRN   Buf_Position:WORD       ; Offset to KeyDef char
        EXTRN   Char_Code:BYTE          ; CharData record - ASCII code
        EXTRN   CPR_Action:BYTE         ; Read request for ANSI CPR
        EXTRN   CPR_Length:BYTE         ; Length of CPR
        EXTRN   CPR_BufO:WORD           ; Offset of CPR buffer
        EXTRN   CPR_BufS:WORD           ; Selector of CPR buffer
        EXTRN   CurrentPos:BYTE         ; Column positon on screen
        EXTRN   Dev_Handle:WORD         ; Device handle used for IOCtl calls
        EXTRN   Dev_Name:BYTE           ; KBD D/D name
        EXTRN   Echo_Mode:BYTE          ; Echo mode for GetStringIn
        EXTRN   EDITTAB:BYTE            ; DOS Function key scan table
        EXTRN   EDITTABLEN:ABS          ; DOS Function Key table length
        EXTRN   Entry_Count:BYTE        ; Recursive count for current process
        EXTRN   ESCTAB:BYTE             ; DOS edit key scan table
        EXTRN   ESCTABLEN:ABS           ; DOS edit key table length
        EXTRN   Insert_Mode:BYTE        ; Insert/Replace mode for GetStringIn
        EXTRN   KeyDefBuf:BYTE          ; ANSI KeyDef buffer
        EXTRN   KeyDefBufO:WORD         ; KeyDef buffer offset
        EXTRN   KeyDefBufS:WORD         ; KeyDef buffer selector
        EXTRN   KeyDefChar:WORD         ; Input character to be check by ANSI
        EXTRN   Scan_Code:BYTE          ; CharData record - Scan code
        EXTRN   Sentinel:BYTE           ; Function terminator
        EXTRN   Shared_Handle:WORD      ; Inheritable device handle used to
                                        ;   map "handle 0"
        EXTRN   Shift_State:WORD        ; CharData record - Shift state
        EXTRN   StartPos:BYTE           ; Starting column position on display
        EXTRN   Status:BYTE             ; CharData record - Status
        EXTRN   TA_Type:BYTE            ; TurnAround character type
        EXTRN   TA_Char:BYTE            ; TurnAround character
        EXTRN   TimeStamp:BYTE          ; CharData record - Time stamp
        EXTRN   Transfer_Count:WORD     ; Transfer count for GetCharIn/PeekAtIt
        EXTRN   WorkBuf:BYTE            ; Input buffer for GetStringIn

;********** DBCS Enabling **************;
        EXTRN   CCode:WORD              ; @ Country code
        EXTRN   CP_ID:WORD              ; @ Current process' Codepgae ID
        EXTRN   CRange:BYTE             ; CBCS code ranges
        EXTRN   LCRANGE:ABS             ; Length in bytes
        EXTRN   HALF_LCRANGE:ABS        ; Length in words
;********** DBCS Enabling **************;

;********** Codepage Support ***********;
        EXTRN   CDIB_Label:BYTE         ; @@ CDIB name
        EXTRN   CDIB_Sel:WORD           ; @@ CDIB selector
        EXTRN   Num_of_CP:WORD          ; @@ # of codepage(s) included 0
        EXTRN   CP_InitFlag:BYTE        ; @@ Codepage initialization indicator
        EXTRN   Xlate_Handle:WORD       ; @@ Xlate table file handle
        EXTRN   Xlate_Tbl_Start:WORD    ; @@ Offset to start of Xlate table
        EXTRN   Xlate_Tbl_Sel:WORD      ; @@ Xlate table processing segment
                                        ;      selector
        EXTRN   Xlate_Tbl_CP:WORD       ; @@ Codepage ID of Xlate table
        EXTRN   Xlate_Tbl_Index:WORD    ; @@ Codepage Index of Xlate table
        EXTRN   Cntry_ID:WORD           ; @@ Country ID
        EXTRN   UK166:BYTE              ; @@ UK base model type
        EXTRN   FR189:BYTE              ; @@ FR base model type
        EXTRN   IT141:BYTE              ; @@ IT base model type
        EXTRN   CS243:BYTE              ; @@ CS base model type        ;B710438
        EXTRN   Subtype:BYTE            ; @@ Country subtype
        EXTRN   PC_Model:BYTE           ; @@ PC model type
        EXTRN   PC_Submodel:BYTE        ; @@ PC sub-model type
;@@TPL --- Begin
        EXTRN   Handle0CP_Save:WORD     ; Previous CP for handle 0 KbdSetCustXT
        EXTRN   Handle0CCP_PID:WORD     ; PID for handle 0 KbdSetCustXT
;@@TPL --- End
        EXTRN   Kbd_CP0:WORD            ; @@ "Codepage 0"
        EXTRN   Kbd_CP1:WORD            ; @@ "Codepage 1"
        EXTRN   Kbd_CP2:WORD            ; @@ "Codepage 2"
        EXTRN   Kbd_CP3:WORD            ; @@ "Codepage 3"
        EXTRN   Kbd_CP4:WORD            ; @@ "Codepage 4"
        EXTRN   Custom_Tbl_Off:WORD     ; @@ Custom codepage offset
        EXTRN   Custom_Tbl_Sel:WORD     ; @@ Custom codepage selector
        EXTRN   Previous_CP:WORD        ; @@ Latest non-custom codepage ID
        EXTRN   CP_Index:WORD           ; @@ Codepage index for IOCtl
        EXTRN   Bond_Handle:WORD        ; @@ Logical bond handle
        EXTRN   Flag:BYTE               ; @@ Track custom codepage for handle 0
;********** Codepage Support ***********;
;$$#I0001
;********** WINTHORN Support ***********;

        EXTRN   Shield_DLL:BYTE         ; Shield dynamic link module name  CDB2
        EXTRN   ShieldEntries:WORD      ; Number of entries used           MDLL
        EXTRN   ShieldHandle:WORD       ; Shield Module handle             MDLL

        EXTRN   hConsole:WORD           ; Shield Console Handle
        EXTRN   Moufilter:WORD          ; Mouse Filter Mask
        EXTRN   GlobalSeg:WORD          ; Global Segment Selector
        EXTRN   LocalSeg:WORD           ; Local infoseg
        EXTRN   LastBaseSG:WORD         ; Highest CPDOS Base SG NO.
        EXTRN   Shield_Scratch:WORD     ; 'Work' Area
        EXTRN   KBD_SG:WORD             ; Screen Group Number
        EXTRN   LBaseSG:WORD            ; Last screen group #
        EXTRN   Cooked_Mode:BYTE
        EXTRN   PS_Sel:WORD             ; Base PS Selector ;@@DTF
        EXTRN   Win_Handle:WORD         ; @@DTF                         ;P2847
        EXTRN   Proc_Hand:WORD          ; caller's KBD_HAndle           ;P2981
;$$#END
