[comp.sources.misc] SWING 09/10

u3369429@murdu.OZ (Michael 'I love VMS' Bednarek) (05/07/87)

$ Name=File'nF
$ Write SYS$Output "creating ",Name
$ Open/Write Out 'Name
$ Open/Read In VMS_SHAR_DUMMY.DUMMY
$Next_Record54: Read/End_Of_File=EOF54 In Record
$ Write Out F$Extract(1,255,Record)
$ Goto Next_Record54
$EOF54: Close Out
$ Close In
$ Delete VMS_SHAR_DUMMY.DUMMY;*
$ Checksum 'Name
$ Success=F$Element(Check_Sum'nF.eq.CHECKSUM$CHECKSUM,",",Pass_or_Failed)
$ Write SYS$ERROR "Checking CHECKSUM. ''Success'"
$ nF=nF+1
$ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY
X!*** MODULE $SMGDEF ***
X!  Definitions for RTL Screen Management
X! 
X!  Input terminator codes
X! 
X!  Control characters
X	PARAMETER SMG$K_TRM_CTRLA = '00000001'X	!  SOH
X	PARAMETER SMG$K_TRM_CTRLB = '00000002'X	!  STX
X	PARAMETER SMG$K_TRM_CTRLC = '00000003'X	!  ETX
X	PARAMETER SMG$K_TRM_CTRLD = '00000004'X	!  EOT
X	PARAMETER SMG$K_TRM_CTRLE = '00000005'X	!  ENQ
X	PARAMETER SMG$K_TRM_CTRLF = '00000006'X	!  ACK
X	PARAMETER SMG$K_TRM_CTRLG = '00000007'X	!  BEL
X	PARAMETER SMG$K_TRM_CTRLH = '00000008'X	!  BS
X	PARAMETER SMG$K_TRM_CTRLI = '00000009'X	!  HT
X	PARAMETER SMG$K_TRM_CTRLJ = '0000000A'X	!  LF
X	PARAMETER SMG$K_TRM_CTRLK = '0000000B'X	!  VT
X	PARAMETER SMG$K_TRM_CTRLL = '0000000C'X	!  FF
X	PARAMETER SMG$K_TRM_CTRLM = '0000000D'X	!  CR
X	PARAMETER SMG$K_TRM_CTRLN = '0000000E'X	!  SO
X	PARAMETER SMG$K_TRM_CTRLO = '0000000F'X	!  SI
X	PARAMETER SMG$K_TRM_CTRLP = '00000010'X	!  DLE
X	PARAMETER SMG$K_TRM_CTRLQ = '00000011'X	!  DC1
X	PARAMETER SMG$K_TRM_CTRLR = '00000012'X	!  DC2
X	PARAMETER SMG$K_TRM_CTRLS = '00000013'X	!  DC3
X	PARAMETER SMG$K_TRM_CTRLT = '00000014'X	!  DC4
X	PARAMETER SMG$K_TRM_CTRLU = '00000015'X	!  NAK
X	PARAMETER SMG$K_TRM_CTRLV = '00000016'X	!  SYN
X	PARAMETER SMG$K_TRM_CTRLW = '00000017'X	!  ETB
X	PARAMETER SMG$K_TRM_CTRLX = '00000018'X	!  CAN
X	PARAMETER SMG$K_TRM_CTRLY = '00000019'X	!  EM
X	PARAMETER SMG$K_TRM_CTRLZ = '0000001A'X	!  SUB
X	PARAMETER SMG$K_TRM_ESCAPE = '0000001B'X !  ESC
X!  FS
X!  GS
X!  RS
X!  US
X	PARAMETER SMG$K_TRM_SPACE = '00000020'X	!  SP
X	PARAMETER SMG$K_TRM_EXCLAMATION_POINT = '00000021'X !  !
X	PARAMETER SMG$K_TRM_DOUBLE_QUOTE = '00000022'X !  "
X	PARAMETER SMG$K_TRM_NUMBER_SIGN = '00000023'X !  #
X	PARAMETER SMG$K_TRM_DOLLAR_SIGN = '00000024'X !  $
X	PARAMETER SMG$K_TRM_PERCENT_SIGN = '00000025'X !  %
X	PARAMETER SMG$K_TRM_AMPERSAND = '00000026'X !  &
X	PARAMETER SMG$K_TRM_QUOTE = '00000027'X	!  '
X	PARAMETER SMG$K_TRM_LEFT_PAREN = '00000028'X !  (
X	PARAMETER SMG$K_TRM_RIGHT_PAREN = '00000029'X !  )
X	PARAMETER SMG$K_TRM_ASTERISK = '0000002A'X !  *
X	PARAMETER SMG$K_TRM_PLUS_SIGN = '0000002B'X !  +
X!  ,
X	PARAMETER SMG$K_TRM_DASH = '0000002D'X	!  -
X	PARAMETER SMG$K_TRM_DOT = '0000002E'X	!  .
X	PARAMETER SMG$K_TRM_SLASH = '0000002F'X	!  /
X	PARAMETER SMG$K_TRM_ZERO = '00000030'X	!  0
X	PARAMETER SMG$K_TRM_ONE = '00000031'X	!  1
X	PARAMETER SMG$K_TRM_TWO = '00000032'X	!  2
X	PARAMETER SMG$K_TRM_THREE = '00000033'X	!  3
X	PARAMETER SMG$K_TRM_FOUR = '00000034'X	!  4
X	PARAMETER SMG$K_TRM_FIVE = '00000035'X	!  5
X	PARAMETER SMG$K_TRM_SIX = '00000036'X	!  6
X	PARAMETER SMG$K_TRM_SEVEN = '00000037'X	!  7
X	PARAMETER SMG$K_TRM_EIGHT = '00000038'X	!  8
X	PARAMETER SMG$K_TRM_NINE = '00000039'X	!  9
X	PARAMETER SMG$K_TRM_COLON = '0000003A'X	!  :
X	PARAMETER SMG$K_TRM_SEMICOLON = '0000003B'X !  ;
X	PARAMETER SMG$K_TRM_LESS_THAN = '0000003C'X !  <
X	PARAMETER SMG$K_TRM_EQUAL = '0000003D'X	!  =
X	PARAMETER SMG$K_TRM_GREATER_THAN = '0000003E'X !  >
X	PARAMETER SMG$K_TRM_QUESTION_MARK = '0000003F'X !  ?
X	PARAMETER SMG$K_TRM_AT_SIGN = '00000040'X !  @
X	PARAMETER SMG$K_TRM_UPPERCASE_A = '00000041'X !  A
X	PARAMETER SMG$K_TRM_UPPERCASE_B = '00000042'X !  B
X	PARAMETER SMG$K_TRM_UPPERCASE_C = '00000043'X !  C
X	PARAMETER SMG$K_TRM_UPPERCASE_D = '00000044'X !  D
X	PARAMETER SMG$K_TRM_UPPERCASE_E = '00000045'X !  E
X	PARAMETER SMG$K_TRM_UPPERCASE_F = '00000046'X !  F
X	PARAMETER SMG$K_TRM_UPPERCASE_G = '00000047'X !  G
X	PARAMETER SMG$K_TRM_UPPERCASE_H = '00000048'X !  H
X	PARAMETER SMG$K_TRM_UPPERCASE_I = '00000049'X !  I
X	PARAMETER SMG$K_TRM_UPPERCASE_J = '0000004A'X !  J
X	PARAMETER SMG$K_TRM_UPPERCASE_K = '0000004B'X !  K
X	PARAMETER SMG$K_TRM_UPPERCASE_L = '0000004C'X !  L
X	PARAMETER SMG$K_TRM_UPPERCASE_M = '0000004D'X !  M
X	PARAMETER SMG$K_TRM_UPPERCASE_N = '0000004E'X !  N
X	PARAMETER SMG$K_TRM_UPPERCASE_O = '0000004F'X !  O
X	PARAMETER SMG$K_TRM_UPPERCASE_P = '00000050'X !  P
X	PARAMETER SMG$K_TRM_UPPERCASE_Q = '00000051'X !  Q
X	PARAMETER SMG$K_TRM_UPPERCASE_R = '00000052'X !  R
X	PARAMETER SMG$K_TRM_UPPERCASE_S = '00000053'X !  S
X	PARAMETER SMG$K_TRM_UPPERCASE_T = '00000054'X !  T
X	PARAMETER SMG$K_TRM_UPPERCASE_U = '00000055'X !  U
X	PARAMETER SMG$K_TRM_UPPERCASE_V = '00000056'X !  V
X	PARAMETER SMG$K_TRM_UPPERCASE_W = '00000057'X !  W
X	PARAMETER SMG$K_TRM_UPPERCASE_X = '00000058'X !  X
X	PARAMETER SMG$K_TRM_UPPERCASE_Y = '00000059'X !  Y
X	PARAMETER SMG$K_TRM_UPPERCASE_Z = '0000005A'X !  Z
X	PARAMETER SMG$K_TRM_LEFT_BRACKET = '0000005B'X !  [
X	PARAMETER SMG$K_TRM_BACKSLASH = '0000005C'X !  \
X	PARAMETER SMG$K_TRM_RIGHT_BRACKET = '0000005D'X !  ]
X	PARAMETER SMG$K_TRM_CARET = '0000005E'X	!  ^
X	PARAMETER SMG$K_TRM_UNDERLINE = '0000005F'X !  _
X	PARAMETER SMG$K_TRM_GRAVE_ACCENT = '00000060'X !  `
X	PARAMETER SMG$K_TRM_LOWERCASE_A = '00000061'X !  a
X	PARAMETER SMG$K_TRM_LOWERCASE_B = '00000062'X !  b
X	PARAMETER SMG$K_TRM_LOWERCASE_C = '00000063'X !  c
X	PARAMETER SMG$K_TRM_LOWERCASE_D = '00000064'X !  d
X	PARAMETER SMG$K_TRM_LOWERCASE_E = '00000065'X !  e
X	PARAMETER SMG$K_TRM_LOWERCASE_F = '00000066'X !  f
X	PARAMETER SMG$K_TRM_LOWERCASE_G = '00000067'X !  g
X	PARAMETER SMG$K_TRM_LOWERCASE_H = '00000068'X !  h
X	PARAMETER SMG$K_TRM_LOWERCASE_I = '00000069'X !  i
X	PARAMETER SMG$K_TRM_LOWERCASE_J = '0000006A'X !  j
X	PARAMETER SMG$K_TRM_LOWERCASE_K = '0000006B'X !  k
X	PARAMETER SMG$K_TRM_LOWERCASE_L = '0000006C'X !  l
X	PARAMETER SMG$K_TRM_LOWERCASE_M = '0000006D'X !  m
X	PARAMETER SMG$K_TRM_LOWERCASE_N = '0000006E'X !  n
X	PARAMETER SMG$K_TRM_LOWERCASE_O = '0000006F'X !  o
X	PARAMETER SMG$K_TRM_LOWERCASE_P = '00000070'X !  p
X	PARAMETER SMG$K_TRM_LOWERCASE_Q = '00000071'X !  q
X	PARAMETER SMG$K_TRM_LOWERCASE_R = '00000072'X !  r
X	PARAMETER SMG$K_TRM_LOWERCASE_S = '00000073'X !  s
X	PARAMETER SMG$K_TRM_LOWERCASE_T = '00000074'X !  t
X	PARAMETER SMG$K_TRM_LOWERCASE_U = '00000075'X !  u
X	PARAMETER SMG$K_TRM_LOWERCASE_V = '00000076'X !  v
X	PARAMETER SMG$K_TRM_LOWERCASE_W = '00000077'X !  w
X	PARAMETER SMG$K_TRM_LOWERCASE_X = '00000078'X !  x
X	PARAMETER SMG$K_TRM_LOWERCASE_Y = '00000079'X !  y
X	PARAMETER SMG$K_TRM_LOWERCASE_Z = '0000007A'X !  z
X	PARAMETER SMG$K_TRM_LEFT_BRACE = '0000007B'X !  left curly brace
X	PARAMETER SMG$K_TRM_VERTICAL_LINE = '0000007C'X !  |
X	PARAMETER SMG$K_TRM_RIGHT_BRACE = '0000007D'X !  right curly brace
X	PARAMETER SMG$K_TRM_TILDE = '0000007E'X	!  ~
X	PARAMETER SMG$K_TRM_DELETE = '0000007F'X !  DEL
X!  Synonyms for control characters
X	PARAMETER SMG$K_TRM_BS = '00000008'X
X	PARAMETER SMG$K_TRM_HT = '00000009'X
X	PARAMETER SMG$K_TRM_LF = '0000000A'X
X	PARAMETER SMG$K_TRM_CR = '0000000D'X
X!  Keypad keys
X	PARAMETER SMG$K_TRM_PF1 = '00000100'X
X	PARAMETER SMG$K_TRM_PF2 = '00000101'X
X	PARAMETER SMG$K_TRM_PF3 = '00000102'X
X	PARAMETER SMG$K_TRM_PF4 = '00000103'X
X	PARAMETER SMG$K_TRM_KP0 = '00000104'X
X	PARAMETER SMG$K_TRM_KP1 = '00000105'X
X	PARAMETER SMG$K_TRM_KP2 = '00000106'X
X	PARAMETER SMG$K_TRM_KP3 = '00000107'X
X	PARAMETER SMG$K_TRM_KP4 = '00000108'X
X	PARAMETER SMG$K_TRM_KP5 = '00000109'X
X	PARAMETER SMG$K_TRM_KP6 = '0000010A'X
X	PARAMETER SMG$K_TRM_KP7 = '0000010B'X
X	PARAMETER SMG$K_TRM_KP8 = '0000010C'X
X	PARAMETER SMG$K_TRM_KP9 = '0000010D'X
X	PARAMETER SMG$K_TRM_ENTER = '0000010E'X
X	PARAMETER SMG$K_TRM_MINUS = '0000010F'X
X	PARAMETER SMG$K_TRM_COMMA = '00000110'X
X	PARAMETER SMG$K_TRM_PERIOD = '00000111'X !  Cursor positioning keys
X	PARAMETER SMG$K_TRM_UP = '00000112'X
X	PARAMETER SMG$K_TRM_DOWN = '00000113'X
X	PARAMETER SMG$K_TRM_LEFT = '00000114'X
X	PARAMETER SMG$K_TRM_RIGHT = '00000115'X
X!  Function keys
X	PARAMETER SMG$K_TRM_F1 = '00000119'X
X	PARAMETER SMG$K_TRM_F2 = '0000011A'X
X	PARAMETER SMG$K_TRM_F3 = '0000011B'X
X	PARAMETER SMG$K_TRM_F4 = '0000011C'X
X	PARAMETER SMG$K_TRM_F5 = '0000011D'X
X	PARAMETER SMG$K_TRM_F6 = '0000011E'X
X	PARAMETER SMG$K_TRM_F7 = '0000011F'X
X	PARAMETER SMG$K_TRM_F8 = '00000120'X
X	PARAMETER SMG$K_TRM_F9 = '00000121'X
X	PARAMETER SMG$K_TRM_F10 = '00000122'X
X	PARAMETER SMG$K_TRM_F11 = '00000123'X
X	PARAMETER SMG$K_TRM_F12 = '00000124'X
X	PARAMETER SMG$K_TRM_F13 = '00000125'X
X	PARAMETER SMG$K_TRM_F14 = '00000126'X
X	PARAMETER SMG$K_TRM_HELP = '00000127'X	!  F15
X	PARAMETER SMG$K_TRM_DO = '00000128'X	!  F16
X	PARAMETER SMG$K_TRM_F17 = '00000129'X
X	PARAMETER SMG$K_TRM_F18 = '0000012A'X
X	PARAMETER SMG$K_TRM_F19 = '0000012B'X
X	PARAMETER SMG$K_TRM_F20 = '0000012C'X
X!  Synonyms for function keys
X	PARAMETER SMG$K_TRM_F15 = '00000127'X
X	PARAMETER SMG$K_TRM_F16 = '00000128'X
X!  Editing keys
X	PARAMETER SMG$K_TRM_FIND = '00000137'X	!  E1
X	PARAMETER SMG$K_TRM_INSERT_HERE = '00000138'X !  E2
X	PARAMETER SMG$K_TRM_REMOVE = '00000139'X !  E3
X	PARAMETER SMG$K_TRM_SELECT = '0000013A'X !  E4
X	PARAMETER SMG$K_TRM_PREV_SCREEN = '0000013B'X !  E5
X	PARAMETER SMG$K_TRM_NEXT_SCREEN = '0000013C'X !  E6
X!  Synonyms for editing keys
X	PARAMETER SMG$K_TRM_E1 = '00000137'X	!  FIND
X	PARAMETER SMG$K_TRM_E2 = '00000138'X	!  INSERT_HERE
X	PARAMETER SMG$K_TRM_E3 = '00000139'X	!  REMOVE
X	PARAMETER SMG$K_TRM_E4 = '0000013A'X	!  SELECT
X	PARAMETER SMG$K_TRM_E5 = '0000013B'X	!  PREV_SCREEN
X	PARAMETER SMG$K_TRM_E6 = '0000013C'X	!  NEXT_SCREEN
X!  Conditions
X	PARAMETER SMG$K_TRM_CANCELLED = '000001FC'X !  I/O cancelled by SMG$CANCEL_INPUT
X	PARAMETER SMG$K_TRM_TIMEOUT = '000001FD'X !  Timeout period expired
X	PARAMETER SMG$K_TRM_BUFFER_FULL = '000001FE'X !  Buffer is full
X	PARAMETER SMG$K_TRM_UNKNOWN = '000001FF'X !  Unknown terminator
X! 
X!  Key definition attributes
X! 
X	PARAMETER SMG$M_KEY_NOECHO = '00000001'X
X	PARAMETER SMG$M_KEY_TERMINATE = '00000002'X
X	PARAMETER SMG$M_KEY_LOCK = '00000004'X
X	PARAMETER SMG$M_KEY_PROTECTED = '00000008'X
X	PARAMETER SMG$M_KEY_SETSTATE = '00000010'X
X	STRUCTURE /SMG$R_KEY_DEF_ATTR/
X	    PARAMETER SMG$S_KEY_NOECHO = 1
X	    PARAMETER SMG$V_KEY_NOECHO = 0		!  Don't echo strings
X	    PARAMETER SMG$S_KEY_TERMINATE = 1
X	    PARAMETER SMG$V_KEY_TERMINATE = 1	!  This key terminates read
X	    PARAMETER SMG$S_KEY_LOCK = 1
X	    PARAMETER SMG$V_KEY_LOCK = 2		!  Lock new state
X	    PARAMETER SMG$S_KEY_PROTECTED = 1
X	    PARAMETER SMG$V_KEY_PROTECTED = 3	!  Definition is protected
X	    PARAMETER SMG$S_KEY_SETSTATE = 1
X	    PARAMETER SMG$V_KEY_SETSTATE = 4	!  Definition sets a state (output only)
X	BYTE %FILL (1)
X	END STRUCTURE	! SMG$R_KEY_DEF_ATTR
X!  SCREEN MANAGEMENT REQUEST TYPES 
X	PARAMETER SMG$C_CHANGE_RENDITION = '0000000A'X !  SMG$CHANGE_RENDITION
X	PARAMETER SMG$C_DELETE_CHARS = '0000000B'X !  SMG$DELETE_CHARS
X	PARAMETER SMG$C_ERASE_DISPLAY = '0000000C'X !  SMG$ERASE_DISPLAY
X	PARAMETER SMG$C_ERASE_LINE = '0000000D'X !  SMG$ERASE_LINE
X	PARAMETER SMG$C_HOME_CURSOR = '0000000E'X !  SMG$HOME_CURSOR
X	PARAMETER SMG$C_INSERT_CHARS = '0000000F'X !  SMG$INSERT_CHARS
X	PARAMETER SMG$C_INSERT_LINE = '00000010'X !  SMG$INSERT_LINE
X	PARAMETER SMG$C_PUT_CHARS = '00000011'X	!  SMG$PUT_CHARS
X	PARAMETER SMG$C_PUT_LINE = '00000012'X	!  SMG$PUT_LINE
X	PARAMETER SMG$C_PUT_DISPLAY_ENCODED = '00000013'X !  SMG$PUT_VIRTUAL_DISPLAY_ENCODED
X	PARAMETER SMG$C_RETURN_CURSOR_POS = '00000014'X !  SMG$RETURN_CURSOR_POS
X	PARAMETER SMG$C_PUT_WITH_SCROLL = '00000015'X !  SMG$PUT_WITH_SCROLL
X	PARAMETER SMG$C_SET_CURSOR_ABS = '00000016'X !  SMG$SET_CURSOR_ABS
X	PARAMETER SMG$C_SET_CURSOR_REL = '00000017'X !  SMG$SET_CURSOR_REL
X	PARAMETER SMG$C_DELETE_LINE = '00000018'X !  SMG$DELETE_LINE
X	PARAMETER SMG$C_ERASE_CHARS = '00000019'X !  SMG$ERASE_CHARS
X	PARAMETER SMG$C_SCROLL_DISPLAY_AREA = '0000001A'X !  SMG$SCROLL_DISPLAY_AREA
X	PARAMETER SMG$C_CHANGE_VIRTUAL_DISPLAY = '0000001B'X !  SMG$CHANGE_VIRTUAL_DISPLAY
X	PARAMETER SMG$C_LABEL_BORDER = '0000001C'X !  SMG$LABEL_BORDER
X	PARAMETER SMG$C_END_DISPLAY_UPDATE = '0000001D'X !  SMG$END_DISPLAY_UPDATE
X!  Character Set Codes
X	PARAMETER SMG$C_UNITED_KINGDOM = '00000000'X
X	PARAMETER SMG$C_ASCII = '00000001'X
X	PARAMETER SMG$C_SPEC_GRAPHICS = '00000002'X !  Special Graphics
X	PARAMETER SMG$C_ALT_CHAR = '00000003'X	!  Alternate - Standard Char.
X	PARAMETER SMG$C_ALT_GRAPHICS = '00000004'X !  Alternate - Special Graphics
X! 
X! 	The following constants define corner cursor positions used in
X! 	SMG$HOME_CURSOR.
X! 
X	PARAMETER SMG$C_UPPER_LEFT = '00000000'X
X	PARAMETER SMG$C_LOWER_LEFT = '00000001'X
X	PARAMETER SMG$C_UPPER_RIGHT = '00000002'X
X	PARAMETER SMG$C_LOWER_RIGHT = '00000003'X
X! 
X! 	The following constants define label positions used in
X! 	SMG$LABEL_BORDER.
X! 
X	PARAMETER SMG$K_TOP = '00000000'X
X	PARAMETER SMG$K_BOTTOM = '00000001'X
X	PARAMETER SMG$K_LEFT = '00000002'X
X	PARAMETER SMG$K_RIGHT = '00000003'X
X! 
X!         DEFINE BIT MASKS AND VALUES FOR SCREEN ATTRIBUTES
X! 
X	PARAMETER SMG$M_BOLD = '00000001'X
X	PARAMETER SMG$M_REVERSE = '00000002'X
X	PARAMETER SMG$M_BLINK = '00000004'X
X	PARAMETER SMG$M_UNDERLINE = '00000008'X
X	PARAMETER SMG$M_NORMAL = '00000000'X	!  no bits set 
X! 
X	PARAMETER SMG$M_BUF_ENABLED = '00000001'X
X	PARAMETER SMG$M_MINUPD = '00000002'X
X	PARAMETER SMG$M_CLEAR_SCREEN = '00000004'X
X	PARAMETER SMG$M_NOTABS = '00000008'X
X	PARAMETER SMG$K_BUF_ENABLED = '00000000'X !  Enable Buffering bitvector index
X	PARAMETER SMG$K_MINUPD = '00000001'X	!  Enable minimal update bitvector index
X	PARAMETER SMG$K_CLEAR_SCREEN = '00000002'X !  Clear screen on exit
X	PARAMETER SMG$K_NOTABS = '00000003'X	!  Don't use physical tabs
X! 
X	PARAMETER SMG$C_COLOR_UNKNOWN = '00000000'X
X	PARAMETER SMG$C_COLOR_WHITE = '00000001'X
X	PARAMETER SMG$C_COLOR_BLACK = '00000002'X
X! 
X	PARAMETER SMG$K_UNKNOWN = '00000000'X	!  non-graphics or unknown type
X	PARAMETER SMG$K_VT05 = '00000001'X	!  vt05 series terminal
X	PARAMETER SMG$K_VT52 = '00000002'X	!  vt52 series terminal
X	PARAMETER SMG$K_VT100 = '00000003'X	!  vt100 series terminal
X	PARAMETER SMG$K_VTFOREIGN = '00000004'X	!  foreign terminal (ft1-8)
X	PARAMETER SMG$K_HARDCOPY = '00000005'X	!  hardcopy device
X	PARAMETER SMG$K_VTTERMTABLE = '00000006'X !  video terminal
X! 
X	PARAMETER SMG$M_BORDER = '00000001'X
X	PARAMETER SMG$M_TRUNC_ICON = '00000002'X
X	PARAMETER SMG$M_DISPLAY_CONTROLS = '00000004'X
X	PARAMETER SMG$M_USER_DISPLAY = '00000008'X
X	PARAMETER SMG$M_UP = '00000001'X
X	PARAMETER SMG$M_DOWN = '00000002'X
X	PARAMETER SMG$M_RIGHT = '00000004'X
X	PARAMETER SMG$M_LEFT = '00000008'X
X	PARAMETER SMG$K_FIRST_PRIV_TYPE = '000000BF'X
X	STRUCTURE /SMGDEF/
X	UNION
X	    MAP
X	        PARAMETER SMG$S_BOLD = 1
X	        PARAMETER SMG$V_BOLD = 0		!  Bold rendition
X	        PARAMETER SMG$S_REVERSE = 1
X	        PARAMETER SMG$V_REVERSE = 1		!  Reverse video rendition
X	        PARAMETER SMG$S_BLINK = 1
X	        PARAMETER SMG$V_BLINK = 2		!  Blink rendition
X	        PARAMETER SMG$S_UNDERLINE = 1
X	        PARAMETER SMG$V_UNDERLINE = 3		!  Underline rendition
X	    BYTE %FILL (1)
X	    END MAP
X! 	DEFINE BITS, MASKS, AND FIELDS FOR THE CONTROL MODES.
X! 
X	    MAP
X	        PARAMETER SMG$S_BUF_ENABLED = 1
X	        PARAMETER SMG$V_BUF_ENABLED = 0		!  Enable buffering
X	        PARAMETER SMG$S_MINUPD = 1
X	        PARAMETER SMG$V_MINUPD = 1		!  Enable minimal update (default)
X	        PARAMETER SMG$S_CLEAR_SCREEN = 1
X	        PARAMETER SMG$V_CLEAR_SCREEN = 2	!  Clear screen on exit
X	        PARAMETER SMG$S_NOTABS = 1
X	        PARAMETER SMG$V_NOTABS = 3		!  Don't use physical tabs
X	    BYTE %FILL (1)
X	    END MAP