Import 2.3.18pre1
[davej-history.git] / drivers / scsi / eata_dma_proc.h
blobd49f348e67319fab056fdb86a2bc980f2da52f85
2 struct lun_map {
3 __u8 id:5,
4 chan:3;
5 __u8 lun;
6 };
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;
24 /* Log Sense pages */
26 typedef struct log_sheader {
27 __u8 page_code,
28 reserved;
29 __u16 length;
30 }logsh;
33 /* Log Sense Statistics */
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;
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;
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;
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;
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;
90 /* Configuration Pages */
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;
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;
115 typedef struct memory_map {
116 __u16 code; /* 0x03, 0x04 */
117 __u8 flags;
118 __u8 length; /* 0x04 */
119 __u32 memory_map;
120 }mema;
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;
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;
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;
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;
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;
187 typedef struct memory_config {
188 __u16 code; /* 0x0a */
189 __u8 flags;
190 __u8 length; /* 0x04 */
191 __u8 banksize[4];
192 }memco;
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;
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;
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;
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;
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: