mac80211: add U-APSD client support
[linux-2.6-block.git] / net / mac80211 / ieee80211_i.h
index 3e4ac3f308576f932621bd377a1bf9caa7e8a970..3468e378509a7d239f02cad27f369568b5d438ff 100644 (file)
@@ -58,6 +58,15 @@ struct ieee80211_local;
 
 #define TU_TO_EXP_TIME(x)      (jiffies + usecs_to_jiffies((x) * 1024))
 
+#define IEEE80211_DEFAULT_UAPSD_QUEUES \
+       (IEEE80211_WMM_IE_STA_QOSINFO_AC_BK |   \
+        IEEE80211_WMM_IE_STA_QOSINFO_AC_BE |   \
+        IEEE80211_WMM_IE_STA_QOSINFO_AC_VI |   \
+        IEEE80211_WMM_IE_STA_QOSINFO_AC_VO)
+
+#define IEEE80211_DEFAULT_MAX_SP_LEN           \
+       IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL
+
 struct ieee80211_fragment_entry {
        unsigned long first_frag_time;
        unsigned int seq;
@@ -78,6 +87,7 @@ struct ieee80211_bss {
        u8 dtim_period;
 
        bool wmm_used;
+       bool uapsd_supported;
 
        unsigned long last_probe_resp;
 
@@ -285,7 +295,7 @@ struct ieee80211_work {
                        u8 ssid[IEEE80211_MAX_SSID_LEN];
                        u8 ssid_len;
                        u8 supp_rates_len;
-                       bool wmm_used, use_11n;
+                       bool wmm_used, use_11n, uapsd_used;
                } assoc;
                struct {
                        u32 duration;
@@ -306,6 +316,7 @@ enum ieee80211_sta_flags {
        IEEE80211_STA_DISABLE_11N       = BIT(4),
        IEEE80211_STA_CSA_RECEIVED      = BIT(5),
        IEEE80211_STA_MFP_ENABLED       = BIT(6),
+       IEEE80211_STA_UAPSD_ENABLED     = BIT(7),
 };
 
 struct ieee80211_if_managed {