1*65039Sakito /* 2*65039Sakito * Copyright (c) 1990, 1992, 1993 3*65039Sakito * The Regents of the University of California. All rights reserved. 4*65039Sakito * 5*65039Sakito * This code is derived from software contributed to Berkeley by 6*65039Sakito * Van Jacobson of Lawrence Berkeley Laboratory. 7*65039Sakito * 8*65039Sakito * %sccs.include.redist.c% 9*65039Sakito * 10*65039Sakito * @(#)scvar.h 8.1 (Berkeley) 12/06/93 11*65039Sakito */ 12*65039Sakito 13*65039Sakito 14*65039Sakito struct scsi_queue { 15*65039Sakito struct scsi_queue *dq_forw; 16*65039Sakito struct scsi_queue *dq_back; 17*65039Sakito int dq_ctlr; 18*65039Sakito int dq_unit; 19*65039Sakito int dq_slave; 20*65039Sakito struct driver *dq_driver; 21*65039Sakito int dq_flags; 22*65039Sakito int dq_imax; 23*65039Sakito int dq_imin; 24*65039Sakito int dq_omax; 25*65039Sakito int dq_omin; 26*65039Sakito struct scsi_fmt_cdb *dq_cdb; 27*65039Sakito struct buf *dq_bp; 28*65039Sakito u_char *dq_xferp; /* Current Pointor */ 29*65039Sakito int dq_xfercnt; /* Data Counter */ 30*65039Sakito }; 31*65039Sakito 32*65039Sakito /* dq_flags */ 33*65039Sakito 34*65039Sakito #define DQ_DISCONNECT 0x00000001 35*65039Sakito 36*65039Sakito struct sc_softc { 37*65039Sakito struct hp_ctlr *sc_hc; 38*65039Sakito struct scsi_queue sc_sq; 39*65039Sakito struct scsi_queue sc_wq; 40*65039Sakito u_char *sc_cdb; /* CDB Buffer Pointor */ 41*65039Sakito u_char *sc_buf; /* Data Buffer Pointor*/ 42*65039Sakito int *sc_lock; /* Lock Flag addres */ 43*65039Sakito int sc_flags; /* SPC Status Flags */ 44*65039Sakito int sc_phase; /* Current SCSI Phase */ 45*65039Sakito int sc_cdblen; /* CDB length */ 46*65039Sakito int sc_len; /* Buffer Length */ 47*65039Sakito u_char sc_stat; 48*65039Sakito u_char sc_msg[7]; 49*65039Sakito }; 50*65039Sakito 51*65039Sakito 52*65039Sakito /* sc_lock */ 53*65039Sakito 54*65039Sakito #define SC_IN_PROGRESS 0 55*65039Sakito #define SC_IO_COMPLETE 1 56*65039Sakito #define SC_DISCONNECTED 2 57*65039Sakito 58*65039Sakito #define SC_BUSY -1 59*65039Sakito #define SC_IO_FAILED -2 60*65039Sakito #define SC_DEV_NOT_FOUND -3 61*65039Sakito #define SC_IO_TIMEOUT -4 62*65039Sakito 63*65039Sakito /* sc_flags */ 64*65039Sakito 65*65039Sakito #define SC_SEL_TIMEOUT 0x00000001 66