2 * This header file contains definition for global types
7 #include <linux/if_ether.h>
9 /** IEEE type definitions */
10 enum ieeetypes_elementid {
22 EXTENDED_SUPPORTED_RATES = 50,
24 VENDOR_SPECIFIC_221 = 221,
30 } __attribute__ ((packed));
32 #define CAPINFO_MASK (~(0xda00))
34 struct ieeetypes_capinfo {
50 } __attribute__ ((packed));
52 struct ieeetypes_cfparamset {
58 u16 cfpdurationremaining;
59 } __attribute__ ((packed));
62 struct ieeetypes_ibssparamset {
66 } __attribute__ ((packed));
68 union IEEEtypes_ssparamset {
69 struct ieeetypes_cfparamset cfparamset;
70 struct ieeetypes_ibssparamset ibssparamset;
71 } __attribute__ ((packed));
73 struct ieeetypes_fhparamset {
80 } __attribute__ ((packed));
82 struct ieeetypes_dsparamset {
86 } __attribute__ ((packed));
88 union ieeetypes_phyparamset {
89 struct ieeetypes_fhparamset fhparamset;
90 struct ieeetypes_dsparamset dsparamset;
91 } __attribute__ ((packed));
93 struct ieeetypes_assocrsp {
94 struct ieeetypes_capinfo capability;
98 } __attribute__ ((packed));
100 /** TLV type ID definition */
101 #define PROPRIETARY_TLV_BASE_ID 0x0100
103 /* Terminating TLV type */
104 #define MRVL_TERMINATE_TLV_ID 0xffff
106 #define TLV_TYPE_SSID 0x0000
107 #define TLV_TYPE_RATES 0x0001
108 #define TLV_TYPE_PHY_FH 0x0002
109 #define TLV_TYPE_PHY_DS 0x0003
110 #define TLV_TYPE_CF 0x0004
111 #define TLV_TYPE_IBSS 0x0006
113 #define TLV_TYPE_DOMAIN 0x0007
115 #define TLV_TYPE_POWER_CAPABILITY 0x0021
117 #define TLV_TYPE_KEY_MATERIAL (PROPRIETARY_TLV_BASE_ID + 0)
118 #define TLV_TYPE_CHANLIST (PROPRIETARY_TLV_BASE_ID + 1)
119 #define TLV_TYPE_NUMPROBES (PROPRIETARY_TLV_BASE_ID + 2)
120 #define TLV_TYPE_RSSI_LOW (PROPRIETARY_TLV_BASE_ID + 4)
121 #define TLV_TYPE_SNR_LOW (PROPRIETARY_TLV_BASE_ID + 5)
122 #define TLV_TYPE_FAILCOUNT (PROPRIETARY_TLV_BASE_ID + 6)
123 #define TLV_TYPE_BCNMISS (PROPRIETARY_TLV_BASE_ID + 7)
124 #define TLV_TYPE_LED_GPIO (PROPRIETARY_TLV_BASE_ID + 8)
125 #define TLV_TYPE_LEDBEHAVIOR (PROPRIETARY_TLV_BASE_ID + 9)
126 #define TLV_TYPE_PASSTHROUGH (PROPRIETARY_TLV_BASE_ID + 10)
127 #define TLV_TYPE_REASSOCAP (PROPRIETARY_TLV_BASE_ID + 11)
128 #define TLV_TYPE_POWER_TBL_2_4GHZ (PROPRIETARY_TLV_BASE_ID + 12)
129 #define TLV_TYPE_POWER_TBL_5GHZ (PROPRIETARY_TLV_BASE_ID + 13)
130 #define TLV_TYPE_BCASTPROBE (PROPRIETARY_TLV_BASE_ID + 14)
131 #define TLV_TYPE_NUMSSID_PROBE (PROPRIETARY_TLV_BASE_ID + 15)
132 #define TLV_TYPE_WMMQSTATUS (PROPRIETARY_TLV_BASE_ID + 16)
133 #define TLV_TYPE_CRYPTO_DATA (PROPRIETARY_TLV_BASE_ID + 17)
134 #define TLV_TYPE_WILDCARDSSID (PROPRIETARY_TLV_BASE_ID + 18)
135 #define TLV_TYPE_TSFTIMESTAMP (PROPRIETARY_TLV_BASE_ID + 19)
136 #define TLV_TYPE_RSSI_HIGH (PROPRIETARY_TLV_BASE_ID + 22)
137 #define TLV_TYPE_SNR_HIGH (PROPRIETARY_TLV_BASE_ID + 23)
139 /** TLV related data structures*/
140 struct mrvlietypesheader {
143 } __attribute__ ((packed));
145 struct mrvlietypes_data {
146 struct mrvlietypesheader header;
148 } __attribute__ ((packed));
150 struct mrvlietypes_ratesparamset {
151 struct mrvlietypesheader header;
153 } __attribute__ ((packed));
155 struct mrvlietypes_ssidparamset {
156 struct mrvlietypesheader header;
158 } __attribute__ ((packed));
160 struct mrvlietypes_wildcardssidparamset {
161 struct mrvlietypesheader header;
164 } __attribute__ ((packed));
166 struct chanscanmode {
168 u8 disablechanfilt:1;
170 } __attribute__ ((packed));
172 struct chanscanparamset {
175 struct chanscanmode chanscanmode;
178 } __attribute__ ((packed));
180 struct mrvlietypes_chanlistparamset {
181 struct mrvlietypesheader header;
182 struct chanscanparamset chanscanparam[1];
183 } __attribute__ ((packed));
189 u16 cfpdurationremaining;
190 } __attribute__ ((packed));
192 struct ibssparamset {
194 } __attribute__ ((packed));
196 struct mrvlietypes_ssparamset {
197 struct mrvlietypesheader header;
199 struct cfparamset cfparamset[1];
200 struct ibssparamset ibssparamset[1];
202 } __attribute__ ((packed));
209 } __attribute__ ((packed));
213 } __attribute__ ((packed));
215 struct mrvlietypes_phyparamset {
216 struct mrvlietypesheader header;
218 struct fhparamset fhparamset[1];
219 struct dsparamset dsparamset[1];
221 } __attribute__ ((packed));
223 struct mrvlietypes_rsnparamset {
224 struct mrvlietypesheader header;
226 } __attribute__ ((packed));
228 struct mrvlietypes_tsftimestamp {
229 struct mrvlietypesheader header;
231 } __attribute__ ((packed));
233 /** Local Power capability */
234 struct mrvlietypes_powercapability {
235 struct mrvlietypesheader header;
238 } __attribute__ ((packed));
240 struct mrvlietypes_rssithreshold {
241 struct mrvlietypesheader header;
244 } __attribute__ ((packed));
246 struct mrvlietypes_snrthreshold {
247 struct mrvlietypesheader header;
250 } __attribute__ ((packed));
252 struct mrvlietypes_failurecount {
253 struct mrvlietypesheader header;
256 } __attribute__ ((packed));
258 struct mrvlietypes_beaconsmissed {
259 struct mrvlietypesheader header;
262 } __attribute__ ((packed));
264 struct mrvlietypes_numprobes {
265 struct mrvlietypesheader header;
267 } __attribute__ ((packed));
269 struct mrvlietypes_bcastprobe {
270 struct mrvlietypesheader header;
272 } __attribute__ ((packed));
274 struct mrvlietypes_numssidprobe {
275 struct mrvlietypesheader header;
277 } __attribute__ ((packed));
282 } __attribute__ ((packed));
284 struct mrvlietypes_ledgpio {
285 struct mrvlietypesheader header;
286 struct led_pin ledpin[1];
287 } __attribute__ ((packed));
289 #endif /* _WLAN_TYPES_ */