.MACRO $DABDEF, $GBL ; Macro-32 DATATRIEVE Access Block ; ; B. Z. Lederman 15-Jul-1986 $DEFINI DAB, $GBL ; use the VMS system definitions ; Constants $EQU DTR$K_STL_CMD 1 $EQU DTR$K_STL_PRMPT 2 $EQU DTR$K_STL_LINE 3 $EQU DTR$K_STL_MSG 4 $EQU DTR$K_STL_PGET 5 $EQU DTR$K_STL_PPUT 6 $EQU DTR$K_STL_CONT 7 $EQU DTR$K_STL_UDK 8 $EQU DTR$K_STL_END_UDK 9 $EQU DTR$K_SEMI_COLON_OPT 1 $EQU DTR$K_UNQUOTED_LIT 16 $EQU DTR$K_SYNTAX_PROMPT 32 $EQU DTR$K_IMMED_RETURN 64 $EQU DTR$K_FORMS_ENABLE 128 $EQU DTR$K_VERIFY 256 $EQU DTR$K_CONTEXT_SEARCH 2048 $EQU DTR$K_HYPHEN_DISABLED 4096 $EQU DTR$K_MORE_COMMANDS 8192 $EQU DTR$K_ABORT 16384 $EQU DTR$K_LOCK_WAIT 32768 $EQU DTR$M_OPT_CMD 1 $EQU DTR$M_OPT_PRMPT 2 $EQU DTR$M_OPT_LINE 4 $EQU DTR$M_OPT_MSG 8 $EQU DTR$M_OPT_PGET 16 $EQU DTR$M_OPT_PPUT 32 $EQU DTR$M_OPT_CONT 64 $EQU DTR$M_OPT_UDK 128 $EQU DTR$M_OPT_DTR_UDK 256 $EQU DTR$M_OPT_END_UDK 512 $EQU DTR$M_OPT_UNWIND 1024 $EQU DTR$M_OPT_CONTROL_C 2048 $EQU DTR$M_OPT_STARTUP 4096 $EQU DTR$M_OPT_FOREIGN 8192 $EQU DTR$M_OPT_BANNER 16384 $EQU DTR$M_OPT_REMOVE_CTLC 32768 $EQU DTR$K_UDK_SET 1 $EQU DTR$K_UDK_SET_NO 2 $EQU DTR$K_UDK_SHOW 3 $EQU DTR$K_UDK_STATEMENT 4 $EQU DTR$K_UDK_COMMAND 5 $EQU DTR$K_TOK_TOKEN 1 $EQU DTR$K_TOK_PICTURE 2 $EQU DTR$K_TOK_FILENAME 3 $EQU DTR$K_TOK_COMMAND 4 $EQU DTR$K_TOK_TEST_TOKEN 5 ; This is where the data is passed between programs. This ; definition is compatible with FORTRAN COMMONs .PSECT DAB_COMMON, pic, ovr, rel, gbl, shr, noexe, rd, wrt, long DAB: ; .BLKB 100 DAB$B_BID: .BLKB 1 DAB$B_BLN: .BLKB 1 DAB$L_CONDITION: .BLKL 1 DAB$A_MSG_BUF: .BLKL 1 DAB$W_MSG_BUF_LEN: .BLKW 1 DAB$W_MSG_LEN: .BLKW 1 DAB$A_AUX_BUF: .BLKL 1 DAB$W_AUX_BUF_LEN: .BLKW 1 DAB$W_AUX_LEN: .BLKW 1 DAB$W_IDI: .BLKW 1 DAB$W_STATE: .BLKW 1 DAB$L_FLAGS: .BLKL 1 DAB$L_OPTIONS: .BLKL 1 DAB$W_REC_LENGTH: .BLKW 1 DAB$W_VERSION: .BLKW 1 DAB$W_LEVEL: .BLKW 1 DAB$B_VER_LETTER: .BLKB 1 DAB$W_BASE_LEVEL: .BLKW 1 DAB$W_UDK_INDEX: .BLKW 1 DAB$W_COLUMNS_PAGE: .BLKW 1 DAB$W_TT_CHANNEL: .BLKW 1 .blkb 51. ; total length of DAB_COMMON ; should be 100. bytes .PSECT DTR$BUFFERS, pic, ovr, rel, gbl, shr, noexe, rd, wrt, long ; Here are two definitions which are not part of the "official" ; definition but are nevertheless useful. $EQU DTR$MSG_BUF_LEN 80 $EQU DTR$AUX_BUF_LEN 20 DTR$MSG_BUF: .BLKB DTR$MSG_BUF_LEN DTR$AUX_BUF: .BLKB DTR$AUX_BUF_LEN $DEFEND DAB, $GBC, DEF .ENDM