Trailing-Edge
-
PDP-10 Archives
-
BB-R598A-RM_1983
-
swskit-v3/listings/xpt/xptlib.list
There are no other files named xptlib.list in the archive.
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 1
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (1)
; 0001 ! COPYRIGHT (c) 1980, 1981, 1982
; 0002 ! DIGITAL EQUIPMENT CORPORATION
; 0003 ! Maynard, Massachusetts
; 0004 !
; 0005 ! This software is furnished under a license and may be used
; 0006 ! and copied only in accordance with the terms of such license
; 0007 ! and with the inclusion of the above copyright notice. This
; 0008 ! software or any other copies thereof may not be provided or
; 0009 ! otherwise made available to any other person. No title to
; 0010 ! and ownership of the software is hereby transferred.
; 0011 !
; 0012 ! The information in this software is subject to change
; 0013 ! without notice and should not be construed as a commitment
; 0014 ! by DIGITAL EQUIPMENT CORPORATION.
; 0015 !
; 0016 ! DIGITAL assumes no responsibility for the use or reliability
; 0017 ! of its software on equipment which is not supplied by
; 0018 ! DIGITAL.
; 0019
; 0020 library 'MCB:XPORTX';
; 0021 library 'MCB:MCBLIB';
; 0022 library 'MCB:NMXLIB';
; 0023 require 'MCB:DLLLIB';
; 0277
; 0278 macro
; M 0279 $bias = ! Mapping bias
; 0280 $integer %,
; M 0281 $fill [] = ! Skip field, no label, display
; 0282 %bliss16 [%bliss36 [%remaining]] %,
; M 0283 $list_head = ! Two word list head
; 0284 $sub_block (2) %;
; 0285 !+
; 0286 ! Linkages and routine synonyms
; 0287 !-
; 0288
; 0289 linkage
; 0290 XPT$LKG_LINEb = jsr (register = 5),
; 0291 XPT$LKG_NODEb = jsr (register = 5),
; 0292 XPT$LKG_NUM = jsr (register = 0);
; 0293
; 0294 macro
; 0295 XPT$GET_LINE_DB = GTLINE %,
; 0296 XPT$GET_NODE_DB = GTNODE %;
; 0297
; 0298 macro
; M 0299 $TLI_GET_LINE_DB (NUMBER) =
; M 0300 begin
; M 0301 external routine XPT$GET_LINE_DB : XPT$LKG_NUM;
; M 0302 XPT$GET_LINE_DB (NUMBER)
; 0303 end %,
; M 0304 $TLI_GET_NODE_DB (NUMBER) =
; M 0305 begin
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 2
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (1)
; M 0306 external routine XPT$GET_NODE_DB : XPT$LKG_NUM;
; M 0307 XPT$GET_NODE_DB (NUMBER)
; 0308 end %,
; M 0309 $XPT_GET_LINE_DB (NUMBER) =
; M 0310 begin
; M 0311 external routine XPT$GET_LINE_DB : XPT$LKG_NUM;
; M 0312 XPT$GET_LINE_DB (NUMBER)
; 0313 end %,
; M 0314 $XPT_GET_NODE_DB (NUMBER) =
; M 0315 begin
; M 0316 external routine XPT$GET_NODE_DB : XPT$LKG_NUM;
; M 0317 XPT$GET_NODE_DB (NUMBER)
; 0318 end %;
; 0319
; 0320 macro
; M 0321 $XPT_for_each_LINEb_do_begin =
; M 0322 begin
; M 0323 local LINEb: ref LINEblock;
; M 0324 LINEb = .XPTDB[XPTlindb];
; M 0325 decru $XPT$LINEb_cnt from NLN to 1 do
; 0326 begin %,
; M 0327 $XPT_next_LINEb_end =
; M 0328 LINEb = vector [.LINEb,LINEsize]
; M 0329 end
; 0330 end %;
; 0331
; 0332 macro
; M 0333 $XPT_for_each_NODEb_do_begin =
; M 0334 begin
; M 0335 local NODEb: ref NODEblock;
; M 0336 NODEb = .XPTDB[XPTnoddb];
; M 0337 decru $XPT$NODEb_cnt from NN to 1 do
; 0338 begin %,
; M 0339 $XPT_next_NODEb_end =
; M 0340 NODEb = vector [.NODEb,NODEsize];
; M 0341 end;
; 0342 end; %;
; 0343
; 0344 macro
; M 0345 $TLI_for_each_PWDb_do_begin =
; M 0346 begin
; M 0347 local PWDb: ref PWDblock;
; M 0348 if (PWDb = .PWDdb) neqa 0
; 0349 then do begin %,
; M 0350 $TLI_next_PWDb_end =
; M 0351 end
; M 0352 while (PWDb = .PWDlink) neqa 0;
; 0353 end; %;
; 0354
; 0355 !+
; 0356 !
; 0357 ! Macros and structures for the Transport process
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 3
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (1)
; 0358 !
; 0359 !-
; 0360
; 0361 literal
; 0362 TRUE = 1 eql 1,
; 0363 FALSE = 1 eql 0;
; 0364
; 0365 macro SETBIT(VALUE,PIT) = (VALUE = .VALUE or (PIT))%;
; 0366 macro CLEARBIT(VALUE,PIT) = (VALUE = .VALUE and not (PIT))%;
; 0367 macro BITON(VALUE,PIT) = ((VALUE and (PIT)) neq 0)%;
; 0368 macro BITOFF(VALUE,PIT) = ((VALUE and (PIT)) eql 0)%;
; M 0369 macro CHECKSUM(SUM,VAL) =
; M 0370 begin
; M 0371 builtin ROT;
; M 0372 if ROT((SUM=.SUM+VAL),1) then SUM = .SUM + 1;
; 0373 end %;
; 0374
; 0375 macro POINTER = register%;
; 0376 macro GETB(PTR) = ch$rchar_a(PTR)%;
; 0377 macro PUTB(VALUE,PTR) = ch$wchar_a(VALUE,PTR)%;
; M 0378 macro EX_PUTW(VALUE,PTR) =
; M 0379 if VALUE geq 128 then begin
; M 0380 local X; X;
; M 0381 X = VALUE;
; M 0382 ch$wchar_a(.X<0,7>+128,PTR);
; M 0383 ch$wchar_a(.X<7,7>,PTR);
; M 0384 end
; M 0385 else ch$wchar_a(VALUE,PTR);
; 0386 %;
; 0387
; M 0388 macro MAPBUF (ccb,addr_addr,len_addr) =
; M 0389 MAP$(CCB[C_BIAS]);
; M 0390 addr_addr = CCB[C_ADDR]
; M 0391 %IF %LENGTH GTR 2 %THEN
; M 0392 ; len_addr = CCB[C_CNT] %FI
; 0393 %;
; 0394
; 0395 structure VECTOR1 [I; N,UNIT=%upval] = !One-based vector
; 0396 [N * UNIT]
; 0397 (VECTOR1 + (I-1)*UNIT)<0,%bpunit*UNIT,0>;
; 0398
; 0399 structure ENTRY1 [I; N,UNIT=1] = !One-based data base entry
; 0400 [N * UNIT] ! of length N
; 0401 (ENTRY1 + ((I-1) * N * UNIT));
; 0402
; 0403 macro $CCBRG = 4%; !Standard MCB CCB register
; 0404 !
; 0405 ! XPT CCB definitions
; 0406 !
; 0407
; 0408 $field
; 0409 C_XPT_OVERLAY_FIELDS =
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 4
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (1)
; 0410 set
; 0411 $overlay (C_LIN)
; 0412 C_HANDLE = [$integer],
; 0413 $continue
; 0414 $overlay (C_PRM1)
; 0415 C_XPT_SOURCE = [$integer],
; 0416 $continue
; 0417 $overlay (C_PRM2)
; 0418 C_XPT_DESTINATION = [$integer],
; 0419 $continue
; 0420 $overlay (C_PRM4)
; 0421 C_XPT_TYPE = [$tiny_integer],
; 0422 C_XPT_ADJUST = [$tiny_integer],
; 0423 $continue
; 0424 $overlay (C_XPT_TYPE)
; 0425 C_XPT_SUBTYPE = [$tiny_integer],
; 0426 $continue
; 0427 $overlay (C_PRM5)
; 0428 C_XPT_ALLOCATION = [$integer]
; 0429 $continue
; 0430 tes;
; 0431
; 0432 macro C_XPT_FIELDS = C_FIELDS, C_XPT_OVERLAY_FIELDS %;
; 0433
; 0434 literal !Flags a buffer as belonging to a process:
; 0435 UPDATEcode = 1, ! Routing or Hello message (also a subcode)
; 0436 INITcode = 2, ! Transport Initialize
; 0437 ECLcode = 3, ! ECL interface
; 0438 FWDcode = 4, ! Forwarded buffer (at DLL)
; 0439 HELLOcode = 5, ! Subcode for Hello message
; 0440 NOcode = 6; ! Forwarded buffer which is not to be counted
; 0441 ! against any quotas
; 0442
; 0443 !
; 0444 ! XPT AND TLI CCB MODIFIER CODE DEFINITIONS
; 0445 !
; 0446
; 0447
; 0448 LITERAL
; 0449 XM_STP = 2^1,
; 0450 XM_STR = 1^1,
; 0451 XM_DAT = 0^1;
; 0452
; 0453 LITERAL
; 0454 TM_DAT = 0^1,
; 0455 TM_INI = 6^1,
; 0456 TM_STP = 4^1,
; 0457 TM_STR = 5^1,
; 0458 TM_TRM = 7^1;
; 0459
; 0460 LITERAL
; 0461 NM_INI = 0^1,
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 5
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (1)
; 0462 NM_TRM = 4^1;
; 0463
; 0464
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 6
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (2)
; 0465
; 0466 !+
; 0467 !
; 0468 ! Field mapping for Transport Central Data Base
; 0469 !
; 0470 !-
; 0471
; 0472 $show(fields)
; 0473 $show(literals)
; 0474
; 0475 $FIELD XPTDBflds =
; 0476 set
; L 0477 XPTltim = [$BYTE],
; %PRINT: [0,0,8,0] (+%O'0')
; L 0478 XPTSrm = [$bit],
; %PRINT: [0,8,1,0] (+%O'1')
; L 0479 TLI2TVrequested = [$bit],
; %PRINT: [0,9,1,0] (+%O'1')
; L 0480 TLI3TVrequested = [$bit],
; %PRINT: [0,10,1,0] (+%O'1')
; L 0481 XPTxpe = [$BYTE],
; %PRINT: [1,0,8,0] (+%O'2')
; L 0482 XPTtli = [$BYTE],
; %PRINT: [1,8,8,0] (+%O'3')
; L 0483 XPTxpt = [$BYTE],
; %PRINT: [2,0,8,0] (+%O'4')
; L 0484 XPTnm = [$BYTE],
; %PRINT: [2,8,8,0] (+%O'5')
; L 0485 XPThopcostb = [$bias],
; %PRINT: [3,0,16,1] (+%O'6')
; L 0486 XPThopcosta = [$address],
; %PRINT: [4,0,16,0] (+%O'10')
; L 0487 XPTnoddb = [$ADDRESS],
; %PRINT: [5,0,16,0] (+%O'12')
; L 0488 XPT$nn = [$short_integer],
; %PRINT: [6,0,16,1] (+%O'14')
; L 0489 XPTnn = [$short_integer], ! 920 - MAXIMUM ADDRESS
; %PRINT: [7,0,16,1] (+%O'16')
; L 0490 XPTlindb = [$ADDRESS],
; %PRINT: [8,0,16,0] (+%O'20')
; L 0491 XPT$nln = [$short_integer], ! 921 - MAXIMUM CIRCUITS
; %PRINT: [9,0,16,1] (+%O'22')
; L 0492 XPTnod_nn = [$ADDRESS], !
; %PRINT: [10,0,16,0] (+%O'24')
; L 0493 XPTlnkxl = [$ADDRESS], ! Phase II link table
; %PRINT: [11,0,16,0] (+%O'26')
; L 0494 XPT$lnkxl = [$short_integer], ! Number of Phase II links
; %PRINT: [12,0,16,1] (+%O'30')
; L 0495 XPT$maxp = [$short_integer], ! Number of Phase II links per circuit
; %PRINT: [13,0,16,1] (+%O'32')
; L 0496 XPT$linq = [$BYTE],
; %PRINT: [14,0,8,0] (+%O'34')
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 7
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (2)
; L 0497 XPTdllq = [$TINY_INTEGER],
; %PRINT: [14,8,8,1] (+%O'35')
; L 0498 XPT$maxc = [$short_integer],
; %PRINT: [15,0,16,1] (+%O'36')
; L 0499 XPTmaxc = [$short_integer], ! 922 - MAXIMUM COST
; %PRINT: [16,0,16,1] (+%O'40')
; L 0500 XPT$maxh = [$short_integer],
; %PRINT: [17,0,16,1] (+%O'42')
; L 0501 XPTmaxh = [$short_integer], ! 923 - MAXIMUM HOPS
; %PRINT: [18,0,16,1] (+%O'44')
; L 0502 XPT$maxv = [$short_integer],
; %PRINT: [19,0,16,1] (+%O'46')
; L 0503 XPTmaxv = [$short_integer], ! 924 - MAXIMUM VISITS
; %PRINT: [20,0,16,1] (+%O'50')
; L 0504 XPT$maxl = [$short_integer],
; %PRINT: [21,0,16,1] (+%O'52')
; L 0505 XPTmaxl = [$short_integer], ! Maximum link cost
; %PRINT: [22,0,16,1] (+%O'54')
; L 0506 XPTtid = [$short_integer], ! Transport address
; %PRINT: [23,0,16,1] (+%O'56')
; L 0507 XPT$t1 = [$INTEGER], ! 910 - ROUTING TIMER
; %PRINT: [24,0,16,1] (+%O'60')
; L 0508 XPT$t2 = [$INTEGER], ! Update timer
; %PRINT: [25,0,16,1] (+%O'62')
; L 0509 XPT$t3 = [$INTEGER], ! Default hello timer
; %PRINT: [26,0,16,1] (+%O'64')
; L 0510 XPT$t4 = [$INTEGER], ! Default listen timer
; %PRINT: [27,0,16,1] (+%O'66')
; L 0511 XPT$init = [$INTEGER], ! Initialization timer
; %PRINT: [28,0,16,1] (+%O'70')
; L 0512 XPTt1 = [$INTEGER], ! Routing clock
; %PRINT: [29,0,16,1] (+%O'72')
; L 0513 XPTt2 = [$INTEGER], ! Update clock
; %PRINT: [30,0,16,1] (+%O'74')
; L 0514 XPTnextl = [$tiny_integer],
; %PRINT: [31,0,8,1] (+%O'76')
; L 0515 XPT$updq = [$BYTE],
; %PRINT: [31,8,8,0] (+%O'77')
; L 0516 XPTupdq = [$BYTE],
; %PRINT: [32,0,8,0] (+%O'100')
; L 0517 XPT$eclq = [$BYTE],
; %PRINT: [32,8,8,0] (+%O'101')
; L 0518 XPTeclq = [$BYTE],
; %PRINT: [33,0,8,0] (+%O'102')
; L 0519 XPT$inpq = [$BYTE],
; %PRINT: [33,8,8,0] (+%O'103')
; L 0520 XPTinq = [$TINY_INTEGER],
; %PRINT: [34,0,8,1] (+%O'104')
; L 0521 XPTinfill = [$BYTE],
; %PRINT: [34,8,8,0] (+%O'105')
; L 0522 XPTflg = [$short_integer],
; %PRINT: [35,0,16,1] (+%O'106')
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 8
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (2)
; L 0523 XPTrequ = [$list_head],
; %PRINT: [36,0,0,0] (+%O'110')
; L 0524 XPTnodel = [$INTEGER],
; %PRINT: [38,0,16,1] (+%O'114')
; L 0525 XPTnode = [$byte_string(6)],
; %PRINT: [39,0,0,0] (+%O'116')
; L 0526 XPTdllsz = [$INTEGER], ! 931 - BUFFER SIZE
; %PRINT: [42,0,16,1] (+%O'124')
; L 0527 XPTph2sz = [$INTEGER],
; %PRINT: [43,0,16,1] (+%O'126')
; L 0528 XPTaged_loss = [$counter (8)], ! 900 - Aged Packet Loss
; %PRINT: [44,0,8,1] (+%O'130')
; L 0529 XPTrange_loss = [$counter (8)], ! 902 - Node Out-of-Range Packet Loss
; %PRINT: [44,8,8,1] (+%O'131')
; L 0530 XPTsize_loss = [$counter (8)], ! 903 - Oversize Packet Loss
; %PRINT: [45,0,8,1] (+%O'132')
; L 0531 XPTfmt_loss = [$counter (8)], ! 910 - Packet Format Error
; %PRINT: [45,8,8,1] (+%O'133')
; L 0532 XPTrout_loss = [$counter (8)], ! 920 - Partial Routing Update Loss
; %PRINT: [46,0,8,1] (+%O'134')
; L 0533 XPTver_rej = [$counter (8)], ! 930 - Verification Reject
; %PRINT: [46,8,8,1] (+%O'135')
; L 0534 XPTunreach_loss = [$counter (16)], ! 901 - Node Unreachable Packet Loss
; %PRINT: [47,0,16,1] (+%O'136')
; L 0535 XPTreq_cnt = [$byte],
; %PRINT: [48,0,8,0] (+%O'140')
; L 0536 XPT$hello = [$tiny_integer], ! Default hello data length
; %PRINT: [48,8,8,1] (+%O'141')
; 0537 $ALIGN(FULLWORD)
; L 0538 XPTmaxn = [$INTEGER],
; %PRINT: [49,0,16,1] (+%O'142')
; L 0539 XPTincn = [$INTEGER],
; %PRINT: [50,0,16,1] (+%O'144')
; L 0540 XPTraddr = [$ADDRESS],
; %PRINT: [51,0,16,0] (+%O'146')
; L 0541 XPTsynblk = [$ADDRESS],
; %PRINT: [52,0,16,0] (+%O'150')
; L 0542 XPTpasswords = [$address],
; %PRINT: [53,0,16,0] (+%O'152')
; L 0543 XPT_TI_ADDR = [$address],
; %PRINT: [54,0,16,0] (+%O'154')
; L 0544 XPT_TI_CNT = [$short_integer],
; %PRINT: [55,0,16,1] (+%O'156')
; L 0545 XPT_NI_ADDR = [$address],
; %PRINT: [56,0,16,0] (+%O'160')
; L 0546 XPT_NI_CNT = [$short_integer],
; %PRINT: [57,0,16,1] (+%O'162')
; L 0547 XPT_HELLO_ADDR = [$address],
; %PRINT: [58,0,16,0] (+%O'164')
; L 0548 XPT_HELLO_CNT = [$short_integer],
; %PRINT: [59,0,16,1] (+%O'166')
; L 0549 XPT_FALSE_NI_LINEb = [$address],
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 9
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (2)
; %PRINT: [60,0,16,0] (+%O'170')
; L 0550 XPT_FALSE_NI_ADDR = [$address],
; %PRINT: [61,0,16,0] (+%O'172')
; L 0551 XPT_FALSE_NI_CNT = [$short_integer]
; %PRINT: [62,0,16,1] (+%O'174')
; 0552 tes;
; 0553
; L 0554 literal XPTDB_length = $FIELD_SET_SIZE;
; %PRINT: 63 fullwords
; 0555
; 0556 macro XPTDBblock = block [XPTDB_length] field (XPTDBflds)%;
; 0557 !
; 0558 ! Synonyms for XPTDB
; 0559 !
; 0560 macro $ECLQ = .XPTDB[XPT$eclq]%;
; 0561 macro $INPQ = .XPTDB[XPT$inpq]%;
; 0562 macro $LINQ = .XPTDB[XPT$linq]%;
; 0563 macro $MAXC = .XPTDB[XPT$maxc]%;
; 0564 macro $MAXH = .XPTDB[XPT$maxh]%;
; 0565 macro $MAXL = .XPTDB[XPT$maxl]%;
; 0566 macro $MAXlk = .XPTDB[XPT$maxp]%;
; 0567 macro $MAXV = .XPTDB[XPT$maxv]%;
; 0568 macro $T1ini = .XPTDB[XPT$t1]%;
; 0569 macro $T2ini = .XPTDB[XPT$t2]%;
; 0570 macro $TIini = .XPTDB[XPT$init]%;
; 0571 macro $UPDQ = .XPTDB[XPT$updq]%;
; 0572 macro Aged_Loss = XPTDB[XPTaged_loss]%;
; 0573 macro Default_Hello_data_length = .XPTDB[XPT$hello]%;
; 0574 macro Default_Hello_timer = .XPTDB[XPT$t3]%;
; 0575 macro Default_Init_timer = .XPTDB[XPT$init]%;
; 0576 macro Default_Listen_timer = .XPTDB[XPT$t4]%;
; 0577 macro Default_Routing_timer = .XPTDB[XPT$t1]%;
; 0578 macro Default_Update_timer = .XPTDB[XPT$t2]%;
; 0579 macro DLLquota = XPTDB[XPTdllq]%;
; 0580 macro DLLsize = XPTDB[XPTdllsz]%;
; 0581 macro ECLquota = XPTDB[XPTeclq]%;
; 0582 macro False_NI_LINEb = XPTDB[XPT_FALSE_NI_LINEb]%;
; 0583 macro False_NI_msg_ADDR = XPTDB[XPT_FALSE_NI_ADDR]%;
; 0584 macro False_NI_msg_CNT = XPTDB[XPT_FALSE_NI_CNT]%;
; 0585 macro Format_Errors = XPTDB[XPTfmt_loss]%;
; 0586 macro Hello_msg_CNT = XPTDB[XPT_HELLO_CNT]%;
; 0587 macro Hello_msg_ADDR = XPTDB[XPT_HELLO_ADDR]%;
; 0588 macro Hopcost_address = .XPTDB[XPThopcosta]%;
; 0589 macro Hopcost_bias = .XPTDB[XPThopcostb]%;
; 0590 macro IncN = XPTDB[XPTincn]%;
; 0591 macro Init_timer = XPTDB[XPT$init]%;
; 0592 macro INPUTfill = XPTDB[XPTinfill]%;
; 0593 macro INPUTquota = XPTDB[XPTinq]%;
; 0594 macro Maxc = XPTDB[XPTmaxc]%;
; 0595 macro Maxh = XPTDB[XPTmaxh]%;
; 0596 macro Maximum_Address_limit = XPTDB[XPT$nn]%;
; 0597 macro Maximum_Circuits_limit = XPTDB[XPT$nln]%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 10
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (2)
; 0598 macro Maxl = XPTDB[XPTmaxl]%;
; 0599 macro MaxN = XPTDB[XPTmaxn]%;
; 0600 macro Maxv = XPTDB[XPTmaxv]%;
; 0601 macro NEXTline = XPTDB[XPTnextl]%;
; 0602 macro NI_msg_CNT = XPTDB[XPT_NI_CNT]%;
; 0603 macro NI_msg_ADDR = XPTDB[XPT_NI_ADDR]%;
; 0604 macro NLN = .XPTDB[XPT$nln]%;
; 0605 macro NN = .XPTDB[XPTnn]%;
; 0606 macro NODEmaximum_address_vector = XPTDB[XPTnod_nn]%;
; 0607 macro NODEname = XPTDB[XPTnode]%;
; 0608 macro NODEname_length = XPTDB[XPTnodel]%;
; 0609 macro Oversize_Loss = XPTDB[XPTsize_loss]%;
; 0610 macro PWDDB = XPTDB[XPTpasswords]%;
; 0611 macro PD_NMX = .XPTDB[XPTnm]%;
; 0612 macro PD_TLI = .XPTDB[XPTtli]%;
; 0613 macro PD_XPE = .XPTDB[XPTxpe]%;
; 0614 macro PD_XPT = .XPTDB[XPTxpt]%;
; 0615 macro Ph2link_table = XPTDB[XPTlnkxl]%;
; 0616 macro Ph2link_allocated = XPTDB[XPT$lnkxl]%;
; 0617 macro PH2size = XPTDB[XPTph2sz]%;
; 0618 macro Range_Loss = XPTDB[XPTrange_loss]%;
; 0619 macro Request_OTV = XPTDB[TLI2TVrequested]%;
; 0620 macro Request_TV = XPTDB[TLI3TVrequested]%;
; 0621 macro REqueue = XPTDB[XPTrequ]%;
; 0622 macro REqueue_count = XPTDB[XPTreq_cnt]%;
; 0623 macro ROUTESaddr = XPTDB[XPTraddr]%;
; 0624 macro Routing_changed = XPTDB[XPTSrm]%;
; 0625 macro Routing_clock = XPTDB[XPTt1]%;
; 0626 macro Routing_Loss = XPTDB[XPTrout_loss]%;
; 0627 macro Routing_timer = XPTDB[XPT$t1]%;
; 0628 macro Synchblk = XPTDB[XPTsynblk]%;
; 0629 macro T1 = XPTDB[XPTt1]%;
; 0630 macro T2 = XPTDB[XPTt2]%;
; 0631 macro TI_msg_CNT = XPTDB[XPT_TI_CNT]%;
; 0632 macro TI_msg_ADDR = XPTDB[XPT_TI_ADDR]%;
; 0633 macro Tid = XPTDB[XPTtid]%;
; 0634 macro Timer = XPTDB[XPTltim]%;
; 0635 macro Unreach_Loss = XPTDB[XPTunreach_loss]%;
; 0636 macro Update_clock = XPTDB[XPTt2]%;
; 0637 macro Update_timer = XPTDB[XPT$t2]%;
; 0638 macro UPDATEquota = XPTDB[XPTupdq]%;
; 0639 macro Verify_Rejects = XPTDB[XPTver_rej]%;
; 0640 macro XPTflags = XPTDB[XPTflg]%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 11
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (3)
; 0641
; 0642 !
; 0643 ! Field mapping for Transport node data base entry
; 0644 !
; 0645
; 0646 $FIELD NODEfields =
; 0647 set
; L 0648 XPTol = [$tiny_integer], ! OL or User
; %PRINT: [0,0,8,1] (+%O'0')
; L 0649 XPTlocal = [$bit],
; %PRINT: [0,8,1,0] (+%O'1')
; L 0650 XPTp2 = [$BIT],
; %PRINT: [0,9,1,0] (+%O'1')
; L 0651 $fill($bits(5))
; %PRINT: [0,10,5,0] (+%O'1')
; L 0652 XPTreach = [$BIT],
; %PRINT: [0,15,1,0] (+%O'1')
; 0653 $align(UNIT)
; L 0654 XPTaddress = [$short_integer],
; %PRINT: [1,0,16,1] (+%O'2')
; L 0655 XPTminhop = [$INTEGER], ! 821 - HOPS
; %PRINT: [2,0,16,1] (+%O'4')
; L 0656 XPTmincost= [$INTEGER] ! 820 - COST
; %PRINT: [3,0,16,1] (+%O'6')
; 0657 tes;
; 0658
; 0659 literal
; L 0660 NODEsize = $field_set_size,
; %PRINT: 4 fullwords
; 0661 NODElength = NODEsize * %UPVAL; ! Length of node data base entry
; 0662
; 0663 macro NODEblock = block [NODElength] field (NODEfields)%;
; 0664 !
; 0665 ! Synonyms for NODEb
; 0666 !
; 0667 macro Local_node = NODEb[XPTlocal]%;
; M 0668 macro Maximum_address =
; M 0669 begin
; M 0670 local MXA : ref vector;
; M 0671 if (MXA = .NODEmaximum_address_vector) neqa 0
; M 0672 then begin
; M 0673 if (MXA = .MXA [.NODEaddress - 1]) neq 0
; M 0674 then begin
; M 0675 if .MXA leq .XPTDB[XPTnn]
; M 0676 then MXA
; M 0677 else XPTDB[XPTnn]
; M 0678 end
; M 0679 else XPTDB[XPTnn]
; M 0680 end
; M 0681 else XPTDB[XPTnn]
; 0682 end%;
; 0683 macro Minhop = NODEb[XPTminhop]%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 12
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (3)
; 0684 macro Mincost = NODEb[XPTmincost]%;
; 0685 macro NODEaddress = NODEb[XPTaddress]%;
; 0686 macro OL = NODEb[XPTol]%;
; 0687 macro Phase2_node = NODEb[XPTp2]%;
; 0688 macro Reach = NODEb[XPTreach]%;
; 0689 macro User = NODEb[XPTol]%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 13
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (4)
; 0690
; 0691 !
; 0692 ! Field mapping for Transport line data base entry
; 0693 !
; 0694
; 0695 $FIELD LINEfields =
; 0696 set
; L 0697 XPTlinsta = [$TINY_INTEGER],
; %PRINT: [0,0,8,1] (+%O'0')
; L 0698 TLIowned = [$bit],
; %PRINT: [0,8,1,0] (+%O'1')
; L 0699 TLIsend_TI = [$bit],
; %PRINT: [0,9,1,0] (+%O'1')
; L 0700 TLIsend_TV = [$bit],
; %PRINT: [0,10,1,0] (+%O'1')
; L 0701 TLIFreeing = [$bit],
; %PRINT: [0,11,1,0] (+%O'1')
; L 0702 XPTsend_hello = [$bit],
; %PRINT: [0,12,1,0] (+%O'1')
; L 0703 XPTsend_routes = [$bit],
; %PRINT: [0,13,1,0] (+%O'1')
; L 0704 XPTinit_line = [$bit],
; %PRINT: [0,14,1,0] (+%O'1')
; L 0705 XPTline_up = [$bit],
; %PRINT: [0,15,1,0] (+%O'1')
; 0706 $align(fullword)
; L 0707 XPTnty = [$tiny_integer], ! Node type, as defined below.
; %PRINT: [1,0,8,1] (+%O'2')
; L 0708 TLIintercept = [$bit], ! If on, node init as ourselves.
; %PRINT: [1,8,1,0] (+%O'3')
; 0709 ! If off, false node init.
; L 0710 XPTphase2_circuit = [$bit],
; %PRINT: [1,9,1,0] (+%O'3')
; L 0711 TLIph2only = [$bit], ! If on, force phase II protocol
; %PRINT: [1,10,1,0] (+%O'3')
; L 0712 $fill($bit)
; %PRINT: [1,11,1,0] (+%O'3')
; L 0713 XPTDTE_circuit = [$bit], ! If on, this line goes
; %PRINT: [1,12,1,0] (+%O'3')
; 0714 $align(fullword) ! to a TOPS20 node.
; L 0715 XPTnid = [$address], ! 800 - ADJACENT NODE address
; %PRINT: [2,0,16,0] (+%O'4')
; 0716 $align(fullword)
; L 0717 XPTDLLstate = [$tiny_integer], ! Last received state from DLL.
; %PRINT: [3,0,8,1] (+%O'6')
; L 0718 XPTnnml = [$tiny_integer], ! Adjacent node name length
; %PRINT: [3,8,8,1] (+%O'7')
; L 0719 XPTnnm = [$byte_string (6)], ! Adjacent node name
; %PRINT: [4,0,0,0] (+%O'10')
; 0720 $align (fullword)
; L 0721 XPTblock_size = [$short_integer], ! 810 - BLOCK SIZE
; %PRINT: [7,0,16,1] (+%O'16')
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 14
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (4)
; L 0722 XPTcost = [$short_integer], ! 900 - COST
; %PRINT: [8,0,16,1] (+%O'20')
; L 0723 XPThello_timer = [$short_integer], ! 906 - HELLO TIMER
; %PRINT: [9,0,16,1] (+%O'22')
; L 0724 XPTlisten_timer = [$short_integer], ! 907 - LISTEN TIMER
; %PRINT: [10,0,16,1] (+%O'24')
; L 0725 XPTXPThandle = [$integer], ! Transport process handle:
; %PRINT: [11,0,16,1] (+%O'26')
; 0726 $overlay(XPTXPThandle)
; L 0727 XPTlinno = [$byte], ! Number of this line
; %PRINT: [11,0,8,0] (+%O'26')
; L 0728 XPTXPTpix = [$byte], ! Transport's PIX
; %PRINT: [11,8,8,0] (+%O'27')
; 0729 $continue
; L 0730 XPTTLIhandle = [$integer], ! TLI process handle
; %PRINT: [12,0,16,1] (+%O'30')
; L 0731 XPTDLLhandle = [$integer], ! DLL process handle
; %PRINT: [13,0,16,1] (+%O'32')
; L 0732 XPTnmxid = [$integer], ! NMXID (for event logging)
; %PRINT: [14,0,16,1] (+%O'34')
; L 0733 XPTlinq = [$tiny_integer],
; %PRINT: [15,0,8,1] (+%O'36')
; L 0734 XPTnstate = [$tiny_integer], ! 0 - STATE
; %PRINT: [15,8,8,1] (+%O'37')
; L 0735 TLIlinrcvr = [$tiny_integer],
; %PRINT: [16,0,8,1] (+%O'40')
; L 0736 TLIxstate = [$tiny_integer], ! Last requested XPT state
; %PRINT: [16,8,8,1] (+%O'41')
; L 0737 TLIrcvrsta = [$tiny_integer],
; %PRINT: [17,0,8,1] (+%O'42')
; L 0738 XPTinp_cnt = [$byte],
; %PRINT: [17,8,8,0] (+%O'43')
; 0739 $align(fullword)
; L 0740 XPThello_clock = [$integer], ! Clock for hello timer
; %PRINT: [18,0,16,1] (+%O'44')
; L 0741 XPTlisten_clock = [$integer], ! Clock for listen timer
; %PRINT: [19,0,16,1] (+%O'46')
; L 0742 XPTlinccb = [$address], ! CCBs waiting for line up/down
; %PRINT: [20,0,16,0] (+%O'50')
; L 0743 TLItime_zeroed = [$time], ! 0 - Time last zeroed
; %PRINT: [21,0,0,1] (+%O'52')
; L 0744 XPTend_rcv = [$counter (32)], ! 800 - Terminating Packets Received
; %PRINT: [23,0,0,1] (+%O'56')
; L 0745 XPTend_xmt = [$counter (32)], ! 801 - Originating Packets Sent
; %PRINT: [25,0,0,1] (+%O'62')
; L 0746 XPTend_cng = [$counter (16)], ! 802 - Terminating Congestion Loss
; %PRINT: [27,0,16,1] (+%O'66')
; L 0747 XPTxit_rcv = [$counter (32)], ! 810 - Transit Packets Received
; %PRINT: [28,0,0,1] (+%O'70')
; L 0748 XPTxit_xmt = [$counter (32)], ! 811 - Transit Packets Sent
; %PRINT: [30,0,0,1] (+%O'74')
; L 0749 XPTxit_cng = [$counter (16)], ! 812 - Transit Congestion Loss
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 15
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (4)
; %PRINT: [32,0,16,1] (+%O'100')
; L 0750 XPTlinedn = [$counter (8)], ! 820 - Circuit Down
; %PRINT: [33,0,8,1] (+%O'102')
; L 0751 XPTini_fail = [$counter (8)] ! 821 - Initialization Failure
; %PRINT: [33,8,8,1] (+%O'103')
; 0752 tes;
; 0753
; 0754 literal
; L 0755 LINEsize = $field_set_size,
; %PRINT: 34 fullwords
; 0756 LINElength = LINEsize * %UPVAL; ! Length of line data base entry
; 0757
; 0758 macro LINEblock = block [LINElength] field (LINEfields)%;
; 0759 !
; 0760 ! Synonyms for LINEb
; 0761 !
; 0762 macro Arriving_Packets = LINEb[XPTend_rcv]%;
; 0763 macro Block_size = LINEb[XPTblock_size]%;
; 0764 macro Departing_Packets = LINEb[XPTend_xmt]%;
; 0765 macro DLLhandle = LINEb[XPTDLLhandle]%;
; 0766 macro DLLstate = LINEb[XPTDLLstate]%;
; 0767 macro DTEcircuit = LINEb[XPTDTE_circuit]%;
; 0768 macro End_Congestion = LINEb[XPTend_cng]%;
; 0769 macro Freeing = LINEb[TLIFreeing]%;
; 0770 macro Hello_clock = LINEb[XPThello_clock]%;
; 0771 macro Hello_timer = LINEb[XPThello_timer]%;
; 0772 macro Init_Fails = LINEb[XPTini_fail]%;
; 0773 macro INPUTcount = LINEb[XPTinp_cnt]%;
; 0774 macro Intercept = LINEb[TLIintercept]%;
; 0775 macro Lcv = LINEb[XPTcost]%;
; 0776 macro Line_Downs = LINEb[XPTlinedn]%;
; 0777 macro Line_up = LINEb[XPTline_up]%;
; 0778 macro LINEccb = LINEb[XPTlinccb]%;
; 0779 macro LINEfunction = LINEb[TLIlinrcvr]%;
; 0780 macro LINEnumber = LINEb[XPTlinno]%;
; 0781 macro LINEquota = LINEb[XPTlinq]%;
; 0782 macro LINEstate = LINEb[XPTlinsta]%;
; 0783 macro LINEstate_desired = LINEb[TLIrcvrsta]%;
; 0784 macro Listen_clock = LINEb[XPTlisten_clock]%;
; 0785 macro Listen_timer = LINEb[XPTlisten_timer]%;
; 0786 macro Nid = LINEb[XPTnid]%;
; 0787 macro NMstate = LINEb[XPTnstate]%;
; 0788 macro NMXid = LINEb[XPTnmxid]%;
; 0789 macro Nnm = LINEb[XPTnnm]%;
; 0790 macro Nnml = LINEb[XPTnnml]%;
; 0791 macro Nty = LINEb[XPTnty]%;
; 0792 macro OWNED = LINEb[TLIowned]%;
; 0793 macro Ph2circuit = LINEb[XPTphase2_circuit]%;
; 0794 macro Ph2only = LINEb[TLIph2only]%;
; 0795 macro Send_hello = LINEb[XPTsend_hello]%;
; 0796 macro Send_TI = LINEb[TLIsend_TI]%;
; 0797 macro Send_TV = LINEb[TLIsend_TV]%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 16
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (4)
; 0798 macro Service_line = LINEb[XPTinit_line]%;
; 0799 macro Srm = LINEb[XPTsend_routes]%;
; 0800 macro Time_circuit_zeroed = LINEb[TLItime_zeroed]%;
; 0801 macro TLIhandle = LINEb[XPTTLIhandle]%;
; 0802 macro Transit_Congestion = LINEb[XPTxit_cng]%;
; 0803 macro Transit_In = LINEb[XPTxit_rcv]%;
; 0804 macro Transit_Out = LINEb[XPTxit_xmt]%;
; 0805 macro XPThandle = LINEb[XPTXPThandle]%;
; 0806 macro XPTstate = LINEb[TLIxstate]%;
; 0807
; 0808 !
; 0809 ! Literal values
; 0810 !
; 0811
; 0812 literal ! Node types (values of the Nty vector)
; 0813 Full = 2, ! Full routing node type
; 0814 Small = 3, ! Small routing node type
; 0815 PhTwo = 4, ! Standard Phase II node type
; 0816 TOPS20 = 5; ! TOPS-20 Phase II node type
; 0817
; 0818 $literal ! DLLstate values:
; 0819 DLL_FREE = 0, ! Not assigned
; L 0820 DLL_OFF = $distinct, ! Off
; %PRINT: 1
; L 0821 DLL_SYNCHRONIZING = $distinct, ! Synch
; %PRINT: 2
; L 0822 DLL_MAINTENANCE = $distinct, ! Maint
; %PRINT: 3
; L 0823 DLL_RUNNING = $distinct, ! Run
; %PRINT: 4
; 0824 DLL_LO = min (DLL_FREE,DLL_OFF,DLL_SYNCHRONIZING,DLL_MAINTENANCE,DLL_RUNNING),
; 0825 DLL_HI = max (DLL_FREE,DLL_OFF,DLL_SYNCHRONIZING,DLL_MAINTENANCE,DLL_RUNNING);
; 0826
; 0827 literal !Network Management states for a circuit
; 0828 ON = 0; ! State ON
; 0829 ! OFF = 2; ! State OFF
; 0830
; 0831 literal !Transport states for a circuit
; 0832 HA = 0, ! Halt
; 0833 DT = 1, ! DLL stop in progress - line not restarting
; 0834 OFF = 2, ! "Line down" in progress- line not restarting
; 0835 LR = 3, ! "Line down" in progress - line restarting
; 0836 DS = 4, ! DLL start in progress
; 0837 TI = 5, ! Transport init in progress
; 0838 TV = 6, ! Transport verify expected
; 0839 TC = 7, ! "Line up" in progress
; 0840 RU = 8; ! Transport running on line
; 0841
; 0842 !
; 0843 ! Line initialization/termination sequence codes
; 0844 ! (for use by Line Support)
; 0845 !
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 17
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (4)
; 0846
; 0847 $literal
; L 0848 FUNCrequest = $distinct, ! DLL request circuit
; %PRINT: 1
; L 0849 FUNCrelease = $distinct, ! DLL release circuit
; %PRINT: 2
; L 0850 FUNCinitialize = $distinct, ! DLL initialize link
; %PRINT: 3
; L 0851 FUNCstop = $distinct, ! DLL stop link
; %PRINT: 4
; L 0852 FUNC_TI = $distinct, ! DLL send TI
; %PRINT: 5
; L 0853 FUNC_TV = $distinct, ! DLL send TV
; %PRINT: 6
; L 0854 FUNCline_down = $distinct, ! XPT line up
; %PRINT: 7
; L 0855 FUNCline_up = $distinct, ! XPT line down
; %PRINT: 8
; 0856 FUNClo = min (FUNCrequest, FUNCrelease, FUNCinitialize, FUNCstop,
; 0857 FUNC_TI, FUNC_TV, FUNCline_down, FUNCline_up),
; 0858 FUNChi = max (FUNCrequest, FUNCrelease, FUNCinitialize, FUNCstop,
; 0859 FUNC_TI, FUNC_TV, FUNCline_down, FUNCline_up);
; 0860
; 0861 !
; 0862 ! C_XPT_TYPE for $DLL_TRANSMIT CCBs from TLI.
; 0863 !
; 0864
; 0865 $literal
; L 0866 TYPE_TI = $distinct, ! TI message
; %PRINT: 1
; L 0867 TYPE_TV = $distinct, ! TV message
; %PRINT: 2
; 0868 TYPElo = min (TYPE_TI, TYPE_TV),
; 0869 TYPEhi = max (TYPE_TI, TYPE_TV);
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 18
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (5)
; 0870
; 0871 !
; 0872 ! Field definitions for a Node Translate Table entry
; 0873 !
; 0874
; 0875 $FIELD NTTfields =
; 0876 set
; L 0877 NTTname = [$STRING(6)], !Node name
; %PRINT: [0,0,0,0] (+%O'0')
; L 0878 NTTaddr = [$short_integer],!Node address
; %PRINT: [3,0,16,1] (+%O'6')
; 0879 $ALIGN(FULLWORD)
; L 0880 NTTlen = [$SUB_BLOCK()] !End of entry
; %PRINT: [4,0,0,0] (+%O'10')
; 0881 tes;
; 0882
; 0883 macro NTTblock = block field (NTTfields)%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 19
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (6)
; 0884
; 0885 !
; 0886 ! Field definitions for a Link Translate Table entry
; 0887 !
; 0888
; 0889 $FIELD LTTfields =
; 0890 set
; L 0891 LTTnode1 = [$short_integer],!Pair 1, node address
; %PRINT: [0,0,16,1] (+%O'0')
; 0892 $OVERLAY(LTTnode1)
; L 0893 LTTnode = [$short_integer],! Node address of a half-entry
; %PRINT: [0,0,16,1] (+%O'0')
; 0894 $CONTINUE
; L 0895 LTTlink1 = [$short_integer],!Pair 1, link address
; %PRINT: [1,0,16,1] (+%O'2')
; 0896 $OVERLAY(LTTlink1)
; L 0897 LTTlink = [$short_integer],! Link address of a half-entry
; %PRINT: [1,0,16,1] (+%O'2')
; 0898 $CONTINUE
; L 0899 LTTnode2 = [$short_integer],!Pair 2, node address
; %PRINT: [2,0,16,1] (+%O'4')
; L 0900 LTTlink2 = [$short_integer],!Pair 2, link address
; %PRINT: [3,0,16,1] (+%O'6')
; L 0901 LTTlen = [$SUB_BLOCK()] !End of entry
; %PRINT: [4,0,0,0] (+%O'10')
; 0902 tes;
; 0903
; 0904 macro LTTblock = block field (LTTfields)%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 20
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (7)
; 0905
; 0906 !
; 0907 ! Field mapping for Transport password data base entry
; 0908 !
; 0909
; 0910 $FIELD PWDfields =
; 0911 set
; L 0912 TLIplink = [$address], ! Link to next password entry
; %PRINT: [0,0,16,0] (+%O'0')
; L 0913 TLIpnode = [$short_integer], ! Node number or 0 (for default)
; %PRINT: [1,0,16,1] (+%O'2')
; L 0914 TLIP2receive = [$byte_string (8)], ! Phase II receive password
; %PRINT: [2,0,0,0] (+%O'4')
; L 0915 TLIP2transmit = [$byte_string (10)],! Phase II transmit password
; %PRINT: [6,0,0,0] (+%O'14')
; L 0916 TLIp3receive_length = [$tiny_integer],
; %PRINT: [11,0,8,1] (+%O'26')
; L 0917 TLIp3receive = [$byte_string(1)] ! Phase III receive password
; %PRINT: [11,8,0,0] (+%O'27')
; 0918 ! Phase III transmit password
; 0919 tes;
; 0920
; 0921 literal
; L 0922 PWDsize = $field_set_size,
; %PRINT: 12 fullwords
; 0923 PWDlength = PWDsize * %UPVAL; ! Length of node data base entry
; 0924
; 0925 macro PWDblock = block [PWDlength] field (PWDfields)%;
; 0926 !
; 0927 ! Synonyms for PWDb
; 0928 !
; 0929 macro PWDlink = PWDb[TLIplink]%;
; 0930 macro PWDnode = PWDb[TLIpnode]%;
; 0931 macro PWD2rcv = PWDb[TLIP2receive]%;
; 0932 macro PWD2TVmsg_len = 10%;
; 0933 macro PWD2TVmsg_ptr = byt$ptr(PWDb[TLIP2transmit])%;
; 0934 macro PWD3rcv = PWDb[TLIp3receive]%;
; 0935 macro PWD3rcv_length = PWDb[TLIp3receive_length]%;
; 0936 macro PWD3TVmsg_len = (ch$rchar (ch$plus (PWD3TVmsg_ptr,3))+4)%;
; 0937 macro PWD3TVmsg_ptr = ch$plus(byt$ptr(PWD3rcv),.PWD3rcv_length)%;
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 21
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (8)
; 0938
; 0939 !+
; 0940 !
; 0941 ! Miscellaneous literals
; 0942 !
; 0943 !-
; 0944
; 0945 literal !Field definitions for Hop,Cost
; 0946 Hop_P = 10, Hop_S = 5, ! Hop is at <10,5>
; 0947 Cost_P = 0, Cost_S = 10; ! Cost is at <0,10>
; 0948 literal Infh = 31; !Infinite path length
; 0949 literal Infc = 1023; !Infinite path cost
; 0950
; 0951 !
; 0952 ! Phase II flag values for NSP
; 0953 !
; 0954
; 0955 literal !Routing header flag
; 0956 PH2_RTflgs = %o'106';
; 0957
; 0958 literal !NSP MSGflgs values
; 0959 CI_MSGflgs = %o'30', ! CI
; 0960 CC_MSGflgs = %o'50', ! CC
; 0961 DI_MSGflgs = %o'70', ! DI
; 0962 DC_MSGflgs = %o'110'; ! DC
; 0963
; 0964 literal !Node Init/Verify values
; 0965 OTI_CTLflg = %o'130', ! Node Init message flag byte
; 0966 INIT_SUBflg = 1, ! Node Init subcode
; 0967 VER_SUBflg = 2, ! Node Verify subcode
; 0968 OTIservices = 7; ! "SERVICES" byte supplying intercept
; 0969
; 0970 literal !DC error codes
; 0971 NO_PATH_ERROR = 39,
; 0972 MISC_ERROR = 7;
; 0973
; 0974 !
; 0975 ! Flag bits in the Phase III routing header
; 0976 !
; 0977
; 0978 literal
; 0979 ALMflg = %o'4', !1 = Alarm message
; 0980 RQRflg = %o'10', !1 = "return to sender" requested
; 0981 RTSflg = %o'20', !1 = packet being returned to sender
; 0982 EVflg = %o'100'; !1 = Phase II header
; 0983 !0 = Phase III header
; 0984
; 0985 !
; 0986 ! Phase III control header flags
; 0987 !
; 0988
; 0989 literal
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 22
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (8)
; 0990 INIT_CTLflg = 1, !Transport Init
; 0991 VFY_req = 4, ! Flag in init. to request Node Verify
; 0992 VERIFY_CTLflg = 3, !Transport Verify
; 0993 HELLO_CTLflg = 5, !Hello or Test message
; 0994 ROUTING_CTLflg = 7; !Routing message
; 0995
; 0996 literal !Transport flags:
; 0997 Running = 1, ! Transport is active
; 0998 Rfail = 2; ! A recoverable resource failure has occurred
; 0999
; 1000 !
; 1001 ! Size of the buffer necessary for circuit initialization
; 1002 ! Equal to the largest:
; 1003 ! Transport Init
; 1004 ! Node Init
; 1005 ! Transport Verify
; 1006 ! Node Verify
; 1007 !
; 1008
; 1009 literal
; 1010 INITbuffer_size = 58;
; 1011
; 1012 !
; 1013 ! Error codes (non-event)
; 1014 !
; 1015
; 1016 DECLARE_SEVERITY (XPT, SUCCESS, INFO, ERROR, SEVERE);
; 1017
; 1018 $XPT_SUCCESS (XPT$_SUCCESS, ' (just a filler)')
; 1019 $XPT_SEVERE (XPT$_CHECK, ' XPTDEC - corrupted data base')
; 1020 $XPT_ERROR (XPT$_IFC, ' XPTFWD - invalid function code in a CCB')
; 1021 ! P1 = function code
; 1022 $XPT_ERROR (XPT$_DNS, ' XPTSEL - invalid SELF destination')
; 1023 ! P1 = destination
; 1024 $XPT_ERROR (XPT$_IANT, ' XPTSEL - invalid adjacent node type')
; 1025 ! P1 = node type
; 1026 $XPT_ERROR (XPT$_ICPT0, ' XPTSEL - duplicate CI received')
; 1027 ! P1 = source node
; 1028 ! P2 = source link
; 1029 ! P3 = destination node
; 1030 ! P4 = destination link
; 1031 $XPT_INFO (XPT$_ICPT1, ' XPTSEL - unrecognized destination address')
; 1032 ! P1 = MSGflgs
; 1033 ! P2 = source node
; 1034 ! P3 = source link
; 1035 ! P4 = destination node
; 1036 ! P5 = destination link
; 1037 $XPT_INFO (XPT$_ICPT2, ' XPTSEL - unrecognized source address')
; 1038 ! P1 = MSGflgs
; 1039 ! P2 = source node
; 1040 ! P3 = source link
; 1041 ! P4 = destination node
25-Jan-1983 09:47:46 TOPS-20 Bliss-16 2A(530) Page 23
30-Dec-1982 21:31:51 NETPKG:<XPT>XPTLIB.REQ.10 (8)
; 1042 ! P5 = destination link
; 1043 $XPT_INFO (XPT$_NFI, ' XPTSEL - intercept link table full')
; 1044 $XPT_SEVERE (XPT$_BUF, ' XPTITF - lost buffer detected')
; 1045 $XPT_ERROR (XPT$_REQU, ' XPTTIM - retry of local transmit')
; 1046 $XPT_SEVERE (XPT$_FMT, ' XPTSEL - invalid message format')
; 1047 $XPT_SEVERE (XPT$_PAU, ' TLILIN - CCB lost while pausing')
; 1048 $XPT_SEVERE (XPT$_REE, ' XPTINI - insufficient resources to initialize')
; 1049
; 1050 !
; 1051 ! Error codes (events)
; 1052 !
; 1053
; 1054 literal
; 1055 $XPT$E_AGE = 0, ! Aged Packet Loss
; 1056 $XPT$E_UNR = 1, ! Node Unreachable Packet Loss
; 1057 $XPT$E_RNG = 2, ! Node Out-of-Range Packet Loss
; 1058 $XPT$E_SIZ = 3, ! Oversize Packet Loss
; 1059 $XPT$E_FMT = 4, ! Packet Format Error
; 1060 $XPT$E_RUL = 5, ! Partial Routing Update Loss
; 1061 $XPT$E_VER = 6, ! Verification Reject
; 1062 $XPT$E_LLF = 7, ! Line down, line fault
; 1063 $XPT$E_LSF = 8, ! Line down, software fault
; 1064 $XPT$E_LOF = 9, ! Line down, operator cause
; 1065 $XPT$E_LUP = 10, ! Line up
; 1066 $XPT$E_ILF = 11, ! Initialization failure, line fault
; 1067 $XPT$E_ISF = 12, ! Initialization failure, software fault
; 1068 $XPT$E_IOF = 13, ! Initialization failure, operator cause
; 1069 $XPT$E_NRC = (14 or (1^15));! Node reachability change (flag means
; 1070 ! entity ID is a node address)
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<MCB>XPORTX.L16.15 599 42 7 0
; NETPKG:<MCB>MCBLIB.L16.15 372 34 9 0
; NETPKG:<MCB>NMXLIB.L16.13 200 2 1 0
; Run Time: 00:23.2
; Elapsed Time: 01:19.8
; Memory Used: 39 pages
; Library Precompilation Complete