	.TITLE	ZQTAB  ZQ DRIVER DEVICE TABLES
	.IDENT	/2.0/
;
; DATE OF LAST UPDATE:  11/04/87
;
; These are the device driver tables for the basiclly do
; nothing driver "ZQ" which provides an interface to
; the QUEACP.
;
	.MCALL	UCBDF$	; UCB DEFINITIONS
	.MCALL	DCBDF$	; DCB DEFINITIONS
	.MCALL	SCBDF$	; SCB DEFINITIONS
	.MCALL	HWDDF$	; HARDWARE DEFINITIONS
	.MCALL	CTBDF$	; CONTROLLER TABLE DEFINITIONS
	.MCALL	KRBDF$	; CONTROLLER REQUEST BLOCK
	UCBDF$
	DCBDF$
	SCBDF$
	HWDDF$
	CTBDF$
	KRBDF$
;
; MACRO FOR GENERATING A LINK TO THE KRB FROM THE CTB
;
	.MACRO 	KRBLNK,IKRB
	.WORD	DVKRB'IKRB
	.ENDM
	.PAGE
	.LIST	ME
$ZQDAT::		; GLOBAL FOR THE MCR "LOA" COMMAND
;
;  ZQ DRIVER DEVICE CONTROL BLOCK - DCB
;
$ZQDCB::
	.WORD	0		; LINK TO NEXT USER WRITTEN DRIVER DCB
	.WORD	.ZQ0		; D.UCB  LINK TO UCB
	.ASCII	/ZQ/		; D.NAM  DEVICE MNEMONIC
	.BYTE	0,0		; D.UNIT LOWEST AND HIGHEST UNIT NUMBER
	.WORD	ZQUCBL		; D.UCBL LENGTH OF EACH UCB
	.WORD	0		; D.DSP  DRIVER DISPATCH TABLE
; 
; SYMBOLIC  FUNCTION    DESCRIPTION
; FUNCTION    VALUE
; IO.KIL	0	CANCEL I/O
; IO.ATT	3	ATTACH DEVICE
; IO.DET	4	DETACH DEVICE
; IO.RNA       11	BACKUP RNA POINTER
; IO.ACR       13	CONNECT FOR READ FOR A MESSAGE ID
; IO.ACW       14 	ACKNOWLEGE LAST READ MESSAGE
; IO.ACE       15       READ THE QUEUE HEADER INFORMATION (SEE QUEDEF)
;            164031= VALID FUNCTION BIT MASK
;
; IO.DAC       16	DISCONNECT (ONLY I/O PACKET THAT IS QUEUED)
; IO.RVB       17       READ MESSAGE ID  FROM QUEUE
; IO.WVB       18       WRITE MESSAGE ID TO QUEUE
; IO.DEL       21	DELETE MESSAGES FROM QUEUE WITHOUT ACKNOWLEDGE
; IO.RAT       22       STATUS MESSAGE ID LISTHEAD (SEE MIDDEF)
; IO.APC       24	REQUEST DISMOUNT/MOUNT
;	     000547= VALID FUNCTION BIT MASK
;
	.WORD	164031		; LEGAL FUNCTION CODE		 0-15
	.WORD	1		; CONTROL FUNCTION CODE		 0-15
	.WORD	30		; NOOP FUNCTION CODE		 0-15
	.WORD	0		; ACP FUNCTION CODE		 0-15
	.WORD	547;6		; LEGAL FUNCTION CODE		16-31
	.WORD	401;0		; CONTROL FUNCTION CODE		16-31
	.WORD	0		; NOOP FUNCTION CODE		16-31
	.WORD	0		; ACP FUNCTION CODE		16-31
	.WORD	0		; DRIVER PARTITION CONTROL BLOCK
;
;  ZQ DRIVER UNIT CONTROL BLOCK - UCB
;
XSIZ:
	.BLKW 	6
.ZQ0::
	.WORD	$ZQDCB		; U.DCB  BACK LINK TO DCB
	.WORD	.-2		; U.RED  REDIRECT POINTER
	.BYTE	<UC.KIL!UC.QUE!UC.PWF> ; U.CTL CONTROL FLAGS
	.BYTE	US.MNT!US.FOR	; U.STS NOT MOUNTED, FOREIGN
	.BYTE	0		; U.UNIT
	.BYTE	US.RED!US.OFL!US.PUB	; U.ST2  UNIT NUMBER, STATUS
	.WORD	DV.MNT!DV.REC	; U.CW1  MOUNTABLE, RECORD ORIENTED
	.WORD	0		; U.CW2
	.WORD	0		; U.CW3
	.WORD	12.		; U.CW4
	.WORD	ZQSCB		; U.SCB  LINK TO SCB
	.WORD	0		; U.ATT
	.WORD	0		; U.BUF
	.WORD	0		; U.BUF+2
	.WORD	0		; U.CNT
	.WORD	0
	.WORD	0
	.WORD	0		; U.ACP	TCB ADDRESS OF ACP
;
ZQUCBL=.-XSIZ	; SIZE OF A UCB
;
;  ZQ DRIVER STATUS CONTROL BLOCK - SCB
;
ZQSCB::
	.WORD	0		; S.LHD  I/O PACKET LISTHEAD
	.WORD	.-2		;
	.WORD	0,0,0,0		; S.FRK  FORK BLOCK
	.WORD	0		; EXTRA WORD FOR LOADABLE DRIVER
	.WORD	0		; S.PKT
	.BYTE	0,0		; S.CTM, S.ITM
	.BYTE	0,0		; S.STS, S.ST3
	.WORD	0		; S.ST2
	.WORD	0		; S.KRB (NO CONTROLLER)
$ZQEND::
	.END
