| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org> | 
					
						
							|  |  |  |  *  Copyright (C) 2004 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu> | 
					
						
							|  |  |  |  *  Copyright (C) 2004 Aurelien Alleaume <slts@free.fr> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  *  it under the terms of the GNU General Public License as published by | 
					
						
							|  |  |  |  *  the Free Software Foundation; either version 2 of the License | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  *  GNU General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  |  *  along with this program; if not, write to the Free Software | 
					
						
							|  |  |  |  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #if !defined(_ISL_OID_H)
 | 
					
						
							|  |  |  | #define _ISL_OID_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * MIB related constant and structure definitions for communicating | 
					
						
							|  |  |  |  * with the device firmware | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct obj_ssid { | 
					
						
							|  |  |  | 	u8 length; | 
					
						
							|  |  |  | 	char octets[33]; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_key { | 
					
						
							|  |  |  | 	u8 type;		/* dot11_priv_t */ | 
					
						
							|  |  |  | 	u8 length; | 
					
						
							|  |  |  | 	char key[32]; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_mlme { | 
					
						
							|  |  |  | 	u8 address[6]; | 
					
						
							|  |  |  | 	u16 id; | 
					
						
							|  |  |  | 	u16 state; | 
					
						
							|  |  |  | 	u16 code; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_mlmeex { | 
					
						
							|  |  |  | 	u8 address[6]; | 
					
						
							|  |  |  | 	u16 id; | 
					
						
							|  |  |  | 	u16 state; | 
					
						
							|  |  |  | 	u16 code; | 
					
						
							|  |  |  | 	u16 size; | 
					
						
							|  |  |  | 	u8 data[0]; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_buffer { | 
					
						
							|  |  |  | 	u32 size; | 
					
						
							|  |  |  | 	u32 addr;		/* 32bit bus address */ | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_bss { | 
					
						
							|  |  |  | 	u8 address[6]; | 
					
						
							|  |  |  | 	int:16;			/* padding */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	char state; | 
					
						
							|  |  |  | 	char reserved; | 
					
						
							|  |  |  | 	short age; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	char quality; | 
					
						
							|  |  |  | 	char rssi; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	struct obj_ssid ssid; | 
					
						
							|  |  |  | 	short channel; | 
					
						
							|  |  |  | 	char beacon_period; | 
					
						
							|  |  |  | 	char dtim_period; | 
					
						
							|  |  |  | 	short capinfo; | 
					
						
							|  |  |  | 	short rates; | 
					
						
							|  |  |  | 	short basic_rates; | 
					
						
							|  |  |  | 	int:16;			/* padding */ | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_bsslist { | 
					
						
							|  |  |  | 	u32 nr; | 
					
						
							|  |  |  | 	struct obj_bss bsslist[0]; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_frequencies { | 
					
						
							|  |  |  | 	u16 nr; | 
					
						
							|  |  |  | 	u16 mhz[0]; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct obj_attachment { | 
					
						
							|  |  |  | 	char type; | 
					
						
							|  |  |  | 	char reserved; | 
					
						
							|  |  |  | 	short id; | 
					
						
							|  |  |  | 	short size; | 
					
						
							|  |  |  | 	char data[0]; | 
					
						
							| 
									
										
										
										
											2010-06-02 18:10:09 +00:00
										 |  |  | } __packed; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * in case everything's ok, the inlined function below will be | 
					
						
							|  |  |  |  * optimized away by the compiler... | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | static inline void | 
					
						
							|  |  |  | __bug_on_wrong_struct_sizes(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2006-10-10 14:45:47 -07:00
										 |  |  | 	BUILD_BUG_ON(sizeof (struct obj_ssid) != 34); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_key) != 34); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_mlme) != 12); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_mlmeex) != 14); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_buffer) != 8); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_bss) != 60); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_bsslist) != 4); | 
					
						
							|  |  |  | 	BUILD_BUG_ON(sizeof (struct obj_frequencies) != 2); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum dot11_state_t { | 
					
						
							|  |  |  | 	DOT11_STATE_NONE = 0, | 
					
						
							|  |  |  | 	DOT11_STATE_AUTHING = 1, | 
					
						
							|  |  |  | 	DOT11_STATE_AUTH = 2, | 
					
						
							|  |  |  | 	DOT11_STATE_ASSOCING = 3, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_STATE_ASSOC = 5, | 
					
						
							|  |  |  | 	DOT11_STATE_IBSS = 6, | 
					
						
							|  |  |  | 	DOT11_STATE_WDS = 7 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum dot11_bsstype_t { | 
					
						
							|  |  |  | 	DOT11_BSSTYPE_NONE = 0, | 
					
						
							|  |  |  | 	DOT11_BSSTYPE_INFRA = 1, | 
					
						
							|  |  |  | 	DOT11_BSSTYPE_IBSS = 2, | 
					
						
							|  |  |  | 	DOT11_BSSTYPE_ANY = 3 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum dot11_auth_t { | 
					
						
							|  |  |  | 	DOT11_AUTH_NONE = 0, | 
					
						
							|  |  |  | 	DOT11_AUTH_OS = 1, | 
					
						
							|  |  |  | 	DOT11_AUTH_SK = 2, | 
					
						
							|  |  |  | 	DOT11_AUTH_BOTH = 3 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum dot11_mlme_t { | 
					
						
							|  |  |  | 	DOT11_MLME_AUTO = 0, | 
					
						
							|  |  |  | 	DOT11_MLME_INTERMEDIATE = 1, | 
					
						
							|  |  |  | 	DOT11_MLME_EXTENDED = 2 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum dot11_priv_t { | 
					
						
							|  |  |  | 	DOT11_PRIV_WEP = 0, | 
					
						
							|  |  |  | 	DOT11_PRIV_TKIP = 1 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Prism "Nitro" / Frameburst / "Packet Frame Grouping"
 | 
					
						
							|  |  |  |  * Value is in microseconds. Represents the # microseconds | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  |  * the firmware will take to group frames before sending out then out | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * together with a CSMA contention. Without this all frames are | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  |  * sent with a CSMA contention. | 
					
						
							|  |  |  |  * Bibliography: | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * http://www.hpl.hp.com/personal/Jean_Tourrilhes/Papers/Packet.Frame.Grouping.html
 | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | enum dot11_maxframeburst_t { | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	/* Values for DOT11_OID_MAXFRAMEBURST */ | 
					
						
							|  |  |  | 	DOT11_MAXFRAMEBURST_OFF = 0, /* Card firmware default */ | 
					
						
							|  |  |  | 	DOT11_MAXFRAMEBURST_MIXED_SAFE = 650, /* 802.11 a,b,g safe */ | 
					
						
							|  |  |  | 	DOT11_MAXFRAMEBURST_IDEAL = 1300, /* Theoretical ideal level */ | 
					
						
							|  |  |  | 	DOT11_MAXFRAMEBURST_MAX = 5000, /* Use this as max,
 | 
					
						
							|  |  |  | 		* Note: firmware allows for greater values. This is a | 
					
						
							|  |  |  | 		* recommended max. I'll update this as I find | 
					
						
							|  |  |  | 		* out what the real MAX is. Also note that you don't necessarily | 
					
						
							|  |  |  | 		* get better results with a greater value here. | 
					
						
							|  |  |  | 		*/ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Support for 802.11 long and short frame preambles.
 | 
					
						
							|  |  |  |  * Long	 preamble uses 128-bit sync field, 8-bit  CRC | 
					
						
							|  |  |  |  * Short preamble uses 56-bit  sync field, 16-bit CRC | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * 802.11a -- not sure, both optionally ? | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  |  * 802.11b supports long and optionally short | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * 802.11g supports both */ | 
					
						
							|  |  |  | enum dot11_preamblesettings_t { | 
					
						
							|  |  |  | 	DOT11_PREAMBLESETTING_LONG = 0, | 
					
						
							|  |  |  | 		/* Allows *only* long 802.11 preambles */ | 
					
						
							|  |  |  | 	DOT11_PREAMBLESETTING_SHORT = 1, | 
					
						
							|  |  |  | 		/* Allows *only* short 802.11 preambles */ | 
					
						
							|  |  |  | 	DOT11_PREAMBLESETTING_DYNAMIC = 2 | 
					
						
							|  |  |  | 		/* AutomatiGically set */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Support for 802.11 slot timing (time between packets).
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Long uses 802.11a slot timing  (9 usec ?) | 
					
						
							|  |  |  |  * Short uses 802.11b slot timing (20 use ?) */ | 
					
						
							|  |  |  | enum dot11_slotsettings_t { | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | 	DOT11_SLOTSETTINGS_LONG = 0, | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 		/* Allows *only* long 802.11b slot timing */ | 
					
						
							|  |  |  | 	DOT11_SLOTSETTINGS_SHORT = 1, | 
					
						
							|  |  |  | 		/* Allows *only* long 802.11a slot timing */ | 
					
						
							|  |  |  | 	DOT11_SLOTSETTINGS_DYNAMIC = 2 | 
					
						
							|  |  |  | 		/* AutomatiGically set */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* All you need to know, ERP is "Extended Rate PHY".
 | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  |  * An Extended Rate PHY (ERP) STA or AP shall support three different | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * preamble and header formats: | 
					
						
							|  |  |  |  * Long  preamble (refer to above) | 
					
						
							|  |  |  |  * Short preamble (refer to above) | 
					
						
							|  |  |  |  * OFDM  preamble ( ? ) | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * I'm assuming here Protection tells the AP | 
					
						
							|  |  |  |  * to be careful, a STA which cannot handle the long pre-amble | 
					
						
							|  |  |  |  * has joined. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | enum do11_nonerpstatus_t { | 
					
						
							|  |  |  | 	DOT11_ERPSTAT_NONEPRESENT = 0, | 
					
						
							|  |  |  | 	DOT11_ERPSTAT_USEPROTECTION = 1 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* (ERP is "Extended Rate PHY") Way to read NONERP is NON-ERP-*
 | 
					
						
							|  |  |  |  * The key here is DOT11 NON ERP NEVER protects against | 
					
						
							|  |  |  |  * NON ERP STA's. You *don't* want this unless | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  |  * you know what you are doing. It means you will only | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * get Extended Rate capabilities */ | 
					
						
							|  |  |  | enum dot11_nonerpprotection_t { | 
					
						
							|  |  |  | 	DOT11_NONERP_NEVER = 0, | 
					
						
							|  |  |  | 	DOT11_NONERP_ALWAYS = 1, | 
					
						
							|  |  |  | 	DOT11_NONERP_DYNAMIC = 2 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | /* Preset OID configuration for 802.11 modes
 | 
					
						
							|  |  |  |  * Note: DOT11_OID_CW[MIN|MAX] hold the values of the | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * DCS MIN|MAX backoff used */ | 
					
						
							|  |  |  | enum dot11_profile_t { /* And set/allowed values */ | 
					
						
							|  |  |  | 	/* Allowed values for DOT11_OID_PROFILES */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_B_ONLY = 0, | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | 		/* DOT11_OID_RATES: 1, 2, 5.5, 11Mbps
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 		 * DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_DYNAMIC | 
					
						
							|  |  |  | 		 * DOT11_OID_CWMIN: 31 | 
					
						
							|  |  |  | 		 * DOT11_OID_NONEPROTECTION: DOT11_NOERP_DYNAMIC | 
					
						
							|  |  |  | 		 * DOT11_OID_SLOTSETTINGS: DOT11_SLOTSETTINGS_LONG | 
					
						
							|  |  |  | 		 */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_MIXED_G_WIFI = 1, | 
					
						
							|  |  |  | 		/* DOT11_OID_RATES: 1, 2, 5.5, 11, 6, 9, 12, 18, 24, 36, 48, 54Mbs
 | 
					
						
							|  |  |  | 		 * DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_DYNAMIC | 
					
						
							|  |  |  | 		 * DOT11_OID_CWMIN: 15 | 
					
						
							|  |  |  | 		 * DOT11_OID_NONEPROTECTION: DOT11_NOERP_DYNAMIC | 
					
						
							|  |  |  | 		 * DOT11_OID_SLOTSETTINGS: DOT11_SLOTSETTINGS_DYNAMIC | 
					
						
							|  |  |  | 		 */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_MIXED_LONG = 2, /* "Long range" */ | 
					
						
							|  |  |  | 		/* Same as Profile MIXED_G_WIFI */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_G_ONLY = 3, | 
					
						
							|  |  |  | 		/* Same as Profile MIXED_G_WIFI */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_TEST = 4, | 
					
						
							|  |  |  | 		/* Same as Profile MIXED_G_WIFI except:
 | 
					
						
							|  |  |  | 		 * DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_SHORT | 
					
						
							|  |  |  | 		 * DOT11_OID_NONEPROTECTION: DOT11_NOERP_NEVER | 
					
						
							|  |  |  | 		 * DOT11_OID_SLOTSETTINGS: DOT11_SLOTSETTINGS_SHORT | 
					
						
							|  |  |  | 		 */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_B_WIFI = 5, | 
					
						
							|  |  |  | 		/* Same as Profile B_ONLY */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_A_ONLY = 6, | 
					
						
							|  |  |  | 		/* Same as Profile MIXED_G_WIFI except:
 | 
					
						
							|  |  |  | 		 * DOT11_OID_RATES: 6, 9, 12, 18, 24, 36, 48, 54Mbs | 
					
						
							|  |  |  | 		 */ | 
					
						
							|  |  |  | 	DOT11_PROFILE_MIXED_SHORT = 7 | 
					
						
							|  |  |  | 		/* Same as MIXED_G_WIFI */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* The dot11d conformance level configures the 802.11d conformance levels.
 | 
					
						
							|  |  |  |  * The following conformance levels exist:*/ | 
					
						
							|  |  |  | enum oid_inl_conformance_t { | 
					
						
							|  |  |  | 	OID_INL_CONFORMANCE_NONE = 0,	/* Perform active scanning */ | 
					
						
							|  |  |  | 	OID_INL_CONFORMANCE_STRICT = 1,	/* Strictly adhere to 802.11d */ | 
					
						
							|  |  |  | 	OID_INL_CONFORMANCE_FLEXIBLE = 2,	/* Use passed 802.11d info to
 | 
					
						
							| 
									
										
										
										
											2006-10-08 00:38:15 -04:00
										 |  |  | 		* determine channel AND/OR just make assumption that active | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 		* channels are valid  channels */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum oid_inl_mode_t { | 
					
						
							|  |  |  | 	INL_MODE_NONE = -1, | 
					
						
							|  |  |  | 	INL_MODE_PROMISCUOUS = 0, | 
					
						
							|  |  |  | 	INL_MODE_CLIENT = 1, | 
					
						
							|  |  |  | 	INL_MODE_AP = 2, | 
					
						
							|  |  |  | 	INL_MODE_SNIFFER = 3 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum oid_inl_config_t { | 
					
						
							|  |  |  | 	INL_CONFIG_NOTHING = 0x00, | 
					
						
							|  |  |  | 	INL_CONFIG_MANUALRUN = 0x01, | 
					
						
							|  |  |  | 	INL_CONFIG_FRAMETRAP = 0x02, | 
					
						
							|  |  |  | 	INL_CONFIG_RXANNEX = 0x04, | 
					
						
							|  |  |  | 	INL_CONFIG_TXANNEX = 0x08, | 
					
						
							|  |  |  | 	INL_CONFIG_WDS = 0x10 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum oid_inl_phycap_t { | 
					
						
							|  |  |  | 	INL_PHYCAP_2400MHZ = 1, | 
					
						
							|  |  |  | 	INL_PHYCAP_5000MHZ = 2, | 
					
						
							|  |  |  | 	INL_PHYCAP_FAA = 0x80000000,	/* Means card supports the FAA switch */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum oid_num_t { | 
					
						
							|  |  |  | 	GEN_OID_MACADDRESS = 0, | 
					
						
							|  |  |  | 	GEN_OID_LINKSTATE, | 
					
						
							|  |  |  | 	GEN_OID_WATCHDOG, | 
					
						
							|  |  |  | 	GEN_OID_MIBOP, | 
					
						
							|  |  |  | 	GEN_OID_OPTIONS, | 
					
						
							|  |  |  | 	GEN_OID_LEDCONFIG, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* 802.11 */ | 
					
						
							|  |  |  | 	DOT11_OID_BSSTYPE, | 
					
						
							|  |  |  | 	DOT11_OID_BSSID, | 
					
						
							|  |  |  | 	DOT11_OID_SSID, | 
					
						
							|  |  |  | 	DOT11_OID_STATE, | 
					
						
							|  |  |  | 	DOT11_OID_AID, | 
					
						
							|  |  |  | 	DOT11_OID_COUNTRYSTRING, | 
					
						
							|  |  |  | 	DOT11_OID_SSIDOVERRIDE, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_MEDIUMLIMIT, | 
					
						
							|  |  |  | 	DOT11_OID_BEACONPERIOD, | 
					
						
							|  |  |  | 	DOT11_OID_DTIMPERIOD, | 
					
						
							|  |  |  | 	DOT11_OID_ATIMWINDOW, | 
					
						
							|  |  |  | 	DOT11_OID_LISTENINTERVAL, | 
					
						
							|  |  |  | 	DOT11_OID_CFPPERIOD, | 
					
						
							|  |  |  | 	DOT11_OID_CFPDURATION, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_AUTHENABLE, | 
					
						
							|  |  |  | 	DOT11_OID_PRIVACYINVOKED, | 
					
						
							|  |  |  | 	DOT11_OID_EXUNENCRYPTED, | 
					
						
							|  |  |  | 	DOT11_OID_DEFKEYID, | 
					
						
							|  |  |  | 	DOT11_OID_DEFKEYX,	/* DOT11_OID_DEFKEY1,...DOT11_OID_DEFKEY4 */ | 
					
						
							|  |  |  | 	DOT11_OID_STAKEY, | 
					
						
							|  |  |  | 	DOT11_OID_REKEYTHRESHOLD, | 
					
						
							|  |  |  | 	DOT11_OID_STASC, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_PRIVTXREJECTED, | 
					
						
							|  |  |  | 	DOT11_OID_PRIVRXPLAIN, | 
					
						
							|  |  |  | 	DOT11_OID_PRIVRXFAILED, | 
					
						
							|  |  |  | 	DOT11_OID_PRIVRXNOKEY, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_RTSTHRESH, | 
					
						
							|  |  |  | 	DOT11_OID_FRAGTHRESH, | 
					
						
							|  |  |  | 	DOT11_OID_SHORTRETRIES, | 
					
						
							|  |  |  | 	DOT11_OID_LONGRETRIES, | 
					
						
							|  |  |  | 	DOT11_OID_MAXTXLIFETIME, | 
					
						
							|  |  |  | 	DOT11_OID_MAXRXLIFETIME, | 
					
						
							|  |  |  | 	DOT11_OID_AUTHRESPTIMEOUT, | 
					
						
							|  |  |  | 	DOT11_OID_ASSOCRESPTIMEOUT, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_TABLE, | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_CTRL_TABLE, | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_RETREAT, | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_PROGRESS, | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_FIXEDRATE, | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_RSSIGRAPH, | 
					
						
							|  |  |  | 	DOT11_OID_ALOFT_CONFIG, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_VDCFX, | 
					
						
							|  |  |  | 	DOT11_OID_MAXFRAMEBURST, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_PSM, | 
					
						
							|  |  |  | 	DOT11_OID_CAMTIMEOUT, | 
					
						
							|  |  |  | 	DOT11_OID_RECEIVEDTIMS, | 
					
						
							|  |  |  | 	DOT11_OID_ROAMPREFERENCE, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_BRIDGELOCAL, | 
					
						
							|  |  |  | 	DOT11_OID_CLIENTS, | 
					
						
							|  |  |  | 	DOT11_OID_CLIENTSASSOCIATED, | 
					
						
							|  |  |  | 	DOT11_OID_CLIENTX,	/* DOT11_OID_CLIENTX,...DOT11_OID_CLIENT2007 */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_CLIENTFIND, | 
					
						
							|  |  |  | 	DOT11_OID_WDSLINKADD, | 
					
						
							|  |  |  | 	DOT11_OID_WDSLINKREMOVE, | 
					
						
							|  |  |  | 	DOT11_OID_EAPAUTHSTA, | 
					
						
							|  |  |  | 	DOT11_OID_EAPUNAUTHSTA, | 
					
						
							|  |  |  | 	DOT11_OID_DOT1XENABLE, | 
					
						
							|  |  |  | 	DOT11_OID_MICFAILURE, | 
					
						
							|  |  |  | 	DOT11_OID_REKEYINDICATE, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_MPDUTXSUCCESSFUL, | 
					
						
							|  |  |  | 	DOT11_OID_MPDUTXONERETRY, | 
					
						
							|  |  |  | 	DOT11_OID_MPDUTXMULTIPLERETRIES, | 
					
						
							|  |  |  | 	DOT11_OID_MPDUTXFAILED, | 
					
						
							|  |  |  | 	DOT11_OID_MPDURXSUCCESSFUL, | 
					
						
							|  |  |  | 	DOT11_OID_MPDURXDUPS, | 
					
						
							|  |  |  | 	DOT11_OID_RTSSUCCESSFUL, | 
					
						
							|  |  |  | 	DOT11_OID_RTSFAILED, | 
					
						
							|  |  |  | 	DOT11_OID_ACKFAILED, | 
					
						
							|  |  |  | 	DOT11_OID_FRAMERECEIVES, | 
					
						
							|  |  |  | 	DOT11_OID_FRAMEERRORS, | 
					
						
							|  |  |  | 	DOT11_OID_FRAMEABORTS, | 
					
						
							|  |  |  | 	DOT11_OID_FRAMEABORTSPHY, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_SLOTTIME, | 
					
						
							|  |  |  | 	DOT11_OID_CWMIN, /* MIN DCS backoff */ | 
					
						
							|  |  |  | 	DOT11_OID_CWMAX, /* MAX DCS backoff */ | 
					
						
							|  |  |  | 	DOT11_OID_ACKWINDOW, | 
					
						
							|  |  |  | 	DOT11_OID_ANTENNARX, | 
					
						
							|  |  |  | 	DOT11_OID_ANTENNATX, | 
					
						
							|  |  |  | 	DOT11_OID_ANTENNADIVERSITY, | 
					
						
							|  |  |  | 	DOT11_OID_CHANNEL, | 
					
						
							|  |  |  | 	DOT11_OID_EDTHRESHOLD, | 
					
						
							|  |  |  | 	DOT11_OID_PREAMBLESETTINGS, | 
					
						
							|  |  |  | 	DOT11_OID_RATES, | 
					
						
							|  |  |  | 	DOT11_OID_CCAMODESUPPORTED, | 
					
						
							|  |  |  | 	DOT11_OID_CCAMODE, | 
					
						
							|  |  |  | 	DOT11_OID_RSSIVECTOR, | 
					
						
							|  |  |  | 	DOT11_OID_OUTPUTPOWERTABLE, | 
					
						
							|  |  |  | 	DOT11_OID_OUTPUTPOWER, | 
					
						
							|  |  |  | 	DOT11_OID_SUPPORTEDRATES, | 
					
						
							|  |  |  | 	DOT11_OID_FREQUENCY, | 
					
						
							|  |  |  | 	DOT11_OID_SUPPORTEDFREQUENCIES, | 
					
						
							|  |  |  | 	DOT11_OID_NOISEFLOOR, | 
					
						
							|  |  |  | 	DOT11_OID_FREQUENCYACTIVITY, | 
					
						
							|  |  |  | 	DOT11_OID_IQCALIBRATIONTABLE, | 
					
						
							|  |  |  | 	DOT11_OID_NONERPPROTECTION, | 
					
						
							|  |  |  | 	DOT11_OID_SLOTSETTINGS, | 
					
						
							|  |  |  | 	DOT11_OID_NONERPTIMEOUT, | 
					
						
							|  |  |  | 	DOT11_OID_PROFILES, | 
					
						
							|  |  |  | 	DOT11_OID_EXTENDEDRATES, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_DEAUTHENTICATE, | 
					
						
							|  |  |  | 	DOT11_OID_AUTHENTICATE, | 
					
						
							|  |  |  | 	DOT11_OID_DISASSOCIATE, | 
					
						
							|  |  |  | 	DOT11_OID_ASSOCIATE, | 
					
						
							|  |  |  | 	DOT11_OID_SCAN, | 
					
						
							|  |  |  | 	DOT11_OID_BEACON, | 
					
						
							|  |  |  | 	DOT11_OID_PROBE, | 
					
						
							|  |  |  | 	DOT11_OID_DEAUTHENTICATEEX, | 
					
						
							|  |  |  | 	DOT11_OID_AUTHENTICATEEX, | 
					
						
							|  |  |  | 	DOT11_OID_DISASSOCIATEEX, | 
					
						
							|  |  |  | 	DOT11_OID_ASSOCIATEEX, | 
					
						
							|  |  |  | 	DOT11_OID_REASSOCIATE, | 
					
						
							|  |  |  | 	DOT11_OID_REASSOCIATEEX, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_NONERPSTATUS, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_STATIMEOUT, | 
					
						
							|  |  |  | 	DOT11_OID_MLMEAUTOLEVEL, | 
					
						
							|  |  |  | 	DOT11_OID_BSSTIMEOUT, | 
					
						
							|  |  |  | 	DOT11_OID_ATTACHMENT, | 
					
						
							|  |  |  | 	DOT11_OID_PSMBUFFER, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	DOT11_OID_BSSS, | 
					
						
							|  |  |  | 	DOT11_OID_BSSX,		/*DOT11_OID_BSS1,...,DOT11_OID_BSS64 */ | 
					
						
							|  |  |  | 	DOT11_OID_BSSFIND, | 
					
						
							|  |  |  | 	DOT11_OID_BSSLIST, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OID_INL_TUNNEL, | 
					
						
							|  |  |  | 	OID_INL_MEMADDR, | 
					
						
							|  |  |  | 	OID_INL_MEMORY, | 
					
						
							|  |  |  | 	OID_INL_MODE, | 
					
						
							|  |  |  | 	OID_INL_COMPONENT_NR, | 
					
						
							|  |  |  | 	OID_INL_VERSION, | 
					
						
							|  |  |  | 	OID_INL_INTERFACE_ID, | 
					
						
							|  |  |  | 	OID_INL_COMPONENT_ID, | 
					
						
							|  |  |  | 	OID_INL_CONFIG, | 
					
						
							|  |  |  | 	OID_INL_DOT11D_CONFORMANCE, | 
					
						
							|  |  |  | 	OID_INL_PHYCAPABILITIES, | 
					
						
							|  |  |  | 	OID_INL_OUTPUTPOWER, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OID_NUM_LAST | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define OID_FLAG_CACHED		0x80
 | 
					
						
							|  |  |  | #define OID_FLAG_TYPE		0x7f
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define OID_TYPE_U32		0x01
 | 
					
						
							|  |  |  | #define OID_TYPE_SSID		0x02
 | 
					
						
							|  |  |  | #define OID_TYPE_KEY		0x03
 | 
					
						
							|  |  |  | #define OID_TYPE_BUFFER		0x04
 | 
					
						
							|  |  |  | #define OID_TYPE_BSS		0x05
 | 
					
						
							|  |  |  | #define OID_TYPE_BSSLIST	0x06
 | 
					
						
							|  |  |  | #define OID_TYPE_FREQUENCIES	0x07
 | 
					
						
							|  |  |  | #define OID_TYPE_MLME		0x08
 | 
					
						
							|  |  |  | #define OID_TYPE_MLMEEX		0x09
 | 
					
						
							|  |  |  | #define OID_TYPE_ADDR		0x0A
 | 
					
						
							|  |  |  | #define OID_TYPE_RAW		0x0B
 | 
					
						
							|  |  |  | #define OID_TYPE_ATTACH		0x0C
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* OID_TYPE_MLMEEX is special because of a variable size field when sending.
 | 
					
						
							|  |  |  |  * Not yet implemented (not used in driver anyway). | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct oid_t { | 
					
						
							|  |  |  | 	enum oid_num_t oid; | 
					
						
							|  |  |  | 	short range;		/* to define a range of oid */ | 
					
						
							|  |  |  | 	short size;		/* max size of the associated data */ | 
					
						
							|  |  |  | 	char flags; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | union oid_res_t { | 
					
						
							|  |  |  | 	void *ptr; | 
					
						
							|  |  |  | 	u32 u; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define	IWMAX_BITRATES	20
 | 
					
						
							|  |  |  | #define	IWMAX_BSS	24
 | 
					
						
							|  |  |  | #define IWMAX_FREQ	30
 | 
					
						
							|  |  |  | #define PRIV_STR_SIZE	1024
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif				/* !defined(_ISL_OID_H) */
 | 
					
						
							|  |  |  | /* EOF */ |