update atp870u driver to 0.78 from D-Link source
[linux-2.4.git] / drivers / scsi / eata_dma_proc.h
1
2 struct lun_map {
3     __u8   id:5,
4      chan:3;
5     __u8 lun;
6 };
7
8 typedef struct emul_pp {
9     __u8 p_code:6,
10        null:1,
11      p_save:1;
12     __u8 p_length;
13     __u16 cylinder;
14     __u8 heads;
15     __u8 sectors;
16     __u8 null2;
17     __u8 s_lunmap:4,
18           ems:1;
19     __u16 drive_type;   /* In Little Endian ! */
20     struct lun_map lunmap[4];
21 }emulpp;
22
23
24 /* Log Sense pages */
25
26 typedef struct log_sheader {
27     __u8 page_code,
28      reserved;
29     __u16 length;
30 }logsh;
31
32
33 /* Log Sense Statistics */
34
35 typedef struct read_command_statistics {
36     __u16 code;        /* 0x01 */
37     __u8  flags;
38     __u8  length;      /* 0x24 */
39     __u32 h_commands,
40       uncached,
41       la_cmds,
42       la_blks,
43       la_hits,
44       missed,
45       hits,
46       seq_la_blks,
47       seq_la_hits;
48 }r_cmd_stat;
49
50 typedef struct write_command_statistics {
51     __u16 code;        /* 0x03 */
52     __u8  flags;
53     __u8  length;      /* 0x28 */
54     __u32 h_commands,
55       uncached,
56       thru,
57       bypass,
58       soft_err,
59       hits,
60       b_idle,
61       b_activ,
62       b_blks,
63       b_blks_clean;
64 }w_cmd_stat;
65
66 typedef struct host_command_statistics {
67     __u16 code;          /* 0x02, 0x04 */
68     __u8  flags;
69     __u8  length;        /* 0x30 */
70     __u32 sizes[12];
71 }hst_cmd_stat;
72
73 typedef struct physical_command_statistics {
74     __u16 code;          /* 0x06, 0x07 */ 
75     __u8  flags;
76     __u8  length;        /* 0x34 */
77     __u32 sizes[13]; 
78 }phy_cmd_stat;
79
80 typedef struct misc_device_statistics {
81     __u16 code;           /* 0x05 */
82     __u8  flags;
83     __u8  length;         /* 0x10 */
84     __u32 disconnect,
85       pass_thru,
86       sg_commands,
87       stripe_boundary_crosses;
88 }msc_stats;
89  
90 /* Configuration Pages */
91
92 typedef struct controller_configuration {
93     __u16 code;           /* 0x01 */
94     __u8  flags;
95     __u8  length;         /* 0x02 */
96     __u8  intt:1,
97        sec:1,
98        csh:1,
99        key:1,
100        tmr:1,
101        srs:1,
102        nvr:1;
103     __u8  interrupt;
104 }coco;
105
106 typedef struct controller_hardware_errors {
107     __u16 code;           /* 0x02 */
108     __u8  flags;
109     __u8  length;         /* 0x02 */
110     __u8  unused:1,
111          per:1;
112     __u8  interrupt;
113 }coher;
114
115 typedef struct memory_map {
116     __u16 code;           /* 0x03, 0x04 */
117     __u8  flags;
118     __u8  length;         /* 0x04 */
119     __u32 memory_map;
120 }mema;
121
122 typedef struct scsi_transfer {
123     __u16 code;           /* 0x05 */
124     __u8  flags;
125     __u8  length;         /* 0x04 */
126     __u8  offset,
127       period;
128     __u16 speed;
129 }scsitrans;
130
131 typedef struct scsi_modes {
132     __u16 code;           /* 0x06 */
133     __u8  flags;
134     __u8  length;         /* 0x02 */
135     __u8  que:1,
136      cdis:1,
137      wtru:1,
138      dasd:1,
139       ncr:1,
140      awre:1;
141     __u8  reserved;
142 }scsimod;
143
144 typedef struct host_bus {
145     __u16 code;           /* 0x07 */
146     __u8  flags;
147     __u8  length;         /* 0x02 */
148     __u8  speed:6,
149         pci:1,
150        eisa:1;
151     __u8  reserved;
152 }hobu;
153
154 typedef struct scsi_bus {
155     __u16 code;           /* 0x08 */
156     __u8  flags;
157     __u8  length;         /* 0x02 */
158     __u8  speed:4,
159         res:1,
160         ext:1,
161        wide:1,
162         dif:1;
163     __u8 busnum;
164 }scbu;
165
166 typedef struct board_type {
167     __u16 code;           /* 0x09 */
168     __u8  flags;
169     __u8  length;         /* 0x04 */
170     __u8  unused:1,
171          cmi:1,
172          dmi:1,
173         cm4k:1,
174          cm4:1,
175         dm4k:1,
176          dm4:1,
177          hba:1;
178     __u8  cpu_type,
179       cpu_speed;
180     __u8    sx1:1,
181         sx2:1,
182     unused2:4,
183        alrm:1,
184        srom:1;
185 }boty;
186
187 typedef struct memory_config {
188     __u16 code;           /* 0x0a */
189     __u8  flags;
190     __u8  length;         /* 0x04 */
191     __u8  banksize[4];
192 }memco;
193
194 typedef struct firmware_info {
195     __u16 code;           /* 0x0b */
196     __u8  flags;
197     __u8  length;         /* 0x04 */
198     __u8  dnld:1,
199      bs528:1,
200        fmt:1,
201      fw528:1;
202     __u8  unused1,
203       fw_type,
204       unused;
205 }firm;
206
207 typedef struct subsystem_info {
208     __u16 code;           /* 0x0c */
209     __u8  flags;
210     __u8  length;         /* 0x02 */
211     __u8  shlf:1,
212       swap:1,
213       noss:1;
214     __u8  reserved;
215 }subinf;
216
217 typedef struct per_channel_info {
218     __u16 code;           /* 0x0d */
219     __u8  flags;
220     __u8  length;         /* 0x02 */
221     __u8  channel;
222     __u8  shlf:1,
223       swap:1,
224       noss:1,
225        srs:1,
226        que:1,
227        ext:1,
228       wide:1,
229       diff:1;
230 }pcinf;
231
232 typedef struct array_limits {
233     __u16 code;           /* 0x0e */
234     __u8  flags;
235     __u8  length;         /* 0x04 */
236     __u8  max_groups,
237       raid0_drv,
238       raid35_drv,
239       unused;
240 }arrlim;
241
242 /*
243  * Overrides for Emacs so that we follow Linus's tabbing style.
244  * Emacs will notice this stuff at the end of the file and automatically
245  * adjust the settings for this buffer only.  This must remain at the end
246  * of the file.
247  * ---------------------------------------------------------------------------
248  * Local variables:
249  * c-indent-level: 4
250  * c-brace-imaginary-offset: 0
251  * c-brace-offset: -4
252  * c-argdecl-indent: 4
253  * c-label-offset: -4
254  * c-continued-statement-offset: 4
255  * c-continued-brace-offset: 0
256  * indent-tabs-mode: nil
257  * tab-width: 8
258  * End:
259  */
260