.TITLE EDTAB .IDENT /V03/ ; ;**************************************************************** ; ; [06-MAR-78] D.DANIELS [V3.1] ; [09-NOV-78] J.DOWNWARD - REMOVE UNNEEDED INTERRUPT VECTOR ; ; EXECUTIVE DRIVER ; ; **LOADABLE DRIVER SUPPORT AND MULTIUSER PROTECTION** ; ; ;**************************************************************** ; MACRO LIBRARY CALLS ;**************************************************************** ; .MCALL DEVDF$,HWDDF$ ; DEVDF$ ; DEVICE OFFSETS HWDDF$ ; HARDWARE REGISTERS ; ;**************************************************************** ; HARDWARE DEFINITIONS ;**************************************************************** ; ; ; LOADABLE DRIVER SUPPORT ; LD$ED= 0 ; LD$'DEV' FOR ACCESS TO INTSV$ ; ;**************************************************************** ; DEVICE CONTROL BLOCK ;**************************************************************** ; $EDDAT:: ; START OF DRIVER TABLES EDDCB: .WORD 0 ; POINTER TO NEXT DCB ; D.LNK .WORD .ED0 ; POINTER TO FIRST UCB ; D.UCB .ASCII /ED/ ; GENERIC DEVICE NAME ; D.NAM .BYTE 0 ; LOW UNIT # FOR DCB ; D.UNIT .BYTE 0 ; HIGH UNIT # .WORD EDND-EDST ; LENGTH OF UCB IN BYTES ; D.UCBL .WORD 0 ; ADDRESS DRIVER DISPATCH TABLE ; D.DSP ; 0 FOR LOADABLE DRIVER ; $EDTBL NON-LOADABLE .WORD 37 ; LEGAL FUNCTION MASKS 0-15 ; D.MSK .WORD 30 ; CONTROL FUNCTION MASKS 0-15 .WORD 0 ; NO-OP'ED FUNCTION MASKS 0-15 .WORD 0 ; ACP FUNCTIONS MASKS 0-15 .WORD 0 ; LEGAL FUNCTION MASKS 16-31 .WORD 0 ; CONTROL FUNCTIONS MASKS 16-31 .WORD 0 ; NO-OP'ED 16-31 .WORD 0 ; ACP FUNC'S 16-31 .WORD 0 ; ADDR. PARTITION CONTROL BLOCK ; D.PCB ; ;**************************************************************** ; UNIT CONTROL BLOCK ;**************************************************************** ; EDST=. .WORD 0 ; OWNING TERMINAL UCB ADDR. ; U.OWN .ED0:: .WORD EDDCB ; BACK POINTER TO DCB ; U.DCB .WORD .-2 ; REDIRECT UCB POINTER ; U.RED .BYTE 0 ; CONTROL FLAGS ; U.CTL .BYTE 0 ; UNIT STATUS ; U.STS .BYTE 0 ; PHYSICAL UNIT # ; U.UNIT .BYTE US.RED!US.PUB ; STATUS EXTENTION ; U.ST2 ; NOT REDIRECTABLE ; PUBLIC .WORD 0 ; CHARACTERISTICS WORD #1 ; U.CW1 .WORD 0 ; CHARACTERISTICS WORD #2 ; U.CW2 .WORD 0 ; CHARACTERISTICS WORD #3 ; U.CW3 .WORD 0 ; CAHRACTERISTICS WORD #4 ; U.CW4 .WORD EDSCB ; POINTER TO SCB ; U.SCB .WORD 0 ; TCB ADDRESS OF ATTACHED TASK ; U.ATT .BLKW 1 ; BUFFER RELOCATIO BIAS ; U.BUF .BLKW 1 ; BUFFER ADDRESS .BLKW 1 ; BUFFER BYTE COUNT ; U.CNT EDND=. ; END OF UCB ; ;**************************************************************** ; STATUS CONTROL BLOCK ;**************************************************************** ; $ED0:: EDSCB: .WORD 0 ; LISTHEAD, 1ST I/O PACKET ; S.LHD .WORD .-2 ; LAST I/O PACKET .BYTE 0 ; PRIORITY NOT NEEDED ; S.PRI .BYTE 0 ; NO VECTOR NEEDED ; S.VCT .BYTE 0 ; CURRENT TIMEOUT COUNT ; S.CTM .BYTE 0 ; INITIAL TIMEOUT COUNT ; S.ITM .BYTE 0 ; CONTROLLER INDEX (#*2) ; S.CON .BYTE 0 ; CONTROLLER STATUS ; S.STS .WORD 0 ; ADDRESS OF STATUS REGISTER ; S.CSR .BLKW 1 ; ADDRESS OF CURRENT I/O PACK ; S.PKT .BLKW 5 ; FORK BLOCK ; S.FRK $EDEND:: ; END OF DATA STRUCTURE .END