Trailing-Edge
-
PDP-10 Archives
-
BB-R595B-SM_11-9-85
-
mcb/xpt/xptnmi.lst
There is 1 other file named xptnmi.lst in the archive. Click here to see a list.
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 1
23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (1)
; 0001 module XPTNMI ( ! Network Management stuff
; 0002 ident = 'X01090'
; 0003 ) =
; 0004 begin
; 0005 !
; 0006 ! COPYRIGHT (c) 1980, 1981, 1982
; 0007 ! DIGITAL EQUIPMENT CORPORATION
; 0008 ! Maynard, Massachusetts
; 0009 !
; 0010 ! This software is furnished under a license and may be used
; 0011 ! and copied only in accordance with the terms of such license
; 0012 ! and with the inclusion of the above copyright notice. This
; 0013 ! software or any other copies thereof may not be provided or
; 0014 ! otherwise made available to any other person. No title to
; 0015 ! and ownership of the software is hereby transferred.
; 0016 !
; 0017 ! The information in this software is subject to change
; 0018 ! without notice and should not be construed as a commitment
; 0019 ! by DIGITAL EQUIPMENT CORPORATION.
; 0020 !
; 0021 ! DIGITAL assumes no responsibility for the use or reliability
; 0022 ! of its software on equipment which is not supplied by
; 0023 ! DIGITAL.
; 0024 !
; 0025
; 0026 !++
; 0027 ! FACILITY: Transport
; 0028 !
; 0029 ! ABSTRACT: This is the Network Management interface for the MCB
; 0030 ! implementation of Transport. It dispatches to a processing
; 0031 ! routine in XPTNMX.
; 0032 !
; 0033 ! ENVIRONMENT: MCB
; 0034 !
; 0035 ! AUTHOR: L. Webber, CREATION DATE: 20-Nov-80
; 0036 !
; 0037 ! MODIFIED BY:
; 0038 !
; 0039 ! 1.00 L. Webber, 11-Dec-80
; 0040 ! Modified the model interface template to match XPT.
; 0041 !
; 0042 ! 1.01 L. Webber, 22-Dec-80
; 0043 ! Split into XPT and TLI parts
; 0044 !
; 0045 ! 1.02 L. Webber, 25-Feb-81
; 0046 ! NMX entries are now in process XNM.
; 0047 !
; 0048 ! 1.03 L. Webber, 14-Sep-81
; 0049 ! Fix "zero" call to actually do a zero.
; 0050 !
; 0051 ! 1.04 A. Peckham 21-Sep-81
; 0052 ! Save some space.
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 2
X01090 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (1)
; 0053 !
; 0054 ! 1.05 A. Peckham 16-Sep-82
; 0055 ! Add MAXIMUM ADDRESS parameter support for non-EXECUTOR node.
; 0056 !
; 0057 ! 1.06 A. Peckham 27-Sep-82
; 0058 ! Make parameter #2500 as FENCE with compatability to MAXIMUM ADDRESS.
; 0059 !
; 0060 ! 1.07 A. Peckham 1-Oct-82
; 0061 ! Make CLEAR NODE ALL work in CLEAR_NODE.
; 0062 !
; 0063 ! 1.08 A. Peckham 11-Oct-82
; 0064 ! Fix ref bug introduced into NODE_COUNTERS during code optimization.
; 0065 !
; 0066 ! 1.09 D. Brannon 22-Sep-83
; 0067 ! Fix typo in PKTA_HDR which caused the source node address to be wrong.
; 0068 !
; 0069 !--
; 0070
; 0071 !
; 0072 ! REQUIRED FILES
; 0073 !
; 0074
; 0075 require 'XPTMAC';
; 0173
; 0174 !
; 0175 ! TABLE OF CONTENTS:
; 0176 !
; L 0177 %if %bliss (bliss16)
; 0178 %then linkage XPT_LKG_DB_CCB = jsr (register = 3, register = 4),
; 0179 XPT_LKG_NODEb = jsr (register = 2);
; U 0180 %else macro XPT_LKG_DB_CCB = BLISS36C %;
; 0181 %fi
; 0182
; 0183 forward routine
; 0184 XPE_NM: CALL$ novalue, ! Control (i.e., NM)
; 0185 PKTA_HDR: CALL$ novalue,
; 0186 NODE_DB: LINKAGE_CCB,
; 0187 CLEAR_NODE: XPT_LKG_DB_CCB novalue, ! Clear a node parameter
; 0188 NODE_COUNTERS: novalue, ! Get node counters
; 0189 RETURN_NODE_LIST: XPT_LKG_DB_CCB novalue,
; 0190 ! Return list of known nodes
; 0191 SET_NODE: XPT_LKG_DB_CCB novalue, ! Set a node parameter
; 0192 SHOW_AND_ZERO_NODE_COUNTERS: XPT_LKG_DB_CCB novalue,
; 0193 ! Show and zero node counters
; 0194 SHOW_NODE: XPT_LKG_DB_CCB novalue, ! Show node parameters
; 0195 SHOW_NODE_CIRCUIT : XPT_LKG_NODEb novalue,
; 0196 SHOW_NODE_STATE : XPT_LKG_NODEb novalue,
; 0197 ZERO_NODE_COUNTERS: XPT_LKG_DB_CCB novalue; ! Zero node counters
; 0198
; 0199 !
; 0200 ! MACROS:
; 0201 !
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 3
X01090 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (1)
; 0202
; 0203 !
; 0204 ! EQUATED SYMBOLS:
; 0205 !
; 0206
; 0207 literal
; 0208 NODEtype = NMX$ENT_nod,
; 0209 CIRCUITtype = NMX$ENT_ckt;
; 0210
; 0211 !
; 0212 ! OWN STORAGE:
; 0213 !
; 0214
; 0215 !
; 0216 ! EXTERNAL REFERENCES:
; 0217 !
; 0218 ! None
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 4
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (2)
; 0219 %sbttl 'Network Management'
; 0220 global routine XPE_NM (CCB): CALL$ novalue =
; 0221
; 0222 !++
; 0223 ! FUNCTIONAL DESCRIPTION:
; 0224 ! This routine is activated by a control request from
; 0225 ! Network Management.
; 0226 !
; 0227 ! FORMAL PARAMETERS:
; 0228 !
; 0229 ! CCB CCB to pass to handler routine
; 0230 !
; 0231 ! IMPLICIT INPUTS:
; 0232 ! CCB Contents
; 0233 !
; 0234 ! IMPLICIT OUTPUTS:
; 0235 ! None
; 0236 !
; 0237 ! ROUTINE VALUE:
; 0238 ! COMPLETION CODES:
; 0239 ! None
; 0240 !
; 0241 ! SIDE EFFECTS:
; 0242 ! None
; 0243 !--
; 0244
; 0245 begin
; 0246 external MCB$GAW_PROCESS_DATA_BASE: vector[2];
; 0247 bind XPTDB = .MCB$GAW_PROCESS_DATA_BASE[1]: XPTDBblock;
; 0248 map CCB: ref block field (C_NM_FIELDS);
; 0249 require 'XPTSYM';
; 0286
; 0287 selectone .CCB [C_NM_ENTITY] of
; 0288 set
; 0289 [NMX$ENT_nod]: ! NM fnc for node parameter
; 0290 case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
; 0291 set ! *** MODULE ***
; 0292 [NMX$FNC_set]: ! Set parameters
; 0293 SET_NODE(XPTDB,.CCB);
; 0294 [NMX$FNC_clr]: ! Clear parameters:
; 0295 CLEAR_NODE(XPTDB,.CCB);
; 0296 [NMX$FNC_zro]: ! Zero counters
; 0297 ZERO_NODE_COUNTERS(XPTDB,.CCB);
; 0298 [NMX$FNC_sho]: ! Show selected items
; 0299 SHOW_NODE(XPTDB,.CCB);
; 0300 [NMX$FNC_szc]: ! Show and zero counters
; 0301 SHOW_AND_ZERO_NODE_COUNTERS(XPTDB,.CCB);
; 0302 [NMX$FNC_ret]: ! Return selected items
; 0303 RETURN_NODE_LIST(XPTDB,.CCB);
; 0304 [inrange, outrange]: CCB [C_STS] = $NM$ERR_MPE;
; 0305 tes;
; 0306 [otherwise]: CCB [C_STS] = $NM$ERR_URC;
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 5
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (2)
; 0307 tes;
; 0308
; 0309 CCB [C_FNC] = FC_CCP;
; 0310 $MCB_SCHEDULE_CCB (.CCB);
; 0311 end;
.TITLE XPTNMI
.IDENT /X01090/
.GLOBL .CRDAT, $SCHED
.SBTTL XPE.NM Network Management
000000 .PSECT $CODE$, RO
000000 016703 000002G XPE.NM::
U.1: MOV .CRDAT+2,R3 ; 0245
000004 016504 000002 MOV 2(R5),R4 ; CCB(.AP.),* 0287
000010 016400 000024 MOV 24(R4),R0
000014 072027 177770 ASH #-10,R0
000020 042700 177760 BIC #177760,R0
000024 020027 000001 CMP R0,#1
000030 001042 BNE 8$
000032 116400 000024 MOVB 24(R4),R0 ; 0290
000036 006200 ASR R0
000040 042700 177600 BIC #177600,R0
000044 005300 DEC R0
000046 020027 000005 CMP R0,#5
000052 101003 BHI 1$
000054 006300 ASL R0
000056 066007 000000' ADD P.AAA(R0),PC ; Case dispatch
000062 012764 177773 000014 1$: MOV #-5,14(R4) ; 0304
000070 000425 BR 9$ ; 0290
000072 004767 000000V 2$: JSR PC,U.7 ; 0293
000076 000422 BR 9$ ; 0290
000100 004767 000000V 3$: JSR PC,U.4 ; 0295
000104 000417 BR 9$ ; 0290
000106 004767 000000V 4$: JSR PC,U.12 ; 0297
000112 000414 BR 9$ ; 0290
000114 004767 000000V 5$: JSR PC,U.9 ; 0299
000120 000411 BR 9$ ; 0290
000122 004767 000000V 6$: JSR PC,U.8 ; 0301
000126 000406 BR 9$ ; 0290
000130 004767 000000V 7$: JSR PC,U.6 ; 0303
000134 000403 BR 9$ ; 0287
000136 012764 177770 000014 8$: MOV #-10,14(R4) ; 0306
000144 112764 000022 000012 9$: MOVB #22,12(R4) ; 0309
000152 004767 000000G JSR PC,$SCHED ; 0310
000156 000207 RTS PC ; 0220
; Routine Size: 56 words, Routine Base: $CODE$ + 0000
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 6
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (2)
; Maximum stack depth per invocation: 1 word
000000 .PSECT $PLIT$, RO , D
P.AAA: ; CASE Table for XPE.NM+0056 0290
000000 000010 .WORD 10 ; [2$]
000002 000016 .WORD 16 ; [3$]
000004 000024 .WORD 24 ; [4$]
000006 000032 .WORD 32 ; [5$]
000010 000040 .WORD 40 ; [6$]
000012 000046 .WORD 46 ; [7$]
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 7
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (3)
; 0312 global routine PKTA_HDR (SPTR): CALL$ novalue =
; 0313
; 0314 !++
; 0315 ! FUNCTIONAL DESCRIPTION:
; 0316 !
; 0317 ! Constructs a "packet header" parameter block in the event logging
; 0318 ! area. It is assumed that the destination and source areas are both
; 0319 ! mapped.
; 0320 !
; 0321 ! FORMAL PARAMETERS
; 0322 !
; 0323 ! SPTR A pointer to an area which contains a packet (routing)
; 0324 ! header.
; 0325 !
; 0326 ! IMPLICIT INPUTS
; 0327 !
; 0328 ! NONE.
; 0329 !
; 0330 ! ROUTINE VALUE:
; 0331 ! COMPLETION CODES:
; 0332 !
; 0333 ! NONE.
; 0334 !
; 0335 ! SIDE EFFECTS:
; 0336 !
; 0337 ! NONE.
; 0338 !
; 0339 !--
; 0340
; 0341 begin
; 0342
; 0343 local F,T;
; 0344 pointer S;
; 0345 S = .SPTR;
; 0346
; 0347 T = (if biton((F=getb(S)),1) ! Message type
; 0348 then 2 ! is control
; 0349 else 4); ! or data
; 0350 PARAMETER_CM(0,.T); ! Multiple fields, 2 or 4 of them
; 0351 PARAMETER_H_1(,F); ! Hex field, 1 byte: routing flags
; 0352 if .T eql 4 then begin ! Data header only:
; 0353 F = getw(S); ! Decimal unsigned, 2 bytes:
; 0354 PARAMETER_DU_2(,F); ! destination node address
; 0355 end;
; 0356 F = getw(S); ! Decimal unsigned, 2 bytes:
; 0357 PARAMETER_DU_2(,F); ! source node address
; 0358 if .T eql 4 then begin ! Data header only:
; 0359 F = getb(S); ! Hex field, 1 byte:
; 0360 PARAMETER_DU_2(,F); ! forwarding flags
; 0361 end;
; 0362
; 0363 end; !End of PKTA_HDR
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 8
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (3)
.GLOBL $DPCM, $TPH1, $TPDU2
.SBTTL PKTA.HDR Network Management
000160 .PSECT $CODE$, RO
000000 005746 PKTA.HDR::
U.2: TST -(SP) ; 0312
000002 016505 000002 MOV 2(R5),R5 ; SPTR(.AP.),S 0345
000006 005002 CLR R2 ; F 0347
000010 152502 BISB (R5)+,R2 ; S,F
000012 032702 000001 BIT #1,R2 ; *,F
000016 001403 BEQ 1$
000020 012701 000002 MOV #2,R1 ; *,T
000024 000402 BR 2$
000026 012701 000004 1$: MOV #4,R1 ; *,T
000032 005046 2$: CLR -(SP) ; 0350
000034 010100 MOV R1,R0 ; T,*
000036 004767 000000G JSR PC,$DPCM
000042 110200 MOVB R2,R0 ; F,* 0351
000044 004767 000000G JSR PC,$TPH1
000050 005003 CLR R3 ; 0352
000052 020127 000004 CMP R1,#4 ; T,*
000056 001012 BNE 3$
000060 005203 INC R3
000062 112566 000002 MOVB (R5)+,2(SP) ; S,X 0353
000066 112566 000003 MOVB (R5)+,3(SP) ; S,X
000072 016602 000002 MOV 2(SP),R2 ; X,F
000076 010200 MOV R2,R0 ; F,* 0354
000100 004767 000000G JSR PC,$TPDU2
000104 112566 000002 3$: MOVB (R5)+,2(SP) ; S,X 0356
000110 112566 000003 MOVB (R5)+,3(SP) ; S,X
000114 016602 000002 MOV 2(SP),R2 ; X,F
000120 010200 MOV R2,R0 ; F,* 0357
000122 004767 000000G JSR PC,$TPDU2
000126 006003 ROR R3 ; 0358
000130 103005 BCC 4$
000132 005002 CLR R2 ; F 0359
000134 152502 BISB (R5)+,R2 ; S,F
000136 010200 MOV R2,R0 ; F,* 0360
000140 004767 000000G JSR PC,$TPDU2
000144 022626 4$: CMP (SP)+,(SP)+ ; 0312
000146 000207 RTS PC
; Routine Size: 52 words, Routine Base: $CODE$ + 0160
; Maximum stack depth per invocation: 3 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 9
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (4)
; 0364 routine NODE_DB (CCB): LINKAGE_CCB =
; 0365
; 0366 !++
; 0367 ! FUNCTIONAL DESCRIPTION:
; 0368 ! This routine gets the node data base
; 0369 !
; 0370 ! FORMAL PARAMETERS:
; 0371 !
; 0372 ! CCB CCB to pass to handler routine
; 0373 !
; 0374 ! IMPLICIT INPUTS:
; 0375 ! CCB Contents
; 0376 !
; 0377 ! IMPLICIT OUTPUTS:
; 0378 ! None
; 0379 !
; 0380 ! ROUTINE VALUE:
; 0381 ! COMPLETION CODES:
; 0382 ! None
; 0383 !
; 0384 ! SIDE EFFECTS:
; 0385 ! None
; 0386 !--
; 0387
; 0388 begin
; 0389 map CCB: ref block field(C_NM_FIELDS);
; 0390 bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS);
; 0391 local NODEb;
; 0392 require 'XPTSYM';
; 0429
; 0430 !
; 0431 ! Determine the entity whose parameter is to be set
; 0432 !
; 0433
; P 0434 if (NODEb = $XPT_GET_NODE_DB(
; P 0435 begin
; P 0436 local ADDR;
; P 0437 if (ADDR = .NMPAR[NMX_NMPAR_NODE_ADDRESS]) eql 0
; P 0438 then return .ADDR;
; P 0439 .ADDR
; 0440 end)) eqla 0
; 0441 then CCB [C_STS] = $NM$ERR_URC;
; 0442
; 0443 .NODEb
; 0444 end; ! of NODE_DB
.GLOBL GTNODE
.SBTTL NODE.DB Network Management
000000 016400 000026 ; NODE.DB
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 10
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (4)
U.3: MOV 26(R4),R0 ; *(CCB),* 0440
000004 016000 000004 MOV 4(R0),R0 ; *,ADDR
000010 001407 BEQ 1$
000012 004767 000000G JSR PC,GTNODE
000016 005700 TST R0 ; NODEB
000020 001003 BNE 1$
000022 012764 177770 000014 MOV #-10,14(R4) ; *,*(CCB) 0441
000030 000207 1$: RTS PC ; 0364
; Routine Size: 13 words, Routine Base: $CODE$ + 0330
; Maximum stack depth per invocation: 1 word
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 11
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (5)
; 0445 routine CLEAR_NODE (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
; 0446
; 0447 !++
; 0448 ! FUNCTIONAL DESCRIPTION:
; 0449 ! This routine clears a circuit parameter
; 0450 !
; 0451 ! FORMAL PARAMETERS:
; 0452 !
; 0453 ! CCB CCB to pass to handler routine
; 0454 !
; 0455 ! IMPLICIT INPUTS:
; 0456 ! CCB Contents
; 0457 !
; 0458 ! IMPLICIT OUTPUTS:
; 0459 ! None
; 0460 !
; 0461 ! ROUTINE VALUE:
; 0462 ! COMPLETION CODES:
; 0463 ! None
; 0464 !
; 0465 ! SIDE EFFECTS:
; 0466 ! None
; 0467 !--
; 0468
; 0469 begin
; 0470 map CCB: ref block field(C_NM_FIELDS);
; 0471 bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
; 0472 NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
; 0473 local NODEb;
; 0474 require 'XPTSYM';
; 0511 local PNUM;
; 0512
; 0513 !
; 0514 ! Determine the entity whose parameter is to be set
; 0515 !
; 0516
; 0517 if (NODEb = NODE_DB(.CCB)) eqla 0
; 0518 then return; ! Invalid node address
; 0519
; 0520 PNUM = 2500;
; 0521
; 0522 if .CCB[C_CNT] neq 0
; 0523 then begin
; 0524 pointer PTR;
; 0525 MAPBUF(.CCB,PTR);
; 0526 PNUM = getw(PTR);
; 0527 end;
; 0528
; 0529 selectone .PNUM of ! Dispatch on parm #
; 0530 set
; 0531 [2500]: ! FENCE
; 0532 begin
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 12
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (5)
; 0533 local MXA: ref vector;
; 0534 if (MXA = .NODEmaximum_address_vector) neqa 0
; 0535 then begin
; 0536 MXA [.NODEaddress - 1] = 0;
; 0537 CCB [C_STS] = NM$SUC;
; 0538 end;
; 0539 end;
; 0540 [otherwise]: ! Parameter not applicable
; 0541 CCB [C_STS] = $NM$ERR_PNA;
; 0542 tes;
; 0543 end; ! of CLEAR_NODE
.GLOBL KISAR6
.SBTTL CLEAR.NODE Network Management
000000 004167 000000G ; CLEAR.NODE
U.4: JSR R1,$SAVE2 ; 0445
000004 005746 TST -(SP)
000006 004767 177734 JSR PC,U.3 ; 0517
000012 005700 TST R0 ; NODEB
000014 001441 BEQ 3$ ; 0518
000016 012702 004704 MOV #4704,R2 ; *,PNUM 0520
000022 005764 000022 TST 22(R4) ; *(CCB) 0522
000026 001411 BEQ 1$
000030 016467 000016 000000G MOV 16(R4),KISAR6 ; *(CCB),* 0525
000036 016401 000020 MOV 20(R4),R1 ; *(CCB),PTR
000042 112116 MOVB (R1)+,(SP) ; PTR,X 0526
000044 112166 000001 MOVB (R1)+,1(SP) ; PTR,X
000050 011602 MOV (SP),R2 ; X,PNUM
000052 020227 004704 1$: CMP R2,#4704 ; PNUM,* 0529
000056 001015 BNE 2$
000060 016301 000024 MOV 24(R3),R1 ; *(XPTDB),MXA 0534
000064 001415 BEQ 3$
000066 016000 000002 MOV 2(R0),R0 ; *(NODEB),* 0536
000072 006300 ASL R0
000074 060100 ADD R1,R0 ; MXA,*
000076 005060 177776 CLR -2(R0)
000102 012764 000001 000014 MOV #1,14(R4) ; *,*(CCB) 0537
000110 000403 BR 3$ ; 0529
000112 012764 177752 000014 2$: MOV #-26,14(R4) ; *,*(CCB) 0541
000120 005726 3$: TST (SP)+ ; 0445
000122 000207 RTS PC
; Routine Size: 42 words, Routine Base: $CODE$ + 0362
; Maximum stack depth per invocation: 5 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 13
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (6)
; 0544 routine NODE_COUNTERS (NODEb): novalue =
; 0545
; 0546 !++
; 0547 ! FUNCTIONAL DESCRIPTION:
; 0548 ! This routine inserts the counters for the specified node
; 0549 ! in the NM buffer.
; 0550 !
; 0551 ! FORMAL PARAMETERS:
; 0552 !
; 0553 ! NODEb Node data base pointer
; 0554 !
; 0555 ! IMPLICIT INPUTS:
; 0556 ! None
; 0557 !
; 0558 ! IMPLICIT OUTPUTS:
; 0559 ! None
; 0560 !
; 0561 ! ROUTINE VALUE:
; 0562 ! COMPLETION CODES:
; 0563 ! None
; 0564 !
; 0565 ! SIDE EFFECTS:
; 0566 ! None
; 0567 !--
; 0568
; 0569 begin
; 0570 map NODEb: ref NODEblock;
; 0571 external MCB$GAW_PROCESS_DATA_BASE: vector[2];
; 0572 bind XPTDB = .MCB$GAW_PROCESS_DATA_BASE[1]: XPTDBblock;
; 0573 COUNTER_8(900,Aged_Loss); ! Local Aged Packet Loss
; 0574 COUNTER_16(901,Unreach_Loss); ! Local Node Unreachable Packet Loss
; 0575 COUNTER_8(902,Range_Loss); ! Local Node Out-of-Range Packet Loss
; 0576 COUNTER_8(903,Oversize_Loss); ! Local Node Over Size Packet Loss
; 0577 COUNTER_8(910,Format_Errors); ! Packet Format Errors
; 0578 COUNTER_8(920,Routing_Loss); ! Partial Routing Update Loss
; 0579 COUNTER_8(930,Verify_Rejects); ! Verification Rejects
; 0580 end; ! of NODE_COUNTERS
.GLOBL $DC8, $DC16
.SBTTL NODE.COUNTERS Network Management
000000 010146 ; NODE.COUNTERS
U.5: MOV R1,-(SP) ; 0544
000002 016701 000002G MOV .CRDAT+2,R1 ; 0569
000006 012746 121604 MOV #-56174,-(SP) ; 0573
000012 116100 000130 MOVB 130(R1),R0
000016 004767 000000G JSR PC,$DC8
000022 012716 141605 MOV #-36173,(SP) ; 0574
000026 016100 000136 MOV 136(R1),R0
000032 004767 000000G JSR PC,$DC16
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 14
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (6)
000036 012716 121606 MOV #-56172,(SP) ; 0575
000042 116100 000131 MOVB 131(R1),R0
000046 004767 000000G JSR PC,$DC8
000052 012716 121607 MOV #-56171,(SP) ; 0576
000056 116100 000132 MOVB 132(R1),R0
000062 004767 000000G JSR PC,$DC8
000066 012716 121616 MOV #-56162,(SP) ; 0577
000072 116100 000133 MOVB 133(R1),R0
000076 004767 000000G JSR PC,$DC8
000102 012716 121630 MOV #-56150,(SP) ; 0578
000106 116100 000134 MOVB 134(R1),R0
000112 004767 000000G JSR PC,$DC8
000116 012716 121642 MOV #-56136,(SP) ; 0579
000122 116100 000135 MOVB 135(R1),R0
000126 004767 000000G JSR PC,$DC8
000132 005726 TST (SP)+ ; 0569
000134 012601 MOV (SP)+,R1 ; 0544
000136 000207 RTS PC
; Routine Size: 48 words, Routine Base: $CODE$ + 0506
; Maximum stack depth per invocation: 3 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 15
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (7)
; 0581 routine RETURN_NODE_LIST (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
; 0582
; 0583 !++
; 0584 ! FUNCTIONAL DESCRIPTION:
; 0585 !
; 0586 ! Returns a list of all reachable nodes in the network.
; 0587 !
; 0588 ! FORMAL PARAMETERS
; 0589 !
; 0590 ! CCB Function CCB
; 0591 ! CCB[C_BUF] Doubleword pointer to parameter block
; 0592 ! in which the list of node IDs requested
; 0593 ! is returned.
; 0594 ! CCB[C_CNT] Maximum length of buffer; on return contains
; 0595 ! the length of returned data.
; 0596 !
; 0597 ! IMPLICIT INPUTS
; 0598 !
; 0599 ! NONE.
; 0600 !
; 0601 ! ROUTINE VALUE: "Success" or a failure code
; 0602 ! COMPLETION CODES:
; 0603 !
; 0604 ! NM$SUC Success; the node IDs of all active nodes are
; 0605 ! returned in the supplied buffer.
; 0606 !
; 0607 ! $NM$ERR_REE The full list of node IDs will not fit into the
; 0608 ! supplied buffer. All possible data are returned;
; 0609 ! CCB[C_CNT] is valid.
; 0610 !
; 0611 ! SIDE EFFECTS:
; 0612 !
; 0613 ! NONE.
; 0614 !
; 0615 !--
; 0616
; 0617 begin
; 0618 map CCB: ref block field(C_NM_FIELDS);
; 0619 local BUFLEN;
; 0620 pointer PTR;
; 0621 require 'XPTSYM';
; 0658
; 0659 MAPBUF(.CCB,PTR,BUFLEN); ! Map in buffer
; 0660 CCB [C_CNT] = 0;
; 0661
; 0662 !
; 0663 ! Check each node number for inclusion
; 0664 !
; 0665
; 0666 $XPT_for_each_NODEb_do_begin
; 0667 if .Reach ! Reachable node:
; 0668 then if (BUFLEN = .BUFLEN - 3) geq 0 ! Data will fit
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 16
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (7)
; 0669 then begin ! Move in node number
; 0670 putb(.(NODEaddress)<0,8>,PTR);
; 0671 putb(.(NODEaddress)<8,8>,PTR);
; 0672 putb(0,PTR); ! and a null node name
; 0673 CCB [C_CNT] = .CCB [C_CNT] + 3;
; 0674 end;
; 0675 $XPT_next_NODEb_end;
; 0676
; 0677 !
; 0678 ! Set status if all fits
; 0679 !
; 0680
; 0681 CCB [C_STS] = $NM$ERR_REE;
; 0682
; 0683 if .BUFLEN geq 0 then CCB [C_STS] = NM$SUC;
; 0684
; 0685 end; !End of RETURN_NODE_LIST
.SBTTL RETURN.NODE.LIST Network Management
000000 004167 000000G ; RETURN.NODE.LIST
U.6: JSR R1,$SAVE5 ; 0581
000004 016467 000016 000000G MOV 16(R4),KISAR6 ; *(CCB),* 0659
000012 016400 000020 MOV 20(R4),R0 ; *(CCB),PTR
000016 012701 000022 MOV #22,R1
000022 060401 ADD R4,R1 ; CCB,*
000024 011105 MOV (R1),R5 ; *,BUFLEN
000026 005011 CLR (R1) ; 0660
000030 016302 000012 MOV 12(R3),R2 ; *(XPTDB),NODEB
000034 016303 000016 MOV 16(R3),R3 ; *(XPTDB),$XPT$NODEB.CNT
000040 001417 BEQ 3$
000042 005712 1$: TST (R2) ; NODEB 0667
000044 100012 BPL 2$
000046 162705 000003 SUB #3,R5 ; *,BUFLEN 0668
000052 100407 BMI 2$
000054 116220 000002 MOVB 2(R2),(R0)+ ; *(NODEB),PTR 0670
000060 116220 000003 MOVB 3(R2),(R0)+ ; *(NODEB),PTR 0671
000064 105020 CLRB (R0)+ ; PTR 0672
000066 062711 000003 ADD #3,(R1) ; 0673
000072 062702 000010 2$: ADD #10,R2 ; *,NODEB 0674
000076 077317 SOB R3,1$ ; $XPT$NODEB.CNT,* 0000
000100 012764 177761 000014 3$: MOV #-17,14(R4) ; *,*(CCB) 0681
000106 005705 TST R5 ; BUFLEN 0683
000110 002403 BLT 4$
000112 012764 000001 000014 MOV #1,14(R4) ; *,*(CCB)
000120 000207 4$: RTS PC ; 0581
; Routine Size: 41 words, Routine Base: $CODE$ + 0646
; Maximum stack depth per invocation: 7 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 17
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)
; 0686 routine SET_NODE (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
; 0687
; 0688 !++
; 0689 ! FUNCTIONAL DESCRIPTION:
; 0690 ! This routine sets a node parameter
; 0691 !
; 0692 ! FORMAL PARAMETERS:
; 0693 !
; 0694 ! CCB CCB to pass to handler routine
; 0695 !
; 0696 ! IMPLICIT INPUTS:
; 0697 ! CCB Contents
; 0698 !
; 0699 ! IMPLICIT OUTPUTS:
; 0700 ! None
; 0701 !
; 0702 ! ROUTINE VALUE:
; 0703 ! COMPLETION CODES:
; 0704 ! None
; 0705 !
; 0706 ! SIDE EFFECTS:
; 0707 ! None
; 0708 !--
; 0709
; 0710 begin
; 0711 map CCB: ref block field(C_NM_FIELDS);
; 0712 bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
; 0713 NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
; 0714 local NODEb;
; 0715 require 'XPTSYM';
; 0752 local PNUM,PVAL;
; 0753
; 0754 !
; 0755 ! Determine the entity whose parameter is to be set
; 0756 !
; 0757
; 0758 if (NODEb = NODE_DB(.CCB)) eqla 0
; 0759 then return; ! Invalid node address
; 0760
; 0761 begin
; 0762 pointer PTR;
; 0763 MAPBUF(.CCB,PTR);
; 0764 PNUM = getw(PTR);
; 0765 PVAL = getw(PTR);
; 0766 end;
; 0767
; 0768 if NODE_ADDRESS eql .Tid
; 0769 then begin
; 0770 selectone .PNUM of ! Dispatch on parm #
; 0771 set
; 0772
; 0773 [910]: ! ROUTING TIMER (T1)
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 18
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)
; 0774 selectoneu .PVAL of
; 0775 set
; 0776 [1 to 65535]:
; 0777 begin
; 0778 Routing_timer = .PVAL; ! Update timer resetting value
; 0779 !
; 0780 ! Fix current clock to be within reason.
; 0781 !
; 0782 if .Routing_clock gtru .Routing_timer
; 0783 then Routing_clock = .Routing_timer;
; 0784
; 0785 CCB [C_STS] = NM$SUC;
; 0786 end;
; 0787 [otherwise]:
; 0788 CCB [C_STS] = $NM$ERR_IPV;
; 0789 tes;
; 0790
; 0791 [920]: ! MAXIMUM ADDRESS (NN)
; 0792 selectoneu .PVAL of
; 0793 set
; 0794 [1 to .XPTDB[XPT$nn]]:
; 0795 begin ! Value OK -
; 0796 XPTDB[XPTnn] = .PVAL; ! update NN
; 0797 CCB [C_STS] = NM$SUC;
; 0798 end;
; 0799 [otherwise]:
; 0800 CCB [C_STS] = $NM$ERR_IPV;
; 0801 tes;
; 0802
; 0803 [922]: ! MAXIMUM COST (Maxc)
; 0804 selectoneu .PVAL of
; 0805 set
; 0806 [1 to 1022]:
; 0807 begin
; 0808 Maxc = .PVAL;
; 0809 CCB [C_STS] = NM$SUC;
; 0810 end;
; 0811 [otherwise]:
; 0812 CCB [C_STS] = $NM$ERR_IPV;
; 0813 tes;
; 0814
; 0815 [923]: ! MAXIMUM HOPS (Maxh)
; 0816 selectoneu (PVAL = .PVAL<0,8>) of
; 0817 set
; 0818 [1 to 30]:
; 0819 begin
; 0820 Maxh = .PVAL;
; 0821 CCB [C_STS] = NM$SUC;
; 0822 end;
; 0823 [otherwise]:
; 0824 CCB [C_STS] = $NM$ERR_IPV;
; 0825 tes;
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 19
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)
; 0826
; 0827 [924]: ! MAXIMUM VISITS (Maxv)
; 0828 selectoneu (PVAL = .PVAL<0,8>) of
; 0829 set
; 0830 [.Maxh to 255]:
; 0831 begin
; 0832 Maxv = .PVAL;
; 0833 CCB [C_STS] = NM$SUC;
; 0834 end;
; 0835 [otherwise]:
; 0836 CCB [C_STS] = $NM$ERR_IPV;
; 0837 tes;
; 0838
; 0839 [otherwise]: ! Parameter not applicable
; 0840 CCB [C_STS] = $NM$ERR_PNA;
; 0841 tes;
; 0842 end
; 0843 else begin
; 0844 selectone .PNUM of ! Dispatch on parm #
; 0845 set
; 0846 [920, ! MAXIMUM ADDRESS (NN)
; 0847 2500]: ! FENCE
; 0848 selectoneu .PVAL of
; 0849 set
; 0850 [1 to .XPTDB[XPT$nn]]:
; 0851 begin ! Value OK -
; 0852 local MXA: ref vector;
; 0853 while (MXA = .NODEmaximum_address_vector) eqla 0
; 0854 do begin
; 0855 if not $MCB_GET_DSR ((.XPTDB[XPT$nn]*%upval), MXA)
; 0856 then begin
; 0857 CCB [C_STS] = $NM$ERR_REE;
; 0858 return;
; 0859 end;
; 0860 NODEmaximum_address_vector = .MXA;
; 0861 decru IDX from .XPTDB[XPT$nn] to 1
; 0862 do begin
; 0863 MXA [0] = 0;
; 0864 MXA = MXA [1];
; 0865 end;
; 0866 end;
; 0867 if .PVAL eql NN then PVAL = 0;
; 0868 MXA [.NODEaddress - 1] = .PVAL;
; 0869 CCB [C_STS] = NM$SUC;
; 0870 end;
; 0871 [otherwise]:
; 0872 CCB [C_STS] = $NM$ERR_IPV;
; 0873 tes;
; 0874 [otherwise]: ! Parameter not applicable
; 0875 CCB [C_STS] = $NM$ERR_PNA;
; 0876 tes;
; 0877 end;
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 20
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)
; 0878 end; ! of SET_NODE
.GLOBL $DSRGT
.SBTTL SET.NODE Network Management
000000 004167 000000G ; SET.NODE
U.7: JSR R1,$SAVE5 ; 0686
000004 005746 TST -(SP)
000006 010446 MOV R4,-(SP)
000010 010400 MOV R4,R0 ; 0713
000012 016001 000026 MOV 26(R0),R1
000016 004767 177316 JSR PC,U.3 ; 0758
000022 010002 MOV R0,R2 ; *,NODEB
000024 001557 BEQ 9$ ; 0759
000026 011600 MOV (SP),R0 ; 0763
000030 016067 000016 000000G MOV 16(R0),KISAR6
000036 010004 MOV R0,R4
000040 016400 000020 MOV 20(R4),R0 ; *,PTR
000044 112066 000002 MOVB (R0)+,2(SP) ; PTR,X 0764
000050 112066 000003 MOVB (R0)+,3(SP) ; PTR,X
000054 016604 000002 MOV 2(SP),R4 ; X,PNUM
000060 112066 000002 MOVB (R0)+,2(SP) ; PTR,X 0765
000064 112066 000003 MOVB (R0)+,3(SP) ; PTR,X
000070 016605 000002 MOV 2(SP),R5 ; X,PVAL
000074 026163 000004 000056 CMP 4(R1),56(R3) ; *,*(XPTDB) 0768
000102 001076 BNE 5$
000104 020427 001616 CMP R4,#1616 ; PNUM,* 0770
000110 001012 BNE 1$
000112 005705 TST R5 ; PVAL 0774
000114 001553 BEQ 15$
000116 010563 000060 MOV R5,60(R3) ; PVAL,*(XPTDB) 0778
000122 026305 000072 CMP 72(R3),R5 ; *(XPTDB),* 0782
000126 101541 BLOS 14$
000130 010563 000072 MOV R5,72(R3) ; *,*(XPTDB) 0783
000134 000536 BR 14$ ; 0785
000136 020427 001630 1$: CMP R4,#1630 ; PNUM,* 0770
000142 001010 BNE 2$
000144 005705 TST R5 ; PVAL 0792
000146 001536 BEQ 15$
000150 020563 000014 CMP R5,14(R3) ; PVAL,*(XPTDB)
000154 101133 BHI 15$
000156 010563 000016 MOV R5,16(R3) ; PVAL,*(XPTDB) 0796
000162 000523 BR 14$ ; 0797
000164 020427 001632 2$: CMP R4,#1632 ; PNUM,* 0770
000170 001010 BNE 3$
000172 005705 TST R5 ; PVAL 0804
000174 001523 BEQ 15$
000176 020527 001776 CMP R5,#1776 ; PVAL,*
000202 101120 BHI 15$
000204 010563 000040 MOV R5,40(R3) ; PVAL,*(XPTDB) 0808
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 21
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)
000210 000510 BR 14$ ; 0809
000212 020427 001633 3$: CMP R4,#1633 ; PNUM,* 0770
000216 001011 BNE 4$
000220 042705 177400 BIC #177400,R5 ; *,PVAL 0816
000224 001507 BEQ 15$
000226 020527 000036 CMP R5,#36 ; PVAL,*
000232 101104 BHI 15$
000234 010563 000044 MOV R5,44(R3) ; PVAL,*(XPTDB) 0820
000240 000474 BR 14$ ; 0821
000242 020427 001634 4$: CMP R4,#1634 ; PNUM,* 0770
000246 001103 BNE 16$
000250 042705 177400 BIC #177400,R5 ; *,PVAL 0828
000254 010500 MOV R5,R0 ; PVAL,*
000256 020063 000044 CMP R0,44(R3) ; *,*(XPTDB)
000262 103470 BLO 15$
000264 020027 000377 CMP R0,#377
000270 101065 BHI 15$
000272 010563 000050 MOV R5,50(R3) ; PVAL,*(XPTDB) 0832
000276 000455 BR 14$ ; 0833
000300 020427 001630 5$: CMP R4,#1630 ; PNUM,* 0844
000304 001403 BEQ 6$
000306 020427 004704 CMP R4,#4704 ; PNUM,*
000312 001061 BNE 16$
000314 005705 6$: TST R5 ; PVAL 0848
000316 001452 BEQ 15$
000320 020563 000014 CMP R5,14(R3) ; PVAL,*(XPTDB)
000324 101047 BHI 15$
000326 016304 000024 7$: MOV 24(R3),R4 ; *(XPTDB),MXA 0853
000332 001025 BNE 12$
000334 016301 000014 MOV 14(R3),R1 ; *(XPTDB),* 0855
000340 006301 ASL R1
000342 004767 000000G JSR PC,$DSRGT
000346 103402 BCS 8$
000350 010004 MOV R0,R4 ; $MCB$R0,MXA
000352 000405 BR 10$
000354 011600 8$: MOV (SP),R0 ; 0857
000356 012760 177761 000014 MOV #-17,14(R0)
000364 000440 9$: BR 17$ ; 0856
000366 010463 000024 10$: MOV R4,24(R3) ; MXA,*(XPTDB) 0860
000372 016301 000014 MOV 14(R3),R1 ; *(XPTDB),IDX 0861
000376 001753 BEQ 7$
000400 005024 11$: CLR (R4)+ ; MXA 0863
000402 077102 SOB R1,11$ ; IDX,* 0000
000404 000750 BR 7$ ; 0853
000406 020563 000016 12$: CMP R5,16(R3) ; PVAL,*(XPTDB) 0867
000412 001001 BNE 13$
000414 005005 CLR R5 ; PVAL
000416 016200 000002 13$: MOV 2(R2),R0 ; *(NODEB),* 0868
000422 006300 ASL R0
000424 060400 ADD R4,R0 ; MXA,*
000426 010560 177776 MOV R5,-2(R0) ; PVAL,*
000432 011600 14$: MOV (SP),R0 ; 0869
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 22
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)
000434 012760 000001 000014 MOV #1,14(R0)
000442 000411 BR 17$ ; 0848
000444 011600 15$: MOV (SP),R0 ; 0872
000446 012760 177760 000014 MOV #-20,14(R0)
000454 000404 BR 17$ ; 0844
000456 011600 16$: MOV (SP),R0 ; 0875
000460 012760 177752 000014 MOV #-26,14(R0)
000466 022626 17$: CMP (SP)+,(SP)+ ; 0686
000470 000207 RTS PC
; Routine Size: 157 words, Routine Base: $CODE$ + 0770
; Maximum stack depth per invocation: 9 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 23
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (9)
; 0879 routine SHOW_AND_ZERO_NODE_COUNTERS (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
; 0880
; 0881 !++
; 0882 ! FUNCTIONAL DESCRIPTION:
; 0883 ! This routine show the counters for the specified node
; 0884 ! and then zeroes them.
; 0885 !
; 0886 ! FORMAL PARAMETERS:
; 0887 !
; 0888 ! CCB CCB to pass to handler routine
; 0889 !
; 0890 ! IMPLICIT INPUTS:
; 0891 ! CCB Contents
; 0892 !
; 0893 ! IMPLICIT OUTPUTS:
; 0894 ! None
; 0895 !
; 0896 ! ROUTINE VALUE:
; 0897 ! COMPLETION CODES:
; 0898 ! None
; 0899 !
; 0900 ! SIDE EFFECTS:
; 0901 ! None
; 0902 !--
; 0903
; 0904 begin
; 0905 map CCB: ref block field(C_NM_FIELDS);
; 0906 bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
; 0907 NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
; 0908 local NODEb;
; 0909 require 'XPTSYM';
; 0946
; 0947 if (NODEb = NODE_DB (.CCB)) eqla 0
; 0948 then return; ! Invalid node address
; 0949
; 0950 !
; 0951 ! Map in the return buffer
; 0952 !
; 0953
; 0954 $NM_RESPONSE_BEGIN(.CCB);
; 0955 if NODE_ADDRESS eqlu .Tid
; 0956 then NODE_COUNTERS (.NODEb);
; 0957 $NM_RESPONSE_END(.CCB);
; 0958 begin
; 0959 local STS_SAVE;
; 0960 STS_SAVE = .CCB [C_STS];
; 0961 ZERO_NODE_COUNTERS (.XPTDB,.CCB);
; 0962 CCB [C_STS] = .STS_SAVE;
; 0963 end;
; 0964 end; ! of SHOW_AND_ZERO_CIRCUIT_COUNTERS
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 24
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (9)
.GLOBL $NRBEG, $NREND
.SBTTL SHOW.AND.ZERO.NODE.COUNTERS Network Management
000000 004167 000000G ; SHOW.AND.ZERO.NODE.COUNTERS
U.8: JSR R1,$SAVE2 ; 0879
000004 016402 000026 MOV 26(R4),R2 ; *(CCB),* 0907
000010 004767 176632 JSR PC,U.3 ; 0947
000014 010001 MOV R0,R1 ; *,NODEB
000016 001422 BEQ 2$ ; 0948
000020 004767 000000G JSR PC,$NRBEG ; 0954
000024 026263 000004 000056 CMP 4(R2),56(R3) ; *,*(XPTDB) 0955
000032 001004 BNE 1$
000034 010146 MOV R1,-(SP) ; NODEB,* 0956
000036 004767 176762 JSR PC,U.5
000042 005726 TST (SP)+
000044 004767 000000G 1$: JSR PC,$NREND ; 0957
000050 016401 000014 MOV 14(R4),R1 ; *(CCB),STS.SAVE 0960
000054 004767 000000V JSR PC,U.12 ; 0961
000060 010164 000014 MOV R1,14(R4) ; STS.SAVE,*(CCB) 0962
000064 000207 2$: RTS PC ; 0879
; Routine Size: 27 words, Routine Base: $CODE$ + 1462
; Maximum stack depth per invocation: 5 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 25
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
; 0965 routine SHOW_NODE (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
; 0966
; 0967 !++
; 0968 ! FUNCTIONAL DESCRIPTION:
; 0969 ! This routine shows node parameters
; 0970 !
; 0971 ! FORMAL PARAMETERS:
; 0972 !
; 0973 ! CCB CCB to pass to handler routine
; 0974 !
; 0975 ! IMPLICIT INPUTS:
; 0976 ! CCB Contents
; 0977 !
; 0978 ! IMPLICIT OUTPUTS:
; 0979 ! None
; 0980 !
; 0981 ! ROUTINE VALUE:
; 0982 ! COMPLETION CODES:
; 0983 ! None
; 0984 !
; 0985 ! SIDE EFFECTS:
; 0986 ! None
; 0987 !--
; 0988
; 0989 begin
; 0990 map CCB: ref block field(C_NM_FIELDS);
; 0991 bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS);
; 0992 bind NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
; 0993 literal ! Node types:
; 0994 TYPE_2 = 0, ! Phase II
; 0995 TYPE_A = 1, ! Adjacent
; 0996 TYPE_R = 2, ! Remote
; 0997 TYPE_U = 3, ! Local XPT user
; 0998 TYPE_E = 4, ! Executor
; 0999 TYPE_L = 5, ! Loop
; 1000 TYPE_bad = 6, ! (invalid)
; 1001 TYPE_lo = min (TYPE_E, TYPE_A, TYPE_R, TYPE_L, TYPE_U, TYPE_bad),
; 1002 TYPE_hi = max (TYPE_E, TYPE_A, TYPE_R, TYPE_L, TYPE_U, TYPE_bad);
; 1003 local NODE_TYPE,NODEb,LINEb;
; 1004 require 'XPTSYM';
; 1041
; 1042 !
; 1043 ! Determine the entity whose data are to be shown
; 1044 !
; 1045
; 1046 $NM_RESPONSE_BEGIN(.CCB); ! Initialize response buffer
; 1047
; 1048 !
; 1049 ! Figure out the node type
; 1050 !
; 1051
; 1052 if (NODEb = $XPT_GET_NODE_DB (NODE_ADDRESS)) neqa 0
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 26
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
; 1053 then begin
; 1054 if .Local_node
; 1055 then begin
; 1056 if NODE_ADDRESS eql .Tid
; 1057 then NODE_TYPE = TYPE_E
; 1058 else NODE_TYPE = TYPE_U;
; 1059 end
; 1060 else if .Reach
; 1061 then begin
; 1062 LINEb = $XPT_GET_LINE_DB(.OL);
; 1063 selectone .Nty of
; 1064 set
; 1065 [PHtwo,TOPS20]:
; 1066 NODE_TYPE = TYPE_2;
; 1067 [otherwise]:
; 1068 if .Minhop eql 1
; 1069 then NODE_TYPE = TYPE_A
; 1070 else NODE_TYPE = TYPE_R;
; 1071 tes;
; 1072 end
; 1073 else NODE_TYPE = TYPE_R;
; 1074 end
; 1075 else if NODE_ADDRESS eql 0
; 1076 then NODE_TYPE = TYPE_L
; 1077 else NODE_TYPE = TYPE_bad;
; 1078
; 1079 case .CCB [C_NM_SELECT] from NMX$SEL_lo to NMX$SEL_hi of
; 1080 set
; 1081 [NMX$SEL_sum]:
; 1082 selectu .NODE_TYPE of
; 1083 set
; 1084 [TYPE_U]:
; 1085 SHOW_NODE_STATE (.NODEb); ! STATE
; 1086 [TYPE_2,TYPE_A,TYPE_R]:
; 1087 begin
; 1088 SHOW_NODE_STATE (.NODEb); ! STATE
; 1089 SHOW_NODE_CIRCUIT (.NODEb); ! CIRCUIT
; 1090 end;
; 1091 tes;
; 1092 [NMX$SEL_sta]:
; 1093 selectu .NODE_TYPE of
; 1094 set
; 1095 [TYPE_2,TYPE_A,TYPE_R,TYPE_U]:
; 1096 SHOW_NODE_STATE (.NODEb); ! STATE
; 1097 [TYPE_2,TYPE_A]:
; 1098 begin ! TYPE
; 1099 local VALUE;
; 1100 LINEb = $XPT_GET_LINE_DB (.OL);
; 1101 case .Nty from 2 to 5 of
; 1102 set ! Move in node type:
; 1103 [Full]: VALUE = 0; ! Routing
; 1104 [Small]: VALUE = 1; ! Non-routing
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 27
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
; 1105 [PhTwo,TOPS20]: VALUE = 2; ! Phase II
; 1106 tes;
; 1107 PARAMETER_C_1(810,VALUE);
; 1108 end;
; 1109 [TYPE_A,TYPE_R]:
; 1110 begin
; 1111 PARAMETER_DU_2(820,Mincost); ! COST
; 1112 PARAMETER_DU_1(821,Minhop); ! HOPS
; 1113 end;
; 1114 [TYPE_2,TYPE_A,TYPE_R]:
; 1115 SHOW_NODE_CIRCUIT (.NODEb); ! CIRCUIT
; 1116 tes;
; 1117 [NMX$SEL_cha]:
; 1118 selectu .NODE_TYPE of
; 1119 set
; 1120 [TYPE_E]:
; 1121 begin ! ROUTING VERSION
; 1122 PARAMETER_CM(900,3); ! Three fields:
; 1123 PARAMETER_DU_1(,uplit(1)); ! Version # = 1
; 1124 PARAMETER_DU_1(,uplit(3)); ! Routing ECO = 3
; 1125 PARAMETER_DU_1(,uplit(0)); ! User ECO = 0
; 1126 PARAMETER_C_1(901,uplit(0)); ! TYPE
; 1127 PARAMETER_DU_2(910,Routing_timer);! ROUTING TIMER
; 1128 begin
; 1129 local VALUE;
; 1130 VALUE = NN; ! MAXIMUM ADDRESS
; 1131 PARAMETER_DU_2(920,VALUE);
; 1132 VALUE = NLN; ! MAXIMUM CIRCUITS
; 1133 PARAMETER_DU_2(921,VALUE);
; 1134 end;
; 1135 PARAMETER_DU_2(922,Maxc); ! MAXIMUM COST
; 1136 PARAMETER_DU_1(923,Maxh); ! MAXIMUM HOPS
; 1137 PARAMETER_DU_1(924,Maxv); ! MAXIMUM VISITS
; 1138 begin ! MAXIMUM BUFFERS
; 1139 local VALUE;
; 1140 VALUE = .XPTDB[XPT$updq] ! Store routing/update quota
; 1141 + .XPTDB[XPT$eclq] ! plus ECL quota
; 1142 + $LINQ; ! plus total line quota
; 1143 PARAMETER_DU_2(930,VALUE);
; 1144 end;
; 1145 PARAMETER_DU_2(931,DLLsize); ! BUFFER SIZE
; 1146 end;
; 1147 [TYPE_2,TYPE_A,TYPE_E,TYPE_R,TYPE_U]:
; 1148 begin
; 1149 local MXA: ref vector;
; 1150 if (MXA = .NODEmaximum_address_vector) neqa 0
; 1151 then if (MXA = .MXA [.NODEaddress - 1]) neq 0
; 1152 then PARAMETER_DU_2(2500,MXA); ! MAXIMUM ADDRESS
; 1153 end;
; 1154 tes;
; 1155 [NMX$SEL_cou]:
; 1156 selectu .NODE_TYPE of
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 28
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
; 1157 set
; 1158 [TYPE_E]:
; 1159 NODE_COUNTERS (.NODEb);
; 1160 tes;
; 1161 tes;
; 1162
; 1163 $NM_RESPONSE_END(.CCB);
; 1164 end; ! of SHOW_NODE
000014 .PSECT $PLIT$, RO , D
000014 000001 P.AAD: .WORD 1
000016 000003 P.AAE: .WORD 3
000020 000000 P.AAF: .WORD 0
000022 000000 P.AAG: .WORD 0
.GLOBL GTLINE, $DPC1, $DPDU2, $DPDU1
.GLOBL $TPDU1
.SBTTL SHOW.NODE Network Management
001550 .PSECT $CODE$, RO
000000 004167 000000G ; SHOW.NODE
U.9: JSR R1,$SAVE5 ; 0965
000004 016400 000026 MOV 26(R4),R0 ; *(CCB),* 0992
000010 016001 000004 MOV 4(R0),R1 ; 0989
000014 004767 000000G JSR PC,$NRBEG ; 1046
000020 010100 MOV R1,R0 ; 1052
000022 004767 000000G JSR PC,GTNODE
000026 010002 MOV R0,R2 ; *,NODEB
000030 001446 BEQ 5$
000032 032712 000400 BIT #400,(R2) ; *,NODEB 1054
000036 001411 BEQ 2$
000040 020163 000056 CMP R1,56(R3) ; *,*(XPTDB) 1056
000044 001003 BNE 1$
000046 012705 000004 MOV #4,R5 ; *,NODE.TYPE 1057
000052 000444 BR 7$ ; 1056
000054 012705 000003 1$: MOV #3,R5 ; *,NODE.TYPE 1058
000060 000441 BR 7$ ; 1054
000062 005712 2$: TST (R2) ; NODEB 1060
000064 100025 BPL 4$
000066 111200 MOVB (R2),R0 ; NODEB,* 1062
000070 004767 000000G JSR PC,GTLINE
000074 010001 MOV R0,R1 ; *,LINEB
000076 116100 000002 MOVB 2(R1),R0 ; *(LINEB),* 1063
000102 020027 000004 CMP R0,#4
000106 002405 BLT 3$
000110 020027 000005 CMP R0,#5
000114 003002 BGT 3$
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 29
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
000116 005005 CLR R5 ; NODE.TYPE 1066
000120 000421 BR 7$ ; 1063
000122 026227 000004 000001 3$: CMP 4(R2),#1 ; *(NODEB),* 1068
000130 001003 BNE 4$
000132 012705 000001 MOV #1,R5 ; *,NODE.TYPE 1069
000136 000412 BR 7$ ; 1068
000140 012705 000002 4$: MOV #2,R5 ; *,NODE.TYPE 1073
000144 000407 BR 7$ ; 1052
000146 005701 5$: TST R1 ; 1075
000150 001003 BNE 6$
000152 012705 000005 MOV #5,R5 ; *,NODE.TYPE 1076
000156 000402 BR 7$ ; 1075
000160 012705 000006 6$: MOV #6,R5 ; *,NODE.TYPE 1077
000164 016400 000024 7$: MOV 24(R4),R0 ; *(CCB),* 1079
000170 072027 177764 ASH #-14,R0
000174 042700 177760 BIC #177760,R0
000200 005300 DEC R0
000202 006300 ASL R0
000204 066007 000024' ADD P.AAB(R0),PC ; Case dispatch
000210 020527 000003 8$: CMP R5,#3 ; NODE.TYPE,* 1082
000214 001002 BNE 9$
000216 004767 000000V JSR PC,U.11 ; 1085
000222 020527 000002 9$: CMP R5,#2 ; NODE.TYPE,* 1082
000226 101072 BHI 19$
000230 004767 000000V JSR PC,U.11 ; 1088
000234 000465 BR 18$ ; 1089
000236 020527 000003 10$: CMP R5,#3 ; NODE.TYPE,* 1093
000242 101002 BHI 11$
000244 004767 000000V JSR PC,U.11 ; 1096
000250 020527 000001 11$: CMP R5,#1 ; NODE.TYPE,* 1093
000254 101030 BHI 16$
000256 111200 MOVB (R2),R0 ; NODEB,* 1100
000260 004767 000000G JSR PC,GTLINE
000264 010001 MOV R0,R1 ; *,LINEB
000266 116100 000002 MOVB 2(R1),R0 ; *(LINEB),* 1101
000272 162700 000002 SUB #2,R0
000276 006300 ASL R0
000300 066007 000034' ADD P.AAC(R0),PC ; Case dispatch
000304 005001 12$: CLR R1 ; VALUE 1103
000306 000405 BR 15$ ; 1101
000310 012701 000001 13$: MOV #1,R1 ; *,VALUE 1104
000314 000402 BR 15$ ; 1101
000316 012701 000002 14$: MOV #2,R1 ; *,VALUE 1105
000322 012746 001452 15$: MOV #1452,-(SP) ; 1107
000326 110100 MOVB R1,R0 ; VALUE,*
000330 004767 000000G JSR PC,$DPC1
000334 005726 TST (SP)+ ; 1098
000336 005705 16$: TST R5 ; NODE.TYPE 1093
000340 001420 BEQ 17$
000342 020527 000002 CMP R5,#2 ; NODE.TYPE,*
000346 101176 BHI 23$
000350 012746 001464 MOV #1464,-(SP) ; 1111
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 30
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
000354 016200 000006 MOV 6(R2),R0 ; *(NODEB),*
000360 004767 000000G JSR PC,$DPDU2
000364 012716 001465 MOV #1465,(SP) ; 1112
000370 116200 000004 MOVB 4(R2),R0 ; *(NODEB),*
000374 004767 000000G JSR PC,$DPDU1
000400 005726 TST (SP)+ ; 1110
000402 020527 000002 17$: CMP R5,#2 ; NODE.TYPE,* 1093
000406 101163 BHI 25$
000410 004767 000000V 18$: JSR PC,U.10 ; 1115
000414 000560 19$: BR 25$ ; 1079
000416 020527 000004 20$: CMP R5,#4 ; NODE.TYPE,* 1118
000422 001126 BNE 21$
000424 012746 001604 MOV #1604,-(SP) ; 1122
000430 012700 000003 MOV #3,R0
000434 004767 000000G JSR PC,$DPCM
000440 116700 000014' MOVB P.AAD,R0 ; 1123
000444 004767 000000G JSR PC,$TPDU1
000450 116700 000016' MOVB P.AAE,R0 ; 1124
000454 004767 000000G JSR PC,$TPDU1
000460 116700 000020' MOVB P.AAF,R0 ; 1125
000464 004767 000000G JSR PC,$TPDU1
000470 012716 001605 MOV #1605,(SP) ; 1126
000474 116700 000022' MOVB P.AAG,R0
000500 004767 000000G JSR PC,$DPC1
000504 012716 001616 MOV #1616,(SP) ; 1127
000510 016300 000060 MOV 60(R3),R0 ; *(XPTDB),*
000514 004767 000000G JSR PC,$DPDU2
000520 016301 000016 MOV 16(R3),R1 ; *(XPTDB),VALUE 1130
000524 012716 001630 MOV #1630,(SP) ; 1131
000530 010100 MOV R1,R0 ; VALUE,*
000532 004767 000000G JSR PC,$DPDU2
000536 016301 000022 MOV 22(R3),R1 ; *(XPTDB),VALUE 1132
000542 012716 001631 MOV #1631,(SP) ; 1133
000546 010100 MOV R1,R0 ; VALUE,*
000550 004767 000000G JSR PC,$DPDU2
000554 012716 001632 MOV #1632,(SP) ; 1135
000560 016300 000040 MOV 40(R3),R0 ; *(XPTDB),*
000564 004767 000000G JSR PC,$DPDU2
000570 012716 001633 MOV #1633,(SP) ; 1136
000574 116300 000044 MOVB 44(R3),R0 ; *(XPTDB),*
000600 004767 000000G JSR PC,$DPDU1
000604 012716 001634 MOV #1634,(SP) ; 1137
000610 116300 000050 MOVB 50(R3),R0 ; *(XPTDB),*
000614 004767 000000G JSR PC,$DPDU1
000620 005001 CLR R1 ; 1141
000622 156301 000077 BISB 77(R3),R1 ; *(XPTDB),*
000626 005000 CLR R0
000630 156300 000101 BISB 101(R3),R0 ; *(XPTDB),*
000634 060100 ADD R1,R0
000636 005001 CLR R1 ; 1142
000640 156301 000034 BISB 34(R3),R1 ; *(XPTDB),*
000644 060100 ADD R1,R0
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 31
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)
000646 012716 001642 MOV #1642,(SP) ; 1143
000652 004767 000000G JSR PC,$DPDU2
000656 012716 001643 MOV #1643,(SP) ; 1145
000662 016300 000124 MOV 124(R3),R0 ; *(XPTDB),*
000666 004767 000000G JSR PC,$DPDU2
000672 005726 TST (SP)+ ; 1121
000674 020527 000004 CMP R5,#4 ; NODE.TYPE,* 1118
000700 101026 21$: BHI 25$
000702 016300 000024 MOV 24(R3),R0 ; *(XPTDB),MXA 1150
000706 001423 BEQ 25$
000710 016202 000002 MOV 2(R2),R2 ; *(NODEB),* 1151
000714 006302 ASL R2
000716 060002 ADD R0,R2 ; MXA,*
000720 016200 177776 MOV -2(R2),R0 ; *,MXA
000724 001414 BEQ 25$
000726 012746 004704 MOV #4704,-(SP) ; 1152
000732 004767 000000G JSR PC,$DPDU2
000736 000406 BR 24$
000740 020527 000004 22$: CMP R5,#4 ; NODE.TYPE,* 1156
000744 001004 23$: BNE 25$
000746 010246 MOV R2,-(SP) ; NODEB,* 1159
000750 004767 175762 JSR PC,U.5
000754 005726 24$: TST (SP)+
000756 004767 000000G 25$: JSR PC,$NREND ; 1163
000762 000207 RTS PC ; 0965
; Routine Size: 250 words, Routine Base: $CODE$ + 1550
; Maximum stack depth per invocation: 8 words
000024 .PSECT $PLIT$, RO , D
P.AAB: ; CASE Table for SHOW.NODE+0204 1079
000024 000000 .WORD 0 ; [8$]
000026 000026 .WORD 26 ; [10$]
000030 000206 .WORD 206 ; [20$]
000032 000530 .WORD 530 ; [22$]
P.AAC: ; CASE Table for SHOW.NODE+0300 1101
000034 000000 .WORD 0 ; [12$]
000036 000004 .WORD 4 ; [13$]
000040 000012 .WORD 12 ; [14$]
000042 000012 .WORD 12 ; [14$]
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 32
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (11)
; 1165 routine SHOW_NODE_CIRCUIT (NODEb): XPT_LKG_NODEb novalue =
; 1166
; 1167 !++
; 1168 ! FUNCTIONAL DESCRIPTION:
; 1169 ! This routine shows the node circuit
; 1170 !
; 1171 ! FORMAL PARAMETERS:
; 1172 !
; 1173 ! CCB CCB to pass to handler routine
; 1174 !
; 1175 ! IMPLICIT INPUTS:
; 1176 ! CCB Contents
; 1177 !
; 1178 ! IMPLICIT OUTPUTS:
; 1179 ! None
; 1180 !
; 1181 ! ROUTINE VALUE:
; 1182 ! COMPLETION CODES:
; 1183 ! None
; 1184 !
; 1185 ! SIDE EFFECTS:
; 1186 ! None
; 1187 !--
; 1188
; 1189 begin
; 1190 local LINEb;
; 1191 require 'XPTSYM';
; 1228
; 1229 LINEb = $XPT_GET_LINE_DB(.OL);
; 1230 NMX$PARAMETER_CIRCUIT(PD_NMX,.NMXid,822);
; 1231 end; ! of SHOW_NODE_CIRCUIT
.GLOBL $NPNAM, $CALLP
.SBTTL SHOW.NODE.CIRCUIT Network Management
002534 .PSECT $CODE$, RO
000000 111200 ; SHOW.NODE.CIRCUIT
U.10: MOVB (R2),R0 ; NODEB,* 1229
000002 004767 000000G JSR PC,GTLINE
000006 012746 001466 MOV #1466,-(SP) ; 1230
000012 016046 000034 MOV 34(R0),-(SP) ; *(LINEB),*
000016 012746 002000 MOV #2000,-(SP)
000022 012746 000003 MOV #3,-(SP)
000026 012746 000000G MOV #$NPNAM,-(SP)
000032 016700 000002G MOV .CRDAT+2,R0
000036 005046 CLR -(SP)
000040 116016 000005 MOVB 5(R0),(SP)
000044 004767 000000G JSR PC,$CALLP
000050 062706 000014 ADD #14,SP ; 1189
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 33
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (11)
000054 000207 RTS PC ; 1165
; Routine Size: 23 words, Routine Base: $CODE$ + 2534
; Maximum stack depth per invocation: 7 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 34
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (12)
; 1232 routine SHOW_NODE_STATE (NODEb): XPT_LKG_NODEb novalue =
; 1233
; 1234 !++
; 1235 ! FUNCTIONAL DESCRIPTION:
; 1236 ! This routine shows the node state
; 1237 !
; 1238 ! FORMAL PARAMETERS:
; 1239 !
; 1240 ! CCB CCB to pass to handler routine
; 1241 !
; 1242 ! IMPLICIT INPUTS:
; 1243 ! CCB Contents
; 1244 !
; 1245 ! IMPLICIT OUTPUTS:
; 1246 ! None
; 1247 !
; 1248 ! ROUTINE VALUE:
; 1249 ! COMPLETION CODES:
; 1250 ! None
; 1251 !
; 1252 ! SIDE EFFECTS:
; 1253 ! None
; 1254 !--
; 1255
; 1256 begin
; 1257 local VALUE;
; 1258 require 'XPTSYM';
; 1295
; 1296 VALUE = 4; ! 4 if reachable,
; 1297 if not .Reach then
; 1298 VALUE = .VALUE + 1; ! 5 if unreachable
; 1299 PARAMETER_C_1(0,VALUE);
; 1300 end; ! of SHOW_NODE_STATE
.SBTTL SHOW.NODE.STATE Network Management
000000 010146 ; SHOW.NODE.STATE
U.11: MOV R1,-(SP) ; 1232
000002 012701 000004 MOV #4,R1 ; *,VALUE 1296
000006 005712 TST (R2) ; NODEB 1297
000010 100401 BMI 1$
000012 005201 INC R1 ; VALUE 1298
000014 005046 1$: CLR -(SP) ; 1299
000016 110100 MOVB R1,R0 ; VALUE,*
000020 004767 000000G JSR PC,$DPC1
000024 005726 TST (SP)+ ; 1256
000026 012601 MOV (SP)+,R1 ; 1232
000030 000207 RTS PC
; Routine Size: 13 words, Routine Base: $CODE$ + 2612
; Maximum stack depth per invocation: 3 words
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 35
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (13)
; 1301 routine ZERO_NODE_COUNTERS (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
; 1302
; 1303 !++
; 1304 ! FUNCTIONAL DESCRIPTION:
; 1305 ! This routine zeroes counters for the specified node
; 1306 !
; 1307 ! FORMAL PARAMETERS:
; 1308 !
; 1309 ! CCB CCB to pass to handler routine
; 1310 !
; 1311 ! IMPLICIT INPUTS:
; 1312 ! CCB Contents
; 1313 !
; 1314 ! IMPLICIT OUTPUTS:
; 1315 ! None
; 1316 !
; 1317 ! ROUTINE VALUE:
; 1318 ! COMPLETION CODES:
; 1319 ! None
; 1320 !
; 1321 ! SIDE EFFECTS:
; 1322 ! None
; 1323 !--
; 1324
; 1325 begin
; 1326 map CCB: ref block field(C_NM_FIELDS);
; 1327 bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
; 1328 NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
; 1329 local NODEb;
; 1330 require 'XPTSYM';
; 1367
; 1368 if (NODEb = NODE_DB (.CCB)) eqla 0
; 1369 then return; ! Invalid node address
; 1370
; 1371 if NODE_ADDRESS eqlu .Tid
; 1372 then begin
; 1373 Aged_Loss = 0;
; 1374 Unreach_Loss = 0;
; 1375 Range_Loss = 0;
; 1376 Oversize_Loss = 0;
; 1377 Format_Errors = 0;
; 1378 Routing_Loss = 0;
; 1379 Verify_Rejects = 0;
; 1380 end;
; 1381
; 1382 CCB [C_STS] = NM$SUC;
; 1383 end; ! of ZERO_NODE_COUNTERS
.SBTTL ZERO.NODE.COUNTERS Network Management
000000 010146 ; ZERO.NODE.COUNTERS
U.12: MOV R1,-(SP) ; 1301
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 36
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (13)
000002 016401 000026 MOV 26(R4),R1 ; *(CCB),* 1328
000006 004767 175452 JSR PC,U.3 ; 1368
000012 005700 TST R0 ; NODEB
000014 001425 BEQ 2$ ; 1369
000016 026163 000004 000056 CMP 4(R1),56(R3) ; *,*(XPTDB) 1371
000024 001016 BNE 1$
000026 105063 000130 CLRB 130(R3) ; *(XPTDB) 1373
000032 005063 000136 CLR 136(R3) ; *(XPTDB) 1374
000036 105063 000131 CLRB 131(R3) ; *(XPTDB) 1375
000042 105063 000132 CLRB 132(R3) ; *(XPTDB) 1376
000046 105063 000133 CLRB 133(R3) ; *(XPTDB) 1377
000052 105063 000134 CLRB 134(R3) ; *(XPTDB) 1378
000056 105063 000135 CLRB 135(R3) ; *(XPTDB) 1379
000062 012764 000001 000014 1$: MOV #1,14(R4) ; *,*(CCB) 1382
000070 012601 2$: MOV (SP)+,R1 ; 1301
000072 000207 RTS PC
; Routine Size: 30 words, Routine Base: $CODE$ + 2644
; Maximum stack depth per invocation: 2 words
; 1384
; 1385 end
; 1386 eludom ! End of module XPTNMI
; OTS external references
.GLOBL $SAVE5, $SAVE2
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $PLIT$ 18 RO , D , LCL, REL, CON
; $CODE$ 752 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; RATS:<BANKS.MCB.MCB>XPORTX.L16.10 599 0 0 0
; RATS:<BANKS.MCB.MCB>MCBLIB.L16.6 372 32 8 0
; RATS:<BANKS.MCB.MCB>NMXLIB.L16.5 200 62 31 0
; RATS:<BANKS.MCB.XPT>XPTLIB.L16.3 510 180 35 0
XPTNMI 15-Nov-1984 10:35:45 TOPS-20 Bliss-16 2A(530) Page 37
X01090 Network Management 23-Sep-1983 09:37:18 RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (13)
; Size: 752 code + 18 data words
; Run Time: 00:17.4
; Elapsed Time: 00:50.5
; Memory Used: 60 pages
; Compilation Complete