diff options
author | avos <avos@FreeBSD.org> | 2016-04-20 18:29:30 +0000 |
---|---|---|
committer | avos <avos@FreeBSD.org> | 2016-04-20 18:29:30 +0000 |
commit | a5ff8b0e316b83f9374254420658df1268d03b44 (patch) | |
tree | ce3eab7ed45b044ec959a1de503b72ca6e18f182 /sys/net80211 | |
parent | dc8641835532430d191452e0ceeb8e5f5fca65bd (diff) | |
download | FreeBSD-src-a5ff8b0e316b83f9374254420658df1268d03b44.zip FreeBSD-src-a5ff8b0e316b83f9374254420658df1268d03b44.tar.gz |
net80211: replace internal LE_READ_*/LE_WRITE_* macro with system
le*dec / le*enc functions.
Replace net80211 specific macros with system-wide bytestream
encoding/decoding functions:
- LE_READ_2 -> le16dec
- LE_READ_4 -> le32dec
- LE_WRITE_2 -> le16enc
- LE_WRITE_4 -> le32enc
+ drop ieee80211_input.h include, where it was included for these
operations only.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D6030
Diffstat (limited to 'sys/net80211')
-rw-r--r-- | sys/net80211/ieee80211_hostap.c | 24 | ||||
-rw-r--r-- | sys/net80211/ieee80211_ht.c | 22 | ||||
-rw-r--r-- | sys/net80211/ieee80211_hwmp.c | 45 | ||||
-rw-r--r-- | sys/net80211/ieee80211_input.c | 2 | ||||
-rw-r--r-- | sys/net80211/ieee80211_input.h | 30 | ||||
-rw-r--r-- | sys/net80211/ieee80211_mesh.c | 18 | ||||
-rw-r--r-- | sys/net80211/ieee80211_output.c | 18 | ||||
-rw-r--r-- | sys/net80211/ieee80211_scan_sta.c | 3 | ||||
-rw-r--r-- | sys/net80211/ieee80211_sta.c | 2 | ||||
-rw-r--r-- | sys/net80211/ieee80211_superg.c | 4 |
10 files changed, 66 insertions, 102 deletions
diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 4227dfb..308d6b3 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -1165,7 +1165,7 @@ static int wpa_cipher(const uint8_t *sel, uint8_t *keylen) { #define WPA_SEL(x) (((x)<<24)|WPA_OUI) - uint32_t w = LE_READ_4(sel); + uint32_t w = le32dec(sel); switch (w) { case WPA_SEL(WPA_CSE_NULL): @@ -1195,7 +1195,7 @@ static int wpa_keymgmt(const uint8_t *sel) { #define WPA_SEL(x) (((x)<<24)|WPA_OUI) - uint32_t w = LE_READ_4(sel); + uint32_t w = le32dec(sel); switch (w) { case WPA_SEL(WPA_ASE_8021X_UNSPEC): @@ -1242,7 +1242,7 @@ ieee80211_parse_wpa(struct ieee80211vap *vap, const uint8_t *frm, } frm += 6, len -= 4; /* NB: len is payload only */ /* NB: iswpaoui already validated the OUI and type */ - w = LE_READ_2(frm); + w = le16dec(frm); if (w != WPA_VERSION) { IEEE80211_DISCARD_IE(vap, IEEE80211_MSG_ELEMID | IEEE80211_MSG_WPA, @@ -1258,7 +1258,7 @@ ieee80211_parse_wpa(struct ieee80211vap *vap, const uint8_t *frm, frm += 4, len -= 4; /* unicast ciphers */ - n = LE_READ_2(frm); + n = le16dec(frm); frm += 2, len -= 2; if (len < n*4+2) { IEEE80211_DISCARD_IE(vap, @@ -1278,7 +1278,7 @@ ieee80211_parse_wpa(struct ieee80211vap *vap, const uint8_t *frm, rsn->rsn_ucastcipher = IEEE80211_CIPHER_AES_CCM; /* key management algorithms */ - n = LE_READ_2(frm); + n = le16dec(frm); frm += 2, len -= 2; if (len < n*4) { IEEE80211_DISCARD_IE(vap, @@ -1298,7 +1298,7 @@ ieee80211_parse_wpa(struct ieee80211vap *vap, const uint8_t *frm, rsn->rsn_keymgmt = WPA_ASE_8021X_PSK; if (len > 2) /* optional capabilities */ - rsn->rsn_caps = LE_READ_2(frm); + rsn->rsn_caps = le16dec(frm); return 0; } @@ -1312,7 +1312,7 @@ static int rsn_cipher(const uint8_t *sel, uint8_t *keylen) { #define RSN_SEL(x) (((x)<<24)|RSN_OUI) - uint32_t w = LE_READ_4(sel); + uint32_t w = le32dec(sel); switch (w) { case RSN_SEL(RSN_CSE_NULL): @@ -1344,7 +1344,7 @@ static int rsn_keymgmt(const uint8_t *sel) { #define RSN_SEL(x) (((x)<<24)|RSN_OUI) - uint32_t w = LE_READ_4(sel); + uint32_t w = le32dec(sel); switch (w) { case RSN_SEL(RSN_ASE_8021X_UNSPEC): @@ -1389,7 +1389,7 @@ ieee80211_parse_rsn(struct ieee80211vap *vap, const uint8_t *frm, return IEEE80211_REASON_IE_INVALID; } frm += 2; - w = LE_READ_2(frm); + w = le16dec(frm); if (w != RSN_VERSION) { IEEE80211_DISCARD_IE(vap, IEEE80211_MSG_ELEMID | IEEE80211_MSG_WPA, @@ -1405,7 +1405,7 @@ ieee80211_parse_rsn(struct ieee80211vap *vap, const uint8_t *frm, frm += 4, len -= 4; /* unicast ciphers */ - n = LE_READ_2(frm); + n = le16dec(frm); frm += 2, len -= 2; if (len < n*4+2) { IEEE80211_DISCARD_IE(vap, @@ -1425,7 +1425,7 @@ ieee80211_parse_rsn(struct ieee80211vap *vap, const uint8_t *frm, rsn->rsn_ucastcipher = IEEE80211_CIPHER_AES_CCM; /* key management algorithms */ - n = LE_READ_2(frm); + n = le16dec(frm); frm += 2, len -= 2; if (len < n*4) { IEEE80211_DISCARD_IE(vap, @@ -1446,7 +1446,7 @@ ieee80211_parse_rsn(struct ieee80211vap *vap, const uint8_t *frm, /* optional RSN capabilities */ if (len > 2) - rsn->rsn_caps = LE_READ_2(frm); + rsn->rsn_caps = le16dec(frm); /* XXXPMKID */ return 0; diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index cf78e88..315d202 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -1424,7 +1424,7 @@ ieee80211_parse_htcap(struct ieee80211_node *ni, const uint8_t *ie) } else ni->ni_flags &= ~IEEE80211_NODE_HTCOMPAT; - ni->ni_htcap = LE_READ_2(ie + + ni->ni_htcap = le16dec(ie + __offsetof(struct ieee80211_ie_htcap, hc_cap)); ni->ni_htparam = ie[__offsetof(struct ieee80211_ie_htcap, hc_param)]; } @@ -1437,9 +1437,9 @@ htinfo_parse(struct ieee80211_node *ni, ni->ni_htctlchan = htinfo->hi_ctrlchannel; ni->ni_ht2ndchan = SM(htinfo->hi_byte1, IEEE80211_HTINFO_2NDCHAN); - w = LE_READ_2(&htinfo->hi_byte2); + w = le16dec(&htinfo->hi_byte2); ni->ni_htopmode = SM(w, IEEE80211_HTINFO_OPMODE); - w = LE_READ_2(&htinfo->hi_byte45); + w = le16dec(&htinfo->hi_byte45); ni->ni_htstbc = SM(w, IEEE80211_HTINFO_BASIC_STBCMCS); } @@ -1932,9 +1932,9 @@ ht_recv_action_ba_addba_request(struct ieee80211_node *ni, int tid; dialogtoken = frm[2]; - baparamset = LE_READ_2(frm+3); - batimeout = LE_READ_2(frm+5); - baseqctl = LE_READ_2(frm+7); + baparamset = le16dec(frm+3); + batimeout = le16dec(frm+5); + baseqctl = le16dec(frm+7); tid = MS(baparamset, IEEE80211_BAPS_TID); @@ -1997,12 +1997,12 @@ ht_recv_action_ba_addba_response(struct ieee80211_node *ni, int tid, bufsiz; dialogtoken = frm[2]; - code = LE_READ_2(frm+3); - baparamset = LE_READ_2(frm+5); + code = le16dec(frm+3); + baparamset = le16dec(frm+5); tid = MS(baparamset, IEEE80211_BAPS_TID); bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ); policy = MS(baparamset, IEEE80211_BAPS_POLICY); - batimeout = LE_READ_2(frm+7); + batimeout = le16dec(frm+7); tap = &ni->ni_tx_ampdu[tid]; if ((tap->txa_flags & IEEE80211_AGGR_XCHGPEND) == 0) { @@ -2069,8 +2069,8 @@ ht_recv_action_ba_delba(struct ieee80211_node *ni, uint16_t baparamset, code; int tid; - baparamset = LE_READ_2(frm+2); - code = LE_READ_2(frm+4); + baparamset = le16dec(frm+2); + code = le16dec(frm+4); tid = MS(baparamset, IEEE80211_DELBAPS_TID); diff --git a/sys/net80211/ieee80211_hwmp.c b/sys/net80211/ieee80211_hwmp.c index 0c920d8..cfc7759 100644 --- a/sys/net80211/ieee80211_hwmp.c +++ b/sys/net80211/ieee80211_hwmp.c @@ -118,18 +118,6 @@ static void hwmp_peerdown(struct ieee80211_node *); static struct timeval ieee80211_hwmp_preqminint = { 0, 100000 }; static struct timeval ieee80211_hwmp_perrminint = { 0, 100000 }; -/* unalligned little endian access */ -#define LE_WRITE_2(p, v) do { \ - ((uint8_t *)(p))[0] = (v) & 0xff; \ - ((uint8_t *)(p))[1] = ((v) >> 8) & 0xff; \ -} while (0) -#define LE_WRITE_4(p, v) do { \ - ((uint8_t *)(p))[0] = (v) & 0xff; \ - ((uint8_t *)(p))[1] = ((v) >> 8) & 0xff; \ - ((uint8_t *)(p))[2] = ((v) >> 16) & 0xff; \ - ((uint8_t *)(p))[3] = ((v) >> 24) & 0xff; \ -} while (0) - /* NB: the Target Address set in a Proactive PREQ is the broadcast address. */ static const uint8_t broadcastaddr[IEEE80211_ADDR_LEN] = @@ -440,18 +428,18 @@ hwmp_recv_action_meshpath(struct ieee80211_node *ni, preq->preq_flags = *iefrm_t++; preq->preq_hopcount = *iefrm_t++; preq->preq_ttl = *iefrm_t++; - preq->preq_id = LE_READ_4(iefrm_t); iefrm_t += 4; + preq->preq_id = le32dec(iefrm_t); iefrm_t += 4; IEEE80211_ADDR_COPY(preq->preq_origaddr, iefrm_t); iefrm_t += 6; - preq->preq_origseq = LE_READ_4(iefrm_t); iefrm_t += 4; + preq->preq_origseq = le32dec(iefrm_t); iefrm_t += 4; /* NB: may have Originator Proxied Address */ if (preq->preq_flags & IEEE80211_MESHPREQ_FLAGS_AE) { IEEE80211_ADDR_COPY( preq->preq_orig_ext_addr, iefrm_t); iefrm_t += 6; } - preq->preq_lifetime = LE_READ_4(iefrm_t); iefrm_t += 4; - preq->preq_metric = LE_READ_4(iefrm_t); iefrm_t += 4; + preq->preq_lifetime = le32dec(iefrm_t); iefrm_t += 4; + preq->preq_metric = le32dec(iefrm_t); iefrm_t += 4; preq->preq_tcount = *iefrm_t++; for (i = 0; i < preq->preq_tcount; i++) { @@ -460,7 +448,7 @@ hwmp_recv_action_meshpath(struct ieee80211_node *ni, preq->preq_targets[i].target_addr, iefrm_t); iefrm_t += 6; preq->preq_targets[i].target_seq = - LE_READ_4(iefrm_t); + le32dec(iefrm_t); iefrm_t += 4; } @@ -489,18 +477,18 @@ hwmp_recv_action_meshpath(struct ieee80211_node *ni, prep->prep_ttl = *iefrm_t++; IEEE80211_ADDR_COPY(prep->prep_targetaddr, iefrm_t); iefrm_t += 6; - prep->prep_targetseq = LE_READ_4(iefrm_t); iefrm_t += 4; + prep->prep_targetseq = le32dec(iefrm_t); iefrm_t += 4; /* NB: May have Target Proxied Address */ if (prep->prep_flags & IEEE80211_MESHPREP_FLAGS_AE) { IEEE80211_ADDR_COPY( prep->prep_target_ext_addr, iefrm_t); iefrm_t += 6; } - prep->prep_lifetime = LE_READ_4(iefrm_t); iefrm_t += 4; - prep->prep_metric = LE_READ_4(iefrm_t); iefrm_t += 4; + prep->prep_lifetime = le32dec(iefrm_t); iefrm_t += 4; + prep->prep_metric = le32dec(iefrm_t); iefrm_t += 4; IEEE80211_ADDR_COPY(prep->prep_origaddr, iefrm_t); iefrm_t += 6; - prep->prep_origseq = LE_READ_4(iefrm_t); iefrm_t += 4; + prep->prep_origseq = le32dec(iefrm_t); iefrm_t += 4; hwmp_recv_prep(vap, ni, wh, prep); IEEE80211_FREE(prep, M_80211_MESH_PREP); @@ -533,7 +521,7 @@ hwmp_recv_action_meshpath(struct ieee80211_node *ni, IEEE80211_ADDR_COPY( perr->perr_dests[i].dest_addr, iefrm_t); iefrm_t += 6; - perr->perr_dests[i].dest_seq = LE_READ_4(iefrm_t); + perr->perr_dests[i].dest_seq = le32dec(iefrm_t); iefrm_t += 4; /* NB: May have Target Proxied Address */ if (perr->perr_dests[i].dest_flags & @@ -544,7 +532,7 @@ hwmp_recv_action_meshpath(struct ieee80211_node *ni, iefrm_t += 6; } perr->perr_dests[i].dest_rcode = - LE_READ_2(iefrm_t); + le16dec(iefrm_t); iefrm_t += 2; } @@ -566,9 +554,9 @@ hwmp_recv_action_meshpath(struct ieee80211_node *ni, return 1; } memcpy(&rann, mrann, sizeof(rann)); - rann.rann_seq = LE_READ_4(&mrann->rann_seq); - rann.rann_interval = LE_READ_4(&mrann->rann_interval); - rann.rann_metric = LE_READ_4(&mrann->rann_metric); + rann.rann_seq = le32dec(&mrann->rann_seq); + rann.rann_interval = le32dec(&mrann->rann_interval); + rann.rann_metric = le32dec(&mrann->rann_metric); hwmp_recv_rann(vap, ni, wh, &rann); found++; break; @@ -682,12 +670,11 @@ hwmp_send_action(struct ieee80211vap *vap, } #define ADDSHORT(frm, v) do { \ - frm[0] = (v) & 0xff; \ - frm[1] = (v) >> 8; \ + le16enc(frm, v); \ frm += 2; \ } while (0) #define ADDWORD(frm, v) do { \ - LE_WRITE_4(frm, v); \ + le32enc(frm, v); \ frm += 4; \ } while (0) /* diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 5c2f9e5..b1e4e9d 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -549,7 +549,7 @@ ieee80211_parse_beacon(struct ieee80211_node *ni, struct mbuf *m, break; case IEEE80211_ELEMID_FHPARMS: if (ic->ic_phytype == IEEE80211_T_FH) { - scan->fhdwell = LE_READ_2(&frm[2]); + scan->fhdwell = le16dec(&frm[2]); scan->chan = IEEE80211_FH_CHAN(frm[4], frm[5]); scan->fhindex = frm[6]; } diff --git a/sys/net80211/ieee80211_input.h b/sys/net80211/ieee80211_input.h index d051fdb..97510d3 100644 --- a/sys/net80211/ieee80211_input.h +++ b/sys/net80211/ieee80211_input.h @@ -80,70 +80,58 @@ void ieee80211_ssid_mismatch(struct ieee80211vap *, const char *tag, } while (0) #endif /* !IEEE80211_DEBUG */ -/* unalligned little endian access */ -#define LE_READ_2(p) \ - ((uint16_t) \ - ((((const uint8_t *)(p))[0] ) | \ - (((const uint8_t *)(p))[1] << 8))) -#define LE_READ_4(p) \ - ((uint32_t) \ - ((((const uint8_t *)(p))[0] ) | \ - (((const uint8_t *)(p))[1] << 8) | \ - (((const uint8_t *)(p))[2] << 16) | \ - (((const uint8_t *)(p))[3] << 24))) +#include <sys/endian.h> /* For le16toh() / le32dec() */ static __inline int iswpaoui(const uint8_t *frm) { - return frm[1] > 3 && LE_READ_4(frm+2) == ((WPA_OUI_TYPE<<24)|WPA_OUI); + return frm[1] > 3 && le32dec(frm+2) == ((WPA_OUI_TYPE<<24)|WPA_OUI); } static __inline int iswmeoui(const uint8_t *frm) { - return frm[1] > 3 && LE_READ_4(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI); + return frm[1] > 3 && le32dec(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI); } static __inline int iswmeparam(const uint8_t *frm) { - return frm[1] > 5 && LE_READ_4(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI) && + return frm[1] > 5 && le32dec(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI) && frm[6] == WME_PARAM_OUI_SUBTYPE; } static __inline int iswmeinfo(const uint8_t *frm) { - return frm[1] > 5 && LE_READ_4(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI) && + return frm[1] > 5 && le32dec(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI) && frm[6] == WME_INFO_OUI_SUBTYPE; } static __inline int isatherosoui(const uint8_t *frm) { - return frm[1] > 3 && LE_READ_4(frm+2) == ((ATH_OUI_TYPE<<24)|ATH_OUI); + return frm[1] > 3 && le32dec(frm+2) == ((ATH_OUI_TYPE<<24)|ATH_OUI); } static __inline int istdmaoui(const uint8_t *frm) { - return frm[1] > 3 && LE_READ_4(frm+2) == ((TDMA_OUI_TYPE<<24)|TDMA_OUI); + return frm[1] > 3 && le32dec(frm+2) == ((TDMA_OUI_TYPE<<24)|TDMA_OUI); } static __inline int ishtcapoui(const uint8_t *frm) { - return frm[1] > 3 && LE_READ_4(frm+2) == ((BCM_OUI_HTCAP<<24)|BCM_OUI); + return frm[1] > 3 && le32dec(frm+2) == ((BCM_OUI_HTCAP<<24)|BCM_OUI); } static __inline int ishtinfooui(const uint8_t *frm) { - return frm[1] > 3 && LE_READ_4(frm+2) == ((BCM_OUI_HTINFO<<24)|BCM_OUI); + return frm[1] > 3 && le32dec(frm+2) == ((BCM_OUI_HTINFO<<24)|BCM_OUI); } -#include <sys/endian.h> /* For le16toh() */ - /* * Check the current frame sequence number against the current TID * state and return whether it's in sequence or should be dropped. diff --git a/sys/net80211/ieee80211_mesh.c b/sys/net80211/ieee80211_mesh.c index 80e2af3..1ee3f0b 100644 --- a/sys/net80211/ieee80211_mesh.c +++ b/sys/net80211/ieee80211_mesh.c @@ -1710,7 +1710,7 @@ mesh_input(struct ieee80211_node *ni, struct mbuf *m, } /* XXX: are we sure there is no reallocating after m_pullup? */ - seq = LE_READ_4(mc->mc_seq); + seq = le32dec(mc->mc_seq); if (IEEE80211_IS_MULTICAST(wh->i_addr1)) addr = wh->i_addr3; else if (ae == IEEE80211_MESH_AE_01) @@ -2135,12 +2135,12 @@ mesh_parse_meshpeering_action(struct ieee80211_node *ni, mpie = (const struct ieee80211_meshpeer_ie *) frm; memset(mp, 0, sizeof(*mp)); mp->peer_len = mpie->peer_len; - mp->peer_proto = LE_READ_2(&mpie->peer_proto); - mp->peer_llinkid = LE_READ_2(&mpie->peer_llinkid); + mp->peer_proto = le16dec(&mpie->peer_proto); + mp->peer_llinkid = le16dec(&mpie->peer_llinkid); switch (subtype) { case IEEE80211_ACTION_MESHPEERING_CONFIRM: mp->peer_linkid = - LE_READ_2(&mpie->peer_linkid); + le16dec(&mpie->peer_linkid); break; case IEEE80211_ACTION_MESHPEERING_CLOSE: /* NB: peer link ID is optional */ @@ -2148,12 +2148,12 @@ mesh_parse_meshpeering_action(struct ieee80211_node *ni, (IEEE80211_MPM_BASE_SZ + 2)) { mp->peer_linkid = 0; mp->peer_rcode = - LE_READ_2(&mpie->peer_linkid); + le16dec(&mpie->peer_linkid); } else { mp->peer_linkid = - LE_READ_2(&mpie->peer_linkid); + le16dec(&mpie->peer_linkid); mp->peer_rcode = - LE_READ_2(&mpie->peer_rcode); + le16dec(&mpie->peer_rcode); } break; } @@ -2550,8 +2550,8 @@ mesh_parse_meshgate_action(struct ieee80211_node *ni, ie->gann_hopcount = gannie->gann_hopcount; ie->gann_ttl = gannie->gann_ttl; IEEE80211_ADDR_COPY(ie->gann_addr, gannie->gann_addr); - ie->gann_seq = LE_READ_4(&gannie->gann_seq); - ie->gann_interval = LE_READ_2(&gannie->gann_interval); + ie->gann_seq = le32dec(&gannie->gann_seq); + ie->gann_interval = le16dec(&gannie->gann_interval); break; } frm += frm[1] + 2; diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 1882a26..a7e913e 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -77,18 +77,6 @@ __FBSDID("$FreeBSD$"); #define ETHER_HEADER_COPY(dst, src) \ memcpy(dst, src, sizeof(struct ether_header)) -/* unalligned little endian access */ -#define LE_WRITE_2(p, v) do { \ - ((uint8_t *)(p))[0] = (v) & 0xff; \ - ((uint8_t *)(p))[1] = ((v) >> 8) & 0xff; \ -} while (0) -#define LE_WRITE_4(p, v) do { \ - ((uint8_t *)(p))[0] = (v) & 0xff; \ - ((uint8_t *)(p))[1] = ((v) >> 8) & 0xff; \ - ((uint8_t *)(p))[2] = ((v) >> 16) & 0xff; \ - ((uint8_t *)(p))[3] = ((v) >> 24) & 0xff; \ -} while (0) - static int ieee80211_fragment(struct ieee80211vap *, struct mbuf *, u_int hdrsize, u_int ciphdrsize, u_int mtu); static void ieee80211_tx_mgt_cb(struct ieee80211_node *, void *, int); @@ -1518,7 +1506,7 @@ ieee80211_encap(struct ieee80211vap *vap, struct ieee80211_node *ni, } mc->mc_ttl = ms->ms_ttl; ms->ms_seq++; - LE_WRITE_4(mc->mc_seq, ms->ms_seq); + le32enc(mc->mc_seq, ms->ms_seq); break; #endif case IEEE80211_M_WDS: /* NB: is4addr should always be true */ @@ -1843,7 +1831,7 @@ static uint8_t * ieee80211_add_cfparms(uint8_t *frm, struct ieee80211com *ic) { #define ADDSHORT(frm, v) do { \ - LE_WRITE_2(frm, v); \ + le16enc(frm, v); \ frm += 2; \ } while (0) *frm++ = IEEE80211_ELEMID_CFPARMS; @@ -1898,7 +1886,7 @@ ieee80211_add_wme_param(uint8_t *frm, struct ieee80211_wme_state *wme) { #define SM(_v, _f) (((_v) << _f##_S) & _f) #define ADDSHORT(frm, v) do { \ - LE_WRITE_2(frm, v); \ + le16enc(frm, v); \ frm += 2; \ } while (0) /* NB: this works 'cuz a param has an info at the front */ diff --git a/sys/net80211/ieee80211_scan_sta.c b/sys/net80211/ieee80211_scan_sta.c index 233c436..8d9946d 100644 --- a/sys/net80211/ieee80211_scan_sta.c +++ b/sys/net80211/ieee80211_scan_sta.c @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> +#include <sys/endian.h> #include <sys/malloc.h> #include <sys/module.h> @@ -785,7 +786,7 @@ maxrate(const struct ieee80211_scan_entry *se) } else for (i = 31; i >= 0 && isclr(htcap->hc_mcsset, i); i--); if (i >= 0) { - caps = LE_READ_2(&htcap->hc_cap); + caps = le16dec(&htcap->hc_cap); if ((caps & IEEE80211_HTCAP_CHWIDTH40) && (caps & IEEE80211_HTCAP_SHORTGI40)) rmax = ieee80211_htrates[i].ht40_rate_400ns; diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index d80c767..fa3cc68 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -1120,7 +1120,7 @@ ieee80211_parse_wmeparams(struct ieee80211vap *vap, uint8_t *frm, wmep->wmep_aifsn = MS(frm[0], WME_PARAM_AIFSN); wmep->wmep_logcwmin = MS(frm[1], WME_PARAM_LOGCWMIN); wmep->wmep_logcwmax = MS(frm[1], WME_PARAM_LOGCWMAX); - wmep->wmep_txopLimit = LE_READ_2(frm+2); + wmep->wmep_txopLimit = le16dec(frm+2); frm += 4; } wme->wme_wmeChanParams.cap_info = qosinfo; diff --git a/sys/net80211/ieee80211_superg.c b/sys/net80211/ieee80211_superg.c index 1879d62..278ba88 100644 --- a/sys/net80211/ieee80211_superg.c +++ b/sys/net80211/ieee80211_superg.c @@ -195,7 +195,7 @@ ieee80211_parse_ath(struct ieee80211_node *ni, uint8_t *ie) (const struct ieee80211_ath_ie *) ie; ni->ni_ath_flags = ath->ath_capability; - ni->ni_ath_defkeyix = LE_READ_2(&ath->ath_defkeyix); + ni->ni_ath_defkeyix = le16dec(&ath->ath_defkeyix); } int @@ -216,7 +216,7 @@ ieee80211_parse_athparams(struct ieee80211_node *ni, uint8_t *frm, } ath = (const struct ieee80211_ath_ie *)frm; capschanged = (ni->ni_ath_flags != ath->ath_capability); - defkeyix = LE_READ_2(ath->ath_defkeyix); + defkeyix = le16dec(ath->ath_defkeyix); if (capschanged || defkeyix != ni->ni_ath_defkeyix) { ni->ni_ath_flags = ath->ath_capability; ni->ni_ath_defkeyix = defkeyix; |