.ENABL LC .NLIST SYM .TITLE QCTAB - QC: Driver Database .IDENT /V03.01/ ; ; Define the RSX-11M/M-Plus QC: driver database. This driver creates a ; software Ethernet cable. Individual logical units form the equivalent ; of DEQNA/DEUNA controllers. ; ; Author: R.W. Stamerjohn Meridian Technology Corporation ; ; Modification History: ; ; V03.01 RWS 20-Jun-1986 Initial version ; .IIF NDF L$$DRV .ERROR ;QC: must be loadable driver; ;+ ; Define QC: device data base. ;- .MCALL UCBDF$ ;Define UCB symbols UCBDF$ .PSECT QCTAB,RO,I,LCL,REL,CON $QCDAT:: ;Ref. label ; ; Define the DCB. ; $QCDCB:: ;Ref. label .WORD 0 ;(D.LNK ) Link to next DCB .WORD .QC0 ;(D.UCB ) Link to first UCB .ASCII /QC/ ;(D.NAM ) Device name .BYTE 0,0 ;(D.UNIT) Low,high unit number .WORD QCND-QCST ;(D.UCBL) Length of UCB .WORD 0 ;(D.DSP ) Driver dispatch table .WORD 000406 ;(D.MSK ) Legal functions (0-15) .WORD 000400 ; Cntrl functions (0-15) .WORD 000000 ; No-op functions (0-15) .WORD 000000 ; ACP functions (0-15) .WORD 000000 ; Legal functions (16-31) .WORD 000000 ; Cntrl functions (16-31) .WORD 000000 ; No-op functions (16-31) .WORD 000000 ; ACP functions (16-31) .WORD 0 ;(D.PCB) Driver PCB address ; ; Define QC0: UCB. ; QC$CW1 = DV.REC!DV.COM ;Define as communication record device QCST = . .IF DF M$$MUP .WORD 0 ;(U.OWN ) Owning terminal UCB .ENDC .QC0: ;Ref. label .WORD $QCDCB ;(U.DCB ) Back pointer to DCB .WORD .-2 ;(U.RED ) Redirect pointer .BYTE UC.KIL!UC.QUE!UC.PWF ;(U.CTL ) Control flags .BYTE US.MNT ;(U.STS ) Status flags .BYTE 0 ;(U.UNIT) Unit number .BYTE US.RED ;(U.ST2 ) Status flags .WORD QC$CW1 ;(U.CW1 ) Device characteristics .WORD 0 ;(U.CW2 ) Device size (high) .WORD 0 ;(U.CW3 ) Device size (low) .WORD 4096. ;(U.CW4 ) Block size .WORD $QC0 ;(U.SCB ) Pointer to SCB .WORD 0 ;(U.ATT ) Attach word .WORD 0 ;(U.BUF ) Buffer relocation bias .WORD 0 ; ...address .WORD 0 ;(U.CNT ) Current I/O count .IF DF R$$MPL .WORD 0 ;(U.UCBX) Pointer to UCB extension .ENDC ;R$$MPL .WORD 0 ;(U.ACP ) ACP TCB address .WORD 0 ;(U.VCB ) ACP VCB address .WORD 0 ; Dummy VCB QCND = . ; ; Define QC0: SCB. ; $QC0:: ;Ref. label .IF DF R$$MPL .WORD 0,.-2 ;(S.LHD ) Control I/O listhead .IF DF M$$PRO .WORD 0 ;(S.URM ) Unibus run mask .ENDC .WORD 0 ;(S.FORK) Fork link word .WORD 0 ; ...Fork-PC .WORD 0 ; ...Fork-R5 .WORD 0 ; ...Fork-R4 .WORD 0 ;(S.KS5 ) ...Fork-APR5 .WORD 0 ;(S.PKT ) Address of current packet .BYTE 0 ;(S.CTM ) Current timeout .BYTE 0 ;(S.ITM ) Initial timeout .BYTE 0 ;(S.STS ) Controller busy status .BYTE 0 ;(S.ST3 ) Status extension .WORD 0 ;(S.ST2 ) Status flags .WORD 0 ;(S.KRB ) Address of KRB block .IFF ;R$$MPL .WORD 0,.-2 ;(S.LHD ) Control I/O listhead .BYTE 0 ;(S.PRI ) Device priority .BYTE 0/4 ;(S.VCT ) Device vector .BYTE 0 ;(S.CTM ) Current timeout .BYTE 0 ;(S.ITM ) Initial timeout .BYTE 0 ;(S.CON ) Controller index .BYTE 0 ;(S.STS ) Controller busy status .WORD 0 ;(S.CSR ) Controller CSR .WORD 0 ;(S.PKT ) Address of current packet .WORD 0 ;(S.FRK ) Fork link word .WORD 0 ; ...Fork-PC .WORD 0 ; ...Fork-R5 .WORD 0 ; ...Fork-R4 .WORD 0 ;(S.KS5 ) ...Fork-APR5 .ENDC ;R$$MPL $QCEND:: ;Ref. label .END