summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_var.h
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-07-05 17:59:19 +0000
committersam <sam@FreeBSD.org>2009-07-05 17:59:19 +0000
commitedf89f716262ec28b66e3ba8f49c4a1c11ff0f4c (patch)
tree2b0355c63191e76e8d9a8248e3dcb6081298f0c7 /sys/net80211/ieee80211_var.h
parentc67dff7aca2dbc37c9abe5f0d576016dd2b9905c (diff)
downloadFreeBSD-src-edf89f716262ec28b66e3ba8f49c4a1c11ff0f4c.zip
FreeBSD-src-edf89f716262ec28b66e3ba8f49c4a1c11ff0f4c.tar.gz
Revamp 802.11 action frame handling:
o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev Reviewed by: rpaulo Approved by: re (kensmith)
Diffstat (limited to 'sys/net80211/ieee80211_var.h')
-rw-r--r--sys/net80211/ieee80211_var.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h
index d0cfe9f..8859c2f 100644
--- a/sys/net80211/ieee80211_var.h
+++ b/sys/net80211/ieee80211_var.h
@@ -112,6 +112,7 @@ struct ieee80211_rate_table;
struct ieee80211_tx_ampdu;
struct ieee80211_rx_ampdu;
struct ieee80211_superg;
+struct ieee80211_frame;
struct ieee80211com {
struct ifnet *ic_ifp; /* associated device */
@@ -282,11 +283,11 @@ struct ieee80211com {
* driver passes out-of-order frames to ieee80211_input
* from an assocated HT station.
*/
- void (*ic_recv_action)(struct ieee80211_node *,
+ int (*ic_recv_action)(struct ieee80211_node *,
+ const struct ieee80211_frame *,
const uint8_t *frm, const uint8_t *efrm);
int (*ic_send_action)(struct ieee80211_node *,
- int category, int action,
- uint16_t args[4]);
+ int category, int action, void *);
/* check if A-MPDU should be enabled this station+ac */
int (*ic_ampdu_enable)(struct ieee80211_node *,
struct ieee80211_tx_ampdu *);
OpenPOWER on IntegriCloud