Lines Matching refs:wh

85 void fill_basic(struct ieee80211_frame *wh, struct params *p)  in fill_basic()  argument
89 wh->i_dur[0] = 0x69; in fill_basic()
90 wh->i_dur[1] = 0x00; in fill_basic()
92 memcpy(wh->i_addr1, p->ap, 6); in fill_basic()
93 memcpy(wh->i_addr2, p->mac, 6); in fill_basic()
94 memcpy(wh->i_addr3, p->bssid, 6); in fill_basic()
96 seq = (short*)wh->i_seq; in fill_basic()
118 struct ieee80211_frame *wh; in send_probe_request() local
124 wh = (struct ieee80211_frame*) buf; in send_probe_request()
125 fill_basic(wh, p); in send_probe_request()
126 wh->i_fc[0] |= IEEE80211_FC0_TYPE_MGT | IEEE80211_FC0_SUBTYPE_PROBE_REQ; in send_probe_request()
128 memset(wh->i_addr1, 0xFF, 6); in send_probe_request()
129 memset(wh->i_addr3, 0xFF, 6); in send_probe_request()
131 data = (char*) (wh + 1); in send_probe_request()
144 len = data - (char*)wh; in send_probe_request()
152 struct ieee80211_frame *wh; in send_auth() local
158 wh = (struct ieee80211_frame*) buf; in send_auth()
159 fill_basic(wh, p); in send_auth()
160 wh->i_fc[0] |= IEEE80211_FC0_TYPE_MGT | IEEE80211_FC0_SUBTYPE_AUTH; in send_auth()
162 data = (char*) (wh + 1); in send_auth()
176 len = data - (char*)wh; in send_auth()
199 struct ieee80211_frame *wh; in send_assoc() local
205 wh = (struct ieee80211_frame*) &u.w; in send_assoc()
206 fill_basic(wh, p); in send_assoc()
207 wh->i_fc[0] |= IEEE80211_FC0_TYPE_MGT | IEEE80211_FC0_SUBTYPE_ASSOC_REQ; in send_assoc()
209 data = (char*) (wh + 1); in send_assoc()
231 len = data - (char*)wh; in send_assoc()
236 int for_me(struct ieee80211_frame *wh, char *mac) in for_me() argument
238 return memcmp(wh->i_addr1, mac, 6) == 0; in for_me()
241 int from_ap(struct ieee80211_frame *wh, char *mac) in from_ap() argument
243 return memcmp(wh->i_addr2, mac, 6) == 0; in from_ap()
246 void ack(struct params *p, struct ieee80211_frame *wh) in ack() argument
248 if (memcmp(wh->i_addr1, p->mac, 6) != 0) in ack()
251 if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_CTL) in ack()
254 send_ack(p->tx, wh->i_addr2); in ack()
257 void generic_process(struct ieee80211_frame *wh, struct params *p, int len) in generic_process() argument
263 ack(p, wh); in generic_process()
267 if (!for_me(wh, p->mac)) in generic_process()
271 if (memcmp(wh->i_addr2, p->mac, 6) == 0) { in generic_process()
275 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; in generic_process()
276 stype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; in generic_process()
278 if (for_me(wh, p->mac) && type == IEEE80211_FC0_TYPE_DATA) { in generic_process()
281 p->seq_rx = seqno(wh); in generic_process()
283 int s = seqno(wh); in generic_process()
320 if (wh->i_fc[1] & IEEE80211_FC1_RETRY) { in generic_process()
325 if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) != IEEE80211_FC0_TYPE_CTL) { in generic_process()
326 int rc = send_ack(p->tx, wh->i_addr2); in generic_process()
342 if (wh->i_fc[1] & IEEE80211_FC1_DIR_FROMDS) { in generic_process()
343 if (memcmp(wh->i_addr2, p->ap, 6) != 0) in generic_process()
346 if (memcmp(wh->i_addr1, p->ap, 6) != 0) in generic_process()
361 if (wh->i_fc[1] & IEEE80211_FC1_DIR_FROMDS) { in generic_process()
362 memcpy(src, wh->i_addr3, 6); in generic_process()
363 memcpy(dst, wh->i_addr1, 6); in generic_process()
365 memcpy(src, wh->i_addr2, 6); in generic_process()
366 memcpy(dst, wh->i_addr3, 6); in generic_process()
369 ptr = (char*) (wh + 1); in generic_process()
371 if (wh->i_fc[1] & IEEE80211_FC1_WEP) { in generic_process()
379 srca, dsta, len-sizeof(*wh)-8); in generic_process()
383 if (wep_decrypt(wh, len, p->wep_key, p->wep_len) == -1){ in generic_process()
390 len-sizeof(*wh)-8); in generic_process()
405 len -= sizeof(*wh); in generic_process()
424 struct ieee80211_frame *wh; in get_probe_response() local
436 wh = get_wifi(buf, &rc); in get_probe_response()
437 if (!wh) in get_probe_response()
440 generic_process(wh, p, rc); in get_probe_response()
442 if (!for_me(wh, p->mac)) in get_probe_response()
445 if (!frame_type(wh, IEEE80211_FC0_TYPE_MGT, in get_probe_response()
449 data = (char*) (wh+1); in get_probe_response()
473 mac2str(from, wh->i_addr2); in get_probe_response()
474 mac2str(bssid, wh->i_addr3); in get_probe_response()
481 memcpy(p->ap, wh->i_addr2, 6); in get_probe_response()
482 memcpy(p->bssid, wh->i_addr3, 6); in get_probe_response()
490 struct ieee80211_frame *wh; in get_auth() local
497 wh = get_wifi(buf, &rc); in get_auth()
498 if (!wh) in get_auth()
501 generic_process(wh, p, rc); in get_auth()
503 if (!for_me(wh, p->mac)) in get_auth()
506 if (!from_ap(wh, p->ap)) in get_auth()
509 if (!frame_type(wh, IEEE80211_FC0_TYPE_MGT, in get_auth()
513 data = (short*) (wh+1); in get_auth()
544 struct ieee80211_frame *wh; in get_assoc() local
551 wh = get_wifi(buf, &rc); in get_assoc()
552 if (!wh) in get_assoc()
555 generic_process(wh, p, rc); in get_assoc()
557 if (!for_me(wh, p->mac)) in get_assoc()
560 if (!from_ap(wh, p->ap)) in get_assoc()
563 if (!frame_type(wh, IEEE80211_FC0_TYPE_MGT, in get_assoc()
568 data = (unsigned short*) (wh+1); in get_assoc()
590 struct ieee80211_frame *wh; in read_wifi() local
597 wh = get_wifi(buf, &rc); in read_wifi()
598 if (!wh) in read_wifi()
601 generic_process(wh, p, rc); in read_wifi()
603 if (!for_me(wh, p->mac)) in read_wifi()
606 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; in read_wifi()
607 stype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; in read_wifi()
632 if (!from_ap(wh, p->ap)) in read_wifi()
655 struct ieee80211_frame *wh; in read_tap() local
672 wh = (struct ieee80211_frame*) p->packet; in read_tap()
674 fill_basic(wh, p); in read_tap()
675 memcpy(wh->i_addr3, mac, sizeof(wh->i_addr3)); in read_tap()
676 wh->i_fc[0] |= IEEE80211_FC0_TYPE_DATA; in read_tap()
677 wh->i_fc[1] |= IEEE80211_FC1_DIR_TODS; in read_tap()
679 wh->i_fc[1] |= IEEE80211_FC1_WEP; in read_tap()
682 ptr = (char*) (wh+1); in read_tap()
697 ptr = (char*) (wh+1); in read_tap()
702 wep_encrypt(wh, p->packet_len, p->wep_key, p->wep_len); in read_tap()
916 struct ieee80211_frame *wh; in main() local
918 wh = (struct ieee80211_frame*) p.packet; in main()
919 wh->i_fc[1] |= IEEE80211_FC1_RETRY; in main()