Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
1da177e4 LT |
2 | * Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org> |
3 | * Copyright (C) 2004 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu> | |
4 | * Copyright (C) 2004 Aurelien Alleaume <slts@free.fr> | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License as published by | |
8 | * the Free Software Foundation; either version 2 of the License | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | * GNU General Public License for more details. | |
14 | * | |
15 | * You should have received a copy of the GNU General Public License | |
16 | * along with this program; if not, write to the Free Software | |
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
18 | * | |
19 | */ | |
20 | ||
21 | #if !defined(_ISL_OID_H) | |
22 | #define _ISL_OID_H | |
23 | ||
93b2dd12 | 24 | /* |
1da177e4 LT |
25 | * MIB related constant and structure definitions for communicating |
26 | * with the device firmware | |
27 | */ | |
28 | ||
29 | struct obj_ssid { | |
30 | u8 length; | |
31 | char octets[33]; | |
ba2d3587 | 32 | } __packed; |
1da177e4 LT |
33 | |
34 | struct obj_key { | |
35 | u8 type; /* dot11_priv_t */ | |
36 | u8 length; | |
37 | char key[32]; | |
ba2d3587 | 38 | } __packed; |
1da177e4 LT |
39 | |
40 | struct obj_mlme { | |
41 | u8 address[6]; | |
42 | u16 id; | |
43 | u16 state; | |
44 | u16 code; | |
ba2d3587 | 45 | } __packed; |
1da177e4 LT |
46 | |
47 | struct obj_mlmeex { | |
48 | u8 address[6]; | |
49 | u16 id; | |
50 | u16 state; | |
51 | u16 code; | |
52 | u16 size; | |
53 | u8 data[0]; | |
ba2d3587 | 54 | } __packed; |
1da177e4 LT |
55 | |
56 | struct obj_buffer { | |
57 | u32 size; | |
58 | u32 addr; /* 32bit bus address */ | |
ba2d3587 | 59 | } __packed; |
1da177e4 LT |
60 | |
61 | struct obj_bss { | |
62 | u8 address[6]; | |
63 | int:16; /* padding */ | |
64 | ||
65 | char state; | |
66 | char reserved; | |
67 | short age; | |
68 | ||
69 | char quality; | |
70 | char rssi; | |
71 | ||
72 | struct obj_ssid ssid; | |
73 | short channel; | |
74 | char beacon_period; | |
75 | char dtim_period; | |
76 | short capinfo; | |
77 | short rates; | |
78 | short basic_rates; | |
79 | int:16; /* padding */ | |
ba2d3587 | 80 | } __packed; |
1da177e4 LT |
81 | |
82 | struct obj_bsslist { | |
83 | u32 nr; | |
84 | struct obj_bss bsslist[0]; | |
ba2d3587 | 85 | } __packed; |
1da177e4 LT |
86 | |
87 | struct obj_frequencies { | |
88 | u16 nr; | |
89 | u16 mhz[0]; | |
ba2d3587 | 90 | } __packed; |
1da177e4 LT |
91 | |
92 | struct obj_attachment { | |
93 | char type; | |
94 | char reserved; | |
95 | short id; | |
96 | short size; | |
97 | char data[0]; | |
ba2d3587 | 98 | } __packed; |
1da177e4 | 99 | |
93b2dd12 | 100 | /* |
1da177e4 LT |
101 | * in case everything's ok, the inlined function below will be |
102 | * optimized away by the compiler... | |
103 | */ | |
104 | static inline void | |
105 | __bug_on_wrong_struct_sizes(void) | |
106 | { | |
995cdaa4 AD |
107 | BUILD_BUG_ON(sizeof (struct obj_ssid) != 34); |
108 | BUILD_BUG_ON(sizeof (struct obj_key) != 34); | |
109 | BUILD_BUG_ON(sizeof (struct obj_mlme) != 12); | |
110 | BUILD_BUG_ON(sizeof (struct obj_mlmeex) != 14); | |
111 | BUILD_BUG_ON(sizeof (struct obj_buffer) != 8); | |
112 | BUILD_BUG_ON(sizeof (struct obj_bss) != 60); | |
113 | BUILD_BUG_ON(sizeof (struct obj_bsslist) != 4); | |
114 | BUILD_BUG_ON(sizeof (struct obj_frequencies) != 2); | |
1da177e4 LT |
115 | } |
116 | ||
117 | enum dot11_state_t { | |
118 | DOT11_STATE_NONE = 0, | |
119 | DOT11_STATE_AUTHING = 1, | |
120 | DOT11_STATE_AUTH = 2, | |
121 | DOT11_STATE_ASSOCING = 3, | |
122 | ||
123 | DOT11_STATE_ASSOC = 5, | |
124 | DOT11_STATE_IBSS = 6, | |
125 | DOT11_STATE_WDS = 7 | |
126 | }; | |
127 | ||
128 | enum dot11_bsstype_t { | |
129 | DOT11_BSSTYPE_NONE = 0, | |
130 | DOT11_BSSTYPE_INFRA = 1, | |
131 | DOT11_BSSTYPE_IBSS = 2, | |
132 | DOT11_BSSTYPE_ANY = 3 | |
133 | }; | |
134 | ||
135 | enum dot11_auth_t { | |
136 | DOT11_AUTH_NONE = 0, | |
137 | DOT11_AUTH_OS = 1, | |
138 | DOT11_AUTH_SK = 2, | |
139 | DOT11_AUTH_BOTH = 3 | |
140 | }; | |
141 | ||
142 | enum dot11_mlme_t { | |
143 | DOT11_MLME_AUTO = 0, | |
144 | DOT11_MLME_INTERMEDIATE = 1, | |
145 | DOT11_MLME_EXTENDED = 2 | |
146 | }; | |
147 | ||
148 | enum dot11_priv_t { | |
149 | DOT11_PRIV_WEP = 0, | |
150 | DOT11_PRIV_TKIP = 1 | |
151 | }; | |
152 | ||
153 | /* Prism "Nitro" / Frameburst / "Packet Frame Grouping" | |
154 | * Value is in microseconds. Represents the # microseconds | |
93b2dd12 | 155 | * the firmware will take to group frames before sending out then out |
1da177e4 | 156 | * together with a CSMA contention. Without this all frames are |
93b2dd12 DT |
157 | * sent with a CSMA contention. |
158 | * Bibliography: | |
1da177e4 LT |
159 | * http://www.hpl.hp.com/personal/Jean_Tourrilhes/Papers/Packet.Frame.Grouping.html |
160 | */ | |
93b2dd12 | 161 | enum dot11_maxframeburst_t { |
1da177e4 LT |
162 | /* Values for DOT11_OID_MAXFRAMEBURST */ |
163 | DOT11_MAXFRAMEBURST_OFF = 0, /* Card firmware default */ | |
164 | DOT11_MAXFRAMEBURST_MIXED_SAFE = 650, /* 802.11 a,b,g safe */ | |
165 | DOT11_MAXFRAMEBURST_IDEAL = 1300, /* Theoretical ideal level */ | |
166 | DOT11_MAXFRAMEBURST_MAX = 5000, /* Use this as max, | |
167 | * Note: firmware allows for greater values. This is a | |
168 | * recommended max. I'll update this as I find | |
169 | * out what the real MAX is. Also note that you don't necessarily | |
170 | * get better results with a greater value here. | |
171 | */ | |
172 | }; | |
173 | ||
174 | /* Support for 802.11 long and short frame preambles. | |
175 | * Long preamble uses 128-bit sync field, 8-bit CRC | |
176 | * Short preamble uses 56-bit sync field, 16-bit CRC | |
93b2dd12 | 177 | * |
1da177e4 | 178 | * 802.11a -- not sure, both optionally ? |
93b2dd12 | 179 | * 802.11b supports long and optionally short |
1da177e4 LT |
180 | * 802.11g supports both */ |
181 | enum dot11_preamblesettings_t { | |
182 | DOT11_PREAMBLESETTING_LONG = 0, | |
183 | /* Allows *only* long 802.11 preambles */ | |
184 | DOT11_PREAMBLESETTING_SHORT = 1, | |
185 | /* Allows *only* short 802.11 preambles */ | |
186 | DOT11_PREAMBLESETTING_DYNAMIC = 2 | |
187 | /* AutomatiGically set */ | |
188 | }; | |
189 | ||
190 | /* Support for 802.11 slot timing (time between packets). | |
191 | * | |
192 | * Long uses 802.11a slot timing (9 usec ?) | |
193 | * Short uses 802.11b slot timing (20 use ?) */ | |
194 | enum dot11_slotsettings_t { | |
93b2dd12 | 195 | DOT11_SLOTSETTINGS_LONG = 0, |
1da177e4 LT |
196 | /* Allows *only* long 802.11b slot timing */ |
197 | DOT11_SLOTSETTINGS_SHORT = 1, | |
198 | /* Allows *only* long 802.11a slot timing */ | |
199 | DOT11_SLOTSETTINGS_DYNAMIC = 2 | |
200 | /* AutomatiGically set */ | |
201 | }; | |
202 | ||
203 | /* All you need to know, ERP is "Extended Rate PHY". | |
93b2dd12 | 204 | * An Extended Rate PHY (ERP) STA or AP shall support three different |
1da177e4 LT |
205 | * preamble and header formats: |
206 | * Long preamble (refer to above) | |
207 | * Short preamble (refer to above) | |
208 | * OFDM preamble ( ? ) | |
209 | * | |
210 | * I'm assuming here Protection tells the AP | |
211 | * to be careful, a STA which cannot handle the long pre-amble | |
212 | * has joined. | |
213 | */ | |
214 | enum do11_nonerpstatus_t { | |
215 | DOT11_ERPSTAT_NONEPRESENT = 0, | |
216 | DOT11_ERPSTAT_USEPROTECTION = 1 | |
217 | }; | |
218 | ||
219 | /* (ERP is "Extended Rate PHY") Way to read NONERP is NON-ERP-* | |
220 | * The key here is DOT11 NON ERP NEVER protects against | |
221 | * NON ERP STA's. You *don't* want this unless | |
93b2dd12 | 222 | * you know what you are doing. It means you will only |
1da177e4 LT |
223 | * get Extended Rate capabilities */ |
224 | enum dot11_nonerpprotection_t { | |
225 | DOT11_NONERP_NEVER = 0, | |
226 | DOT11_NONERP_ALWAYS = 1, | |
227 | DOT11_NONERP_DYNAMIC = 2 | |
228 | }; | |
229 | ||
93b2dd12 DT |
230 | /* Preset OID configuration for 802.11 modes |
231 | * Note: DOT11_OID_CW[MIN|MAX] hold the values of the | |
1da177e4 LT |
232 | * DCS MIN|MAX backoff used */ |
233 | enum dot11_profile_t { /* And set/allowed values */ | |
234 | /* Allowed values for DOT11_OID_PROFILES */ | |
235 | DOT11_PROFILE_B_ONLY = 0, | |
93b2dd12 | 236 | /* DOT11_OID_RATES: 1, 2, 5.5, 11Mbps |
1da177e4 LT |
237 | * DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_DYNAMIC |
238 | * DOT11_OID_CWMIN: 31 | |
239 | * DOT11_OID_NONEPROTECTION: DOT11_NOERP_DYNAMIC | |
240 | * DOT11_OID_SLOTSETTINGS: DOT11_SLOTSETTINGS_LONG | |
241 | */ | |
242 | DOT11_PROFILE_MIXED_G_WIFI = 1, | |
243 | /* DOT11_OID_RATES: 1, 2, 5.5, 11, 6, 9, 12, 18, 24, 36, 48, 54Mbs | |
244 | * DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_DYNAMIC | |
245 | * DOT11_OID_CWMIN: 15 | |
246 | * DOT11_OID_NONEPROTECTION: DOT11_NOERP_DYNAMIC | |
247 | * DOT11_OID_SLOTSETTINGS: DOT11_SLOTSETTINGS_DYNAMIC | |
248 | */ | |
249 | DOT11_PROFILE_MIXED_LONG = 2, /* "Long range" */ | |
250 | /* Same as Profile MIXED_G_WIFI */ | |
251 | DOT11_PROFILE_G_ONLY = 3, | |
252 | /* Same as Profile MIXED_G_WIFI */ | |
253 | DOT11_PROFILE_TEST = 4, | |
254 | /* Same as Profile MIXED_G_WIFI except: | |
255 | * DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_SHORT | |
256 | * DOT11_OID_NONEPROTECTION: DOT11_NOERP_NEVER | |
257 | * DOT11_OID_SLOTSETTINGS: DOT11_SLOTSETTINGS_SHORT | |
258 | */ | |
259 | DOT11_PROFILE_B_WIFI = 5, | |
260 | /* Same as Profile B_ONLY */ | |
261 | DOT11_PROFILE_A_ONLY = 6, | |
262 | /* Same as Profile MIXED_G_WIFI except: | |
263 | * DOT11_OID_RATES: 6, 9, 12, 18, 24, 36, 48, 54Mbs | |
264 | */ | |
265 | DOT11_PROFILE_MIXED_SHORT = 7 | |
266 | /* Same as MIXED_G_WIFI */ | |
267 | }; | |
268 | ||
269 | ||
270 | /* The dot11d conformance level configures the 802.11d conformance levels. | |
271 | * The following conformance levels exist:*/ | |
272 | enum oid_inl_conformance_t { | |
273 | OID_INL_CONFORMANCE_NONE = 0, /* Perform active scanning */ | |
274 | OID_INL_CONFORMANCE_STRICT = 1, /* Strictly adhere to 802.11d */ | |
275 | OID_INL_CONFORMANCE_FLEXIBLE = 2, /* Use passed 802.11d info to | |
93b2dd12 | 276 | * determine channel AND/OR just make assumption that active |
1da177e4 LT |
277 | * channels are valid channels */ |
278 | }; | |
279 | ||
280 | enum oid_inl_mode_t { | |
281 | INL_MODE_NONE = -1, | |
282 | INL_MODE_PROMISCUOUS = 0, | |
283 | INL_MODE_CLIENT = 1, | |
284 | INL_MODE_AP = 2, | |
285 | INL_MODE_SNIFFER = 3 | |
286 | }; | |
287 | ||
288 | enum oid_inl_config_t { | |
289 | INL_CONFIG_NOTHING = 0x00, | |
290 | INL_CONFIG_MANUALRUN = 0x01, | |
291 | INL_CONFIG_FRAMETRAP = 0x02, | |
292 | INL_CONFIG_RXANNEX = 0x04, | |
293 | INL_CONFIG_TXANNEX = 0x08, | |
294 | INL_CONFIG_WDS = 0x10 | |
295 | }; | |
296 | ||
297 | enum oid_inl_phycap_t { | |
298 | INL_PHYCAP_2400MHZ = 1, | |
299 | INL_PHYCAP_5000MHZ = 2, | |
300 | INL_PHYCAP_FAA = 0x80000000, /* Means card supports the FAA switch */ | |
301 | }; | |
302 | ||
303 | ||
304 | enum oid_num_t { | |
305 | GEN_OID_MACADDRESS = 0, | |
306 | GEN_OID_LINKSTATE, | |
307 | GEN_OID_WATCHDOG, | |
308 | GEN_OID_MIBOP, | |
309 | GEN_OID_OPTIONS, | |
310 | GEN_OID_LEDCONFIG, | |
311 | ||
312 | /* 802.11 */ | |
313 | DOT11_OID_BSSTYPE, | |
314 | DOT11_OID_BSSID, | |
315 | DOT11_OID_SSID, | |
316 | DOT11_OID_STATE, | |
317 | DOT11_OID_AID, | |
318 | DOT11_OID_COUNTRYSTRING, | |
319 | DOT11_OID_SSIDOVERRIDE, | |
320 | ||
321 | DOT11_OID_MEDIUMLIMIT, | |
322 | DOT11_OID_BEACONPERIOD, | |
323 | DOT11_OID_DTIMPERIOD, | |
324 | DOT11_OID_ATIMWINDOW, | |
325 | DOT11_OID_LISTENINTERVAL, | |
326 | DOT11_OID_CFPPERIOD, | |
327 | DOT11_OID_CFPDURATION, | |
328 | ||
329 | DOT11_OID_AUTHENABLE, | |
330 | DOT11_OID_PRIVACYINVOKED, | |
331 | DOT11_OID_EXUNENCRYPTED, | |
332 | DOT11_OID_DEFKEYID, | |
333 | DOT11_OID_DEFKEYX, /* DOT11_OID_DEFKEY1,...DOT11_OID_DEFKEY4 */ | |
334 | DOT11_OID_STAKEY, | |
335 | DOT11_OID_REKEYTHRESHOLD, | |
336 | DOT11_OID_STASC, | |
337 | ||
338 | DOT11_OID_PRIVTXREJECTED, | |
339 | DOT11_OID_PRIVRXPLAIN, | |
340 | DOT11_OID_PRIVRXFAILED, | |
341 | DOT11_OID_PRIVRXNOKEY, | |
342 | ||
343 | DOT11_OID_RTSTHRESH, | |
344 | DOT11_OID_FRAGTHRESH, | |
345 | DOT11_OID_SHORTRETRIES, | |
346 | DOT11_OID_LONGRETRIES, | |
347 | DOT11_OID_MAXTXLIFETIME, | |
348 | DOT11_OID_MAXRXLIFETIME, | |
349 | DOT11_OID_AUTHRESPTIMEOUT, | |
350 | DOT11_OID_ASSOCRESPTIMEOUT, | |
351 | ||
352 | DOT11_OID_ALOFT_TABLE, | |
353 | DOT11_OID_ALOFT_CTRL_TABLE, | |
354 | DOT11_OID_ALOFT_RETREAT, | |
355 | DOT11_OID_ALOFT_PROGRESS, | |
356 | DOT11_OID_ALOFT_FIXEDRATE, | |
357 | DOT11_OID_ALOFT_RSSIGRAPH, | |
358 | DOT11_OID_ALOFT_CONFIG, | |
359 | ||
360 | DOT11_OID_VDCFX, | |
361 | DOT11_OID_MAXFRAMEBURST, | |
362 | ||
363 | DOT11_OID_PSM, | |
364 | DOT11_OID_CAMTIMEOUT, | |
365 | DOT11_OID_RECEIVEDTIMS, | |
366 | DOT11_OID_ROAMPREFERENCE, | |
367 | ||
368 | DOT11_OID_BRIDGELOCAL, | |
369 | DOT11_OID_CLIENTS, | |
370 | DOT11_OID_CLIENTSASSOCIATED, | |
371 | DOT11_OID_CLIENTX, /* DOT11_OID_CLIENTX,...DOT11_OID_CLIENT2007 */ | |
372 | ||
373 | DOT11_OID_CLIENTFIND, | |
374 | DOT11_OID_WDSLINKADD, | |
375 | DOT11_OID_WDSLINKREMOVE, | |
376 | DOT11_OID_EAPAUTHSTA, | |
377 | DOT11_OID_EAPUNAUTHSTA, | |
378 | DOT11_OID_DOT1XENABLE, | |
379 | DOT11_OID_MICFAILURE, | |
380 | DOT11_OID_REKEYINDICATE, | |
381 | ||
382 | DOT11_OID_MPDUTXSUCCESSFUL, | |
383 | DOT11_OID_MPDUTXONERETRY, | |
384 | DOT11_OID_MPDUTXMULTIPLERETRIES, | |
385 | DOT11_OID_MPDUTXFAILED, | |
386 | DOT11_OID_MPDURXSUCCESSFUL, | |
387 | DOT11_OID_MPDURXDUPS, | |
388 | DOT11_OID_RTSSUCCESSFUL, | |
389 | DOT11_OID_RTSFAILED, | |
390 | DOT11_OID_ACKFAILED, | |
391 | DOT11_OID_FRAMERECEIVES, | |
392 | DOT11_OID_FRAMEERRORS, | |
393 | DOT11_OID_FRAMEABORTS, | |
394 | DOT11_OID_FRAMEABORTSPHY, | |
395 | ||
396 | DOT11_OID_SLOTTIME, | |
397 | DOT11_OID_CWMIN, /* MIN DCS backoff */ | |
398 | DOT11_OID_CWMAX, /* MAX DCS backoff */ | |
399 | DOT11_OID_ACKWINDOW, | |
400 | DOT11_OID_ANTENNARX, | |
401 | DOT11_OID_ANTENNATX, | |
402 | DOT11_OID_ANTENNADIVERSITY, | |
403 | DOT11_OID_CHANNEL, | |
404 | DOT11_OID_EDTHRESHOLD, | |
405 | DOT11_OID_PREAMBLESETTINGS, | |
406 | DOT11_OID_RATES, | |
407 | DOT11_OID_CCAMODESUPPORTED, | |
408 | DOT11_OID_CCAMODE, | |
409 | DOT11_OID_RSSIVECTOR, | |
410 | DOT11_OID_OUTPUTPOWERTABLE, | |
411 | DOT11_OID_OUTPUTPOWER, | |
412 | DOT11_OID_SUPPORTEDRATES, | |
413 | DOT11_OID_FREQUENCY, | |
414 | DOT11_OID_SUPPORTEDFREQUENCIES, | |
415 | DOT11_OID_NOISEFLOOR, | |
416 | DOT11_OID_FREQUENCYACTIVITY, | |
417 | DOT11_OID_IQCALIBRATIONTABLE, | |
418 | DOT11_OID_NONERPPROTECTION, | |
419 | DOT11_OID_SLOTSETTINGS, | |
420 | DOT11_OID_NONERPTIMEOUT, | |
421 | DOT11_OID_PROFILES, | |
422 | DOT11_OID_EXTENDEDRATES, | |
423 | ||
424 | DOT11_OID_DEAUTHENTICATE, | |
425 | DOT11_OID_AUTHENTICATE, | |
426 | DOT11_OID_DISASSOCIATE, | |
427 | DOT11_OID_ASSOCIATE, | |
428 | DOT11_OID_SCAN, | |
429 | DOT11_OID_BEACON, | |
430 | DOT11_OID_PROBE, | |
431 | DOT11_OID_DEAUTHENTICATEEX, | |
432 | DOT11_OID_AUTHENTICATEEX, | |
433 | DOT11_OID_DISASSOCIATEEX, | |
434 | DOT11_OID_ASSOCIATEEX, | |
435 | DOT11_OID_REASSOCIATE, | |
436 | DOT11_OID_REASSOCIATEEX, | |
437 | ||
438 | DOT11_OID_NONERPSTATUS, | |
439 | ||
440 | DOT11_OID_STATIMEOUT, | |
441 | DOT11_OID_MLMEAUTOLEVEL, | |
442 | DOT11_OID_BSSTIMEOUT, | |
443 | DOT11_OID_ATTACHMENT, | |
444 | DOT11_OID_PSMBUFFER, | |
445 | ||
446 | DOT11_OID_BSSS, | |
447 | DOT11_OID_BSSX, /*DOT11_OID_BSS1,...,DOT11_OID_BSS64 */ | |
448 | DOT11_OID_BSSFIND, | |
449 | DOT11_OID_BSSLIST, | |
450 | ||
451 | OID_INL_TUNNEL, | |
452 | OID_INL_MEMADDR, | |
453 | OID_INL_MEMORY, | |
454 | OID_INL_MODE, | |
455 | OID_INL_COMPONENT_NR, | |
456 | OID_INL_VERSION, | |
457 | OID_INL_INTERFACE_ID, | |
458 | OID_INL_COMPONENT_ID, | |
459 | OID_INL_CONFIG, | |
460 | OID_INL_DOT11D_CONFORMANCE, | |
461 | OID_INL_PHYCAPABILITIES, | |
462 | OID_INL_OUTPUTPOWER, | |
463 | ||
464 | OID_NUM_LAST | |
465 | }; | |
466 | ||
467 | #define OID_FLAG_CACHED 0x80 | |
468 | #define OID_FLAG_TYPE 0x7f | |
469 | ||
470 | #define OID_TYPE_U32 0x01 | |
471 | #define OID_TYPE_SSID 0x02 | |
472 | #define OID_TYPE_KEY 0x03 | |
473 | #define OID_TYPE_BUFFER 0x04 | |
474 | #define OID_TYPE_BSS 0x05 | |
475 | #define OID_TYPE_BSSLIST 0x06 | |
476 | #define OID_TYPE_FREQUENCIES 0x07 | |
477 | #define OID_TYPE_MLME 0x08 | |
478 | #define OID_TYPE_MLMEEX 0x09 | |
479 | #define OID_TYPE_ADDR 0x0A | |
480 | #define OID_TYPE_RAW 0x0B | |
481 | #define OID_TYPE_ATTACH 0x0C | |
482 | ||
483 | /* OID_TYPE_MLMEEX is special because of a variable size field when sending. | |
484 | * Not yet implemented (not used in driver anyway). | |
485 | */ | |
486 | ||
487 | struct oid_t { | |
488 | enum oid_num_t oid; | |
489 | short range; /* to define a range of oid */ | |
490 | short size; /* max size of the associated data */ | |
491 | char flags; | |
492 | }; | |
493 | ||
494 | union oid_res_t { | |
495 | void *ptr; | |
496 | u32 u; | |
497 | }; | |
498 | ||
499 | #define IWMAX_BITRATES 20 | |
500 | #define IWMAX_BSS 24 | |
501 | #define IWMAX_FREQ 30 | |
502 | #define PRIV_STR_SIZE 1024 | |
503 | ||
504 | #endif /* !defined(_ISL_OID_H) */ | |
505 | /* EOF */ |