Trailing-Edge
-
PDP-10 Archives
-
decnet_mcb_cusps_703a
-
10,7/dcnmcb/nmxllc.m11
There are 16 other files named nmxllc.m11 in the archive. Click here to see a list.
.TITLE NMXLLC
.IDENT /X01180/
;
;
; COPYRIGHT (c) 1980, 1981, 1982
; DIGITAL EQUIPMENT CORPORATION
; Maynard, Massachusetts
;
; 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.
;
;++
; 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
; 15 - New format for entity data base pointers
; 17 - Use NM$FLT macro from new NETPAR for filter settings
; Add Access control data for NMLMCB.
; 18 - Take DSR$W out of ACCDAT.
; Put "XP$nid IDNDAT" reference in for NMLMCB EXE IDENTIFICATION.
;--
;
; Macros for various blocks
;
.macro CKTBLK,INDEX
LNKBLK 4,INDEX
.even ;$align(word)
.word 6. ;CIRCUIT_SERVICE_TIMER = 6 seconds
.even
$$LEN = .-$$LEN
.endm CKTBLK
;
.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
$$LEN = .
.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
.byte 0 ;GENERAL_SYSTEM_FLAGS
.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 LINBLK,INDEX
LNKBLK 2,INDEX
.even ;$align(word)
$$LEN = .-$$LEN
.endm LINBLK
;
.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 MODBLK,INDEX
GENBLK 5,INDEX
.even ;$align(word)
$$LEN = .-$$LEN
.endm MODBLK
;
.macro MSKBLK,lclss,hclss
$$MSK0 = 0
$$MSK1 = 0
.macro MSKCLS,clss,filtrs
.if b,hclss
.iif ne,<lclss-clss>, .mexit
.iff
.iif gt,<lclss-clss>, .mexit
.iif gt,<clss-hclss>, .mexit
.endc
.irp ..fltr,<filtrs>
MSKRNG ..fltr
.endm
.endm MSKCLS
NM$flt MSKCLS
.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
;
.macro ACCDAT,USR,PAS,ACT
.nchr $$TEMP,<USR>
$$LEN = $$LEN+1+$$TEMP
.irp ..len,<\$$TEMP>
.byte ..len
.endm
.ascii \USR\
.nchr $$TEMP,<PAS>
$$LEN = $$LEN+1+$$TEMP
.irp ..len,<\$$TEMP>
.byte ..len
.endm
.ascii \PAS\
.nchr $$TEMP,<ACT>
$$LEN = $$LEN+1+$$TEMP
.irp ..len,<\$$TEMP>
.byte ..len
.endm
.ascii \ACT\
.endm ACCDAT
;
.macro IDNDAT,TXT
.nchr $$TEMP,<TXT>
$$LEN = $$LEN+1+$$TEMP
.irp ..len,<\$$TEMP>
.byte ..len
.endm
.ascii \TXT\
.endm IDNDAT
;
.macro ENAME,STR
.nchr $$LEN,<STR>
.irp ..len,<\$$LEN>
.byte ..len
.endm
.ascii \STR\
.rept 6-$$LEN
.byte 0
.endr
.endm ENAME
;
.mcall DAT$
DAT$ DSR
.byte 0 ;NMX_TIMER_VALUE
.byte 0 ;NMX_TIMER_BYTE
.word 0 ;NMX_NMX_EID
.word 0 ;NMX_SC_EID
.word 0 ;NMX_NSP_EID
.word 0 ;NMX_XPT_EID
COR$D ;NMX_LINE_POINTER
$$TEMP = 0
.rept NM.nln
LINBLK $$TEMP
$$TEMP = $$TEMP+1
.endr
END$
.word NM.nln
.word $$LEN
COR$D ;NMX_CIRCUIT_POINTER
$$TEMP = 0
.rept NM.nck
CKTBLK $$TEMP
$$TEMP = $$TEMP+1
.endr
END$
.word NM.nck
.word $$LEN
COR$D ;NMX_MODULE_POINTER
$$TEMP = 0
.rept NM.nmo
MODBLK $$TEMP
$$TEMP = $$TEMP+1
.endr
END$
.word NM.nmo
.word $$LEN
.word NS.slf ;NMX_EXECUTOR
CE$nod ENAME
.byte 0 ;NMX_NEXT_LUN_ID
.even ;$align(word)
lst$d ;NMX_LUN_QUEUE
MSKBLK 0. ;Class 0 events
MSKBLK 1. ;Class 1 events
MSKBLK 2. ;Class 2 events
MSKBLK 3. ;Class 3 events
MSKBLK 4. ;Class 4 events
MSKBLK 5. ;Class 5 events
MSKBLK 6. ;Class 6 events
MSKBLK 96.,127. ;System specific 96-127
EVTBLK 6 ;NMX_EVENT_QUEUE
lst$d ;NMX_EVENT_IOPS
.word 0 ;NMX_EVENTS_SIGNALED
.word 0 ;NMX_EVENTS_LOGGED
DSR$W ;NMLMCB initialization data
$$LEN = 0
NM$ACC ACCDAT ;Access control data
XP$nid IDNDAT ;EXECUTOR IDENTIFICATION
END$
.word $$LEN
.even
END$
.END