VMS Help  —  RTL Routines, SMG$

1  –  SMG$ADD_KEY_DEF

    The Add Key Definition routine adds a keypad key definition to a
    table of key definitions.

    Format

      SMG$ADD_KEY_DEF  key-table-id ,key-name [,if-state]

                       [,attributes] [,equivalence-string]

                       [,state-string]

1.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

1.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifies the key table to which you are adding a key
    definition. The key-table-id argument is the address of an
    unsigned longword that contains the key table identifier.

    The key table identifier argument is returned by the SMG$CREATE_
    KEY_TABLE routine.

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Identifies the key whose value you are defining. The key-name
    argument is the address of a descriptor pointing to this key
    name. The SMG$ADD_KEY_DEF routine changes the string to uppercase
    and removes trailing blanks.

 if-state

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Qualifies the value returned when key-name is pressed. The if-
    state argument is the address of a descriptor pointing to the
    state string.

    If if-state is specified, this definition of key-name is used
    only if the current state matches the specified if-state string.
    The if-state argument must be from 1 to 31 characters in length.
    If this argument is omitted, if-state defaults to the value
    DEFAULT.

 attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Longword bit mask specifying additional attributes of this key
    definition. The attributes argument is the address of an unsigned
    longword that contains this attribute mask. If omitted, the mask
    is zero.

    Valid attributes are described in the following list:

    SMG$M_KEY_NOECHO       If set, this bit specifies that
                           equivalence-string is not to be echoed
                           when this key is pressed. If clear,
                           equivalence-string is echoed. If SMG$M_
                           KEY_TERMINATE is not set, SMG$M_KEY_NOECHO
                           is ignored.
    SMG$M_KEY_TERMINATE    If set, this bit specifies that when
                           this key is pressed (as qualified by if-
                           state) the input line is complete and
                           more characters should not be accepted.
                           If clear, more characters may be accepted.
                           In other words, setting this bit causes
                           equivalence-string to be treated as a
                           terminator.
    SMG$M_KEY_LOCK         If set, and if state-string is specified,
                           the state name specified by state-string
                           remains the current state until explicitly
                           changed by a subsequent keystroke whose
                           definition includes a state-string. If
                           clear, the state name specified by state-
                           string remains in effect only for the next
                           defined keystroke.
    SMG$M_KEY_PROTECTED    If set, this bit specifies that this
                           key definition cannot be modified or
                           deleted. If clear, the key definition can
                           be modified or deleted.

    The remaining bits are undefined and must be zero. It is possible
    to perform a logical OR operation on these values to set more
    than one attribute at a time.

 equivalence-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Character string to be substituted for the keystroke in the
    returned line. The equivalence-string argument is the address
    of a descriptor pointing to this equivalence string.

    The equivalence-string argument is displayed unless SMG$M_KEY_
    NOECHO is set. If equivalence-string is omitted, no equivalence
    string is defined for this key.

 state-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Contains a new state name that becomes the current state when
    this key is pressed. The state-string argument is the address of
    a descriptor pointing to the new state string.

    If omitted, no new state is defined. If the current state is
    temporary (that is, if SMG$M_KEY_LOCKSTATE was not specified for
    the most recently pressed defined key), the current state-string
    becomes DEFAULT.

2  –  SMG$BEGIN_DISPLAY_UPDATE

    The Begin Batching of Display Updates routine saves, or batches,
    all output to a virtual display until a matching call to SMG$END_
    DISPLAY_UPDATE is encountered.

    Format

      SMG$BEGIN_DISPLAY_UPDATE  display-id

2.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display for which output is to be batched.
    The display-id argument is the address of an unsigned longword
    that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

3  –  SMG$BEGIN_PASTEBOARD_UPDATE

    The Begin Batching of Pasteboard Updates routine saves, or
    batches, all output to a pasteboard until a matching call to
    SMG$END_PASTEBOARD_UPDATE is encountered.

    Format

      SMG$BEGIN_PASTEBOARD_UPDATE  pasteboard-id

3.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

3.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard for which output is to be batched. The
    pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

4  –  SMG$CANCEL_INPUT

    The Cancel Input Request routine immediately cancels any read-
    in-progress that was issued by SMG$READ_COMPOSED_LINE, SMG$READ_
    KEYSTROKE, SMG$READ_STRING, or SMG$READ_VERIFY.

    Format

      SMG$CANCEL_INPUT  keyboard-id

4.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

4.2  –  Argument

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual keyboard for which the input is to be
    canceled. The keyboard-id argument is the address of an unsigned
    longword that contains the keyboard identifier.

    The keyboard identifier is returned by SMG$CREATE_VIRTUAL_
    KEYBOARD.

5  –  SMG$CHANGE_PBD_CHARACTERISTICS

    The Change Pasteboard Characteristics routine lets you change the
    characteristics associated with a pasteboard.

    Format

      SMG$CHANGE_PBD_CHARACTERISTICS  pasteboard-id

                                      [,desired-width] [,width]

                                      [,desired-height] [,height]

                                      [,desired-background-color]

                                      [,background-color]

5.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

5.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard whose characteristics are to be changed.
    The pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 desired-width

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    New width for the pasteboard. The desired-width argument is the
    address of a signed longword that contains the desired width. If
    omitted, the width does not change.

 width

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the physical width of the pasteboard. The width argument
    is the address of a signed longword into which is written the
    actual width of the pasteboard.

    If the terminal cannot be set exactly to desired-width, width
    may be larger than desired-width. If the physical width of the
    terminal is smaller than desired-width, width may be smaller than
    desired-width.

 desired-height

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    New height for the pasteboard. The desired-height argument is the
    address of a signed longword that contains the desired height of
    the pasteboard. If desired-height is omitted, the height does not
    change.

 height

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the physical height of the pasteboard. The height
    argument is the address of a signed longword into which is
    written the actual height of the pasteboard.

    If the terminal cannot be set exactly to desired-height, height
    may be larger than desired-height. If the physical height of the
    terminal is smaller than desired-height, height may be smaller
    than desired-height.

 desired-background-color

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Symbolic name for the desired background color. The desired-
    background-color argument is the address of an unsigned longword
    that contains the desired color.

    The symbols listed below are defined in $SMGDEF. Valid values for
    desired-background-color are as follows:

    SMG$C_COLOR_WHITE    Light background
    SMG$C_COLOR_BLACK    Dark background
    SMG$C_COLOR_BLUE     Blue background
    SMG$C_COLOR_CYAN     Cyan (green-blue) background
    SMG$C_COLOR_GREEN    Green background
    SMG$C_COLOR_         Magenta background
    MAGENTA
    SMG$C_COLOR_RED      Red background
    SMG$C_COLOR_YELLOW   Yellow background
    SMG$C_COLOR_LIGHT    White background
    SMG$C_COLOR_DARK     Black background
    SMG$C_COLOR_USER1    User-defined background 1
    SMG$C_COLOR_USER2    User-defined background 2
    SMG$C_COLOR_USER3    User-defined background 3
    SMG$C_COLOR_USER4    User-defined background 4
    SMG$C_COLOR_USER5    User-defined background 5
    SMG$C_COLOR_USER6    User-defined background 6
    SMG$C_COLOR_USER7    User-defined background 7
    SMG$C_COLOR_USER8    User-defined background 8

    If you omit desired-background-color, or if the terminal hardware
    does not support the background color specified, the background
    color is not changed.

 background-color

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the background color chosen. The background-color
    argument is the address of an unsigned longword into which is
    written the background color.

    This routine may return any of the values listed in the desired-
    background-color argument description or SMG$C_COLOR_UNKNOWN. If
    the desired-background-color argument is omitted, the value of
    background-color does not change.

6  –  SMG$CHANGE_RENDITION

    The Change Default Rendition routine changes the video attributes
    for all or part of a virtual display.

    Format

      SMG$CHANGE_RENDITION  display-id ,start-row ,start-column

                            ,number-of-rows ,number-of-columns

                            [,rendition-set] [,rendition-complement]

6.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

6.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display whose default rendition is to be
    changed. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Starting row position to receive the new rendition. The start-row
    argument is the address of a signed longword that contains the
    starting row number.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Starting column position to receive the new rendition. The start-
    column argument is the address of a signed longword that contains
    the starting column number.

 number-of-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Number of rows to receive the new rendition. The number-of-rows
    argument is the address of a signed longword that contains the
    number of rows to be affected.

 number-of-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Number of columns to receive the new rendition. The number-
    of-columns argument is the address of a signed longword that
    contains the number of columns to be affected.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

7  –  SMG$CHANGE_VIEWPORT

    The Change the Viewport Associated with a Virtual Display routine
    changes the size of an existing viewport in a virtual display.
    The text currently in the viewport is remapped to fit the new
    dimensions.

    Format

      SMG$CHANGE_VIEWPORT  display-id [,viewport-row-start]

                           [,viewport-column-start]

                           [,viewport-number-rows]

                           [,viewport-number-columns]

7.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

7.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display containing the viewport to be
    changed. The display-id argument is the address of an unsigned
    longword containing this identifier.

 viewport-row-start

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional row number in the virtual display that will become row
    1 in the changed viewport. The viewport-row-start argument is
    the address of a signed longword containing the row number. If
    omitted, the present viewport-row-start value is used.

 viewport-column-start

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional column number in the virtual display that will become
    column 1 in the changed viewport. The viewport-column-start
    argument is the address of a signed longword containing the
    column number. If omitted, the present viewport-column-start
    value is used.

 viewport-number-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional number of rows in the changed viewport. The viewport-
    number-rows argument is the address of a signed longword
    containing the number of rows. If omitted, the present viewport-
    number-rows value is used.

 viewport-number-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional number of columns in the changed viewport. The viewport-
    number-columns argument is the address of a signed longword
    containing the number of columns. If omitted, the present
    viewport-number-columns value is used.

8  –  SMG$CHANGE_VIRTUAL_DISPLAY

    The Change Virtual Display routine lets you change the
    dimensions, border, and video attributes of a virtual display.

    Format

      SMG$CHANGE_VIRTUAL_DISPLAY  display-id [,number-of-rows]

                                  [,number-of-columns]

                                  [,display-attributes]

                                  [,video-attributes]

                                  [,character-set]

8.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

8.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display whose attributes are to be changed.
    The display-id argument is the address of an unsigned longword
    that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 number-of-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the new number of rows for the virtual display. The
    number-of-rows argument is the address of a signed longword that
    contains the number of rows in the virtual display.

 number-of-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the new number of columns for the virtual display. The
    number-of-columns argument is the address of a signed longword
    that contains the number of columns in the virtual display.

 display-attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the attributes of the virtual display. The display-
    attributes argument is the address of a longword bit mask that
    contains the display attributes.

    Valid values for display-attributes are as follows:

    SMG$M_BORDER       Specifies a bordered display. If omitted, the
                       display is not bordered.
    SMG$M_BLOCK_       Specifies a block bordered display. If
    BORDER             omitted, the display is not bordered.
    SMG$M_DISPLAY_     Specifies that control characters such as
    CONTROLS           carriage return and line feed are displayed as
                       graphic characters, if your terminal supports
                       them.
    SMG$M_TRUNC_ICON   Specifies that an icon (generally a diamond
                       shape) is displayed where truncation of a line
                       exceeding the width of the virtual display has
                       occurred.

 video-attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default rendition to be applied to all output in
    a virtual display, unless overridden by a call to a specific
    output routine. The video-attributes argument is the address of
    an unsigned longword that contains the video attributes mask.

    For example, a call to SMG$PUT_CHARS with an explicit rendition
    specified would override the default rendition.

    The bits that can be set for this argument are as follows:

    SMG$M_BLINK        Displays blinking characters.
    SMG$M_BOLD         Displays characters in higher-than-normal
                       intensity.
    SMG$M_REVERSE      Displays characters in reverse video; that
                       is, to the opposite of the current default
                       rendition of the virtual display.
    SMG$M_UNDERLINE    Displays underlined characters.
    SMG$M_INVISIBLE    Specifies invisible characters; that is, the
                       characters exist in the virtual display but do
                       not appear on the pasteboard.
    SMG$M_USER1        Displays user-defined attributes.
    through
    SMG$M_USER8

    You can specify any combination of attributes in a single call.
    All other bits are reserved for use by VSI and must be 0.

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set specifier. Valid values
    are SMG$C_ASCII (the default), and SMG$C_SPEC_GRAPHICS.

9  –  SMG$CHECK_FOR_OCCLUSION

    The Check for Occlusion routine checks to see whether a virtual
    display is covered (occluded) by another virtual display.

    Format

      SMG$CHECK_FOR_OCCLUSION  display-id ,pasteboard-id

                               ,occlusion-state

9.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

9.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be checked. The display-id
    argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be checked. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 occlusion-state

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the value denoting whether the display is occluded. The
    occlusion-state argument is the address of a signed longword into
    which the occlusion state is written. Occlusion-state is set to
    1 if the display is occluded or set to 0 if the display is not
    occluded on the specified pasteboard. If the procedure does not
    return SS$_NORMAL, the contents of occlusion-state are undefined.

10  –  SMG$CONTROL_MODE

    The Control Mode routine controls the mode of the pasteboard.
    This includes buffering, minimal updating, whether the screen
    is cleared when the pasteboard is deleted, and whether tab
    characters are used for screen formatting.

    Format

      SMG$CONTROL_MODE  pasteboard-id [,new-mode] [,old-mode]

                        [,buffer-size]

10.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

10.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be changed. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 new-mode

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the new control settings to be used. The optional
    new-mode argument is the address of an unsigned longword that
    contains the mode settings. A bit set to 1 forces that mode to be
    employed; a bit set to 0 inhibits that mode of operation.

    Valid settings are as follows:

    SMG$M_BUF_ENABLED  Enables buffering.
    SMG$M_CLEAR_       Causes the Screen Management Facility to clear
    SCREEN             the screen when the program exits if you have
                       not previously deleted the pasteboard.
    SMG$M_IGNORE       Allows you to delete the pasteboard even if
                       batching is in effect.
    SMG$M_MINUPD       Enables minimal update (the default).
    SMG$M_NOTABS       Causes the Screen Management Facility not to
                       use tab characters to format the screen.
    SMG$M_PROTECT      Protect pasteboard operations from AST
                       interrupts (the default).
    SMG$M_RELEASE_PBD  Allows you to change the pasteboard size
                       (using the SMG$CHANGE_PBD_CHARACTERISTICS
                       routine) and prevents the Screen Management
                       Facility from modifying anything on the screen
                       outside of the smaller pasteboard.

    All other bits must be 0 and are reserved for future use by VSI.

 old-mode

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the control settings that were in effect before calling
    this procedure. The optional old-mode argument is the address
    of an unsigned longword into which the former mode settings are
    written. A bit set to 1 indicates that the specified mode was
    employed; a bit set to 0 indicates that the mode was inhibited.

 buffer-size

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the size of the buffer in bytes. The optional buffer-
    size argument is the address of an unsigned word that contains
    the size of the buffer. The buffer-size argument is used when
    buffering mode is enabled (SMG$M_BUF_ENABLED). The default and
    minimum buffer size is 256 bytes. The maximum value is 65535. The
    buffer-size value depends on user authorization file (UAF) values
    and is maximized with the SYSGEN parameter MAXBUF.

11  –  SMG$COPY_VIRTUAL_DISPLAY

    The Copy a Virtual Display routine creates a copy of an
    existing virtual display and assigns to it a new virtual display
    identifier.

    Format

      SMG$COPY_VIRTUAL_DISPLAY  current-display-id ,new-display-id

11.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

11.2  –  Arguments

 current-display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display to be replicated.
    The current-display-id argument is the address of the unsigned
    longword that contains the display identifier.

 new-display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the display identifier of the newly created virtual
    display. The new-display-id argument is the address of the
    unsigned longword that receives the new display identifier.

12  –  SMG$CREATE_KEY_TABLE

    The Create Key Table routine creates a table for key definitions.

    Format

      SMG$CREATE_KEY_TABLE  key-table-id

12.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

12.2  –  Argument

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the identifier of the newly created key table. The key-
    table-id argument is the address of an unsigned longword into
    which the key table identifier is written.

13  –  SMG$CREATE_MENU

    The Fill the Virtual Display with a Menu routine displays
    menu choices in the virtual display indicated, starting at the
    specified row.

    Format

      SMG$CREATE_MENU  display-id ,choices [,menu-type]

                       [,flags] [,row] [,rendition-set]

                       [,rendition-complement]

13.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

13.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display in which the menu is
    created. The display-id argument is the address of an unsigned
    longword containing this identifier.

 choices

    OpenVMS usage:static array of char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Static array in which each element corresponds to an item to be
    displayed in the menu. The choices argument is the address of a
    descriptor pointing to this static array of character strings.
    Note that blank menu items are ignored.

 menu-type

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask specifying the type of menu to be displayed.
    The menu-type argument is the address of a longword bit mask that
    specifies this menu type. Valid values are as follows:

    SMG$K_BLOCK        The menu items are displayed in matrix format
                       (default).
    SMG$K_VERTICAL     Each menu item is displayed on its own line.
    SMG$K_HORIZONTAL   The menu items are displayed all on one line.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask specifying the attributes to be used for the
    menu. The flags argument is the address of an unsigned longword
    that contains the flag. Valid values are as follows:

    SMG$M_DOUBLE_      Double-spaced rows of menu items. The default
    SPACE              is single spaced.
    SMG$M_FIXED_       Each menu item is in a fixed-length field. The
    FORMAT             field is the size of the largest menu item.
                       The default is compress.
    SMG$M_FULL_FIELD   The full field is highlighted when you move
                       within the menu using item keys. The default
                       is that menu items only are highlighted. If
                       you specify this flag value, it also implies
                       SMG$M_FIXED_FORMAT.
    SMG$M_WIDE_MENU    Wide characters are used in the menu items.
                       The default is normal sized characters.
    SMG$M_WRAP_MENU    The up arrow and down arrow keys cause the
                       menu to wrap when the cursor is on the first
                       or last rows of the menu.

 row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional row number in the specified virtual display at which
    the first menu item is displayed. The row argument is the address
    of a signed longword that contains this row number. If row is
    omitted, the first row of the virtual display's scrolling region
    is used.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is the
    address of a longword bit mask in which each attribute set causes
    the corresponding attribute to be used when writing out the menu
    choices. The following attributes can be specified using the
    rendition-set argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

14  –  SMG$CREATE_PASTEBOARD

    The Create a Pasteboard routine creates a pasteboard and returns
    its assigned pasteboard identifier.

    Format

      SMG$CREATE_PASTEBOARD  pasteboard-id [,output-device]

                             [,number-of-pasteboard-rows]

                             [,number-of-pasteboard-columns] [,flags]

                             [,type-of-terminal] [,device-name]

14.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

14.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the identifier of the newly created pasteboard. The
    pasteboard-id argument is the address of an unsigned longword
    into which the new pasteboard identifier is written.

 output-device

    OpenVMS usage:device_name
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Specifies the file specification or logical name to which the
    output associated with this pasteboard will be written. The
    output-device argument is the address of a descriptor that points
    to the name of the output device. If omitted, output is sent to
    SYS$OUTPUT.

 number-of-pasteboard-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the number of rows on the device specified in the
    output-device argument. The number-of-pasteboard-rows argument
    is the address of a signed longword into which is written the
    number of rows on the specified device, which will be the number
    of rows in the pasteboard.

 number-of-pasteboard-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the number of columns on the device specified in the
    output-device argument. The number-of-pasteboard-columns argument
    is the address of a signed longword into which the number of
    columns on the specified device is written.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the attributes to be used in the pasteboard. The flags
    argument is the address of an unsigned longword that contains
    the flag. The default action is to clear the screen when the
    pasteboard is created.

    Valid values are as follows:

    SMG$M_KEEP_        The screen is not initially cleared. The
    CONTENTS           Screen Management Facility works best when
                       it can manage the entire screen. Therefore,
                       using SMG$M_KEEP_CONTENTS is discouraged.
    SMG$M_WORKSTATION  Calls DECterm to create a DECterm window if
                       the Screen Management Facility is running on
                       a workstation that is running DECwindows. If
                       it is not running on a workstation that is
                       running DECwindows, this flag is ignored.

 type-of-terminal

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the SMG$ internal device type to which the output
    associated with this pasteboard will be written. The type-of-
    terminal argument is the address of an unsigned longword into
    which is written the terminal type.

    The returned values are as follows:

       SMG$K_UNKNOWN
       SMG$K_VTFOREIGN
       SMG$K_HARDCOPY
       SMG$K_VTTERMTABLE

    If a value other than SMG$K_VTTERMTABLE is returned, you must use
    SMG$SNAPSHOT to output the contents of the pasteboard.

 device-name

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Receives the device name of the device on which the output
    associated with this pasteboard is written. The device-name
    argument is the address of a descriptor into which is written
    the device name.

    If you specify the SMG$M_WORKSTATION value to the flags argument,
    this argument returns the DECwindows terminal device name created
    by the Screen Management Facility for this pasteboard. (You can
    then specify the device name in a call to SMG$CREATE_VIRTUAL_
    KEYBOARD to allow reading of input from the DECterm window.)
    Otherwise, the string specified by OUT_DEVICE is returned.

15  –  SMG$CREATE_SUBPROCESS

    The Create and Initialize a Subprocess routine creates a DCL
    subprocess and associates it with a virtual display.

    Format

      SMG$CREATE_SUBPROCESS  display-id [,AST-routine]

                             [,AST-argument] [,flags]

15.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

15.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display with which the newly created
    subprocess is associated. The display-id argument is the address
    of an unsigned longword containing this identifier.

 AST-routine

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       call without stack unwinding
    mechanism:    by value

    Optional AST routine to be called when the currently executing
    command completes. The AST-routine argument is the routine's
    procedure value.

    The AST routine is called with five parameters. The first
    parameter is a pointer to a data structure that contains the
    display-id, AST-argument, and the command-status values. The
    remaining four parameters for the AST routine are R0, R1, PC, and
    PSL. The following figure illustrates the AST-routine parameters
    and the data structure pointed to by the first parameter.

             Parameters to AST Routine               data structure
         +--------------------------------+       +------------------+
         |   address of data structure    |------>|    display-id    |
         +--------------------------------+       +------------------+
         |             R0                 |       |   AST-argument   |
         +--------------------------------+       +------------------+
         |             R1                 |       |  command-status  |
         +--------------------------------+       +------------------+
         |             PC                 |
         +--------------------------------+
         |            PSL                 |
         +--------------------------------+

    If the AST-routine argument is specified, the routine
    SMG$EXECUTE_COMMAND buffers any commands passed to it and
    executes them in order, calling the specified AST routine when
    each command completes. If the AST-routine argument is not
    specified, SMG$EXECUTE_COMMAND waits until the specified command
    completes before returning control to the user.

 AST-argument

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    Optional argument you supply to the AST routine. The AST-argument
    parameter is an unsigned longword that contains the value to be
    passed to the AST routine.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional argument you supply to SMG$CREATE_SUBPROCESS.
    SMG$CREATE_SUBPROCESS calls LIB$SPAWN to create the subprocess.
    The flags argument lets you control some of the flags used in
    that call. Flags available to SMG$CREATE_SUBPROCESS correspond to
    flags in LIB$SPAWN as follows:

    SMG$CREATE_        LIB$SPAWN
    SUBPROCESS Flag    Flag       Function

    SMG$M_TRUSTED      TRUSTED    If this bit is set, it indicates
                                  a SPAWN command on behalf of the
                                  application. If this bit is not
                                  set, it indicates that the SPAWN
                                  command originates from the user.
                                  SPAWN commands originating from
                                  users are disallowed in captive
                                  accounts (DCL).
    SMG$M_AUTHPRIV     AUTHPRIV   If this bit is set, the subprocess
                                  inherits the caller's authorized
                                  privileges. If this bit is clear,
                                  the spawned processes' authorized
                                  mask is set equal to the caller's
                                  current (active) privilege mask.
    SMG$M_SUBSYSTEM    SUBSYSTEM  If this bit is set, a spawned
                                  process inherits protected
                                  subsystem IDs for the duration
                                  of LOGINOUT.EXE (used to map the
                                  command line interpreter). The IDs
                                  will be removed in the process of
                                  transferring control to the command
                                  language interpreter (CLI) (as a
                                  user mode $RUNDWN is performed).
                                  If this bit is clear, LOGINOUT does
                                  not execute under the subsystem
                                  IDs.

    The default is that none of these bits is set. See online Help or
    the OpenVMS RTL Library (LIB$) Manual for a complete description
    of LIB$SPAWN, these flags, and the security consideration
    surrounding their use.

16  –  SMG$CREATE_VIEWPORT

    The Create a Virtual Viewport routine creates a viewport and
    associates it with a virtual display. The location and size of
    the viewport are specified by the caller.

    Format

      SMG$CREATE_VIEWPORT  display-id ,viewport-row-start

                           ,viewport-column-start

                           ,viewport-number-rows

                           ,viewport-number-columns

16.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

16.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display associated with the
    newly created viewport. The display-id argument is the address of
    an unsigned longword containing this identifier.

 viewport-row-start

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Row number in the virtual display that will become row 1 in the
    viewport. The viewport-row-start argument is the address of a
    signed longword containing the row number.

 viewport-column-start

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Column number in the virtual display that will become column 1 in
    the viewport. The viewport-column-start argument is the address
    of a signed longword containing the column number.

 viewport-number-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Number of rows in the viewport. The viewport-number-rows argument
    is the address of a signed longword containing the number of rows
    in the newly created viewport.

 viewport-number-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Number of columns in the viewport. The viewport-number-columns
    argument is the address of a signed longword containing the
    number of columns in the newly created viewport.

17  –  SMG$CREATE_VIRTUAL_DISPLAY

    The Create Virtual Display routine creates a virtual display and
    returns its assigned display identifier.

    Format

      SMG$CREATE_VIRTUAL_DISPLAY  number-of-rows ,number-of-columns

                                  ,display-id [,display-attributes]

                                  [,video-attributes]

                                  [,character-set]

17.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

17.2  –  Arguments

 number-of-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of rows in the newly created virtual
    display. The number-of-rows argument is the address of a signed
    longword that contains the desired number of rows.

 number-of-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of columns in the newly created virtual
    display. The number-of-columns argument is the address of a
    signed longword that contains the desired number of columns.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the display-id of the newly created virtual display. The
    display-id argument is the address of an unsigned longword into
    which is written the display identifier.

 display-attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Receives the current default display attributes. The optional
    display-attributes argument is the address of an unsigned
    longword into which the current display attributes are written.

    Valid values for display-attributes are as follows:

    SMG$M_BORDER       Specifies a bordered display. If omitted, the
                       display is not bordered.
    SMG$M_BLOCK_       Specifies a block-bordered display. If
    BORDER             omitted, the display is not bordered.
    SMG$M_DISPLAY_     Specifies that control characters such as
    CONTROLS           carriage return and line feed are displayed as
                       graphic characters, if your terminal supports
                       them.
    SMG$M_PROTECT_     Instructs the Screen Management Facility
    DISPLAY            to return an error (SMG$_DSPIN_USE) if an
                       SMG$ call is made from an AST routine that
                       interrupted an SMG$ call on the same display.
    SMG$M_TRUNC_ICON   Specifies that an icon (generally a diamond
                       shape) is displayed where truncation of a line
                       exceeding the width of the virtual display has
                       occurred.

 video-attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default rendition to be applied to all output in
    this virtual display unless overridden by a call to a specific
    output routine (for example, SMG$CHANGE_RENDITION). The video-
    attributes argument is the address of an unsigned longword that
    contains the video attributes mask.

    Valid values for this argument are as follows:

    SMG$M_BLINK        Displays blinking characters.
    SMG$M_BOLD         Displays characters in higher-than-normal
                       intensity.
    SMG$M_REVERSE      Displays characters in reverse video, that is,
                       using the opposite of the default rendition of
                       the virtual display.
    SMG$M_UNDERLINE    Displays underlined characters.
    SMG$M_INVISIBLE    Specifies invisible characters; that is, the
                       characters exist in the virtual display but do
                       not appear on the pasteboard.
    SMG$M_USER1        Displays user-defined attributes.
    through
    SMG$M_USER8

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set specifier. Valid values
    are SMG$C_ASCII (the default), and SMG$C_SPEC_GRAPHICS.

18  –  SMG$CREATE_VIRTUAL_KEYBOARD

    The Create a Virtual Keyboard routine creates a virtual keyboard
    and returns its assigned keyboard identifier.

    Format

      SMG$CREATE_VIRTUAL_KEYBOARD  keyboard-id [,input-device]

                                   [,default-filespec]

                                   [,resultant-filespec]

                                   [,recall-size]

18.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

18.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the keyboard identifier of the newly created virtual
    keyboard. The keyboard-id argument is the address of an unsigned
    longword into which is written the keyboard identifier.

 input-device

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the file specification or logical name of the
    file or terminal to be used for this virtual keyboard. The input-
    device argument is the address of a descriptor pointing to the
    file specification. If omitted, this defaults to SYS$INPUT.

 default-filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the default file specification. The default-
    filespec argument is the address of a descriptor pointing to the
    default file specification. If omitted, the null string is used.

    The default-filespec argument might be used to specify a default
    device and directory, leaving the input-device argument to supply
    the file name and type.

 resultant-filespec

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    String into which the procedure writes the fully expanded file
    specification of the file used. The resultant-filespec argument
    is the address of a descriptor pointing to the string into which
    is written the file specification that was used.

 recall-size

    OpenVMS usage:byte_unsigned
    type:         byte (unsigned)
    access:       read only
    mechanism:    by reference

    Number of input lines to be saved for later recall. The optional
    recall-size argument is the address of an unsigned byte
    containing the specified number of lines. A value of 0 turns
    off input line recall. By default, 20 lines are saved for later
    recall.

19  –  SMG$CURSOR_COLUMN

    The Return Cursor Column Position routine returns the virtual
    cursor's current column position in a specified virtual display.

    Format

      SMG$CURSOR_COLUMN  display-id

19.1  –  Returns

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

    SMG$CURSOR_COLUMN returns the current virtual cursor column
    position.

19.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    The display for which the column position is returned. The
    display-id argument is the address of an unsigned longword that
    contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

20  –  SMG$CURSOR_ROW

    The Return Cursor Row Position routine returns the virtual
    cursor's current row position in a specified virtual display.

    Format

      SMG$CURSOR_ROW  display-id

20.1  –  Returns

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

    SMG$CURSOR_ROW returns the current row position.

20.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    The display for which the row position is returned. The display-
    id argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

21  –  SMG$DEFINE_KEY

    The Perform a DEFINE/KEY Command routine performs the DEFINE/KEY
    command you provide.

    Format

      SMG$DEFINE_KEY  key-table-id ,command-string

21.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

21.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifies the key definition table for which the DEFINE/KEY
    command is to be performed. The key-table-id argument is the
    address of an unsigned longword that contains the key table
    identifier.

    The key table identifier is returned by SMG$CREATE_KEY_TABLE.

 command-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the DEFINE/KEY command to be performed. The
    command-string argument is the address of a descriptor pointing
    to the command to be performed.

    The valid qualifiers for the DEFINE/KEY command are as follows:

    o  /TERMINATE

    o  /NOECHO

    o  /LOCK

    o  /IF_STATE

    o  /SET_STATE

    The following two restrictions apply to the DEFINE/KEY
    qualifiers:

    o  If you use the /LOCK qualifier, you must also use the /SET_
       STATE qualifier.

    o  If you use both the /SET_STATE and /TERMINATE qualifiers, you
       may not use /LOCK.

22  –  SMG$DELETE_CHARS

    The Delete Characters routine deletes characters in a virtual
    display.

    Format

      SMG$DELETE_CHARS  display-id ,number-of-characters ,start-row

                        ,start-column

22.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

22.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifies the virtual display from which characters are to be
    deleted. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 number-of-characters

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of characters to be deleted. The number-
    of-characters argument is the address of a signed longword that
    contains the number of characters to be deleted.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row position at which to start the deletion. The
    start-row argument is the address of a signed longword that
    contains the row number at which to start the deletion.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column position at which to start the deletion. The
    start-column argument is the address of a signed longword that
    contains the column position at which to start the deletion.

23  –  SMG$DELETE_KEY_DEF

    The Delete Key Definition routine deletes a key definition from
    the specified table of key definitions.

    Format

      SMG$DELETE_KEY_DEF  key-table-id ,key-name [,if-state]

23.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

23.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifies the key table from which the key definition is
    deleted. The key-table-id argument is the address of an unsigned
    longword that contains the key table identifier.

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the name of the key whose definition is to be
    deleted. The key-name argument is the address of a descriptor
    pointing to the key name. The key name is stripped of trailing
    blanks and converted to uppercase before use.

 if-state

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing a state name that further qualifies key-name.
    The if-state argument is the address of a descriptor pointing to
    the state name. If omitted, the null state is used. Thus if a key
    has several definitions depending on various values of if-state,
    this routine lets you delete only one of those definitions.

24  –  SMG$DELETE_LINE

    The Delete Line routine deletes lines from a virtual display.

    Format

      SMG$DELETE_LINE  display-id ,start-row [,number-of-rows]

24.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

24.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifies the virtual display from which lines are to be
    deleted. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the first line to be deleted from the virtual display.
    The start-row argument is the address of a signed longword that
    contains the number of the first line to be deleted.

 number-of-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of lines to be deleted. The number-of-rows
    argument is the address of a signed longword that contains the
    number of lines to be deleted. If omitted, one line is deleted.

25  –  SMG$DELETE_MENU

    The End Access to a Menu in the Virtual Display routine ends
    access to the menu choices in the specified virtual display.

    Format

      SMG$DELETE_MENU  display-id [,flags]

25.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

25.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display in which the menu choices are
    displayed. The display-id argument is the address of an unsigned
    longword containing this identifier.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask specifying possible actions to take when
    deleting the menu. The flags argument is the address of an
    unsigned longword that contains the flag. At this time, the only
    valid value is SMG$M_ERASE_MENU. If this option is specified, all
    rows containing menu items are erased.

26  –  SMG$DELETE_PASTEBOARD

    The Delete Pasteboard routine deletes a pasteboard.

    Format

      SMG$DELETE_PASTEBOARD  pasteboard-id [,flags]

26.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

26.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be deleted. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask specifying whether the screen is cleared after
    the specified pasteboard is deleted. The flags argument is the
    address of an unsigned longword that contains the flag. Valid
    values are as follows:

    0                  Does not clear the screen.
    SMG$M_ERASE_PBD    Clears the screen (default).
    SMG$M_IGNORE_      Deletes the pasteboard even if batching is in
    BATCHED            effect.

27  –  SMG$DELETE_SUBPROCESS

    The Terminate a Subprocess routine deletes a subprocess that was
    created with the SMG$CREATE_SUBPROCESS routine.

    Format

      SMG$DELETE_SUBPROCESS  display-id

27.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

27.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display associated with the subprocess
    being deleted. The display-id argument is the address of an
    unsigned longword that contains this virtual display identifier.

28  –  SMG$DELETE_VIEWPORT

    The Delete a Viewport routine deletes the specified viewport from
    any pasteboards to which it is pasted.

    Format

      SMG$DELETE_VIEWPORT  display-id

28.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

28.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display associated with the viewport to
    be deleted. The display-id argument is the address of an unsigned
    longword containing the display identifier.

29  –  SMG$DELETE_VIRTUAL_DISPLAY

    The Delete Virtual Display routine deletes a virtual display.

    Format

      SMG$DELETE_VIRTUAL_DISPLAY  display-id

29.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

29.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be deleted. The display-id
    argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier display-id is returned by SMG$CREATE_
    VIRTUAL_DISPLAY.

30  –  SMG$DELETE_VIRTUAL_KEYBOARD

    The Delete Virtual Keyboard routine deletes a virtual keyboard.

    Format

      SMG$DELETE_VIRTUAL_KEYBOARD  keyboard-id

30.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

30.2  –  Argument

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual keyboard to be deleted. The keyboard-id
    argument is the address of an unsigned longword that contains the
    keyboard identifier.

    The keyboard identifier is returned by SMG$CREATE_VIRTUAL_
    KEYBOARD.

31  –  SMG$DEL_TERM_TABLE

    The Delete Terminal Table routine terminates access to a private
    TERMTABLE.EXE and frees the associated virtual address space.

    Format

      SMG$DEL_TERM_TABLE

31.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

31.2  –  Arguments

    None.

32  –  SMG$DISABLE_BROADCAST_TRAPPING

    The Disable Broadcast Trapping routine disables trapping of
    broadcast messages for the specified terminal.

    Format

      SMG$DISABLE_BROADCAST_TRAPPING  pasteboard-id

32.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

32.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard for the terminal to be affected. The
    pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

33  –  SMG$DISABLE_UNSOLICITED_INPUT

    The Disable Unsolicited Input routine disables the trapping of
    unsolicited input.

    Format

      SMG$DISABLE_UNSOLICITED_INPUT  pasteboard-id

33.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

33.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the keyboard (associated with the specified pasteboard)
    for which unsolicited input is being disabled. The pasteboard-id
    argument is the address of an unsigned longword that contains the
    pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

34  –  SMG$DRAW_CHAR

    The Draw a Character in a Virtual Display routine draws a
    character at the specified position in a virtual display.

    Format

      SMG$DRAW_CHAR  display-id ,flags [,row] [,column]

                     [,rendition-set] [,rendition-complement]

34.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

34.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display. The display-id argument is the
    address of an unsigned longword containing this identifier.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask indicating the character to be drawn. The flags
    argument is the address of an unsigned longword that contains the
    flag. The flags argument accepts the following character values:

    o  SMG$M_UP

    o  SMG$M_DOWN

    o  SMG$M_LEFT

    o  SMG$M_RIGHT

    Note that you may perform a logical OR operation to draw T
    characters, corner characters, cross characters, and so forth.
    A value of 0 draws a diamond character.

 row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional row number specifying the row position at which the
    specified character is drawn. The row argument is the address of
    a signed longword containing the row number. If row is omitted,
    the character is drawn at the row position of the current virtual
    cursor.

 column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional column number specifying the column position at which
    the specified character is drawn. The column argument is the
    address of a signed longword containing the column number. If
    column is omitted, the character is drawn at the column position
    of the current virtual cursor.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

35  –  SMG$DRAW_LINE

    The Draw a Line routine draws a horizontal or vertical line.

    Format

      SMG$DRAW_LINE  display-id ,start-row ,start-column

                     ,end-row ,end-column [,rendition-set]

                     [,rendition-complement]

35.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

35.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display on which the line is to be drawn.
    The display-id argument is the address of an unsigned longword
    that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which to begin drawing the line. The start-
    row argument is the address of a signed longword that contains
    the row number at which to begin drawing the line.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which to begin drawing the line. The
    start-column argument is the address of a signed longword that
    contains the column number at which to begin drawing the line.

 end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which the drawn line ends. The end-row
    argument is the address of a signed longword that contains the
    row number at which the drawn line ends.

 end-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which the drawn line ends. The end-column
    argument is the address of a signed longword that contains the
    column number at which the drawn line ends.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

36  –  SMG$DRAW_RECTANGLE

    The Draw a Rectangle routine draws a rectangle.

    Format

      SMG$DRAW_RECTANGLE  display-id ,start-row ,start-column

                          ,end-row ,end-column [,rendition-set]

                          [,rendition-complement]

36.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

36.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display on which the rectangle is to be
    drawn. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row number of the top left corner of the rectangle.
    The start-row argument is the address of a signed longword that
    contains the row number of the top left corner of the rectangle.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column number of the top left corner of the
    rectangle. The start-column argument is the address of a signed
    longword that contains the column number of the top left corner
    of the rectangle.

 end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row number of the bottom right corner of the
    rectangle. The end-row argument is the address of a signed
    longword that contains the row number of the bottom right corner
    of the rectangle.

 end-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column number of the bottom right corner of the
    rectangle. The end-column argument is the address of a signed
    longword that contains the column number of the bottom right
    corner of the rectangle.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

37  –  SMG$ENABLE_UNSOLICITED_INPUT

    The Enable Unsolicited Input routine detects unsolicited input
    and calls an AST routine in response.

    Format

      SMG$ENABLE_UNSOLICITED_INPUT  pasteboard-id ,AST-routine

                                    [,AST-argument]

37.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

37.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard for which unsolicited input is being
    enabled. The pasteboard-id argument is the address of an unsigned
    longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_VIRTUAL_
    PASTEBOARD.

 AST-routine

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       read only
    mechanism:    by value

    AST routine to be called upon receipt of unsolicited input at
    the terminal. The AST-routine argument contains the routine's
    procedure value. SMG$ENABLE_UNSOLICITED_INPUT detects the
    presence of unsolicited input and calls the AST routine with
    six arguments: the pasteboard-id, the AST-argument, R0, R1, PC,
    and PSL (on VAX systems) or PS (on Alpha systems).

 AST-argument

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    A value to be passed to the AST routine. The AST-argument
    argument contains the value to be passed to the AST routine.

38  –  SMG$END_DISPLAY_UPDATE

    The End Display Update routine ends update batching for a virtual
    display.

    Format

      SMG$END_DISPLAY_UPDATE  display-id

38.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

38.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be affected. The display-id
    argument is the address of an unsigned longword that contains the
    display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

39  –  SMG$END_PASTEBOARD_UPDATE

    The End Pasteboard Update routine ends update batching for a
    pasteboard.

    Format

      SMG$END_PASTEBOARD_UPDATE  pasteboard-id

39.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

39.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard on which the batch count is to be
    decremented. The pasteboard-id argument is the address of an
    unsigned longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.
    If the batch count reaches 0, all buffered output for the
    specified pasteboard is written out.

40  –  SMG$ERASE_CHARS

    The Erase Characters routine erases characters in a virtual
    display by replacing them with blanks.

    Format

      SMG$ERASE_CHARS  display-id ,number-of-characters ,start-row

                       ,start-column

40.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

40.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display from which characters will be
    erased. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 number-of-characters

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of characters to be replaced with blanks.
    The number-of-characters argument is the address of a signed
    longword that contains the number of characters to be replaced
    with blanks.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row on which the erase operation begins. The start-
    row argument is the address of a signed longword that contains
    the number of the row at which the erasure is to begin.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column on which the erase operation begins. The
    start-column argument is the address of a signed longword that
    contains the number of the column at which the erasure is to
    begin.

41  –  SMG$ERASE_COLUMN

    The Erase Column from Display routine erases the specified
    portion of the virtual display from the given position to the
    end of the column.

    Format

      SMG$ERASE_COLUMN  display-id [,start-row] [,column-number]

                        [,end-row]

41.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

41.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display to be affected. The display-id
    argument is the address of an unsigned longword containing this
    virtual display identifier.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional line number at which the erase operation begins. The
    start-row argument is the address of a signed longword that
    contains the specified line number. If this argument is omitted,
    the column-number argument is ignored and the erase operation
    begins at the current location of the virtual cursor for that
    virtual display.

 column-number

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional column number at which the erase operation begins.
    The column-number argument is the address of a signed longword
    that contains the specified column number. If this argument
    is omitted, the start-row argument is ignored and the erase
    operation begins at the current location of the virtual cursor
    for that virtual display.

 end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional row number at which the erase operation ends. The end-
    row argument is the address of a signed longword that contains
    the specified row number.

42  –  SMG$ERASE_DISPLAY

    The Erase Virtual Display routine erases all or part of a virtual
    display by replacing text characters with blanks.

    Format

      SMG$ERASE_DISPLAY  display-id [,start-row] [,start-column]

                         [,end-row] [,end-column]

42.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

42.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be erased. The display-id
    argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which the erase operation begins. The start-
    row argument is the address of a signed longword that contains
    the number of the row at which the erasure begins.

    If the start-row argument is not specified, start-column is also
    ignored and the entire virtual display is erased. If you do not
    specify start-row and start-column, then end-row and end-column
    are ignored and the entire virtual display is erased.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which the erase operation begins. The
    start-column argument is the address of a signed longword that
    contains the number of the column at which the erasure begins.

    If the start-column argument is not specified, start-row is also
    ignored and the entire virtual display is erased. If you do not
    specify start-row and start-column, then end-row and end-column
    are ignored and the entire virtual display is erased.

 end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which the erase operation ends; that is, the
    last row to be erased. The end-row argument is the address of a
    signed longword that contains the number of the last row to be
    erased.

    If the end-row argument is not specified, end-column is also
    ignored and all remaining rows in the display are erased.

 end-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which the erase operation ends; that
    is, the last column to be erased. The end-column argument is the
    address of a signed longword that contains the number of the last
    column to be erased.

    If the end-column argument is not specified, end-row is also
    ignored and all remaining columns in the display are erased.

43  –  SMG$ERASE_LINE

    The Erase Line routine erases all or part of a line in a virtual
    display.

    Format

      SMG$ERASE_LINE  display-id [,start-row] [,start-column]

43.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

43.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be affected. The display-id
    argument is the address of an unsigned longword that contains the
    display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the line at which the erase operation starts. The
    start-row argument is the address of a signed longword that
    contains the number of the row at which the erasure starts. If
    omitted, start-column is also ignored and the current cursor
    position is used.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which the erase operation starts. The
    start-column argument is the address of a signed longword that
    contains the number of the column at which the erasure starts.
    If omitted, start-row is also ignored and the current cursor
    position is used.

44  –  SMG$ERASE_PASTEBOARD

    The Erase Pasteboard routine erases the contents of a pasteboard.

    Format

      SMG$ERASE_PASTEBOARD  pasteboard-id

44.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

44.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be erased. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

45  –  SMG$EXECUTE_COMMAND

    The Execute Command in a Subprocess routine executes the
    specified command in the subprocess created with the SMG$CREATE_
    SUBPROCESS routine.

    Format

      SMG$EXECUTE_COMMAND  display-id ,command-desc [,flags]

                           [,ret-status]

45.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

45.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display with which the
    subprocess is associated. The display-id argument is the address
    of an unsigned longword containing this identifier.

 command-desc

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Command string. The command-desc argument is the address of a
    descriptor pointing to the command string.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies optional behavior. The flags
    argument is the address of an unsigned longword that contains the
    flag. The valid values for flags are as follows:

    SMG$M_DATA_FOLLOWS   Input data follows. The next call to
                         SMG$EXECUTE_COMMAND contains input data
                         for the currently executing command. Do not
                         specify this value if this is the last input
                         data item. If you do specify this value,
                         ret-status is not returned.
    SMG$M_SEND_EOF       Send end-of-file marker. The end-of-file
                         marker is sent to the subprocess.

 ret-status

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Optional status of the executed command, provided that the
    commands are not being buffered. The ret-status argument is the
    address of an unsigned longword containing this status.

46  –  SMG$FIND_CURSOR_DISPLAY

    The Find Display that Contains the Cursor routine returns the
    identifier of the most recently pasted virtual display that
    contains the physical cursor.

    Format

      SMG$FIND_CURSOR_DISPLAY  pasteboard-id ,display-id

                               [,pasteboard-row] [,pasteboard-column]

46.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

46.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard in which the physical cursor is to be
    found. The pasteboard-id argument is the address of an unsigned
    longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the identifier of the display in which the physical
    cursor was found. The display-id argument is the address of an
    unsigned longword into which the display identifier is written.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    The row position at which to begin the search for the physical
    cursor. The optional pasteboard-row argument is the address of
    a signed longword containing the pasteboard row. You can use
    pasteboard-row instead of the physical cursor row.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    The column position at which to begin the search for the physical
    cursor. The optional pasteboard-column argument is the address of
    a signed longword containing the pasteboard column. You can use
    pasteboard-column instead of the physical cursor column.

47  –  SMG$FLUSH_BUFFER

    The Flush Buffer routine flushes all buffered output to the
    terminal.

    Format

      SMG$FLUSH_BUFFER  pasteboard-id

47.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

47.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be flushed. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

48  –  SMG$FLUSH_DISPLAY_UPDATE

    The Flush Display Update routine flushes any update batching to
    the screen and leaves the update batching in effect.

    Format

      SMG$FLUSH_DISPLAY_UPDATE  display-id

48.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

48.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be affected. The display-id
    argument is the address of an unsigned longword that contains the
    display identifier.

    The display argument is returned by SMG$CREATE_VIRTUAL_DISPLAY.

49  –  SMG$GET_BROADCAST_MESSAGE

    The Get Broadcast Message routine determines whether a message
    has been broadcast to the pasteboard and returns the message.

    Format

      SMG$GET_BROADCAST_MESSAGE  pasteboard-id [,message]

                                 [,message-length] [,message-type]

49.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

49.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be checked for the presence of a
    broadcast message. The pasteboard-id argument is the address of
    an unsigned longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 message

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    A string that receives the broadcast message, if such a message
    is available. The message argument is the address of a descriptor
    that points to the string into which the message text is written.
    If this argument is omitted, the broadcast message is discarded.

 message-length

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the actual length of the broadcast message. The message-
    length argument is the address of an unsigned word into which is
    written the length of the message.

 message-type

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the type of broadcast message. The message-type argument
    is the address of an unsigned word into which is written the type
    of message. Values for message-type are defined by the $MSGDEF
    library definition. If the value for message-type is not MSG$_
    TRMBRDCST, the condition value returned is SMG$_NOBRDMSG.

50  –  SMG$GET_CHAR_AT_PHYSICAL_CURSOR

    The Return Character at Cursor routine returns the character at
    the current physical cursor position.

    Format

      SMG$GET_CHAR_AT_PHYSICAL_CURSOR  pasteboard-id ,character-code

                                       [,rendition] [,user-rendition]

50.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

50.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard from which to retrieve the character.
    The pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 character-code

    OpenVMS usage:byte_unsigned
    type:         byte (unsigned)
    access:       write only
    mechanism:    by reference

    Returned character code. The character-code argument is the
    address of an unsigned byte into which is written the character's
    ASCII code.

 rendition

    OpenVMS usage:byte_unsigned
    type:         byte (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the rendition code associated with the character code
    returned by the character-code argument. The rendition argument
    is the address of an unsigned byte into which is written the
    rendition code.

 user-rendition

    OpenVMS usage:byte_unsigned
    type:         byte (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the user rendition code associated with the character
    code returned by the character-code argument. The user-rendition
    argument is the address of an unsigned byte into which is written
    the user rendition code.

51  –  SMG$GET_DISPLAY_ATTR

    The Get Display Attributes routine receives the attributes
    associated with a virtual display.

    Format

      SMG$GET_DISPLAY_ATTR  display-id [,height] [,width]

                            [,display-attributes] [,video-attributes]

                            [,character-set] [,flags]

51.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

51.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display for which information is requested.
    The display-id argument is the address of an unsigned longword
    that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 height

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the number of rows in the display. The optional height
    argument is the address of a signed longword into which the
    height is written.

 width

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the number of columns in the display. The optional
    width argument is the address of a signed longword into which
    is written the number of columns in the display.

 display-attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the current default display attributes. The optional
    display-attributes argument is the address of an unsigned
    longword into which the current display attributes are written.

    Valid values for display-attributes are as follows:

    SMG$M_BORDER       Specifies a bordered display. If omitted, the
                       display is not bordered.
    SMG$M_BLOCK_       Specifies a block bordered display. If
    BORDER             omitted, the display is not bordered.
    SMG$M_DISPLAY_     Specifies that control characters such as
    CONTROLS           carriage return and line feed are displayed as
                       graphic characters, if your terminal supports
                       them.
    SMG$M_TRUNC_ICON   Specifies that an icon (generally a diamond
                       shape) is displayed where truncation of a line
                       exceeding the width of the virtual display has
                       occurred.

 video-attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the current default video attributes. The optional
    video-attributes argument is the address of an unsigned longword
    into which the current video attributes are written.

    Valid video attributes are as follows:

    SMG$M_BLINK        Displays blinking characters.
    SMG$M_BOLD         Displays characters in higher-than-normal
                       intensity.
    SMG$M_REVERSE      Displays characters in reverse video; that is,
                       using the opposite of the default rendition of
                       the virtual display.
    SMG$M_UNDERLINE    Displays underlined characters.
    SMG$M_INVISIBLE    Specifies invisible characters; that is, the
                       characters exist in the virtual display but do
                       not appear on the pasteboard.
    SMG$M_USER1        Displays user-defined attributes.
    through
    SMG$M_USER8

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the default character set for all text in this virtual
    display. The optional character-set argument is the address of an
    unsigned longword that specifies the character set. Valid values
    are SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Optional bit mask specifying attributes of the specified display.
    The flags argument is the address of an unsigned longword
    containing the flag. Valid values for flags are as follows:

    SMG$M_SUBPROCESS   Display has a subprocess attached to it.
    SMG$M_MENU         Display contains a menu.
    SMG$M_VIEWPORT     Display contains a viewport.

52  –  SMG$GET_KEYBOARD_ATTRIBUTES

    The Get Keyboard Attributes routine gets information about a
    virtual keyboard and leaves it in a user-supplied area: the
    keyboard information table (KIT).

    Format

      SMG$GET_KEYBOARD_ATTRIBUTES  keyboard-id ,keyboard-info-table

                                   ,keyboard-info-table-size

52.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

52.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is the address of
    an unsigned longword containing the identifier of the virtual
    keyboard from which to read.

    Create a virtual keyboard by calling the SMG$CREATE_VIRTUAL_
    KEYBOARD routine.

 keyboard-info-table

    OpenVMS usage:unspecified
    type:         unspecified
    access:       write only
    mechanism:    by reference, array reference

    Receives the keyboard attributes. The keyboard-info-table
    argument is the address of a data block into which the keyboard
    attributes are written.

    The KIT is a byte block whose size and field references are
    described in $SMGDEF. It is the caller's responsibility to
    allocate the correct size block and to pass its address to this
    routine.

    The values in the keyboard-info-table can be accessed through the
    following symbolic names:

    SMG$L_DEV_CHAR     Device characteristics (longword)
    SMG$L_DEV_DEPEND   Specific characteristics 1 (longword)
    SMG$L_DEV_DEPEND2  Specific characteristics 2 (longword)
    SMG$L_DEV_DEPEND3  Specific characteristics 3 (longword)
    SMG$B_DEV_CLASS    Device class (byte) - for example, DC$_TERM
    SMG$B_RECALL_NUM   Size of recall buffer (byte)*
    SMG$B_DEVTYPE      Physical device type (byte) - for example,
                       TT$_VT100
    SMG$B_TYPEAHD_     First character in type-ahead buffer (byte)*
    CHAR
    SMG$W_NUM_COLUMNS  Terminal width (word)
    SMG$W_TYPEAHD_CNT  Number of characters in type-ahead buffer
                       (word)*

    Items marked with an asterisk (*) will be zero unless the device
    is a terminal (DEVCLASS = DC$_TERM).

 keyboard-info-table-size

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Size of the keyboard information table. The keyboard-info-table-
    size argument is the address of an unsigned longword containing
    the size of the KIT in bytes.

    The size you specify must be exact. You can specify this size
    with the symbolic constant SMG$C_KEYBOARD_INFO_BLOCK.

53  –  SMG$GET_KEY_DEF

    The Get Key Definition routine returns the key definition for a
    specified key.

    Format

      SMG$GET_KEY_DEF  key-table-id ,key-name [,if-state]

                       [,attributes] [,equivalence-string]

                       [,state-string]

53.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

53.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key table from which you are extracting a
    definition. The key-table-id argument is the address of an
    unsigned longword that contains the key table identifier.

    The key table identifier is returned by SMG$CREATE_KEY_TABLE.

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Specifies the name of the key associated with the definition. The
    key-name argument is the address of a descriptor pointing to the
    key name.

 if-state

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Specifies the current state name in effect after the key is
    pressed. The if-state argument is the address of a descriptor
    pointing to the state name.

    See SMG$ADD_KEY_DEF for more information.

 attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the attributes bit mask for this key definition. The
    attributes argument is the address of a longword into which is
    written the bit mask describing the key's attributes.

    Valid values are as follows:

    SMG$M_KEY_NOECHO   If set, this bit specifies that equiv_string
                       is not to be echoed when this key is pressed.
                       If clear, equiv_string is echoed. If SMG$M_
                       KEY_TERMINATE is not set, SMG$M_KEY_NOECHO is
                       ignored.
    SMG$M_KEY_         If set, this bit specifies that when this key
    TERMINATE          is pressed (as qualified by if-state), the
                       input line is complete and more characters
                       should not be accepted. If clear, more
                       characters may be accepted.
    SMG$M_KEY_         If set, and if state-string is specified, the
    LOCKSTATE          state name specified by state-string remains
                       at the current state until explicitly changed
                       by a subsequent keystroke whose definition
                       includes a state-string. If clear, the state
                       name specified by state-string remains in
                       effect only for the next defined key stroke.
    SMG$M_KEY_         If set, this bit specifies that this key
    PROTECTED          definition cannot be modified or deleted.
                       If clear, the key definition can be modified
                       or deleted.

 equivalence-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Receives the equivalence string for this key definition. The
    equivalence-string argument is the address of a descriptor
    pointing to the string into which is written the equivalence
    string.

 state-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Receives the new state name, if any, which is set by this
    key definition. The state-string argument is the address of a
    descriptor pointing to the string into which is written the new
    state string.

54  –  SMG$GET_NUMERIC_DATA

    The Get Numeric Terminal Data routine accesses TERMTABLE.EXE and
    returns the value associated with a specified Boolean or numeric
    capability.

    Format

      SMG$GET_NUMERIC_DATA  termtable-address ,request-code

                            ,buffer-address

54.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

54.2  –  Arguments

 termtable-address

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the address of the TERMTABLE entry for the desired
    terminal. The termtable-address argument is the address of an
    unsigned longword that contains the address of the terminal
    capabilities table (TERMTABLE).

    Before calling SMG$GET_NUMERIC_DATA, you must obtain this
    terminal table address by calling either SMG$INIT_TERM_TABLE
    or SMG$INIT_TERM_TABLE_BY_TYPE.

 request-code

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Request code that specifies the desired capability. The request-
    code argument is an unsigned longword constant containing this
    request code. The request code is of the form SMG$K_code, where
    code corresponds to a keyword in the terminal capabilities table
    (TERMTABLE), for example, ANSI_CRT. The SMG$K_code constants can
    be found in the library supplied by OpenVMS, $SMGTRMPTR.

 buffer-address

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Address of the first byte of the longword to which SMG$GET_
    NUMERIC_DATA writes the numeric capability data. The buffer-
    address argument is an unsigned longword that contains the
    address of this buffer.

55  –  SMG$GET_PASTEBOARD_ATTRIBUTES

    The Get Pasteboard Attributes routine gets pasteboard attributes
    and stores them in the pasteboard information table.

    Format

      SMG$GET_PASTEBOARD_ATTRIBUTES  pasteboard-id

                                     ,pasteboard-info-table

                                     ,pasteboard-info-table-size

55.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

55.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard for which information is requested. The
    pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 pasteboard-info-table

    OpenVMS usage:unspecified
    type:         unspecified
    access:       write only
    mechanism:    by reference, array reference

    Receives the pasteboard attributes. The pasteboard-info-table
    argument is the address of a data structure into which are
    written the pasteboard attributes.

    The values in the pasteboard-info-table can be accessed through
    the following symbolic names:

    SMG$L_DEVCHAR    Device characteristics (longword).
    SMG$L_DEVDEPEND  Specific characteristics 1 (longword).
    SMG$L_           Specific characteristics 2 (longword).
    DEVDEPEND2
    SMG$L_           Specific characteristics 3 (longword).
    DEVDEPEND3
    SMG$B_DEVCLASS   Device class (byte)-for example, DC$_TERM.
    SMG$B_SMG_       Internal SMG device type (byte). The four
    DEVTYPE          possible values for SMG$B_SMG_DEVTYPE are as
                     follows:

                        SMG$K_UNKNOWN
                        SMG$K_VTFOREIGN
                        SMG$K_HARDCOPY
                        SMG$K_VTTERMTABLE

    SMG$B_PHY_       Physical device type (byte)-for example, TT$_
    DEVTYPE          VT100. The possible values for SMG$B_PHY_DEVTYPE
                     are defined in $TTDEF in STARLET.
    SMG$B_ROWS       Number of rows on pasteboard (byte).
    SMG$W_WIDTH      Pasteboard width (word).
    SMG$B_COLOR      Background color setting (byte). Valid values
                     for SMG$B_COLOR are as follows:
                     SMG$C_COLOR_        Unknown background color
                     UNKNOWN
                     SMG$C_COLOR_WHITE   Light background
                     SMG$C_COLOR_BLACK   Dark background
                     SMG$C_COLOR_BLUE    Blue background
                     SMG$C_COLOR_CYAN    Cyan (green-blue) background
                     SMG$C_COLOR_GREEN   Green background
                     SMG$C_COLOR_        Magenta background
                     MAGENTA
                     SMG$C_COLOR_RED     Red background
                     SMG$C_COLOR_        Yellow background
                     YELLOW
                     SMG$C_COLOR_LIGHT   White background
                     SMG$C_COLOR_DARK    Black background
                     SMG$C_COLOR_USER1   User-defined background 1
                     SMG$C_COLOR_USER2   User-defined background 2
    SMG$B_PARITY     Parity attributes (byte)-this field is zero if
                     the pasteboard is not a terminal.
    SMG$W_SPEED      Terminal speed (word)-this field is zero if the
                     pasteboard is not a terminal.
    SMG$W_FILL       Fill characteristics (word)-this field is zero
                     if the pasteboard is not a terminal.
    SMG$W_PHYS_      Pasteboard row containing physical cursor
    CURSOR_ROW       (word).
    SMG$W_PHYS_      Pasteboard column containing physical cursor
    CURSOR_COL       (word).
    SMG$L_CURSOR_    Display identifier of topmost display containing
    DID              physical cursor (longword).

 pasteboard-info-table-size

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the number of bytes in the pasteboard information
    table. The pasteboard-info-table-size argument is the address
    of an unsigned longword that contains the size (in bytes) of the
    pasteboard information table.

    The size you specify must be exact. You can specify this size
    with the symbolic constant SMG$C_PASTEBOARD_INFO_BLOCK.

56  –  SMG$GET_PASTING_INFO

    Provided that the specified virtual display is currently pasted,
    the Return Pasting Information routine returns the row and column
    of the pasting.

    Format

      SMG$GET_PASTING_INFO  display-id ,pasteboard-id ,flags

                            [,pasteboard-row] [,pasteboard-column]

56.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

56.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display to be examined. The display-id
    argument is the address of an unsigned longword containing the
    identifier of this virtual display.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the pasteboard on which the virtual display is
    pasted. The pasteboard-id argument is the address of an unsigned
    longword containing the identifier of this pasteboard.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Bit mask indicating the status of the specified virtual display
    with respect to the specified pasteboard. The flags argument is
    the address of an unsigned longword that contains the flag. Valid
    values for flags are as follows:

    0                  The virtual display is not pasted to the
                       specified pasteboard.
    SMG$M_DISPLAY_     The virtual display specified by display-id
    PASTED             is pasted to the pasteboard specified by the
                       pasteboard-id argument.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Row of the pasteboard that contains row 1 of the specified
    virtual display. The optional pasteboard-row argument is the
    address of a signed longword containing the number of the
    pasteboard row that contains the first row of the virtual
    display.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Column of the pasteboard that contains column 1 of the specified
    virtual display. The optional pasteboard-column argument is
    the address of a signed longword containing the number of the
    pasteboard column that contains the first column of the virtual
    display.

57  –  SMG$GET_TERM_DATA

    The Get Terminal Data routine accesses TERMTABLE.EXE and returns
    the character sequence that causes a terminal to perform a
    specified operation.

    Format

      SMG$GET_TERM_DATA  termtable-address ,request-code

                         ,maximum-buffer-length ,return-length

                         ,capability-data [,input-argument-vector]

57.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

57.2  –  Arguments

 termtable-address

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the address of the TERMTABLE entry for the desired
    terminal. The termtable-address argument is the address of an
    unsigned longword that contains the address of the terminal
    capabilities table (TERMTABLE).

    The TERMTABLE address is returned by SMG$INIT_TERM_TABLE or
    SMG$INIT_TERM_TABLE_BY_TYPE.

 request-code

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Longword constant of the form SMG$K_code, where code is the name
    of the desired capability field. The request-code argument is
    the address of a signed longword that contains the request code.
    The SMG$K_code constants can be found in the library supplied by
    OpenVMS, $SMGTRMPTR.

 maximum-buffer-length

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Maximum length of the buffer into which the requested capability
    data is written. The maximum-buffer-length argument is the
    address of a signed longword that contains the maximum number
    of bytes that can be written into the buffer.

 return-length

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the number of bytes actually written into the buffer.
    The return-length argument is the address of a signed longword
    into which is written the number of bytes transferred into the
    buffer.

 capability-data

    OpenVMS usage:unspecified
    type:         unspecified
    access:       by reference, array reference
    mechanism:    0

    Address of the first byte of the buffer which is to receive
    the capability data. The capability-data argument contains the
    address of the buffer.

 input-argument-vector

    OpenVMS usage:vector_longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference, array reference

    Address of a list of longwords used for capabilities that require
    a variable number of arguments, and for those that require
    substitution or arithmetic operations on an argument. The input-
    argument-vector argument is the address of an array of unsigned
    longwords that contains capability arguments. The first longword
    must contain the number of arguments that follow.

58  –  SMG$GET_VIEWPORT_CHAR

    The Get Characteristics of Display Viewport routine returns the
    characteristics of the specified viewport.

    Format

      SMG$GET_VIEWPORT_CHAR  display-id [,viewport-row-start]

                             [,viewport-column-start]

                             [,viewport-number-rows]

                             [,viewport-number-columns]

58.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

58.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display associated with the viewport.
    The display-id argument is the address of an unsigned longword
    containing this identifier.

 viewport-row-start

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Optional argument that receives the starting row number of the
    viewport. The viewport-row-start argument is the address of a
    signed longword that receives this row number.

 viewport-column-start

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Optional argument that receives the starting column number of
    the specified viewport. The viewport-column-start argument is the
    address of a signed longword that receives this column number.

 viewport-number-rows

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Optional argument that receives the number of rows in the
    specified viewport. The viewport-number-rows argument is the
    address of a signed longword that receives this number.

 viewport-number-columns

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Optional argument that receives the number of columns in the
    specified viewport. The viewport-number-columns argument is the
    address of a signed longword that receives this number.

59  –  SMG$HOME_CURSOR

    The Home Cursor routine moves the virtual cursor to the specified
    corner of a virtual display.

    Format

      SMG$HOME_CURSOR  display-id [,position-code]

59.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

59.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display in which the virtual cursor is
    moved. The display-id argument is the address of a longword that
    contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 position-code

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the point to which the virtual cursor moves. The
    position-code argument is the address of a longword that contains
    the position code.

    Valid codes for position-code are as follows:

    Code               Meaning

    SMG$C_UPPER_LEFT   Row 1, column 1 (the upper left corner).
                       This is the default if position-code is not
                       specified.
    SMG$C_LOWER_LEFT   Row n, column 1 (where n is the number of
                       rows in the display). That is, the lower left
                       corner. It is useful to specify this position
                       when accepting input for an upward-scrolling
                       virtual display.
    SMG$C_UPPER_RIGHT  Row 1, column m (where m is the number of
                       columns in the display). That is, the upper
                       right corner.
    SMG$C_LOWER_RIGHT  Row n, column m (where n is the number of
                       rows and m is the number of columns in the
                       display). That is, the lower right corner.

60  –  SMG$INIT_TERM_TABLE

    The Initialize Terminal Table routine initializes the TERMTABLE
    database for the terminal named, so that subsequent calls to
    SMG$GET_TERM_DATA can extract information and command strings for
    that terminal.

    Format

      SMG$INIT_TERM_TABLE  terminal-name, termtable-address

60.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

60.2  –  Arguments

 terminal-name

    OpenVMS usage:device_name
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Specifies the name of the terminal. The terminal-name argument
    is the address of a descriptor pointing to the terminal name. The
    name must be an entry in TERMTABLE.EXE.

 termtable-address

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Address of the entry for a particular type of terminal in
    TERMTABLE.EXE. The termtable-address argument is the address
    of an unsigned longword that contains the address of the terminal
    capabilities table.

    You use this address when calling the SMG$GET_TERM_DATA procedure
    for the specified type of terminal. The TERMTABLE address is also
    returned by SMG$INIT_TERM_TABLE_BY_TYPE.

61  –  SMG$INIT_TERM_TABLE_BY_TYPE

    The Initialize TERMTABLE by OpenVMS Terminal Type routine
    initializes the TERMTABLE database for the terminal named,
    so that subsequent calls to SMG$GET_TERM_DATA can extract
    information and command strings for that terminal.

    Format

      SMG$INIT_TERM_TABLE_BY_TYPE  terminal-type ,termtable-address

                                   [,terminal-name]

61.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

61.2  –  Arguments

 terminal-type

    OpenVMS usage:byte_signed
    type:         byte (signed)
    access:       read only
    mechanism:    by reference

    The device type of the terminal, as designated by an OpenVMS
    symbolic terminal type or by another value returned by the
    $GETDVI system service. The terminal-type argument is the address
    of a signed byte that contains the terminal type.

 termtable-address

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Address of the entry for a particular type of terminal in
    TERMTABLE.EXE. The termtable-address argument is the address
    of an unsigned longword into which is written the address of a
    terminal entry.

    Use this address when calling the SMG$GET_TERM_DATA procedure for
    the specified type of terminal.

 terminal-name

    OpenVMS usage:device_name
    type:         character string
    access:       write only
    mechanism:    by descriptor

    A string into which is written the terminal name associated with
    the device type. The terminal-name argument is the address of a
    descriptor pointing to the string into which the terminal name is
    written.

62  –  SMG$INSERT_CHARS

    The Insert Characters routine inserts characters into a virtual
    display.

    Format

      SMG$INSERT_CHARS  display-id ,character-string ,start-row

                        ,start-column [,rendition-set]

                        [,rendition-complement] [,character-set]

62.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

62.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 character-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    The character string to be inserted. The character-string
    argument is the address of a descriptor that points to the string
    to be inserted.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    The row position at which to begin the insertion. The start-row
    argument is the address of a signed longword that contains the
    row number.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    The column position at which to begin the insertion. The start-
    column argument is the address of a signed longword that contains
    the column number.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

63  –  SMG$INSERT_LINE

    The Insert Line routine inserts a line into a virtual display and
    scrolls the display.

    Format

      SMG$INSERT_LINE  display-id ,start-row [,character-string]

                       [,direction] [,rendition-set]

                       [,rendition-complement] [,flags]

                       [,character-set]

63.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

63.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row number at which the string is inserted and at
    which scrolling begins. The start-row argument is the address of
    a signed longword that contains the row number.

 character-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    The character string to be inserted by SMG$INSERT_LINE. The
    character-string argument is the address of a descriptor pointing
    to this string.

 direction

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the scrolling direction. The direction argument is
    the address of a longword bit mask that contains the direction
    code. Valid values are SMG$M_UP and SMG$M_DOWN. SMG$M_UP is the
    default.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to take if the text
    does not fit on the line. The flags argument is the address of an
    unsigned longword that contains the flag. Valid values for flags
    are as follows:

    0                  Does not wrap (the default)
    SMG$M_WRAP_CHAR    Wraps at the last character on the line
    SMG$M_WRAP_WORD    Wraps at the last space on the line

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

64  –  SMG$INVALIDATE_DISPLAY

    The Mark a Display as Invalid routine marks a display as invalid
    and causes the entire display to be redrawn.

    Format

      SMG$INVALIDATE_DISPLAY  display-id

64.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

64.2  –  Argument

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

65  –  SMG$KEYCODE_TO_NAME

    The Translate a Key Code into a Key Name routine translates the
    key code of a key on the keyboard into its associated key name.

    Format

      SMG$KEYCODE_TO_NAME  key-code ,key-name

65.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

65.2  –  Arguments

 key-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key code to translate into a key name. The key-code
    argument is the address of an unsigned word that contains the key
    code.

    The key code is returned by SMG$READ_COMPOSED_LINE, SMG$READ_
    KEYSTROKE, SMG$READ_STRING, and SMG$READ_VERIFY in the word-
    terminator-code argument.

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    String containing the name of the key into which key-code is
    to be translated. The key-name argument is the address of a
    descriptor pointing to the character string containing the key
    name. The key-name argument is simply the name of the key (for
    example, COMMA, PERIOD, KP4, and so forth).

66  –  SMG$LABEL_BORDER

    The Label a Virtual Display Border routine supplies a label for a
    virtual display's border.

    Format

      SMG$LABEL_BORDER  display-id [,text] [,position-code] [,units]

                        [,rendition-set] [,rendition-complement]

                        [,character-set]

66.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

66.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    The new label for this display's border. The text argument is
    the address of a descriptor pointing to the label text. If this
    string is supplied, it replaces the current label text for this
    border. If omitted, the display is not labeled.

 position-code

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies which of the display's borders contains the label. The
    position-code argument is the address of an unsigned longword
    that contains the position code.

    Valid positions are as follows:

    o  SMG$K_TOP

    o  SMG$K_BOTTOM

    o  SMG$K_RIGHT

    o  SMG$K_LEFT

    If this argument is omitted, the label is displayed on the top
    border.

 units

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the character position at which the label begins
    within the border. The units argument is the address of a signed
    longword that contains the character position. If omitted, the
    label is centered in the specified border.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

67  –  SMG$LIST_KEY_DEFS

    The List Key Definitions routine returns, one at a time, the
    definitions (equivalence strings) associated with specified keys
    in a specified key definition table.

    Format

      SMG$LIST_KEY_DEFS  key-table-id ,context [,key-name]

                         [,if-state] [,attributes]

                         [,equivalence-string] [,state-string]

67.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

67.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key definition table from which you are extracting
    a key definition. The key-table-id argument is the address of an
    unsigned longword that contains the key table identifier.

    The key definition table identifier is returned by SMG$CREATE_
    KEY_TABLE.

 context

    OpenVMS usage:context
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference

    Provides a means to extract a series of key definitions from a
    key definition table. The context argument is the address of an
    unsigned longword that contains the context variable. For the
    first call to this routine, you should set the context argument
    to zero.

    The context argument is incremented by the SMG$LIST_KEY_DEFS
    routine so that the next call returns the next key definition.

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       modify
    mechanism:    by descriptor

    Identifies the key whose value you are listing. The key-name
    argument is the address of a descriptor pointing to the key name.

 if-state

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Receives the state name which qualifies the next definition in
    the key definition table. The if-state argument is the address of
    a descriptor pointing to the string into which the state name is
    written.

 attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Attributes of this key definition. The attributes argument is the
    address of an unsigned longword into which the key attributes are
    written.

    Possible attributes are as follows:

    SMG$M_KEY_NOECHO   If set, this bit specifies that equiv_string
                       is not to be echoed when this key is pressed;
                       if clear, equiv_string is echoed. If SMG$M_
                       KEY_TERMINATE is not set, SMG$M_KEY_NOECHO is
                       ignored.
    SMG$M_KEY_         If set, this bit specifies that when this key
    TERMINATE          is pressed (as qualified by if-state), the
                       input line is complete and more characters
                       should not be accepted. If clear, more
                       characters may be accepted.
    SMG$M_KEY_         If set, and if state-string is specified, the
    LOCKSTATE          state name specified by state-string remains
                       at the current state until explicitly changed
                       by a subsequent keystroke whose definition
                       includes a state-string. If clear, the state
                       name specified by state-string remains in
                       effect only for the next defined keystroke.
    SMG$M_KEY_         If set, this bit specifies that this key
    PROTECTED          definition cannot be modified or deleted.
                       If clear, the key definition can be modified
                       or deleted.

 equivalence-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    The character string into which the equivalence string is written
    for the next key definition. The equivalence-string argument is
    the address of a descriptor pointing to the string into which
    equivalence-string is written.

 state-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    A string into which is written the new state name, if any, set by
    the next key definition. The state-string argument is the address
    of a descriptor pointing to the string into which the state name
    is written. If this key definition sets a state, the attributes
    flag SMG$M_KEY_SETSTATE is also set.

68  –  SMG$LIST_PASTEBOARD_ORDER

    The Return Pasting Information routine returns the pasteboard
    identifier of the pasteboard to which the specified virtual
    display is pasted. Optionally, the pasteboard row 1 and column
    1 (origins) of the virtual display are also returned.

    Format

      SMG$LIST_PASTEBOARD_ORDER  display-id ,context

                                 ,pasteboard-id [,pasteboard-row]

                                 [,pasteboard-column]

68.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

68.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display that is pasted. The
    display-id argument is the address of an unsigned longword
    containing the identifier of this display.

 context

    OpenVMS usage:context
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference

    Context to search. The context argument is the address of
    an unsigned longword containing this context. On the initial
    call, you should set context to zero. SMG$LIST_PASTEBOARD_ORDER
    updates the value of context. The updated value should then be
    passed on the subsequent calls to obtain the next pasted display
    identifier.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the identifier of the pasteboard on which the virtual
    display is pasted. The pasteboard-id argument is the address
    of an unsigned longword containing the identifier of this
    pasteboard.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Row of the pasteboard that contains row 1 of the specified
    virtual display. The optional pasteboard-row argument is the
    address of a signed longword containing the number of the
    pasteboard row that contains the first row of the virtual
    display.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Column of the pasteboard that contains column 1 of the specified
    virtual display. The optional pasteboard-column argument is
    the address of a signed longword containing the number of the
    pasteboard column that contains the first column of the virtual
    display.

69  –  SMG$LIST_PASTING_ORDER

    The Return Virtual Display Pasting Information routine returns
    the identifiers of the virtual displays pasted to a specified
    pasteboard. Optionally, the pasteboard row 1 and column 1
    (origins) of the virtual displays are also returned.

    Format

      SMG$LIST_PASTING_ORDER  pasteboard-id ,context ,display-id

                              [,pasteboard-row] [,pasteboard-column]

69.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

69.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the pasteboard on which the virtual display is
    pasted. The pasteboard-id argument is the address of an unsigned
    longword containing the identifier of this pasteboard.

 context

    OpenVMS usage:context
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference

    Context to search. The context argument is the address of an
    unsigned longword containing this context. On the initial call,
    you should set context to zero. SMG$LIST_PASTING_ORDER updates
    the value of context. The updated value should then be passed on
    subsequent calls to obtain the next pasted display identifier.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Identifier of the virtual display that is pasted. The display-id
    argument is the address of an unsigned longword containing the
    identifier of this virtual display.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Row of the pasteboard that contains row 1 of the specified
    virtual display. The optional pasteboard-row argument is the
    address of a signed longword containing the number of the
    pasteboard row that contains the first row of the virtual
    display.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Column of the pasteboard that contains column 1 of the specified
    virtual display. The optional pasteboard-column argument is
    the address of a signed longword containing the number of the
    pasteboard column that contains the first column of the virtual
    display.

70  –  SMG$LOAD_KEY_DEFS

    The Load Key Definitions routine loads a file of key definitions
    (DEFINE/KEY commands) into a specified key table.

    Format

      SMG$LOAD_KEY_DEFS  key-table-id ,filespec [,default-filespec]

                         [,flags]

70.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

70.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key table into which you are loading key
    definitions. The key-table-id argument is the address of an
    unsigned longword that contains the key table identifier.

    The key table identifier is returned by SMG$CREATE_KEY_TABLE.

 filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the file specification for the file of
    DEFINE/KEY commands. The filespec argument is the address of a
    descriptor pointing to the file specification.

 default-filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the default file specification for the file of
    DEFINE/KEY commands. The default-filespec argument is the address
    of a descriptor pointing to the default file specification. If
    omitted, the null string is used.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies whether filespec is to be
    treated as a logical name. The flags argument is the address
    of an unsigned longword that contains the flag. If set, flags
    specifies that filespec should be translated, but if this is not
    possible, that the null string be used.

71  –  SMG$LOAD_VIRTUAL_DISPLAY

    The Load a Virtual Display from a File routine creates a new
    virtual display and loads it with a virtual display saved with
    SMG$SAVE_VIRTUAL_DISPLAY.

    Format

      SMG$LOAD_VIRTUAL_DISPLAY  display-id [,filespec]

71.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

71.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Identifier of the new virtual display to be loaded with the
    saved virtual display. The display-id argument is the address
    of an unsigned longword into which is written the new display
    identifier.

 filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the file specification of the file in which the
    specified virtual display is saved. The filespec argument is a
    character string containing the file specification.

    If filespec is omitted, SMG$LOAD_VIRTUAL_DISPLAY searches for the
    default file specification SMGDISPLY.DAT.

72  –  SMG$MOVE_TEXT

    The Move Text from One Virtual Display to Another routine moves
    a rectangle of text from one virtual display to another virtual
    display. Given two points in opposite corners of the rectangle,
    SMG$MOVE_TEXT determines the desired width and height of the new
    virtual display.

    Format

      SMG$MOVE_TEXT  display-id ,top-left-row ,top-left-column

                     ,bottom-right-row ,bottom-right-column

                     ,display-id2 [,top-left-row2]

                     [,top-left-column2] [,flags]

72.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

72.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display from which text is to be moved. The
    display-id argument is the address of an unsigned longword that
    contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 top-left-row

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Top left row of the rectangle of text you want to move. The
    top-left-row argument is the address of an unsigned longword
    containing the row number.

 top-left-column

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Top left column of the rectangle of text you want to move. The
    top-left-column argument is the address of an unsigned longword
    containing the column number.

 bottom-right-row

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bottom right row of the rectangle of text you want to move. The
    bottom-right-row argument is the address of an unsigned longword
    containing the row number.

 bottom-right-column

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bottom right column of the rectangle of text you want to move.
    The bottom-right-column argument is the address of an unsigned
    longword containing the column number.

 display-id2

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to which the text is to be moved.
    The display-id2 argument is the address of an unsigned longword
    that contains the display identifier.

    The display identifier display-id2 is returned by SMG$CREATE_
    VIRTUAL_DISPLAY.

 top-left-row2

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Top left row of the rectangle that is the destination of the
    text you want to move. The optional top-left-row2 argument is the
    address of an unsigned longword containing the row number. If you
    do not specify a value for top-left-row2, the text is moved to
    the current virtual cursor row.

 top-left-column2

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Top left column of the rectangle that is the destination of the
    text you want to move. The optional top-left-column2 argument is
    the address of an unsigned longword containing the column number.
    If you do not specify a value for top-left-column2, the text is
    moved to the current virtual cursor column.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to take when moving
    the specified text. The flags argument is the address of an
    unsigned longword that contains the flag. The flags argument
    accepts the following values:

    SMG$M_TEXT_SAVE    Does not erase the text after moving.
    SMG$M_TEXT_ONLY    Moves the text but not the attributes.

73  –  SMG$MOVE_VIRTUAL_DISPLAY

    The Move Virtual Display routine relocates a virtual display on a
    pasteboard and preserves the pasting order.

    Format

      SMG$MOVE_VIRTUAL_DISPLAY  display-id ,pasteboard-id

                                ,pasteboard-row ,pasteboard-column

                                [,top-display-id]

73.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

73.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be moved. The display-id
    argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard on which the movement is to take place.
    The pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row of the pasteboard that is to contain row
    1 of the new location of the specified virtual display. The
    pasteboard-row argument is the address of a signed longword that
    contains the row number.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column of the pasteboard that is to contain column
    1 of the specified virtual display. The pasteboard-column
    argument is the address of a signed longword that contains the
    column number.

 top-display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display under which the moving display-
    id will be pasted. The top-display-id argument is the address
    of an unsigned longword containing the specified virtual display
    identifier. Note that the use of the top-display-id argument
    is only valid when the virtual display specified by display-id
    is not currently pasted and the virtual display specified by
    top-display-id is pasted.

74  –  SMG$NAME_TO_KEYCODE

    The Translate a Key Name into a Key Code routine translates the
    key name of a key on the keyboard into its associated key code.

    Format

      SMG$NAME_TO_KEYCODE  key-name ,key-code

74.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

74.2  –  Arguments

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the name of the key to be translated into a
    key code. The key-name argument is the address of a descriptor
    pointing to the character string containing the key name. The
    key-name argument is simply the name of the key (for example,
    COMMA, PERIOD, KP4, and so forth).

 key-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Specifies the key code into which key-name is to be translated.
    The key-code argument is the address of an unsigned word that
    contains the key code.

    The key code is returned by SMG$READ_COMPOSED_LINE, SMG$READ_
    KEYSTROKE, SMG$READ_STRING, and SMG$READ_VERIFY in the word-
    terminator-code argument.

75  –  SMG$PASTE_VIRTUAL_DISPLAY

    The Paste Virtual Display routine pastes a virtual display to a
    pasteboard.

    Format

      SMG$PASTE_VIRTUAL_DISPLAY  display-id ,pasteboard-id

                                 [,pasteboard-row]

                                 [,pasteboard-column]

                                 [,top-display-id]

75.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

75.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be pasted. The display-id
    argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to which the display is to be pasted.
    The pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row of the pasteboard that is to contain row 1 of
    the specified virtual display. The pasteboard-row argument is the
    address of a signed longword that contains the row number.

    If pasteboard-row is omitted, the last row to which the virtual
    display was pasted (on any pasteboard) is used. If pasteboard-row
    is omitted and the virtual display was not previously pasted,
    then row 1 is used.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column of the pasteboard that is to contain column
    1 of the specified virtual display. The pasteboard-column
    argument is the address of a signed longword that contains the
    column number.

    If pasteboard-column is omitted, the last column to which the
    virtual display was pasted (on any pasteboard) is used. If
    pasteboard-column is omitted and the virtual display was not
    previously pasted, then column 1 is used.

 top-display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display under which to paste display-
    id. The optional top-display-id argument is the address of an
    unsigned longword containing this identifier. Note that the
    virtual display specified by top-display-id must already be
    pasted.

76  –  SMG$POP_VIRTUAL_DISPLAY

    The Delete a Series of Virtual Displays routine deletes a
    specified virtual display and all displays that were pasted on
    the specified pasteboard on top of the specified virtual display.

    Format

      SMG$POP_VIRTUAL_DISPLAY  display-id ,pasteboard-id

76.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

76.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the lowest (first) virtual display to be deleted. The
    display-id argument is the address of an unsigned longword that
    contains the display identifier. All displays that are higher in
    the pasting order (that is, all displays that were pasted after
    the specified display) are deleted as well.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard on which the display deletions take
    place. The pasteboard-id argument is the address of an unsigned
    longword that contains the pasteboard identifier.

77  –  SMG$PRINT_PASTEBOARD

    The Print Pasteboard Using a Print Queue routine prints the
    contents of the specified pasteboard on a line printer.

    Format

      SMG$PRINT_PASTEBOARD  pasteboard-id [,queue-name] [,copies]

                            [,form-name]

77.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

77.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the pasteboard to be printed. The pasteboard-id
    argument is the address of an unsigned longword containing this
    identifier.

 queue-name

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional queue name. The queue-name argument is the address of a
    descriptor pointing to the queue name in which to enter the file.
    The default is SYS$PRINT.

 copies

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional number of copies to print. The copies argument is the
    address of a signed longword containing this number. The default
    and minimum is one copy.

 form-name

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional name of the form to use when printing. The form-name
    argument is the address of a descriptor pointing to the form
    name. The default is "DEFAULT".

78  –  SMG$PUT_CHARS

    The Write Characters to a Virtual Display routine writes
    characters in a virtual display with the text you specify.

    Format

      SMG$PUT_CHARS  display-id ,text [,start-row]

                     [,start-column] [,flags] [,rendition-set]

                     [,rendition-complement] [,character-set]

78.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

78.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Characters to be written to the virtual display. The text
    argument is the address of a descriptor pointing to the character
    string.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which output begins. If start-row is
    omitted, output begins on the current row. The start-row argument
    is the address of a signed longword that contains the row number.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which output begins. If start-column is
    omitted, output begins on the current column. The start-column
    argument is the address of a signed longword that contains the
    column number.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to take before the
    specified text is output. The flags argument is the address of
    an unsigned longword bit mask that contains the flag. The flags
    argument accepts the following values:

    0                  Does not erase line (the default).
    SMG$M_ERASE_TO_    Erases the remaining part of the line.
    EOL
    SMG$M_ERASE_LINE   Erases the entire line.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

79  –  SMG$PUT_CHARS_HIGHWIDE

    The Write Double-Height Double-Width Characters routine writes
    double-height, double-width (highwide) characters to a virtual
    display.

    Format

      SMG$PUT_CHARS_HIGHWIDE  display-id ,text [,start-row]

                              [,start-column] [,rendition-set]

                              [,rendition-complement]

                              [,character-set]

79.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

79.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Characters to be written to the virtual display. The text
    argument is the address of a descriptor pointing to the text.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the line at which output begins. The start-row argument
    is the address of a signed longword that contains the line
    number. If start-row is omitted or if it is equal to zero, output
    begins on the current line.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which output begins. The start-column
    argument is the address of a signed longword that contains the
    column number. If start-column is omitted or if it is equal to
    zero, output begins on the current column.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

80  –  SMG$PUT_CHARS_MULTI

    The Put Text with Multiple Renditions to Display routine writes
    text with multiple renditions to the virtual display.

    Format

      SMG$PUT_CHARS_MULTI  display-id ,text [,start-row]

                           [,start-column] [,flags]

                           [,rendition-string]

                           [,rendition-complement] [,character-set]

80.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

80.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display to be affected. The display-id
    argument is the address of an unsigned longword that contains
    this identifier.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Text to be output. The text argument is the address of a
    descriptor pointing to the output string.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional row number at which to start output. The start-row
    argument is the address of a signed longword containing this
    number. If omitted, the current row number is used.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional column number at which to start output. The start-column
    argument is the address of a signed longword containing this
    number. If omitted, the current column number is used.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to take before the
    specified text is output. The flags argument is the address of
    an unsigned longword that contains the flag. The flags argument
    accepts the following values:

    0                  Does not erase line (the default).
    SMG$M_ERASE_TO_    Erases the remaining part of the line.
    EOL
    SMG$M_ERASE_LINE   Erases the entire line.

 rendition-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional bit mask string that controls the video attributes.
    The rendition-string argument is the address of a descriptor
    pointing to the bit mask string. Each attribute set causes the
    corresponding attribute to be set for the corresponding byte in
    the text string in the display. The following attributes can be
    specified for each byte using the rendition-string argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.

 rendition-complement

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional bit mask string that controls the video attributes. The
    rendition-complement is the address of a descriptor pointing to
    the bit mask string. Each attribute set causes the corresponding
    attribute to be complemented for the corresponding byte in the
    text string in the display.

    If the same bit in the same byte is specified in both the
    rendition-string and rendition-complement arguments, rendition-
    string is evaluated first, followed by rendition-complement.
    By using these two parameters together, you can independently
    control each attribute in a single routine call. On a single-
    attribute basis, you can cause the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

81  –  SMG$PUT_CHARS_WIDE

    The Write Double-Width Characters routine writes double-width
    characters to a virtual display.

    Format

      SMG$PUT_CHARS_WIDE  display-id ,text [,start-row]

                          [,start-column] [,rendition-set]

                          [,rendition-complement] [,character-set]

81.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

81.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Characters to be written to the virtual display. The text
    argument is the address of a descriptor pointing to the text.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the line at which output begins. The start-row argument
    is the address of a signed longword that contains the line
    number. If start-row is omitted, output begins on the current
    line.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which output begins. If start-column is
    omitted, output begins on the current column. The start-column
    argument is the address of a signed longword that contains the
    column number.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 character-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (the default) and SMG$C_SPEC_GRAPHICS.

82  –  SMG$PUT_HELP_TEXT

    The Output Help Text to the Display routine retrieves and outputs
    the help text for the specified topic in the virtual display
    provided.

    Format

      SMG$PUT_HELP_TEXT  display-id [,keyboard-id] [,help-topic]

                         [,help-library] [,rendition-set]

                         [,rendition-complement]

82.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

82.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display to which the help text
    is written. The display-id argument is the address of an unsigned
    longword that contains this virtual display identifier. Note that
    this display must be pasted and cannot be occluded or batched.

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional keyboard identifier of the virtual keyboard used for
    input. The keyboard-id argument is the address of an unsigned
    longword that contains this virtual keyboard identifier. If the
    keyboard-id parameter is not specified, prompting is disabled.

 help-topic

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional help topic. The help-topic argument is the address of a
    descriptor pointing to the help topic string.

 help-library

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional help library name. The help-library argument is the
    address of a descriptor pointing to the help library name. The
    default is SYS$HELP:HELPLIB.HLB.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

83  –  SMG$PUT_LINE

    The Write Line to Virtual Display routine writes a line of text
    to a virtual display, beginning at the current virtual cursor
    position.

    Format

      SMG$PUT_LINE  display-id ,text [,line-advance] [,rendition-set]

                    [,rendition-complement] [,flags] [,character-set]

                    [,direction]

83.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

83.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    The characters to be written to the virtual display. The text
    argument is the address of a descriptor pointing to the text.

 line-advance

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of lines to advance after output. The
    line-advance argument is the address of a signed longword that
    contains the number of lines to advance. The default is 1. If you
    specify 0 for line-advance, SMG$PUT_LINE overwrites any existing
    text.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to be taken if
    the text does not fit on the line. The flags argument is the
    address of an unsigned longword that contains the flag. The flags
    argument accepts the following values:

    0                  Does not wrap (default).
    SMG$M_WRAP_CHAR    Wraps at the last character on the line.
    SMG$M_WRAP_WORD    Wraps at the last space on the line.

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (default) and SMG$C_SPEC_GRAPHICS.

 direction

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the direction to scroll, if scrolling is necessary.
    The direction argument is the address of a longword bit mask that
    contains the direction code. Valid values are SMG$M_UP (default)
    and SMG$M_DOWN.

84  –  SMG$PUT_LINE_HIGHWIDE

    The Write Double-Height and Double-Width Line routine writes
    a line of text with double-height and double-width (highwide)
    characters.

    Format

      SMG$PUT_LINE_HIGHWIDE  display-id ,text [,line-advance]

                             [,rendition-set] [,rendition-complement]

                             [,flags] [,character-set]

84.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

84.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier. The display-id argument is the address of
    an unsigned longword that contains the display identifier of the
    virtual display.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Text to be output. The text argument is the address of the
    descriptor pointing to the output string.

 line-advance

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Number of lines to advance. The line-advance argument is the
    address of a signed longword that contains the number of lines to
    advance after the output. This argument is optional.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to be taken if
    the text does not fit on the line. The flags argument is the
    address of an unsigned longword that contains the flag. The flags
    argument accepts the following values:

    0                  Does not wrap (default).
    SMG$M_WRAP_CHAR    Wraps at the last character on the line.
    SMG$M_WRAP_WORD    Wraps at the last space on the line.

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (default), and SMG$C_SPEC_GRAPHICS.

85  –  SMG$PUT_LINE_MULTI

    The Write Line with Multiple Renditions to Display routine writes
    lines with multiple renditions to the virtual display, optionally
    followed by cursor movement sequences.

    Format

      SMG$PUT_LINE_MULTI  display-id ,text ,rendition-string

                          [,rendition-complement] [,line-advance]

                          [,flags] [,direction] [,character-set]

85.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

85.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display to be affected. The display-id
    argument is the address of an unsigned longword that contains
    this identifier.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Text to be output. The text argument is the address of a
    descriptor pointing to the output string.

 rendition-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional bit mask string that controls the video attributes.
    The rendition-string argument is the address of a descriptor
    pointing to the bit mask string. Each attribute set causes the
    corresponding attribute to be set for the corresponding byte in
    the text string in the display. The following attributes can be
    specified for each byte using the rendition-string argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.

 rendition-complement

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional bit mask string that controls the video attributes. The
    rendition-complement is the address of a descriptor pointing to
    the bit mask string. Each attribute set causes the corresponding
    attribute to be complemented for the corresponding byte in the
    text string in the display.

    If the same bit in the same byte is specified in both the
    rendition-string and rendition-complement arguments, rendition-
    string is evaluated first, followed by rendition-complement.
    By using these two parameters together, you can independently
    control each attribute in a single routine call. On a single-
    attribute basis, you can cause the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 line-advance

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional number of lines to advance after output. The line-
    advance argument is the address of a signed longword containing
    this number.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to take if the text
    does not fit on the line. The flags argument is the address of
    an unsigned longword that contains the flag. The flags argument
    accepts the following values:

    0                  Does not wrap (default).
    SMG$M_WRAP_CHAR    Wraps at the last character on the line.
    SMG$M_WRAP_WORD    Wraps at the last space on the line.

 direction

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional direction specifier. The direction argument is the
    address of an unsigned longword that contains the direction code
    specifying the scrolling direction, if scrolling is necessary.
    Valid values are SMG$M_UP (default) and SMG$M_DOWN.

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (default) and SMG$C_SPEC_GRAPHICS.

86  –  SMG$PUT_LINE_WIDE

    The Write Double-Width Line routine writes a line of double-width
    text to a virtual display.

    Format

      SMG$PUT_LINE_WIDE  display-id ,text [,line-advance]

                         [,rendition-set] [,rendition-complement]

                         [,flags] [,character-set]

86.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

86.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display affected. The display-id argument
    is the address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Characters to be written to the virtual display. The text
    argument is the address of a descriptor pointing to the text.

 line-advance

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of lines to advance after output. The line-
    advance argument is the address of a signed longword integer that
    contains the number of lines to advance.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies the action to take if the text
    does not fit on the line. The flags argument is the address of
    an unsigned longword that contains the flag. The flags argument
    accepts the following values:

    0                  Does not wrap (default).
    SMG$M_WRAP_CHAR    Wraps at the last character on the line.
    SMG$M_WRAP_WORD    Wraps at the last space on the line.

 character-set

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the default character set for all text in this virtual
    display. The character-set argument is the address of an unsigned
    longword that contains the character set code. Valid values are
    SMG$C_ASCII (default), and SMG$C_SPEC_GRAPHICS.

87  –  SMG$PUT_PASTEBOARD

    The Output Pasteboard Using Routine routine accesses the contents
    of a pasteboard.

    Format

      SMG$PUT_PASTEBOARD  pasteboard-id ,action-routine

                          [,user-argument] [,flags]

87.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

87.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Pasteboard identifier. The pasteboard-id argument is the address
    of an unsigned longword containing the pasteboard identifier.

 action-routine

    OpenVMS usage:procedure
    type:         procedure value
    access:       read only
    mechanism:    by value

    Pasteboard routine to be called. The action-routine argument
    is the address of the routine's procedure value. Because SMG$
    cannot determine the resulting type of device, device-independent
    characters (plus sign [+], vertical bar [|]) are used to draw
    lines.

    The action-routine accepts two arguments:

    o  A pointer to a string descriptor describing the line in the
       pasteboard.

    o  The user argument, or 0, passed by value.

    The action routine should return a success status (low bit set)
    as a return value, otherwise SMG$PUT_PASTEBOARD will terminate,
    and the status value will be returned as the return value for
    SMG$PUT_PASTEBOARD.

 user-argument

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    The argument you supply to the action-routine. The user-argument
    argument is an unsigned longword that contains the value to be
    passed to the action routine. If user-argument is omitted, a 0
    will be passed as the user argument.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies whether a form feed is passed
    to the action routine. The flags argument is the address of an
    unsigned longword that contains the flag. Valid values for flags
    are as follows:

    0                  No form-feed line is sent.
    SMG$M_FORM_FEED    The first line passed to the action routine is
                       a form feed.

88  –  SMG$PUT_STATUS_LINE

    The Output Line of Text to Hardware Status Line routine outputs a
    line of text to the hardware status line.

    Format

      SMG$PUT_STATUS_LINE  pasteboard-id ,text

88.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

88.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard containing the hardware status line.
    The pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

 text

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    The characters to be written to the hardware status line. The
    text argument is the address of a descriptor pointing to the
    text.

89  –  SMG$READ_COMPOSED_LINE

    The Read Composed Line routine reads a line of input composed of
    normal keystrokes and equivalence strings.

    Format

      SMG$READ_COMPOSED_LINE  keyboard-id [,key-table-id]

                              ,resultant-string [,prompt-string]

                              [,resultant-length] [,display-id]

                              [,flags] [,initial-string]

                              [,timeout] [,rendition-set]

                              [,rendition-complement]

                              [,word-terminator-code]

89.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

89.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual keyboard from which input is to be read.
    The keyboard-id argument is the address of an unsigned longword
    that contains the keyboard identifier.

    The keyboard identifier is returned by SMG$CREATE_VIRTUAL_
    KEYBOARD.

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key definition table to be used for translating
    keystrokes. The key-table-id argument is the address of an
    unsigned longword that contains the key definition table
    identifier.

    The key definition table identifier is returned by SMG$CREATE_
    KEY_TABLE.

 resultant-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    String into which SMG$READ_COMPOSED_LINE writes the complete
    composed line. The resultant-string argument is the address of a
    descriptor pointing to the string in which the composed line is
    written.

 prompt-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String used to prompt for the read operation. The prompt-string
    argument is the address of a descriptor pointing to the prompt
    string.

 resultant-length

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the number of characters read or the maximum length
    of resultant-string, whichever is less. The resultant-length
    argument is the address of an unsigned longword into which
    SMG$READ_COMPOSED_LINE writes the number of characters read.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier. The display-id argument is the address of
    an unsigned longword that contains the display identifier.
    This argument is optional only if you are not using the Screen
    Management Facility's output routines.

    If you are using the Screen Management Facility input and output
    routines, this argument specifies the virtual display in which
    the input is to occur. The virtual display specified must be
    pasted to the same pasteboard as specified by keyboard-id and
    must not be occluded. You cannot accept input from an occluded
    area of the virtual display.

    In the case of multiple virtual displays, each virtual display
    has an associated virtual cursor position. At the same time,
    there is a single physical cursor position corresponding to
    the current location of the physical cursor. If the display-id
    argument is specified, the read begins at the current virtual
    cursor position in the specified virtual display. If the display
    identifier is omitted, the read begins in the current physical
    cursor position. The length of the prompt-string plus the key
    entered is limited to the number of visible columns in the
    display.

                                   NOTE

       This virtual display must be pasted in column 1 and may
       not have any other virtual displays to its right. This
       restriction is necessary because otherwise any occurrence
       of Ctrl/R or Ctrl/U would blank out the entire line,
       including any output pasted to the right. To circumvent
       this restriction, you can use SMG$REPAINT_LINE whenever a
       Ctrl/R or Ctrl/U is encountered.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies enabled keys. The flags argument
    is the address of an unsigned longword that contains the flag.
    Valid values for flags are as follows:

    0                  Line editing is enabled and function keys (F6
                       to F14) cannot be used.
    SMG$M_FUNC_KEYS    Function keys (F6 to F14) may be used and line
                       editing is disabled.
    SMG$M_NOKEEP       Lines entered in the recall buffer are not
                       saved.
    SMG$M_NORECALL     Line recall is disabled for this I/O only.

    Because the OpenVMS terminal driver uses the function keys (F6 to
    F14) for line editing on some terminals, you cannot have function
    keys and line editing enabled at the same time.

 initial-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional string that contains the initial characters of the
    field. The initial-string argument is the address of a descriptor
    pointing to the string. The string is written to the display in
    the input area, as if it had been entered from the keyboard. It
    may be edited in the usual way (provided that the SMG$M_FUNC_KEYS
    flag is not set).

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional timeout count. The timeout argument is the address of
    a signed longword containing the timeout count. If the timeout
    argument is specified, all characters entered before the timeout
    are returned in the buffer. If the timeout argument is omitted,
    characters are returned in the buffer until a terminator is
    encountered.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Key terminator code. The word-terminator-code argument is an
    unsigned word into which is written a code indicating what
    character or key terminated the read. Key terminator codes are
    of the form SMG$K_TRM_keyname.

90  –  SMG$READ_FROM_DISPLAY

    The Read Text from Display routine reads a line of text from a
    virtual display.

    Format

      SMG$READ_FROM_DISPLAY  display-id ,resultant-string

                             [,terminator-string] [,start-row]

                             [,rendition-string]

90.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

90.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display from which text is read. The
    display-id argument is the address of an unsigned longword that
    contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 resultant-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    String into which SMG$READ_FROM_DISPLAY writes the information
    read from the virtual display. The resultant-string argument is
    the address of a descriptor pointing to the string into which the
    string is written.

 terminator-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing a terminator or terminators that end the
    backward search, thus determining the starting position of
    the returned string. The terminator-string argument is the
    address of a descriptor pointing to the string of terminators.
    If terminator-string is omitted, no back searching is performed;
    the returned string starts with the character at the current
    cursor position.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    The start-row argument is the address of a signed longword that
    contains the row of the virtual display to read from. This is an
    optional argument.

 rendition-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Optional bit mask string that controls the video attributes.
    The rendition-string argument is the address of a descriptor
    pointing to the bit mask string. Each attribute set causes the
    corresponding attribute to be set for the corresponding byte in
    the text string in the display. The following attributes can be
    specified for each byte using the rendition-string argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_          Specifies invisible characters; that is, the
    INVISIBLE       characters exist in the virtual display but do
                    not appear on the pasteboard.

91  –  SMG$READ_KEYSTROKE

    The Read a Single Character routine reads a keystroke and returns
    that keystroke's terminator code.

    Format

      SMG$READ_KEYSTROKE  keyboard-id ,word-terminator-code

                          [,prompt-string] [,timeout] [,display-id]

                          [,rendition-set] [,rendition-complement]

91.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

91.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is an unsigned
    longword containing the identifier of the virtual keyboard from
    which to read.

    You can create a virtual keyboard by calling the SMG$CREATE_
    VIRTUAL_KEYBOARD routine.

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Key terminator code. The word-terminator-code argument is an
    unsigned word into which is written a code indicating what
    character or key terminated the read. Key terminator codes are
    of the form SMG$K_TRM_keyname.

 prompt-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Prompt string. The prompt-string argument is an optional string
    used as the prompt for the read operation.

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Timeout count. The timeout argument is optional. If specified,
    any character typed before the timeout is returned in the buffer.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier. The optional display-id argument is the
    address of an unsigned longword that contains the identifier
    of the virtual display in which the read is to be performed.
    If the optional prompt-string argument is specified while there
    are multiple virtual displays pasted, the display-id argument is
    required to determine in which virtual display the prompt string
    will be written. If the prompt-string argument is not specified,
    do not specify the display-id argument.

    In the case of multiple virtual displays, each virtual display
    has an associated virtual cursor position. At the same time,
    there is a single physical cursor position corresponding to
    the current location of the physical cursor. If the display-id
    argument is specified, the read begins at the current virtual
    cursor position in the specified virtual display. If display-
    id is omitted, the read begins in the current physical cursor
    position. Note that the length of the prompt-string plus the
    key entered is limited to the number of visible columns in the
    display.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can
    be specified with the rendition-set argument can be complemented
    with the rendition-complement argument. The display-id argument
    must be specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

92  –  SMG$READ_LOCATOR

    The Read Locator Information routine reads information from a
    DECwindows workstation terminal's locator device (such as a mouse
    or tablet).

    Format

      SMG$READ_LOCATOR  keyboard-id ,row-number ,column-number

                        ,word-terminator-code [,timeout]

                        [,parse-routine]

92.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

92.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is the address of
    an unsigned longword containing the identifier of the desired
    virtual keyboard.

    You can create a virtual keyboard by calling the SMG$CREATE_
    VIRTUAL_KEYBOARD routine.

 row-number

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Row number to which the locator is pointing. The row-number
    argument is the address of an unsigned word that contains the row
    number of the virtual display at which the locaor is pointing.

 column-number

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Column number to which the locator is pointing. The column-number
    argument is the address of an unsigned word that contains the
    column number of the virtual display at which the read is to be
    performed.

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Locator terminator code. The word-terminator-code argument is
    the address of an unsigned word into which is written a code
    indicating what locator button terminated the read. Locator
    terminator codes are of the form SMG$K_TRM_keyname.

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Timeout count. The optional timeout argument is the address of a
    signed longword that contains a number of seconds. If specified,
    any character typed before the timeout is returned in the buffer.

 parse-routine

    OpenVMS usage:longword_unsigned
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Address of a user-supplied parse routine that is called to parse
    the locator input. The optional parse-routine argument is the
    address of an unsigned longword that contains the parse routine.
    If this argument is not specified, ANSI locator input is assumed.

93  –  SMG$READ_STRING

    The Read String routine reads a string from a virtual keyboard.

    Format

      SMG$READ_STRING  keyboard-id ,resultant-string [,prompt-string]

                       [,maximum-length] [,modifiers] [,timeout]

                       [,terminator-set] [,resultant-length]

                       [,word-terminator-code] [,display-id]

                       [,initial-string] [,rendition-set]

                       [,rendition-complement] [,terminator-string]

93.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

93.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual keyboard from which input is to be read.
    The keyboard-id argument is the address of an unsigned longword
    that contains the keyboard identifier.

    The keyboard identifier is returned by SMG$CREATE_VIRTUAL_
    KEYBOARD.

 resultant-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    String into which the input line is written. The resultant-string
    argument is the address of a descriptor pointing to the string
    into which the text is written.

 prompt-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String used to prompt for the read operation. The prompt-string
    argument is the address of a descriptor pointing to the prompt
    string.

 maximum-length

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the maximum number of characters to be read. The
    maximum-length argument is the address of a signed longword that
    contains the maximum number of characters to be read. The maximum
    valid value for this argument is 512. If omitted, 512 is the
    default.

 modifiers

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies optional behavior. The modifiers
    argument is the address of an unsigned longword that contains the
    flag.

    Valid values for modifiers are as follows:

    TRM$M_TM_CVTLOW    Converts lowercase characters to uppercase
                       characters.
    TRM$M_TM_NOECHO    Characters entered are not echoed on the
                       screen.
    TRM$M_TM_NOEDIT    Advanced editing is disabled for this read
                       operation.
    TRM$M_TM_NORECALL  Line recall is disabled.
    TRM$M_TM_PURGE     Type-ahead buffer is purged before read is
                       begun.
    TRM$M_TM_          Termination character, if any, is not
    TRMNOECHO          displayed.

    The TRM$ symbols are defined by the $TRMDEF macro/module in
    system symbol libraries supplied by OpenVMS. See the terminal
    driver section of the OpenVMS I/O User's Reference Manual for
    more information on modifiers for read operations.

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of seconds allowed between the time the
    prompt is issued and the completion of the input operation.
    The timeout argument is the address of a signed longword that
    contains the timeout value.

    If timeout is specified, all characters typed before the
    expiration time or until a terminate key is entered are returned
    in resultant-string. If omitted, the input operation remains
    active until a terminator is typed.

 terminator-set

    OpenVMS usage:unspecified
    type:         unspecified
    access:       read only
    mechanism:    by descriptor, fixed length

    Either a mask that specifies which characters are to be treated
    as terminators (short form) or a descriptor pointing to such a
    mask (long form). The terminator-set argument is the address of a
    descriptor pointing to the mask.

    If you want to use terminators with ASCII values in the range 0
    to 31, use the short form, which consists of two longwords. The
    first longword is zero, and the second longword is a terminator
    character bit mask. You create this mask by setting the bit that
    corresponds to the ASCII value of the desired terminator. For
    example, to specify that Ctrl/A (ASCII value 1) is a terminator,
    you set bit 1 in the terminator-set mask.

    To use terminators with ASCII values outside the range 0 to 31,
    use the long form. First create a descriptor of this form:

    31                            16 15                            0
    ----------------------------------------------------------------
    |                               |                              |
    |           (not used)          |    mask size in bytes        |
    |                               |                              |
    ----------------------------------------------------------------
    |                                                              |
    |                        address of mask                       |
    |                                                              |
    ----------------------------------------------------------------

    The mask itself has the same format as that of the short form;
    however, the long form allows the use of a more comprehensive set
    of terminator characters. For example, a mask size of 16 bytes
    allows any 7-bit ASCII character to be set as a terminator, while
    a mask size of 32 bytes allows any 8-bit character to be set as a
    terminator. Any mask size between 1 and 32 bytes is acceptable.

    If the terminator mask is all zeros, there are no specified
    terminators. In that case, the read terminates when the number
    of characters specified in maximum-length has been transferred or
    when timeout is reached.

    If the terminator-set argument is omitted, the set of terminators
    is the OpenVMS default terminator set. For more information, see
    the OpenVMS I/O User's Reference Manual.

 resultant-length

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the number of characters read or the maximum size
    of resultant-string, whichever is less. The resultant-length
    argument is the address of an unsigned word into which is written
    the number of characters read or the maximum size.

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Key terminator code. The word-terminator-code argument is an
    unsigned word into which is written a code indicating what
    character or key terminated the read. Key terminator codes are
    of the form SMG$K_TRM_keyname.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier. The display-id argument is the address of
    an unsigned longword that contains the display identifier.
    This argument is optional only if you are not using the Screen
    Management Facility's output routines.

    If you are using the Screen Management Facility input and output
    routines, this argument specifies the virtual display in which
    the input is to occur. The virtual display specified must be
    pasted to the same pasteboard as specified by keyboard-id and
    must not be occluded. You cannot accept input from an occluded
    area of the virtual display.

    In the case of multiple virtual displays, each virtual display
    has an associated virtual cursor position. At the same time,
    there is a single physical cursor position corresponding to
    the current location of the physical cursor. If the display-id
    argument is specified, the read begins at the current virtual
    cursor position in the specified virtual display. If display-
    id is omitted, the read begins in the current physical cursor
    position. Note that the length of the prompt-string plus the
    key entered is limited to the number of visible columns in the
    display.

                                   NOTE

       This virtual display must be pasted in column 1 and may
       not have any other virtual displays to its right. This
       restriction applies because otherwise the occurrence of a
       Ctrl/R or Ctrl/U would cause the entire line to be blanked,
       including any output to the right. To circumvent this
       restriction, you may use SMG$REPAINT_LINE to repaint the
       line when a Ctrl/R or Ctrl/U is detected.

 initial-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Initial character string. The initial-string argument is the
    address of a descriptor pointing to the optional string that
    contains the initial characters of the field. The string is
    written to the display in the input area, as if it had been
    entered from the keyboard. It may be edited in the usual
    way (provided that TRM$M_TM_NOEDIT is not set). It must be
    shorter than maximum-length, otherwise SMG$READ_STRING returns
    immediately without accepting any keyboard input.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK      Displays blinking characters.
    SMG$M_BOLD       Displays characters in higher-than-normal
                     intensity (bolded).
    SMG$M_REVERSE    Displays characters in reverse video; that is,
                     using the opposite default rendition of the
                     virtual display.
    SMG$M_UNDERLINE  Displays underlined characters.
    SMG$M_INVISIBLE  Specifies invisible characters; that is, the
                     characters exist in the virtual display but do
                     not appear on the pasteboard.
    SMG$M_USER1      Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to
    be complemented in the display. All of the attributes that can be
    specified with the rendition-set argument can be complemented
    with rendition-complement. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement let
    the user control the attributes of the virtual display in which
    the read is done. The rendition-set argument sets certain virtual
    display attributes, while rendition-complement complements
    these attributes. If the same bit is specified in both the
    rendition-set and rendition-complement parameters, rendition-
    set is evaluated first, followed by rendition-complement.
    By using these two parameters together, the user can control
    each virtual display attribute in a single procedure call.
    On a single-attribute basis, the user can cause the following
    transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of current setting
    1    1          Attribute off

 terminator-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Characters that terminate I/O. The optional terminator-string
    argument is the address of a descriptor pointing to the character
    string containing the terminating characters. The terminator-
    string argument returns the actual terminating characters, not
    the key that was pressed to terminate the I/O.

94  –  SMG$READ_VERIFY

    The Read and Verify a String routine reads a sequence of
    characters and verifies the sequence.

    Format

      SMG$READ_VERIFY  keyboard-id ,resultant-string ,initial-string

                       ,picture-string ,fill-character

                       ,clear-character [,prompt-string]

                       [,modifiers] [,timeout] [,placeholder-arg]

                       [,initial-offset] [,word-terminator-code]

                       [,display-id] [,alternate-echo-string]

                       [,alternate-display-id] [,rendition-set]

                       [,rendition-complement] [,input-length]

94.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

94.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is the address of
    an unsigned longword containing the identifier of the virtual
    keyboard from which to read.

    The virtual keyboard is created by calling the SMG$CREATE_
    VIRTUAL_KEYBOARD routine.

 resultant-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Output string into which SMG$READ_VERIFY writes the characters
    that are read. The resultant-string argument is the address of a
    descriptor pointing to this output string.

 initial-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Input string that contains the initial characters of the field.
    The initial-string argument is the address of a descriptor
    pointing to the input string.

 picture-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String that contains a picture of what the field is to look
    like. The picture-string argument is the address of a descriptor
    pointing to the picture string.

    For more information on the legal values for the picture string,
    see the terminal driver section of the OpenVMS I/O User's
    Reference Manual.

 fill-character

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Fill character. The fill-character argument is the address of a
    descriptor pointing to the string that contains the character to
    be used as a fill character in the initial-string argument.

 clear-character

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Clear character. The clear-character argument is the address of
    a descriptor pointing to the string that contains the character
    to be displayed for each occurrence of fill-character in initial-
    string.

 prompt-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Prompt string. The prompt-string argument is the address of a
    descriptor pointing to the string that SMG$READ_VERIFY uses as
    the prompt for the read operation. This is an optional argument.

 modifiers

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Modifiers. The modifiers argument is a longword bit mask that
    specifies optional behavior. The bits defined are the same as
    for the $QIO item-list entry TRM$_MODIFIERS. This is an optional
    argument.

    Valid values for modifiers are as follows:

    TRM$M_TM_AUTO_TAB  Field is full when last character is entered.
    TRM$M_TM_CVTLOW    Converts lowercase characters to uppercase
                       characters.
    TRM$M_TM_NOECHO    Characters entered are not echoed on the
                       screen.
    TRM$M_TM_NOEDIT    Advanced editing is disabled for this read
                       operation.
    TRM$M_TM_NORECALL  Line recall is disabled.
    TRM$M_TM_PURGE     Type-ahead buffer is purged before read is
                       begun.
    TRM$M_TM_R_JUST    Input is right justified.
    TRM$M_TM_          Termination character, if any, is not
    TRMNOECHO          displayed.

    The TRM$ symbols are defined by the $TRMDEF macro/module in
    system symbol libraries supplied by OpenVMS. See the terminal
    driver section of the OpenVMS I/O User's Reference Manual for
    more information on modifiers for read operations.

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Timeout count. The timeout argument is the address of a signed
    longword that contains the timeout value. The timeout argument is
    optional. If timeout is specified, all characters typed in before
    the timeout or before a terminator is entered are returned in
    the buffer. If timeout is omitted, characters are returned in the
    buffer until a terminator is seen.

 placeholder-arg

    OpenVMS usage:unspecified
    type:         unspecified
    access:       read only
    mechanism:    unspecified

    Placeholder argument. The OpenVMS terminal driver ignores this
    argument when performing a read-verify.

 initial-offset

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Input string offset. The initial-offset argument is the address
    of a signed longword that contains the number of characters (from
    the initial-string argument) to output after the prompt before
    waiting for input.

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Key terminator code. The word-terminator-code argument is an
    unsigned word into which SMG$READ_VERIFY writes a code indicating
    what character or key terminated the read. Key terminator codes
    are of the form SMG$K_TRM_keyname.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier. The optional display-id argument is the
    address of an unsigned longword that contains the identifier
    of the virtual display in which the read is to be performed.

    If display-id is specified, SMG$READ_VERIFY begins the read at
    the current virtual cursor position in that virtual display. If
    omitted, the read begins in the current physical cursor position.
    You cannot accept input from an occluded area of the virtual
    display.

    In the case of multiple virtual displays, each virtual display
    has an associated virtual cursor position. At the same time,
    there is a single physical cursor position corresponding to
    the current location of the physical cursor. If the display-id
    argument is specified, the read begins at the current virtual
    cursor position in the specified virtual display. If omitted,
    the read begins in the current physical cursor position. Note
    that the length of the prompt-string, the initial-offset, and the
    string entered is limited to the number of visible columns in the
    display.

 alternate-echo-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Alternate echo string. The alternate-echo-string argument is a
    string that is printed after the first character is typed during
    the read operation. This is an optional argument.

 alternate-display-id

    OpenVMS usage:identifier
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Alternate display identifier. The alternate-display-id is a
    signed longword containing the identifier of the virtual display
    in which the alternate-echo-string argument is to be printed.
    This is an optional argument. If specified, the output begins
    at the current virtual cursor position in that virtual display.
    If omitted, the value of the display-id argument is used as the
    default. If display-id is not specified, the output begins in the
    current physical cursor position.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK      Displays blinking characters.
    SMG$M_BOLD       Displays characters in higher-than-normal
                     intensity.
    SMG$M_REVERSE    Displays characters in reverse video; that is,
                     using the opposite of the default rendition of
                     the virtual display.
    SMG$M_UNDERLINE  Displays underlined characters.
    SMG$M_INVISIBLE  Specifies invisible characters; that is, the
                     characters exist in the virtual display but do
                     not appear on the pasteboard.
    SMG$M_USER1      Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement let
    the user control the attributes of the virtual display in which
    the read is done. The rendition-set argument sets certain virtual
    display attributes, while rendition-complement complements
    these attributes. If the same bit is specified in both the
    rendition-set and rendition-complement parameters, rendition-
    set is evaluated first, followed by rendition-complement. By
    using these two parameters together, the user can control each
    virtual display attribute in a single procedure call. On a
    single-attribute basis, the user can cause the transformations
    shown in the following table.

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

 input-length

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Number of characters entered by the user. The input-length
    argument is the address of an unsigned word containing this
    number.

95  –  SMG$REMOVE_LINE

    The Remove a Line from a Virtual Display routine removes a
    line from a specified virtual display that was drawn with the
    SMG$DRAW_LINE or SMG$DRAW_RECTANGLE routines.

    Format

      SMG$REMOVE_LINE  display-id ,start-row ,start-column ,end-row

                       ,end-column

95.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

95.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display from which the line is to be
    removed. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which to begin removing the line. The start-
    row argument is the address of a signed longword that contains
    the row number.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which to begin removing the line. The
    start-column argument is the address of a signed longword that
    contains the column number.

 end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row at which the line to be removed ends. The end-
    row argument is the address of a signed longword that contains
    the row number.

 end-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column at which the line to be removed ends. The
    end-column argument is the address of a signed longword that
    contains the column number.

96  –  SMG$REPAINT_LINE

    The Repaint One or More Lines on the Current Pasteboard routine
    repaints a series of lines on the current pasteboard.

    Format

      SMG$REPAINT_LINE  pasteboard-id ,start-row [,number-of-lines]

96.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

96.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Pasteboard identifier. The pasteboard-id argument is the address
    of the pasteboard associated with the physical screen to be
    repainted.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Starting row number. The start-row argument is the address of the
    pasteboard row number to start repainting.

 number-of-lines

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Number of contiguous lines to repaint. The number-of-lines
    argument is the address of a signed longword containing the
    number of lines. This argument is optional. If not specified,
    the default is 1.

97  –  SMG$REPAINT_SCREEN

    The Repaint Current Pasteboard routine repaints the specified
    pasteboard after non-SMG$ I/O has occurred.

    Format

      SMG$REPAINT_SCREEN  pasteboard-id

97.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

97.2  –  Argument

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be repainted. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

98  –  SMG$REPASTE_VIRTUAL_DISPLAY

    The Repaste Virtual Display routine moves a virtual display
    to a new position on the pasteboard. The pasting order is not
    preserved.

    Format

      SMG$REPASTE_VIRTUAL_DISPLAY  display-id ,pasteboard-id

                                   ,pasteboard-row ,pasteboard-column

                                   [,top-display-id]

98.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

98.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be repasted. The display-id
    argument is the address of an unsigned longword that contains the
    display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard on which the display is repasted. The
    pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard row that is to contain row 1 of the
    specified virtual display. The pasteboard-row argument is the
    address of a signed longword that contains the pasteboard row.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard column that is to contain column 1 of
    the specified virtual display. The pasteboard-column argument
    is the address of a signed longword that contains the pasteboard
    column.

 top-display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional identifier of the virtual display under which display-
    id will be pasted. The top-display-id argument is the address of
    an unsigned longword containing the identifier of this virtual
    display. Note that the virtual display specified by top-display-
    id must already be pasted.

99  –  SMG$REPLACE_INPUT_LINE

    The Replace Input Line routine replaces the specified lines in
    the recall buffer with the specified string.

    Format

      SMG$REPLACE_INPUT_LINE  keyboard-id [,replace-string]

                              [,line-count] [,flags]

99.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

99.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is the address of
    an unsigned longword containing the identifier of the virtual
    keyboard from which to read.

    You create a virtual keyboard by calling the SMG$CREATE_VIRTUAL_
    KEYBOARD routine.

 replace-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String that contains the line to be entered into the recall
    buffer. The replace-string argument is the address of a
    descriptor pointing to this string. The default is a null string,
    which removes the last line entered.

 line-count

    OpenVMS usage:byte_unsigned
    type:         byte (unsigned)
    access:       read only
    mechanism:    by reference

    Number of lines to be replaced. The line-count argument is the
    address of an unsigned byte containing the number of lines to
    be replaced with replace-string. The default value for the line-
    count argument is 1 (the last line entered).

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies optional behavior. The flags argument is the address of
    an unsigned longword that contains the flag. There is one valid
    value:

    SMG$M_KEEP_CONTENTS    The string specified by replace-string
                           replaces the existing string specified by
                           line-count. By using this flag in a loop,
                           the line recall buffer can be preloaded
                           with information by the application.

100  –  SMG$RESTORE_PHYSICAL_SCREEN

    The Restore Physical Pasteboard routine rewrites the pasteboard
    image as it was at the time the SMG$SAVE_PHYSICAL_SCREEN routine
    was called.

    Format

      SMG$RESTORE_PHYSICAL_SCREEN  pasteboard-id ,display-id

100.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

100.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard to be restored. The pasteboard-id
    argument is the address of an unsigned longword that contains
    the pasteboard identifier.

    The pasteboard identifier is returned by the SMG$CREATE_
    PASTEBOARD routine.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display created by the SMG$SAVE_PHYSICAL_
    SCREEN routine. The display-id argument is the address of an
    unsigned longword that contains this display identifier.

101  –  SMG$RETURN_CURSOR_POS

    The Return Cursor Position routine returns the current virtual
    cursor position in a specified virtual display.

    Format

      SMG$RETURN_CURSOR_POS  display-id ,start-row ,start-column

101.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

101.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display whose current virtual cursor
    position you are requesting. The display-id argument is the
    address of an unsigned longword that contains the display
    identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the virtual cursor's current row position within the
    specified virtual display. The start-row argument is the address
    of a signed longword into which is written the current row
    position.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference

    Receives the virtual cursor's current column position within
    the specified virtual display. The start-column argument is the
    address of a signed longword into which is written the current
    column position.

102  –  SMG$RETURN_INPUT_LINE

    The Return Input Line routine returns to the caller the requested
    line from the recall buffer. This line is retrieved either
    by matching it with a specified string or by specifying the
    appropriate line number.

    Format

      SMG$RETURN_INPUT_LINE  keyboard-id ,resultant-string

                             [,match-string]

                             [,byte-integer-line-number]

                             [,resultant-length]

102.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

102.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is the address of
    an unsigned longword containing the identifier of the virtual
    keyboard from which to read.

    The virtual keyboard is created by calling the SMG$CREATE_
    VIRTUAL_KEYBOARD routine.

 resultant-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    String into which is written the complete recalled line. The
    resultant-string argument is the address of a descriptor pointing
    to this string.

 match-string

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Match string to be used when searching for the line to be
    recalled. The optional match-string argument is the address of
    a descriptor pointing to this match string. The search begins
    with the last line typed.

 byte-integer-line-number

    OpenVMS usage:byte_unsigned
    type:         byte (unsigned)
    access:       read only
    mechanism:    by reference

    Line number to be used when searching for the line to be
    recalled. The optional byte-integer-line-number argument is the
    address of an unsigned byte containing the number of the line to
    be recalled. The last line typed is line number 1.

 resultant-length

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Length of the resultant-string string. The optional resultant-
    length argument is the address of an unsigned word containing
    either the number of characters read or the maximum length of
    resultant-string, whichever is less.

103  –  SMG$RING_BELL

    The Ring the Terminal Bell or Buzzer routine sounds the terminal
    bell or buzzer.

    Format

      SMG$RING_BELL  display-id [,number-of-times]

103.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

103.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display for which the bell or buzzer
    sounds. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 number-of-times

    OpenVMS usage:longword_signed
    type:         longword integer (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of times the bell or buzzer is sounded.
    The number-of-times argument is the address of a signed longword
    integer that contains the number of times the bell or buzzer is
    sounded. If number-of-times is omitted, 1 is used.

104  –  SMG$SAVE_PHYSICAL_SCREEN

    The Save Physical Screen routine saves the contents of the
    pasteboard so that a later call to SMG$RESTORE_PHYSICAL_SCREEN
    can restore it.

    Format

      SMG$SAVE_PHYSICAL_SCREEN  pasteboard-id ,display-id

                                [,desired-start-row]

                                [,desired-end-row]

104.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

104.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard whose contents are to be saved. The
    pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Receives the display identifier of the display created to contain
    the contents of the specified pasteboard. The display-id argument
    is the address of an unsigned longword into which the display
    identifier is written.

    The display identifier must be passed to the SMG$RESTORE_
    PHYSICAL_SCREEN routine to restore the saved information.

 desired-start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the first row to be saved. The desired-start-row
    argument is the address of a signed longword that contains
    the row number. If desired-start-row is omitted, row 1 of the
    pasteboard is used.

 desired-end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the last row to be saved. The desired-end-row argument
    is the address of a signed longword that contains the row number.
    If desired-end-row is omitted, the last row of the pasteboard is
    used.

105  –  SMG$SAVE_VIRTUAL_DISPLAY

    The Save the Virtual Display to a File routine saves the contents
    of a virtual display and stores it in a file.

    Format

      SMG$SAVE_VIRTUAL_DISPLAY  display-id [,filespec]

105.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

105.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be saved. The display-id
    argument is the address of an unsigned longword that contains
    the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    String containing the file specification of the file in which
    the specified virtual display is saved. The filespec argument
    is the address of a descriptor pointing to the character string
    containing the file specification.

    A new file is created each time this routine is called.
    If filespec is omitted, the default file specification is
    SMGDISPLY.DAT.

106  –  SMG$SCROLL_DISPLAY_AREA

    The Scroll Display Area routine scrolls a rectangular region of a
    virtual display.

    Format

      SMG$SCROLL_DISPLAY_AREA  display-id [,start-row]

                               [,start-column] [,height]

                               [,width] [,direction] [,count]

106.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

106.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display in which scrolling takes place. The
    display-id argument is the address of an unsigned longword that
    contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the first row of the scrolling region. The start-row
    argument is the address of a signed longword that contains the
    starting row.

    If start-row is omitted, row 1 of the specified virtual display
    is used.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the first column of the scrolling region. The start-
    column argument is the address of a signed longword that contains
    the starting column.

    If omitted, column 1 of the specified virtual display is used.

 height

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of rows in the scrolling region. The height
    argument is the address of a signed longword that contains the
    number of rows.

    If omitted, this value defaults to either the height of the
    virtual scrolling region (if one has been explicitly set with
    SMG$SET_DISPLAY_SCROLL_REGION) or the height of the specified
    virtual display.

    When scrolling a portion of a virtual display that contains
    double-height, double-width (highwide) characters, it is
    recommended that you scroll the display an even number of times.

 width

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of columns in the scrolling region. The
    width argument is the address of a signed longword that contains
    the number of columns.

    If omitted, this value defaults to the width of the specified
    virtual display.

 direction

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the direction to scroll. The direction argument is the
    address of a longword bit mask that contains the direction code.

    Valid values are SMG$M_UP, SMG$M_DOWN, SMG$M_RIGHT, and SMG$M_
    LEFT. SMG$M_UP is the default.

 count

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of lines or columns to scroll. The count
    argument is the address of a signed longword that contains the
    number of units (lines or columns) to scroll. If omitted, one
    unit is scrolled.

107  –  SMG$SCROLL_VIEWPORT

    The Scroll a Display Under a Viewport routine scrolls a virtual
    display under its associated viewport.

    Format

      SMG$SCROLL_VIEWPORT  display-id [,direction] [,count]

107.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

107.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Display identifier of the virtual display to be scrolled. The
    display-id argument is the address of an unsigned longword
    containing this identifier.

 direction

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional direction specifier. The direction argument is the
    address of a longword bit mask that contains the direction code
    specifying the scrolling direction. The optional count argument
    can be used to specify the number of lines to scroll in the
    specified direction. Valid values for direction are as follows:

    SMG$M_UP       Scroll count lines upward.
    SMG$M_DOWN     Scroll count lines downward.
    SMG$M_RIGHT    Scroll count columns to the right.
    SMG$M_LEFT     Scroll count columns to the left.

    SMG$M_UP is the default.

 count

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional number of rows or columns to be scrolled. The default is
    1.

108  –  SMG$SELECT_FROM_MENU

    The Make a Selection from the Menu routine lets you move between
    the menu choices using the arrow keys and lets you make a
    selection by pressing the Return key.

    Format

      SMG$SELECT_FROM_MENU  keyboard-id ,display-id

                            ,selected-choice-number

                            [,default-choice-number] [,flags]

                            [,help-library] [,timeout]

                            [,word-terminator-code]

                            [,selected-choice-string]

                            [,rendition-set] [,rendition-complement]

108.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

108.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual keyboard from which the terminal user's
    responses are read. The keyboard-id argument is the address of an
    unsigned longword containing this identifier.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display in which the choices are
    displayed. The display-id argument is the address of an unsigned
    longword containing this display identifier. This virtual display
    must be pasted to a pasteboard and cannot be batched or occluded.

 selected-choice-number

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Identification number of the menu item selected. The selected-
    choice-number argument is the address of an unsigned word that
    receives this number. The selected-choice-number corresponds to
    the index of the menu item in the static string array specified
    in SMG$CREATE_MENU.

 default-choice-number

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       read only
    mechanism:    by reference

    Optional identification number of the default menu item. The
    default-choice-number argument is the address of an unsigned word
    that contains the number of the default menu item. The default-
    choice-number corresponds to the index of the default menu item
    in the static string array specified in SMG$CREATE_MENU. If
    omitted, the default choice will be the last menu item already
    selected, or the first item in the menu if no selections have yet
    been made.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask indicating behavior when a selection is
    made. The flags argument is the address of an unsigned longword
    containing the flag. Valid values are as follows:

    SMG$M_RETURN_     Returns control to the user when any key other
    IMMED             than an arrow key is entered.
    SMG$M_REMOVE_     Causes SMG$SELECT_FROM_MENU to allow each menu
    ITEM              item to be selected only once.

 help-library

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional help library to use if the PF2/Help key is pressed.
    The help-library argument is the address of a descriptor
    pointing to this help library name. Note that this argument is
    ignored if flags specifies SMG$M_RETURN_IMMED. The default is
    SYS$HELP:HELPLIB.HLB.

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional timeout value. The timeout argument is the address of a
    signed longword that specifies the number of seconds to wait for
    a selection to be made.

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Optional unsigned word that receives the code indicating which
    key terminated the read. The word-terminator-code argument is the
    address of an unsigned word that receives this terminating key
    code.

 selected-choice-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Optional string that receives the text of the menu item selected.
    The selected-choice-string is the address of a descriptor
    pointing to this string.

 rendition-set

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute specifier. The optional rendition-set argument is
    the address of a longword bit mask in which each attribute set
    causes the corresponding attribute to be set in the display. The
    following attributes can be specified using the rendition-set
    argument:

    SMG$M_BLINK     Displays blinking characters.
    SMG$M_BOLD      Displays characters in higher-than-normal
                    intensity.
    SMG$M_REVERSE   Displays characters in reverse video; that is,
                    using the opposite of the default rendition of
                    the virtual display.
    SMG$M_          Displays underlined characters.
    UNDERLINE
    SMG$M_USER1     Displays user-defined attributes.
    through
    SMG$M_USER8

    The display-id argument must be specified when you use the
    rendition-set argument.

 rendition-complement

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Attribute complement specifier. The optional rendition-
    complement argument is the address of a longword bit mask in
    which each attribute set causes the corresponding attribute to be
    complemented in the display. All attributes that can be specified
    with the rendition-set argument can be complemented with the
    rendition-complement argument. The display-id argument must be
    specified when you use the rendition-complement argument.

    The optional arguments rendition-set and rendition-complement
    let the user control the attributes of the virtual display. The
    rendition-set argument sets certain virtual display attributes,
    while rendition-complement complements these attributes. If the
    same bit is specified in both the rendition-set and rendition-
    complement parameters, rendition-set is evaluated first, followed
    by rendition-complement. By using these two parameters together,
    the user can control each virtual display attribute in a single
    procedure call. On a single-attribute basis, the user can cause
    the following transformations:

    Set  Complement Action

    0    0          Attribute set to default
    1    0          Attribute on
    0    1          Attribute set to complement of default setting
    1    1          Attribute off

109  –  SMG$SET_BROADCAST_TRAPPING

    The Enable Broadcast Trapping routine enables the trapping of
    broadcast messages.

    Format

      SMG$SET_BROADCAST_TRAPPING  pasteboard-id [,AST-routine]

                                  [,AST-argument]

109.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

109.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard for which broadcast messages are to be
    trapped. The pasteboard-id argument is the address of an unsigned
    longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 AST-routine

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       read only
    mechanism:    by value

    The address of an AST routine to be called when a message is
    received at the pasteboard. The AST-routine argument is the
    address of the routine's procedure value.

    When the AST-routine argument is either omitted or is given a
    value of 0, the BROADCAST mode is set to synchronize. In this
    mode, you must periodically call SMG$GET_BROADCAST_MESSAGE to see
    if any broadcast messages have arrived.

    The AST routine is called with five parameters: AST-argument, R0,
    R1, PC, and PSL (on VAX systems) or PS (on Alpha systems).

 AST-argument

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    A value to be passed to the AST routine. The AST-argument is an
    unsigned longword that contains the value to be passed to the AST
    routine.

110  –  SMG$SET_CURSOR_ABS

    The Set Absolute Cursor Position routine moves the virtual cursor
    to the specified position in a virtual display.

    Format

      SMG$SET_CURSOR_ABS  display-id [,start-row] [,start-column]

110.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

110.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display in which to set the virtual cursor
    position. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row position to which the virtual cursor moves.
    The start-row argument is the address of a signed longword that
    contains the row number. If omitted, the cursor remains at the
    current row.

 start-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column position to which the virtual cursor moves.
    The start-column argument is the address of a signed longword
    that contains the column number. If omitted, the virtual cursor
    remains at the current column.

111  –  SMG$SET_CURSOR_MODE

    The Set the Cursor Mode routine turns the physical cursor on or
    off and selects jump or smooth scrolling.

    Format

      SMG$SET_CURSOR_MODE  pasteboard-id ,flags

111.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

111.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Pasteboard identifier. The pasteboard-id argument is the address
    of an unsigned longword that contains the pasteboard identifier.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies scrolling and cursor attributes.
    The flags argument is the address of an unsigned longword that
    contains the flag. The flags argument accepts the following
    values:

    SMG$M_CURSOR_OFF   Clears physical cursor.
    SMG$M_CURSOR_ON    Displays physical cursor.
    SMG$M_SCROLL_JUMP  Jump scrolls.
    SMG$M_SCROLL_      Smooth scrolls.
    SMOOTH

112  –  SMG$SET_CURSOR_REL

    The Move Cursor Relative to Current Position routine moves the
    virtual cursor the specified number of rows and columns from the
    current virtual cursor position in a virtual display.

    Format

      SMG$SET_CURSOR_REL  display-id [,delta-row] [,delta-column]

112.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

112.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display in which to move the virtual
    cursor. The display-id argument is the address of an unsigned
    longword that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 delta-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of rows to move the virtual cursor. The
    delta-row argument is the address of a signed longword that
    contains the number of rows to move. If omitted, the virtual
    cursor remains at the current row position. If delta-row is
    positive, the virtual cursor moves downward the specified number
    of rows. If delta-row is negative, the virtual cursor moves
    upward the specified number of rows.

 delta-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the number of columns to move the cursor. The delta-
    column argument is the address of a signed longword that contains
    the number of columns to move. If omitted, the virtual cursor
    remains at the current column position. If delta-column is
    positive, the virtual cursor moves the specified number of
    columns to the right. If delta-column is negative, the virtual
    cursor moves the specified number of columns to the left.

113  –  SMG$SET_DEFAULT_STATE

    The Set Default State routine sets and/or returns the current
    default state for a key table.

    Format

      SMG$SET_DEFAULT_STATE  key-table-id [,new-state] [,old-state]

113.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

113.2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key table in which you are setting or inquiring
    about a default state. The key-table-id argument is the address
    of an unsigned longword that contains the key table identifier.

    The key table identifier is returned by the SMG$CREATE_KEY_TABLE
    routine.

 new-state

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Specifies the new default state for the entire key table. The
    new-state argument is the address of a descriptor pointing to
    the new state string. The specified state name is converted to
    uppercase and stripped of trailing blanks before use.

 old-state

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Receives the existing default state name of the specified key
    definition table. The old-state argument is the address of a
    descriptor pointing to the string into which the old state string
    is written.

114  –  SMG$SET_DISPLAY_SCROLL_REGION

    The Create Display Scrolling Region routine creates a virtual
    scrolling region in a virtual display.

    Format

      SMG$SET_DISPLAY_SCROLL_REGION  display-id [,start-row]

                                     [,end-row]

114.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

114.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display in which scrolling takes place. The
    display-id argument is the address of an unsigned longword that
    contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 start-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the first line of the virtual scrolling region. The
    start-row argument is the address of a signed longword that
    contains the starting line number. If omitted, the first line
    of the display is used.

 end-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the last line of the virtual scrolling region. The end-
    row argument is the address of a signed longword that contains
    the ending line number. If omitted, the last line of the virtual
    display is used.

115  –  SMG$SET_KEYPAD_MODE

    The Set Keypad Mode routine sets the terminal's numeric keypad to
    either numeric or applications mode.

    Format

      SMG$SET_KEYPAD_MODE  keyboard-id ,flags

115.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

115.2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual keyboard whose mode is to be changed. The
    keyboard-id argument is the address of an unsigned longword that
    contains the keyboard identifier.

    The keyboard identifier is returned by SMG$CREATE_VIRTUAL_
    KEYBOARD.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies whether the keypad is to be in
    applications or numeric mode. The flags argument is the address
    of an unsigned longword that contains the flag. Valid values for
    flags are as follows:

    0                  Keypad is set to numeric mode.
    SMG$M_KEYPAD_      Keypad is set to applications mode.
    APPLICATION

116  –  SMG$SET_OUT_OF_BAND_ASTS

    The Set Out-of-Band ASTs routine either enables or disables the
    trapping of out-of-band control characters.

    Format

      SMG$SET_OUT_OF_BAND_ASTS  pasteboard-id,control-character-mask

                                ,AST-routine [,AST-argument]

116.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

116.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard for which out-of-band characters are
    enabled or disabled. The pasteboard-id argument is the address of
    an unsigned longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 control-character-mask

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies which control characters are to be the new out-of-band
    control characters. The control-character-mask argument is the
    address of an unsigned longword that contains the mask. Create
    this mask by setting the bit that corresponds to the ASCII value
    of the desired character. For example, to specify that Ctrl/C
    (ASCII value 3) is an out-of-band control character, set bit 3
    (value 8) in the control-character-mask. If no bits are set in
    this mask, then no out-of-band ASTs occur. For more information,
    see the OpenVMS I/O User's Reference Manual.

 AST-routine

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       read only
    mechanism:    by value

    The address of an AST routine to be called when an out-of-band
    control character is typed at the terminal. The AST-routine
    argument is the routine's procedure value.

 AST-argument

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value

    The argument you supply to the AST. AST-argument is an unsigned
    longword that contains the value to be passed to the AST routine.
    However, the AST routine may also need to determine the out-
    of-band character and the pasteboard-id at which it was typed.
    Therefore, the Screen Management Facility creates a three-
    longword structure to hold this information and passes the
    address of this structure as the first argument to the AST
    routine. The remaining four arguments are R0, R1, PC, and PSL
    (on VAX systems) or PS (on Alpha systems). The Screen Management
    Facility stores the argument you supply in this structure.

      +---------------------------+          +-------------------------+
      | address of data structure |--------->|       SMG$L_PBD_ID      |
      +---------------------------+          +-------------------------+
      |           R0              |          |      SMG$L_USER_ARG     |
      +---------------------------+          +-------------------------+
      |           R1              |          |        SMG$L_CHAR       |
      +---------------------------+          +-------------------------+
      |           PC              |
      +---------------------------+
      |          PSL              |
      +---------------------------+

    The first longword contains the pasteboard-id and has the
    symbolic name SMG$L_PBD_ID. The second longword contains the
    AST-argument and has the symbolic name SMG$L_USER_ARG. The third
    longword contains the ASCII value of the out-of-band character
    typed and can be accessed by way of two symbolic names: SMG$B_
    CHAR (the low-order byte containing the ASCII value), and SMG$L_
    CHAR (the longword containing the ASCII value in the low-order
    byte and spaces in the high-order bytes).

117  –  SMG$SET_PHYSICAL_CURSOR

    The Set Cursor on Physical Screen routine moves the physical
    cursor to the specified position on the pasteboard.

    Format

      SMG$SET_PHYSICAL_CURSOR  pasteboard-id ,pasteboard-row

                               ,pasteboard-column

117.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

117.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard whose physical cursor is to move. The
    pasteboard-id argument is the address of an unsigned longword
    that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 pasteboard-row

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the row to which the physical cursor moves. The
    pasteboard-row argument is the address of a signed longword that
    contains the row number.

 pasteboard-column

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Specifies the column to which the physical cursor moves. The
    pasteboard-column argument is the address of a signed longword
    that contains the column number.

118  –  SMG$SET_TERM_CHARACTERISTICS

    The Change Terminal Characteristics routine changes or retrieves
    the terminal characteristics for a given pasteboard.

    Format

      SMG$SET_TERM_CHARACTERISTICS  pasteboard-id

                                    [,on-characteristics1]

                                    [,on-characteristics2]

                                    [,off-characteristics1]

                                    [,off-characteristics2]

                                    [,old-characteristics1]

                                    [,old-characteristics2]

                                    [,on-characteristics3]

                                    [,off-characteristics3]

                                    [,old-characteristics3]

118.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

118.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard whose characteristics are to be changed
    or retrieved. The pasteboard-id argument is the address of an
    unsigned longword that contains the pasteboard identifier.

    The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.

 on-characteristics1

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bit mask that specifies the terminal characteristics to be set
    from $TTDEF. The on-characteristics1 argument is the address of
    an unsigned longword that contains the bit mask.

 on-characteristics2

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bit mask that specifies the terminal characteristics to be set
    from $TT2DEF. The on-characteristics2 argument is the address of
    an unsigned longword that contains the bit mask.

 off-characteristics1

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bit mask that specifies the terminal characteristics to be reset
    from $TTDEF. The off-characteristics1 argument is the address of
    an unsigned longword that contains the bit mask.

 off-characteristics2

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bit mask that specifies the terminal characteristics to be reset
    from $TT2DEF. The off-characteristics2 argument is the address of
    an unsigned longword that contains the bit mask.

 old-characteristics1

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Retrieves the current terminal characteristics in the first
    group. The old-characteristics1 argument is the address of an
    unsigned longword that contains the bit mask.

 old-characteristics2

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Retrieves the current terminal characteristics in the second
    group. The old-characteristics2 argument is the address of an
    unsigned longword that contains the bit mask.

 on-characteristics3

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bit mask that specifies the terminal characteristics to be set
    from $TT3DEF. The on-characteristics3 argument is the address of
    an unsigned longword that contains the bit mask.

 off-characteristics3

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Bit mask that specifies the terminal characteristics to be reset
    from $TT3DEF. The off-characteristics3 argument is the address of
    an unsigned longword that contains the bit mask.

 old-characteristics3

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Retrieves the current terminal characteristics in the third
    group. The old-characteristics3 argument is the address of an
    unsigned longword that contains the bit mask.

119  –  SMG$SNAPSHOT

    The Write Snapshot routine writes the current pasteboard buffer
    to the file or hardcopy terminal specified by the pasteboard
    identifier.

    Format

      SMG$SNAPSHOT  pasteboard-id [,flags]

119.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

119.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the file or hardcopy terminal to receive the contents
    of the pasteboard buffer. The pasteboard-id argument is the
    address of an unsigned longword that contains the pasteboard
    identifier. The output device associated with pasteboard-id is
    specified by the output-device argument of SMG$CREATE_PASTEBOARD.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies whether a form feed is passed.
    The flags argument is the address of an unsigned longword
    containing the flag. Valid values for flags are as follows:

    0                  No form feed is passed.
    SMG$M_FORM_FEED    The first line passed is a form feed.

120  –  SMG$SNAPSHOT_TO_PRINTER

    The Write Snapshot to Printer routine writes the current
    pasteboard buffer to the printer attached to the terminal.

    Format

      SMG$SNAPSHOT_TO_PRINTER  pasteboard-id ,device-type [,flags]

120.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

120.2  –  Arguments

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the pasteboard whose snapshot will be sent to a
    printer. The pasteboard-id argument is the address of an unsigned
    longword that contains the pasteboard identifier.

 device-type

    OpenVMS usage:device_name
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Specifies the type of printer to which the output associated with
    this pasteboard will be written. The device-type argument is the
    address of a descriptor that points to the name of the output
    device. Valid values for this argument (for example, LA50) are
    defined in SYS$SYSTEM:TERMTABLE.TXT.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask that specifies whether a form feed is passed.
    The flags argument is the address of an unsigned longword
    containing the flag. The valid value for the flags argument is
    as follows:

    SMG$M_FORM_FEED    Output a form feed as the first record.

121  –  SMG$UNPASTE_VIRTUAL_DISPLAY

    The Remove Virtual Display routine removes a virtual display from
    a pasteboard.

    Format

      SMG$UNPASTE_VIRTUAL_DISPLAY  display-id ,pasteboard-id

121.1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

121.2  –  Arguments

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the virtual display to be removed from a pasteboard.
    The display-id argument is the address of an unsigned longword
    that contains the display identifier.

    The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.

 pasteboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the pasteboard from which the virtual display is
    removed. The pasteboard-id argument is the address of an unsigned
    longword that contains the pasteboard identifier.
Close Help