1945567acSfujita /* 2*b4c7f1a3Sbostic * Copyright (c) 1990, 1992, 1993 3*b4c7f1a3Sbostic * The Regents of the University of California. All rights reserved. 4945567acSfujita * 5945567acSfujita * This code is derived from software contributed to Berkeley by 6945567acSfujita * Van Jacobson of Lawrence Berkeley Laboratory. 7945567acSfujita * 8945567acSfujita * %sccs.include.redist.c% 9945567acSfujita * 10*b4c7f1a3Sbostic * @(#)scsivar.h 8.1 (Berkeley) 06/10/93 11945567acSfujita */ 12945567acSfujita 13945567acSfujita 14945567acSfujita struct scsi_queue { 15945567acSfujita struct scsi_queue *dq_forw; 16945567acSfujita struct scsi_queue *dq_back; 17945567acSfujita int dq_ctlr; 18945567acSfujita int dq_unit; 19945567acSfujita int dq_slave; 20945567acSfujita struct driver *dq_driver; 21945567acSfujita int dq_flags; 22945567acSfujita int dq_imax; 23945567acSfujita int dq_imin; 24945567acSfujita int dq_omax; 25945567acSfujita int dq_omin; 26945567acSfujita struct scsi_fmt_cdb *dq_cdb; 27945567acSfujita struct buf *dq_bp; 28945567acSfujita u_char *dq_xferp; /* Current Pointor */ 29945567acSfujita int dq_xfercnt; /* Data Counter */ 30945567acSfujita }; 31945567acSfujita 32945567acSfujita /* dq_flags */ 33945567acSfujita 34945567acSfujita #define DQ_DISCONNECT 0x00000001 35945567acSfujita 36945567acSfujita struct scsi_softc { 37945567acSfujita struct hp_ctlr *sc_hc; 38945567acSfujita struct scsi_queue sc_sq; 39945567acSfujita struct scsi_queue sc_wq; 40945567acSfujita u_char *sc_cdb; /* CDB Buffer Pointor */ 41945567acSfujita u_char *sc_buf; /* Data Buffer Pointor*/ 42945567acSfujita int *sc_lock; /* Lock Flag addres */ 43945567acSfujita int sc_flags; /* SPC Status Flags */ 44945567acSfujita int sc_phase; /* Current SCSI Phase */ 45945567acSfujita int sc_cdblen; /* CDB length */ 46945567acSfujita int sc_len; /* Buffer Length */ 47945567acSfujita u_char sc_stat; 48945567acSfujita u_char sc_msg[7]; 49945567acSfujita }; 50945567acSfujita 51945567acSfujita 52945567acSfujita /* sc_lock */ 53945567acSfujita 54945567acSfujita #define SC_IN_PROGRESS 0 55945567acSfujita #define SC_IO_COMPLETE 1 56945567acSfujita #define SC_DISCONNECTED 2 57945567acSfujita 58945567acSfujita #define SC_BUSY -1 59945567acSfujita #define SC_IO_FAILED -2 60945567acSfujita #define SC_DEV_NOT_FOUND -3 61945567acSfujita #define SC_IO_TIMEOUT -4 62945567acSfujita 63945567acSfujita /* sc_flags */ 64945567acSfujita 65945567acSfujita #define SC_SEL_TIMEOUT 0x00000001 66