Trailing-Edge
-
PDP-10 Archives
-
DECNET-20_PhaseIII_4-1-82
-
dn20/rsxlib.m11
There are 15 other files named rsxlib.m11 in the archive. Click here to see a list.
; [Beginning of RSXLIB]
;
; COPYRIGHT (C) 1980
; 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 Communications Executive
;
; FUNCTIONAL ABSTRACT:
;
; The module contains the structure definitions for
; the RSX data structures.
;
; ENVIRONMENT: RSX kernel mode with EIS
;
; AUTHOR: Alan D. Peckham, CREATION DATE: 20-MAR-80
;
; MODIFIED BY:
;--
;
;
;
.MACRO CLKDF$,L,B
C.MRKT='B'0
C.SCHD='B'2
C.SSHT='B'4
C.SYST='B'6
C.SYTK='B'8.
C.CSTP='B'10.
.ASECT
.=0
C.LNK:'L' .BLKW 1
C.RQT:'L' .BLKB 1
C.EFN:'L' .BLKB 1
C.TCB:'L' .BLKW 1
C.TIM:'L' .BLKW 2
.=C.TIM+4
C.AST:'L' .BLKW 1
C.SRC:'L' .BLKW 1
C.DST:'L' .BLKW 1
.=C.TIM+4
C.RSI:'L' .BLKW 2
C.UIC:'L' .BLKW 1
.=C.TIM+4
.BLKW 2
.BLKW 1
.=C.TIM+4
C.SUB:'L' .BLKW 1
C.AR5:'L' .BLKW 1
.BLKW 1
C.LGTH='B'.
.PSECT
.MACRO CLKDF$ X,Y
.ENDM
.ENDM
;
;
;
.MACRO CUCDF$ X,Y
.ASECT
.= U.CW2+2
U.ACUR:'X .BLKW 1
U.NSYN:'X .BLKB 1
U.NSYC:'X .BLKB 1
.= U.VCB+2
U.PHDR:'X .BLKW 1
U.RCHK:'X .BLKW 1
U.QSYN:'X
U.RCAC:'X .BLKW 1
U.RBUF:'X .BLKW 2
U.RCNT:'X .BLKW 1
U.SVC:'X .BLKW 1
U.TXCT:'X
U.INTP:'X .BLKW 1
U.SYNC:'X .BLKB 1
U.MPN:'X .BLKB 1
U.RFRK:'X .BLKW 1
U.RFPC:'X .BLKW 1
U.RFR5:'X .BLKW 1
U.RFR4:'X .BLKW 1
U.RFCT='Y U.TXCT+1
.PSECT
U2.HDX='Y 100000
U2.LIN='Y 40000
U2.CTS='Y 20000
U2.SWC='Y 10000
U2.ONL='Y 4000
U2.HPT='Y 1000
U2.HRC='Y 400
U2.RCV='Y 200
U2.ACU='Y 100
U2.MPT='Y 40
U2.FTM='Y 20
U2.SFL='Y 10
U2.RFK='Y 4
U2.SYC='Y 3
U2.TXA='Y 2
U2.SNC='Y 1
US.SYN='Y 1
U3.LOK='Y 100000
U3.RPD='Y 400
U3.RAC='Y 200
U3.SND='Y 1
.MACRO CUCDF$ A,B
.ENDM
.ENDM
;
;
;
.MACRO CVCDF$ X,Y
.ASECT
.= V.IFWI
V.CPRT:'X .BLKW 1
V.CLUN:'X .BLKB 1
V.CMPN:'X .BLKB 1
V.CSTS:'X .BLKW 1
V.CST1:'X .BLKB 1
V.CNID:'X .BLKB 1
V.CUCB:'X .BLKW 1
V.CMPL:'X .BLKW 1
V.CNPN:'X .BLKW 1
V.CMBC:'X .BLKW 1
V.CRED:'X .BLKW 1
V.CNHD:'X .BLKW 1
V.CTBL:'X .BLKW 1
V.CRBL:'X .BLKW 1
V.NXHD:'X .BLKW 1
V.CDBC:'X .BLKW 1
V.CIAD:'X .BLKW 1
V.CICT:'X .BLKW 1
V.CSAD:'X .BLKW 1
V.CSCT:'X .BLKW 1
V.CMXI:'X .BLKW 1
V.CMXO:'X .BLKW 1
V.CTDH:'X .BLKW 1
V.CTDT:'X .BLKW 1
V.CSTQ:'X .BLKW 2
V.CLMT:'X .BLKB 1
V.CTMA:'X .BLKB 1
V.CLMR:'X .BLKB 1
V.CRMA:'X .BLKB 1
V.CMCT:'X .BLKW 2
V.CRPC:'X .BLKB 1
V.CRPL:'X .BLKB 1
V.CRTM:'X .BLKW 1
V.CREP:'X .BLKW 1
V.CBCC:'X .BLKW 1
V.CDCC:'X .BLKW 1
V.CURH:'X .BLKW 1
V.CDLE:'X .BLKW 1
V.COVR:'X .BLKW 1
V.CRST:'X .BLKW 1
V.CALF:'X .BLKW 1
V.CREA:'X .BLKB 1
.BLKB 1
.IF DF,C$$ACU
V.CTPN:'X .BLKB 12.
.ENDC
V.CLEN:'X .BLKW 1
.PSECT
VS.SEL='Y 100000
VS.FIN='Y 40000
VS.REP='Y 20000
VS.RTR='Y 10000
VS.STK='Y 4000
VS.STR='Y 2000
VS.ACK='Y 1000
VS.NAK='Y 400
VS.MPT='Y 200
VS.DIS='Y 200
VS.CTL='Y 100
VS.DAT='Y 40
VS.SYN='Y 20
VS.POL='Y 10
VS.ONL='Y 4
VS.BOO='Y 2
VS.TRN='Y 1
.MACRO CVCDF$ A,B
.ENDM
.ENDM
;
;
;
.MACRO DCBDF$,L,B
.ASECT
.=0
D.LNK:'L' .BLKW 1
D.UCB:'L' .BLKW 1
D.NAM:'L' .BLKW 1
D.UNIT:'L' .BLKB 1
.BLKB 1
D.UCBL:'L' .BLKW 1
D.DSP:'L' .BLKW 1
D.MSK:'L' .BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
D.PCB:'L' .BLKW 1
.PSECT
D.VINI='B'0
D.VCAN='B'2
D.VOUT='B'4
D.VPWF='B'6
.MACRO DCBDF$,X,Y
.ENDM
.ENDM
;
;
;
.MACRO DEVDF$,L,B
.MCALL DCBDF$
DCBDF$ <L>,<B>
.MCALL UCBDF$
UCBDF$ <L>,<B>
.MCALL SCBDF$
SCBDF$ <L>,<B>
.MCALL LCBDF$
LCBDF$ <L>,<B>
.MACRO DEVDF$,X,Y
.ENDM
.ENDM
;
;
;
.MACRO EMBDF$,L,B
EC.INI='B'40
EC.DVC='B'1
EC.DTO='B'140
EC.NSI='B'141
EC.LOA='B'4
EC.UNL='B'10
.ASECT
.=0
E.SIZE:'L' .BLKW 1
E.CODE:'L' .BLKB 1
.BLKB 1
E.TIME:'L' .BLKB 6
E.SEQ:'L'.BLKW 1
E.ABM:'L'.BLKW 1
.=E.ABM+2
E.VCTR:'L' .BLKB 1
E.LOST:'L' .BLKB 1
E.OPS:'L'.BLKW 1
E.OPC:'L' .BLKW 1
.=E.ABM+2
E.RTRY:'L' .BLKB 2
.BLKB 1
E.IOC:'L'.BLKB 1
E.TASK:'L' .BLKW 2
E.PAR:'L'.BLKW 1
E.UIC:'L'.BLKW 1
E.UCB:'L'.BLKW 1
E.FCN:'L'.BLKB 2
E.PRM:'L'.BLKW 1
.BLKW 6
E.RCNT:'L' .BLKB 1
.BLKB 1
E.REGS='B'.
E.LGTH='B'.
.=E.TIME+<9.*2>
E.WHY:'L'.BLKW 1
.=.+2
E.NAME:'L'.BLKW 1
.PSECT
.MACRO EMBDF$ X,Y
.ENDM
.ENDM
;
;
;
.MACRO F11DF$
.ASECT
.=0
V.TRCT: .BLKW 1
V.IFWI: .BLKW 1
.IF DF,R$$11D
V.STD: .BLKW 1
.ENDC
V.FCB: .BLKW 2
V.IBLB: .BLKB 1
V.IBSZ: .BLKB 1
.BLKW 1
V.FMAX: .BLKW 1
V.WISZ: .BLKB 1
V.SBCL: .BLKB 1
V.SBSZ: .BLKW 1
V.SBLB: .BLKB 1
V.FIEX: .BLKB 1
.BLKW 1
.IF DF,R$$11M
V.VOWN: .BLKW 1
V.VPRO: .BLKW 1
V.VCHA: .BLKW 1
.IFTF
V.FPRO: .BLKW 1
.IFT
V.VFSQ: .BLKW 1
.IFF
.BLKW 1
.ENDC
V.FRBK: .BLKB 1
V.LRUC: .BLKB 1
.BLKW 1
.IF DF,R$$11D
V.LABL: .BLKB 12.
.ENDC
V.STAT: .BLKB 1
VC.IFW= 1
VC.BMW= 2
V.FFNU: .BLKB 1
V.LGTH:
.ASECT
.=0
F.LINK: .BLKW 1
.IF DF,R$$11D
F.FEXT: .BLKW 1
F.STD: .BLKW 1
.ENDC
F.FNUM: .BLKW 1
F.FSEQ: .BLKW 1
.BLKB 1
F.FSQN: .BLKB 1
F.FOWN: .BLKW 1
F.FPRO: .BLKW 1
F.UCHA: .BLKB 1
F.SCHA: .BLKB 1
F.HDLB: .BLKW 2
F.LBN: .BLKW 2
F.SIZE: .BLKW 2
F.NACS: .BLKB 1
F.NLCK: .BLKB 1
S.STBK=.-F.LBN
F.STAT:
F.NWAC: .BLKB 1
.BLKB 1
FC.WAC=100000
FC.DIR=40000
FC.CEF=20000
FC.FCO=10000
F.DREF: .BLKW 1
F.DRNM: .BLKW 1
.IF DF,R$$11M
F.FEXT: .BLKW 1
.ENDC
F.FVBN: .BLKW 2
F.LKL: .BLKW 1
F.LGTH:
.ASECT
.=0
W.CTL: .BLKW 1
WI.RDV=400
WI.WRV=1000
WI.EXT=2000
WI.LCK=4000
WI.DLK=10000
WI.EXL=40000
WI.BPS=100000
.IF DF,R$$11M
W.VBN: .BLKB 1
W.WISZ: .BLKB 1
.BLKW 1
W.FCB: .BLKW 1
.ENDC
.IF DF,R$$11D
W.FCB: .BLKW 1
W.STD: .BLKW 1
W.VBN: .BLKB 1
W.WISZ: .BLKB 1
.BLKW 1
.ENDC
W.LKL: .BLKW 1
W.RTRV:
.ASECT
.=0
L.LNK: .BLKW 1
L.WI1: .BLKW 1
.IF DF,R$$11D
L.STD: .BLKW 1
L.VB1: .BLKW 2
L.VB2: .BLKW 2
L.CNT: .BLKB 1
.BLKB 1
.IFF
L.VB1: .BLKB 1
L.CNT: .BLKB 1
.BLKW 1
.ENDC
L.LGTH:
.PSECT
.MACRO F11DF$
.ENDM F11DF$
.ENDM F11DF$
;
;
;
.MACRO GCLDF$ AA,AF,BB,CC,DD,EE,FF,GG,HH
; MACRO CALLS
.IF NB,AA ; ASSEMBLE FOR ROOT SECTION ONLY
.IF NB,AF
EF=AF ; USE SPECIFIED EVENT FLAG
.IFF
EF=AA ; OR DEFAULT TO LUN
.ENDC
.PSECT $$$GCL ; NAME PSECT ( GENERATE DATA OUT OF LINE )
.MCALL GMCR$,WTSE$,QIO$,ALUN$,FDBDF$,FDOP$A,FDRC$A,NMBLK$,CSI$,SETF$
.GLOBL G.MCRB,Q.IOAE,Q.IOFN,Q.IOPL,Q.IOSB
$CLMCR::GMCR$ ; GET MCR COMMAND LINE DPB
$CLQIO::QIO$ 0,AA,EF,,$CLMCR+G.MCRB+72.,,<0,0> ; QIO DPB
$CLWEF::WTSE$ EF ; WAIT FOR FLAG DPB ( I/O COMPLETION )
$CLSEF::SETF$ EF ; SET FLAG DPB ( AFTER GET$ )
$CLASN::ALUN$ AA,TI,0 ; REASSIGN LUN DPB
$CLAST::.WORD 0 ; AST SERVICE ROUTINE POINTER
$PSHPT::.WORD $CLMCR+G.MCRB ; POINTER TO TOP OF STACK OF FILES
$CLEVL::.BYTE 0 ; START AT TI:/MCR LEVEL
.BYTE 0 ; FLAG FOR QUEUED FILES
$ASTLV::.BYTE 0 ; AST LEVEL ( 0 = NO ASTS PENDING )
.EVEN
CSI$ ; DEFINE C.SIZE
$CLCSI::.BLKB C.SIZE ; CSI CONTROL BLOCK
$CLFDB::FDBDF$ ; INPUT FILE FDB
FDOP$A AA,$CLCSI+C.DSDS,DFLTNB ; ASSIGN LUN
DFLTNB: NMBLK$ BB,CMD,,SY,0 ; DEFAULT VALUES
.IF NB,CC
.IF NB,DD
FDRC$A ,CC,DD-1 ; USER SPECIFIED BUFFER AND SIZE
.IFF
.ERROR IF USER SPECIFIES BUFFER, THEN SIZE MUST ALSO BE SPEC'ED
.ENDC
.IFF
.IF NB,DD
FDRC$A ,BUFFER,DD-1 ; USER SPECIFIED SIZE OF INTERNAL BUFFER
.IFF
FDRC$A ,BUFFER,80. ; DEFAULT BUFFER AND SIZE
.ENDC
.ENDC
$CLBUF ==$CLFDB+F.URBD+2 ; POINTER TO DATA BUFFER
$CLSIZ ==$CLFDB+F.URBD ; BUFFER SIZE IN BYTES
$CLIOS ==$CLQIO+Q.IOSB ; GCL I/O STATUS BLOCK ( IOS/LENGTH )
DEFFLG=CL.CMT!CL.IND!CL.EXT!CL.ATT!CL.LCC ; DEFAULT FLAG VLAUES
.IF NB,EE
.IF NB,FF
$CLFLG::.WORD DEFFLG!EE&^C<FF>; USER DEFINED OPTIONS
.IFF
$CLFLG::.WORD DEFFLG!EE ; USE DESIRED EXTRAS
.ENDC
.IFF
.IF NB,FF
$CLFLG::.WORD DEFFLG&^C<FF> ; USER DOESN'T WANT THESE OPTIONS
.IFF
$CLFLG::.WORD DEFFLG ; DEFAULT ALL THE WAY
.ENDC
.ENDC
.IF NB,BB
$CLPMT::.WORD $CLPRM ; POINTER TO USER SPECIFIED DEFAULT PROMPT
.IFF
$CLPMT::.WORD 0 ; POINTER TO PROMPT STRING
.ENDC
.IF NB,GG
$CLSRV::.WORD GG ; AST SERVICE SUBROUTINE
.IFF
$CLSRV::.WORD $CLRTN ; POINT AT A FAKE AST SERVICE ROUTINE
.ENDC
.IF B,CC
.IF B,DD
BUFFER: .BLKB 80. ; INTERNALLY GENERATED BUFFER
BUFLEN=79.
.IFF
BUFFER: .BLKB DD ; USER SPECIFIED BUFFER SIZE
BUFLEN=.-BUFFER-1
.ENDC
.ENDC
.EVEN
.IF NB,BB
$CLPRM: .BYTE 12,15 ; LINE FEED, CARRIAGE RETURN
.ASCII "BB" ; USER DEFINED DEFAULT PROMPT STRING
.ASCIZ ">"
DFTLEN=.-$CLPRM
.ENDC
.EVEN
.PSECT HH ; BACK TO USER PSECT
.ENDC ; END OF ROOT SEGMENT DATA
.MCALL DIR$,GCL$ ; ALWAYS .MCALL THESE
; FLAG WORD BIT DEFINITIONS ( COMMAND LINE RETURNED W/O MODS UNLESS
; A MODIFIER BIT IS SET )
CL.CMT=1 ; ENABLE COMMENT LINES
CL.IND=2 ; ENABLE INDIRECTION INDICATOR "@"
CL.RNE=4 ; READ WITHOUT ECHOING
CL.EXT=10 ; ENABLE EXTENDED COMMAND LINE SUPPORT
CL.LCC=20 ; CONVERT TO UPPER CASE
CL.EIF=40 ; ECHO INDIRECT PROMPTS AND RESPONSES (IF CL.RNE CLEAR)
CL.OPN=100 ; LEAVE INDIRECT FILES OPEN
CL.ATT=200 ; ATTACH TI: WHENEVER POSSIBLE USING LUN ASSIGNED TO GCL
CL.AST=4000 ; ENABLE ASYCHRONOUS COMPLETION
CL.CAS=20000 ; INTERNAL STATE ( MULTIPLE ASTS IN PROGRESS )
CL.EXN=40000 ; INTERNAL STATE ( EXTENDED COMMAND LINE MODE )
CL.XIT=100000 ; INTERNAL STATE ( EXIT NEXT TIME WE GET TO LEVEL 0 )
.ENDM GCLDF$
;
;
;
.MACRO GCL$ AA,BB,CC,DD
.IF NB,AA
MOV AA,$CLPMT ; USER SPECIFIED NEW PROMPT STRING
.ENDC
.IF NB,BB
MOV BB,$CLBUF ; USER SPECIFIED DESTINATION
.IF B,CC
.ERROR GCL$ MACRO "BUFFER SIZE" ARGUMENT MUST BE INCLUDED
.IFF
MOV CC,$CLSIZ ; SIZE OF USER SPECIFIED BUFFER
.ENDC
.ENDC
.IF NB,DD
MOV DD,$CLIOS
.ENDC
CALL $GCLEP ; CALL SUBROUTINE
.ENDM GCL$
;
;
;
.MACRO HDRDF$,L,B
.ASECT
.=0
H.CSP:'L'.BLKW 1
H.HDLN:'L'.BLKW 1
H.EFLM:'L'.BLKW 2
H.CUIC:'L'.BLKW 1
H.DUIC:'L'.BLKW 1
H.IPS:'L'.BLKW 1
H.IPC:'L'.BLKW 1
H.ISP:'L'.BLKW 1
H.ODVA:'L'.BLKW 1
H.ODVL:'L'.BLKW 1
H.TKVA:'L'.BLKW 1
H.TKVL:'L'.BLKW 1
H.PFVA:'L'.BLKW 1
H.FPVA:'L'.BLKW 1
H.RCVA:'L'.BLKW 1
H.EFSV:'L'.BLKW 1
H.FPSA:'L'.BLKW 1
H.WND:'L'.BLKW 1
H.DSW:'L'.BLKW 1
H.FCS:'L'.BLKW 1
H.FORT:'L'.BLKW 1
H.OVLY:'L'.BLKW 1
H.VEXT:'L'.BLKW 1
H.SPRI:'L'.BLKB 1
H.NML:'L'.BLKB 1
H.RRVA:'L'.BLKW 1
.BLKW 3
H.GARD:'L'.BLKW 1
H.NLUN:'L'.BLKW 1
H.LUN:'L'.BLKW 2
.=0
W.BPCB:'L'.BLKW 1
W.BLVR:'L'.BLKW 1
W.BHVR:'L'.BLKW 1
W.BATT:'L'.BLKW 1
W.BSIZ:'L'.BLKW 1
W.BOFF:'L'.BLKW 1
W.BFPD:'L'.BLKB 1
W.BNPD:'L'.BLKB 1
W.BLPD:'L'.BLKW 1
W.BLGH:'L'
.PSECT
.MACRO HDRDF$ X,Y
.ENDM
.ENDM
;
;
;
.MACRO HWDDF$,L,B
MPCSR='B'177746
MPAR='B'172100
PIRQ='B'177772
PR0='B'0
PR1='B'40
PR4='B'200
PR5='B'240
PR6='B'300
PR7='B'340
PS='B'177776
SWR='B'177570
TPS='B'177564
.IF DF,E$$EAE
AC='B'177302
MQ='B'177304
SC='B'177310
.ENDC
.IF DF,M$$MGE
KDSAR0='B'172360
KDSDR0='B'172320
KISAR0='B'172340
KISAR5='B'172352
KISAR6='B'172354
KISAR7='B'172356
KISDR0='B'172300
KISDR6='B'172314
KISDR7='B'172316
SISDR0='B'172200
UDSAR0='B'177660
UDSDR0='B'177620
UISAR0='B'177640
UISAR4='B'177650
UISAR5='B'177652
UISAR6='B'177654
UISAR7='B'177656
UISDR0='B'177600
UISDR4='B'177610
UISDR5='B'177612
UISDR6='B'177614
UISDR7='B'177616
UBMPR='B'170200
CMODE='B'140000
PMODE='B'30000
SR0='B'177572
SR3='B'172516
.ENDC
FE.EXT='B'1
FE.MUP='B'2
FE.EXV='B'4
FE.DRV='B'10
FE.PLA='B'20
FE.CAL='B'40
FE.PKT='B'100
FE.EXP='B'200
FE.LSI='B'400
FE.MXT='B'40000
FE.NLG='B'100000
.MACRO HWDDF$ X,Y
.ENDM
.ENDM
;
;
;
.MACRO ITBDF$ L,B,SYSDEF
.IF DF,A$$TRP
.MCALL PKTDF$
PKTDF$
.ENDC
.ASECT
.=0
X.LNK:'L' .BLKW 1
X.JSR:'L' JSR R5,@#0
X.PSW:'L' .BLKB 1
.BLKB 1
X.ISR:'L' .BLKW 1
X.FORK:'L'
.BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
.IF DF,M$$MGE
X.REL:'L' .BLKW 1
.ENDC
X.DSI:'L' .BLKW 1
X.TCB:'L' .BLKW 1
.IF NB,SYSDEF
.IF DF,A$$TRP
.BLKW 1
X.AST:'L' .BLKB A.PRM
.ENDC
X.VEC:'L' .BLKW 1
X.VPC:'L' .BLKW 1
X.LEN:'L'
.ENDC
.PSECT
.MACRO ITBDF$ X,Y,Z
.ENDM ITBDF$
.ENDM ITBDF$
;
;
;
.MACRO LBLDF$ L,B
.ASECT
.=0
R$LNAM:'L'.BLKW 2
R$LSA:'L' .BLKW 1
R$LHGV:'L'.BLKW 1
R$LMXV:'L'.BLKW 1
R$LLDZ:'L'.BLKW 1
R$LMXZ:'L'.BLKW 1
R$LOFF:'L'.BLKW 1
R$LWND:'L'.BLKW 1
R$LSEG:'L'.BLKW 1
R$LFLG:'L'.BLKW 1
R$LDAT:'L'.BLKW 3
R$LSIZ:'L'.BLKW 0
LD$ACC='B'100000
LD$RSV='B'040000
LD$REL='B'000004
.=0
L$BTSK:'L'.BLKW 2
L$BPAR:'L'.BLKW 2
L$BSA:'L' .BLKW 1
L$BHGV:'L'.BLKW 1
L$BMXV:'L'.BLKW 1
L$BLDZ:'L'.BLKW 1
L$BMXZ:'L'.BLKW 1
L$BOFF:'L'.BLKW 1
L$BWND:'L'.BLKW 1
L$BSEG:'L'.BLKW 1
L$BFLG:'L'.BLKW 1
L$BDAT:'L'.BLKW 3
L$BLIB:'L'.BLKW <7.*<R$LSIZ/2>>+1
L$BPRI:'L'.BLKW 1
L$BXFR:'L'.BLKW 1
L$BEXT:'L'.BLKW 1
L$BSGL:'L'.BLKW 1
L$BHRB:'L'.BLKW 1
L$BBLK:'L'.BLKW 1
L$BLUN:'L'.BLKW 1
.BLKW <512.-.>/2
L$BASG:'L'.BLKW 0
TS$PIC='B'100000
TS$NHD='B'040000
TS$ACP='B'020000
TS$PMD='B'010000
TS$SLV='B'004000
TS$NSD='B'002000
TS$NET='B'001000
TS$PRV='B'000400
TS$CMP='B'000200
TS$CHK='B'000100
TS$RES='B'000040
.PSECT
.MACRO LBLDF$ X,Y
.ENDM
.ENDM
;
;
;
.MACRO LCBDF$,L,B
.ASECT
.=0
L.LNK:'L' .BLKW 1
L.NAM:'L' .BLKW 1
L.UNIT:'L' .BLKB 1
L.TYPE:'L' .BLKB 1
L.UCB:'L' .BLKW 1
L.ASG:'L' .BLKW 1
L.LGTH='B'.-L.LNK
.PSECT
.MACRO LCBDF$,X,Y
.ENDM
.ENDM
;
;
;
.MACRO LLWDF$,L,B
.ASECT
.=0
W.CTL:'L' .BLKW 1 ;(RESERVED FOR RSX)
W.TASK:'L' .BLKW 1 ;POINTER TO TASK (TCB/ATL ADDRESS)
W.STAT:'L' .BLKB 1 ;STATUS
W.MODC:'L' .BLKB 1 ;MODIFY FLOW CONTROL COUNT
W.CCBU:'L' .BLKB 1 ;NUMBER OF TRANSMIT CCB'S IN USE
W.LUN:'L' .BLKB 1 ;TASK LUN #
W.LLA:'L' .BLKB 1 ;NSP'S LOGICAL LINK ADDRESS (INDEX)
W.ULA:'L' .BLKB 1 ;INTERFACE'S USER LINK ADDRESS (INDEX)
W.SEGZ:'L' .BLKW 1 ;TRANSMIT SEGMENT SIZE
W.PIO:'L' .BLKW 1 ;PENDING I/O PACKET ADDRESS
W.MBOX:'L' .BLKW 1 ;POINTER TO TASK MAILBOX
W.CSND:'L' .BLKW 1 ;POINTER TO CURRENT TRANSMIT I/O PACKET
W.SNDQ:'L' .BLKW 2 ;TRANSMIT QUEUE LISTHEAD
W.RCVQ:'L' .BLKW 2 ;RECEIVE QUEUE LISTHEAD
W.CINT:'L' .BLKW 1 ;POINTER TO CURRENT INTERRUPT I/O PACKET
W.INTQ:'L' .BLKW 2 ;INTERRUPT QUEUE LISTHEAD
;
W.WBL='B'.-W.CTL ;LENGTH OF LOGICAL LINK WINDOW BLOCK
.PSECT
;+
; WINDOW BLOCK STATUS WORD
;-
WS.VE1='B'1 ;VERSION 1 INTERFACE (0-VERSION 2)
WS.EST='B'2 ;LINK IS ESTABLISHED
WS.DIC='B'4 ;DISCONNECT ALREADY CLEANED UP FOR TASK
WS.MOD='B'10 ;NEEDS FLOW CONTROL MODIFICATION
WS.STA='B'20 ;NEEDS CCB FOR TRANSMIT
WS.INT='B'40 ;NEEDS CCB FOR INTERRUPT
WS.DIP='B'100 ;DISCONNECT IN PROGRESS
WS.KIP='B'200 ;KILL (I/O RUNDOWN) IN PROGRESS
.MACRO LLWDF$,X,Y
.ENDM LLWDF$
.ENDM LLWDF$
;
;
;
.MACRO PCBDF$ L,B,SYSDEF
.ASECT
.=0
P.LNK:'L'.BLKW 1
P.PRI:'L'.BLKB 1
P.IOC:'L'.BLKB 1
P.NAM:'L'.BLKW 2
P.SUB:'L'.BLKW 1
P.MAIN:'L'.BLKW 1
.IF NB,SYSDEF
.IF NDF,M$$MGE
P.HDR:'L'
.ENDC
.IFTF
P.REL:'L'.BLKW 1
P.BLKS:'L'
P.SIZE:'L'.BLKW 1
P.WAIT:'L'.BLKW 1
P.SWSZ:'L'.BLKW 1
P.BUSY:'L'.BLKB 2
P.OWN:'L'
P.TCB:'L'.BLKW 1
P.STAT:'L'.BLKW 1
.IFT
.IF DF,M$$MGE
P.HDR:'L' .BLKW 1
.ENDC
P.PRO:'L' .BLKW 1
P.ATT:'L' .BLKW 2
.IF NDF,P$$LAS
P.LGTH='B'P.PRO
.IFF
P.LGTH='B'.
.ENDC
.IFF
.PSECT
PS.OUT='B'100000
PS.CKP='B'40000
PS.CKR='B'20000
PS.CHK='B'10000
PS.FXD='B'4000
PS.PER='B'2000
PS.LIO='B'1000
PS.NSF='B'400
PS.COM='B'200
PS.PIC='B'100
PS.SYS='B'40
PS.DRV='B'20
PS.DEL='B'10
PS.APR='B'7
.ASECT
.=0
A.PCBL:'L'.BLKW 1
A.PRI:'L'.BLKB 1
A.IOC:'L'.BLKB 1
A.TCB:'L'.BLKW 1
A.TCBL:'L'.BLKW 1
A.STAT:'L'.BLKB 1
A.MPCT:'L'.BLKB 1
A.PCB:'L'.BLKW 1
A.LGTH='B'.
.PSECT
AS.DEL='B'10
AS.EXT='B'4
AS.WRT='B'2
AS.RED='B'1
.ENDC
.MACRO PCBDF$ X,Y,Z
.ENDM
.ENDM
;
;
;
.MACRO PKTDF$,L,B,SYSDEF
.ASECT
.=177774
A.KSR5:'L' .BLKW 1
A.DQSR:'L' .BLKW 1
.BLKW 1
A.CBL:'L' .BLKW 1
A.BYT:'L' .BLKW 1
A.AST:'L' .BLKW 1
A.NPR:'L' .BLKW 1
A.PRM:'L' .BLKW 1
.ASECT
.=0
I.LNK:'L' .BLKW 1
I.PRI:'L' .BLKB 1
I.EFN:'L' .BLKB 1
I.TCB:'L' .BLKW 1
I.LN2:'L' .BLKW 1
I.UCB:'L' .BLKW 1
I.FCN:'L' .BLKW 1
I.IOSB:'L' .BLKW 1
.BLKW 1
.BLKW 1
I.AST:'L' .BLKW 1
I.PRM:'L' .BLKW 1
.BLKW 6
.BLKW 1
I.ATTL='B'.
I.LGTH='B'.
.PSECT
.MACRO PKTDF$ X,Y,Z
.ENDM
.ENDM
;
;
;
.MACRO SCBDF$,L,B,SYSDEF
.ASECT
.=177772
S.RCNT:'L' .BLKB 1
S.ROFF:'L' .BLKB 1
S.BMSV:'L' .BLKW 1
S.BMSK:'L' .BLKW 1
S.LHD:'L' .BLKW 2
S.PRI:'L' .BLKB 1
S.VCT:'L' .BLKB 1
S.CTM:'L' .BLKB 1
S.ITM:'L' .BLKB 1
S.CON:'L' .BLKB 1
S.STS:'L' .BLKB 1
S.CSR:'L' .BLKW 1
S.PKT:'L' .BLKW 1
S.FRK:'L' .BLKW 1
.BLKW 1
.BLKW 1
.BLKW 1
.IF NB,SYSDEF
.IF DF,L$$DRV & M$$MGE
.BLKW 1
.ENDC
S.CCB:'L'
S.MPR:'L' .BLKW 6
.IFF
.PSECT
SP.EIP='B'1
SP.ENB='B'2
SP.LOG='B'4
SPARE=10
.ASECT
.=0
M.LNK:'L' .BLKW 1
M.UMRA:'L' .BLKW 1
M.UMRN:'L' .BLKW 1
M.UMVL:'L' .BLKW 1
M.UMVH:'L' .BLKB 1
M.BFVH:'L' .BLKB 1
M.BFVL:'L' .BLKW 1
M.LGTH='B'.
.ENDC
.MACRO SCBDF$,X,Y,Z
.ENDM
.ENDM
;
;
;
.MACRO TCBDF$,L,B,SYSDEF
.ASECT
.=0
T.LNK:'L' .BLKW 1
T.PRI:'L' .BLKB 1
T.IOC:'L' .BLKB 1
T.CPCB:'L' .BLKW 1
T.NAM:'L' .BLKW 2
T.RCVL:'L' .BLKW 2
T.ASTL:'L' .BLKW 2
T.EFLG:'L' .BLKW 2
T.UCB:'L' .BLKW 1
T.TCBL:'L' .BLKW 1
T.STAT:'L' .BLKW 1
T.ST2:'L' .BLKW 1
T.ST3:'L' .BLKW 1
T.DPRI:'L' .BLKB 1
T.LBN:'L' .BLKB 3
T.LDV:'L' .BLKW 1
T.PCB:'L' .BLKW 1
T.MXSZ:'L' .BLKW 1
T.ACTL:'L' .BLKW 1
T.ATT:'L' .BLKW 2
T.OFF:'L' .BLKW 1
.BLKB 1
T.SRCT:'L' .BLKB 1
T.RRFL:'L' .BLKW 2
.IF NB,SYSDEF
.IF NDF,P$$LAS
T.LGTH='B'T.ATT
.IFF
T.LGTH='B'.
.ENDC
T.EXT='B'0
.IFF
TS.EXE='B'100000
TS.RDN='B'40000
TS.MSG='B'20000
TS.NRP='B'10000
TS.RUN='B'4000
TS.OUT='B'400
TS.CKP='B'200
TS.CKR='B'100
TS.BLK='B'TS.CKP!TS.CKR!TS.EXE!TS.MSG!TS.NRP!TS.OUT!TS.RDN
T2.AST='B'100000
T2.DST='B'40000
T2.CHK='B'20000
T2.CKD='B'10000
T2.BFX='B'4000
T2.FXD='B'2000
T2.TIO='B'1000
T2.CAF='B'400
T2.HLT='B'200
T2.ABO='B'100
T2.STP='B'40
T2.STP='B'20
T2.SPN='B'10
T2.SPN='B'4
T2.WFR='B'2
T2.WFR='B'1
T3.ACP='B'100000
T3.PMD='B'40000
T3.REM='B'20000
T3.PRV='B'10000
T3.MCR='B'4000
T3.SLV='B'2000
T3.CLI='B'1000
T3.RST='B'400
T3.NSD='B'200
T3.CAL='B'100
T3.ROV='B'40
T3.NET='B'20
.ENDC
.PSECT
.MACRO TCBDF$ X,Y,Z
.ENDM
.ENDM
;
;
;
.MACRO UCBDF$,L,B
.ASECT
.=177772
U.CLI:'L' .BLKW 1
U.LUIC:'L' .BLKW 1
U.OWN:'L' .BLKW 1
U.DCB:'L' .BLKW 1
U.RED:'L' .BLKW 1
U.CTL:'L' .BLKB 1
U.STS:'L' .BLKB 1
U.UNIT:'L' .BLKB 1
U.ST2:'L' .BLKB 1
U.CW1:'L' .BLKW 1
U.CW2:'L' .BLKW 1
U.CW3:'L' .BLKW 1
U.CW4:'L' .BLKW 1
U.SCB:'L' .BLKW 1
U.ATT:'L' .BLKW 1
U.BUF:'L' .BLKW 1
.BLKW 1
U.CNT:'L' .BLKW 1
U.ACP='B'U.CNT+2
U.VCB='B'U.CNT+4
U.CBF='B'U.CNT+2
U.UIC='B'U.CNT+<9.*2>
.PSECT
DV.REC='B'1
DV.CCL='B'2
DV.TTY='B'4
DV.DIR='B'10
DV.SDI='B'20
DV.SQD='B'40
DV.MXD='B'100
DV.UMD='B'200
DV.SWL='B'1000
DV.ISP='B'2000
DV.OSP='B'4000
DV.PSE='B'10000
DV.COM='B'20000
DV.F11='B'40000
DV.MNT='B'100000
U2.DH1='B'100000
U2.DJ1='B'40000
U2.RMT='B'20000
U2.L8S='B'10000
U2.NEC='B'4000
U2.CRT='B'2000
U2.ESC='B'1000
U2.LOG='B'400
U2.SLV='B'200
U2.DZ1='B'100
U2.HLD='B'40
U2.AT.='B'20
U2.PRV='B'10
U2.L3S='B'4
U2.VT5='B'2
U2.LWC='B'1
U2.R04='B'100000
U2.7CH='B'10000
UC.ALG='B'200
UC.NPR='B'100
UC.QUE='B'40
UC.PWF='B'20
UC.ATT='B'10
UC.KIL='B'4
UC.LGH='B'3
US.BSY='B'200
US.MNT='B'100
US.FOR='B'40
US.MDM='B'20
US.ABO='B'1
US.MDE='B'2
US.WCK='B'10
US.DSB='B'10
US.CRW='B'4
US.ECH='B'2
US.OUT='B'1
US.FRK='B'2
US.SHR='B'1
US.LAB='B'4
US.OFL='B'1
US.RED='B'2
US.PUB='B'4
US.UMD='B'10
.MACRO UCBDF$,X,Y
.ENDM
.ENDM
;
; [End of RSXLIB]