2 * This header file contains definition for global types
7 #include <linux/if_ether.h>
8 #include <asm/byteorder.h>
10 /** IEEE type definitions */
11 enum ieeetypes_elementid {
23 EXTENDED_SUPPORTED_RATES = 50,
25 VENDOR_SPECIFIC_221 = 221,
31 } __attribute__ ((packed));
34 #define CAPINFO_MASK (~(0xda00))
36 #define CAPINFO_MASK (~(0x00da))
39 struct ieeetypes_capinfo {
40 #ifdef __BIG_ENDIAN_BITFIELD
73 } __attribute__ ((packed));
75 struct ieeetypes_cfparamset {
80 __le16 cfpmaxduration;
81 __le16 cfpdurationremaining;
82 } __attribute__ ((packed));
85 struct ieeetypes_ibssparamset {
89 } __attribute__ ((packed));
91 union IEEEtypes_ssparamset {
92 struct ieeetypes_cfparamset cfparamset;
93 struct ieeetypes_ibssparamset ibssparamset;
94 } __attribute__ ((packed));
96 struct ieeetypes_fhparamset {
103 } __attribute__ ((packed));
105 struct ieeetypes_dsparamset {
109 } __attribute__ ((packed));
111 union ieeetypes_phyparamset {
112 struct ieeetypes_fhparamset fhparamset;
113 struct ieeetypes_dsparamset dsparamset;
114 } __attribute__ ((packed));
116 struct ieeetypes_assocrsp {
117 struct ieeetypes_capinfo capability;
121 } __attribute__ ((packed));
123 /** TLV type ID definition */
124 #define PROPRIETARY_TLV_BASE_ID 0x0100
126 /* Terminating TLV type */
127 #define MRVL_TERMINATE_TLV_ID 0xffff
129 #define TLV_TYPE_SSID 0x0000
130 #define TLV_TYPE_RATES 0x0001
131 #define TLV_TYPE_PHY_FH 0x0002
132 #define TLV_TYPE_PHY_DS 0x0003
133 #define TLV_TYPE_CF 0x0004
134 #define TLV_TYPE_IBSS 0x0006
136 #define TLV_TYPE_DOMAIN 0x0007
138 #define TLV_TYPE_POWER_CAPABILITY 0x0021
140 #define TLV_TYPE_KEY_MATERIAL (PROPRIETARY_TLV_BASE_ID + 0)
141 #define TLV_TYPE_CHANLIST (PROPRIETARY_TLV_BASE_ID + 1)
142 #define TLV_TYPE_NUMPROBES (PROPRIETARY_TLV_BASE_ID + 2)
143 #define TLV_TYPE_RSSI_LOW (PROPRIETARY_TLV_BASE_ID + 4)
144 #define TLV_TYPE_SNR_LOW (PROPRIETARY_TLV_BASE_ID + 5)
145 #define TLV_TYPE_FAILCOUNT (PROPRIETARY_TLV_BASE_ID + 6)
146 #define TLV_TYPE_BCNMISS (PROPRIETARY_TLV_BASE_ID + 7)
147 #define TLV_TYPE_LED_GPIO (PROPRIETARY_TLV_BASE_ID + 8)
148 #define TLV_TYPE_LEDBEHAVIOR (PROPRIETARY_TLV_BASE_ID + 9)
149 #define TLV_TYPE_PASSTHROUGH (PROPRIETARY_TLV_BASE_ID + 10)
150 #define TLV_TYPE_REASSOCAP (PROPRIETARY_TLV_BASE_ID + 11)
151 #define TLV_TYPE_POWER_TBL_2_4GHZ (PROPRIETARY_TLV_BASE_ID + 12)
152 #define TLV_TYPE_POWER_TBL_5GHZ (PROPRIETARY_TLV_BASE_ID + 13)
153 #define TLV_TYPE_BCASTPROBE (PROPRIETARY_TLV_BASE_ID + 14)
154 #define TLV_TYPE_NUMSSID_PROBE (PROPRIETARY_TLV_BASE_ID + 15)
155 #define TLV_TYPE_WMMQSTATUS (PROPRIETARY_TLV_BASE_ID + 16)
156 #define TLV_TYPE_CRYPTO_DATA (PROPRIETARY_TLV_BASE_ID + 17)
157 #define TLV_TYPE_WILDCARDSSID (PROPRIETARY_TLV_BASE_ID + 18)
158 #define TLV_TYPE_TSFTIMESTAMP (PROPRIETARY_TLV_BASE_ID + 19)
159 #define TLV_TYPE_RSSI_HIGH (PROPRIETARY_TLV_BASE_ID + 22)
160 #define TLV_TYPE_SNR_HIGH (PROPRIETARY_TLV_BASE_ID + 23)
162 /** TLV related data structures*/
163 struct mrvlietypesheader {
166 } __attribute__ ((packed));
168 struct mrvlietypes_data {
169 struct mrvlietypesheader header;
171 } __attribute__ ((packed));
173 struct mrvlietypes_ratesparamset {
174 struct mrvlietypesheader header;
176 } __attribute__ ((packed));
178 struct mrvlietypes_ssidparamset {
179 struct mrvlietypesheader header;
181 } __attribute__ ((packed));
183 struct mrvlietypes_wildcardssidparamset {
184 struct mrvlietypesheader header;
187 } __attribute__ ((packed));
189 struct chanscanmode {
190 #ifdef __BIG_ENDIAN_BITFIELD
192 u8 disablechanfilt:1;
196 u8 disablechanfilt:1;
199 } __attribute__ ((packed));
201 struct chanscanparamset {
204 struct chanscanmode chanscanmode;
207 } __attribute__ ((packed));
209 struct mrvlietypes_chanlistparamset {
210 struct mrvlietypesheader header;
211 struct chanscanparamset chanscanparam[1];
212 } __attribute__ ((packed));
217 __le16 cfpmaxduration;
218 __le16 cfpdurationremaining;
219 } __attribute__ ((packed));
221 struct ibssparamset {
223 } __attribute__ ((packed));
225 struct mrvlietypes_ssparamset {
226 struct mrvlietypesheader header;
228 struct cfparamset cfparamset[1];
229 struct ibssparamset ibssparamset[1];
231 } __attribute__ ((packed));
238 } __attribute__ ((packed));
242 } __attribute__ ((packed));
244 struct mrvlietypes_phyparamset {
245 struct mrvlietypesheader header;
247 struct fhparamset fhparamset[1];
248 struct dsparamset dsparamset[1];
250 } __attribute__ ((packed));
252 struct mrvlietypes_rsnparamset {
253 struct mrvlietypesheader header;
255 } __attribute__ ((packed));
257 struct mrvlietypes_tsftimestamp {
258 struct mrvlietypesheader header;
260 } __attribute__ ((packed));
262 /** Local Power capability */
263 struct mrvlietypes_powercapability {
264 struct mrvlietypesheader header;
267 } __attribute__ ((packed));
269 struct mrvlietypes_rssithreshold {
270 struct mrvlietypesheader header;
273 } __attribute__ ((packed));
275 struct mrvlietypes_snrthreshold {
276 struct mrvlietypesheader header;
279 } __attribute__ ((packed));
281 struct mrvlietypes_failurecount {
282 struct mrvlietypesheader header;
285 } __attribute__ ((packed));
287 struct mrvlietypes_beaconsmissed {
288 struct mrvlietypesheader header;
291 } __attribute__ ((packed));
293 struct mrvlietypes_numprobes {
294 struct mrvlietypesheader header;
296 } __attribute__ ((packed));
298 struct mrvlietypes_bcastprobe {
299 struct mrvlietypesheader header;
301 } __attribute__ ((packed));
303 struct mrvlietypes_numssidprobe {
304 struct mrvlietypesheader header;
306 } __attribute__ ((packed));
311 } __attribute__ ((packed));
313 struct mrvlietypes_ledgpio {
314 struct mrvlietypesheader header;
315 struct led_pin ledpin[1];
316 } __attribute__ ((packed));
318 #endif /* _WLAN_TYPES_ */