Google
 

Trailing-Edge - PDP-10 Archives - TOPS-20_V6.1_DECnetSrc_7-23-85 - mcb/xpt/xptlib.lst
There is 1 other file named xptlib.lst in the archive. Click here to see a list.
								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