xref: /csrg-svn/sys/luna68k/dev/scvar.h (revision 65039)
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