.TITLE VSTAB -- DATA BASE FOR VARIABLE SEND-DATA DRIVER .IDENT /103081/ ; ; VSDRV VERSION 2 ; ; VS: DATA BASE VERSION 2.01 ; ; YES, THIS IS PART OF THE ONE AND ONLY VS: DRIVER, VERSION 2 ; (ACCEPT NO SUBSTITUTES!) ; ; VERSION 2 WRITTEN BY JOHN OSUDAR 31-JUL-81 ; ; MODIFICATION HISTORY FOR VERSION 2: ; 2.01 30-OCT-81 CHANGES TO ADD FUNCTIONS IO.EXM AND IO.DLM ; $VSDAT:: ; ; DEVICE CONTROL BLOCK ; .WORD 0 ;LINK TO NEXT DCB .WORD .VS0 ;LINK TO FIRST UCB .ASCII /VS/ ;GENERIC DEVICE NAME .BYTE 0,0 ;LOWEST AND HIGHEST UNITS .WORD VSUEND-.VS0 ;UCB LENGTH IN BYTES .WORD 0 ;ADDRESS OF DISPATCH TABLE ; ; I/O FUNCTION CODES RECOGNIZED: ; ; BIT MASK RELATED FUNCTION I/O ; # VALUE SYMBOLIC CODE FUNCTION ; --- ----- -------- -------- -------- ; 0 1 IO.KIL 0 CANCEL I/O ; 1 2 IO.WLB 400 WRITE LOGICAL BLOCK ; 2 4 IO.RLB 1000 READ LOGICAL BLOCK ; 3 10 IO.ATT 1400 ATTACH DEVICE (NO-OP) ; 4 20 IO.DET 2000 DETACH DEVICE (NO-OP) ; 5 40 IO.CRQ 2400 CREATE QUEUE ; 6 100 IO.DLQ 3000 DELETE QUEUE ; 7 200 IO.CLN 3400 CLOSE LUN (CLEAN-UP AST'S) ; 8 400 IO.DMP 4000 DUMP DRIVER POOL SNAPSHOT ; 9 1000 IO.AST 4400 SET/CLEAR AST ; 10 2000 IO.EXM 5000 EXAMINE SELECTED MESSAGE ;V2.01 ; 11 4000 IO.DLM 5400 DELETE SELECTED MESSAGE ;V2.01 ; ; SUBFUNCTIONS RECOGNIZED ; ; OCTAL CODE SYMBOLIC FUNCTION ; ---------- -------- -------- ; 200 SF.WAI WITH IO.RLB: WAIT UNTIL MESSAGE IS RECEIVED ; 100 SF.FLU WITH IO.CRQ: IF QUEUE ALREADY EXISTS, FLUSH IT ; .WORD 007777 ;LEGAL FUNCTION MASK BITS 0-15 ;V2.01 .WORD 5340 ;CONTROL FUNCTION MASK BITS 0-15 ;V2.01 .WORD 30 ;NO-OP'ED FUNCTION MASK BITS 0-15 .WORD 0 ;ACP FUNCTION MASK BITS 0-15 .WORD 0 ;LEGAL FUNCTION MASK BITS 16-31 .WORD 0 ;CONTROL FUNCTION MASK BITS 16-31 .WORD 0 ;NO-OP'ED FUNCTION MASK BITS 16-31 .WORD 0 ;ACP FUNCTION MASK BITS 16-31 .WORD 0 ;ADDRESS OF PCB ; ; UNIT CONTROL BLOCK ; .WORD 0 ;OWNING TERMINAL UCB ADDRESS .VS0: .WORD $VSDAT ;BACK POINTER TO DCB .WORD .-2 ;REDIRECT POINTER UC.ALG = 200 ;REQUIRE BUFFERS TO BE WORD ALIGNED UC.PWF = 20 UC.KIL = 4 ;ALWAYS CALL DRIVER ON I/O CANCEL .BYTE UC.ALG!UC.PWF!UC.KIL ;CONTROL FLAGS .BYTE 0 ;UNIT STATUS .BYTE 0 ;PHYSICAL UNIT NUMBER .BYTE 0 ;STATUS EXTENSION .WORD 0 ;CHARACTERISTICS WORD 1 .WORD 0 ;CHARACTERISTICS WORD 2 .WORD 0 ;CHARACTERISTICS WORD 3 .WORD 0 ;CHARACTERISTICS WORD 4 .WORD $VS0 ;POINTER TO SCB .WORD 0 ;TCB ADDRESS OF ATTACHED TASK .WORD 0 ;BUFFER RELOCATION BIAS .WORD 0 ; .WORD 0 ;BYTE COUNT .WORD 0 ;ACP'S TCB ADDRESS (UNUSED) .WORD .+2 ;POINTER TO VCB (COMPLETELY BOGUS, OF COURSE!) .WORD 0 ;EXTRA WORD USED AS BOGUS VCB/TRANSACTION COUNT VSUEND: ; ; STATUS CONTROL BLOCK ; $VS0: .WORD 0 ;SCB QUEUE IS EMPTY .WORD .-2 ; .BYTE 0 ;INTERRUPT PRIORITY (NO INTERRUPTS!) .BYTE 0 ;VECTOR/4 (NO VECTOR!) .BYTE 0,0 ;CURRENT AND INITIAL TIMEOUT COUNTS .BYTE 0 ;CONTROLLER NUMBER TIMES TWO .BYTE 0 ;CONTROLLER STATUS .WORD 0 ;CSR (NONE--THIS DEVICE AIN'T GOT NOTHIN'!!!) .WORD 0 ;ADDRESS OF CURRENT I/O PACKET .WORD 0,0,0,0 ;FORK PACKET .WORD 0 ;RELOCATION BASE OF DRIVER'S PARTITION .WORD 0,0,0,0,0,0 ;UNIBUS 22-BIT ADDRESSING WORDS ; $VSEND:: .END