diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 35 |
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 | */ | ||
994 | enum 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 | */ |
1149 | enum ieee80211_hw_flags { | 1172 | enum 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); |