Google
 

Trailing-Edge - PDP-10 Archives - BB-X116D-BB_1989 - 10,7/mcb/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, 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 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]