Lines Matching defs:wh
599 struct ieee80211_frame *wh;
605 wh = mtod(m, struct ieee80211_frame *);
606 if (!IEEE80211_IS_FC0_CHECK_VER(wh, IEEE80211_FC0_VERSION_0))
609 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
611 if ((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) !=
616 (wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG) != 0)
623 (IEEE80211_IS_PROTECTED(wh))) {
626 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
638 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
641 if (m->m_pkthdr.len < ieee80211_anyhdrsize(wh))
751 struct ieee80211_frame *wh;
807 wh = mtod(m, struct ieee80211_frame *);
810 switch (wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) {
813 ni = ieee80211_find_txnode(vap, wh->i_addr1);
817 ni = ieee80211_find_txnode(vap, wh->i_addr3);
841 if (IEEE80211_IS_DATA(wh)) {
848 m->m_pkthdr.len - ieee80211_hdrsize(wh));
857 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
891 #define WH4(wh) ((struct ieee80211_frame_addr4 *)wh)
894 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *);
899 wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | type;
903 wh->i_fc[1] = IEEE80211_FC1_DIR_TODS;
904 IEEE80211_ADDR_COPY(wh->i_addr1, bssid);
905 IEEE80211_ADDR_COPY(wh->i_addr2, sa);
906 IEEE80211_ADDR_COPY(wh->i_addr3, da);
910 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
911 IEEE80211_ADDR_COPY(wh->i_addr1, da);
912 IEEE80211_ADDR_COPY(wh->i_addr2, sa);
913 IEEE80211_ADDR_COPY(wh->i_addr3, bssid);
916 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
917 IEEE80211_ADDR_COPY(wh->i_addr1, da);
918 IEEE80211_ADDR_COPY(wh->i_addr2, bssid);
919 IEEE80211_ADDR_COPY(wh->i_addr3, sa);
922 wh->i_fc[1] = IEEE80211_FC1_DIR_DSTODS;
923 IEEE80211_ADDR_COPY(wh->i_addr1, da);
924 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
925 IEEE80211_ADDR_COPY(wh->i_addr3, da);
926 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, sa);
931 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
933 IEEE80211_ADDR_COPY(wh->i_addr1, da);
934 IEEE80211_ADDR_COPY(wh->i_addr2,
937 wh->i_fc[1] = IEEE80211_FC1_DIR_DSTODS;
938 IEEE80211_ADDR_COPY(wh->i_addr1, da);
939 IEEE80211_ADDR_COPY(wh->i_addr2,
941 IEEE80211_ADDR_COPY(wh->i_addr3, da);
942 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, sa);
950 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
951 IEEE80211_ADDR_COPY(wh->i_addr1, da);
952 IEEE80211_ADDR_COPY(wh->i_addr2, sa);
955 IEEE80211_ADDR_COPY(wh->i_addr3, sa);
958 IEEE80211_ADDR_COPY(wh->i_addr3, bssid);
960 *(uint16_t *)&wh->i_dur[0] = 0;
977 *(uint16_t *)&wh->i_seq[0] = 0;
985 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
993 *(uint16_t *)&wh->i_seq[0] =
998 if (IEEE80211_IS_MULTICAST(wh->i_addr1))
1017 struct ieee80211_frame *wh;
1040 wh = mtod(m, struct ieee80211_frame *);
1045 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH, wh->i_addr1,
1047 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
1059 ether_sprintf(wh->i_addr1),
1098 struct ieee80211_frame *wh;
1139 wh = mtod(m, struct ieee80211_frame *); /* NB: a little lie */
1149 qos = ((struct ieee80211_qosframe_addr4 *) wh)->i_qos;
1151 qos = ((struct ieee80211_qosframe *) wh)->i_qos;
1166 wh->i_fc[1] |= IEEE80211_FC1_PWR_MGT;
1184 wh->i_fc[1] & IEEE80211_FC1_PWR_MGT ? "ena" : "dis");
1205 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *);
1209 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
1215 hdrlen = ieee80211_hdrsize(wh);
1472 #define WH4(wh) ((struct ieee80211_frame_addr4 *)(wh))
1482 struct ieee80211_frame *wh;
1695 wh = mtod(m, struct ieee80211_frame *);
1696 wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_DATA;
1697 *(uint16_t *)wh->i_dur = 0;
1700 wh->i_fc[1] = IEEE80211_FC1_DIR_DSTODS;
1701 IEEE80211_ADDR_COPY(wh->i_addr1, ni->ni_macaddr);
1702 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
1703 IEEE80211_ADDR_COPY(wh->i_addr3, eh.ether_dhost);
1704 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, eh.ether_shost);
1707 wh->i_fc[1] = IEEE80211_FC1_DIR_TODS;
1708 IEEE80211_ADDR_COPY(wh->i_addr1, ni->ni_bssid);
1709 IEEE80211_ADDR_COPY(wh->i_addr2, eh.ether_shost);
1710 IEEE80211_ADDR_COPY(wh->i_addr3, eh.ether_dhost);
1714 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
1715 IEEE80211_ADDR_COPY(wh->i_addr1, eh.ether_dhost);
1716 IEEE80211_ADDR_COPY(wh->i_addr2, eh.ether_shost);
1721 IEEE80211_ADDR_COPY(wh->i_addr3, vap->iv_bss->ni_bssid);
1724 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
1725 IEEE80211_ADDR_COPY(wh->i_addr1, eh.ether_dhost);
1726 IEEE80211_ADDR_COPY(wh->i_addr2, ni->ni_bssid);
1727 IEEE80211_ADDR_COPY(wh->i_addr3, eh.ether_shost);
1734 wh->i_fc[1] = dir;
1739 IEEE80211_ADDR_COPY(wh->i_addr1,
1741 IEEE80211_ADDR_COPY(wh->i_addr2,
1743 IEEE80211_ADDR_COPY(wh->i_addr3,
1745 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4,
1748 wh)->i_qos;
1751 IEEE80211_ADDR_COPY(wh->i_addr1,
1753 IEEE80211_ADDR_COPY(wh->i_addr2,
1755 IEEE80211_ADDR_COPY(wh->i_addr3,
1758 wh)->i_qos;
1762 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
1763 IEEE80211_ADDR_COPY(wh->i_addr1, eh.ether_dhost);
1764 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
1765 IEEE80211_ADDR_COPY(wh->i_addr3, vap->iv_myaddr);
1769 qos = ((struct ieee80211_qosframe *) wh)->i_qos;
1773 IEEE80211_ADDR_COPY(wh->i_addr1, rt->rt_nexthop);
1774 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
1775 IEEE80211_ADDR_COPY(wh->i_addr3, rt->rt_mesh_gate);
1776 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, vap->iv_myaddr);
1780 qos = ((struct ieee80211_qosframe_addr4 *) wh)->i_qos;
1796 wh->i_fc[1] |= IEEE80211_FC1_MORE_DATA;
1801 qos = ((struct ieee80211_qosframe_addr4 *) wh)->i_qos;
1804 qos = ((struct ieee80211_qosframe *) wh)->i_qos;
1817 wh->i_fc[0] |= IEEE80211_FC0_SUBTYPE_QOS_DATA;
1843 if (IEEE80211_IS_MULTICAST(wh->i_addr1))
1860 *(uint16_t *)wh->i_seq =
1865 *(uint16_t *)wh->i_seq = 0;
1874 *(uint16_t *)wh->i_seq =
1897 !IEEE80211_IS_MULTICAST(wh->i_addr1) &&
1911 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
1928 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1972 struct ieee80211_frame *wh, *whf;
1989 wh = mtod(m0, struct ieee80211_frame *);
1991 wh->i_fc[1] |= IEEE80211_FC1_MORE_FRAG;
2013 memcpy(whf, wh, hdrsize);
2016 ieee80211_getqos(wh)[1] &= ~IEEE80211_QOS_MC;
3353 const struct ieee80211_frame *wh;
3362 wh = mtod(m, const struct ieee80211_frame *);
3371 mprot = ieee80211_alloc_rts(ic, wh->i_addr1, wh->i_addr2, dur);
3663 struct ieee80211_frame *wh;
3759 wh = mtod(m, struct ieee80211_frame *);
3760 wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_MGT |
3762 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
3763 *(uint16_t *)wh->i_dur = 0;
3764 IEEE80211_ADDR_COPY(wh->i_addr1, ifp->if_broadcastaddr);
3765 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
3766 IEEE80211_ADDR_COPY(wh->i_addr3, ni->ni_bssid);
3767 *(uint16_t *)wh->i_seq = 0;
3783 struct ieee80211_frame *wh;
3852 wh = mtod(m, struct ieee80211_frame *);
3863 *(uint16_t *)&wh->i_seq[0] =