.TITLE QTTAB .IDENT "V1.0" ; ; Author: D. Mischler 30-AUG-88 ; ; This module contains the loadable data base for the ; QT: (streaming tape caching) device driver. ; .PAGE ; ; Macro to generate a UCB. ; .MACRO UCB UNIT $$$ = . .IF DF M$$MUP .WORD 0 ; U.OWN Owning terminal UCB address. .ENDC .QT'UNIT: .WORD $QTDCB ; U.DCB DCB address. .WORD .-2 ; U.RED Redirection address. .BYTE UC.ALG!1 ; U.CTL Control flags. .BYTE US.MNT ; U.STS Status flags. .BYTE UNIT ; U.UNIT Unit number. .BYTE US.RED!US.OFL ; U.ST2 More status flags. .WORD DV.F11!DV.MNT!DV.MSD!DV.REC!DV.SQD ; U.CW1 Device type flags. .WORD 0 ; U.CW2 Tape density info (none). .WORD 0 ; U.CW3 Driver flag bits. .WORD 512. ; U.CW4 Default block size. .WORD $QT'UNIT ; U.SCB SCB address. .WORD 0 ; U.ATT Attached task TCB address. .WORD 0,0 ; U.BUF User buffer doubleword. .WORD 0 ; U.CNT Number of bytes to transfer. .WORD 0 ; U.UCBX UCB extension in secondary pool. .WORD 0 ; U.ACP Mounted ACP TCB address. .WORD 0 ; U.VCB Volume control block address. .BLKB UCBEND-<.-.QT'UNIT> ; QT: driver specific data. UCBLEN = .-$$$ .SAVE .PSECT SCBS $QT'UNIT: .WORD 0,.-2 ; S.LHD I/O queue list head. .WORD 0,0,0,0 ; S.FRK Fork block link word, PC, R5, R4. .WORD 0 ; S.KS5 Driver/fork KISAR5. .WORD 0 ; S.PKT I/O packet address. .BYTE 0 ; S.CTM Current timeout count. .BYTE 0 ; S.ITM Initial timeout count. .BYTE 0 ; S.STS Status (0 = free, NE 0 = busy). .BYTE 0 ; S.ST3 Status extension byte. .WORD 0 ; S.ST2 Status extension. .WORD 0 ; S.KRB Address of KRB. .RESTORE .ENDM UCB .PAGE .PSECT DATA $QTDAT:: ; ; QT: DCB definition (looks like a tape drive to me). ; $QTDCB:: .WORD 0 ; D.LNK Link to next DCB. .WORD .QT0 ; D.UCB Address of first UCB. .ASCII "QT" ; D.NAM Generic device mnemonic. .BYTE 0,UNITS-1 ; D.UNIT Lowest, highest unit. .WORD UCBLEN ; D.UCBL UCB length. .WORD 0 ; D.DSP Driver dispatch table address. .WORD 171177 ; D.MSK Legal function mask 0 - 15. .WORD 000170 ; Cntrl function mask 0 - 15. .WORD 010000 ; NO-OP function mask 0 - 15. .WORD 161000 ; ACP function mask 0 - 15. .WORD 000537 ; Legal function mask 16 - 31. .WORD 000000 ; Cntrl function mask 16 - 31. .WORD 000000 ; NO-OP function mask 16 - 31. .WORD 000537 ; ACP function mask 16 - 31. .WORD 0 ; D.PCB Driver PCB address. ; ; QT: UCB and SCB definitions. ; UCBNUM = 0 .REPT UNITS UCB \UCBNUM UCBNUM = UCBNUM+1 .ENDR .PSECT SCBS $QTEND:: .END