154006Sfujita /* 2*63192Sbostic * Copyright (c) 1990, 1992, 1993 3*63192Sbostic * The Regents of the University of California. All rights reserved. 454006Sfujita * 554006Sfujita * This code is derived from software contributed to Berkeley by 654006Sfujita * Van Jacobson of Lawrence Berkeley Laboratory. 754006Sfujita * 854006Sfujita * %sccs.include.redist.c% 954006Sfujita * 10*63192Sbostic * @(#)scsivar.h 8.1 (Berkeley) 06/10/93 1154006Sfujita */ 1254006Sfujita 1354006Sfujita 1454006Sfujita struct scsi_queue { 1554006Sfujita struct scsi_queue *dq_forw; 1654006Sfujita struct scsi_queue *dq_back; 1754006Sfujita int dq_ctlr; 1854006Sfujita int dq_unit; 1954006Sfujita int dq_slave; 2054006Sfujita struct driver *dq_driver; 2154006Sfujita int dq_flags; 2254006Sfujita int dq_imax; 2354006Sfujita int dq_imin; 2454006Sfujita int dq_omax; 2554006Sfujita int dq_omin; 2654006Sfujita struct scsi_fmt_cdb *dq_cdb; 2754006Sfujita struct buf *dq_bp; 2854006Sfujita u_char *dq_xferp; /* Current Pointor */ 2954006Sfujita int dq_xfercnt; /* Data Counter */ 3054006Sfujita }; 3154006Sfujita 3254006Sfujita /* dq_flags */ 3354006Sfujita 3454006Sfujita #define DQ_DISCONNECT 0x00000001 3554006Sfujita 3654006Sfujita struct scsi_softc { 3754006Sfujita struct hp_ctlr *sc_hc; 3854006Sfujita struct scsi_queue sc_sq; 3954006Sfujita struct scsi_queue sc_wq; 4054006Sfujita u_char *sc_cdb; /* CDB Buffer Pointor */ 4154006Sfujita u_char *sc_buf; /* Data Buffer Pointor*/ 4254006Sfujita int *sc_lock; /* Lock Flag addres */ 4354006Sfujita int sc_flags; /* SPC Status Flags */ 4454006Sfujita int sc_phase; /* Current SCSI Phase */ 4554006Sfujita int sc_cdblen; /* CDB length */ 4654006Sfujita int sc_len; /* Buffer Length */ 4754006Sfujita u_char sc_stat; 4854006Sfujita u_char sc_msg[7]; 4954006Sfujita }; 5054006Sfujita 5154006Sfujita 5254006Sfujita /* sc_lock */ 5354006Sfujita 5454006Sfujita #define SC_IN_PROGRESS 0 5554006Sfujita #define SC_IO_COMPLETE 1 5654006Sfujita #define SC_DISCONNECTED 2 5754006Sfujita 5854006Sfujita #define SC_BUSY -1 5954006Sfujita #define SC_IO_FAILED -2 6054006Sfujita #define SC_DEV_NOT_FOUND -3 6154006Sfujita #define SC_IO_TIMEOUT -4 6254006Sfujita 6354006Sfujita /* sc_flags */ 6454006Sfujita 6554006Sfujita #define SC_SEL_TIMEOUT 0x00000001 66