39 #define IEEE80211_ADDR_LEN 6
40 #define IEEE80211_RATE_VAL 0x7f
41 #define IEEE80211_RATE_SIZE 8
42 #define IEEE80211_RATE_MAXSIZE 15
51 u_int32_t ns_rx_ucast;
52 u_int32_t ns_rx_mcast;
53 u_int64_t ns_rx_bytes;
54 u_int64_t ns_rx_beacons;
55 u_int32_t ns_rx_proberesp;
58 u_int32_t ns_rx_noprivacy;
59 u_int32_t ns_rx_wepfail;
60 u_int32_t ns_rx_demicfail;
61 u_int32_t ns_rx_decap;
62 u_int32_t ns_rx_defrag;
63 u_int32_t ns_rx_disassoc;
64 u_int32_t ns_rx_deauth;
65 u_int32_t ns_rx_decryptcrc;
66 u_int32_t ns_rx_unauth;
67 u_int32_t ns_rx_unencrypted;
71 u_int32_t ns_tx_ucast;
72 u_int32_t ns_tx_mcast;
73 u_int64_t ns_tx_bytes;
74 u_int32_t ns_tx_probereq;
75 u_int32_t ns_tx_uapsd;
77 u_int32_t ns_tx_novlantag;
78 u_int32_t ns_tx_vlanmismatch;
80 u_int32_t ns_tx_eosplost;
82 u_int32_t ns_ps_discard;
84 u_int32_t ns_uapsd_triggers;
87 u_int32_t ns_tx_assoc;
88 u_int32_t ns_tx_assoc_fail;
90 u_int32_t ns_tx_auth_fail;
91 u_int32_t ns_tx_deauth;
92 u_int32_t ns_tx_deauth_code;
93 u_int32_t ns_tx_disassoc;
94 u_int32_t ns_tx_disassoc_code;
95 u_int32_t ns_psq_drops;
102 u_int32_t is_rx_badversion;
103 u_int32_t is_rx_tooshort;
104 u_int32_t is_rx_wrongbss;
106 u_int32_t is_rx_wrongdir;
107 u_int32_t is_rx_mcastecho;
108 u_int32_t is_rx_notassoc;
109 u_int32_t is_rx_noprivacy;
110 u_int32_t is_rx_unencrypted;
111 u_int32_t is_rx_wepfail;
112 u_int32_t is_rx_decap;
113 u_int32_t is_rx_mgtdiscard;
115 u_int32_t is_rx_beacon;
116 u_int32_t is_rx_rstoobig;
117 u_int32_t is_rx_elem_missing;
118 u_int32_t is_rx_elem_toobig;
119 u_int32_t is_rx_elem_toosmall;
120 u_int32_t is_rx_elem_unknown;
121 u_int32_t is_rx_badchan;
122 u_int32_t is_rx_chanmismatch;
123 u_int32_t is_rx_nodealloc;
124 u_int32_t is_rx_ssidmismatch;
125 u_int32_t is_rx_auth_unsupported;
126 u_int32_t is_rx_auth_fail;
127 u_int32_t is_rx_auth_countermeasures;
128 u_int32_t is_rx_assoc_bss;
129 u_int32_t is_rx_assoc_notauth;
130 u_int32_t is_rx_assoc_capmismatch;
131 u_int32_t is_rx_assoc_norate;
132 u_int32_t is_rx_assoc_badwpaie;
133 u_int32_t is_rx_deauth;
134 u_int32_t is_rx_disassoc;
135 u_int32_t is_rx_badsubtype;
136 u_int32_t is_rx_nobuf;
137 u_int32_t is_rx_decryptcrc;
138 u_int32_t is_rx_ahdemo_mgt;
139 u_int32_t is_rx_bad_auth;
140 u_int32_t is_rx_unauth;
141 u_int32_t is_rx_badkeyid;
142 u_int32_t is_rx_ccmpreplay;
143 u_int32_t is_rx_ccmpformat;
144 u_int32_t is_rx_ccmpmic;
145 u_int32_t is_rx_tkipreplay;
146 u_int32_t is_rx_tkipformat;
147 u_int32_t is_rx_tkipmic;
148 u_int32_t is_rx_tkipicv;
149 u_int32_t is_rx_badcipher;
150 u_int32_t is_rx_nocipherctx;
152 u_int32_t is_rx_ffcnt;
153 u_int32_t is_rx_badathtnl;
154 u_int32_t is_tx_nobuf;
155 u_int32_t is_tx_nonode;
156 u_int32_t is_tx_unknownmgt;
157 u_int32_t is_tx_badcipher;
158 u_int32_t is_tx_nodefkey;
159 u_int32_t is_tx_noheadroom;
160 u_int32_t is_tx_ffokcnt;
161 u_int32_t is_tx_fferrcnt;
162 u_int32_t is_scan_active;
163 u_int32_t is_scan_passive;
164 u_int32_t is_node_timeout;
165 u_int32_t is_crypto_nomem;
166 u_int32_t is_crypto_tkip;
167 u_int32_t is_crypto_tkipenmic;
168 u_int32_t is_crypto_tkipdemic;
169 u_int32_t is_crypto_tkipcm;
170 u_int32_t is_crypto_ccmp;
171 u_int32_t is_crypto_wep;
172 u_int32_t is_crypto_setkey_cipher;
173 u_int32_t is_crypto_setkey_nokey;
174 u_int32_t is_crypto_delkey;
175 u_int32_t is_crypto_badcipher;
176 u_int32_t is_crypto_nocipher;
177 u_int32_t is_crypto_attachfail;
178 u_int32_t is_crypto_swfallback;
179 u_int32_t is_crypto_keyfail;
180 u_int32_t is_crypto_enmicfail;
181 u_int32_t is_ibss_capmismatch;
182 u_int32_t is_ibss_norate;
183 u_int32_t is_ps_unassoc;
184 u_int32_t is_ps_badaid;
185 u_int32_t is_ps_qempty;
194 u_int8_t macaddr[IEEE80211_ADDR_LEN];
209 u_int8_t isi_authmode;
211 u_int16_t isi_capinfo;
212 u_int8_t isi_athflags;
214 u_int8_t isi_macaddr[IEEE80211_ADDR_LEN];
216 u_int8_t isi_rates[IEEE80211_RATE_MAXSIZE];
218 u_int16_t isi_ie_len;
219 u_int16_t isi_associd;
220 u_int16_t isi_txpower;
222 u_int16_t isi_txseqs[17];
223 u_int16_t isi_rxseqs[17];
233 u_int32_t ast_watchdog;
234 u_int32_t ast_hardware;
240 u_int32_t ast_tx_packets;
241 u_int32_t ast_tx_mgmt;
242 u_int32_t ast_tx_discard;
243 u_int32_t ast_tx_invalid;
244 u_int32_t ast_tx_qstop;
245 u_int32_t ast_tx_encap;
246 u_int32_t ast_tx_nonode;
247 u_int32_t ast_tx_nobuf;
248 u_int32_t ast_tx_nobufmgt;
249 u_int32_t ast_tx_xretries;
250 u_int32_t ast_tx_fifoerr;
251 u_int32_t ast_tx_filtered;
252 u_int32_t ast_tx_shortretry;
253 u_int32_t ast_tx_longretry;
254 u_int32_t ast_tx_badrate;
255 u_int32_t ast_tx_noack;
256 u_int32_t ast_tx_rts;
257 u_int32_t ast_tx_cts;
258 u_int32_t ast_tx_shortpre;
259 u_int32_t ast_tx_altrate;
260 u_int32_t ast_tx_protect;
261 u_int32_t ast_rx_orn;
262 u_int32_t ast_rx_crcerr;
263 u_int32_t ast_rx_fifoerr;
264 u_int32_t ast_rx_badcrypt;
265 u_int32_t ast_rx_badmic;
266 u_int32_t ast_rx_phyerr;
267 u_int32_t ast_rx_phy[32];
268 u_int32_t ast_rx_tooshort;
269 u_int32_t ast_rx_toobig;
270 u_int32_t ast_rx_nobuf;
271 u_int32_t ast_rx_packets;
272 u_int32_t ast_rx_mgt;
273 u_int32_t ast_rx_ctl;
276 u_int32_t ast_be_xmit;
277 u_int32_t ast_be_nobuf;
278 u_int32_t ast_per_cal;
279 u_int32_t ast_per_calfail;
280 u_int32_t ast_per_rfgain;
281 u_int32_t ast_rate_calls;
282 u_int32_t ast_rate_raise;
283 u_int32_t ast_rate_drop;
284 u_int32_t ast_ant_defswitch;
285 u_int32_t ast_ant_txswitch;
286 u_int32_t ast_ant_rx[8];
287 u_int32_t ast_ant_tx[8];
290 #define SIOCGATHSTATS (SIOCDEVPRIVATE + 0)
291 #define SIOCGATHDIAG (SIOCDEVPRIVATE + 1)
292 #define SIOCGATHRADARSIG (SIOCDEVPRIVATE + 2)
293 #define SIOCGATHHALDIAG (SIOCDEVPRIVATE + 3)
294 #define SIOCG80211STATS (SIOCDEVPRIVATE + 2)
296 #define IEEE80211_IOCTL_GETKEY (SIOCDEVPRIVATE + 3)
297 #define IEEE80211_IOCTL_GETWPAIE (SIOCDEVPRIVATE + 4)
298 #define IEEE80211_IOCTL_STA_STATS (SIOCDEVPRIVATE + 5)
299 #define IEEE80211_IOCTL_STA_INFO (SIOCDEVPRIVATE + 6)
300 #define SIOC80211IFCREATE (SIOCDEVPRIVATE + 7)
301 #define SIOC80211IFDESTROY (SIOCDEVPRIVATE + 8)
302 #define IEEE80211_IOCTL_SCAN_RESULTS (SIOCDEVPRIVATE + 9)