.Title VFTAB - VF: Driver Database .Ident /V03.00/ .Enabl Lc ; ; VF: (Virtual Disk) device database. ; ; Version: V03.00 ; Operating Systems: RSX-11M-PLUS V3.0 ; MICRO/RSX V3.0 ; (and who knows, maybe P/OS, but it hasn't been tested) ; ; Originally written by Ralph Stamerjohn ; ; Previously modified by: ; ; R.S. Mearns ; G. Everhart ; ; Updated by: G. L. Maxwell ; U.S. Geological Survey ; 27-AUG-86 ; ; ************************************************************************ ; * ; Although this program has been tested by the Geological Survey, * ; United States Department of the Interior, no warranty, expressed or * ; implied, is made by the Geological Survey as to the accuracy and * ; functioning of the program and related program material nor shall * ; the fact of distribution constitute any such warranty, and no respon- * ; sibility is assumed by the Geological Survey in connection therewith. * ; * ; Full permission and consent is hereby given to DECUS and to the DECUS * ; Special Interest Groups to reproduce, distribute, and publish and * ; permit others to reproduce in whole or in part, in any form and * ; without restriction, this program and any information relating thereto * ; * ; ************************************************************************ ; ; Macro library calls: ; .MCALL UCBDF$,SCBDF$ UCBDF$ ; Define UCB offsets SCBDF$ ,,SYSDEF ; Define SCB offsets ; ; No CTB or KRB entry is required since this is an internal device ; .IIF DF LD$VF $VFTAB=0 ; ; DCB Data structure. ; $VFDAT:: ; Define start of database .VFDCB:: .WORD 0 ; (D.LNK ) Link to next DCB .WORD .VF0 ; (D.UCB ) Link to first UCB .ASCII /VF/ ; (D.NAM ) Device name .BYTE 0,0 ; (D.UNIT) Lowest, highest unit number .WORD VFND-VFST ; (D.UCBL) Length of UCB .WORD $VFTAB ; (D.DSP ) Address of Driver Dispatch Table .WORD 177077 ; (D.MSK ) Legal function mask 0-15 .WORD 000030 ; Cntrl function mask 0-15 .WORD 000040 ; No-op function mask 0-15 .WORD 177000 ; ACP function mask 0-15 .WORD 000377 ; Legal function mask 16-31 .WORD 000000 ; Cntrl function mask 16-31 .WORD 000000 ; No-op function mask 16-31 .WORD 000377 ; ACP function mask 16-31 .IF DF L$$DRV .WORD 0 ; (D.PCB) PCB address .ENDC ; ; UCB Data Structure ; VFST = . .IF DF M$$MUP .WORD 0 ; U.OWN .ENDC .VF0:: .WORD .VFDCB ; U.DCB .WORD .-2 ; U.RED .BYTE UC.ALG!UC.QUE!UC.NPR!1 ; U.CTL .BYTE US.MNT!US.VV ; U.STS .BYTE 0,US.OFL ; U.UNIT, U.ST2 .WORD DV.DIR!DV.MSD!DV.F11!DV.MNT ; U.CW1 .WORD 0 ; U.CW2 .WORD 0 ; U.CW3 .WORD 512. ; U.CW4 .WORD $VF0 ; U.SCB .WORD 0 ; U.ATT .WORD 0,0 ; U.BUF .WORD 0 ; U.CNT .WORD 0 ; U.UCBX .WORD 0 ; U.ACP .WORD 0 ; U.VCB .WORD 0 ; U.UMB .BYTE 0,0 ; U.PRM .WORD 0 .BYTE 0 ; U.XFLG .BYTE 0 ; U.XFIL .BYTE 0 ; U.XGRP .BYTE 0 ; Reserved .WORD 0,0 ; U.CTLP .WORD 0,0,0 ; U.IOSB .WORD 0,0 ; U.XLBN .WORD 0 ; U.ISB2 .WORD 0 ; U.VLNK .IF DF P$$LOG .WORD 0 ; Link word .WORD 4+I.LGTH+ ; Length word .RAD50 /VFDRV / ; Sender task name .BLKW 2 ; Saved I/O status .BLKB I.LGTH ; Save area for I/O packet .BLKB I.LGTH ; Save area for target I/O packet .BLKB ML.LGH ; Save area for ML node .WORD 0 ; TI: UCB address .BYTE 1,1 ; Current UIC .WORD 0,0 ; Target MU task name .ENDC ; DF D$$BUG VFND = . ; ; SCB DATA STRUCTURE. ; $VF0:: .WORD 0, .-2 ; (S.LHD ) I/O queue listhead .WORD 0,0,0,0 ; (S.FRK ) Fork cell .IF DF,L$$DRV .WORD 0 ; (S.KS5 ) Additional fork cell word .ENDC .WORD 0 ; (S.PKT ) Current packet address .BYTE 0 ; (S.CTM ) Current time out count .BYTE 0 ; (S.ITM ) Initial time out count .BYTE 0 ; (S.STS ) Controller status .BYTE 0 ; (S.ST3 ) Status extension .WORD 0 ; (S.ST2 ) Status extension .WORD 0 ; (S.KRB ) Controller Request Block (none) $VFEND:: ; End of data base $VFSIZ == $VFEND - $VFDAT $VFUOF == .VF0 - .VFDCB ; Offset from DCB to UCB $VFSOF == $VF0 - .VF0 ; Offset from UCB to SCB .END