;       SCCSID = @(#)smginit.inc	6.3 92/02/29
;       SCCSID @(#)smginit.inc	6.3 92/02/29
PAGE 60,132    ;
; ****************************************************************************
; *                                                                          *
; *                       IBM/Microsoft Confidential                         *
; *                                                                          *
; *                 Copyright (c) IBM Corporation  1987, 1990                *
; *                 Copyright (c) Microsoft Corp.  1987, 1990                *
; *                           All Rights Reserved                            *
; *                                                                          *
; ****************************************************************************

;**************************************************************************
;
; Source File Name:   SMGINIT
;
; Descriptive Name:   Structure and equates for the Session Manager
;                     initialization procedure.
;
; Notes:
;     Dependencies:   None
;
;     Restrictions:   None
;
; Change History:
;   @@A5  02/16/90  PTR B787589 - Use pause semaphore in SGCB
;   @CJ7  04/11/90  PTR B712498 Structures incorrectly included MMIO data.
;   @MHW  09/13/90  PTR B715818 Removed MMIO references.
;   @MD00 12/06/91  PTR B730585 Change parse CMD.EXE.
;   CJ56  02/29/92  PTR B733713 Don't import DLLs - dynmaically link.
;
;***************************************************************************

;********************************
;  DOSSMINITIALIZE stack frame  *
;********************************
InitFrm                 STRUC
InitBP                  DW      0       ; Old BP value
InitRetFar              DD      0       ; Return address to Shell
InitDefPgmName          DD      0       ; Address of Default Program Name
InitPMName              DD      0       ; Address of ASCIIZ name of PM DLL
InitFrm                 ENDS

;*****************************
;  DOSSMHDEINIT stack frame  *
;*****************************
HdeInit                 STRUC           ;
HdeInitBP               DW      0       ; Old BP value
HdeInitRetFar           DD      0       ; Return address to harderr.exe
HdeInitSemHandle        DD      0       ; Address of semaphore handle
HdeInit                 ENDS            ;


InitFrmLen              EQU SIZE InitFrm-6   ; Bytes to pop on exit


    EXTRN CharData          : BYTE
    EXTRN CmdArgs           : WORD
    EXTRN CmdName           : WORD
    EXTRN EnvName           : BYTE                              ;MD00
    EXTRN EnvNameLen        : BYTE                              ;MD00
    EXTRN CountryCode       : DWORD
    EXTRN DBCSVector        : BYTE
    EXTRN GlobalSelector    : WORD
    EXTRN HardErrPID        : WORD
    EXTRN HdeProc           : BYTE
    EXTRN HdeRC             : WORD
    EXTRN HdeSMGRamSem      : DWORD
    EXTRN LocalSelector     : WORD
    EXTRN NewThreads        : WORD
    EXTRN PopVioRamSem      : DWORD
    EXTRN Registered_DDs    : WORD
    EXTRN SMG_Flags         : BYTE
    EXTRN StartActionPacket : WORD
    EXTRN TotalScrnGrps     : WORD

    EXTRN DOSSMCHILDWAIT   : NEAR       ; Child termination procedure
    EXTRN DOSSMHDEPOPUP    : NEAR       ; Hard error popup switch
    EXTRN DOSSMINITALLOC   : NEAR       ; Initialization allocation
    EXTRN DOSSMNEWTHREADS  : NEAR       ; Create Session Manager threads
    EXTRN DOSSMPARSEPATH   : NEAR       ; Parse path out of pgmname
    EXTRN DOSSMPAUDAEMON   : NEAR       ; Ctrl-Numlock daemon(pause)
    EXTRN DOSSMPOPUPTLECHG : NEAR       ; Popup switch
    EXTRN DOSSMREPE        : NEAR       ; DBCS repeat scan
    EXTRN DOSSMREPNE       : NEAR       ; DBCS repeat scan

    EXTRN DOSEXECPGM       : FAR        ; Exec hard error process
;CJ56  EXTRN DOSGETDBCSEV     : FAR        ; Get DBCS environ. vector
    EXTRN DOSGETENV        : FAR        ; Get environment segment
    EXTRN DOSGETINFOSEG    : FAR        ; Get information segments
    EXTRN DOSSEMSET        : FAR        ; Take semaphore ownership
    EXTRN DOSSGDDNOTIFY    : FAR        ; Notify screen switcher
    EXTRN DOSSGSWITCHME    : FAR        ; Become member of screen group
    EXTRN DOSSGSWITCHPROC2 : FAR        ; Move hard error pid to 0
    EXTRN DOSSSINIT        : FAR        ; Screen switcher initialization
    EXTRN DOSSYSTEMSERVICE : FAR        ; Get real mode process ID
    EXTRN DOSSEMSET        : FAR        ; Set harderr semaphore
    EXTRN DOSSEMWAIT       : FAR        ; Wait on harderr semaphore
    EXTRN KBDCHARIN        : FAR        ; Dummy read nowait
    EXTRN KBDSHELLINIT     : FAR        ; Initialize KBD router
    EXTRN VIOSHELLINIT     : FAR        ; Initialize VIO and BVS
    EXTRN DOSSMNOTIFYDD    : FAR
