enum{ ACata, ACconfig, }; enum{ AQCread, AQCtest, AQCprefix, AQCset, AQCfset, }; enum{ AEcmd = 1, AEarg, AEdev, AEcfg, AEver, }; enum{ Aoetype = 0x88a2, Aoever = 1, AFerr = 1<<2, AFrsp = 1<<3, AAFwrite= 1, AAFext = 1<<6, }; enum{ Crd = 0x20, Crdext = 0x24, Cwr = 0x30, Cwrext = 0x34, Cid = 0xec, }; typedef struct{ uchar dst[Eaddrlen]; uchar src[Eaddrlen]; uchar type[2]; uchar verflag; uchar error; uchar major[2]; uchar minor; uchar cmd; uchar tag[4]; }Aoehdr; typedef struct{ Aoehdr; uchar aflag; uchar errfeat; uchar scnt; uchar cmdstat; uchar lba[6]; uchar res[2]; }Aoeata; typedef struct{ Aoehdr; uchar bufcnt[2]; uchar fwver[2]; uchar scnt; uchar verccmd; uchar cslen[2]; }Aoeqc; extern char Echange[]; extern char Enotup[]; int interestingaoe(uchar*, int);