[PATCH] bcm43xx: Fix scaling error for 'iwlist freq' information
[safe/jmp/linux-2.6] / drivers / net / wireless / ipw2100.h
index 3eb5c38..de7d384 100644 (file)
@@ -1,6 +1,6 @@
 /******************************************************************************
 
-  Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
+  Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
 
   This program is free software; you can redistribute it and/or modify it
   under the terms of version 2 of the GNU General Public License as
 #include <linux/socket.h>
 #include <linux/if_arp.h>
 #include <linux/wireless.h>
-#include <linux/version.h>
 #include <net/iw_handler.h>    // new driver API
 
 #include <net/ieee80211.h>
 
+#ifdef CONFIG_IPW2100_MONITOR
+#include <net/ieee80211_radiotap.h>
+#endif
+
 #include <linux/workqueue.h>
+#include <linux/mutex.h>
 
 struct ipw2100_priv;
 struct ipw2100_tx_packet;
@@ -74,7 +78,7 @@ struct ipw2100_rx_packet;
  * you simply need to add your entry to the ipw2100_debug_levels array.
  *
  * If you do not see debug_level in /proc/net/ipw2100 then you do not have
- * CONFIG_IPW_DEBUG defined in your kernel configuration
+ * CONFIG_IPW2100_DEBUG defined in your kernel configuration
  *
  */
 
@@ -393,8 +397,10 @@ struct ipw2100_notification {
 #define IPW_WEP104_CIPHER (1<<5)
 #define IPW_CKIP_CIPHER   (1<<6)
 
-#define        IPW_AUTH_OPEN     0
-#define        IPW_AUTH_SHARED   1
+#define        IPW_AUTH_OPEN           0
+#define        IPW_AUTH_SHARED         1
+#define IPW_AUTH_LEAP          2
+#define IPW_AUTH_LEAP_CISCO_ID 0x80
 
 struct statistic {
        int value;
@@ -475,6 +481,9 @@ enum {
 #define CFG_ADHOC_CREATE        (1<<8)
 #define CFG_C3_DISABLED         (1<<9)
 #define CFG_PASSIVE_SCAN        (1<<10)
+#ifdef CONFIG_IPW2100_MONITOR
+#define CFG_CRC_CHECK           (1<<11)
+#endif
 
 #define CAP_SHARED_KEY          (1<<0) /* Off = OPEN */
 #define CAP_PRIVACY_ON          (1<<1) /* Off = No privacy */
@@ -521,8 +530,6 @@ struct ipw2100_priv {
 
        int power_mode;
 
-       /* WEP data */
-       struct ieee80211_security sec;
        int messages_sent;
 
        int short_retry_limit;
@@ -571,14 +578,16 @@ struct ipw2100_priv {
        struct net_device *net_dev;
        struct iw_statistics wstats;
 
+       struct iw_public_data wireless_data;
+
        struct tasklet_struct irq_tasklet;
 
        struct workqueue_struct *workqueue;
-       struct work_struct reset_work;
-       struct work_struct security_work;
-       struct work_struct wx_event_work;
-       struct work_struct hang_check;
-       struct work_struct rf_kill;
+       struct delayed_work reset_work;
+       struct delayed_work security_work;
+       struct delayed_work wx_event_work;
+       struct delayed_work hang_check;
+       struct delayed_work rf_kill;
 
        u32 interrupts;
        int tx_interrupts;
@@ -586,8 +595,8 @@ struct ipw2100_priv {
        int inta_other;
 
        spinlock_t low_lock;
-       struct semaphore action_sem;
-       struct semaphore adapter_sem;
+       struct mutex action_mutex;
+       struct mutex adapter_mutex;
 
        wait_queue_head_t wait_command_queue;
 };
@@ -858,9 +867,9 @@ struct ipw2100_rx {
 #define TYPE_ASSOCIATION_REQUEST       0x0013
 #define TYPE_REASSOCIATION_REQUEST     0x0014
 
-#define HW_FEATURE_RFKILL (0x0001)
-#define RF_KILLSWITCH_OFF (1)
-#define RF_KILLSWITCH_ON  (0)
+#define HW_FEATURE_RFKILL 0x0001
+#define RF_KILLSWITCH_OFF 1
+#define RF_KILLSWITCH_ON  0
 
 #define IPW_COMMAND_POOL_SIZE        40