Staging: w35und: remove hw_data_t typedef
[linux-2.6] / drivers / staging / winbond / gl_80211.h
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