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]
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
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).
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.