Lines Matching refs:wh

53 	struct ieee80211_frame *wh;
127 int wanted(struct params *p, struct ieee80211_frame *wh, int len)
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)
195 q->wh = wh;
237 struct ieee80211_frame *wh;
248 wh = (struct ieee80211_frame*) p->packet;
249 wh->i_fc[1] |= IEEE80211_FC1_RETRY;
257 struct ieee80211_frame *wh;
267 wh = (struct ieee80211_frame *) p->packet;
268 wh->i_fc[0] |= IEEE80211_FC0_TYPE_DATA;
269 wh->i_fc[0] |= IEEE80211_FC0_SUBTYPE_DATA;
270 wh->i_fc[1] |= IEEE80211_FC1_DIR_TODS;
271 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
272 wh->i_fc[1] |= IEEE80211_FC1_MORE_FRAG;
274 wh->i_dur[0] = 0x69;
276 memcpy(wh->i_addr1, p->ap, 6);
277 memcpy(wh->i_addr2, p->mac, 6);
278 memcpy(wh->i_addr3, p->rtr, 6);
280 pseq = (short*) wh->i_seq;
286 ptr = (char*) (wh+1);
297 len = q->len - sizeof(*wh) - 4 - 4 + 20;
316 p->packet_len = sizeof(*wh) + 4 + len + 4;
334 struct ieee80211_frame *wh;
344 wh = (struct ieee80211_frame*) p->packet;
345 wh->i_fc[0] |= IEEE80211_FC0_TYPE_DATA;
346 wh->i_fc[0] |= IEEE80211_FC0_SUBTYPE_DATA;
347 wh->i_fc[1] |= IEEE80211_FC1_DIR_TODS;
348 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
350 wh->i_dur[0] = 0x69;
352 memcpy(wh->i_addr1, p->ap, 6);
353 memcpy(wh->i_addr2, p->mac, 6);
354 memcpy(wh->i_addr3, p->rtr, 6);
356 seq = (short*) wh->i_seq;
360 dst = (char*) (wh+1);
361 src = (char*) (q->wh+1);
362 len = q->len - sizeof(*wh);
365 p->packet_len = sizeof(*wh) + len;
388 struct ieee80211_frame *wh;
401 wh = get_wifi(buf, &rc);
402 if (!wh)
406 if (frame_type(wh, IEEE80211_FC0_TYPE_CTL, IEEE80211_FC0_SUBTYPE_ACK) &&
407 (memcmp(p->mac, wh->i_addr1, 6) == 0)) {
413 if (frame_type(wh, IEEE80211_FC0_TYPE_DATA,
415 if (!wanted(p, wh, rc))
418 enque(p, &buf, wh, rc);
511 rem = q->len - sizeof(*q->wh) - 4 - 4;
518 if (q->wh->i_fc[1] & IEEE80211_FC1_DIR_TODS) {
519 memcpy(mac, q->wh->i_addr3, 6);
520 memcpy(&mac[6], q->wh->i_addr2, 6);
522 memcpy(mac, q->wh->i_addr1, 6);
523 memcpy(&mac[6], q->wh->i_addr3, 6);