aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/brcm80211/include/wlioctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/brcm80211/include/wlioctl.h')
-rw-r--r--drivers/staging/brcm80211/include/wlioctl.h690
1 files changed, 345 insertions, 345 deletions
diff --git a/drivers/staging/brcm80211/include/wlioctl.h b/drivers/staging/brcm80211/include/wlioctl.h
index fe67367d81a..6ac4f3155bb 100644
--- a/drivers/staging/brcm80211/include/wlioctl.h
+++ b/drivers/staging/brcm80211/include/wlioctl.h
@@ -39,8 +39,8 @@
39#define LEGACY_WL_BSS_INFO_VERSION 107 /* older version of wl_bss_info struct */ 39#define LEGACY_WL_BSS_INFO_VERSION 107 /* older version of wl_bss_info struct */
40 40
41typedef struct wl_bss_info_107 { 41typedef struct wl_bss_info_107 {
42 uint32 version; /* version field */ 42 u32 version; /* version field */
43 uint32 length; /* byte length of data in this record, 43 u32 length; /* byte length of data in this record,
44 * starting at version and including IEs 44 * starting at version and including IEs
45 */ 45 */
46 struct ether_addr BSSID; 46 struct ether_addr BSSID;
@@ -57,7 +57,7 @@ typedef struct wl_bss_info_107 {
57 u8 dtim_period; /* DTIM period */ 57 u8 dtim_period; /* DTIM period */
58 s16 RSSI; /* receive signal strength (in dBm) */ 58 s16 RSSI; /* receive signal strength (in dBm) */
59 s8 phy_noise; /* noise (in dBm) */ 59 s8 phy_noise; /* noise (in dBm) */
60 uint32 ie_length; /* byte length of Information Elements */ 60 u32 ie_length; /* byte length of Information Elements */
61 /* variable length Information Elements */ 61 /* variable length Information Elements */
62} wl_bss_info_107_t; 62} wl_bss_info_107_t;
63 63
@@ -72,8 +72,8 @@ typedef struct wl_bss_info_107 {
72 * next bss_info structure in a vector (in wl_scan_results_t) 72 * next bss_info structure in a vector (in wl_scan_results_t)
73 */ 73 */
74typedef struct wl_bss_info_108 { 74typedef struct wl_bss_info_108 {
75 uint32 version; /* version field */ 75 u32 version; /* version field */
76 uint32 length; /* byte length of data in this record, 76 u32 length; /* byte length of data in this record,
77 * starting at version and including IEs 77 * starting at version and including IEs
78 */ 78 */
79 struct ether_addr BSSID; 79 struct ether_addr BSSID;
@@ -92,15 +92,15 @@ typedef struct wl_bss_info_108 {
92 s8 phy_noise; /* noise (in dBm) */ 92 s8 phy_noise; /* noise (in dBm) */
93 93
94 u8 n_cap; /* BSS is 802.11N Capable */ 94 u8 n_cap; /* BSS is 802.11N Capable */
95 uint32 nbss_cap; /* 802.11N BSS Capabilities (based on HT_CAP_*) */ 95 u32 nbss_cap; /* 802.11N BSS Capabilities (based on HT_CAP_*) */
96 u8 ctl_ch; /* 802.11N BSS control channel number */ 96 u8 ctl_ch; /* 802.11N BSS control channel number */
97 uint32 reserved32[1]; /* Reserved for expansion of BSS properties */ 97 u32 reserved32[1]; /* Reserved for expansion of BSS properties */
98 u8 flags; /* flags */ 98 u8 flags; /* flags */
99 u8 reserved[3]; /* Reserved for expansion of BSS properties */ 99 u8 reserved[3]; /* Reserved for expansion of BSS properties */
100 u8 basic_mcs[MCSSET_LEN]; /* 802.11N BSS required MCS set */ 100 u8 basic_mcs[MCSSET_LEN]; /* 802.11N BSS required MCS set */
101 101
102 u16 ie_offset; /* offset at which IEs start, from beginning */ 102 u16 ie_offset; /* offset at which IEs start, from beginning */
103 uint32 ie_length; /* byte length of Information Elements */ 103 u32 ie_length; /* byte length of Information Elements */
104 /* Add new fields here */ 104 /* Add new fields here */
105 /* variable length Information Elements */ 105 /* variable length Information Elements */
106} wl_bss_info_108_t; 106} wl_bss_info_108_t;
@@ -116,8 +116,8 @@ typedef struct wl_bss_info_108 {
116 * next bss_info structure in a vector (in wl_scan_results_t) 116 * next bss_info structure in a vector (in wl_scan_results_t)
117 */ 117 */
118typedef struct wl_bss_info { 118typedef struct wl_bss_info {
119 uint32 version; /* version field */ 119 u32 version; /* version field */
120 uint32 length; /* byte length of data in this record, 120 u32 length; /* byte length of data in this record,
121 * starting at version and including IEs 121 * starting at version and including IEs
122 */ 122 */
123 struct ether_addr BSSID; 123 struct ether_addr BSSID;
@@ -136,22 +136,22 @@ typedef struct wl_bss_info {
136 s8 phy_noise; /* noise (in dBm) */ 136 s8 phy_noise; /* noise (in dBm) */
137 137
138 u8 n_cap; /* BSS is 802.11N Capable */ 138 u8 n_cap; /* BSS is 802.11N Capable */
139 uint32 nbss_cap; /* 802.11N BSS Capabilities (based on HT_CAP_*) */ 139 u32 nbss_cap; /* 802.11N BSS Capabilities (based on HT_CAP_*) */
140 u8 ctl_ch; /* 802.11N BSS control channel number */ 140 u8 ctl_ch; /* 802.11N BSS control channel number */
141 uint32 reserved32[1]; /* Reserved for expansion of BSS properties */ 141 u32 reserved32[1]; /* Reserved for expansion of BSS properties */
142 u8 flags; /* flags */ 142 u8 flags; /* flags */
143 u8 reserved[3]; /* Reserved for expansion of BSS properties */ 143 u8 reserved[3]; /* Reserved for expansion of BSS properties */
144 u8 basic_mcs[MCSSET_LEN]; /* 802.11N BSS required MCS set */ 144 u8 basic_mcs[MCSSET_LEN]; /* 802.11N BSS required MCS set */
145 145
146 u16 ie_offset; /* offset at which IEs start, from beginning */ 146 u16 ie_offset; /* offset at which IEs start, from beginning */
147 uint32 ie_length; /* byte length of Information Elements */ 147 u32 ie_length; /* byte length of Information Elements */
148 s16 SNR; /* average SNR of during frame reception */ 148 s16 SNR; /* average SNR of during frame reception */
149 /* Add new fields here */ 149 /* Add new fields here */
150 /* variable length Information Elements */ 150 /* variable length Information Elements */
151} wl_bss_info_t; 151} wl_bss_info_t;
152 152
153typedef struct wlc_ssid { 153typedef struct wlc_ssid {
154 uint32 SSID_len; 154 u32 SSID_len;
155 unsigned char SSID[32]; 155 unsigned char SSID[32];
156} wlc_ssid_t; 156} wlc_ssid_t;
157 157
@@ -159,8 +159,8 @@ typedef struct chan_scandata {
159 u8 txpower; 159 u8 txpower;
160 u8 pad; 160 u8 pad;
161 chanspec_t channel; /* Channel num, bw, ctrl_sb and band */ 161 chanspec_t channel; /* Channel num, bw, ctrl_sb and band */
162 uint32 channel_mintime; 162 u32 channel_mintime;
163 uint32 channel_maxtime; 163 u32 channel_maxtime;
164} chan_scandata_t; 164} chan_scandata_t;
165 165
166typedef enum wl_scan_type { 166typedef enum wl_scan_type {
@@ -181,7 +181,7 @@ typedef struct wl_extdscan_params {
181 s8 band; /* band */ 181 s8 band; /* band */
182 s8 pad; 182 s8 pad;
183 wlc_ssid_t ssid[WLC_EXTDSCAN_MAX_SSID]; /* ssid list */ 183 wlc_ssid_t ssid[WLC_EXTDSCAN_MAX_SSID]; /* ssid list */
184 uint32 tx_rate; /* in 500ksec units */ 184 u32 tx_rate; /* in 500ksec units */
185 wl_scan_type_t scan_type; /* enum */ 185 wl_scan_type_t scan_type; /* enum */
186 int32 channel_num; 186 int32 channel_num;
187 chan_scandata_t channel_list[1]; /* list of chandata structs */ 187 chan_scandata_t channel_list[1]; /* list of chandata structs */
@@ -247,7 +247,7 @@ typedef struct wl_scan_params {
247 247
248/* incremental scan struct */ 248/* incremental scan struct */
249typedef struct wl_iscan_params { 249typedef struct wl_iscan_params {
250 uint32 version; 250 u32 version;
251 u16 action; 251 u16 action;
252 u16 scan_duration; 252 u16 scan_duration;
253 wl_scan_params_t params; 253 wl_scan_params_t params;
@@ -257,9 +257,9 @@ typedef struct wl_iscan_params {
257#define WL_ISCAN_PARAMS_FIXED_SIZE (OFFSETOF(wl_iscan_params_t, params) + sizeof(wlc_ssid_t)) 257#define WL_ISCAN_PARAMS_FIXED_SIZE (OFFSETOF(wl_iscan_params_t, params) + sizeof(wlc_ssid_t))
258 258
259typedef struct wl_scan_results { 259typedef struct wl_scan_results {
260 uint32 buflen; 260 u32 buflen;
261 uint32 version; 261 u32 version;
262 uint32 count; 262 u32 count;
263 wl_bss_info_t bss_info[1]; 263 wl_bss_info_t bss_info[1];
264} wl_scan_results_t; 264} wl_scan_results_t;
265 265
@@ -276,7 +276,7 @@ typedef struct wl_scan_results {
276#define ESCAN_REQ_VERSION 1 276#define ESCAN_REQ_VERSION 1
277 277
278typedef struct wl_escan_params { 278typedef struct wl_escan_params {
279 uint32 version; 279 u32 version;
280 u16 action; 280 u16 action;
281 u16 sync_id; 281 u16 sync_id;
282 wl_scan_params_t params; 282 wl_scan_params_t params;
@@ -285,8 +285,8 @@ typedef struct wl_escan_params {
285#define WL_ESCAN_PARAMS_FIXED_SIZE (OFFSETOF(wl_escan_params_t, params) + sizeof(wlc_ssid_t)) 285#define WL_ESCAN_PARAMS_FIXED_SIZE (OFFSETOF(wl_escan_params_t, params) + sizeof(wlc_ssid_t))
286 286
287typedef struct wl_escan_result { 287typedef struct wl_escan_result {
288 uint32 buflen; 288 u32 buflen;
289 uint32 version; 289 u32 version;
290 u16 sync_id; 290 u16 sync_id;
291 u16 bss_count; 291 u16 bss_count;
292 wl_bss_info_t bss_info[1]; 292 wl_bss_info_t bss_info[1];
@@ -296,7 +296,7 @@ typedef struct wl_escan_result {
296 296
297/* incremental scan results struct */ 297/* incremental scan results struct */
298typedef struct wl_iscan_results { 298typedef struct wl_iscan_results {
299 uint32 status; 299 u32 status;
300 wl_scan_results_t results; 300 wl_scan_results_t results;
301} wl_iscan_results_t; 301} wl_iscan_results_t;
302 302
@@ -312,23 +312,23 @@ typedef struct wl_probe_params {
312 312
313#define WL_NUMRATES 16 /* max # of rates in a rateset */ 313#define WL_NUMRATES 16 /* max # of rates in a rateset */
314typedef struct wl_rateset { 314typedef struct wl_rateset {
315 uint32 count; /* # rates in this set */ 315 u32 count; /* # rates in this set */
316 u8 rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */ 316 u8 rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
317} wl_rateset_t; 317} wl_rateset_t;
318 318
319typedef struct wl_rateset_args { 319typedef struct wl_rateset_args {
320 uint32 count; /* # rates in this set */ 320 u32 count; /* # rates in this set */
321 u8 rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */ 321 u8 rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
322 u8 mcs[MCSSET_LEN]; /* supported mcs index bit map */ 322 u8 mcs[MCSSET_LEN]; /* supported mcs index bit map */
323} wl_rateset_args_t; 323} wl_rateset_args_t;
324 324
325/* uint32 list */ 325/* u32 list */
326typedef struct wl_uint32_list { 326typedef struct wl_u32_list {
327 /* in - # of elements, out - # of entries */ 327 /* in - # of elements, out - # of entries */
328 uint32 count; 328 u32 count;
329 /* variable length uint32 list */ 329 /* variable length u32 list */
330 uint32 element[1]; 330 u32 element[1];
331} wl_uint32_list_t; 331} wl_u32_list_t;
332 332
333/* used for association with a specific BSSID and chanspec list */ 333/* used for association with a specific BSSID and chanspec list */
334typedef struct wl_assoc_params { 334typedef struct wl_assoc_params {
@@ -415,12 +415,12 @@ typedef struct {
415#define CCA_ERRNO_TOO_FEW 5 /* Only 1 channel was input */ 415#define CCA_ERRNO_TOO_FEW 5 /* Only 1 channel was input */
416 416
417typedef struct { 417typedef struct {
418 uint32 duration; /* millisecs spent sampling this channel */ 418 u32 duration; /* millisecs spent sampling this channel */
419 uint32 congest_ibss; /* millisecs in our bss (presumably this traffic will */ 419 u32 congest_ibss; /* millisecs in our bss (presumably this traffic will */
420 /* move if cur bss moves channels) */ 420 /* move if cur bss moves channels) */
421 uint32 congest_obss; /* traffic not in our bss */ 421 u32 congest_obss; /* traffic not in our bss */
422 uint32 interference; /* millisecs detecting a non 802.11 interferer. */ 422 u32 interference; /* millisecs detecting a non 802.11 interferer. */
423 uint32 timestamp; /* second timestamp */ 423 u32 timestamp; /* second timestamp */
424} cca_congest_t; 424} cca_congest_t;
425 425
426typedef struct { 426typedef struct {
@@ -447,18 +447,18 @@ typedef struct wl_country {
447} wl_country_t; 447} wl_country_t;
448 448
449typedef struct wl_channels_in_country { 449typedef struct wl_channels_in_country {
450 uint32 buflen; 450 u32 buflen;
451 uint32 band; 451 u32 band;
452 char country_abbrev[WLC_CNTRY_BUF_SZ]; 452 char country_abbrev[WLC_CNTRY_BUF_SZ];
453 uint32 count; 453 u32 count;
454 uint32 channel[1]; 454 u32 channel[1];
455} wl_channels_in_country_t; 455} wl_channels_in_country_t;
456 456
457typedef struct wl_country_list { 457typedef struct wl_country_list {
458 uint32 buflen; 458 u32 buflen;
459 uint32 band_set; 459 u32 band_set;
460 uint32 band; 460 u32 band;
461 uint32 count; 461 u32 count;
462 char country_abbrev[1]; 462 char country_abbrev[1];
463} wl_country_list_t; 463} wl_country_list_t;
464 464
@@ -477,15 +477,15 @@ typedef struct wl_rm_req_elt {
477 s8 type; 477 s8 type;
478 s8 flags; 478 s8 flags;
479 chanspec_t chanspec; 479 chanspec_t chanspec;
480 uint32 token; /* token for this measurement */ 480 u32 token; /* token for this measurement */
481 uint32 tsf_h; /* TSF high 32-bits of Measurement start time */ 481 u32 tsf_h; /* TSF high 32-bits of Measurement start time */
482 uint32 tsf_l; /* TSF low 32-bits */ 482 u32 tsf_l; /* TSF low 32-bits */
483 uint32 dur; /* TUs */ 483 u32 dur; /* TUs */
484} wl_rm_req_elt_t; 484} wl_rm_req_elt_t;
485 485
486typedef struct wl_rm_req { 486typedef struct wl_rm_req {
487 uint32 token; /* overall measurement set token */ 487 u32 token; /* overall measurement set token */
488 uint32 count; /* number of measurement requests */ 488 u32 count; /* number of measurement requests */
489 void *cb; /* completion callback function: may be NULL */ 489 void *cb; /* completion callback function: may be NULL */
490 void *cb_arg; /* arg to completion callback function */ 490 void *cb_arg; /* arg to completion callback function */
491 wl_rm_req_elt_t req[1]; /* variable length block of requests */ 491 wl_rm_req_elt_t req[1]; /* variable length block of requests */
@@ -496,11 +496,11 @@ typedef struct wl_rm_rep_elt {
496 s8 type; 496 s8 type;
497 s8 flags; 497 s8 flags;
498 chanspec_t chanspec; 498 chanspec_t chanspec;
499 uint32 token; /* token for this measurement */ 499 u32 token; /* token for this measurement */
500 uint32 tsf_h; /* TSF high 32-bits of Measurement start time */ 500 u32 tsf_h; /* TSF high 32-bits of Measurement start time */
501 uint32 tsf_l; /* TSF low 32-bits */ 501 u32 tsf_l; /* TSF low 32-bits */
502 uint32 dur; /* TUs */ 502 u32 dur; /* TUs */
503 uint32 len; /* byte length of data block */ 503 u32 len; /* byte length of data block */
504 u8 data[1]; /* variable length data block */ 504 u8 data[1]; /* variable length data block */
505} wl_rm_rep_elt_t; 505} wl_rm_rep_elt_t;
506#define WL_RM_REP_ELT_FIXED_LEN 24 /* length excluding data block */ 506#define WL_RM_REP_ELT_FIXED_LEN 24 /* length excluding data block */
@@ -512,8 +512,8 @@ typedef struct wl_rm_rpi_rep {
512} wl_rm_rpi_rep_t; 512} wl_rm_rpi_rep_t;
513 513
514typedef struct wl_rm_rep { 514typedef struct wl_rm_rep {
515 uint32 token; /* overall measurement set token */ 515 u32 token; /* overall measurement set token */
516 uint32 len; /* length of measurement report block */ 516 u32 len; /* length of measurement report block */
517 wl_rm_rep_elt_t rep[1]; /* variable length block of reports */ 517 wl_rm_rep_elt_t rep[1]; /* variable length block of reports */
518} wl_rm_rep_t; 518} wl_rm_rep_t;
519#define WL_RM_REP_FIXED_LEN 8 519#define WL_RM_REP_FIXED_LEN 8
@@ -539,22 +539,22 @@ typedef struct wl_rm_rep {
539#define WL_IBSS_PEER_GROUP_KEY (1 << 6) /* Indicates a group key for a IBSS PEER */ 539#define WL_IBSS_PEER_GROUP_KEY (1 << 6) /* Indicates a group key for a IBSS PEER */
540 540
541typedef struct wl_wsec_key { 541typedef struct wl_wsec_key {
542 uint32 index; /* key index */ 542 u32 index; /* key index */
543 uint32 len; /* key length */ 543 u32 len; /* key length */
544 u8 data[DOT11_MAX_KEY_SIZE]; /* key data */ 544 u8 data[DOT11_MAX_KEY_SIZE]; /* key data */
545 uint32 pad_1[18]; 545 u32 pad_1[18];
546 uint32 algo; /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */ 546 u32 algo; /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */
547 uint32 flags; /* misc flags */ 547 u32 flags; /* misc flags */
548 uint32 pad_2[2]; 548 u32 pad_2[2];
549 int pad_3; 549 int pad_3;
550 int iv_initialized; /* has IV been initialized already? */ 550 int iv_initialized; /* has IV been initialized already? */
551 int pad_4; 551 int pad_4;
552 /* Rx IV */ 552 /* Rx IV */
553 struct { 553 struct {
554 uint32 hi; /* upper 32 bits of IV */ 554 u32 hi; /* upper 32 bits of IV */
555 u16 lo; /* lower 16 bits of IV */ 555 u16 lo; /* lower 16 bits of IV */
556 } rxiv; 556 } rxiv;
557 uint32 pad_5[2]; 557 u32 pad_5[2];
558 struct ether_addr ea; /* per station */ 558 struct ether_addr ea; /* per station */
559} wl_wsec_key_t; 559} wl_wsec_key_t;
560 560
@@ -602,7 +602,7 @@ typedef struct _pmkid {
602} pmkid_t; 602} pmkid_t;
603 603
604typedef struct _pmkid_list { 604typedef struct _pmkid_list {
605 uint32 npmkid; 605 u32 npmkid;
606 pmkid_t pmkid[1]; 606 pmkid_t pmkid[1];
607} pmkid_list_t; 607} pmkid_list_t;
608 608
@@ -612,13 +612,13 @@ typedef struct _pmkid_cand {
612} pmkid_cand_t; 612} pmkid_cand_t;
613 613
614typedef struct _pmkid_cand_list { 614typedef struct _pmkid_cand_list {
615 uint32 npmkid_cand; 615 u32 npmkid_cand;
616 pmkid_cand_t pmkid_cand[1]; 616 pmkid_cand_t pmkid_cand[1];
617} pmkid_cand_list_t; 617} pmkid_cand_list_t;
618 618
619typedef struct wl_led_info { 619typedef struct wl_led_info {
620 uint32 index; /* led index */ 620 u32 index; /* led index */
621 uint32 behavior; 621 u32 behavior;
622 u8 activehi; 622 u8 activehi;
623} wl_led_info_t; 623} wl_led_info_t;
624 624
@@ -634,9 +634,9 @@ typedef struct {
634 634
635/* similar cis (srom or otp) struct [iovar: may not be aligned] */ 635/* similar cis (srom or otp) struct [iovar: may not be aligned] */
636typedef struct { 636typedef struct {
637 uint32 source; /* cis source */ 637 u32 source; /* cis source */
638 uint32 byteoff; /* byte offset */ 638 u32 byteoff; /* byte offset */
639 uint32 nbytes; /* number of bytes */ 639 u32 nbytes; /* number of bytes */
640 /* data follows here */ 640 /* data follows here */
641} cis_rw_t; 641} cis_rw_t;
642 642
@@ -646,9 +646,9 @@ typedef struct {
646 646
647/* R_REG and W_REG struct passed through ioctl */ 647/* R_REG and W_REG struct passed through ioctl */
648typedef struct { 648typedef struct {
649 uint32 byteoff; /* byte offset of the field in d11regs_t */ 649 u32 byteoff; /* byte offset of the field in d11regs_t */
650 uint32 val; /* read/write value of the field */ 650 u32 val; /* read/write value of the field */
651 uint32 size; /* sizeof the field */ 651 u32 size; /* sizeof the field */
652 uint band; /* band (optional) */ 652 uint band; /* band (optional) */
653} rw_reg_t; 653} rw_reg_t;
654 654
@@ -704,20 +704,20 @@ typedef struct {
704 u16 ver; /* version of this struct */ 704 u16 ver; /* version of this struct */
705 u16 len; /* length in bytes of this structure */ 705 u16 len; /* length in bytes of this structure */
706 u16 cap; /* sta's advertised capabilities */ 706 u16 cap; /* sta's advertised capabilities */
707 uint32 flags; /* flags defined below */ 707 u32 flags; /* flags defined below */
708 uint32 idle; /* time since data pkt rx'd from sta */ 708 u32 idle; /* time since data pkt rx'd from sta */
709 struct ether_addr ea; /* Station address */ 709 struct ether_addr ea; /* Station address */
710 wl_rateset_t rateset; /* rateset in use */ 710 wl_rateset_t rateset; /* rateset in use */
711 uint32 in; /* seconds elapsed since associated */ 711 u32 in; /* seconds elapsed since associated */
712 uint32 listen_interval_inms; /* Min Listen interval in ms for this STA */ 712 u32 listen_interval_inms; /* Min Listen interval in ms for this STA */
713 uint32 tx_pkts; /* # of packets transmitted */ 713 u32 tx_pkts; /* # of packets transmitted */
714 uint32 tx_failures; /* # of packets failed */ 714 u32 tx_failures; /* # of packets failed */
715 uint32 rx_ucast_pkts; /* # of unicast packets received */ 715 u32 rx_ucast_pkts; /* # of unicast packets received */
716 uint32 rx_mcast_pkts; /* # of multicast packets received */ 716 u32 rx_mcast_pkts; /* # of multicast packets received */
717 uint32 tx_rate; /* Rate of last successful tx frame */ 717 u32 tx_rate; /* Rate of last successful tx frame */
718 uint32 rx_rate; /* Rate of last successful rx frame */ 718 u32 rx_rate; /* Rate of last successful rx frame */
719 uint32 rx_decrypt_succeeds; /* # of packet decrypted successfully */ 719 u32 rx_decrypt_succeeds; /* # of packet decrypted successfully */
720 uint32 rx_decrypt_failures; /* # of packet decrypted unsuccessfully */ 720 u32 rx_decrypt_failures; /* # of packet decrypted unsuccessfully */
721} sta_info_t; 721} sta_info_t;
722 722
723#define WL_OLD_STAINFO_SIZE OFFSETOF(sta_info_t, tx_pkts) 723#define WL_OLD_STAINFO_SIZE OFFSETOF(sta_info_t, tx_pkts)
@@ -745,7 +745,7 @@ typedef struct {
745 745
746/* Used to get specific STA parameters */ 746/* Used to get specific STA parameters */
747typedef struct { 747typedef struct {
748 uint32 val; 748 u32 val;
749 struct ether_addr ea; 749 struct ether_addr ea;
750} scb_val_t; 750} scb_val_t;
751 751
@@ -1208,7 +1208,7 @@ typedef struct wl_po {
1208 u16 phy_type; /* Phy type */ 1208 u16 phy_type; /* Phy type */
1209 u16 band; 1209 u16 band;
1210 u16 cckpo; 1210 u16 cckpo;
1211 uint32 ofdmpo; 1211 u32 ofdmpo;
1212 u16 mcspo[8]; 1212 u16 mcspo[8];
1213} wl_po_t; 1213} wl_po_t;
1214 1214
@@ -1371,8 +1371,8 @@ typedef struct wl_po {
1371 1371
1372/* RSSI per antenna */ 1372/* RSSI per antenna */
1373typedef struct { 1373typedef struct {
1374 uint32 version; /* version field */ 1374 u32 version; /* version field */
1375 uint32 count; /* number of valid antenna rssi */ 1375 u32 count; /* number of valid antenna rssi */
1376 s8 rssi_ant[WL_RSSI_ANT_MAX]; /* rssi per antenna */ 1376 s8 rssi_ant[WL_RSSI_ANT_MAX]; /* rssi per antenna */
1377} wl_rssi_ant_t; 1377} wl_rssi_ant_t;
1378 1378
@@ -1401,7 +1401,7 @@ typedef struct {
1401#define WL_TX_POWER_MCS40_NUM 17 1401#define WL_TX_POWER_MCS40_NUM 17
1402 1402
1403typedef struct { 1403typedef struct {
1404 uint32 flags; 1404 u32 flags;
1405 chanspec_t chanspec; /* txpwr report for this channel */ 1405 chanspec_t chanspec; /* txpwr report for this channel */
1406 chanspec_t local_chanspec; /* channel on which we are associated */ 1406 chanspec_t local_chanspec; /* channel on which we are associated */
1407 u8 local_max; /* local max according to the AP */ 1407 u8 local_max; /* local max according to the AP */
@@ -1449,7 +1449,7 @@ typedef struct {
1449#define WL_TX_POWER_F_SISO 8 1449#define WL_TX_POWER_F_SISO 8
1450 1450
1451typedef struct { 1451typedef struct {
1452 uint32 flags; 1452 u32 flags;
1453 chanspec_t chanspec; /* txpwr report for this channel */ 1453 chanspec_t chanspec; /* txpwr report for this channel */
1454 chanspec_t local_chanspec; /* channel on which we are associated */ 1454 chanspec_t local_chanspec; /* channel on which we are associated */
1455 u8 local_max; /* local max according to the AP */ 1455 u8 local_max; /* local max according to the AP */
@@ -1497,231 +1497,231 @@ typedef struct {
1497 u16 length; /* length of entire structure */ 1497 u16 length; /* length of entire structure */
1498 1498
1499 /* transmit stat counters */ 1499 /* transmit stat counters */
1500 uint32 txframe; /* tx data frames */ 1500 u32 txframe; /* tx data frames */
1501 uint32 txbyte; /* tx data bytes */ 1501 u32 txbyte; /* tx data bytes */
1502 uint32 txretrans; /* tx mac retransmits */ 1502 u32 txretrans; /* tx mac retransmits */
1503 uint32 txerror; /* tx data errors (derived: sum of others) */ 1503 u32 txerror; /* tx data errors (derived: sum of others) */
1504 uint32 txctl; /* tx management frames */ 1504 u32 txctl; /* tx management frames */
1505 uint32 txprshort; /* tx short preamble frames */ 1505 u32 txprshort; /* tx short preamble frames */
1506 uint32 txserr; /* tx status errors */ 1506 u32 txserr; /* tx status errors */
1507 uint32 txnobuf; /* tx out of buffers errors */ 1507 u32 txnobuf; /* tx out of buffers errors */
1508 uint32 txnoassoc; /* tx discard because we're not associated */ 1508 u32 txnoassoc; /* tx discard because we're not associated */
1509 uint32 txrunt; /* tx runt frames */ 1509 u32 txrunt; /* tx runt frames */
1510 uint32 txchit; /* tx header cache hit (fastpath) */ 1510 u32 txchit; /* tx header cache hit (fastpath) */
1511 uint32 txcmiss; /* tx header cache miss (slowpath) */ 1511 u32 txcmiss; /* tx header cache miss (slowpath) */
1512 uint32 ieee_tx_status; /* calls to ieee80211_tx_status */ 1512 u32 ieee_tx_status; /* calls to ieee80211_tx_status */
1513 uint32 ieee_tx; /* tx calls frm mac0211 */ 1513 u32 ieee_tx; /* tx calls frm mac0211 */
1514 uint32 ieee_rx; /* calls to ieee_rx */ 1514 u32 ieee_rx; /* calls to ieee_rx */
1515 1515
1516 /* transmit chip error counters */ 1516 /* transmit chip error counters */
1517 uint32 txuflo; /* tx fifo underflows */ 1517 u32 txuflo; /* tx fifo underflows */
1518 uint32 txphyerr; /* tx phy errors (indicated in tx status) */ 1518 u32 txphyerr; /* tx phy errors (indicated in tx status) */
1519 uint32 txphycrs; 1519 u32 txphycrs;
1520 1520
1521 /* receive stat counters */ 1521 /* receive stat counters */
1522 uint32 rxframe; /* rx data frames */ 1522 u32 rxframe; /* rx data frames */
1523 uint32 rxbyte; /* rx data bytes */ 1523 u32 rxbyte; /* rx data bytes */
1524 uint32 rxerror; /* rx data errors (derived: sum of others) */ 1524 u32 rxerror; /* rx data errors (derived: sum of others) */
1525 uint32 rxctl; /* rx management frames */ 1525 u32 rxctl; /* rx management frames */
1526 uint32 rxnobuf; /* rx out of buffers errors */ 1526 u32 rxnobuf; /* rx out of buffers errors */
1527 uint32 rxnondata; /* rx non data frames in the data channel errors */ 1527 u32 rxnondata; /* rx non data frames in the data channel errors */
1528 uint32 rxbadds; /* rx bad DS errors */ 1528 u32 rxbadds; /* rx bad DS errors */
1529 uint32 rxbadcm; /* rx bad control or management frames */ 1529 u32 rxbadcm; /* rx bad control or management frames */
1530 uint32 rxfragerr; /* rx fragmentation errors */ 1530 u32 rxfragerr; /* rx fragmentation errors */
1531 uint32 rxrunt; /* rx runt frames */ 1531 u32 rxrunt; /* rx runt frames */
1532 uint32 rxgiant; /* rx giant frames */ 1532 u32 rxgiant; /* rx giant frames */
1533 uint32 rxnoscb; /* rx no scb error */ 1533 u32 rxnoscb; /* rx no scb error */
1534 uint32 rxbadproto; /* rx invalid frames */ 1534 u32 rxbadproto; /* rx invalid frames */
1535 uint32 rxbadsrcmac; /* rx frames with Invalid Src Mac */ 1535 u32 rxbadsrcmac; /* rx frames with Invalid Src Mac */
1536 uint32 rxbadda; /* rx frames tossed for invalid da */ 1536 u32 rxbadda; /* rx frames tossed for invalid da */
1537 uint32 rxfilter; /* rx frames filtered out */ 1537 u32 rxfilter; /* rx frames filtered out */
1538 1538
1539 /* receive chip error counters */ 1539 /* receive chip error counters */
1540 uint32 rxoflo; /* rx fifo overflow errors */ 1540 u32 rxoflo; /* rx fifo overflow errors */
1541 uint32 rxuflo[NFIFO]; /* rx dma descriptor underflow errors */ 1541 u32 rxuflo[NFIFO]; /* rx dma descriptor underflow errors */
1542 1542
1543 uint32 d11cnt_txrts_off; /* d11cnt txrts value when reset d11cnt */ 1543 u32 d11cnt_txrts_off; /* d11cnt txrts value when reset d11cnt */
1544 uint32 d11cnt_rxcrc_off; /* d11cnt rxcrc value when reset d11cnt */ 1544 u32 d11cnt_rxcrc_off; /* d11cnt rxcrc value when reset d11cnt */
1545 uint32 d11cnt_txnocts_off; /* d11cnt txnocts value when reset d11cnt */ 1545 u32 d11cnt_txnocts_off; /* d11cnt txnocts value when reset d11cnt */
1546 1546
1547 /* misc counters */ 1547 /* misc counters */
1548 uint32 dmade; /* tx/rx dma descriptor errors */ 1548 u32 dmade; /* tx/rx dma descriptor errors */
1549 uint32 dmada; /* tx/rx dma data errors */ 1549 u32 dmada; /* tx/rx dma data errors */
1550 uint32 dmape; /* tx/rx dma descriptor protocol errors */ 1550 u32 dmape; /* tx/rx dma descriptor protocol errors */
1551 uint32 reset; /* reset count */ 1551 u32 reset; /* reset count */
1552 uint32 tbtt; /* cnts the TBTT int's */ 1552 u32 tbtt; /* cnts the TBTT int's */
1553 uint32 txdmawar; 1553 u32 txdmawar;
1554 uint32 pkt_callback_reg_fail; /* callbacks register failure */ 1554 u32 pkt_callback_reg_fail; /* callbacks register failure */
1555 1555
1556 /* MAC counters: 32-bit version of d11.h's macstat_t */ 1556 /* MAC counters: 32-bit version of d11.h's macstat_t */
1557 uint32 txallfrm; /* total number of frames sent, incl. Data, ACK, RTS, CTS, 1557 u32 txallfrm; /* total number of frames sent, incl. Data, ACK, RTS, CTS,
1558 * Control Management (includes retransmissions) 1558 * Control Management (includes retransmissions)
1559 */ 1559 */
1560 uint32 txrtsfrm; /* number of RTS sent out by the MAC */ 1560 u32 txrtsfrm; /* number of RTS sent out by the MAC */
1561 uint32 txctsfrm; /* number of CTS sent out by the MAC */ 1561 u32 txctsfrm; /* number of CTS sent out by the MAC */
1562 uint32 txackfrm; /* number of ACK frames sent out */ 1562 u32 txackfrm; /* number of ACK frames sent out */
1563 uint32 txdnlfrm; /* Not used */ 1563 u32 txdnlfrm; /* Not used */
1564 uint32 txbcnfrm; /* beacons transmitted */ 1564 u32 txbcnfrm; /* beacons transmitted */
1565 uint32 txfunfl[8]; /* per-fifo tx underflows */ 1565 u32 txfunfl[8]; /* per-fifo tx underflows */
1566 uint32 txtplunfl; /* Template underflows (mac was too slow to transmit ACK/CTS 1566 u32 txtplunfl; /* Template underflows (mac was too slow to transmit ACK/CTS
1567 * or BCN) 1567 * or BCN)
1568 */ 1568 */
1569 uint32 txphyerror; /* Transmit phy error, type of error is reported in tx-status for 1569 u32 txphyerror; /* Transmit phy error, type of error is reported in tx-status for
1570 * driver enqueued frames 1570 * driver enqueued frames
1571 */ 1571 */
1572 uint32 rxfrmtoolong; /* Received frame longer than legal limit (2346 bytes) */ 1572 u32 rxfrmtoolong; /* Received frame longer than legal limit (2346 bytes) */
1573 uint32 rxfrmtooshrt; /* Received frame did not contain enough bytes for its frame type */ 1573 u32 rxfrmtooshrt; /* Received frame did not contain enough bytes for its frame type */
1574 uint32 rxinvmachdr; /* Either the protocol version != 0 or frame type not 1574 u32 rxinvmachdr; /* Either the protocol version != 0 or frame type not
1575 * data/control/management 1575 * data/control/management
1576 */ 1576 */
1577 uint32 rxbadfcs; /* number of frames for which the CRC check failed in the MAC */ 1577 u32 rxbadfcs; /* number of frames for which the CRC check failed in the MAC */
1578 uint32 rxbadplcp; /* parity check of the PLCP header failed */ 1578 u32 rxbadplcp; /* parity check of the PLCP header failed */
1579 uint32 rxcrsglitch; /* PHY was able to correlate the preamble but not the header */ 1579 u32 rxcrsglitch; /* PHY was able to correlate the preamble but not the header */
1580 uint32 rxstrt; /* Number of received frames with a good PLCP 1580 u32 rxstrt; /* Number of received frames with a good PLCP
1581 * (i.e. passing parity check) 1581 * (i.e. passing parity check)
1582 */ 1582 */
1583 uint32 rxdfrmucastmbss; /* Number of received DATA frames with good FCS and matching RA */ 1583 u32 rxdfrmucastmbss; /* Number of received DATA frames with good FCS and matching RA */
1584 uint32 rxmfrmucastmbss; /* number of received mgmt frames with good FCS and matching RA */ 1584 u32 rxmfrmucastmbss; /* number of received mgmt frames with good FCS and matching RA */
1585 uint32 rxcfrmucast; /* number of received CNTRL frames with good FCS and matching RA */ 1585 u32 rxcfrmucast; /* number of received CNTRL frames with good FCS and matching RA */
1586 uint32 rxrtsucast; /* number of unicast RTS addressed to the MAC (good FCS) */ 1586 u32 rxrtsucast; /* number of unicast RTS addressed to the MAC (good FCS) */
1587 uint32 rxctsucast; /* number of unicast CTS addressed to the MAC (good FCS) */ 1587 u32 rxctsucast; /* number of unicast CTS addressed to the MAC (good FCS) */
1588 uint32 rxackucast; /* number of ucast ACKS received (good FCS) */ 1588 u32 rxackucast; /* number of ucast ACKS received (good FCS) */
1589 uint32 rxdfrmocast; /* number of received DATA frames (good FCS and not matching RA) */ 1589 u32 rxdfrmocast; /* number of received DATA frames (good FCS and not matching RA) */
1590 uint32 rxmfrmocast; /* number of received MGMT frames (good FCS and not matching RA) */ 1590 u32 rxmfrmocast; /* number of received MGMT frames (good FCS and not matching RA) */
1591 uint32 rxcfrmocast; /* number of received CNTRL frame (good FCS and not matching RA) */ 1591 u32 rxcfrmocast; /* number of received CNTRL frame (good FCS and not matching RA) */
1592 uint32 rxrtsocast; /* number of received RTS not addressed to the MAC */ 1592 u32 rxrtsocast; /* number of received RTS not addressed to the MAC */
1593 uint32 rxctsocast; /* number of received CTS not addressed to the MAC */ 1593 u32 rxctsocast; /* number of received CTS not addressed to the MAC */
1594 uint32 rxdfrmmcast; /* number of RX Data multicast frames received by the MAC */ 1594 u32 rxdfrmmcast; /* number of RX Data multicast frames received by the MAC */
1595 uint32 rxmfrmmcast; /* number of RX Management multicast frames received by the MAC */ 1595 u32 rxmfrmmcast; /* number of RX Management multicast frames received by the MAC */
1596 uint32 rxcfrmmcast; /* number of RX Control multicast frames received by the MAC 1596 u32 rxcfrmmcast; /* number of RX Control multicast frames received by the MAC
1597 * (unlikely to see these) 1597 * (unlikely to see these)
1598 */ 1598 */
1599 uint32 rxbeaconmbss; /* beacons received from member of BSS */ 1599 u32 rxbeaconmbss; /* beacons received from member of BSS */
1600 uint32 rxdfrmucastobss; /* number of unicast frames addressed to the MAC from 1600 u32 rxdfrmucastobss; /* number of unicast frames addressed to the MAC from
1601 * other BSS (WDS FRAME) 1601 * other BSS (WDS FRAME)
1602 */ 1602 */
1603 uint32 rxbeaconobss; /* beacons received from other BSS */ 1603 u32 rxbeaconobss; /* beacons received from other BSS */
1604 uint32 rxrsptmout; /* Number of response timeouts for transmitted frames 1604 u32 rxrsptmout; /* Number of response timeouts for transmitted frames
1605 * expecting a response 1605 * expecting a response
1606 */ 1606 */
1607 uint32 bcntxcancl; /* transmit beacons canceled due to receipt of beacon (IBSS) */ 1607 u32 bcntxcancl; /* transmit beacons canceled due to receipt of beacon (IBSS) */
1608 uint32 rxf0ovfl; /* Number of receive fifo 0 overflows */ 1608 u32 rxf0ovfl; /* Number of receive fifo 0 overflows */
1609 uint32 rxf1ovfl; /* Number of receive fifo 1 overflows (obsolete) */ 1609 u32 rxf1ovfl; /* Number of receive fifo 1 overflows (obsolete) */
1610 uint32 rxf2ovfl; /* Number of receive fifo 2 overflows (obsolete) */ 1610 u32 rxf2ovfl; /* Number of receive fifo 2 overflows (obsolete) */
1611 uint32 txsfovfl; /* Number of transmit status fifo overflows (obsolete) */ 1611 u32 txsfovfl; /* Number of transmit status fifo overflows (obsolete) */
1612 uint32 pmqovfl; /* Number of PMQ overflows */ 1612 u32 pmqovfl; /* Number of PMQ overflows */
1613 uint32 rxcgprqfrm; /* Number of received Probe requests that made it into 1613 u32 rxcgprqfrm; /* Number of received Probe requests that made it into
1614 * the PRQ fifo 1614 * the PRQ fifo
1615 */ 1615 */
1616 uint32 rxcgprsqovfl; /* Rx Probe Request Que overflow in the AP */ 1616 u32 rxcgprsqovfl; /* Rx Probe Request Que overflow in the AP */
1617 uint32 txcgprsfail; /* Tx Probe Response Fail. AP sent probe response but did 1617 u32 txcgprsfail; /* Tx Probe Response Fail. AP sent probe response but did
1618 * not get ACK 1618 * not get ACK
1619 */ 1619 */
1620 uint32 txcgprssuc; /* Tx Probe Response Success (ACK was received) */ 1620 u32 txcgprssuc; /* Tx Probe Response Success (ACK was received) */
1621 uint32 prs_timeout; /* Number of probe requests that were dropped from the PRQ 1621 u32 prs_timeout; /* Number of probe requests that were dropped from the PRQ
1622 * fifo because a probe response could not be sent out within 1622 * fifo because a probe response could not be sent out within
1623 * the time limit defined in M_PRS_MAXTIME 1623 * the time limit defined in M_PRS_MAXTIME
1624 */ 1624 */
1625 uint32 rxnack; 1625 u32 rxnack;
1626 uint32 frmscons; 1626 u32 frmscons;
1627 uint32 txnack; 1627 u32 txnack;
1628 uint32 txglitch_nack; /* obsolete */ 1628 u32 txglitch_nack; /* obsolete */
1629 uint32 txburst; /* obsolete */ 1629 u32 txburst; /* obsolete */
1630 1630
1631 /* 802.11 MIB counters, pp. 614 of 802.11 reaff doc. */ 1631 /* 802.11 MIB counters, pp. 614 of 802.11 reaff doc. */
1632 uint32 txfrag; /* dot11TransmittedFragmentCount */ 1632 u32 txfrag; /* dot11TransmittedFragmentCount */
1633 uint32 txmulti; /* dot11MulticastTransmittedFrameCount */ 1633 u32 txmulti; /* dot11MulticastTransmittedFrameCount */
1634 uint32 txfail; /* dot11FailedCount */ 1634 u32 txfail; /* dot11FailedCount */
1635 uint32 txretry; /* dot11RetryCount */ 1635 u32 txretry; /* dot11RetryCount */
1636 uint32 txretrie; /* dot11MultipleRetryCount */ 1636 u32 txretrie; /* dot11MultipleRetryCount */
1637 uint32 rxdup; /* dot11FrameduplicateCount */ 1637 u32 rxdup; /* dot11FrameduplicateCount */
1638 uint32 txrts; /* dot11RTSSuccessCount */ 1638 u32 txrts; /* dot11RTSSuccessCount */
1639 uint32 txnocts; /* dot11RTSFailureCount */ 1639 u32 txnocts; /* dot11RTSFailureCount */
1640 uint32 txnoack; /* dot11ACKFailureCount */ 1640 u32 txnoack; /* dot11ACKFailureCount */
1641 uint32 rxfrag; /* dot11ReceivedFragmentCount */ 1641 u32 rxfrag; /* dot11ReceivedFragmentCount */
1642 uint32 rxmulti; /* dot11MulticastReceivedFrameCount */ 1642 u32 rxmulti; /* dot11MulticastReceivedFrameCount */
1643 uint32 rxcrc; /* dot11FCSErrorCount */ 1643 u32 rxcrc; /* dot11FCSErrorCount */
1644 uint32 txfrmsnt; /* dot11TransmittedFrameCount (bogus MIB?) */ 1644 u32 txfrmsnt; /* dot11TransmittedFrameCount (bogus MIB?) */
1645 uint32 rxundec; /* dot11WEPUndecryptableCount */ 1645 u32 rxundec; /* dot11WEPUndecryptableCount */
1646 1646
1647 /* WPA2 counters (see rxundec for DecryptFailureCount) */ 1647 /* WPA2 counters (see rxundec for DecryptFailureCount) */
1648 uint32 tkipmicfaill; /* TKIPLocalMICFailures */ 1648 u32 tkipmicfaill; /* TKIPLocalMICFailures */
1649 uint32 tkipcntrmsr; /* TKIPCounterMeasuresInvoked */ 1649 u32 tkipcntrmsr; /* TKIPCounterMeasuresInvoked */
1650 uint32 tkipreplay; /* TKIPReplays */ 1650 u32 tkipreplay; /* TKIPReplays */
1651 uint32 ccmpfmterr; /* CCMPFormatErrors */ 1651 u32 ccmpfmterr; /* CCMPFormatErrors */
1652 uint32 ccmpreplay; /* CCMPReplays */ 1652 u32 ccmpreplay; /* CCMPReplays */
1653 uint32 ccmpundec; /* CCMPDecryptErrors */ 1653 u32 ccmpundec; /* CCMPDecryptErrors */
1654 uint32 fourwayfail; /* FourWayHandshakeFailures */ 1654 u32 fourwayfail; /* FourWayHandshakeFailures */
1655 uint32 wepundec; /* dot11WEPUndecryptableCount */ 1655 u32 wepundec; /* dot11WEPUndecryptableCount */
1656 uint32 wepicverr; /* dot11WEPICVErrorCount */ 1656 u32 wepicverr; /* dot11WEPICVErrorCount */
1657 uint32 decsuccess; /* DecryptSuccessCount */ 1657 u32 decsuccess; /* DecryptSuccessCount */
1658 uint32 tkipicverr; /* TKIPICVErrorCount */ 1658 u32 tkipicverr; /* TKIPICVErrorCount */
1659 uint32 wepexcluded; /* dot11WEPExcludedCount */ 1659 u32 wepexcluded; /* dot11WEPExcludedCount */
1660 1660
1661 uint32 rxundec_mcst; /* dot11WEPUndecryptableCount */ 1661 u32 rxundec_mcst; /* dot11WEPUndecryptableCount */
1662 1662
1663 /* WPA2 counters (see rxundec for DecryptFailureCount) */ 1663 /* WPA2 counters (see rxundec for DecryptFailureCount) */
1664 uint32 tkipmicfaill_mcst; /* TKIPLocalMICFailures */ 1664 u32 tkipmicfaill_mcst; /* TKIPLocalMICFailures */
1665 uint32 tkipcntrmsr_mcst; /* TKIPCounterMeasuresInvoked */ 1665 u32 tkipcntrmsr_mcst; /* TKIPCounterMeasuresInvoked */
1666 uint32 tkipreplay_mcst; /* TKIPReplays */ 1666 u32 tkipreplay_mcst; /* TKIPReplays */
1667 uint32 ccmpfmterr_mcst; /* CCMPFormatErrors */ 1667 u32 ccmpfmterr_mcst; /* CCMPFormatErrors */
1668 uint32 ccmpreplay_mcst; /* CCMPReplays */ 1668 u32 ccmpreplay_mcst; /* CCMPReplays */
1669 uint32 ccmpundec_mcst; /* CCMPDecryptErrors */ 1669 u32 ccmpundec_mcst; /* CCMPDecryptErrors */
1670 uint32 fourwayfail_mcst; /* FourWayHandshakeFailures */ 1670 u32 fourwayfail_mcst; /* FourWayHandshakeFailures */
1671 uint32 wepundec_mcst; /* dot11WEPUndecryptableCount */ 1671 u32 wepundec_mcst; /* dot11WEPUndecryptableCount */
1672 uint32 wepicverr_mcst; /* dot11WEPICVErrorCount */ 1672 u32 wepicverr_mcst; /* dot11WEPICVErrorCount */
1673 uint32 decsuccess_mcst; /* DecryptSuccessCount */ 1673 u32 decsuccess_mcst; /* DecryptSuccessCount */
1674 uint32 tkipicverr_mcst; /* TKIPICVErrorCount */ 1674 u32 tkipicverr_mcst; /* TKIPICVErrorCount */
1675 uint32 wepexcluded_mcst; /* dot11WEPExcludedCount */ 1675 u32 wepexcluded_mcst; /* dot11WEPExcludedCount */
1676 1676
1677 uint32 txchanrej; /* Tx frames suppressed due to channel rejection */ 1677 u32 txchanrej; /* Tx frames suppressed due to channel rejection */
1678 uint32 txexptime; /* Tx frames suppressed due to timer expiration */ 1678 u32 txexptime; /* Tx frames suppressed due to timer expiration */
1679 uint32 psmwds; /* Count PSM watchdogs */ 1679 u32 psmwds; /* Count PSM watchdogs */
1680 uint32 phywatchdog; /* Count Phy watchdogs (triggered by ucode) */ 1680 u32 phywatchdog; /* Count Phy watchdogs (triggered by ucode) */
1681 1681
1682 /* MBSS counters, AP only */ 1682 /* MBSS counters, AP only */
1683 uint32 prq_entries_handled; /* PRQ entries read in */ 1683 u32 prq_entries_handled; /* PRQ entries read in */
1684 uint32 prq_undirected_entries; /* which were bcast bss & ssid */ 1684 u32 prq_undirected_entries; /* which were bcast bss & ssid */
1685 uint32 prq_bad_entries; /* which could not be translated to info */ 1685 u32 prq_bad_entries; /* which could not be translated to info */
1686 uint32 atim_suppress_count; /* TX suppressions on ATIM fifo */ 1686 u32 atim_suppress_count; /* TX suppressions on ATIM fifo */
1687 uint32 bcn_template_not_ready; /* Template marked in use on send bcn ... */ 1687 u32 bcn_template_not_ready; /* Template marked in use on send bcn ... */
1688 uint32 bcn_template_not_ready_done; /* ...but "DMA done" interrupt rcvd */ 1688 u32 bcn_template_not_ready_done; /* ...but "DMA done" interrupt rcvd */
1689 uint32 late_tbtt_dpc; /* TBTT DPC did not happen in time */ 1689 u32 late_tbtt_dpc; /* TBTT DPC did not happen in time */
1690 1690
1691 /* per-rate receive stat counters */ 1691 /* per-rate receive stat counters */
1692 uint32 rx1mbps; /* packets rx at 1Mbps */ 1692 u32 rx1mbps; /* packets rx at 1Mbps */
1693 uint32 rx2mbps; /* packets rx at 2Mbps */ 1693 u32 rx2mbps; /* packets rx at 2Mbps */
1694 uint32 rx5mbps5; /* packets rx at 5.5Mbps */ 1694 u32 rx5mbps5; /* packets rx at 5.5Mbps */
1695 uint32 rx6mbps; /* packets rx at 6Mbps */ 1695 u32 rx6mbps; /* packets rx at 6Mbps */
1696 uint32 rx9mbps; /* packets rx at 9Mbps */ 1696 u32 rx9mbps; /* packets rx at 9Mbps */
1697 uint32 rx11mbps; /* packets rx at 11Mbps */ 1697 u32 rx11mbps; /* packets rx at 11Mbps */
1698 uint32 rx12mbps; /* packets rx at 12Mbps */ 1698 u32 rx12mbps; /* packets rx at 12Mbps */
1699 uint32 rx18mbps; /* packets rx at 18Mbps */ 1699 u32 rx18mbps; /* packets rx at 18Mbps */
1700 uint32 rx24mbps; /* packets rx at 24Mbps */ 1700 u32 rx24mbps; /* packets rx at 24Mbps */
1701 uint32 rx36mbps; /* packets rx at 36Mbps */ 1701 u32 rx36mbps; /* packets rx at 36Mbps */
1702 uint32 rx48mbps; /* packets rx at 48Mbps */ 1702 u32 rx48mbps; /* packets rx at 48Mbps */
1703 uint32 rx54mbps; /* packets rx at 54Mbps */ 1703 u32 rx54mbps; /* packets rx at 54Mbps */
1704 uint32 rx108mbps; /* packets rx at 108mbps */ 1704 u32 rx108mbps; /* packets rx at 108mbps */
1705 uint32 rx162mbps; /* packets rx at 162mbps */ 1705 u32 rx162mbps; /* packets rx at 162mbps */
1706 uint32 rx216mbps; /* packets rx at 216 mbps */ 1706 u32 rx216mbps; /* packets rx at 216 mbps */
1707 uint32 rx270mbps; /* packets rx at 270 mbps */ 1707 u32 rx270mbps; /* packets rx at 270 mbps */
1708 uint32 rx324mbps; /* packets rx at 324 mbps */ 1708 u32 rx324mbps; /* packets rx at 324 mbps */
1709 uint32 rx378mbps; /* packets rx at 378 mbps */ 1709 u32 rx378mbps; /* packets rx at 378 mbps */
1710 uint32 rx432mbps; /* packets rx at 432 mbps */ 1710 u32 rx432mbps; /* packets rx at 432 mbps */
1711 uint32 rx486mbps; /* packets rx at 486 mbps */ 1711 u32 rx486mbps; /* packets rx at 486 mbps */
1712 uint32 rx540mbps; /* packets rx at 540 mbps */ 1712 u32 rx540mbps; /* packets rx at 540 mbps */
1713 1713
1714 /* pkteng rx frame stats */ 1714 /* pkteng rx frame stats */
1715 uint32 pktengrxducast; /* unicast frames rxed by the pkteng code */ 1715 u32 pktengrxducast; /* unicast frames rxed by the pkteng code */
1716 uint32 pktengrxdmcast; /* multicast frames rxed by the pkteng code */ 1716 u32 pktengrxdmcast; /* multicast frames rxed by the pkteng code */
1717 1717
1718 uint32 rfdisable; /* count of radio disables */ 1718 u32 rfdisable; /* count of radio disables */
1719 uint32 bphy_rxcrsglitch; /* PHY count of bphy glitches */ 1719 u32 bphy_rxcrsglitch; /* PHY count of bphy glitches */
1720 1720
1721 uint32 txmpdu_sgi; /* count for sgi transmit */ 1721 u32 txmpdu_sgi; /* count for sgi transmit */
1722 uint32 rxmpdu_sgi; /* count for sgi received */ 1722 u32 rxmpdu_sgi; /* count for sgi received */
1723 uint32 txmpdu_stbc; /* count for stbc transmit */ 1723 u32 txmpdu_stbc; /* count for stbc transmit */
1724 uint32 rxmpdu_stbc; /* count for stbc received */ 1724 u32 rxmpdu_stbc; /* count for stbc received */
1725} wl_cnt_t; 1725} wl_cnt_t;
1726 1726
1727#define WL_DELTA_STATS_T_VERSION 1 /* current version of wl_delta_stats_t struct */ 1727#define WL_DELTA_STATS_T_VERSION 1 /* current version of wl_delta_stats_t struct */
@@ -1731,44 +1731,44 @@ typedef struct {
1731 u16 length; /* length of entire structure */ 1731 u16 length; /* length of entire structure */
1732 1732
1733 /* transmit stat counters */ 1733 /* transmit stat counters */
1734 uint32 txframe; /* tx data frames */ 1734 u32 txframe; /* tx data frames */
1735 uint32 txbyte; /* tx data bytes */ 1735 u32 txbyte; /* tx data bytes */
1736 uint32 txretrans; /* tx mac retransmits */ 1736 u32 txretrans; /* tx mac retransmits */
1737 uint32 txfail; /* tx failures */ 1737 u32 txfail; /* tx failures */
1738 1738
1739 /* receive stat counters */ 1739 /* receive stat counters */
1740 uint32 rxframe; /* rx data frames */ 1740 u32 rxframe; /* rx data frames */
1741 uint32 rxbyte; /* rx data bytes */ 1741 u32 rxbyte; /* rx data bytes */
1742 1742
1743 /* per-rate receive stat counters */ 1743 /* per-rate receive stat counters */
1744 uint32 rx1mbps; /* packets rx at 1Mbps */ 1744 u32 rx1mbps; /* packets rx at 1Mbps */
1745 uint32 rx2mbps; /* packets rx at 2Mbps */ 1745 u32 rx2mbps; /* packets rx at 2Mbps */
1746 uint32 rx5mbps5; /* packets rx at 5.5Mbps */ 1746 u32 rx5mbps5; /* packets rx at 5.5Mbps */
1747 uint32 rx6mbps; /* packets rx at 6Mbps */ 1747 u32 rx6mbps; /* packets rx at 6Mbps */
1748 uint32 rx9mbps; /* packets rx at 9Mbps */ 1748 u32 rx9mbps; /* packets rx at 9Mbps */
1749 uint32 rx11mbps; /* packets rx at 11Mbps */ 1749 u32 rx11mbps; /* packets rx at 11Mbps */
1750 uint32 rx12mbps; /* packets rx at 12Mbps */ 1750 u32 rx12mbps; /* packets rx at 12Mbps */
1751 uint32 rx18mbps; /* packets rx at 18Mbps */ 1751 u32 rx18mbps; /* packets rx at 18Mbps */
1752 uint32 rx24mbps; /* packets rx at 24Mbps */ 1752 u32 rx24mbps; /* packets rx at 24Mbps */
1753 uint32 rx36mbps; /* packets rx at 36Mbps */ 1753 u32 rx36mbps; /* packets rx at 36Mbps */
1754 uint32 rx48mbps; /* packets rx at 48Mbps */ 1754 u32 rx48mbps; /* packets rx at 48Mbps */
1755 uint32 rx54mbps; /* packets rx at 54Mbps */ 1755 u32 rx54mbps; /* packets rx at 54Mbps */
1756 uint32 rx108mbps; /* packets rx at 108mbps */ 1756 u32 rx108mbps; /* packets rx at 108mbps */
1757 uint32 rx162mbps; /* packets rx at 162mbps */ 1757 u32 rx162mbps; /* packets rx at 162mbps */
1758 uint32 rx216mbps; /* packets rx at 216 mbps */ 1758 u32 rx216mbps; /* packets rx at 216 mbps */
1759 uint32 rx270mbps; /* packets rx at 270 mbps */ 1759 u32 rx270mbps; /* packets rx at 270 mbps */
1760 uint32 rx324mbps; /* packets rx at 324 mbps */ 1760 u32 rx324mbps; /* packets rx at 324 mbps */
1761 uint32 rx378mbps; /* packets rx at 378 mbps */ 1761 u32 rx378mbps; /* packets rx at 378 mbps */
1762 uint32 rx432mbps; /* packets rx at 432 mbps */ 1762 u32 rx432mbps; /* packets rx at 432 mbps */
1763 uint32 rx486mbps; /* packets rx at 486 mbps */ 1763 u32 rx486mbps; /* packets rx at 486 mbps */
1764 uint32 rx540mbps; /* packets rx at 540 mbps */ 1764 u32 rx540mbps; /* packets rx at 540 mbps */
1765} wl_delta_stats_t; 1765} wl_delta_stats_t;
1766 1766
1767#define WL_WME_CNT_VERSION 1 /* current version of wl_wme_cnt_t */ 1767#define WL_WME_CNT_VERSION 1 /* current version of wl_wme_cnt_t */
1768 1768
1769typedef struct { 1769typedef struct {
1770 uint32 packets; 1770 u32 packets;
1771 uint32 bytes; 1771 u32 bytes;
1772} wl_traffic_stats_t; 1772} wl_traffic_stats_t;
1773 1773
1774typedef struct { 1774typedef struct {
@@ -1787,8 +1787,8 @@ typedef struct {
1787} wl_wme_cnt_t; 1787} wl_wme_cnt_t;
1788 1788
1789struct wl_msglevel2 { 1789struct wl_msglevel2 {
1790 uint32 low; 1790 u32 low;
1791 uint32 high; 1791 u32 high;
1792}; 1792};
1793 1793
1794#ifdef WLBA 1794#ifdef WLBA
@@ -1801,34 +1801,34 @@ typedef struct wlc_ba_cnt {
1801 u16 length; /* length of entire structure */ 1801 u16 length; /* length of entire structure */
1802 1802
1803 /* transmit stat counters */ 1803 /* transmit stat counters */
1804 uint32 txpdu; /* pdus sent */ 1804 u32 txpdu; /* pdus sent */
1805 uint32 txsdu; /* sdus sent */ 1805 u32 txsdu; /* sdus sent */
1806 uint32 txfc; /* tx side flow controlled packets */ 1806 u32 txfc; /* tx side flow controlled packets */
1807 uint32 txfci; /* tx side flow control initiated */ 1807 u32 txfci; /* tx side flow control initiated */
1808 uint32 txretrans; /* retransmitted pdus */ 1808 u32 txretrans; /* retransmitted pdus */
1809 uint32 txbatimer; /* ba resend due to timer */ 1809 u32 txbatimer; /* ba resend due to timer */
1810 uint32 txdrop; /* dropped packets */ 1810 u32 txdrop; /* dropped packets */
1811 uint32 txaddbareq; /* addba req sent */ 1811 u32 txaddbareq; /* addba req sent */
1812 uint32 txaddbaresp; /* addba resp sent */ 1812 u32 txaddbaresp; /* addba resp sent */
1813 uint32 txdelba; /* delba sent */ 1813 u32 txdelba; /* delba sent */
1814 uint32 txba; /* ba sent */ 1814 u32 txba; /* ba sent */
1815 uint32 txbar; /* bar sent */ 1815 u32 txbar; /* bar sent */
1816 uint32 txpad[4]; /* future */ 1816 u32 txpad[4]; /* future */
1817 1817
1818 /* receive side counters */ 1818 /* receive side counters */
1819 uint32 rxpdu; /* pdus recd */ 1819 u32 rxpdu; /* pdus recd */
1820 uint32 rxqed; /* pdus buffered before sending up */ 1820 u32 rxqed; /* pdus buffered before sending up */
1821 uint32 rxdup; /* duplicate pdus */ 1821 u32 rxdup; /* duplicate pdus */
1822 uint32 rxnobuf; /* pdus discarded due to no buf */ 1822 u32 rxnobuf; /* pdus discarded due to no buf */
1823 uint32 rxaddbareq; /* addba req recd */ 1823 u32 rxaddbareq; /* addba req recd */
1824 uint32 rxaddbaresp; /* addba resp recd */ 1824 u32 rxaddbaresp; /* addba resp recd */
1825 uint32 rxdelba; /* delba recd */ 1825 u32 rxdelba; /* delba recd */
1826 uint32 rxba; /* ba recd */ 1826 u32 rxba; /* ba recd */
1827 uint32 rxbar; /* bar recd */ 1827 u32 rxbar; /* bar recd */
1828 uint32 rxinvba; /* invalid ba recd */ 1828 u32 rxinvba; /* invalid ba recd */
1829 uint32 rxbaholes; /* ba recd with holes */ 1829 u32 rxbaholes; /* ba recd with holes */
1830 uint32 rxunexp; /* unexpected packets */ 1830 u32 rxunexp; /* unexpected packets */
1831 uint32 rxpad[4]; /* future */ 1831 u32 rxpad[4]; /* future */
1832} wlc_ba_cnt_t; 1832} wlc_ba_cnt_t;
1833#endif /* WLBA */ 1833#endif /* WLBA */
1834 1834
@@ -1889,7 +1889,7 @@ typedef struct tspec_per_sta_arg {
1889 1889
1890/* structure for max bandwidth for each access category */ 1890/* structure for max bandwidth for each access category */
1891typedef struct wme_max_bandwidth { 1891typedef struct wme_max_bandwidth {
1892 uint32 ac[AC_COUNT]; /* max bandwidth for each access category */ 1892 u32 ac[AC_COUNT]; /* max bandwidth for each access category */
1893} wme_max_bandwidth_t; 1893} wme_max_bandwidth_t;
1894 1894
1895#define WL_WME_MBW_PARAMS_IO_BYTES (sizeof(wme_max_bandwidth_t)) 1895#define WL_WME_MBW_PARAMS_IO_BYTES (sizeof(wme_max_bandwidth_t))
@@ -1930,10 +1930,10 @@ typedef enum wl_pkt_filter_type {
1930 * that indicates which bits within the pattern should be matched. 1930 * that indicates which bits within the pattern should be matched.
1931 */ 1931 */
1932typedef struct wl_pkt_filter_pattern { 1932typedef struct wl_pkt_filter_pattern {
1933 uint32 offset; /* Offset within received packet to start pattern matching. 1933 u32 offset; /* Offset within received packet to start pattern matching.
1934 * Offset '0' is the first byte of the ethernet header. 1934 * Offset '0' is the first byte of the ethernet header.
1935 */ 1935 */
1936 uint32 size_bytes; /* Size of the pattern. Bitmask must be the same size. */ 1936 u32 size_bytes; /* Size of the pattern. Bitmask must be the same size. */
1937 u8 mask_and_pattern[1]; /* Variable length mask and pattern data. mask starts 1937 u8 mask_and_pattern[1]; /* Variable length mask and pattern data. mask starts
1938 * at offset 0. Pattern immediately follows mask. 1938 * at offset 0. Pattern immediately follows mask.
1939 */ 1939 */
@@ -1941,9 +1941,9 @@ typedef struct wl_pkt_filter_pattern {
1941 1941
1942/* IOVAR "pkt_filter_add" parameter. Used to install packet filters. */ 1942/* IOVAR "pkt_filter_add" parameter. Used to install packet filters. */
1943typedef struct wl_pkt_filter { 1943typedef struct wl_pkt_filter {
1944 uint32 id; /* Unique filter id, specified by app. */ 1944 u32 id; /* Unique filter id, specified by app. */
1945 uint32 type; /* Filter type (WL_PKT_FILTER_TYPE_xxx). */ 1945 u32 type; /* Filter type (WL_PKT_FILTER_TYPE_xxx). */
1946 uint32 negate_match; /* Negate the result of filter matches */ 1946 u32 negate_match; /* Negate the result of filter matches */
1947 union { /* Filter definitions */ 1947 union { /* Filter definitions */
1948 wl_pkt_filter_pattern_t pattern; /* Pattern matching filter */ 1948 wl_pkt_filter_pattern_t pattern; /* Pattern matching filter */
1949 } u; 1949 } u;
@@ -1954,13 +1954,13 @@ typedef struct wl_pkt_filter {
1954 1954
1955/* IOVAR "pkt_filter_enable" parameter. */ 1955/* IOVAR "pkt_filter_enable" parameter. */
1956typedef struct wl_pkt_filter_enable { 1956typedef struct wl_pkt_filter_enable {
1957 uint32 id; /* Unique filter id */ 1957 u32 id; /* Unique filter id */
1958 uint32 enable; /* Enable/disable bool */ 1958 u32 enable; /* Enable/disable bool */
1959} wl_pkt_filter_enable_t; 1959} wl_pkt_filter_enable_t;
1960 1960
1961/* IOVAR "pkt_filter_list" parameter. Used to retrieve a list of installed filters. */ 1961/* IOVAR "pkt_filter_list" parameter. Used to retrieve a list of installed filters. */
1962typedef struct wl_pkt_filter_list { 1962typedef struct wl_pkt_filter_list {
1963 uint32 num; /* Number of installed packet filters */ 1963 u32 num; /* Number of installed packet filters */
1964 wl_pkt_filter_t filter[1]; /* Variable array of packet filters. */ 1964 wl_pkt_filter_t filter[1]; /* Variable array of packet filters. */
1965} wl_pkt_filter_list_t; 1965} wl_pkt_filter_list_t;
1966 1966
@@ -1968,16 +1968,16 @@ typedef struct wl_pkt_filter_list {
1968 1968
1969/* IOVAR "pkt_filter_stats" parameter. Used to retrieve debug statistics. */ 1969/* IOVAR "pkt_filter_stats" parameter. Used to retrieve debug statistics. */
1970typedef struct wl_pkt_filter_stats { 1970typedef struct wl_pkt_filter_stats {
1971 uint32 num_pkts_matched; /* # filter matches for specified filter id */ 1971 u32 num_pkts_matched; /* # filter matches for specified filter id */
1972 uint32 num_pkts_forwarded; /* # packets fwded from dongle to host for all filters */ 1972 u32 num_pkts_forwarded; /* # packets fwded from dongle to host for all filters */
1973 uint32 num_pkts_discarded; /* # packets discarded by dongle for all filters */ 1973 u32 num_pkts_discarded; /* # packets discarded by dongle for all filters */
1974} wl_pkt_filter_stats_t; 1974} wl_pkt_filter_stats_t;
1975 1975
1976typedef struct wl_pkteng { 1976typedef struct wl_pkteng {
1977 uint32 flags; 1977 u32 flags;
1978 uint32 delay; /* Inter-packet delay */ 1978 u32 delay; /* Inter-packet delay */
1979 uint32 nframes; /* Number of frames */ 1979 u32 nframes; /* Number of frames */
1980 uint32 length; /* Packet length */ 1980 u32 length; /* Packet length */
1981 u8 seqno; /* Enable/disable sequence no. */ 1981 u8 seqno; /* Enable/disable sequence no. */
1982 struct ether_addr dest; /* Destination address */ 1982 struct ether_addr dest; /* Destination address */
1983 struct ether_addr src; /* Source address */ 1983 struct ether_addr src; /* Source address */