xref: /plan9-contrib/sys/src/cmd/cwfs/io.h (revision 01a344a29f2ff35133953eaef092a50fc8c3163b)
1*01a344a2SDavid du Colombier enum {
2*01a344a2SDavid du Colombier 	MaxScsi		= 4,
3*01a344a2SDavid du Colombier 	NTarget		= 16,
4*01a344a2SDavid du Colombier 	Maxnets		= 8,
5*01a344a2SDavid du Colombier };
6*01a344a2SDavid du Colombier 
7*01a344a2SDavid du Colombier /*
8*01a344a2SDavid du Colombier  * SCSI support code.
9*01a344a2SDavid du Colombier  */
10*01a344a2SDavid du Colombier enum {
11*01a344a2SDavid du Colombier 	STblank		=-6,		/* blank block */
12*01a344a2SDavid du Colombier 	STnomem		=-5,		/* buffer allocation failed */
13*01a344a2SDavid du Colombier 	STtimeout	=-4,		/* bus timeout */
14*01a344a2SDavid du Colombier 	STownid		=-3,		/* playing with myself */
15*01a344a2SDavid du Colombier 	STharderr	=-2,		/* controller error of some kind */
16*01a344a2SDavid du Colombier 	STinit		=-1,		/* */
17*01a344a2SDavid du Colombier 	STok		= 0,		/* good */
18*01a344a2SDavid du Colombier 	STcheck		= 0x02,		/* check condition */
19*01a344a2SDavid du Colombier 	STcondmet	= 0x04,		/* condition met/good */
20*01a344a2SDavid du Colombier 	STbusy		= 0x08,		/* busy */
21*01a344a2SDavid du Colombier 	STintok		= 0x10,		/* intermediate/good */
22*01a344a2SDavid du Colombier 	STintcondmet	= 0x14,		/* intermediate/condition met/good */
23*01a344a2SDavid du Colombier 	STresconf	= 0x18,		/* reservation conflict */
24*01a344a2SDavid du Colombier 	STterminated	= 0x22,		/* command terminated */
25*01a344a2SDavid du Colombier 	STqfull		= 0x28,		/* queue full */
26*01a344a2SDavid du Colombier };
27*01a344a2SDavid du Colombier 
28*01a344a2SDavid du Colombier typedef struct Target {
29*01a344a2SDavid du Colombier 	Scsi	*sc;		/* from openscsi */
30*01a344a2SDavid du Colombier 	int	ctlrno;
31*01a344a2SDavid du Colombier 	int	targetno;
32*01a344a2SDavid du Colombier 	uchar*	inquiry;
33*01a344a2SDavid du Colombier 	uchar*	sense;
34*01a344a2SDavid du Colombier 
35*01a344a2SDavid du Colombier 	QLock;
36*01a344a2SDavid du Colombier 	char	id[NAMELEN];
37*01a344a2SDavid du Colombier 	int	ok;
38*01a344a2SDavid du Colombier } Target;
39