Trailing-Edge
-
PDP-10 Archives
-
BB-R598A-RM_1983
-
swskit-v3/listings/xpt/xpttim.list
There are no other files named xpttim.list in the archive.
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 1
30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (1)
; 0001 module XPTTIM (
; 0002 IDENT = 'X01140'
; 0003 ) =
; 0004 begin
; 0005
; 0006 !
; 0007 ! COPYRIGHT (c) 1980, 1981, 1982
; 0008 ! DIGITAL EQUIPMENT CORPORATION
; 0009 ! Maynard, Massachusetts
; 0010 !
; 0011 ! This software is furnished under a license and may be used
; 0012 ! and copied only in accordance with the terms of such license
; 0013 ! and with the inclusion of the above copyright notice. This
; 0014 ! software or any other copies thereof may not be provided or
; 0015 ! otherwise made available to any other person. No title to
; 0016 ! and ownership of the software is hereby transferred.
; 0017 !
; 0018 ! The information in this software is subject to change
; 0019 ! without notice and should not be construed as a commitment
; 0020 ! by DIGITAL EQUIPMENT CORPORATION.
; 0021 !
; 0022 ! DIGITAL assumes no responsibility for the use or reliability
; 0023 ! of its software on equipment which is not supplied by
; 0024 ! DIGITAL.
; 0025 !
; 0026
; 0027 !++
; 0028 ! FACILITY: Transport
; 0029 !
; 0030 ! ABSTRACT:
; 0031 !
; 0032 ! Transport timer service routine: updates all timers and calls the timer
; 0033 ! routines in the various Transport process modules.
; 0034 !
; 0035 ! ENVIRONMENT: MCB
; 0036 !
; 0037 ! AUTHOR: L. Webber , CREATION DATE: 27-Jul-79
; 0038 !
; 0039 ! MODIFIED BY:
; 0040 !
; 0041 ! 27-Jul-79 : VERSION 1.00
; 0042 !
; 0043 ! 1.01 L. Webber, 19-Dec-79
; 0044 ! Deleted update of T6 timer and call to LISTENER
; 0045 !
; 0046 ! 1.02 L. Webber, 4-Apr-80
; 0047 ! Change call to DECTIM to extension process call
; 0048 !
; 0049 ! 1.03 L. Webber, 15-Apr-80
; 0050 ! Add process initialization code to initialize the pointer
; 0051 ! to the Transport Data Base
; 0052 !
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 2
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (1)
; 0053 ! 1.04 L. Webber, 30-Jun-80
; 0054 ! Modify to use MCBLIB macros
; 0055 !
; 0056 ! 1.05 L. Webber, 11-Dec-80
; 0057 ! Modify to support MCB 3.1
; 0058 !
; 0059 ! 1.06 L. Webber, 20-Jan-81
; 0060 ! Add code to set up PIXes of other processes in the Transport
; 0061 ! data base; also don't pass NLN any more.
; 0062 !
; 0063 ! 1.07 L. Webber, 9-Feb-81
; 0064 ! Fix resource recovery code so it recognizes a resource failure
; 0065 ! during the redispatch of a CCB, and stops dispatching CCBs.
; 0066 !
; 0067 ! 1.08 L. Webber, 10-Feb-81
; 0068 ! The Update module is now in XPE; CALL$E to UPDTIM.
; 0069 ! The Hello module is also in XPE; CALL$E to HELLO.
; 0070 !
; 0071 ! 1.09 L. Webber, 18-Feb-81
; 0072 ! Add debugging code to maintain a count of buffers on the retry
; 0073 ! queue.
; 0074 !
; 0075 ! 1.10 L. Webber, 24-Feb-81
; 0076 ! CALL$P TLITIM when the timer goes off.
; 0077 ! Put in the new form of timer maintenance.
; 0078 !
; 0079 ! 1.11 L. Webber, 27-Feb-81
; 0080 ! Get the PIX for the XNM process.
; 0081 !
; 0082 ! 1.12 L. Webber, 10-Mar-81
; 0083 ! Fix input quota accounting for buffers going onto the retry
; 0084 ! queue; they will be counted again when redispatched.
; 0085 !
; 0086 ! 1.13 L. Webber, 23-Feb-82
; 0087 ! Add maintenance of DLLquota.
; 0088 !
; 0089 ! 1.14 A. Peckham,19-Apr-82
; 0090 ! Eliminate references to GETLINE.
; 0091 ! Optimize linkages.
; 0092 !
; 0093 !--
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 3
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (2)
; 0094
; 0095 !
; 0096 ! TABLE OF CONTENTS
; 0097 !
; 0098
; 0099 require 'XPTMAC';
; 0197 forward routine
; 0198 XPTTIM: MCB_DB_MOD novalue,
; 0199 TIMLTM: MCB_DB novalue,
; 0200 TIMPIN: MCB_DB novalue,
; 0201 GET_PIX,
; 0202 GETNLN: novalue,
; 0203 RE_QUEUE: novalue;
; 0204
; 0205 !
; 0206 ! INCLUDE FILES:
; 0207 !
; 0208
; 0209
; 0210 !
; 0211 ! MACROS:
; 0212 !
; 0213
; 0214 !
; 0215 ! EQUATED SYMBOLS:
; 0216 !
; 0217
; 0218 !
; 0219 ! OWN STORAGE:
; 0220 !
; 0221
; 0222 !
; 0223 ! EXTERNAL REFERENCES:
; 0224 !
; 0225
; 0226 external routine
; 0227 XPEDB: novalue,
; 0228 TLIDB: novalue,
; 0229 DECTIM: novalue,
; 0230 UPDTIM: novalue,
; 0231 HELLO: LINKAGE_DB novalue,
; 0232 TLITIM: novalue;
; 0233
; 0234 external $XPTLL: vector;
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 4
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (3)
; 0235
; 0236 global
; 0237 routine XPTTIM (XPTDB,MODIFIER): MCB_DB_MOD novalue =
; 0238
; 0239 !++
; 0240 ! FUNCTIONAL DESCRIPTION:
; 0241 !
; 0242 ! Dispatch FC_TIM related services
; 0243 !
; 0244 ! FORMAL PARAMETERS
; 0245 !
; 0246 ! XPTDB Address of Transport data base
; 0247 ! MODIFIER Modifier code
; 0248 !
; 0249 ! IMPLICIT INPUTS
; 0250 !
; 0251 ! ?
; 0252 !
; 0253 ! ROUTINE VALUE:
; 0254 ! COMPLETION CODES:
; 0255 !
; 0256 ! NONE.
; 0257 !
; 0258 ! SIDE EFFECTS:
; 0259 !
; 0260 !
; 0261 !--
; 0262
; 0263 begin
; 0264 require 'XPTSYM';
; 0301 external routine $DSPCR;
; P 0302 DISPATCH$(.MODIFIER,TABLE$($DSPCR,FD_TIM,
; P 0303 (FM_PIN, TIMPIN),
; 0304 (FM_LTM, TIMLTM)),(.XPTDB),MCB_DB);
; 0305 end; !End of XPTTIM
.TITLE XPTTIM
.IDENT /X01140/
000000 .PSECT $PLIT$, RO , D
000000 000000G P.AAA: .WORD $DSPCR
000002 000000V .WORD U.2
000004 000000G .WORD $DSPCR
000006 000000V .WORD U.3
000010 000000G .WORD $DSPCR
000012 000000G .WORD $DSPCR
.GLOBL XPEDB, TLIDB, DECTIM, UPDTIM, HELLO
.GLOBL TLITIM, $XPTLL, .CRDAT, $DSPCR
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 5
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (3)
.SBTTL XPTTIM
000000 .PSECT $CODE$, RO
000000 004773 000000' XPTTIM::
U.1: JSR PC,@P.AAA(R3) ; *,*(MODIFIER) 0304
000004 000207 RTS PC ; 0237
; Routine Size: 3 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 1 word
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 6
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (4)
; 0306
; 0307 routine TIMLTM (XPTDB): MCB_DB novalue =
; 0308
; 0309 !++
; 0310 ! FUNCTIONAL DESCRIPTION:
; 0311 !
; 0312 ! This routine is called once every time interval. It updates
; 0313 ! all the timers except T6 (which is updated in Transport Line
; 0314 ! Interface), and then calls all of the routines in the indivi-
; 0315 ! dual Transport modules which do timer processing. In addition,
; 0316 ! it redispatches all the CCBs on the retry queue.
; 0317 !
; 0318 ! FORMAL PARAMETERS
; 0319 !
; 0320 ! XPTDB Address of Transport data base
; 0321 !
; 0322 ! IMPLICIT INPUTS
; 0323 !
; 0324 ! None
; 0325 !
; 0326 ! ROUTINE VALUE:
; 0327 ! COMPLETION CODES:
; 0328 !
; 0329 ! NONE.
; 0330 !
; 0331 ! SIDE EFFECTS:
; 0332 !
; 0333 ! See the timer routines for each module.
; 0334 !
; 0335 !--
; 0336
; 0337 begin
; 0338 require 'XPTSYM';
; 0375 !
; 0376 ! Re-request a one-second timer interrupt
; 0377 !
; 0378 Timer = .Timer + 1;
; 0379 !
; 0380 ! Call the module timer routines
; 0381 !
; 0382
; 0383 if .Routing_clock neq 0
; 0384 then if (Routing_clock = .Routing_clock - 1) eql 0
; 0385 then begin
; 0386 Routing_clock = .Routing_timer;
; 0387 CALL$E(DECTIM,PD_XPE); ! Check the routing data base
; 0388 end;
; 0389
; 0390 if .Update_clock neq 0
; 0391 then if (Update_clock = .Update_clock - 1) eql 0
; 0392 then begin
; 0393 Update_clock = .Update_timer;
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 7
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (4)
; 0394 CALL$E(UPDTIM,PD_XPE); ! Routing timer
; 0395 end;
; 0396
; 0397 $XPT_for_each_LINEb_do_begin
; 0398
; 0399 if .Hello_clock neq 0
; 0400 then if (Hello_clock = .Hello_clock - 1) eql 0
; 0401 then begin
; 0402 Hello_clock = .Hello_timer;
; 0403 Send_hello = true;
; 0404 end;
; 0405
; 0406 if .Service_line
; 0407 then begin
; 0408 Service_line = false;
; 0409 if BITON(.XPTflags,Running)
; 0410 then CALL$P(INI_LIN,PD_TLI)
; 0411 else CALL$P(TERM_LIN,PD_TLI);
; 0412 end;
; 0413
; 0414 If .Send_hello
; 0415 then HELLO(.LINEb);
; 0416
; 0417 $XPT_next_LINEb_end;
; 0418
; 0419 CALL$P(TLITIM,PD_TLI); ! Listen timers
; 0420
; 0421 !
; 0422 ! Redispatch the contents of the retry queue
; 0423 !
; 0424
; 0425 while true do begin
; 0426 local CCB : ref block field (C_FIELDS);
; 0427 if not $MCB_DEQUEUE_CCB(REqueue,CCB) then exitloop;
; 0428 clearbit(XPTflags,Rfail); ! Clear "resource failure" flag
; 0429 REqueue_count = .REqueue_count - 1; ! Decrement retry queue length
; 0430 DISPATCH$(.CCB[C_FNC],$XPTLL,(.XPTDB,.CCB,.CCB[C_MOD]),MCB_DB_CCB_MOD);
; 0431 ! Dispatch the CCB
; 0432 if biton(.XPTflags,Rfail) then ! If a resource failure occured,
; 0433 exitloop; ! quit
; 0434 end;
; 0435
; 0436 end; !End of TIMLTM
.GLOBL $CALLE, INI.LIN, $CALLP, TERM.LIN
.GLOBL $CMQRM
.SBTTL TIMLTM
000000 162706 000006 ; TIMLTM
U.2: SUB #6,SP ; 0307
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 8
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (4)
000004 010566 000004 MOV R5,4(SP)
000010 105215 INCB (R5) ; 0378
000012 012701 000072 MOV #72,R1 ; 0383
000016 060501 ADD R5,R1
000020 010100 MOV R1,R0
000022 005710 TST (R0)
000024 001420 BEQ 1$
000026 005310 DEC (R0) ; 0384
000030 001016 BNE 1$
000032 010501 MOV R5,R1 ; 0386
000034 016110 000060 MOV 60(R1),(R0)
000040 005046 CLR -(SP) ; 0387
000042 012746 000000G MOV #DECTIM,-(SP)
000046 005046 CLR -(SP)
000050 010500 MOV R5,R0
000052 116016 000002 MOVB 2(R0),(SP)
000056 004767 000000G JSR PC,$CALLE
000062 062706 000006 ADD #6,SP ; 0385
000066 012701 000074 1$: MOV #74,R1 ; 0390
000072 066601 000004 ADD 4(SP),R1
000076 010100 MOV R1,R0
000100 005710 TST (R0)
000102 001421 BEQ 2$
000104 005310 DEC (R0) ; 0391
000106 001017 BNE 2$
000110 016601 000004 MOV 4(SP),R1 ; 0393
000114 016110 000062 MOV 62(R1),(R0)
000120 005046 CLR -(SP) ; 0394
000122 012746 000000G MOV #UPDTIM,-(SP)
000126 005046 CLR -(SP)
000130 010100 MOV R1,R0
000132 116016 000002 MOVB 2(R0),(SP)
000136 004767 000000G JSR PC,$CALLE
000142 062706 000006 ADD #6,SP ; 0392
000146 016600 000004 2$: MOV 4(SP),R0 ; 0395
000152 016005 000020 MOV 20(R0),R5 ; *,LINEB
000156 016001 000022 MOV 22(R0),R1 ; *,$XPT$LINEB.CNT
000162 001456 BEQ 9$
000164 012700 000044 3$: MOV #44,R0 ; 0399
000170 060500 ADD R5,R0 ; LINEB,*
000172 005710 TST (R0)
000174 001406 BEQ 4$
000176 005310 DEC (R0) ; 0400
000200 001004 BNE 4$
000202 016510 000022 MOV 22(R5),(R0) ; *(LINEB),* 0402
000206 052715 010000 BIS #10000,(R5) ; *,LINEB 0403
000212 032715 040000 4$: BIT #40000,(R5) ; *,LINEB 0406
000216 001430 BEQ 7$
000220 042715 040000 BIC #40000,(R5) ; *,LINEB 0408
000224 016600 000004 MOV 4(SP),R0 ; 0409
000230 032760 000001 000106 BIT #1,106(R0)
000236 001404 BEQ 5$
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 9
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (4)
000240 005046 CLR -(SP) ; 0410
000242 012746 000000G MOV #INI.LIN,-(SP)
000246 000403 BR 6$
000250 005046 5$: CLR -(SP) ; 0411
000252 012746 000000G MOV #TERM.LIN,-(SP)
000256 005046 6$: CLR -(SP)
000260 016600 000012 MOV 12(SP),R0
000264 116016 000003 MOVB 3(R0),(SP)
000270 004767 000000G JSR PC,$CALLP
000274 062706 000006 ADD #6,SP ; 0407
000300 032715 010000 7$: BIT #10000,(R5) ; *,LINEB 0414
000304 001402 BEQ 8$
000306 004767 000000G JSR PC,HELLO ; 0415
000312 062705 000104 8$: ADD #104,R5 ; *,LINEB
000316 077156 SOB R1,3$ ; $XPT$LINEB.CNT,* 0000
000320 005046 9$: CLR -(SP) ; 0419
000322 012746 000000G MOV #TLITIM,-(SP)
000326 005046 CLR -(SP)
000330 016600 000012 MOV 12(SP),R0
000334 116016 000003 MOVB 3(R0),(SP)
000340 004767 000000G JSR PC,$CALLP
000344 012700 000110 MOV #110,R0 ; 0427
000350 066600 000012 ADD 12(SP),R0
000354 010066 000010 MOV R0,10(SP)
000360 012700 000106 MOV #106,R0 ; 0428
000364 066600 000012 ADD 12(SP),R0
000370 010066 000006 MOV R0,6(SP)
000374 016603 000010 10$: MOV 10(SP),R3 ; 0427
000400 004767 000000G JSR PC,$CMQRM
000404 103424 BCS 11$
000406 042776 000002 000006 BIC #2,@6(SP) ; 0428
000414 016601 000012 MOV 12(SP),R1 ; 0429
000420 105361 000140 DECB 140(R1)
000424 005000 CLR R0 ; 0430
000426 156400 000012 BISB 12(R4),R0 ; *(CCB),*
000432 010105 MOV R1,R5
000434 005003 CLR R3
000436 156403 000013 BISB 13(R4),R3 ; *(CCB),*
000442 004770 000000G JSR PC,@$XPTLL(R0)
000446 032776 000002 000006 BIT #2,@6(SP) ; 0432
000454 001747 BEQ 10$
000456 062706 000014 11$: ADD #14,SP ; 0307
000462 000207 RTS PC
; Routine Size: 154 words, Routine Base: $CODE$ + 0006
; Maximum stack depth per invocation: 7 words
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 10
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (5)
; 0437
; 0438 routine TIMPIN (XPTDB): MCB_DB novalue =
; 0439
; 0440 !++
; 0441 ! FUNCTIONAL DESCRIPTION:
; 0442 !
; 0443 ! This routine is called during process initialization
; 0444 !
; 0445 ! FORMAL PARAMETERS
; 0446 !
; 0447 ! XPTDB Address of Transport data base
; 0448 !
; 0449 ! IMPLICIT INPUTS
; 0450 !
; 0451 ! ?
; 0452 !
; 0453 ! ROUTINE VALUE:
; 0454 ! COMPLETION CODES:
; 0455 !
; 0456 ! NONE.
; 0457 !
; 0458 ! SIDE EFFECTS:
; 0459 !
; 0460 !--
; 0461
; 0462 begin
; 0463
; M 0464 macro RAD50(NAME) =
; M 0465 %IF %bliss(BLISS36) %THEN
; M 0466 %RAD50_10 %string(NAME)
; M 0467 %ELSE
; M 0468 %RAD50_11 %string(NAME)
; 0469 %FI %;
; 0470 require 'XPTSYM';
; 0507
; 0508 !
; 0509 ! Initialization entry point:
; 0510 ! . Get PIXes for TLI, XPE, NMX, and XPT itself
; 0511 ! . Get Transport data base address and distribute it to
; 0512 ! TLI and XPE
; 0513 !
; 0514
; 0515 XPTDB[XPTxpt]=GET_PIX(rad50(XPT)); ! Pick up
; 0516 XPTDB[XPTxpe]=GET_PIX(rad50(XPE)); ! processes
; 0517 XPTDB[XPTtli]=GET_PIX(rad50(TLI)); ! PIXes for
; 0518 XPTDB[XPTnm]=GET_PIX(rad50(NMX)); ! communicating
; 0519 CALL$P(XPEDB,PD_XPE,.XPTDB); ! Give the data base address
; 0520 CALL$P(TLIDB,PD_TLI,.XPTDB); ! to XPE and TLI
; 0521
; 0522 end; !End of TIMPIN
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 11
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (5)
.SBTTL TIMPIN
000000 012746 114224 ; TIMPIN
U.3: MOV #-63554,-(SP) ; 0515
000004 004767 000000V JSR PC,U.4
000010 110065 000004 MOVB R0,4(R5) ; *,*(XPTDB)
000014 012701 000002 MOV #2,R1 ; 0516
000020 060501 ADD R5,R1 ; XPTDB,*
000022 012716 114205 MOV #-63573,(SP)
000026 004767 000000V JSR PC,U.4
000032 110011 MOVB R0,(R1)
000034 012716 077351 MOV #77351,(SP) ; 0517
000040 004767 000000V JSR PC,U.4
000044 110061 000001 MOVB R0,1(R1)
000050 012716 054640 MOV #54640,(SP) ; 0518
000054 004767 000000V JSR PC,U.4
000060 110065 000005 MOVB R0,5(R5) ; *,*(XPTDB)
000064 010516 MOV R5,(SP) ; XPTDB,* 0519
000066 012746 000001 MOV #1,-(SP)
000072 012746 000000G MOV #XPEDB,-(SP)
000076 005046 CLR -(SP)
000100 111116 MOVB (R1),(SP)
000102 004767 000000G JSR PC,$CALLP
000106 010516 MOV R5,(SP) ; XPTDB,* 0520
000110 012746 000001 MOV #1,-(SP)
000114 012746 000000G MOV #TLIDB,-(SP)
000120 005046 CLR -(SP)
000122 116116 000001 MOVB 1(R1),(SP)
000126 004767 000000G JSR PC,$CALLP
000132 062706 000016 ADD #16,SP ; 0462
000136 000207 RTS PC ; 0438
; Routine Size: 48 words, Routine Base: $CODE$ + 0472
; Maximum stack depth per invocation: 8 words
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 12
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (6)
; 0523
; 0524 routine GET_PIX (NAME) =
; 0525
; 0526 !++
; 0527 ! FUNCTIONAL DESCRIPTION:
; 0528 !
; 0529 ! Get the process index for the given process name
; 0530 !
; 0531 ! FORMAL PARAMETERS
; 0532 !
; 0533 ! NAME RAD50 name of desired process
; 0534 !
; 0535 ! IMPLICIT INPUTS
; 0536 !
; 0537 ! None
; 0538 !
; 0539 ! ROUTINE VALUE:
; 0540 ! COMPLETION CODES:
; 0541 !
; 0542 ! NONE.
; 0543 !
; 0544 ! SIDE EFFECTS:
; 0545 !
; 0546 ! None
; 0547 !
; 0548 !--
; 0549
; 0550 begin
; 0551 local PIX;
; 0552 if $MCB_GET_PROCESS_HANDLE (.NAME,PIX) then .PIX else 0
; 0553 end; !End of GET_PIX
.GLOBL P.DTGT, $CALLI
.SBTTL GET.PIX
000000 010146 ; GET.PIX
U.4: MOV R1,-(SP) ; 0524
000002 005746 TST -(SP)
000004 012746 000002 MOV #2,-(SP) ; 0552
000010 060616 ADD SP,(SP) ; $MCB$MY.INDEX,*
000012 016646 000010 MOV 10(SP),-(SP) ; NAME,*
000016 012746 000002 MOV #2,-(SP)
000022 012746 000000G MOV #P.DTGT,-(SP)
000026 004767 000000G JSR PC,$CALLI
000032 062706 000010 ADD #10,SP
000036 010001 MOV R0,R1 ; *,$MCB$STATUS
000040 006000 ROR R0
000042 103001 BCC 1$
000044 011600 MOV (SP),R0 ; $MCB$MY.INDEX,PIX
000046 032701 000001 1$: BIT #1,R1 ; *,$MCB$STATUS
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 13
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (6)
000052 001001 BNE 2$
000054 005000 CLR R0
000056 005726 2$: TST (SP)+ ; 0524
000060 012601 MOV (SP)+,R1
000062 000207 RTS PC
; Routine Size: 26 words, Routine Base: $CODE$ + 0632
; Maximum stack depth per invocation: 7 words
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 14
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (7)
; 0554
; 0555 routine GETNLN: novalue =
; 0556
; 0557 !++
; 0558 ! FUNCTIONAL DESCRIPTION:
; 0559 !
; 0560 ! Puts the value of NLN from the data base into an OWN intermediate
; 0561 ! location (for the use of STRUCTURE references and such, which cannot
; 0562 ! reference BOUND variables)
; 0563 !
; 0564 ! FORMAL PARAMETERS
; 0565 !
; 0566 ! NONE.
; 0567 !
; 0568 ! IMPLICIT INPUTS
; 0569 !
; 0570 ! NONE.
; 0571 !
; 0572 ! ROUTINE VALUE:
; 0573 ! COMPLETION CODES:
; 0574 !
; 0575 ! NONE.
; 0576 !
; 0577 ! SIDE EFFECTS:
; 0578 !
; 0579 ! NONE.
; 0580 !
; 0581 !--
; 0582
; 0583 begin
; 0584
; 0585 require 'XPTSYM';
; 0622
; 0623 0; ! This routine now has no function.
; 0624
; 0625 end; !End of GETNLN
.SBTTL GETNLN
000000 000207 ; GETNLN
U.5: RTS PC ; 0555
; Routine Size: 1 word, Routine Base: $CODE$ + 0716
; Maximum stack depth per invocation: 0 words
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 15
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (8)
; 0626
; 0627 global
; 0628 routine RE_QUEUE (CCB): novalue =
; 0629
; 0630 !++
; 0631 ! FUNCTIONAL DESCRIPTION:
; 0632 !
; 0633 ! Puts a CCB on the retry queue. The CCB will be redispatched the next
; 0634 ! time XPTTIM is called (on a timer interval).
; 0635 !
; 0636 ! FORMAL PARAMETERS
; 0637 !
; 0638 ! CCB CCB to be put on the retry queue. It must be a CCB which
; 0639 ! was dispatched to Transport by another process, in the
; 0640 ! same condition as when it was dispatched.
; 0641 !
; 0642 ! IMPLICIT INPUTS
; 0643 !
; 0644 ! REqueue
; 0645 !
; 0646 ! ROUTINE VALUE:
; 0647 ! COMPLETION CODES:
; 0648 !
; 0649 ! NONE.
; 0650 !
; 0651 ! SIDE EFFECTS:
; 0652 !
; 0653 ! The CCB will be redispatched at some time in the future.
; 0654 !
; 0655 !--
; 0656
; 0657 begin
; 0658
; 0659 local LINEb;
; 0660 require 'XPTSYM';
; 0697 map CCB: ref block field(C_fields);
; 0698
; 0699 setbit(XPTflags,Rfail); ! Flag a recoverable resource failure
; 0700 $MCB_QUEUE_CCB(REqueue,.CCB); ! Chain in the CCB
; 0701 REqueue_count = .REqueue_count + 1; ! Increment retry queue length
; 0702 if .CCB[C_FNC] eql FC_RCP then begin ! Adjust buffer input count
; 0703 LINEb = $XPT_GET_LINE_DB(.CCB[C_LIX]); ! and global input quota
; 0704 INPUTcount = .INPUTcount - 1; ! as if the buffer
; 0705 DLLquota = .DLLquota + 1; ! were terminated
; 0706 end
; 0707 else BPT(XPT$_REQU);
; 0708
; 0709 end; !End of RE_QUEUE
.GLOBL $CMQIN, GTLINE
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 16
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (8)
.SBTTL RE.QUEUE
000000 004167 000000G RE.QUEUE::
U.6: JSR R1,$SAVE4 ; 0628
000004 016700 000002G MOV .CRDAT+2,R0 ; 0699
000010 052760 000002 000106 BIS #2,106(R0)
000016 016604 000014 MOV 14(SP),R4 ; CCB,* 0700
000022 010003 MOV R0,R3 ; XPTDB,*
000024 062703 000110 ADD #110,R3
000030 004767 000000G JSR PC,$CMQIN
000034 016700 000002G MOV .CRDAT+2,R0
000040 105260 000140 INCB 140(R0) ; 0701
000044 126427 000012 000016 CMPB 12(R4),#16 ; 0702
000052 001014 BNE 1$
000054 005000 CLR R0 ; 0703
000056 156400 000010 BISB 10(R4),R0
000062 004767 000000G JSR PC,GTLINE
000066 105360 000043 DECB 43(R0) ; *(LINEB) 0704
000072 016700 000002G MOV .CRDAT+2,R0
000076 105260 000035 INCB 35(R0) ; 0705
000102 000207 RTS PC ; 0702
000104 012746 100122 1$: MOV #-77656,-(SP) ; 0707
000110 012746 000001 MOV #1,-(SP)
000114 004767 000000G JSR PC,$IGNAL
000120 022626 CMP (SP)+,(SP)+
000122 000207 RTS PC ; 0628
; Routine Size: 42 words, Routine Base: $CODE$ + 0720
; Maximum stack depth per invocation: 8 words
; 0710
; 0711 end !End of module XPTTIM
; 0712 eludom
; OTS external references
.GLOBL $SAVE4, $IGNAL
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $PLIT$ 6 RO , D , LCL, REL, CON
; $CODE$ 274 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
XPTTIM 25-Jan-1983 09:53:35 TOPS-20 Bliss-16 2A(530) Page 17
X01140 30-Dec-1982 21:48:58 NETPKG:<XPT>XPTTIM.BLI.8 (8)
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<MCB>XPORTX.L16.15 599 0 0 0
; NETPKG:<MCB>MCBLIB.L16.15 372 49 13 0
; NETPKG:<MCB>NMXLIB.L16.13 200 0 0 0
; NETPKG:<XPT>XPTLIB.L16.3 510 157 30 0
; Size: 274 code + 6 data words
; Run Time: 00:06.7
; Elapsed Time: 00:26.7
; Memory Used: 46 pages
; Compilation Complete
ADDRESS 151+ 153+ 154+ 156+ 157+ 159+ 160+ 166+ 167+ 170+ 171+ 172+
BITON 409 432
BLISS36 465
BPT 180+# 192+# 707
BUFCHK 184+ 185+# 194+ 195+#
CALL$E 387 394
CALL$P 410 411 419 519 520
CCB 426 427 430 628 697 700 702 703
CHKBUF 187+* 188+
CLEARBIT 428
C_FIELDS 426 697
C_FNC 430 702
C_LIX 703
C_MOD 430
DECTIM 229 387
DISPATCH$ 302 430
DLLQUOTA 705#
FALSE 408
FC_RCP 702
FD_TIM 302
FM_LTM 304
FM_PIN 303
GETNLN 202 555*
GETQ 151+#
GETW 130+# 153+ 154+
GET_PIX 201 515 516 517 518 524*
HELLO_CLOCK 399 400# 402#
HELLO_TIMER 402
HELLO 231 415
I 175+ 177+
INI_LIN 410
INPUTCOUNT 704#
J 175+ 177+
LINEBLOCK 291+ 365+ 497+ 612+ 687+
LINEB 289+ 291+ 363+ 365+ 415 495+ 497+ 610+ 612+ 659 685+ 687+
703#
LINKAGE_DB 231
M 175+ 176+
MATRIX 175+# 177+
MCB$GAW_PROCESS_DATA_BASE 294+ 295+ 298+ 368+ 369+ 372+ 500+ 501+ 504+ 615+ 616+ 619+
690+ 691+ 694+
MCB_DB 199 200 304 307# 438#
MCB_DB_CCB_MOD 430
MCB_DB_MOD 198 237#
MODIFIER 237 302
N 175+ 176+
NAME 464 466 468 524 552
NL 175+ 177+
NMX 518
NODEBLOCK 286+ 360+ 492+ 607+ 682+
NODEB 284+ 286+ 358+ 360+ 490+ 492+ 605+ 607+ 680+ 682+
NOP 192+ 193+ 195+
NO_LINEB 290+ 364+ 496+ 611+ 686+
NO_NODEB 285+ 359+ 491+ 606+ 681+
PD_TLI 410 411 419 520
PD_XPE 387 394 519
PIX 551 552
PTR 130+ 133+ 134+ 137+ 140+ 141+ 147+ 148+ 151+ 153+ 154+ 156+
159+ 160+ 161+ 162+ 166+ 167+
PUTQ 156+#
PUTW 137+# 166+ 167+
RAD50 464# 515 516 517 518
REQUEUE 427 700
REQUEUE_COUNT 429# 701#
RE_QUEUE 203 628*
RFAIL 428 432 699
ROUTING_CLOCK 383 384# 386#
ROUTING_TIMER 386
RUNNING 409
SEND_HELLO 403# 414
SERVICE_LINE 406 408#
SETBIT 699
TABLE$ 302
TERM_LIN 411
TIMER 378#
TIMLTM 199 304 307*
TIMPIN 200 303 438*
TLI 517
TLIDB 228 520
TLITIM 232 419
TRUE 403 425
UNIT 175+# 176+ 177+
UPDATE_CLOCK 390 391# 393#
UPDATE_TIMER 393
UPDTIM 230 394
VALUE 137+ 138+ 140+ 141+ 146+
X 132+ 133+# 134+# 135+ 145+ 146+# 147+ 148+
XPE 516
XPEDB 227* 519
XPT 515
XPT$_REQU 707
XPTDBBLOCK 300+ 374+ 506+ 621+ 696+
XPTDB 237 297+ 298+# 299+ 304 307 371+ 372+# 373+ 430 438 503+
504+# 505+ 515# 516# 517# 518# 519 520 618+ 619+# 620+ 693+
694+# 695+
XPTFLAGS 409 428 432 699
XPTNM 518
XPTTIM 1# 198 237*
XPTTLI 517
XPTXPE 516
XPTXPT 515
ZEROQ 170+#
$DSPCR 301* 302
$MCB_DEQUEUE_CCB 427
$MCB_GET_PROCESS_HANDLE 552
$MCB_QUEUE_CCB 700
$XPTLL 234 430
$XPT_FOR_EACH_LINEB_DO_BEGIN 397
$XPT_GET_LINE_DB 703
$XPT_NEXT_LINEB_END 417
%CTCE 138+ 157+
%REMAINING 182+