• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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