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