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