5 Cmd5sc, /* 512-byte sector size, set sector count */
8 typedef struct Dev Dev;
22 typedef struct Rcmd Rcmd;
24 uchar sdcmd; /* sd command; 0xff means ata passthrough */
25 uchar ataproto; /* ata protocol. non-data, pio, reset, dd, etc. */
29 typedef struct Req Req;
35 uvlong count; /* bytes; allow long sectors to work */
38 uint fisbits; /* bitmask of manually set fields */
53 typedef struct Btab Btab;
58 char *sebtab(char*, char*, Btab*, int, uint);
60 typedef struct Txtab Txtab;
61 typedef struct Fetab Fetab;
84 Saction = 0 | Sbase | Sw,
86 Slba = 2 | Sbase | Sqw,
87 Scnt = 6 | Sbase | Sqw,
88 Spat = 10 | Sbase | Sdw,
90 Stimer = 3 | Sbase | Sw,
92 Sstate = 3 | Sbase | Sw,
93 Soptf = 4 | Sbase | Sw,
94 Stabid = 2 | Sbase | Sw,
99 void pw(uchar*, ushort);
100 void pdw(uchar*, uint);
101 void pqw(uchar*, uvlong);
107 * botch. integrate with fis.h?
113 typedef struct Atatab Atatab;
124 int eprint(char *, ...);
125 int opendev(char*, Dev*);
130 #pragma varargck argpos eprint 1
131 #pragma varargck type "π" char**