path: root/sys/net80211/ieee80211_ht.h
diff options
authorSam Leffler <sam@FreeBSD.org>2008-09-21 23:44:15 +0000
committerSam Leffler <sam@FreeBSD.org>2008-09-21 23:44:15 +0000
commitfdabd982e796b1878f4349ff34bc061c59dca5fd (patch)
tree68592baf2027c37efcdcd6532dbf42b70cde44eb /sys/net80211/ieee80211_ht.h
parentbd985970b6b4f8cc4b7a17fef22c2f0651f9aaac (diff)
Revamp ht ie handling:
o change ieee80211_parse_htcap and ieee80211_parse_htinfo to save only internal state obtained from the ie's; no dynamic state such as ni_chw is altered o add ieee80211_ht_updateparams to parse ht cap+info ie's and update dynamic node state o change ieee80211_ht_node_init to not take an htcap ie that is parsed; instead have the caller make a separate call as one caller wants to parse the ie while another wants to parse both cap+info ie's and update state so can better do this with ieee80211_ht_updateparams These changes fix sta mode state handling where the node's channel width was shifted to ht20/ht40 prematurely.
Notes: svn path=/head/; revision=183254
Diffstat (limited to 'sys/net80211/ieee80211_ht.h')
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_ht.h b/sys/net80211/ieee80211_ht.h
index dfad584f5041..62d2f2e457d4 100644
--- a/sys/net80211/ieee80211_ht.h
+++ b/sys/net80211/ieee80211_ht.h
@@ -165,7 +165,7 @@ void ieee80211_setup_basic_htrates(struct ieee80211_node *,
struct mbuf *ieee80211_decap_amsdu(struct ieee80211_node *, struct mbuf *);
int ieee80211_ampdu_reorder(struct ieee80211_node *, struct mbuf *);
void ieee80211_recv_bar(struct ieee80211_node *, struct mbuf *);
-void ieee80211_ht_node_init(struct ieee80211_node *, const uint8_t *);
+void ieee80211_ht_node_init(struct ieee80211_node *);
void ieee80211_ht_node_cleanup(struct ieee80211_node *);
void ieee80211_ht_node_age(struct ieee80211_node *);
@@ -178,6 +178,9 @@ void ieee80211_htprot_update(struct ieee80211com *, int protmode);
void ieee80211_ht_timeout(struct ieee80211com *);
void ieee80211_parse_htcap(struct ieee80211_node *, const uint8_t *);
void ieee80211_parse_htinfo(struct ieee80211_node *, const uint8_t *);
+void ieee80211_ht_updateparams(struct ieee80211_node *, const uint8_t *,
+ const uint8_t *);
+void ieee80211_ht_updatehtcap(struct ieee80211_node *, const uint8_t *);
void ieee80211_recv_action(struct ieee80211_node *,
const uint8_t *, const uint8_t *);
int ieee80211_ampdu_request(struct ieee80211_node *,