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).