Google
 

Trailing-Edge - PDP-10 Archives - BB-W661A-BM_1983 - dn20/plpllc.m11
There is 1 other file named plpllc.m11 in the archive. Click here to see a list.
.TITLE PLPLLC - PLP LLC DATA BASE
.IDENT /X01001/
.ENABLE LC
;
;
;                    COPYRIGHT (C) 1983
;                    DIGITAL EQUIPMENT CORPORATION
;
;     This software is furnished under a license and may  be  used
;     and copied only in accordance with the terms of such license
;     and with the inclusion of the above copyright notice.   This
;     software  or any other copies thereof may not be provided or
;     otherwise made available to any other person.  No  title  to
;     and ownership of the software is hereby transferred.
;
;     The information  in  this  software  is  subject  to  change
;     without  notice  and should not be construed as a commitment
;     by DIGITAL EQUIPMENT CORPORATION.
;
;     DIGITAL assumes no responsibility for the use or reliability
;     of  its  software  on  equipment  which  is  not supplied by
;     DIGITAL.
;

.if NDF GA.CKT
GA.CKT = 20
.endc

PL.PRT = GA.CKT
PL.RFQE = 20
.macro NAM16	NM
	.nchr	$$N,NM
	.byte	$$N
	.ascii	/NM/
	.if	gt,16.-$$n
	.rept	16.-$$n
	.ascii	/ /
	.endr
	.endc
	.endm	NAM16

.macro	DTE$BLD	device,dte,lcnb,lcne
.even
dsr$w
 tmb$x	0		; Restart timer
 .word	0		; Dte address.
 .word	0		; ID/CNT
 .word  0		; T_CCB
 .word  0		; T_HDL
end$
 .byte 0		; Lower level PIX
 .byte	0		; DTE LIX
 .byte	0		; DTE status
 .byte	0		; DTE state
 .byte	0		; DTE HLS
 .byte	0		; DTE LLS
 NAM16	dte		; DTE address in ascii
 NAM16  device
 .even
 .word	0
    dsr$w
        $$lcn=lcnb
        .if ge,<lcnb-lcne>
	$$n=lcnb-lcne+1
	.rept $$n
	.word $$lcn
	.word 0
        $$lcn=$$lcn-1
        .endr
	.endc
        .if lt,<lcnb-lcne>
	$$n=lcne-lcnb+1
	.rept $$n
	.word $$lcn
	.word 0
        $$lcn=$$lcn+1
        .endr
	.endc
	.if gt,PL.LCN-$$n
	.rept	PL.LCN-$$n
	.word	-1,0
	.endr
	.endc
    end$
 .byte	$$n		; SVCs defined
 .byte  PL.LCN
 .even
.word 0
 .word	0		; SVCs active
 .word 0		; PVCs active
 .blkw 2.               ; Time since counters last zeroed.
 .blkw	17.		; Counters
.endm DTE$BLD

.macro	PVC$CNT a,b,c,d,e
$$npvc = $$npvc + 1
.endm

.macro	GRP$CNT a,b,c,d
$$ngrp = $$ngrp + 1
.endm

.macro	DTE$CNT	a,b,c,d
$$ndte = $$ndte + 1
.endm

.macro	GRP$BLD name,type,num0,num1
NAM16	name
.byte	type
.word	-1,-1
.word	$$DTEA
.word	num0
.if NB,num1
.word 	92.+$$DTEA
.word	num1
.endc
.if B,num1
.word 	0
.word	-1
.endc
.endm

.macro PVC$BLD name,dte,lcn,ws,ps
.even
 NAM16 name     ;PVC name
 NAM16 dte	;DTE address
 .word lcn	;LCN
 .word ps	;Packet size
 .word 0	; VCT address when assigned
 .word 0	; DTE data base address
 .byte ws	;Window size
 .even
.endm

$$ndte = 0
PL$DTE	DTE$CNT		; Count the local DTEs


$$ngrp = 0
GRP$DF	GRP$CNT

$$npvc = 0
PVC$DF PVC$CNT	; Count total number of PVC circuits.

$$DTEA = PL.PRT*66.
$$P = $$ndte*92.
$$PVCA = $$DTEA + $$P

.mcall dat$

dat$	dsr
.byte	0		; Long timer byte
.byte   0,0,0,0,0	; PIX's
.word   0               ; Module Logging Id
.byte	$$ndte		; Number of X.25 lines.
.byte	PL.PRT		; Number of Circuits at PLP
.byte	$$npvc		; Number of PVCs
.byte	PL.UGS		; Maximum number of user groups
.byte	0,0		; Module flags
.even
 lst$d	   		; PLP resource fail queue listhead
.word 0			; Resource fail CCB
dsr$w PL.RFQE*6		; Resourc recovery request buffer start
.word PL.RFQE*6 - 6 ; Resource recovery request buffer end
.word 0			; Resource recovery request buffer current
.word 0			; Resource recovery request next free
.even
cor$d			; VCT, CKT, DTE data bases
 $$j = 1
 .rept PL.PRT
 .even
dsr$w
 tmb$x	0		;  Timer block
 .word	0		; Data Base address.
 .word	0		; ID/CNT
 .word  0		; T_CCB
 .word  0		; T_HDL
end$
 .word  0		; Flags
 .byte	0		; CIRCUIT owner if any
 .byte	$$j		; Port Id
 .word	0		; Local DTE data base address
 .byte	0		; High level user index
 .byte	0		; Port state
 .byte	0		; User Id
 .byte	0		; LIX
 .word	0		; PVC data base
 .word  0     		; LCN data base address
 .word	0		; LCN
 .byte	0		; PR
 .byte	0		; PS
 .byte	PL.DWS		; Transmit Upper Window
 .byte	0		; Transmit Lower Window
 .byte	0		; Receive Lower Window
 .byte	PL.DWS		; Window size
 .word	PL.DPS		; Packet size
 lst$d			; RWQ
 lst$d			; FLPQ
 .word	0		; SPCQ
 .word 0		; Free CCB Q
 .word 0,0		; Interrupt queues
 .word 0,0
 .word 0,0
 .word 0,0
 .word 0,0
 .word 0,0
 .byte 0,0,0
 $$j = $$j + 1
.endr
 PL$DTE	DTE$BLD
 PVC$DF PVC$BLD		; Circuit (PVC) data base
end$
.word $$DTEA	; LOCAL DTE DB address
.word $$PVCA	; PVC data base address
cor$d			; UG and PVC data bases
GRP$DF	GRP$BLD
 .rept PL.UGS - $$ngrp
 NAM16 <>		; Group name
 .byte 0		; Type
 .word -1,-1
 .word 0,0,0,0		; DTE list
 .endr
end$
.word	PL.MPS		; max packet size
.word	PL.DPS		; default packet size
.byte	PL.DWS		; default window size
.byte	PL.MWS		; max window size
.even
.byte	PL.RCL		; Maximum clear retries.
.byte	PL.RRE		; Maximum reset retries.
.byte	PL.RRS		; Maximum restart retries.
.byte	0		; 
.byte	0		;
.byte	0		;
.byte	PL.TCA		; Call request time-out
.byte	PL.TCL		; Clear request timeout
.byte	PL.TRE		; Reset request timeout
.byte	PL.TRS		; Restart request timeout
.even
PL$NNM  NAM16		; Network Name.
.byte 12.
.ascii /X25-PROTOCOL/
.even
.word 0
.word 0	; DEBUG WORD
.word	107.		; DSR buffer
.blkw 107.		;
end$
.end