1 #ifndef __GL_80211_H__ 2 #define __GL_80211_H__ 3 4 #include <linux/types.h> 5 6 /****************** CONSTANT AND MACRO SECTION ******************************/ 7 8 /* BSS Type */ 9 enum { 10 WLAN_BSSTYPE_INFRASTRUCTURE = 0, 11 WLAN_BSSTYPE_INDEPENDENT, 12 WLAN_BSSTYPE_ANY_BSS, 13 }; 14 15 16 17 /* Preamble_Type, see <SFS-802.11G-MIB-203> */ 18 typedef enum preamble_type { 19 WLAN_PREAMBLE_TYPE_SHORT, 20 WLAN_PREAMBLE_TYPE_LONG, 21 } preamble_type_e; 22 23 24 /* Slot_Time_Type, see <SFS-802.11G-MIB-208> */ 25 typedef enum slot_time_type { 26 WLAN_SLOT_TIME_TYPE_LONG, 27 WLAN_SLOT_TIME_TYPE_SHORT, 28 } slot_time_type_e; 29 30 /*--------------------------------------------------------------------------*/ 31 /* Encryption Mode */ 32 typedef enum { 33 WEP_DISABLE = 0, 34 WEP_64, 35 WEP_128, 36 37 ENCRYPT_DISABLE, 38 ENCRYPT_WEP, 39 ENCRYPT_WEP_NOKEY, 40 ENCRYPT_TKIP, 41 ENCRYPT_TKIP_NOKEY, 42 ENCRYPT_CCMP, 43 ENCRYPT_CCMP_NOKEY, 44 } encryption_mode_e; 45 46 typedef enum _WLAN_RADIO { 47 WLAN_RADIO_ON, 48 WLAN_RADIO_OFF, 49 WLAN_RADIO_MAX, // not a real type, defined as an upper bound 50 } WLAN_RADIO; 51 52 typedef struct _WLAN_RADIO_STATUS { 53 WLAN_RADIO HWStatus; 54 WLAN_RADIO SWStatus; 55 } WLAN_RADIO_STATUS; 56 57 //---------------------------------------------------------------------------- 58 // 20041021 1.1.81.1000 ybjiang 59 // add for radio notification 60 typedef 61 void (*RADIO_NOTIFICATION_HANDLER)( 62 void *Data, 63 void *RadioStatusBuffer, 64 u32 RadioStatusBufferLen 65 ); 66 67 typedef struct _WLAN_RADIO_NOTIFICATION 68 { 69 RADIO_NOTIFICATION_HANDLER RadioChangeHandler; 70 void *Data; 71 } WLAN_RADIO_NOTIFICATION; 72 73 //---------------------------------------------------------------------------- 74 // 20041102 1.1.91.1000 ybjiang 75 // add for OID_802_11_CUST_REGION_CAPABILITIES and OID_802_11_OID_REGION 76 typedef enum _WLAN_REGION_CODE 77 { 78 WLAN_REGION_UNKNOWN, 79 WLAN_REGION_EUROPE, 80 WLAN_REGION_JAPAN, 81 WLAN_REGION_USA, 82 WLAN_REGION_FRANCE, 83 WLAN_REGION_SPAIN, 84 WLAN_REGION_ISRAEL, 85 WLAN_REGION_MAX, // not a real type, defined as an upper bound 86 } WLAN_REGION_CODE; 87 88 #define REGION_NAME_MAX_LENGTH 256 89 90 typedef struct _WLAN_REGION_CHANNELS 91 { 92 u32 Length; 93 u32 NameLength; 94 u8 Name[REGION_NAME_MAX_LENGTH]; 95 WLAN_REGION_CODE Code; 96 u32 Frequency[1]; 97 } WLAN_REGION_CHANNELS; 98 99 typedef struct _WLAN_REGION_CAPABILITIES 100 { 101 u32 NumberOfItems; 102 WLAN_REGION_CHANNELS Region[1]; 103 } WLAN_REGION_CAPABILITIES; 104 105 typedef struct _region_name_map { 106 WLAN_REGION_CODE region; 107 u8 *name; 108 u32 *channels; 109 } region_name_map; 110 111 /*--------------------------------------------------------------------------*/ 112 #define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5] 113 #define MACSTR "%02X:%02X:%02X:%02X:%02X:%02X" 114 115 // TODO: 0627 kevin 116 #define MIC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5], (a)[6], (a)[7] 117 #define MICSTR "%02X %02X %02X %02X %02X %02X %02X %02X" 118 119 #define MICKEY2STR(a) MIC2STR(a) 120 #define MICKEYSTR MICSTR 121 122 123 #endif /* __GL_80211_H__ */ 124 /*** end of file ***/ 125 126 127