.TITLE VPTAB - DATA STRUCTURES FOR VP: .IDENT /V01.02/ ; ; COPYRIGHT (C) 1979,1980 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY 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 EXCEPT FOR USE ON SUCH ; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE ; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN ; IN DEC. ; ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL ; EQUIPMENT CORPORATION. ; ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. ; ; ; MODULE DESCRIPTION ; ; VPDRV - VIRTUAL LINE PRINTER DRIVER ; ; ; ; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING ; ; IDENT HISTORY: ; ; 1.00 31-JAN-80 ; L. AUGUSTUS ; J. A. SCHRIESHEIM ; ; 1.01 28-APR-81 ; ADDED UNIBUS RUN MASK FOR MULTI-PROCESSORS ; ; 1.02 23-SEP-82 ; REMOVE M$$MUP CONDITIONALS ; .SBTTL SYSTEM DEFINITIONS ;+ ; ; UCB BIT DEFINITIONS ; ;- .MCALL UCBDF$ UCBDF$ ; DEFINE UCB OFFSETS AND FLAGS ; ; THIS CONSTANT IS USED TO DETERMINE WHETHER TO EXPAND THE UCB ; TABLE OR NOT. ( 0 = NO EXPANSION, OTHERWISE EXPAND IT) ; .IIF NDF, TB.EXP, TB.EXP=1 ; EXPANSION ; ; THIS CONSTANT DEFINES THE HIGHEST UNIT NUMBER HANDLED BY ; THE VP: DEVICE. IT IS USED TO GENERATE THE PROPER NUMBER ; OF UCB'S. IT MAY BE CHANGED BY EITHER EDITING THE SOURCE COPY ; OR BY DEFINING IT IN A PREFIX FILE. .IIF NDF, VP.UNT, VP.UNT=1 ; DEFAULT UNITS = 0-1 ; ; THE VP: DEVICE IS A LOADABLE DRIVER ; VP$OV = 0 ; LOADABLE DRIVER SYMBOL ; ; DEFINE START OF LOADABLE DRIVER DATA BASE ; $VPDAT:: ; ADDRESS OF START OF TABLES .SBTTL DCB DEFINITION ;+ ; ; VP: DEVICE CONTROL BLOCK ; ;- VPDCB: .WORD 0 ; D.LNK - LINK TO NEXT DCB .WORD VPUCB ; D.UCB - LINK TO FIRST UCB .ASCII /VP/ ; D.NAM - DEVICE NAME .BYTE 0 ; D.UNT - LOW UNIT NUMBER .BYTE VP.UNT ; - HIGH UNIT NUMBER .WORD VPND-VPST ; D.UCBL - LENGTH OF UCB .WORD 0 ; D.DSP - DRIVER DISPATCH TABLE .WORD 160033 ; D.MSK - LEGAL FCTS (0-15.) .WORD 30 ; - CONTROL FUNCTIONS .WORD 160000 ; - NO-OP'ED FUNCTIONS .WORD 0 ; - ACP FUNCTIONS .WORD 5 ; - LEGAL FCTS (16.-31.) .WORD 0 ; - CONTROL FUNCTIONS .WORD 1 ; - NO-OP'ED FUNCTIONS .WORD 4 ; - ACP FUNCTIONS .WORD 0 ; D.PCB - PCB ADDRESS .SBTTL UCB DEFINITION ;+ ; ; VP: UNIT CONTROL BLOCKS ; ;- .IIF NE,TB.EXP, .LIST MEB NM.UNT = -1 .REPT VP.UNT+1 ; GENERATE MULTIPLE UCB'S .PAGE NM.UNT = NM.UNT+1 .IIF EQ,NM.UNT, VPST = . .WORD 0 ; U.AST - I/O KILL AST ADDRESS .WORD 0 ; U.USR - UCB ADDRESS OF REQUESTOR .WORD 0 ; U.VDV - TCB ADDRESS OF FRONT END .WORD 0 ; - MULTI-USER PROTECTION WORD .IF EQ,NM.UNT VPUCB: .WORD VPDCB ; U.DCB - BACK POINTER TO DCB .IFF .WORD VPDCB ; U.DCB - BACK POINTER TO DCB .ENDC .WORD .-2 ; U.RED - REDIRECT POINTER .BYTE UC.KIL!UC.ATT ; U.CTL - CONTROL FLAGS .BYTE 0 ; U.STS - DEVICE STATUS .BYTE NM.UNT ; U.UNIT - PHYSICAL UNIT NUMBER .BYTE US.OFL ; U.ST2 - DEVICE STATUS .WORD DV.REC!DV.CCL ; U.CW1 - CHARACTERISTIC WORD 1 .WORD 100 ; U.CW2 - CHARACTERISTIC WORD 2 .WORD 0 ; U.CW3 - CHARACTERISTIC WORD 3 .WORD 132. ; U.CW4 - CHARACTERISTIC WORD 4 .WORD VPSCB ; U.SCB - POINTER TO SCB .WORD 0 ; U.ATT - TCB OF ATTACHED TASK .WORD 0,0 ; U.BUF - BUFFER ADDRESS .WORD 0 ; U.CNT - BYTE COUNT .IIF EQ,NM.UNT, VPND=. .ENDR .IIF NE,TB.EXP, .NLIST MEB .SBTTL SCB DEFINITION ;+ ; ; VP: STATUS CONTROL BLOCK ; ;- VPSCB: .WORD 0,.-2 ; S.LHD - I/O QUEUE LISTHEAD .IF DF M$$PRO .WORD 0 ; S.URM - UNIBUS RUN MASK .ENDC .BYTE 0 ; S.PRI - NO INTERRUPT PRIORITY .BYTE 0 ; S.VCT - NO INTERRUPT VECTOR .BYTE 0 ; S.CTM - NO CURRENT TIMEOUT .BYTE 0 ; S.ITM - NO TIMEOUTS USED .BYTE 0 ; S.CON - CONTROLLER ZERO .BYTE 0 ; S.STS - CONTROLLER STATUS .WORD 0 ; S.CSR - NO DEVICE CSR .WORD 0 ; S.PKT - ADDRESS OF CURRENT I/O PACKET .IF DF,L$$DRV&M$$MGE .WORD 0,0,0,0,0 ; S.FRK - LARGE FORK BLOCK .IFF .WORD 0,0,0,0 .ENDC .SBTTL END LABEL $VPEND:: ; END OF VP: LOADABLE DRIVER DATA BASE .END