Google
 

Trailing-Edge - PDP-10 Archives - DECNET-20_PhaseIII_4-1-82 - dn20/nmxllc.m11
There are 16 other files named nmxllc.m11 in the archive. Click here to see a list.
	.TITLE	NMXLLC
	.IDENT	/X01140/
;
; COPYRIGHT (C) 1980, 1981
; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754
;
; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A SINGLE
; COMPUTER SYSTEM AND MAY BE COPIED ONLY 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
; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE
; TERMS. TITLE TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES
; REMAIN IN DEC.
;
; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
; CORPORATION.
;
; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
;

;++
; FACILITY:	MCB Network Management
;
; ABSTRACT:	NMX Process LLC Data Base
;
;
; ENVIRONMENT:	MCB V3.0
;
; AUTHOR:	Scott G. Robinson, Date: 27-OCT-80
;
; MODIFIED BY:
;
; 01	- Include Dummy Data Entries
; 02	- Update for MCB V3.1
; 03	- Update for MCB V3.2
; 04	- Reflect new Data Base items
; 05	- Reflect new entity Ids
; 06	- Continuation of edit 05
; 07	- Add Event Items to data base
; 08	- Add Direct Line Access Items to data base
; 09	- Enable Certain Events by Default
; 10	- Add line/circuit state variables
; 11	- New event queue block
; 12	- Reconsider enabled filters
; 13	- Disable event 4.14 and enable 5.13
; 14	- Add global event filter masks and remove entity specific ones
;--

;
; Macros for various blocks
;
	.MACRO	EVTBLK,LEN
	lst$d			; Event queue list head
	.byte	0		; Events in queue
	.byte	len		; Event queue length
	.word	0		; Events processed
	.word	0		; Events lost
	.even
	.ENDM	EVTBLK

	.MACRO	GENBLK,TYPE,INDEX
	.byte	0		;GENERAL_SYSTEM_FLAGS
	.if ne,TYPE
	.byte	1		;GENERAL_NMX_FLAGS (NMXFLAGS$_FREE set)
	.iff
	.byte	0		;GENERAL_NMX_FLAGS (NMXFLAGS$_FREE clear)
	.endc
	.byte	0		;GENERAL_NAME (length byte)
	.byte	0,0,0,0,0,0,0,0 ; rest of GENERAL_NAME
	.byte	0,0,0,0,0,0,0,0	; rest of GENERAL_NAME
	.even			;$align(word)
	.byte	INDEX		;GENERAL_ID_INDEX
	.byte	TYPE		;GENERAL_ID_TYPE
	.word	0		;GENERAL_PROVIDER_ID
	.word	0		;GENERAL_OWNER_ID
	.even
	.endm	GENBLK
;
	.macro	LNKBLK,TYPE,INDEX
	GENBLK	TYPE,INDEX
	.word	0		;LINK_USER_ID
	.word	0		;LINK_LUN_BLOCK
	.byte	0.		;LINK_STATE = ON
	.byte	10.		;LINK_SUBSTATE = SYNCHRONIZING
	.byte	0.		;LINK_SERVICE_STATE = PASSIVE
	.byte	0.		;LINK_SERVICE_SUBSTATE = IDLE
	.even
	.endm	LNKBLK
;
	.macro	CKTBLK,INDEX
	LNKBLK	4,INDEX
	.even			;$align(word)
	.word	6.		;CIRCUIT_SERVICE_TIMER = 6 seconds
	.even
	.endm	CKTBLK
;
	.macro	LINBLK,INDEX
	LNKBLK	2,INDEX
	.even			;$align(word)
	.endm	LINBLK
;
	.macro	MODBLK,INDEX
	GENBLK	5,INDEX
	.even			;$align(word)
	.endm	MODBLK
;
	.macro	MSKBLK,filtrs
	$$MSK0 = 0
	$$MSK1 = 0
	.irp	..fltr,<filtrs>
	MSKRNG	..fltr
	.endm
	.irp	..msk0,<\$$MSK0>
	.irp	..msk1,<\$$MSK1>
	.word	..msk0,..msk1
	.endm
	.endm
	.even
	.endm	MSKBLK
;
	.macro	MSKRNG,LOW,HIGH
$$BITN = 0
$$BITM = 1
	.rept	32.
	.if	ge,<$$BITN-LOW>
	.iif	lt,<$$BITN-16.>,$$MSK0 = $$MSK0!$$BITM
	.iif	ge,<$$BITN-16.>,$$MSK1 = $$MSK1!$$BITM
	.iif	le,<HIGH-0-$$BITN>,.mexit
	.endc
$$BITN = $$BITN+1
	.iif	ne,<$$BITM-100000>,$$BITM = $$BITM+$$BITM
	.iif	eq,<$$BITM-100000>,$$BITM=1
	.endr
	.endm	MSKRNG

	.MCALL DAT$

	DAT$ DSR
	.byte	0		;NMX_TIMER_VALUE
	.byte 	0		;NMX_TIMER_BYTE
		COR$D		;NMX_CIRCUIT_POINTER
$$TEMP = 0
		.rept	NM.nck	;Build this number of CIRCUITS
		CKTBLK	$$TEMP
$$TEMP = $$TEMP+1
		.endr
		GENBLK	0,0
		END$
		COR$D		;NMX_MODULE_POINTER
$$TEMP = 0
		.rept	NM.nmo	;Build this number of Modules
		MODBLK	$$TEMP
$$TEMP = $$TEMP+1
		.endr
		GENBLK	0,0
		END$
		COR$D		;NMX_LINE_POINTER
$$TEMP = 0
		.rept	NM.nln	;Build this number of Lines
		LINBLK	$$TEMP
$$TEMP = $$TEMP+1
		.endr
		GENBLK	0,0
		END$
	.byte	0		;NMX_NMX_PIX
	.byte	0		;NMX_NME_PIX
	.byte	0		;NMX_SC_PIX
	.byte	0		;NMX_NSP_PIX
	.byte	0		;NMX_XPT_PIX
	.even			;$align(word)
	MSKBLK	<0.,3.,<6.,9.>>	;Class 0 events
	MSKBLK			;Class 1 events
	MSKBLK	<0.,1.>		;Class 2 events
	MSKBLK	<<0.,2.>>	;Class 3 events
	MSKBLK	<<0.,10.>,12.,13.> ;Class 4 events
	MSKBLK	<2.,<6.,12.>>	;Class 5 events
	MSKBLK	<<3.,5.>>	;Class 6 events
	MSKBLK			;System specific 96-127
	EVTBLK	6		;NMX_EVENT_QUEUE
	lst$d			;NMX_EVENT_IOPS
	.word	0		;NMX_EVENTS_SIGNALED
	.word	0		;NMX_EVENTS_LOGGED
	lst$d			;NMX_LUN_QUEUE
	.even
	END$
	.END