Lines Matching refs:wh

52 	struct ieee80211_frame *wh;
86 int wanted(struct params *p, struct ieee80211_frame *wh, int len)
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)
154 q->wh = wh;
181 struct ieee80211_frame *wh;
196 wh = (struct ieee80211_frame*) p->packet;
197 wh->i_fc[0] |= IEEE80211_FC0_TYPE_DATA;
198 wh->i_fc[0] |= IEEE80211_FC0_SUBTYPE_DATA;
199 wh->i_fc[1] |= IEEE80211_FC1_DIR_TODS;
200 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
202 wh->i_dur[0] = 0x69;
204 memcpy(wh->i_addr1, p->ap, 6);
205 memcpy(wh->i_addr2, p->mac, 6);
206 memcpy(wh->i_addr3, p->mcast, 5);
207 wh->i_addr3[5] = x;
209 seq = (short*) wh->i_seq;
213 data = (char*) (wh+1);
214 ptr = (char*) (q->wh+1);
223 memcpy(key, (q->wh+1), 3);
235 pt = known_pt(q->wh, &ptl);
252 wh->i_fc[1] |= IEEE80211_FC1_MORE_FRAG;
268 len += sizeof(*wh);
278 wh->i_fc[1] &= ~IEEE80211_FC1_MORE_FRAG;
298 len += sizeof(*wh) + 4;
319 void got_mcast(struct params *p, struct ieee80211_frame *wh, int len)
328 struct ieee80211_frame *wh;
341 wh = get_wifi(buf, &rc);
342 if (!wh)
346 if (frame_type(wh, IEEE80211_FC0_TYPE_DATA,
348 (wh->i_fc[1] & IEEE80211_FC1_DIR_FROMDS) &&
349 (memcmp(wh->i_addr2, p->ap, 6) == 0) &&
350 (memcmp(wh->i_addr1, p->mcast, 5) == 0) &&
351 (memcmp(p->mac, wh->i_addr3, 6) == 0)) {
352 got_mcast(p, wh, rc);
357 if (frame_type(wh, IEEE80211_FC0_TYPE_DATA,
359 if (!wanted(p, wh, rc))
362 enque(p, &buf, wh, rc);