Google
 

Trailing-Edge - PDP-10 Archives - BB-R598A-RM_1983 - swskit-v3/listings/xpt/xpthel.list
There are no other files named xpthel.list in the archive.
XPTHEL								25-Jan-1983 09:49:28	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 21:26:56	NETPKG:<XPT>XPTHEL.BLI.8 (1)

;	  0001	module XPTHEL	(
;	  0002			IDENT = 'X01170'
;	  0003			) =
;	  0004	begin
;	  0005	
;	  0006	!
;	  0007	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0008	!                    DIGITAL EQUIPMENT CORPORATION
;	  0009	!                        Maynard, Massachusetts
;	  0010	!
;	  0011	!     This software is furnished under a license and may  be  used
;	  0012	!     and copied only in accordance with the terms of such license
;	  0013	!     and with the inclusion of the above copyright notice.   This
;	  0014	!     software  or any other copies thereof may not be provided or
;	  0015	!     otherwise made available to any other person.  No  title  to
;	  0016	!     and ownership of the software is hereby transferred.
;	  0017	!
;	  0018	!     The information  in  this  software  is  subject  to  change
;	  0019	!     without  notice  and should not be construed as a commitment
;	  0020	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0021	!
;	  0022	!     DIGITAL assumes no responsibility for the use or reliability
;	  0023	!     of  its  software  on  equipment  which  is  not supplied by
;	  0024	!     DIGITAL.
;	  0025	!
;	  0026	
;	  0027	!++
;	  0028	! FACILITY:	Transport
;	  0029	!
;	  0030	! ABSTRACT:
;	  0031	!
;	  0032	!	Transport Hello module: Sends out Hello messages on each active
;	  0033	!	line.
;	  0034	!
;	  0035	! ENVIRONMENT:	MCB
;	  0036	!
;	  0037	! AUTHOR: L. Webber , CREATION DATE: 23-Oct-79
;	  0038	!
;	  0039	! MODIFIED BY:
;	  0040	!
;	  0041	!	L. Webber, 23-Oct-79 : VERSION 1.00
;	  0042	!
;	  0043	! 1.01	L. Webber, 19-Dec-79
;	  0044	!	Took out the Node Listener function (which went into Line Support)
;	  0045	!
;	  0046	! 1.02	L. Webber, 3-Apr-80
;	  0047	!	Modified to support node and line sub-data-bases
;	  0048	!
;	  0049	! 1.03	L. Webber, 30-Jun-80
;	  0050	!	Modify to use MCBLIB macros
;	  0051	!
;	  0052	! 1.04	L. Webber, 11-Dec-80
XPTHEL								25-Jan-1983 09:49:28	TOPS-20 Bliss-16 2A(530)	    Page   2
X01170								30-Dec-1982 21:26:56	NETPKG:<XPT>XPTHEL.BLI.8 (1)

;	  0053	!	Modity to support MCB 3.1
;	  0054	!
;	  0055	! 1.05	L. Webber, 9-Feb-81
;	  0056	!	Change references to SNDBUF to CALL$E
;	  0057	!
;	  0058	! 1.06	L. Webber, 9-Feb-81
;	  0059	!	Change back to direct call; an interface routine has been added.
;	  0060	!
;	  0061	! 1.07	L. Webber, 10-Feb-81
;	  0062	!	Hello has gone into XPE; make HELLO CALL$ and call _SNDBUF instead
;	  0063	!	of SNDBUF.
;	  0064	!
;	  0065	! 1.08	L. Webber, 24-Feb-81
;	  0066	!	Add RCVHEL to validity-check received Hello messages
;	  0067	!
;	  0068	! 1.09	L. Webber, 17-Mar-81
;	  0069	!	Fix RCVHEL to terminate the function CCB and to return the correct
;	  0070	!	indication for line disposition.  Fix the data-testing code.
;	  0071	!
;	  0072	! 1.10	L. Webber, 31-Mar-81
;	  0073	!	Add reason code to "invalid data" event in RCVHEL.
;	  0074	!
;	  0075	! 1.11	L. Webber, 2-Apr-81
;	  0076	!	Add reason code to "node address change" event in RCVHEL; also,
;	  0077	!	change build of expected node parameter to call to EP_EXNODE.
;	  0078	!
;	  0079	! 1.12	L. Webber, 3-Apr-81
;	  0080	!	Add LIXes as NMXID for all event logging.
;	  0081	!
;	  0082	! 1.13	L. Webber, 7-Apr-81
;	  0083	!	Fix bug in RCVHEL which fails all HELLO messages with even length.
;	  0084	!
;	  0085	! 1.14	L. Webber, 16-Apr-81
;	  0086	!	Change the size of a Hello message from 72 data bytes to 12.
;	  0087	!
;	  0088	! 1.15	L. Webber, 3-Jun-81
;	  0089	!	Get a 16-byte buffer instead of a CSB.
;	  0090	!
;	  0091	! 1.16	L. Webber, 24-Sep-81
;	  0092	!	Modify event logging to use new macros for building parameters.
;	  0093	!
;	  0094	! 1.17	A. Peckham, 19-Apr-82
;	  0095	!	Eliminate calls to LOG_EVENT, GETLINE.
;	  0096	!       PKTA_HDR has gone to XPE.  Make local call now.
;	  0097	!
;	  0098	!--
XPTHEL								25-Jan-1983 09:49:28	TOPS-20 Bliss-16 2A(530)	    Page   3
X01170								30-Dec-1982 21:26:56	NETPKG:<XPT>XPTHEL.BLI.8 (2)

;	  0099	
;	  0100	!
;	  0101	! INCLUDE FILES:
;	  0102	!
;	  0103	
;	  0104	require 'XPTMAC';
;	  0202	
;	  0203	!
;	  0204	! TABLE OF CONTENTS
;	  0205	!
;	  0206	
;	  0207	forward routine
;	  0208		HELLO: LINKAGE_DB novalue;
;	  0209	
;	  0210	!
;	  0211	! MACROS:
;	  0212	!
;	  0213	
;	  0214	!
;	  0215	! EQUATED SYMBOLS:
;	  0216	!
;	  0217	
;	  0218	!
;	  0219	! OWN STORAGE:
;	  0220	!
;	  0221	
;	  0222	!
;	  0223	! EXTERNAL REFERENCES:
;	  0224	!
XPTHEL								25-Jan-1983 09:49:28	TOPS-20 Bliss-16 2A(530)	    Page   4
X01170								30-Dec-1982 21:26:56	NETPKG:<XPT>XPTHEL.BLI.8 (3)

;	  0225	global routine HELLO (LINEb): LINKAGE_DB novalue =
;	  0226	
;	  0227	!++
;	  0228	! FUNCTIONAL DESCRIPTION:
;	  0229	!
;	  0230	! This routine is called on a timer interval.  If the Hello_clock has expired,
;	  0231	! then for each line in the RU state, scanned in a round-robin fashion starting
;	  0232	! with NEXTline, a Hello message is constructed and sent out by calling _SNDBUF
;	  0233	! in Forwarding.  If an SDB is not available to construct the message, no
;	  0234	! message is sent.  The Hello message constructed will contain 12 bytes of test
;	  0235	! data.
;	  0236	!
;	  0237	! FORMAL PARAMETERS
;	  0238	!
;	  0239	!	NONE.
;	  0240	!
;	  0241	! IMPLICIT INPUTS
;	  0242	!
;	  0243	!	Hello_clock, NEXTline, Nty
;	  0244	!
;	  0245	! ROUTINE VALUE:
;	  0246	! COMPLETION CODES:
;	  0247	!
;	  0248	!	NONE.
;	  0249	!
;	  0250	! SIDE EFFECTS:
;	  0251	!
;	  0252	!	NONE.
;	  0253	!
;	  0254	!--
;	  0255	
;	  0256	begin
;	  0257	require 'XPTSYM';
;	  0294	local CCB: ref block field (C_XPT_fields);
;	  0295	
;	  0296	if .LINEstate eql RU
;	  0297	then selectone .Nty of
;	  0298	         set
;	  0299	         [Full,Small]:
;	  0300	             begin
;	  0301	             !
;	  0302	             !  Get an CCB for the message
;	  0303	             !
;	  0304	             if not $MCB_GET_CCB (CCB) then return;
;	  0305	
;	  0306	             CCB[C_XPT_ALLOCATION] = 0; ! No buffer
;	  0307	             CCB[C_ADDR] = .Hello_msg_ADDR;     ! Copy address
;	  0308	             CCB[C_CNT] = .Hello_msg_CNT;       !  of canned message
;	  0309	             CCB[C_XPT_TYPE] = UPDATEcode;      ! Flag message as Routing/Hello
;	  0310	             CCB[C_XPT_SUBTYPE] = HELLOcode;    !  (with a side of Hello)
;	  0311	             !
;	  0312	             !  Send the message out
XPTHEL								25-Jan-1983 09:49:28	TOPS-20 Bliss-16 2A(530)	    Page   5
X01170								30-Dec-1982 21:26:56	NETPKG:<XPT>XPTHEL.BLI.8 (3)

;	  0313	             !
;	  0314	             CALL$E(_SNDBUF,(PD_XPE),.LINEb,.CCB);
;	  0315	             end;
;	  0316	         [otherwise]:
;	  0317	             ;
;	  0318	         tes;
;	  0319	
;	  0320	Send_hello = false;
;	  0321	end;				!End of HELLO


						.TITLE	XPTHEL
						.IDENT	/X01170/

						.GLOBL	.CRDAT, $CCBGT, .SNDBUF, $CALLE


						.SBTTL	HELLO
000000						.PSECT	$CODE$,  RO 

000000	010446 				HELLO::
					U.1:	MOV	R4,-(SP)			;					0225
000002	121527  000010 				CMPB	(R5),#10			; LINEB,*				0296
000006	001045 					BNE	1$
000010	116500  000002 				MOVB	2(R5),R0			; *(LINEB),*				0297
000014	020027  000002 				CMP	R0,#2
000020	002440 					BLT	1$
000022	020027  000003 				CMP	R0,#3
000026	003035 					BGT	1$
000030	004767  000000G				JSR	PC,$CCBGT			;					0304
000034	103434 					BCS	2$
000036	005064  000034 				CLR	34(R4)				; *(CCB)				0306
000042	016700  000002G				MOV	.CRDAT+2,R0			;					0307
000046	016064  000164  000020 			MOV	164(R0),20(R4)			; *,*(CCB)
000054	016064  000166  000022 			MOV	166(R0),22(R4)			; *,*(CCB)				0308
000062	112764  000005  000032 			MOVB	#5,32(R4)			; *,*(CCB)				0310
000070	010446 					MOV	R4,-(SP)			; CCB,*					0314
000072	010546 					MOV	R5,-(SP)			; LINEB,*
000074	012746  000002 				MOV	#2,-(SP)
000100	012746  000000G				MOV	#.SNDBUF,-(SP)
000104	005046 					CLR	-(SP)
000106	116016  000002 				MOVB	2(R0),(SP)
000112	004767  000000G				JSR	PC,$CALLE
000116	062706  000012 				ADD	#12,SP				;					0300
000122	042715  010000 			1$:	BIC	#10000,(R5)			; *,LINEB				0320
000126	012604 				2$:	MOV	(SP)+,R4			;					0225
000130	000207 					RTS	PC

; Routine Size:  45 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  7 words

;	  0322	end				!End of module XPTHEL
XPTHEL								25-Jan-1983 09:49:28	TOPS-20 Bliss-16 2A(530)	    Page   6
X01170								30-Dec-1982 21:26:56	NETPKG:<XPT>XPTHEL.BLI.8 (3)

;	  0323	eludom



;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $CODE$				   45	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<MCB>XPORTX.L16.15		       599         0         0         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        30         8         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200         0         0         0
;  NETPKG:<XPT>XPTLIB.L16.3		       510       147        28         0





; Size:		45 code + 0 data words
; Run Time:	00:02.5
; Elapsed Time:	00:08.9
; Memory Used:	30 pages
; Compilation Complete
ADDRESS				 156+	 158+	 159+	 161+	 162+	 164+	 165+	 171+	 172+	 175+	 176+	 177+
BPT				 185+#	 197+#
BUFCHK				 189+	 190+#	 199+	 200+#
CALL$E				 314
CCB				 294	 304	 306#	 307#	 308#	 309#	 310#	 314
CHKBUF				 192+*	 193+
C_ADDR				 307
C_CNT				 308
C_XPT_ALLOCATION		 306
C_XPT_FIELDS			 294
C_XPT_SUBTYPE			 310
C_XPT_TYPE			 309
FALSE				 320
FULL				 299
GETQ				 156+#
GETW				 135+#	 158+	 159+
HELLOCODE			 310
HELLO_MSG_ADDR			 307
HELLO_MSG_CNT			 308
HELLO				 208	 225*
I				 180+	 182+
J				 180+	 182+
LINEBLOCK			 284+
LINEB				 225	 282+	 284+	 314
LINESTATE			 296
LINKAGE_DB			 208	 225#
M				 180+	 181+
MATRIX				 180+#	 182+
MCB$GAW_PROCESS_DATA_BASE	 287+	 288+	 291+
N				 180+	 181+
NL				 180+	 182+
NODEBLOCK			 279+
NODEB				 277+	 279+
NOP				 197+	 198+	 200+
NO_LINEB			 283+
NO_NODEB			 278+
NTY				 297
PD_XPE				 314
PTR				 135+	 138+	 139+	 142+	 145+	 146+	 152+	 153+	 156+	 158+	 159+	 161+
				 164+	 165+	 166+	 167+	 171+	 172+
PUTQ				 161+#
PUTW				 142+#	 171+	 172+
RU				 296
SEND_HELLO			 320#
SMALL				 299
UNIT				 180+#	 181+	 182+
UPDATECODE			 309
VALUE				 142+	 143+	 145+	 146+	 151+
X				 137+	 138+#	 139+#	 140+	 150+	 151+#	 152+	 153+
XPTDBBLOCK			 293+
XPTDB				 290+	 291+#	 292+
XPTHEL				   1#
ZEROQ				 175+#
_SNDBUF				 314
$MCB_GET_CCB			 304
%CTCE				 143+	 162+
%REMAINING			 187+