Google
 

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: