enum { MaxScsi = 4, NTarget = 16, Maxnets = 8, }; /* * SCSI support code. */ enum { STblank =-6, /* blank block */ STnomem =-5, /* buffer allocation failed */ STtimeout =-4, /* bus timeout */ STownid =-3, /* playing with myself */ STharderr =-2, /* controller error of some kind */ STinit =-1, /* */ STok = 0, /* good */ STcheck = 0x02, /* check condition */ STcondmet = 0x04, /* condition met/good */ STbusy = 0x08, /* busy */ STintok = 0x10, /* intermediate/good */ STintcondmet = 0x14, /* intermediate/condition met/good */ STresconf = 0x18, /* reservation conflict */ STterminated = 0x22, /* command terminated */ STqfull = 0x28, /* queue full */ }; typedef struct Target { Scsi *sc; /* from openscsi */ int ctlrno; int targetno; uchar* inquiry; uchar* sense; QLock; char id[NAMELEN]; int ok; } Target;