Searched refs:wh (Results 1 - 25 of 85) sorted by relevance

1234

/freebsd-12-stable/tools/tools/net80211/w00t/assoc/
H A Dassoc.c85 void fill_basic(struct ieee80211_frame *wh, struct params *p) argument
89 wh->i_dur[0] = 0x69;
90 wh->i_dur[1] = 0x00;
92 memcpy(wh->i_addr1, p->ap, 6);
93 memcpy(wh->i_addr2, p->mac, 6);
94 memcpy(wh->i_addr3, p->bssid, 6);
96 seq = (short*)wh->i_seq;
118 struct ieee80211_frame *wh; local
124 wh = (struct ieee80211_frame*) buf;
125 fill_basic(wh,
152 struct ieee80211_frame *wh; local
199 struct ieee80211_frame *wh; local
236 for_me(struct ieee80211_frame *wh, char *mac) argument
241 from_ap(struct ieee80211_frame *wh, char *mac) argument
246 ack(struct params *p, struct ieee80211_frame *wh) argument
257 generic_process(struct ieee80211_frame *wh, struct params *p, int len) argument
424 struct ieee80211_frame *wh; local
490 struct ieee80211_frame *wh; local
544 struct ieee80211_frame *wh; local
590 struct ieee80211_frame *wh; local
655 struct ieee80211_frame *wh; local
916 struct ieee80211_frame *wh; local
[all...]
/freebsd-12-stable/tools/tools/net80211/w00t/ap/
H A Dap.c92 void fill_basic(struct ieee80211_frame *wh, struct params *p) argument
96 wh->i_dur[0] = 0x69;
97 wh->i_dur[1] = 0x00;
99 memcpy(wh->i_addr2, p->mac, 6);
101 seq = (short*)wh->i_seq;
119 int fill_beacon(struct params *p, struct ieee80211_frame *wh) argument
124 ptr = (char*) (wh+1);
150 return ptr - ((char*) wh);
156 struct ieee80211_frame *wh; local
160 wh
190 struct ieee80211_frame *wh; local
209 read_preq(struct params *p, struct ieee80211_frame *wh, int len) argument
238 struct ieee80211_frame *wh; local
262 read_auth(struct params *p, struct ieee80211_frame *wh, int len) argument
288 struct ieee80211_frame *wh; local
321 read_assoc(struct params *p, struct ieee80211_frame *wh, int len) argument
352 read_mgt(struct params *p, struct ieee80211_frame *wh, int len) argument
385 struct ieee80211_frame *wh; local
398 read_rts(struct params *p, struct ieee80211_frame *wh, int len) argument
406 read_ack(struct params *p, struct ieee80211_frame *wh, int len) argument
412 read_ctl(struct params *p, struct ieee80211_frame *wh, int len) argument
437 broadcast(struct ieee80211_frame *wh) argument
447 enque(struct params *p, struct ieee80211_frame *wh, int len) argument
465 relay_data(struct params *p, struct ieee80211_frame *wh, int len) argument
495 read_real_data(struct params *p, struct ieee80211_frame *wh, int len) argument
548 read_data(struct params *p, struct ieee80211_frame *wh, int len) argument
595 duplicate(struct params *p, struct ieee80211_frame *wh, int rc) argument
642 ack(struct params *p, struct ieee80211_frame *wh) argument
657 struct ieee80211_frame *wh; local
713 struct ieee80211_frame *wh; local
[all...]
/freebsd-12-stable/sys/net80211/
H A Dieee80211_sta.h43 const struct ieee80211_frame *wh, uint8_t *qosinfo);
49 const struct ieee80211_frame *wh, struct ieee80211_node *ni);
H A Dieee80211_hostap.c481 struct ieee80211_frame *wh; local
507 wh = mtod(m, struct ieee80211_frame *);
509 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
511 hdrspace = ieee80211_hdrspace(ic, wh); /* XXX optimize? */
533 wh = mtod(m, struct ieee80211_frame *);
535 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
539 wh->i_fc[0], wh->i_fc[1]);
544 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
545 type = wh
910 hostap_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, int rssi, int nf, uint16_t seq, uint16_t status) argument
988 hostap_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, uint8_t *frm, uint8_t *efrm, int rssi, int nf, uint16_t seq, uint16_t status) argument
1234 ieee80211_parse_wpa(struct ieee80211vap *vap, const uint8_t *frm, struct ieee80211_rsnparms *rsn, const struct ieee80211_frame *wh) argument
1411 ieee80211_parse_rsn(struct ieee80211vap *vap, const uint8_t *frm, struct ieee80211_rsnparms *rsn, const struct ieee80211_frame *wh) argument
1537 wpa_assocreq(struct ieee80211_node *ni, struct ieee80211_rsnparms *rsnparms, const struct ieee80211_frame *wh, const uint8_t *wpa, const uint8_t *rsn, uint16_t capinfo) argument
1668 ratesetmismatch(struct ieee80211_node *ni, const struct ieee80211_frame *wh, int reassoc, int resp, const char *tag, int rate) argument
1679 capinfomismatch(struct ieee80211_node *ni, const struct ieee80211_frame *wh, int reassoc, int resp, const char *tag, int capinfo) argument
1693 htcapmismatch(struct ieee80211_node *ni, const struct ieee80211_frame *wh, int reassoc, int resp) argument
1704 authalgreject(struct ieee80211_node *ni, const struct ieee80211_frame *wh, int algo, int seq, int status) argument
1748 struct ieee80211_frame *wh; local
2386 struct ieee80211_frame_min *wh; local
[all...]
H A Dieee80211_wds.c417 struct ieee80211_frame *wh; local
442 wh = mtod(m, struct ieee80211_frame *);
444 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
446 hdrspace = ieee80211_hdrspace(ic, wh); /* XXX optimize? */
467 wh = mtod(m, struct ieee80211_frame *);
469 if (!IEEE80211_IS_MULTICAST(wh->i_addr1))
472 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
476 wh->i_fc[0], wh->i_fc[1]);
481 dir = wh
746 struct ieee80211_frame *wh; local
[all...]
H A Dieee80211_adhoc.c315 struct ieee80211_frame *wh; local
341 wh = mtod(m, struct ieee80211_frame *);
343 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
345 hdrspace = ieee80211_hdrspace(ic, wh); /* XXX optimize? */
367 wh = mtod(m, struct ieee80211_frame *);
369 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
373 wh->i_fc[0], wh->i_fc[1]);
378 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
379 type = wh
708 struct ieee80211_frame *wh; local
1006 struct ieee80211_frame *wh; local
[all...]
H A Dieee80211_sta.c481 isdstods_mcastecho(struct ieee80211vap *vap, const struct ieee80211_frame *wh) argument
483 #define QWH4(wh) ((const struct ieee80211_qosframe_addr4 *)wh)
484 #define WH4(wh) ((const struct ieee80211_frame_addr4 *)wh)
489 if (!IEEE80211_IS_MULTICAST(wh->i_addr3))
491 sa = IEEE80211_QOS_HAS_SEQ(wh) ? QWH4(wh)->i_addr4 : WH4(wh)->i_addr4;
502 isfromds_mcastecho(struct ieee80211vap *vap, const struct ieee80211_frame *wh) argument
546 struct ieee80211_frame *wh; local
990 sta_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, int rssi, int nf, uint16_t seq, uint16_t status) argument
1019 sta_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, uint8_t *frm, uint8_t *efrm, int rssi, int nf, uint16_t seq, uint16_t status) argument
1138 ieee80211_parse_wmeie(uint8_t *frm, const struct ieee80211_frame *wh, struct ieee80211_node *ni) argument
1161 ieee80211_parse_wmeparams(struct ieee80211vap *vap, uint8_t *frm, const struct ieee80211_frame *wh, uint8_t *qosinfo) argument
1217 ieee80211_parse_csaparams(struct ieee80211vap *vap, uint8_t *frm, const struct ieee80211_frame *wh) argument
1393 struct ieee80211_frame *wh; local
[all...]
H A Dieee80211_proto.h173 const struct ieee80211_frame *wh = data; local
177 KASSERT((wh->i_fc[0]&IEEE80211_FC0_TYPE_MASK) != IEEE80211_FC0_TYPE_CTL,
179 if (IEEE80211_IS_DSTODS(wh))
181 if (IEEE80211_QOS_HAS_SEQ(wh))
192 const struct ieee80211_frame *wh = data; local
194 if ((wh->i_fc[0]&IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_CTL) {
195 switch (wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) {
237 const struct ieee80211_frame *wh);
316 struct ieee80211_frame *wh = data; local
318 KASSERT(IEEE80211_QOS_HAS_SEQ(wh), ("Qo
331 ieee80211_gettid(const struct ieee80211_frame *wh) argument
[all...]
H A Dieee80211_input.h36 wh, NULL, "%s", "no " #__elem ); \
41 wh, NULL, "bad " #__elem " len %d", (__elem)[1]); \
50 wh, NULL, "ie too short, got %d, expected %d", \
68 wh->i_addr2, _ssid); \
195 ieee80211_check_rxseq(struct ieee80211_node *ni, struct ieee80211_frame *wh, argument
208 rxseq = le16toh(*(uint16_t *)wh->i_seq);
209 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
210 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
223 if (IEEE80211_IS_MULTICAST(wh->i_addr1))
226 tid = ieee80211_gettid(wh);
[all...]
H A Dieee80211_input.c176 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
180 uint8_t more_frag = wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG;
183 KASSERT(!IEEE80211_IS_MULTICAST(wh->i_addr1), ("multicast fragm?"));
185 rxseq = le16toh(*(uint16_t *)wh->i_seq);
224 IEEE80211_ADDR_EQ(wh->i_addr1, lwh->i_addr1) &&
225 IEEE80211_ADDR_EQ(wh->i_addr2, lwh->i_addr2)) {
228 *(uint16_t *) lwh->i_seq = *(uint16_t *) wh->i_seq;
299 struct ieee80211_qosframe_addr4 wh; local
303 KASSERT(hdrlen <= sizeof(wh),
304 ("hdrlen %d > max %zd", hdrlen, sizeof(wh)));
490 struct ieee80211_frame *wh; local
757 struct ieee80211_frame *wh; local
891 ieee80211_getbssid(const struct ieee80211vap *vap, const struct ieee80211_frame *wh) argument
919 ieee80211_note_frame(const struct ieee80211vap *vap, const struct ieee80211_frame *wh, const char *fmt, ...) argument
948 ieee80211_discard_frame(const struct ieee80211vap *vap, const struct ieee80211_frame *wh, const char *type, const char *fmt, ...) argument
965 ieee80211_discard_ie(const struct ieee80211vap *vap, const struct ieee80211_frame *wh, const char *type, const char *fmt, ...) argument
[all...]
H A Dieee80211_crypto_ccmp.c167 const struct ieee80211_frame *wh; local
175 wh = mtod(m, const struct ieee80211_frame *);
176 is_mgmt = IEEE80211_IS_MGMT(wh);
240 struct ieee80211_frame *wh; local
253 wh = mtod(m, struct ieee80211_frame *);
259 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2,
264 tid = ieee80211_gettid(wh);
271 ieee80211_notify_replay_failure(vap, wh, k, pn, tid);
345 ccmp_init_blocks(rijndael_ctx *ctx, struct ieee80211_frame *wh, argument
350 #define IS_QOS_DATA(wh) IEEE80211_QOS_HAS_SE
453 struct ieee80211_frame *wh; local
599 struct ieee80211_frame *wh; local
[all...]
H A Dieee80211_crypto_none.c105 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
114 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr1,
126 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
127 const uint8_t *ivp = (const uint8_t *)&wh[1];
135 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2,
H A Dieee80211_output.c595 struct ieee80211_frame *wh; local
601 wh = mtod(m, struct ieee80211_frame *);
602 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
606 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
608 if ((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) !=
613 (wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG) != 0)
620 (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) != 0) {
623 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
635 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
638 if (m->m_pkthdr.len < ieee80211_anyhdrsize(wh))
748 struct ieee80211_frame *wh; local
891 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
1014 struct ieee80211_frame *wh; local
1095 struct ieee80211_frame *wh; local
1202 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
1472 struct ieee80211_frame *wh; local
1962 struct ieee80211_frame *wh, *whf; local
3288 const struct ieee80211_frame *wh; local
3587 struct ieee80211_frame *wh; local
3707 struct ieee80211_frame *wh; local
[all...]
H A Dieee80211_crypto_tkip.c182 struct ieee80211_frame *wh; local
187 wh = mtod(m, struct ieee80211_frame *);
188 is_mgmt = IEEE80211_IS_MGMT(wh);
195 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
198 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2,
244 struct ieee80211_frame *wh; local
247 wh = mtod(m, struct ieee80211_frame *);
248 is_mgmt = IEEE80211_IS_MGMT(wh);
259 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *); local
267 hdrlen = ieee80211_hdrspace(ic, wh);
295 struct ieee80211_frame *wh; local
389 struct ieee80211_frame *wh; local
850 const struct ieee80211_frame_addr4 *wh = local
1011 struct ieee80211_frame *wh; local
1037 struct ieee80211_frame *wh; local
[all...]
/freebsd-12-stable/tools/tools/net80211/w00t/expand/
H A Dexpand.c52 struct ieee80211_frame *wh; member in struct:queue
86 int wanted(struct params *p, struct ieee80211_frame *wh, int len) argument
90 if (wh->i_fc[1] & IEEE80211_FC1_DIR_TODS) {
91 bssid = wh->i_addr1;
92 sa = wh->i_addr2;
95 bssid = wh->i_addr2;
96 sa = wh->i_addr3;
102 if (!(wh->i_fc[1] & IEEE80211_FC1_PROTECTED)) {
114 void enque(struct params *p, char **buf, struct ieee80211_frame *wh, int len) argument
154 q->wh
181 struct ieee80211_frame *wh; local
319 got_mcast(struct params *p, struct ieee80211_frame *wh, int len) argument
328 struct ieee80211_frame *wh; local
[all...]
/freebsd-12-stable/tools/tools/net80211/w00t/prga/
H A Dprga.c150 int is_arp(struct ieee80211_frame *wh, int len) argument
153 if (len > (sizeof(*wh) + 4 + 4 + 39))
163 struct ieee80211_frame *wh; local
172 wh = get_wifi(buf, &rc);
173 if (!wh)
176 if (!frame_type(wh, IEEE80211_FC0_TYPE_DATA,
180 if (is_arp(wh, rc))
185 if (wh->i_fc[1] & IEEE80211_FC1_DIR_TODS)
186 bssid = wh->i_addr1;
188 bssid = wh
239 struct ieee80211_frame *wh; local
259 struct ieee80211_frame *wh; local
341 struct ieee80211_frame *wh; local
408 struct ieee80211_frame *wh; local
510 struct ieee80211_frame *wh; local
[all...]
/freebsd-12-stable/tools/tools/net80211/w00t/redir/
H A Dredir.c53 struct ieee80211_frame *wh; member in struct:queue
127 int wanted(struct params *p, struct ieee80211_frame *wh, int len) argument
131 if (wh->i_fc[1] & IEEE80211_FC1_DIR_TODS) {
132 bssid = wh->i_addr1;
133 sa = wh->i_addr2;
136 bssid = wh->i_addr2;
137 sa = wh->i_addr3;
143 if (!(wh->i_fc[1] & IEEE80211_FC1_PROTECTED)) {
155 void enque(struct params *p, char **buf, struct ieee80211_frame *wh, int len) argument
195 q->wh
237 struct ieee80211_frame *wh; local
257 struct ieee80211_frame *wh; local
334 struct ieee80211_frame *wh; local
388 struct ieee80211_frame *wh; local
[all...]
/freebsd-12-stable/tools/tools/net80211/w00t/libw00t/
H A Dw00t.h46 unsigned short seqno(struct ieee80211_frame *wh);
50 int wep_decrypt(struct ieee80211_frame *wh, int len, char *key, int klen);
51 void wep_encrypt(struct ieee80211_frame *wh, int len, char *key, int klen);
52 int frame_type(struct ieee80211_frame *wh, int type, int stype);
55 char *known_pt(struct ieee80211_frame *wh, int *len);
H A Dw00t.c81 unsigned short seqno(struct ieee80211_frame *wh) argument
83 unsigned short *s = (unsigned short*) wh->i_seq;
305 int wep_decrypt(struct ieee80211_frame *wh, int len, char *key, int klen) argument
309 char *p = (char*) (wh+1);
319 len -= sizeof(*wh);
333 void wep_encrypt(struct ieee80211_frame *wh, int len, char *key, int klen) argument
337 char *p = (char*) (wh+1);
347 len -= sizeof(*wh);
356 int frame_type(struct ieee80211_frame *wh, int type, int stype) argument
358 if ((wh
393 is_arp(struct ieee80211_frame *wh, int len) argument
402 known_pt(struct ieee80211_frame *wh, int *len) argument
[all...]
/freebsd-12-stable/sys/compat/linuxkpi/common/include/net/
H A Dipv6.h66 static inline void __ipv6_addr_set_half(__be32 *addr, __be32 wh, __be32 wl) argument
70 if (__builtin_constant_p(wh) && __builtin_constant_p(wl)) {
71 *(__force u64 *)addr = ((__force u64)(wh) << 32 | (__force u64)(wl));
75 if (__builtin_constant_p(wl) && __builtin_constant_p(wh)) {
76 *(__force u64 *)addr = ((__force u64)(wl) << 32 | (__force u64)(wh));
81 addr[0] = wh;
/freebsd-12-stable/tools/tools/net80211/wesside/wesside/
H A Dwesside.c82 struct ieee80211_frame wh; member in struct:frag_state
585 void fill_basic(struct ieee80211_frame* wh) { argument
588 memcpy(wh->i_addr1, victim.bss, 6);
589 memcpy(wh->i_addr2, mymac, 6);
590 memcpy(wh->i_addr3, victim.bss, 6);
594 sp = (unsigned short*) wh->i_seq;
597 sp = (unsigned short*) wh->i_dur;
603 struct ieee80211_frame* wh = (struct ieee80211_frame*) buf; local
608 fill_basic(wh);
609 wh
659 struct ieee80211_frame* wh = (struct ieee80211_frame*) buf; local
673 get_victim_ssid(struct ieee80211_frame* wh, int len) argument
995 stuff_for_us(struct ieee80211_frame* wh, int len) argument
1154 decrypt_arpreq(struct ieee80211_frame* wh, int rd) argument
1206 log_wep(struct ieee80211_frame* wh, int len) argument
1242 try_dictionary(struct ieee80211_frame* wh, int len) argument
1336 is_arp(struct ieee80211_frame *wh, int len) argument
1346 get_sa(struct ieee80211_frame *wh) argument
1354 get_da(struct ieee80211_frame *wh) argument
1362 known_clear(void *clear, struct ieee80211_frame *wh, int len) argument
1415 add_keystream(struct ieee80211_frame* wh, int rd) argument
1433 got_wep(struct ieee80211_frame* wh, int rd) argument
1552 stuff_for_net(struct ieee80211_frame* wh, int rd) argument
1588 struct ieee80211_frame* wh = (struct ieee80211_frame *) buf; local
1691 struct ieee80211_frame* wh; local
1850 struct ieee80211_frame* wh; local
1969 struct ieee80211_frame* wh; local
2220 struct ieee80211_frame* wh; local
[all...]
/freebsd-12-stable/contrib/tcpdump/
H A Dprint-enc.c82 #define ENC_PRINT_TYPE(wh, xf, nam) \
83 if ((wh) & (xf)) { \
84 ND_PRINT((ndo, "%s%s", nam, (wh) == (xf) ? "): " : ",")); \
85 (wh) &= ~(xf); \
/freebsd-12-stable/tools/tools/net80211/wlaninject/
H A Dwlaninject.c297 int header_len(struct ieee80211_frame *wh) argument
299 int len = sizeof(*wh);
301 switch (wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) {
303 switch (wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) {
343 wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
348 switch (wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) {
372 wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
377 if (wh->i_fc[1] & IEEE80211_FC1_DIR_DSTODS)
378 len += sizeof(wh->i_addr1);
383 wh
471 struct ieee80211_frame *wh; local
539 struct ieee80211_frame *wh = &u.w; local
[all...]
/freebsd-12-stable/sys/netgraph/
H A Dng_pppoe.c392 * Also assume that neg->wh points to the correct
397 struct pppoe_full_hdr *wh = &sp->neg->pkt->pkt_header; local
408 dp = (char *)(&wh->ph + 1);
413 if ((length + tlen) > (ETHER_MAX_LEN - 4 - sizeof(*wh))) {
422 wh->ph.length = htons(length);
423 sp->neg->m->m_len = length + sizeof(*wh);
424 sp->neg->m->m_pkthdr.len = length + sizeof(*wh);
583 pppoe_findsession(priv_p privp, const struct pppoe_full_hdr *wh) argument
585 uint16_t session = ntohs(wh->ph.sid);
593 wh
1143 struct pppoe_full_hdr *wh; local
1186 struct pppoe_full_hdr *wh; local
1411 struct pppoe_full_hdr *wh; local
1560 const struct pppoe_full_hdr *wh; local
2034 struct pppoe_full_hdr *wh; local
[all...]
/freebsd-12-stable/sys/dev/rtwn/
H A Dif_rtwn_tx.c118 struct ieee80211_frame *wh; local
127 wh = mtod(m, struct ieee80211_frame *);
128 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
129 ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1);
158 if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
169 wh = mtod(m, struct ieee80211_frame *);
197 struct ieee80211_frame *wh; local
217 wh = mtod(m, struct ieee80211_frame *);
218 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;

Completed in 227 milliseconds

1234