added 2.6.29.6 aldebaran kernel
[nao-ulib.git] / kernel / 2.6.29.6-aldebaran-rt / drivers / staging / winbond / gl_80211.h
blob5a244c44a61a95dbd05a970dd25c301da3ce2e65
1 #ifndef __GL_80211_H__
2 #define __GL_80211_H__
4 #include <linux/types.h>
6 /****************** CONSTANT AND MACRO SECTION ******************************/
8 /* BSS Type */
9 enum {
10 WLAN_BSSTYPE_INFRASTRUCTURE = 0,
11 WLAN_BSSTYPE_INDEPENDENT,
12 WLAN_BSSTYPE_ANY_BSS,
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;
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;
30 /*--------------------------------------------------------------------------*/
31 /* Encryption Mode */
32 typedef enum {
33 WEP_DISABLE = 0,
34 WEP_64,
35 WEP_128,
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;
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;
52 typedef struct _WLAN_RADIO_STATUS {
53 WLAN_RADIO HWStatus;
54 WLAN_RADIO SWStatus;
55 } WLAN_RADIO_STATUS;
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
67 typedef struct _WLAN_RADIO_NOTIFICATION
69 RADIO_NOTIFICATION_HANDLER RadioChangeHandler;
70 void *Data;
71 } WLAN_RADIO_NOTIFICATION;
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
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;
88 #define REGION_NAME_MAX_LENGTH 256
90 typedef struct _WLAN_REGION_CHANNELS
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;
99 typedef struct _WLAN_REGION_CAPABILITIES
101 u32 NumberOfItems;
102 WLAN_REGION_CHANNELS Region[1];
103 } WLAN_REGION_CAPABILITIES;
105 typedef struct _region_name_map {
106 WLAN_REGION_CODE region;
107 u8 *name;
108 u32 *channels;
109 } region_name_map;
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"
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"
119 #define MICKEY2STR(a) MIC2STR(a)
120 #define MICKEYSTR MICSTR
123 #endif /* __GL_80211_H__ */
124 /*** end of file ***/