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