enum { Tscsi = 1, Tata = 2, Xseg = 3, /* segmented download */ Xfull = 7, /* full download */ Nrb = 32, Pathlen = 256,}; typedef struct Dtype Dtype;typedef struct Dlparm Dlparm;typedef struct Sdisk Sdisk; struct Dtype { int type; char *tname; int (*probe)(Sdisk*); int (*dlmc)(Sdisk*, char*, uint);}; struct Dlparm { int dlmode; int maxxfr;}; struct Sdisk { Sdisk *next; Dtype *t; Dlparm; int fd; Sfis; char path[Pathlen]; char name[28];}; int scsiprobe(Sdisk*);int scsidl(Sdisk*, char*, uint);int ataprobe(Sdisk*);int atadl(Sdisk*, char*, uint); void eprint(Sdisk*, char *, ...);
enum {
Tscsi = 1,
Tata = 2,
Xseg = 3, /* segmented download */
Xfull = 7, /* full download */
Nrb = 32,
Pathlen = 256,
};
typedef struct Dtype Dtype;
typedef struct Dlparm Dlparm;
typedef struct Sdisk Sdisk;
struct Dtype {
int type;
char *tname;
int (*probe)(Sdisk*);
int (*dlmc)(Sdisk*, char*, uint);
};
struct Dlparm {
int dlmode;
int maxxfr;
};
struct Sdisk {
Sdisk *next;
Dtype *t;
Dlparm;
int fd;
Sfis;
char path[Pathlen];
char name[28];
};
int scsiprobe(Sdisk*);
int scsidl(Sdisk*, char*, uint);
int ataprobe(Sdisk*);
int atadl(Sdisk*, char*, uint);
void eprint(Sdisk*, char *, ...);