iwlwifi: add missing rcu_read_lock
[safe/jmp/linux-2.6] / drivers / net / wireless / hostap / hostap_ap.h
index 137f78e..655ceeb 100644 (file)
@@ -1,20 +1,13 @@
 #ifndef HOSTAP_AP_H
 #define HOSTAP_AP_H
 
+#include "hostap_80211.h"
+
 /* AP data structures for STAs */
 
 /* maximum number of frames to buffer per STA */
 #define STA_MAX_TX_BUFFER 32
 
-/* Flags used in skb->cb[6] to control how the packet is handled in TX path.
- * skb->cb[0..5] must contain magic value 'hostap' to indicate that cb[6] is
- * used. */
-#define AP_SKB_CB_MAGIC "hostap"
-#define AP_SKB_CB_MAGIC_LEN 6
-#define AP_SKB_CB_BUFFERED_FRAME BIT(0)
-#define AP_SKB_CB_ADD_MOREDATA BIT(1)
-
-
 /* STA flags */
 #define WLAN_STA_AUTH BIT(0)
 #define WLAN_STA_ASSOC BIT(1)
@@ -81,7 +74,7 @@ struct sta_info {
        u32 tx_since_last_failure;
        u32 tx_consecutive_exc;
 
-       struct ieee80211_crypt_data *crypt;
+       struct lib80211_crypt_data *crypt;
 
        int ap; /* whether this station is an AP */
 
@@ -216,7 +209,7 @@ struct ap_data {
 
        /* WEP operations for generating challenges to be used with shared key
         * authentication */
-       struct ieee80211_crypto_ops *crypt;
+       struct lib80211_crypto_ops *crypt;
        void *crypt_priv;
 #endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
 };
@@ -236,14 +229,13 @@ typedef enum {
 struct hostap_tx_data {
        struct sk_buff *skb;
        int host_encrypt;
-       struct ieee80211_crypt_data *crypt;
+       struct lib80211_crypt_data *crypt;
        void *sta_ptr;
 };
 ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx);
 void hostap_handle_sta_release(void *ptr);
 void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb);
-int hostap_update_sta_ps(local_info_t *local,
-                        struct hostap_ieee80211_hdr *hdr);
+int hostap_update_sta_ps(local_info_t *local, struct ieee80211_hdr *hdr);
 typedef enum {
        AP_RX_CONTINUE, AP_RX_DROP, AP_RX_EXIT, AP_RX_CONTINUE_NOT_AUTHORIZED
 } ap_rx_ret;
@@ -251,15 +243,13 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,
                               struct sk_buff *skb,
                               struct hostap_80211_rx_status *rx_stats,
                               int wds);
-int hostap_handle_sta_crypto(local_info_t *local,
-                            struct hostap_ieee80211_hdr *hdr,
-                            struct ieee80211_crypt_data **crypt,
+int hostap_handle_sta_crypto(local_info_t *local, struct ieee80211_hdr *hdr,
+                            struct lib80211_crypt_data **crypt,
                             void **sta_ptr);
 int hostap_is_sta_assoc(struct ap_data *ap, u8 *sta_addr);
 int hostap_is_sta_authorized(struct ap_data *ap, u8 *sta_addr);
 int hostap_add_sta(struct ap_data *ap, u8 *sta_addr);
-int hostap_update_rx_stats(struct ap_data *ap,
-                          struct hostap_ieee80211_hdr *hdr,
+int hostap_update_rx_stats(struct ap_data *ap, struct ieee80211_hdr *hdr,
                           struct hostap_80211_rx_status *rx_stats);
 void hostap_update_rates(local_info_t *local);
 void hostap_add_wds_links(local_info_t *local);