aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 520eb4c5e5a2..cbff4f94a200 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -982,6 +982,25 @@ enum set_key_cmd {
982}; 982};
983 983
984/** 984/**
985 * enum ieee80211_sta_state - station state
986 *
987 * @IEEE80211_STA_NOTEXIST: station doesn't exist at all,
988 * this is a special state for add/remove transitions
989 * @IEEE80211_STA_NONE: station exists without special state
990 * @IEEE80211_STA_AUTH: station is authenticated
991 * @IEEE80211_STA_ASSOC: station is associated
992 * @IEEE80211_STA_AUTHORIZED: station is authorized (802.1X)
993 */
994enum ieee80211_sta_state {
995 /* NOTE: These need to be ordered correctly! */
996 IEEE80211_STA_NOTEXIST,
997 IEEE80211_STA_NONE,
998 IEEE80211_STA_AUTH,
999 IEEE80211_STA_ASSOC,
1000 IEEE80211_STA_AUTHORIZED,
1001};
1002
1003/**
985 * struct ieee80211_sta - station table entry 1004 * struct ieee80211_sta - station table entry
986 * 1005 *
987 * A station table entry represents a station we are possibly 1006 * A station table entry represents a station we are possibly
@@ -1145,6 +1164,10 @@ enum sta_notify_cmd {
1145 * @IEEE80211_HW_TX_AMPDU_SETUP_IN_HW: The device handles TX A-MPDU session 1164 * @IEEE80211_HW_TX_AMPDU_SETUP_IN_HW: The device handles TX A-MPDU session
1146 * setup strictly in HW. mac80211 should not attempt to do this in 1165 * setup strictly in HW. mac80211 should not attempt to do this in
1147 * software. 1166 * software.
1167 *
1168 * @IEEE80211_HW_SCAN_WHILE_IDLE: The device can do hw scan while
1169 * being idle (i.e. mac80211 doesn't have to go idle-off during the
1170 * the scan).
1148 */ 1171 */
1149enum ieee80211_hw_flags { 1172enum ieee80211_hw_flags {
1150 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, 1173 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0,
@@ -1171,6 +1194,7 @@ enum ieee80211_hw_flags {
1171 IEEE80211_HW_SUPPORTS_PER_STA_GTK = 1<<21, 1194 IEEE80211_HW_SUPPORTS_PER_STA_GTK = 1<<21,
1172 IEEE80211_HW_AP_LINK_PS = 1<<22, 1195 IEEE80211_HW_AP_LINK_PS = 1<<22,
1173 IEEE80211_HW_TX_AMPDU_SETUP_IN_HW = 1<<23, 1196 IEEE80211_HW_TX_AMPDU_SETUP_IN_HW = 1<<23,
1197 IEEE80211_HW_SCAN_WHILE_IDLE = 1<<24,
1174}; 1198};
1175 1199
1176/** 1200/**
@@ -1974,6 +1998,13 @@ enum ieee80211_frame_release_type {
1974 * in AP mode, this callback will not be called when the flag 1998 * in AP mode, this callback will not be called when the flag
1975 * %IEEE80211_HW_AP_LINK_PS is set. Must be atomic. 1999 * %IEEE80211_HW_AP_LINK_PS is set. Must be atomic.
1976 * 2000 *
2001 * @sta_state: Notifies low level driver about state transition of a
2002 * station (which can be the AP, a client, IBSS/WDS/mesh peer etc.)
2003 * This callback is mutually exclusive with @sta_add/@sta_remove.
2004 * It must not fail for down transitions but may fail for transitions
2005 * up the list of states.
2006 * The callback can sleep.
2007 *
1977 * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), 2008 * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max),
1978 * bursting) for a hardware TX queue. 2009 * bursting) for a hardware TX queue.
1979 * Returns a negative error code on failure. 2010 * Returns a negative error code on failure.
@@ -2193,6 +2224,10 @@ struct ieee80211_ops {
2193 struct ieee80211_sta *sta); 2224 struct ieee80211_sta *sta);
2194 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 2225 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2195 enum sta_notify_cmd, struct ieee80211_sta *sta); 2226 enum sta_notify_cmd, struct ieee80211_sta *sta);
2227 int (*sta_state)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2228 struct ieee80211_sta *sta,
2229 enum ieee80211_sta_state old_state,
2230 enum ieee80211_sta_state new_state);
2196 int (*conf_tx)(struct ieee80211_hw *hw, 2231 int (*conf_tx)(struct ieee80211_hw *hw,
2197 struct ieee80211_vif *vif, u16 queue, 2232 struct ieee80211_vif *vif, u16 queue,
2198 const struct ieee80211_tx_queue_params *params); 2233 const struct ieee80211_tx_queue_params *params);