C Define string descriptor, mainly used in places that need a
C zero length string

        Structure /String_Def/
	  Integer *2 Length
	  Byte	   DType
	  Byte	   Class
	  Integer *4 Address
        End Structure ! String_Def

C Screen management and terminal control information

        Integer *4           SMGKeyDefId       ! Define Key table id
        Integer *4           SMGKeyBdId        ! Virtual keyboard id
        Integer *4           SMG_PBId          ! Pasteboard Id
        Integer *4           SMG_PBCols        ! Pasteboard columns
        Integer *4           SMG_PBRows        ! Pastaboard rows
	Logical              SMG_Video	       ! .true. if video terminal
	Logical		     SMG_Term	       ! .true. if interactive terminal
	Integer *4	     SMG_Line	       ! Screen line number

        Character *132       PrintLine         ! Work area for building print
                                               ! lines
C More information

        Character *132       More_Input        ! More response
        Character *132       More_Hdg_One      ! Heading line 1
        Character *132       More_Hdg_Two      ! Heading line 2

C Control C definition

	Integer   *4	     TT_Chan
	Integer	  *4	     Control_C

C Common definition

	Common /SMG/ 
	1	SMGKeyDefId,         SMGKeyBdId,            SMG_PBId,
	1	SMG_PBRows,          SMG_PBCols,            SMG_Video,
	1	SMG_Term,	     SMG_Line,
	1	PrintLine,
	1	More_Input,          More_Hdg_One,          More_Hdg_Two,
	1	Control_C,	     TT_Chan

C Broadcast queue and variables

	Parameter            MaxBroads = 100 
	Integer   *4         SMG_Broadcast_Count
	Logical		     SMG_Dont_Broadcast
	Character *132       SMG_Broadcast_Messages(MaxBroads)

	Common /SMGBroads/
	1	SMG_Broadcast_Count,
	2	SMG_Broadcast_Messages,
	3	SMG_Dont_Broadcast
