Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / include / net / ieee80211.h
index d5926bf..ecc4286 100644 (file)
@@ -29,7 +29,7 @@
 #include <linux/kernel.h>      /* ARRAY_SIZE */
 #include <linux/wireless.h>
 
-#define IEEE80211_VERSION "git-1.1.7"
+#define IEEE80211_VERSION "git-1.1.13"
 
 #define IEEE80211_DATA_LEN             2304
 /* Maximum size for the MA-UNITDATA primitive, 802.11 standard section
 #define IEEE80211_SCTL_FRAG            0x000F
 #define IEEE80211_SCTL_SEQ             0xFFF0
 
+/* QOS control */
+#define IEEE80211_QCTL_TID             0x000F
+
 /* debug macros */
 
 #ifdef CONFIG_IEEE80211_DEBUG
@@ -965,6 +968,7 @@ enum ieee80211_state {
 
 enum {
        IEEE80211_CH_PASSIVE_ONLY = (1 << 0),
+       IEEE80211_CH_80211H_RULES = (1 << 1),
        IEEE80211_CH_B_ONLY = (1 << 2),
        IEEE80211_CH_NO_IBSS = (1 << 3),
        IEEE80211_CH_UNIFORM_SPREADING = (1 << 4),
@@ -973,10 +977,10 @@ enum {
 };
 
 struct ieee80211_channel {
-       u32 freq;
+       u32 freq;       /* in MHz */
        u8 channel;
        u8 flags;
-       u8 max_power;
+       u8 max_power;   /* in dBm */
 };
 
 struct ieee80211_geo {
@@ -1075,6 +1079,7 @@ struct ieee80211_device {
 
        int (*handle_management) (struct net_device * dev,
                                  struct ieee80211_network * network, u16 type);
+       int (*is_qos_active) (struct net_device *dev, struct sk_buff *skb);
 
        /* Typical STA methods */
        int (*handle_auth) (struct net_device * dev,
@@ -1243,7 +1248,8 @@ extern int ieee80211_set_encryption(struct ieee80211_device *ieee);
 extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev);
 extern void ieee80211_txb_free(struct ieee80211_txb *);
 extern int ieee80211_tx_frame(struct ieee80211_device *ieee,
-                             struct ieee80211_hdr *frame, int len);
+                             struct ieee80211_hdr *frame, int hdr_len,
+                             int total_len, int encrypt_mpdu);
 
 /* ieee80211_rx.c */
 extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,