.TITLE SMG$ VAX/VMS RTL interface macros ;----------------------------------------------------------------------; ; Module: SMG$ ; ;----------------------------------------------------------------------; ; Programmer: Kevin Klughart ; ;----------------------------------------------------------------------; ; Date: 12-May-1985 @ 22:00 CDST ; ;----------------------------------------------------------------------; ; System: VAX-11/750 running VAX/VMS V4.1 ; ;----------------------------------------------------------------------; ; Language: VAX/VMS Macro V4.1 assembly language ; ;----------------------------------------------------------------------; ; Site: Dallas Semiconductor ; ; 4350 Beltwood Parkway South ; ; Dallas, Texas 75234 ; ; (214) 450-0400 ; ;----------------------------------------------------------------------; ; Purpose: This module serves as a simplified MACRO32 ; ; interface for the VAX/VMS Screen Managment ; ; (SMG$) routines. Each SMG$ RTL entrypoint ; ; is mapped with a corresponding macro which ; ; allows immediate mode specification of all ; ; numeric arguments, as did the V3 SCR$ routines.; ;----------------------------------------------------------------------; ; Use: To use these macros, simply create and ; ; reference a macro library for this module: ; ; ; ; ; ; $ LIBRARY /MACRO /CREATE SMG$ SMG$ ; ; $ MACRO your_source_module + SMG$ /LIBRARY ; ;----------------------------------------------------------------------; ; Methodology: Each routine within the VMS V4.x SMG$ RTL ; ; is represented here as a different macro ; ; which has macro parameters which correspond ; ; to the required arguments of each screen ; ; function call. To invoke the function call, ; ; use a syntax similar to the following: ; ; ; ; ; ; SCR$function_name - ; ; arg1=value,arg2=value, ... ,argn=value ; ; ; ; ; ; Please note that immediate value arguments ARE ; ; valid. Each routine also has an optional ; ; success and failure label which may be used ; ; to specify success/failure processing routines.; ; By default, all errors are signalled via a ; ; call to LIB$SIGNAL. ; ;----------------------------------------------------------------------; ; Revision list: V04.00 - Initial release. ; ; V04.01 - Add $IODEF for READ_STRING modifiers. ; ; V04.02 - Add documentation for building/use. ; ;----------------------------------------------------------------------; .IDENT "Version V04.02" ; Current release version .PAGE .SBTTL SMG$ core support macros .SBTTL SMG$DEFINE_ARGUMENT_LIST_VALUES ;----------------------------------------------------------------------; ; ; ; ; ; Define general argument list for SMG$ calls ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro defines the argument list for subsequent calls ; ; to SMG$ routines. Note that a corresponding argument value ; ; list is also generated to provide support for immediate ; ; mode parameter passing (#1, #data, R0, (R1), etc.) ; ; ; ; This facility was present under the old V2 VMS SCR$ facility ; ; but was not included in the VMS V4 SMG$ functionality. ; ;----------------------------------------------------------------------; .MACRO SMG$DEFINE_ARGUMENT_LIST_VALUES .IF NDF SMG_ARGUMENT_LIST_COUNT $SMGDEF $IODEF .SAVE_PSECT LOCAL_BLOCK .PSECT SMG_ARGUMENT_LIST$LOCAL,PIC,USR,CON,REL,LCL,NOSHR,NOEXE,RD,WRT,NOVEC,LONG SMG_ARGUMENT_LIST_VALUES: .BLKL 20 .RESTORE_PSECT SMG_ARGUMENT_LIST_COUNT = 0 .MACRO SMG$DEFINE_ARGUMENT_LIST_VALUES SMG_ARGUMENT_LIST_COUNT = 0 .ENDM .ENDC .ENDM SMG$DEFINE_ARGUMENT_LIST_VALUES .PAGE .SBTTL SMG$LOAD_GENERAL_ARGUMENT_LIST ;----------------------------------------------------------------------; ; ; ; ; ; Load general argument list values on stack ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro generates an argument list on the stack and ; ; loads any immediate value parameters in the value list. ; ; ; ; This is accomplished by requesting that each argument be ; ; pushed on the stack by the SMG$ARG macro. ; ;----------------------------------------------------------------------; .MACRO SMG$LOAD_GENERAL_ARGUMENT_LIST P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 .NARG SMG_ARGUMENT_LIST_COUNT .NARG SMG_ARGUMENT_LIST_POINTER SMG$ARG P15 SMG$ARG P14 SMG$ARG P13 SMG$ARG P12 SMG$ARG P11 SMG$ARG P10 SMG$ARG P9 SMG$ARG P8 SMG$ARG P7 SMG$ARG P6 SMG$ARG P5 SMG$ARG P4 SMG$ARG P3 SMG$ARG P2 SMG$ARG P1 SMG$ARG P0 .ENDM SMG$LOAD_GENERAL_ARGUMENT_LIST .PAGE .SBTTL SMG$ARG ;----------------------------------------------------------------------; ; ; ; ; ; Load single argument value on stack ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro pushes a single argument on the stack. ; ;----------------------------------------------------------------------; ; The format for for this routine includes a single argument ; ; and its associated type. The type argument is of a form ; ; compatible with the general VMS calling standard. ; ;----------------------------------------------------------------------; .MACRO SMG$ARG ARGUMENT,TYPE .IF NB ; If parm specified... ;----------------------------------------------------------------------; ; Point to the next entry in the by-value argument list ; ;----------------------------------------------------------------------; SMG_ARGUMENT_LIST_POINTER = ;----------------------------------------------------------------------; ; Determine the addressing mode of the argument ; ;----------------------------------------------------------------------; .NTYPE ...MOD,ARGUMENT ; Determine argument mode ...MOD= <<...MOD @ <-4>> & ^XF> ; Filter to get addressing mode ;----------------------------------------------------------------------; ; Determine what addressing mode will be used to pass argument ; ;----------------------------------------------------------------------; ...ADR = 0 ; Initially indicate ADDRESS .IIF LE <...MOD - 1>, ...ADR = 1 ; Literal or immediate mode .IIF EQ <...MOD - 5>, ...ADR = 1 ; Register mode - value ;----------------------------------------------------------------------; ; Generate an argument list entry for this argument ; ;----------------------------------------------------------------------; .IF EQ ...ADR ; If argument is an address PUSHAL ARGUMENT ; Push argument address .IF_FALSE MOVL ARGUMENT,> PUSHAL > .ENDC ;----------------------------------------------------------------------; ; If argument is missing then type should be optional or blank ; ;----------------------------------------------------------------------; .IF_FALSE .IF NB ; If argument type field is present... ...LEN= %LENGTH(TYPE) ...OPT= %LOCATE(<[>,TYPE) .IF EQ <...OPT - ...LEN> .WARN ;*** Required macro parameter missing *** .ENDC CLRL -(SP) ; Generate a null stack argument .ENDC .ENDC .ENDM SMG$ARG .PAGE .SBTTL SMG$XEQ ;----------------------------------------------------------------------; ; ; ; ; ; Execute procedure ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro executes a given SMG$ routine, passing the ; ; generated argument list to the called procedure. ; ;----------------------------------------------------------------------; .MACRO SMG$XEQ SMG_ROUTINE_NAME CALLS #SMG_ARGUMENT_LIST_COUNT,G^'SMG_ROUTINE_NAME' .ENDM SMG$XEQ .PAGE .SBTTL SMG$CHECK_COMPLETION_STATUS ;----------------------------------------------------------------------; ; ; ; ; ; Check completion status ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro checks the completion status of a given SMG$ ; ; call and vectors to either a success or failure routine. ; ; ; ; If the user specifies a failure label, go there if failure. ; ; If the user specifies a success label, go there if success. ; ; If no failure label is specified, then signal any failures. ; ;----------------------------------------------------------------------; .MACRO SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= ,- ?LABEL BLBS R0,LABEL ; Continue if previous call successful ;----------------------------------------------------------------------; ; Process failure routine requests ; ;----------------------------------------------------------------------; .IF NB ; If failure routine specified BRW FAILURE_ROUTINE .IF_FALSE ; ... with failure routine not specified PUSHL R0 CALLS #1,G^LIB$SIGNAL $EXIT_S R0 .ENDC ;----------------------------------------------------------------------; ; Process success routine requests ; ;----------------------------------------------------------------------; LABEL: .IIF NB , BRW SUCCESS_ROUTINE .ENDM SMG$CHECK_COMPLETION_STATUS .PAGE .SBTTL SMG$ routine activation macros .SBTTL SMG$ADD_KEY_DEF ;----------------------------------------------------------------------; ; ; ; ; ; Add key definition ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro adds a keypad key definition to a table of key ; ; definitions. ; ;----------------------------------------------------------------------; .MACRO SMG$ADD_KEY_DEF - KEY_TABLE_ID= ,- KEY_NAME= ,- IF_STATE= ,- ATTRIBUTES= ,- EQUIV_STRING= ,- STATE_STRING= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[RL.R]>> ,- <,<[RT.DX]>> ,- <,<[RT.DX]>> SMG$XEQ SMG$ADD_KEY_DEF SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ADD_KEY_DEF .PAGE .SBTTL SMG$ALLOW_ESCAPE ;----------------------------------------------------------------------; ; ; ; ; ; Allow escape ; ; ; ; ; ;----------------------------------------------------------------------; ; This routine enables or disables SMG parsing of escape ; ; sequences which are output to a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$ALLOW_ESCAPE - DISPLAY_ID= ,- ESC_FLAG= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$ALLOW_ESCAPE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ALLOW_ESCAPE .PAGE .SBTTL SMG$BEGIN_DISPLAY_UPDATE ;----------------------------------------------------------------------; ; ; ; ; ; Begin display update ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro saves, or batches, all output to a virtual ; ; display until a matching call to SMG$END_DISPLAY_UPDATE ; ; is encountered. ; ;----------------------------------------------------------------------; .MACRO SMG$BEGIN_DISPLAY_UPDATE - DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$BEGIN_DISPLAY_UPDATE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$BEGIN_DISPLAY_UPDATE .PAGE .SBTTL SMG$BEGIN_PASTEBOARD_UPDATE ;----------------------------------------------------------------------; ; ; ; ; ; Begin pasteboard update ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro saves, or batches, all output to a pasteboard ; ; until a matching call to SMG$END_PASTEBOARD_UPDATE is ; ; encountered. ; ;----------------------------------------------------------------------; .MACRO SMG$BEGIN_PASTEBOARD_UPDATE - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$BEGIN_PASTEBOARD_UPDATE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$BEGIN_PASTEBOARD_UPDATE .PAGE .SBTTL SMG$CANCEL_INPUT ;----------------------------------------------------------------------; ; ; ; ; ; Cancel input ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro immediately cancels any read-in-progress that was ; ; issued by SMG$READ_STRING or SMG$READ_COMPOSED_LINE. ; ;----------------------------------------------------------------------; .MACRO SMG$CANCEL_INPUT - KEYBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$CANCEL_INPUT SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CANCEL_INPUT .PAGE .SBTTL SMG$CHANGE_PBD_CHARACTERISTICS ;----------------------------------------------------------------------; ; ; ; ; ; Change pasteboard characteristics ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro lets you change the width, height, and ; ; background color associated with a pasteboard. ; ;----------------------------------------------------------------------; .MACRO SMG$CHANGE_PBD_CHARACTERISTICS - PASTEBOARD_ID= ,- DESIRED_WIDTH= ,- RESULTING_WIDTH= ,- DESIRED_HEIGHT= ,- RESULTING_HEIGHT= ,- DESIRED_BACKGROUND_COLOR= ,- RESULTING_BACKGROUND_COLOR= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[WL.R]>> ,- <,<[RL.R]>> ,- <,<[WL.R]>> ,- <,<[RLU.R]>> ,- <,<[WLU.R]>> SMG$XEQ SMG$CHANGE_PBD_CHARACTERISTICS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CHANGE_PBD_CHARACTERISTICS .PAGE .SBTTL SMG$CHANGE_RENDITION ;----------------------------------------------------------------------; ; ; ; ; ; Change rendition ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro changes the video attributes for all or ; ; part of a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$CHANGE_RENDITION - DISPLAY_ID= ,- START_ROW= ,- START_COLUMN= ,- ROWS= ,- COLUMNS= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$CHANGE_RENDITION SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CHANGE_RENDITION .PAGE .SBTTL SMG$CHANGE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Change virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro lets you change the dimensions, border, ; ; and video attributes of a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$CHANGE_VIRTUAL_DISPLAY - DISPLAY_ID= ,- ROWS= ,- COLUMNS= ,- DISPLAY_ATTRIBUTES= ,- VIDEO_ATTRIBUTES= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$CHANGE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CHANGE_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$CHECK_FOR_OCCLUSION ;----------------------------------------------------------------------; ; ; ; ; ; Check for occlusion ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro checks to see whether a virtual display ; ; is covered by another virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$CHECK_FOR_OCCLUSION - DISPLAY_ID= ,- PASTEBOARD_ID= ,- OCCLUSION_STATE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> SMG$XEQ SMG$CHECK_FOR_OCCLUSION SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CHECK_FOR_OCCLUSION .PAGE .SBTTL SMG$CONTROL_MODE ;----------------------------------------------------------------------; ; ; ; ; ; Control mode ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro controls buffering, minimal updating, whether ; ; the screen is cleared when the pasteboard is deleted, ; ; and whether tab characters are used for screen formatting. ; ;----------------------------------------------------------------------; .MACRO SMG$CONTROL_MODE - PASTEBOARD_ID= ,- NEW_MODE= ,- OLD_MODE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$CONTROL_MODE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CONTROL_MODE .PAGE .SBTTL SMG$CREATE_KEY_TABLE ;----------------------------------------------------------------------; ; ; ; ; ; Create key table ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro creates a table for key definitions. ; ;----------------------------------------------------------------------; .MACRO SMG$CREATE_KEY_TABLE - NEW_KEY_TABLE_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$CREATE_KEY_TABLE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CREATE_KEY_TABLE .PAGE .SBTTL SMG$CREATE_PASTEBOARD ;----------------------------------------------------------------------; ; ; ; ; ; Create pasteboard ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro creates a pasteboard and returns its assigned ; ; pasteboard-id. ; ;----------------------------------------------------------------------; .MACRO SMG$CREATE_PASTEBOARD - NEW_PASTEBOARD_ID= ,- OUTPUT_DEVICE= ,- PASTEBOARD_ROWS= ,- PASTEBOARD_COLUMNS= ,- PRESERVE_SCREEN_FLAG= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RT.DX]>> ,- <,<[WL.R]>> ,- <,<[WL.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$CREATE_PASTEBOARD SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CREATE_PASTEBOARD .PAGE .SBTTL SMG$CREATE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Create virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro creates a virtual display and returns its ; ; assigned display id. ; ;----------------------------------------------------------------------; .MACRO SMG$CREATE_VIRTUAL_DISPLAY - NUM_ROWS= ,- NUM_COLUMNS= ,- NEW_DISPLAY_ID= ,- DISPLAY_ATTRIBUTES= ,- VIDEO_ATTRIBUTES= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$CREATE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CREATE_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$CREATE_VIRTUAL_KEYBOARD ;----------------------------------------------------------------------; ; ; ; ; ; Create virtual keyboard ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro creates a virtual keyboard and returns its ; ; assigned keyboard-id. ; ;----------------------------------------------------------------------; .MACRO SMG$CREATE_VIRTUAL_KEYBOARD - NEW_KEYBOARD_ID= ,- FILESPEC= ,- DEFAULT_FILESPEC= ,- RESULTANT_FILESPEC= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RT.DX]>> ,- <,<[RT.DX]>> ,- <,<[WT.DX]>> SMG$XEQ SMG$CREATE_VIRTUAL_KEYBOARD SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CREATE_VIRTUAL_KEYBOARD .PAGE .SBTTL SMG$CURSOR_COLUMN ;----------------------------------------------------------------------; ; ; ; ; ; Cursor column ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the cursor's current column position ; ; in a specified virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$CURSOR_COLUMN - DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$CURSOR_COLUMN SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CURSOR_COLUMN .PAGE .SBTTL SMG$CURSOR_ROW ;----------------------------------------------------------------------; ; ; ; ; ; Cursor row ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the cursor's current row position ; ; in a specified virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$CURSOR_ROW - DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$CURSOR_ROW SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$CURSOR_ROW .PAGE .SBTTL SMG$DEFINE_KEY ;----------------------------------------------------------------------; ; ; ; ; ; Define key ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro performs the DEFINE/KEY command you provide. ; ;----------------------------------------------------------------------; .MACRO SMG$DEFINE_KEY - KEY_TABLE_ID= ,- COMMAND_LINE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$DEFINE_KEY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DEFINE_KEY .PAGE .SBTTL SMG$DELETE_CHARS ;----------------------------------------------------------------------; ; ; ; ; ; Delete characters ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes characters in a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$DELETE_CHARS - DISPLAY_ID= ,- NUM_CHARS= ,- ROW= ,- COLUMN= SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> SMG$XEQ SMG$DELETE_CHARS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DELETE_CHARS .PAGE .SBTTL SMG$DELETE_KEY_DEF ;----------------------------------------------------------------------; ; ; ; ; ; Delete key definition ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes a key definition from a specified ; ; table of key definitions. ; ;----------------------------------------------------------------------; .MACRO SMG$DELETE_KEY_DEF - KEY_TABLE_ID= ,- KEY_NAME= ,- IF_STATE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> SMG$XEQ SMG$DELETE_KEY_DEF SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DELETE_KEY_DEF .PAGE .SBTTL SMG$DELETE_LINE ;----------------------------------------------------------------------; ; ; ; ; ; Delete line ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes lines from a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$DELETE_LINE - DISPLAY_ID= ,- START_LINE= ,- NUMBER_LINES= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> SMG$XEQ SMG$DELETE_LINE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DELETE_LINE .PAGE .SBTTL SMG$DELETE_PASTEBOARD ;----------------------------------------------------------------------; ; ; ; ; ; Delete pasteboard ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes a pasteboard. ; ;----------------------------------------------------------------------; .MACRO SMG$DELETE_PASTEBOARD - PASTEBOARD_ID= ,- CLEAR_SCREEN_FLAG= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> SMG$XEQ SMG$DELETE_PASTEBOARD SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DELETE_PASTEBOARD .PAGE .SBTTL SMG$DELETE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Delete virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$DELETE_VIRTUAL_DISPLAY - DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$DELETE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DELETE_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$DELETE_VIRTUAL_KEYBOARD ;----------------------------------------------------------------------; ; ; ; ; ; Delete virtual keyboard ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes a virtual keyboard. ; ;----------------------------------------------------------------------; .MACRO SMG$DELETE_VIRTUAL_KEYBOARD - KEYBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$DELETE_VIRTUAL_KEYBOARD SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DELETE_VIRTUAL_KEYBOARD .PAGE .SBTTL SMG$DEL_TERM_TABLE ;----------------------------------------------------------------------; ; ; ; ; ; Terminate TERMTABLE access ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro terminates access to TERMTABLE.EXE and frees ; ; the associated virtual address space. ; ;----------------------------------------------------------------------; .MACRO SMG$DEL_TERM_TABLE - SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$XEQ SMG$DEL_TERM_TABLE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DEL_TERM_TABLE .PAGE .SBTTL SMG$DISABLE_UNSOLICITED_INPUT ;----------------------------------------------------------------------; ; ; ; ; ; Disable unsolicited input ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro disables the invocation of AST macros for ; ; unsolicited input. ; ;----------------------------------------------------------------------; .MACRO SMG$DISABLE_UNSOLICITED_INPUT - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$DISABLE_UNSOLICITED_INPUT SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DISABLE_UNSOLICITED_INPUT .PAGE .SBTTL SMG$DRAW_LINE ;----------------------------------------------------------------------; ; ; ; ; ; Draw line ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro draws a horizontal or vertical line. ; ;----------------------------------------------------------------------; .MACRO SMG$DRAW_LINE - DISPLAY_ID= ,- START_ROW= ,- START_COLUMN= ,- END_ROW= ,- END_COLUMN= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$DRAW_LINE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DRAW_LINE .PAGE .SBTTL SMG$DRAW_RECTANGLE ;----------------------------------------------------------------------; ; ; ; ; ; Draw rectangle ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro draws a rectangle. ; ;----------------------------------------------------------------------; .MACRO SMG$DRAW_RECTANGLE - DISPLAY_ID= ,- TOP_LEFT_ROW= ,- TOP_LEFT_COLUMN= ,- BOTTOM_RIGHT_ROW= ,- BOTTOM_RIGHT_COLUMN= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$DRAW_RECTANGLE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$DRAW_RECTANGLE .PAGE .SBTTL SMG$ENABLE_UNSOLICITED_INPUT ;----------------------------------------------------------------------; ; ; ; ; ; Enable unsolicited input ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro detects unsolicited input and calls an ; ; AST routine in response. ; ;----------------------------------------------------------------------; .MACRO SMG$ENABLE_UNSOLICITED_INPUT - PASTEBOARD_ID= ,- AST_ROUTINE= ,- AST_ARGUMENT= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RZ.V]>> SMG$XEQ SMG$ENABLE_UNSOLICITED_INPUT SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ENABLE_UNSOLICITED_INPUT .PAGE .SBTTL SMG$END_DISPLAY_UPDATE ;----------------------------------------------------------------------; ; ; ; ; ; End display update ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro ends update batching for a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$END_DISPLAY_UPDATE - DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$END_DISPLAY_UPDATE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$END_DISPLAY_UPDATE .PAGE .SBTTL SMG$END_PASTEBOARD_UPDATE ;----------------------------------------------------------------------; ; ; ; ; ; End pasteboard update ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro ends update batching for a pasteboard. ; ;----------------------------------------------------------------------; .MACRO SMG$END_PASTEBOARD_UPDATE - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$END_PASTEBOARD_UPDATE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$END_PASTEBOARD_UPDATE .PAGE .SBTTL SMG$ERASE_CHARS ;----------------------------------------------------------------------; ; ; ; ; ; Erase characters ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro erases characters in a virtual display ; ; by replacing them with blanks. ; ;----------------------------------------------------------------------; .MACRO SMG$ERASE_CHARS - DISPLAY_ID= ,- NUM_CHARS= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> SMG$XEQ SMG$ERASE_CHARS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ERASE_CHARS .PAGE .SBTTL SMG$ERASE_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Erase display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro erases all or part of a virtual display ; ; by replacing text characters with blanks. ; ;----------------------------------------------------------------------; .MACRO SMG$ERASE_DISPLAY - DISPLAY_ID= ,- START_ROW_NUMBER= ,- START_COLUMN_NUMBER= ,- END_ROW_NUMBER= ,- END_COLUMN_NUMBER= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$ERASE_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ERASE_DISPLAY .PAGE .SBTTL SMG$ERASE_LINE ;----------------------------------------------------------------------; ; ; ; ; ; Erase line ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro erases all or part of a line in a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$ERASE_LINE - DISPLAY_ID= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$ERASE_LINE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ERASE_LINE .PAGE .SBTTL SMG$ERASE_PASTEBOARD ;----------------------------------------------------------------------; ; ; ; ; ; Erase pasteboard ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro erases a pasteboard; that is, it clears the screen. ; ;----------------------------------------------------------------------; .MACRO SMG$ERASE_PASTEBOARD - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$ERASE_PASTEBOARD SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$ERASE_PASTEBOARD .PAGE .SBTTL SMG$FIND_CURSOR_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Find cursor display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the identifier of the most recently ; ; pasted virtual display that contains the cursor. ; ;----------------------------------------------------------------------; .MACRO SMG$FIND_CURSOR_DISPLAY - PASTEBOARD_ID= ,- DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$FIND_CURSOR_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$FIND_CURSOR_DISPLAY .PAGE .SBTTL SMG$FLUSH_BUFFER ;----------------------------------------------------------------------; ; ; ; ; ; Flush buffer ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro flushes all buffered output to the terminal. ; ;----------------------------------------------------------------------; .MACRO SMG$FLUSH_BUFFER - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$FLUSH_BUFFER SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$FLUSH_BUFFER .PAGE .SBTTL SMG$GET_BROADCAST_MESSAGE ;----------------------------------------------------------------------; ; ; ; ; ; Get broadcast message ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro determines whether a message has been ; ; broadcast to the pasteboard and returns the message. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_BROADCAST_MESSAGE - PASTEBOARD_ID= ,- MESSAGE= ,- MESSAGE_LENGTH= ,- MESSAGE_SENDER_PID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[WT.DX]>> ,- <,<[WW.R]>> ,- <,<[WLU.R]>> SMG$XEQ SMG$GET_BROADCAST_MESSAGE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_BROADCAST_MESSAGE .PAGE .SBTTL SMG$GET_CHAR_AT_PHYSICAL_CURSOR ;----------------------------------------------------------------------; ; ; ; ; ; Get character at cursor ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the character at the current ; ; physical cursor position. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_CHAR_AT_PHYSICAL_CURSOR - PASTEBOARD_ID= ,- CHARACTER= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$GET_CHAR_AT_PHYSICAL_CURSOR SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_CHAR_AT_PHYSICAL_CURSOR .PAGE .SBTTL SMG$GET_DISPLAY_ATTR ;----------------------------------------------------------------------; ; ; ; ; ; Get display attributes ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns attributes associated with a ; ; virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_DISPLAY_ATTR - DISPLAY_ID= ,- HEIGHT= ,- WIDTH= ,- DISPLAY_ATTRIBUTES= ,- VIDEO_ATTRIBUTES= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,<[WLU.R]>> ,- <,<[WLU.R]>> ,- <,<[WLU.R]>> SMG$XEQ SMG$GET_DISPLAY_ATTR SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_DISPLAY_ATTR .PAGE .SBTTL SMG$GET_KEY_DEF ;----------------------------------------------------------------------; ; ; ; ; ; Get key definition ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the key definition for a specified key. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_KEY_DEF - KEY_TABLE_ID= ,- KEY_NAME= ,- IF_STATE= ,- ATTRIBUTES= ,- EQUIV_STRING= ,- STATE_STRING= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[WLU.R]>> ,- <,<[WT.DX]>> ,- <,<[WT.DX]>> SMG$XEQ SMG$GET_KEY_DEF SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_KEY_DEF .PAGE .SBTTL SMG$GET_PASTEBOARD_ATTRIBUTES ;----------------------------------------------------------------------; ; ; ; ; ; Get pasteboard attributes ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro gets pasteboard attributes and stores them ; ; in the pasteboard information table. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_PASTEBOARD_ATTRIBUTES - PASTEBOARD_ID= ,- PASTEBOARD_INFO_TABLE= ,- PASTEBOARD_INFO_TABLE_SIZE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> SMG$XEQ SMG$GET_PASTEBOARD_ATTRIBUTES SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_PASTEBOARD_ATTRIBUTES .PAGE .SBTTL SMG$GET_PHYSICAL_CURSOR ;----------------------------------------------------------------------; ; ; ; ; ; Get physical cursor ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro gets the physical cursor position in the ; ; current pasteboard. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_PHYSICAL_CURSOR - PASTEBOARD_ID= ,- PASTEBOARD_ROW= ,- PASTEBOARD_COLUMN= ,- PASTEBOARD_PHYS_ROW= ,- PASTEBOARD_PHYS_COLUMN= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[WL.R]>> ,- <,<[WL.R]>> ,- <,<[WL.R]>> ,- <,<[WL.R]>> SMG$XEQ SMG$GET_PHYSICAL_CURSOR SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_PHYSICAL_CURSOR .PAGE .SBTTL SMG$GET_TERM_DATA ;----------------------------------------------------------------------; ; ; ; ; ; Get terminal data from termtable database ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro accesses TERMTABLE.EXE and returns the ; ; character sequence that causes a non-DIGITAL terminal ; ; to perform a specified operation. ; ;----------------------------------------------------------------------; .MACRO SMG$GET_TERM_DATA - TERMTABLE_ADDRESS= ,- REQUEST_CODE= ,- MAX_BUFFER_LENGTH= ,- RETURN_LENGTH= ,- BUFFER_ADDRESS= ,- INPUT_ARGUMENT_VECTOR= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> SMG$XEQ SMG$GET_TERM_DATA SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$GET_TERM_DATA .PAGE .SBTTL SMG$HOME_CURSOR ;----------------------------------------------------------------------; ; ; ; ; ; Home cursor ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro moves the cursor to the specified corner ; ; of a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$HOME_CURSOR - DISPLAY_ID= ,- POSITION= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> SMG$XEQ SMG$HOME_CURSOR SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$HOME_CURSOR .PAGE .SBTTL SMG$INIT_TERM_TABLE ;----------------------------------------------------------------------; ; ; ; ; ; Initialize termtable for specified terminal name ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro initializes the TERMTABLE database for the ; ; (non-DIGITAL) terminal named, so that subsequent calls to ; ; SMG$GET_TERM_DATA can extract information and command ; ; strings for that terminal. ; ;----------------------------------------------------------------------; .MACRO SMG$INIT_TERM_TABLE - TERMINAL_NAME= ,- TERM_ENTRY_ADDRESS= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$INIT_TERM_TABLE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$INIT_TERM_TABLE .PAGE .SBTTL SMG$INIT_TERM_TABLE_BY_TYPE ;----------------------------------------------------------------------; ; ; ; ; ; Initialize termtable for specified terminal type ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro initializes the TERMTABLE database for ; ; the (non-DIGITAL) terminal named, so that subsequent ; ; calls to SMG$GET_TERM_DATA can extract information ; ; and command strings for that terminal. ; ;----------------------------------------------------------------------; .MACRO SMG$INIT_TERM_TABLE_BY_TYPE - TERMINAL_TYPE.RB.R TERM_ENTRY_ADDRESS= ,- TERMINAL_NAME= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[WT.DX]>> SMG$XEQ SMG$INIT_TERM_TABLE_BY_TYPE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$INIT_TERM_TABLE_BY_TYPE .PAGE .SBTTL SMG$INSERT_CHARS ;----------------------------------------------------------------------; ; ; ; ; ; Insert characters ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro inserts characters into a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$INSERT_CHARS - DISPLAY_ID= ,- STRING= ,- ROW= ,- COLUMN= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$INSERT_CHARS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$INSERT_CHARS .PAGE .SBTTL SMG$INSERT_LINE ;----------------------------------------------------------------------; ; ; ; ; ; Insert line ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro inserts a line into a virtual display and ; ; scrolls the display. ; ;----------------------------------------------------------------------; .MACRO SMG$INSERT_LINE - DISPLAY_ID= ,- ROW_NUMBER= ,- STRING= ,- DIRECTION= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- WRAP_FLAG= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$INSERT_LINE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$INSERT_LINE .PAGE .SBTTL SMG$INVALIDATE_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Invalidate display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro marks a display as invalid and causes the ; ; entire display to be redrawn the next time the Screen ; ; Management Facility writes data to the display. ; ;----------------------------------------------------------------------; .MACRO SMG$INVALIDATE_DISPLAY - DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$INVALIDATE_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$INVALIDATE_DISPLAY .PAGE .SBTTL SMG$LABEL_BORDER ;----------------------------------------------------------------------; ; ; ; ; ; Label border ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro supplies a label for a virtual display's border. ; ;----------------------------------------------------------------------; .MACRO SMG$LABEL_BORDER - DISPLAY_ID= ,- LABEL_TEXT= ,- POSITION= ,- UNITS= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RT.DX]>> ,- <,<[RLU.R]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$LABEL_BORDER SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$LABEL_BORDER .PAGE .SBTTL SMG$LIST_KEY_DEFS ;----------------------------------------------------------------------; ; ; ; ; ; List key definitions ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the definition (equivalence string) ; ; associated with a specified key in a specified key table. ; ;----------------------------------------------------------------------; .MACRO SMG$LIST_KEY_DEFS - KEY_TABLE_ID= ,- CONTEXT.ML.R KEY_NAME= ,- IF_STATE= ,- ATTRIBUTES= ,- EQUIV_STRING= ,- STATE_STRING= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[RT.DX]>> ,- <,<[WLU.R]>> ,- <,<[WT.DX]>> ,- <,<[WT.DX]>> SMG$XEQ SMG$LIST_KEY_DEFS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$LIST_KEY_DEFS .PAGE .SBTTL SMG$LOAD_KEY_DEFS ;----------------------------------------------------------------------; ; ; ; ; ; Load key definitions ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro loads a file of key definition (DEFINE/KEY ; ; commands) into a specified key table. ; ;----------------------------------------------------------------------; .MACRO SMG$LOAD_KEY_DEFS - KEY_TABLE_ID= ,- FILESPEC= ,- DEFAULT_FILESPEC= ,- LOGNAM_FLAG= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[RL.R]>> SMG$XEQ SMG$LOAD_KEY_DEFS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$LOAD_KEY_DEFS .PAGE .SBTTL SMG$MOVE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Move virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro relocates a virtual display on a pasteboard ; ; and preserves the pasting order. ; ;----------------------------------------------------------------------; .MACRO SMG$MOVE_VIRTUAL_DISPLAY - DISPLAY_ID= ,- PASTEBOARD_ID= ,- PASTEBOARD_ROW= ,- PASTEBOARD_COLUMN= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> SMG$XEQ SMG$MOVE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$MOVE_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$PASTE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Paste virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro pastes a virtual display to a pasteboard. ; ;----------------------------------------------------------------------; .MACRO SMG$PASTE_VIRTUAL_DISPLAY - DISPLAY_ID= ,- PASTEBOARD_ID= ,- PASTEBOARD_ROW= ,- PASTEBOARD_COLUMN= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> SMG$XEQ SMG$PASTE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PASTE_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$POP_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Pop virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro deletes a specified virtual display and all ; ; displays that were pasted on the specified pasteboard ; ; after the specified virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$POP_VIRTUAL_DISPLAY - DISPLAY_ID= ,- PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$POP_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$POP_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$PUT_CHARS ;----------------------------------------------------------------------; ; ; ; ; ; Put characters ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro overwrites characters in a virtual display ; ; with the text you specify. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_CHARS - DISPLAY_ID= ,- TEXT= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- ERASE_FLAG= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_CHARS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_CHARS .PAGE .SBTTL SMG$PUT_CHARS_HIGHWIDE ;----------------------------------------------------------------------; ; ; ; ; ; Write double-height double-width characters ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro writes double-height, double-width characters ; ; to a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_CHARS_HIGHWIDE - DISPLAY_ID= ,- TEXT= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_CHARS_HIGHWIDE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_CHARS_HIGHWIDE .PAGE .SBTTL SMG$PUT_CHARS_WIDE ;----------------------------------------------------------------------; ; ; ; ; ; Write single-height double-width characters ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro writes single-height, double-width characters ; ; to a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_CHARS_WIDE - DISPLAY_ID= ,- TEXT= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_CHARS_WIDE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_CHARS_WIDE .PAGE .SBTTL SMG$PUT_LINE ;----------------------------------------------------------------------; ; ; ; ; ; Put line ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro writes a line of text to a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_LINE - DISPLAY_ID= ,- TEXT= ,- LINE_ADVANCE= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- WRAP_FLAG= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_LINE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_LINE .PAGE .SBTTL SMG$PUT_LINE_WIDE ;----------------------------------------------------------------------; ; ; ; ; ; Write line with double-width text ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro writes a line of single-height, double-width ; ; text to a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_LINE_WIDE - DISPLAY_ID= ,- TEXT= ,- LINE_ADVANCE= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- WRAP_FLAG= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_LINE_WIDE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_LINE_WIDE .PAGE .SBTTL SMG$PUT_VIRTUAL_DISPLAY_ENCODED ;----------------------------------------------------------------------; ; ; ; ; ; Write encoded string to virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro lets you write a string that has multiple ; ; renditions to a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_VIRTUAL_DISPLAY_ENCODED - DISPLAY_ID= ,- ENCODED_LENGTH= ,- ENCODED_TEXT= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- WRAP_FLAG= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,<[RWU.R]>> ,- <,<[RWU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_VIRTUAL_DISPLAY_ENCODED SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_VIRTUAL_DISPLAY_ENCODED .PAGE .SBTTL SMG$PUT_WITH_SCROLL ;----------------------------------------------------------------------; ; ; ; ; ; Put with scroll ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro writes a line of text to a virtual display ; ; and scrolls the display if necessary. ; ;----------------------------------------------------------------------; .MACRO SMG$PUT_WITH_SCROLL - DISPLAY_ID= ,- STRING= ,- DIRECTION= ,- RENDITION_SET= ,- RENDITION_COMPLEMENT= ,- WRAP_FLAG= ,- CHAR_SET= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RT.DX]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$PUT_WITH_SCROLL SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$PUT_WITH_SCROLL .PAGE .SBTTL SMG$READ_COMPOSED_LINE ;----------------------------------------------------------------------; ; ; ; ; ; Read composed line ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro reads a line of input composed of normal ; ; keystrokes and equivalence strings. ; ;----------------------------------------------------------------------; .MACRO SMG$READ_COMPOSED_LINE - KEYBOARD_ID= ,- KEY_TABLE_ID= ,- RECEIVED_TEXT= ,- PROMPT_STRING= ,- RECEIVED_STRING_LENGTH= ,- DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[WWU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$READ_COMPOSED_LINE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$READ_COMPOSED_LINE .PAGE .SBTTL SMG$READ_FROM_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Read from display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro reads a line of text from a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$READ_FROM_DISPLAY - DISPLAY_ID= ,- RETURNED_STRING= ,- TERMINATOR_STRING= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> SMG$XEQ SMG$READ_FROM_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$READ_FROM_DISPLAY .PAGE .SBTTL SMG$READ_STRING ;----------------------------------------------------------------------; ; ; ; ; ; Read string ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro reads a string from a virtual keyboard. ; ;----------------------------------------------------------------------; .MACRO SMG$READ_STRING - KEYBOARD_ID= ,- RECEIVED_TEXT= ,- PROMPT_STRING= ,- MAX_LENGTH= ,- MODIFIERS= ,- TIMEOUT= ,- TERMINATOR_SET= ,- RECEIVED_STRING_LENGTH= ,- TERMINATOR_CODE= ,- DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RT.DX]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RL.R]>> ,- <,<[RT.DS]>> ,- <,<[WWU.R]>> ,- <,<[WWU.R]>> ,- <,<[RLU.R]>> SMG$XEQ SMG$READ_STRING SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$READ_STRING .PAGE .SBTTL SMG$REPAINT_SCREEN ;----------------------------------------------------------------------; ; ; ; ; ; Repaint Screen ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro repaints the current screen after non-SMG ; ; I/O has occurred. ; ;----------------------------------------------------------------------; .MACRO SMG$REPAINT_SCREEN - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$REPAINT_SCREEN SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$REPAINT_SCREEN .PAGE .SBTTL SMG$REPASTE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Repaste virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro moves a virtual display to a new position ; ; on the pasteboard. The pasting order is not preserved. ; ;----------------------------------------------------------------------; .MACRO SMG$REPASTE_VIRTUAL_DISPLAY - DISPLAY_ID= ,- PASTEBOARD_ID= ,- PASTEBOARD_ROW= ,- PASTEBOARD_COLUMN= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,> SMG$XEQ SMG$REPASTE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$REPASTE_VIRTUAL_DISPLAY .PAGE .SBTTL SMG$RESTORE_PHYSICAL_SCREEN ;----------------------------------------------------------------------; ; ; ; ; ; Restore physical screen ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro rewrites the screen image as it was at the ; ; time SMG$SAVE_PHYSICAL_SCREEN routine was called. ; ;----------------------------------------------------------------------; .MACRO SMG$RESTORE_PHYSICAL_SCREEN - PASTEBOARD_ID= ,- DISPLAY_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$RESTORE_PHYSICAL_SCREEN SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$RESTORE_PHYSICAL_SCREEN .PAGE .SBTTL SMG$RETURN_CURSOR_POS ;----------------------------------------------------------------------; ; ; ; ; ; Return cursor position ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro returns the current cursor position in a ; ; specified virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$RETURN_CURSOR_POS - DISPLAY_ID= ,- ROW_NUMBER= ,- COLUMN_NUMBER= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> SMG$XEQ SMG$RETURN_CURSOR_POS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$RETURN_CURSOR_POS .PAGE .SBTTL SMG$RING_BELL ;----------------------------------------------------------------------; ; ; ; ; ; Ring terminal bell ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro sounds the terminal bell or buzzer. ; ;----------------------------------------------------------------------; .MACRO SMG$RING_BELL - DISPLAY_ID= ,- NUMBER_OF_TIMES= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> SMG$XEQ SMG$RING_BELL SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$RING_BELL .PAGE .SBTTL SMG$SAVE_PHYSICAL_SCREEN ;----------------------------------------------------------------------; ; ; ; ; ; Save physical screen ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro saves the contents of the screen so that a ; ; later call to SMG$RESTORE_PHYSICAL_SCREEN can restore it. ; ;----------------------------------------------------------------------; .MACRO SMG$SAVE_PHYSICAL_SCREEN - PASTEBOARD_ID= ,- DISPLAY_ID= ,- DESIRED_ROW_START= ,- DESIRED_ROW_END= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$SAVE_PHYSICAL_SCREEN SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SAVE_PHYSICAL_SCREEN .PAGE .SBTTL SMG$SCROLL_DISPLAY_AREA ;----------------------------------------------------------------------; ; ; ; ; ; Scroll display area ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro scrolls a rectangular region of a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$SCROLL_DISPLAY_AREA - DISPLAY_ID= ,- STARTING_ROW= ,- STARTING_COLUMN_NUMBER= ,- HEIGHT= ,- WIDTH= ,- DIRECTION= ,- COUNT= , SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RL.R]>> ,- <,<[RLU.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$SCROLL_DISPLAY_AREA SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SCROLL_DISPLAY_AREA .PAGE .SBTTL SMG$SET_BROADCAST_TRAPPING ;----------------------------------------------------------------------; ; ; ; ; ; Set broadcast trapping ; ; ; ; ; ;----------------------------------------------------------------------; ; This routine enables or disables the trapping of ; ; broadcast messages. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_BROADCAST_TRAPPING - PASTEBOARD= ,- AST_ROUTINE= ,- AST_PARAMETER= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RZ.R]>> SMG$XEQ SMG$SET_BROADCAST_TRAPPING SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_BROADCAST_TRAPPING .PAGE .SBTTL SMG$SET_CURSOR_ABS ;----------------------------------------------------------------------; ; ; ; ; ; Set absolute cursor position ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro moves the cursor to the specified position ; ; in a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_CURSOR_ABS - DISPLAY_ID= ,- ROW= ,- COLUMN= SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$SET_CURSOR_ABS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_CURSOR_ABS .PAGE .SBTTL SMG$SET_CURSOR_REL ;----------------------------------------------------------------------; ; ; ; ; ; Set relative cursor position ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro moves the cursor the specified number of rows ; ; and columns from the current cursor position in a ; ; virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_CURSOR_REL - DISPLAY_ID= ,- ROW= ,- COLUMN= SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$SET_CURSOR_REL SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_CURSOR_REL .PAGE .SBTTL SMG$SET_DEFAULT_STATE ;----------------------------------------------------------------------; ; ; ; ; ; Set default state ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro sets and/or returns the current default ; ; state for a key table. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_DEFAULT_STATE - KEY_TABLE_ID= ,- NEW_STATE= ,- OLD_STATE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RT.DX]>> ,- <,<[WT.DX]>> SMG$XEQ SMG$SET_DEFAULT_STATE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_DEFAULT_STATE .PAGE .SBTTL SMG$SET_DISPLAY_SCROLL_REGION ;----------------------------------------------------------------------; ; ; ; ; ; Set display scroll region ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro creates a scrolling region in a virtual display. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_DISPLAY_SCROLL_REGION - DISPLAY_ID= ,- STARTING_ROW= ,- ENDING_ROW= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,<[RL.R]>> ,- <,<[RL.R]>> SMG$XEQ SMG$SET_DISPLAY_SCROLL_REGION SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_DISPLAY_SCROLL_REGION .PAGE .SBTTL SMG$SET_KEYPAD_MODE ;----------------------------------------------------------------------; ; ; ; ; ; Set keypad mode ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro sets the terminal's numeric keypad to ; ; either numeric or application mode. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_KEYPAD_MODE - KEYBOARD_ID= ,- NEW_MODE= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$SET_KEYPAD_MODE SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_KEYPAD_MODE .PAGE .SBTTL SMG$SET_OUT_OF_BAND_ASTS ;----------------------------------------------------------------------; ; ; ; ; ; Set out of band ASTs ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro either enables or disables the trapping of ; ; out-of-band characters. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_OUT_OF_BAND_ASTS - PASTEBOARD_ID= ,- CONTROL_CHAR_MASK= ,- AST_ROUTINE= ,- AST_ARGUMENT= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> ,- <,<[RLU.R]>> SMG$XEQ SMG$SET_OUT_OF_BAND_ASTS SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_OUT_OF_BAND_ASTS .PAGE .SBTTL SMG$SET_PHYSICAL_CURSOR ;----------------------------------------------------------------------; ; ; ; ; ; Set physical cursor ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro moves the cursor to the specified position ; ; on the physical screen. ; ;----------------------------------------------------------------------; .MACRO SMG$SET_PHYSICAL_CURSOR - PASTEBOARD_ID= ,- PASTEBOARD_ROW= ,- PASTEBOARD_COLUMN= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> ,- <,> SMG$XEQ SMG$SET_PHYSICAL_CURSOR SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SET_PHYSICAL_CURSOR .PAGE .SBTTL SMG$SNAPSHOT ;----------------------------------------------------------------------; ; ; ; ; ; Snapshot ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro writes the specified pasteboard buffer ; ; to the file or hardcopy terminal specified by pasteboard-id. ; ;----------------------------------------------------------------------; .MACRO SMG$SNAPSHOT - PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> SMG$XEQ SMG$SNAPSHOT SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$SNAPSHOT .PAGE .SBTTL SMG$UNPASTE_VIRTUAL_DISPLAY ;----------------------------------------------------------------------; ; ; ; ; ; Unpaste virtual display ; ; ; ; ; ;----------------------------------------------------------------------; ; This macro routines a virtual display from a pasteboard. ; ;----------------------------------------------------------------------; .MACRO SMG$UNPASTE_VIRTUAL_DISPLAY - DISPLAY_ID= ,- PASTEBOARD_ID= ,- SUCCESS= ,- FAILURE= SMG$DEFINE_ARGUMENT_LIST_VALUES SMG$LOAD_GENERAL_ARGUMENT_LIST - <,> ,- <,> SMG$XEQ SMG$UNPASTE_VIRTUAL_DISPLAY SMG$CHECK_COMPLETION_STATUS - SUCCESS_ROUTINE= ,- FAILURE_ROUTINE= .ENDM SMG$UNPASTE_VIRTUAL_DISPLAY .PAGE .SBTTL End of SMG$ macro definitions ;----------------------------------------------------------------------; ; ; ; ; ; End of SMG$ macro definitions ; ; ; ; ; ;----------------------------------------------------------------------; .END