diff options
Diffstat (limited to 'drivers/net/wireless/orinoco.h')
-rw-r--r-- | drivers/net/wireless/orinoco.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h index f749b50d1088..2f213a7103fe 100644 --- a/drivers/net/wireless/orinoco.h +++ b/drivers/net/wireless/orinoco.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #ifndef _ORINOCO_H | 7 | #ifndef _ORINOCO_H |
8 | #define _ORINOCO_H | 8 | #define _ORINOCO_H |
9 | 9 | ||
10 | #define DRIVER_VERSION "0.14alpha2" | 10 | #define DRIVER_VERSION "0.15rc2" |
11 | 11 | ||
12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
13 | #include <linux/spinlock.h> | 13 | #include <linux/spinlock.h> |
@@ -22,6 +22,8 @@ | |||
22 | 22 | ||
23 | #define WIRELESS_SPY // enable iwspy support | 23 | #define WIRELESS_SPY // enable iwspy support |
24 | 24 | ||
25 | #define MAX_SCAN_LEN 4096 | ||
26 | |||
25 | #define ORINOCO_MAX_KEY_SIZE 14 | 27 | #define ORINOCO_MAX_KEY_SIZE 14 |
26 | #define ORINOCO_MAX_KEYS 4 | 28 | #define ORINOCO_MAX_KEYS 4 |
27 | 29 | ||
@@ -30,6 +32,20 @@ struct orinoco_key { | |||
30 | char data[ORINOCO_MAX_KEY_SIZE]; | 32 | char data[ORINOCO_MAX_KEY_SIZE]; |
31 | } __attribute__ ((packed)); | 33 | } __attribute__ ((packed)); |
32 | 34 | ||
35 | struct header_struct { | ||
36 | /* 802.3 */ | ||
37 | u8 dest[ETH_ALEN]; | ||
38 | u8 src[ETH_ALEN]; | ||
39 | u16 len; | ||
40 | /* 802.2 */ | ||
41 | u8 dsap; | ||
42 | u8 ssap; | ||
43 | u8 ctrl; | ||
44 | /* SNAP */ | ||
45 | u8 oui[3]; | ||
46 | u16 ethertype; | ||
47 | } __attribute__ ((packed)); | ||
48 | |||
33 | typedef enum { | 49 | typedef enum { |
34 | FIRMWARE_TYPE_AGERE, | 50 | FIRMWARE_TYPE_AGERE, |
35 | FIRMWARE_TYPE_INTERSIL, | 51 | FIRMWARE_TYPE_INTERSIL, |
@@ -48,6 +64,8 @@ struct orinoco_private { | |||
48 | /* driver state */ | 64 | /* driver state */ |
49 | int open; | 65 | int open; |
50 | u16 last_linkstatus; | 66 | u16 last_linkstatus; |
67 | struct work_struct join_work; | ||
68 | struct work_struct wevent_work; | ||
51 | 69 | ||
52 | /* Net device stuff */ | 70 | /* Net device stuff */ |
53 | struct net_device *ndev; | 71 | struct net_device *ndev; |
@@ -74,7 +92,9 @@ struct orinoco_private { | |||
74 | unsigned int has_pm:1; | 92 | unsigned int has_pm:1; |
75 | unsigned int has_preamble:1; | 93 | unsigned int has_preamble:1; |
76 | unsigned int has_sensitivity:1; | 94 | unsigned int has_sensitivity:1; |
95 | unsigned int has_hostscan:1; | ||
77 | unsigned int broken_disableport:1; | 96 | unsigned int broken_disableport:1; |
97 | unsigned int broken_monitor:1; | ||
78 | 98 | ||
79 | /* Configuration paramaters */ | 99 | /* Configuration paramaters */ |
80 | u32 iw_mode; | 100 | u32 iw_mode; |
@@ -84,6 +104,8 @@ struct orinoco_private { | |||
84 | int bitratemode; | 104 | int bitratemode; |
85 | char nick[IW_ESSID_MAX_SIZE+1]; | 105 | char nick[IW_ESSID_MAX_SIZE+1]; |
86 | char desired_essid[IW_ESSID_MAX_SIZE+1]; | 106 | char desired_essid[IW_ESSID_MAX_SIZE+1]; |
107 | char desired_bssid[ETH_ALEN]; | ||
108 | int bssid_fixed; | ||
87 | u16 frag_thresh, mwo_robust; | 109 | u16 frag_thresh, mwo_robust; |
88 | u16 channel; | 110 | u16 channel; |
89 | u16 ap_density, rts_thresh; | 111 | u16 ap_density, rts_thresh; |
@@ -98,6 +120,12 @@ struct orinoco_private { | |||
98 | /* Configuration dependent variables */ | 120 | /* Configuration dependent variables */ |
99 | int port_type, createibss; | 121 | int port_type, createibss; |
100 | int promiscuous, mc_count; | 122 | int promiscuous, mc_count; |
123 | |||
124 | /* Scanning support */ | ||
125 | int scan_inprogress; /* Scan pending... */ | ||
126 | u32 scan_mode; /* Type of scan done */ | ||
127 | char * scan_result; /* Result of previous scan */ | ||
128 | int scan_len; /* Lenght of result */ | ||
101 | }; | 129 | }; |
102 | 130 | ||
103 | #ifdef ORINOCO_DEBUG | 131 | #ifdef ORINOCO_DEBUG |