VMS Help
RTL Routines, SMG$, SMG$SET_OUT_OF_BAND_ASTS

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

    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]

  1 - Returns

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

  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).
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.