Trailing-Edge
-
PDP-10 Archives
-
BB-FB49A-RM
-
sources/sntsyn.mac
There are no other files named sntsyn.mac in the archive.
TITLE SNTSYN SNT Operator Command Syntax Table
; ====== ---------------------------------
; VERSION 1.03
;
; Copyright (c) 1984, 1985 by
; DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts 01754
;
; This software is furnished under a license and may be used and copied
; only in accordance with the terms of such license and with the
; inclusion of the above copyright notice. This software or any other
; copies thereof may not be provided or otherwise made available to any
; other person. No title to and ownership of the software is hereby
; transferred.
;
; The information in this software is subject to change without notice
; and should not be construed as a commitment by Digital Equipment
; Corporation.
;
; Digital assumes no responsibility for the use or reliability of its
; software on equipment which is not supplied by Digital.
;++
; FACILITY: DECnet/SNA TOPS-20 Trace Utility Command Tables.
;
; ABSTRACT: This module defines the syntax of SNT commands.
;
; ENVIRONMENT: TOPS-20 Operating Systems, user mode.
;
; AUTHOR: Dennis Brannon, CREATION DATE: January 17, 1984
;
; MODIFIED BY:
;
; D. Brannon, 11-Oct-84 : VERSION 1.00
;
; 1.01 D. Brannon, 22-Oct-84
; Change the command tables so that they are all in a single table.
; Also changed the 2 word switches to have to have a "-" inbetween them.
;
; 1.02 D. Brannon, 22-Oct-84
; Add the "/CHARACTER-SET:filespec" switch to the "ANALYZE" command.
;
; 1.03 D. Brannon, 31-Jan-85
; Modified the SNTKEY macro to allow flags, and added the CM%INV
; (make keyword invisible) flag for the DDT and DEBUG keywords.
;--
SALL ; Keep listing clean looking
SUBTTL Declarations
SEARCH MONSYM ; Monitor universal symbols
SEARCH MACSYM ; System wide macro definitions
SEARCH GLXMAC ; GALAXY universal definitions
SEARCH ORNMAC ; OPR/ORION universal definitions
SUBTTL Macro Definitions for creating tables
; PRTVAL (symbol, code, keyword)
; Print out symbols, values and keywords
DEFINE PRTVAL (SYM,CODE,KEY), <
PRINTX 'SYM = 'CODE ('KEY)
> ; End of PRTVAL macro definition
; WARNING (symbol, code)
; Print out warning for duplicated symbols with different values
DEFINE WARNING (SYM,VAL,CODE), <
IFDIF <'VAL><'CODE>, <
PRINTX WARNING - 'SYM has been defined as 'VAL, now as 'CODE>
> ; End of WARNING macro definition
; SNTKEY (next-pdb, symbol-suffix, keyword)
; Make user command keyword table entry
..X==0
IF2 <PURGE ..X>
DEFINE SNTKEY (NEXT,CODE,KEYWORD,FLAGS), <
IFNDEF CMD'CODE, <
CMD'CODE==:..X
..X==..X+1
IFN .CLIST, <PRINTX <CMD'CODE = 'KEYWORD>>>
IFB <NEXT>, <KEYTAB (CMD'CODE,KEYWORD)>
IFNB <NEXT>, <DSPTAB (NEXT,CMD'CODE,KEYWORD,FLAGS)>
> ; End of SNTKEY macro definition
; VALKEY (next-pdb, keyword, value, symbol-suffix)
; Make parameter keyword table entry
DEFINE VALKEY (NEXT,CODE,VALUE,KEYWORD), <
IF1 <IFNB <CODE>, <
IFN .CLIST, <PRTVAL (KV'CODE,\<VALUE!1B18>,KEYWORD)>
IFDEF KV'CODE, <WARNING (KV'CODE,\<KV'CODE>,\<VALUE!1B18>)>
IFNDEF KV'CODE, <KV'CODE==:VALUE!1B18>>>
IFB <NEXT>, <KEYTAB (KV'CODE,KEYWORD)>
IFNB <NEXT>, <DSPTAB (NEXT,KV'CODE,KEYWORD)>
> ; End of VALKEY macro definition
; PARKEY (next-pdb, keyword, value, symbol-suffix)
; Make value parameter keyword table entry
DEFINE PARKEY (NEXT,CODE,VALUE,KEYWORD), <
IF1 <IFNB <CODE>, <
IFN .CLIST, <PRTVAL (KY'CODE,VALUE,KEYWORD)>
IFDEF KY'CODE, <WARNING (KY'CODE,\<KY'CODE>,\<VALUE>)>
IFNDEF KY'CODE, <KY'CODE==:VALUE>>>
IFB <NEXT>, <KEYTAB (KY'CODE,KEYWORD)>
IFNB <NEXT>, <DSPTAB (NEXT,KY'CODE,KEYWORD)>
> ; End of PARKEY macro definition
SUBTTL Macro Definitions for Parsing Network File Spec
; NETIFI (next-pdb) - Parse network node name with optional data in
; the format of node"user password"::
DEFINE NETIFI (NEXT,NODADR,%A,%B,%C), <
$FIELD (%A,<Gateway Node Name>,<$FLAGS(CM%SDH+CM%BRK),$BREAK(NODBRK),$PDEFAULT(NODADR)>)
%A: $TOKEN (NEXT,<::>,<$DEFAULT(<::>),$HELP(<"::" To Terminate Node Name>),$ALTERNATE(%B)>)
%B: $QUOTE (%C,<"user password">)
%C: $TOKEN (NEXT,<::>,<$DEFAULT(<::>),$HELP(<"::" To Terminate Node Name>)>)
IF2 <PURGE %A,%B,%C>
> ; End of NETIFI macro definition
; TRACE
; Parse TRACE parameters
DEFINE TRACE (NEXT,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%X,%Y,%Z),<
; $CTEXT (%X,<SNA messages>)
%X: NETIFI (%Y,SNAGAT)
%Y: $FIELD (%Z,<circuit-id>,<$DEFAULT(SDP-0),$FLAGS(CM%SDH+CM%BRK),$BREAK(LITBRK)>)
%Z: $SWIDSP (%A,<$ALTERNATE(CONFRM)>)
%A: $STAB
PARKEY (%Z,ANT,^D1,<ANALYZE>)
PARKEY (%C,BUF,^D2,<BUFFERS:>)
PARKEY (%D,CHA,^D3,<CHARACTER-SET:>)
PARKEY (%Z,CIR,^D4,<CIRCUIT>)
PARKEY (%F,ENT,^D5,<ENTRIES:>)
PARKEY (%G,TFL,^D6,<OUTPUT:>)
PARKEY (%H,PAS,^D7,<PASSWORD:>)
PARKEY (%Z,PUN,^D8,<PU>)
PARKEY (%J,SES,^D9,<SESSION:>)
PARKEY (%K,SIZ,^D10,<SIZE:>)
PARKEY (%L,USR,^D11,<USER:>)
PARKEY (%M,VER,^D12,<VERSION-LIMIT:>)
PARKEY (%Z,TWD,^D13,<WIDE>)
$ETAB
%C: $NUMBER (%Z,^D10,<Number of trace buffers>)
%D: $IFILE (%Z,<Translation table file-spec>)
%F: $NUMBER (%Z,^D10,<Maximum number of trace entries per file>)
%G: $OFILE (%Z,<Output file-spec>)
%H: $FIELD (%Z,<Gateway password>)
%J: $NUMBER (%Z,^D10,<Session number 0-255 level trace>)
%K: $NUMBER (%Z,^D10,<Maximum number of bytes per trace message>)
%L: $FIELD (%Z,<Gateway user>)
%M: $NUMBER (%Z,^D10,<Maximum number of trace files>)
> ;End of TRACE macro definition
SUBTTL Macro Definition for ANALYZE command
; ANALYZE
; Analyze SNA trace data switches
DEFINE ANALYZE (%A,%B,%C,%D,%E,%F), <
$NOISE (%A,<Filespec>,$ALTERNATE(CONFRM))
%A: $IFILE (%B,<Filespec>,<$ALTERNATE(%B),$DEFAULT(DSK:SNT.DAT)>)
%B: $SWIDSP (%C,$ALTERNATE(CONFRM))
%C: $STAB
PARKEY (%D,CHS,^D1,<CHARACTER-SET:>)
PARKEY (%E,OUT,^D2,<OUTPUT:>)
PARKEY (%F,WID,^D3,<WIDE>)
$ETAB
%D: $IFILE (%B,<Translation table file-spec>)
%E: $OFILE (%B,<Filename>,<$ALTERNATE(CONFRM),$DEFAULT(DSK:SNT.LST)>)
%F: $NOISE (%B,<132 Columns>)
> ;End of ANALYZE macro definition
SUBTTL Local symbols and storage
IFNDEF .CLIST, <.CLIST==0>
EXP PB$INI
EXP SNTCMD
SUBTTL Parsing Break Masks
DSTBRK: BRMSK. (EOLB0.,EOLB1.,EOLB2.,EOLB3.,,</>) ; Break set
NODBRK: BRMSK. (FLDB0.,FLDB1.,FLDB2.,FLDB3.,<_>,<->) ; Node name field
; Mask for all printing characters. NOTE: Special handling is required for
; double quote (") and comma (,) characters. Two bits which were shifted left
; 33 and 23 positions in the second field are set to indicate (") and (,),
; respectively.
; BRMSK. calls UNBRK. with double quote as a delimiter which prevents use of
; that character in the string argument to this macro. Since both sets of
; quoting characters are used in the string comma must be specially handled
; lest it would be interpreted as an argument delimeter.
LITBRK: BRMSK. (FLDB0.,<FLDB1.&<^-<1_^D33!1_^D23>>>,FLDB2.,FLDB3.,!#$%&'()*+-.:;<=>?@[\]^_`{|}~)
HEXBRK: BRMSK. (-1,-1,-1,-1,0123456789ABCDEFabcdef) ; Hexadecimal field
DECBRK: BRMSK. (-1,-1,-1,-1,0123456789) ; Decimal field
SNAGAT:: BLOCK 2 ; SNA Gateway Node Name from logical name SNAGAT:
SUBTTL Primary Command Table
PB$INI::$INIT (SNTCMD)
SNTCMD: $KEYDSP (SNTTAB) ; SNT Commands
SNTTAB:: $STAB
SNTKEY (PB$ANL,ANL,<ANALYZE>)
SNTKEY (CONFRM,DDT,<DDT>,CM%INV)
SNTKEY (CONFRM,DEB,<DEBUG>,CM%INV)
SNTKEY (PB$EXT,EXT,<EXIT>)
SNTKEY (CONFRM,HLP,<HELP>)
SNTKEY (CONFRM,PSH,<PUSH>)
SNTKEY (PB$TAK,TAK,<TAKE>)
SNTKEY (PB$TRA,TRA,<TRACE>)
$ETAB
CONFRM: $CRLF
SUBTTL ANALYZE - Provide Analyze Command
PB$ANL: ANALYZE
SUBTTL EXIT - Exit from program
PB$EXT: $NOISE (CONFRM,<from program>)
SUBTTL TAKE - Process Indirect Command File
PB$TAK: $NOISE (TAK100,<commands from file>)
TAK100: $IFILE (TAK102)
TAK102: $SWIDSP (TAK104,<$ALTERNATE(CONFRM)>)
TAK104: $STAB
PARKEY (CONFRM,DIS,^D0,<DISPLAY>)
$ETAB
SUBTTL TRACE - Provide Trace Command
PB$TRA:: TRACE
SUBTTL BUFINI Initialize buffer
;++
; FUNCTIONAL DESCRIPTION:
;
; Function to initialize data buffer to zero.
;
; FORMAL PARAMETERS:
;
; Calling sequence: BUFINI (BUFADR, BUFLEN);
;
; BUFADR - Address of data buffer
; BUFLEN - Length of data buffer in words
;
; IMPLICIT INPUTS:
;
; none.
;
; ROUTINE VALUE:
;
; none.
;
; COMPLETION CODES:
;
; none.
;
; SIDE EFFECTS:
;
; Content of buffer BUFADR is set to zero.
;
;--
AC1=1
AC2=2
AC3=3
AC5=5
FP=15
SP=17
ENTRY BUFINI
BUFINI::
JSP AC5,INI.1 ; Save pointers
MOVE AC1,-3(FP) ; Get the address of the buffer
MOVE AC2,AC1 ; BLT source block address
ADDI AC2,1
HRL AC2,AC1 ; BLT destination block address
SETZM 0(AC1) ; Zero out the first word
MOVE AC3,-2(FP) ; Get the size of the buffer
ADD AC1,AC3 ; Calculate BLT length
SUBI AC1,1
BLT AC2,@AC1 ; Perforate block using BLT
JRST INI.2 ; Restore pointers and return
INI.1:
PUSH SP,FP ; Push frame pointer down on stack
HRRZ FP,SP
JRST 0(AC5)
INI.2:
POP SP,FP ; Restore frame pointer from stack
POPJ SP,0
SUBTTL U$DDT - Interface To DDT Debugger
;++
; FUNCTIONAL DESCRIPTION:
;
; Function to map SYS:UDDT.EXE and pass control to it.
;
; FORMAL PARAMETERS:
;
; Calling sequence: UDDT ();
;
; IMPLICIT INPUTS:
;
; none.
;
; ROUTINE VALUE:
;
; none.
;
; COMPLETION CODES:
;
; none.
;
; SIDE EFFECTS:
;
; none.
;
;--
ENTRY UDDT
UDDT::
SKIPE 770000 ; See if DDT is already mapped in
JRST UDDT.1 ; If already there, just jump to it
MOVX AC1,GJ%SHT+GJ%OLD
HRROI AC2,[ASCIZ /SYS:UDDT.EXE/]
GTJFN ; Get UDDT.EXE JFN. If fail, return to SNT
JRST [HRROI AC1,[ASCIZ /Cannot get JFN of DDT/]
PSOUT
POPJ SP,0]
HRLI AC1,.FHSLF ; Get current process handle
GET ; If fail, return to SNT
ERJMP [HRROI AC1,[ASCIZ /Cannot map in DDT/]
PSOUT
POPJ SP,0]
UDDT.1: ; Fix the return instruction of DDT
HRROI AC1,[ASCIZ /Type "SNT$X" to return to SNT
/]
PSOUT
MOVE AC1,[JRST UDDT.2]
MOVEM AC1,UDDT.3
MOVE AC1,116 ; Transfer control to DDT
MOVEM AC1,@770001
JRST 770000
UDDT.2:
MOVSI AC1,(JFCL)
MOVEM AC1,UDDT.3
POPJ SP,0
; Local variables
UDDT.3: JFCL
XPUNGE ; Expunge symbols before pass 2
OPDEF SNT [XCT UDDT.3]
OPDEF SNT [XCT UDDT.3]
SUBTTL Clean Up Symbol Table
PURGE CM%BRK
PURGE CM%DPP
PURGE CM%FNC
PURGE CM%FW
PURGE CM%HPP
PURGE CM%IDA
PURGE CM%INV
PURGE CM%ITM
PURGE CM%NSF
PURGE CM%PO
PURGE CM%SDH
PURGE .CMCFM
PURGE .CMCMA
PURGE .CMFIL
PURGE .CMFLD
PURGE .CMIFI
PURGE .CMINI
PURGE .CMKEY
PURGE .CMNOD
PURGE .CMNOI
PURGE .CMNUM
PURGE .CMNUX
PURGE .CMOFI
PURGE .CMQST
PURGE .CMSWI
PURGE .CMTAD
PURGE .CMTOK
PURGE .CMTXT
PURGE AC1 ; Purge symbols used in the macro
PURGE AC2 ; utilities
PURGE AC3
PURGE AC5
PURGE FP
PURGE SP
PURGE ERJMP
PURGE GET
PURGE GTJFN
PURGE PSOUT
PURGE .FHSLF
PURGE GJ%OLD
PURGE GJ%SHT
END ; End of SNT syntax declarations
; Local Modes:
; Mode:MACRO
; Auto Save Mode:2
; Comment Column:40
; Comment Rounding:+1
; End: