aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco.h
diff options
context:
space:
mode:
authorDavid Kilroy <kilroyd@gmail.com>2008-08-21 18:28:02 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-08-22 19:28:06 -0400
commitd03032af511c56d3c1580fa4f54f6285f650e638 (patch)
treecf1820c9199769851d584d502d3c0f941d693751 /drivers/net/wireless/orinoco.h
parent409644a98bfffef79985f2c39924a06288b1dfcf (diff)
orinoco: Add WE-18 ioctls for WPA
Includes basic plumbing to get the data into firmware, and retrieve it. SIOCxIWGENIE simply record (and return) the IE, and do not act on it. SIOCxIWENCODEEXT, SIOCxIWAUTH and SIOCSIWMLME should be as functional as the driver will support. Signed-off-by: David Kilroy <kilroyd@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/orinoco.h')
-rw-r--r--drivers/net/wireless/orinoco.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h
index 5605fd30b81d..bfab88f51362 100644
--- a/drivers/net/wireless/orinoco.h
+++ b/drivers/net/wireless/orinoco.h
@@ -30,6 +30,15 @@ struct orinoco_key {
30 char data[ORINOCO_MAX_KEY_SIZE]; 30 char data[ORINOCO_MAX_KEY_SIZE];
31} __attribute__ ((packed)); 31} __attribute__ ((packed));
32 32
33#define TKIP_KEYLEN 16
34#define MIC_KEYLEN 8
35
36struct orinoco_tkip_key {
37 u8 tkip[TKIP_KEYLEN];
38 u8 tx_mic[MIC_KEYLEN];
39 u8 rx_mic[MIC_KEYLEN];
40};
41
33typedef enum { 42typedef enum {
34 FIRMWARE_TYPE_AGERE, 43 FIRMWARE_TYPE_AGERE,
35 FIRMWARE_TYPE_INTERSIL, 44 FIRMWARE_TYPE_INTERSIL,
@@ -93,6 +102,7 @@ struct orinoco_private {
93 unsigned int has_hostscan:1; 102 unsigned int has_hostscan:1;
94 unsigned int has_alt_txcntl:1; 103 unsigned int has_alt_txcntl:1;
95 unsigned int has_ext_scan:1; 104 unsigned int has_ext_scan:1;
105 unsigned int has_wpa:1;
96 unsigned int do_fw_download:1; 106 unsigned int do_fw_download:1;
97 unsigned int broken_disableport:1; 107 unsigned int broken_disableport:1;
98 unsigned int broken_monitor:1; 108 unsigned int broken_monitor:1;
@@ -128,6 +138,16 @@ struct orinoco_private {
128 138
129 int scan_inprogress; /* Scan pending... */ 139 int scan_inprogress; /* Scan pending... */
130 u32 scan_mode; /* Type of scan done */ 140 u32 scan_mode; /* Type of scan done */
141
142 /* WPA support */
143 u8 *wpa_ie;
144 int wpa_ie_len;
145
146 struct orinoco_tkip_key tkip_key[ORINOCO_MAX_KEYS];
147
148 unsigned int wpa_enabled:1;
149 unsigned int tkip_cm_active:1;
150 unsigned int key_mgmt:3;
131}; 151};
132 152
133#ifdef ORINOCO_DEBUG 153#ifdef ORINOCO_DEBUG