Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 1 | /** |
| 2 | * This file contains definitions and data structures specific |
| 3 | * to Marvell 802.11 NIC. It contains the Device Information |
David Woodhouse | aa21c00 | 2007-12-08 20:04:36 +0000 | [diff] [blame] | 4 | * structure struct lbs_private.. |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 5 | */ |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 6 | #ifndef _LBS_DEV_H_ |
| 7 | #define _LBS_DEV_H_ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 8 | |
| 9 | #include <linux/netdevice.h> |
| 10 | #include <linux/wireless.h> |
| 11 | #include <linux/ethtool.h> |
| 12 | #include <linux/debugfs.h> |
| 13 | |
| 14 | #include "defs.h" |
| 15 | #include "scan.h" |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 16 | |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 17 | extern struct ethtool_ops lbs_ethtool_ops; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 18 | |
| 19 | #define MAX_BSSID_PER_CHANNEL 16 |
| 20 | |
| 21 | #define NR_TX_QUEUE 3 |
| 22 | |
| 23 | /* For the extended Scan */ |
| 24 | #define MAX_EXTENDED_SCAN_BSSID_LIST MAX_BSSID_PER_CHANNEL * \ |
| 25 | MRVDRV_MAX_CHANNEL_SIZE + 1 |
| 26 | |
| 27 | #define MAX_REGION_CHANNEL_NUM 2 |
| 28 | |
| 29 | /** Chan-freq-TxPower mapping table*/ |
| 30 | struct chan_freq_power { |
| 31 | /** channel Number */ |
| 32 | u16 channel; |
| 33 | /** frequency of this channel */ |
| 34 | u32 freq; |
| 35 | /** Max allowed Tx power level */ |
| 36 | u16 maxtxpower; |
| 37 | /** TRUE:channel unsupported; FLASE:supported*/ |
| 38 | u8 unsupported; |
| 39 | }; |
| 40 | |
| 41 | /** region-band mapping table*/ |
| 42 | struct region_channel { |
| 43 | /** TRUE if this entry is valid */ |
| 44 | u8 valid; |
| 45 | /** region code for US, Japan ... */ |
| 46 | u8 region; |
| 47 | /** band B/G/A, used for BAND_CONFIG cmd */ |
| 48 | u8 band; |
| 49 | /** Actual No. of elements in the array below */ |
| 50 | u8 nrcfp; |
| 51 | /** chan-freq-txpower mapping table*/ |
| 52 | struct chan_freq_power *CFP; |
| 53 | }; |
| 54 | |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 55 | struct lbs_802_11_security { |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 56 | u8 WPAenabled; |
| 57 | u8 WPA2enabled; |
Dan Williams | 889c05b | 2007-05-10 22:57:23 -0400 | [diff] [blame] | 58 | u8 wep_enabled; |
Dan Williams | 6affe78 | 2007-05-10 22:56:42 -0400 | [diff] [blame] | 59 | u8 auth_mode; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 60 | }; |
| 61 | |
| 62 | /** Current Basic Service Set State Structure */ |
| 63 | struct current_bss_params { |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 64 | /** bssid */ |
| 65 | u8 bssid[ETH_ALEN]; |
| 66 | /** ssid */ |
Dan Williams | d8efea2 | 2007-05-28 23:54:55 -0400 | [diff] [blame] | 67 | u8 ssid[IW_ESSID_MAX_SIZE + 1]; |
| 68 | u8 ssid_len; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 69 | |
| 70 | /** band */ |
| 71 | u8 band; |
| 72 | /** channel */ |
| 73 | u8 channel; |
Dan Williams | 8c51276 | 2007-08-02 11:40:45 -0400 | [diff] [blame] | 74 | /** zero-terminated array of supported data rates */ |
| 75 | u8 rates[MAX_RATES + 1]; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 76 | }; |
| 77 | |
| 78 | /** sleep_params */ |
| 79 | struct sleep_params { |
| 80 | u16 sp_error; |
| 81 | u16 sp_offset; |
| 82 | u16 sp_stabletime; |
| 83 | u8 sp_calcontrol; |
| 84 | u8 sp_extsleepclk; |
| 85 | u16 sp_reserved; |
| 86 | }; |
| 87 | |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 88 | /* Mesh statistics */ |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 89 | struct lbs_mesh_stats { |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 90 | u32 fwd_bcast_cnt; /* Fwd: Broadcast counter */ |
| 91 | u32 fwd_unicast_cnt; /* Fwd: Unicast counter */ |
| 92 | u32 fwd_drop_ttl; /* Fwd: TTL zero */ |
| 93 | u32 fwd_drop_rbt; /* Fwd: Recently Broadcasted */ |
| 94 | u32 fwd_drop_noroute; /* Fwd: No route to Destination */ |
| 95 | u32 fwd_drop_nobuf; /* Fwd: Run out of internal buffers */ |
| 96 | u32 drop_blind; /* Rx: Dropped by blinding table */ |
Javier Cardona | 0601e7e | 2007-05-25 12:12:06 -0400 | [diff] [blame] | 97 | u32 tx_failed_cnt; /* Tx: Failed transmissions */ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 98 | }; |
| 99 | |
| 100 | /** Private structure for the MV device */ |
Holger Schurig | 69f9032 | 2007-11-23 15:43:44 +0100 | [diff] [blame] | 101 | struct lbs_private { |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 102 | int mesh_open; |
| 103 | int infra_open; |
Luis Carlos Cobo | d21b31f | 2007-08-02 13:16:02 -0400 | [diff] [blame] | 104 | int mesh_autostart_enabled; |
Luis Carlos Cobo | 63f0023 | 2007-08-02 13:19:24 -0400 | [diff] [blame] | 105 | __le16 boot2_version; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 106 | |
Holger Schurig | 634b8f4 | 2007-05-25 13:05:16 -0400 | [diff] [blame] | 107 | char name[DEV_NAME_LEN]; |
| 108 | |
| 109 | void *card; |
Holger Schurig | 634b8f4 | 2007-05-25 13:05:16 -0400 | [diff] [blame] | 110 | struct net_device *dev; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 111 | |
| 112 | struct net_device_stats stats; |
Luis Carlos Cobo | 965f8bbc | 2007-08-02 13:16:55 -0400 | [diff] [blame] | 113 | struct net_device *mesh_dev; /* Virtual device */ |
| 114 | struct net_device *rtap_net_dev; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 115 | |
| 116 | struct iw_statistics wstats; |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 117 | struct lbs_mesh_stats mstats; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 118 | struct dentry *debugfs_dir; |
| 119 | struct dentry *debugfs_debug; |
| 120 | struct dentry *debugfs_files[6]; |
| 121 | |
| 122 | struct dentry *events_dir; |
| 123 | struct dentry *debugfs_events_files[6]; |
| 124 | |
| 125 | struct dentry *regs_dir; |
| 126 | struct dentry *debugfs_regs_files[6]; |
| 127 | |
| 128 | u32 mac_offset; |
| 129 | u32 bbp_offset; |
| 130 | u32 rf_offset; |
| 131 | |
Holger Schurig | 634b8f4 | 2007-05-25 13:05:16 -0400 | [diff] [blame] | 132 | /** Upload length */ |
| 133 | u32 upld_len; |
| 134 | /* Upload buffer */ |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 135 | u8 upld_buf[LBS_UPLD_SIZE]; |
Holger Schurig | 634b8f4 | 2007-05-25 13:05:16 -0400 | [diff] [blame] | 136 | /* Download sent: |
| 137 | bit0 1/0=data_sent/data_tx_done, |
| 138 | bit1 1/0=cmd_sent/cmd_tx_done, |
| 139 | all other bits reserved 0 */ |
| 140 | u8 dnld_sent; |
| 141 | |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 142 | /** thread to service interrupts */ |
Dan Williams | fe33615 | 2007-08-02 11:32:25 -0400 | [diff] [blame] | 143 | struct task_struct *main_thread; |
| 144 | wait_queue_head_t waitq; |
Dan Williams | 2afc0c5 | 2007-08-02 13:19:04 -0400 | [diff] [blame] | 145 | struct workqueue_struct *work_thread; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 146 | |
Dan Williams | 2afc0c5 | 2007-08-02 13:19:04 -0400 | [diff] [blame] | 147 | struct delayed_work scan_work; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 148 | struct delayed_work assoc_work; |
Luis Carlos Cobo Rus | b8bedef | 2007-05-30 12:14:34 -0400 | [diff] [blame] | 149 | struct work_struct sync_channel; |
Holger Schurig | 208fdd2 | 2007-05-25 12:17:06 -0400 | [diff] [blame] | 150 | |
| 151 | /** Hardware access */ |
Holger Schurig | 69f9032 | 2007-11-23 15:43:44 +0100 | [diff] [blame] | 152 | int (*hw_host_to_card) (struct lbs_private *priv, u8 type, u8 *payload, u16 nb); |
| 153 | int (*hw_get_int_status) (struct lbs_private *priv, u8 *); |
| 154 | int (*hw_read_event_cause) (struct lbs_private *); |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 155 | |
David Woodhouse | 506e902 | 2007-12-12 20:06:06 -0500 | [diff] [blame] | 156 | /* Wake On LAN */ |
| 157 | uint32_t wol_criteria; |
| 158 | uint8_t wol_gpio; |
| 159 | uint8_t wol_gap; |
| 160 | |
David Woodhouse | aa21c00 | 2007-12-08 20:04:36 +0000 | [diff] [blame] | 161 | /* was struct lbs_adapter from here... */ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 162 | |
David Woodhouse | aa21c00 | 2007-12-08 20:04:36 +0000 | [diff] [blame] | 163 | /** Wlan adapter data structure*/ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 164 | /** STATUS variables */ |
David Woodhouse | e5b3d47 | 2007-05-25 23:40:21 -0400 | [diff] [blame] | 165 | u8 fwreleasenumber[4]; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 166 | u32 fwcapinfo; |
| 167 | /* protected with big lock */ |
| 168 | |
| 169 | struct mutex lock; |
| 170 | |
David Woodhouse | 2eb188a | 2007-12-09 23:54:27 -0500 | [diff] [blame] | 171 | /* TX packet ready to be sent... */ |
| 172 | int tx_pending_len; /* -1 while building packet */ |
| 173 | |
| 174 | u8 tx_pending_buf[LBS_UPLD_SIZE]; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 175 | /* protected by hard_start_xmit serialization */ |
| 176 | |
| 177 | /** command-related variables */ |
| 178 | u16 seqnum; |
| 179 | /* protected by big lock */ |
| 180 | |
| 181 | struct cmd_ctrl_node *cmd_array; |
| 182 | /** Current command */ |
| 183 | struct cmd_ctrl_node *cur_cmd; |
| 184 | int cur_cmd_retcode; |
| 185 | /** command Queues */ |
| 186 | /** Free command buffers */ |
| 187 | struct list_head cmdfreeq; |
| 188 | /** Pending command buffers */ |
| 189 | struct list_head cmdpendingq; |
| 190 | |
| 191 | wait_queue_head_t cmd_pending; |
David Woodhouse | aa21c00 | 2007-12-08 20:04:36 +0000 | [diff] [blame] | 192 | /* command related variables protected by priv->driver_lock */ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 193 | |
| 194 | /** Async and Sync Event variables */ |
| 195 | u32 intcounter; |
| 196 | u32 eventcause; |
| 197 | u8 nodename[16]; /* nickname */ |
| 198 | |
| 199 | /** spin locks */ |
| 200 | spinlock_t driver_lock; |
| 201 | |
| 202 | /** Timers */ |
| 203 | struct timer_list command_timer; |
David Woodhouse | 2a34509 | 2007-12-15 19:33:43 -0500 | [diff] [blame^] | 204 | int nr_retries; |
| 205 | int cmd_timed_out; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 206 | |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 207 | u8 hisregcpy; |
| 208 | |
| 209 | /** current ssid/bssid related parameters*/ |
| 210 | struct current_bss_params curbssparams; |
David Woodhouse | 020f3d0 | 2007-12-12 23:29:13 -0500 | [diff] [blame] | 211 | |
| 212 | uint16_t mesh_tlv; |
David Woodhouse | 23a397a | 2007-12-11 18:56:42 -0500 | [diff] [blame] | 213 | u8 mesh_ssid[IW_ESSID_MAX_SIZE + 1]; |
| 214 | u8 mesh_ssid_len; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 215 | |
Dan Williams | 0dc5a29 | 2007-05-10 22:58:02 -0400 | [diff] [blame] | 216 | /* IW_MODE_* */ |
| 217 | u8 mode; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 218 | |
Dan Williams | fcdb53d | 2007-05-25 16:15:56 -0400 | [diff] [blame] | 219 | /* Scan results list */ |
| 220 | struct list_head network_list; |
| 221 | struct list_head network_free_list; |
| 222 | struct bss_descriptor *networks; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 223 | |
Brajesh Dave | 96287ac | 2007-11-20 17:44:28 -0500 | [diff] [blame] | 224 | u16 beacon_period; |
| 225 | u8 beacon_enable; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 226 | u8 adhoccreate; |
| 227 | |
| 228 | /** capability Info used in Association, start, join */ |
Dan Williams | 0c9ca690 | 2007-08-02 10:43:44 -0400 | [diff] [blame] | 229 | u16 capability; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 230 | |
| 231 | /** MAC address information */ |
| 232 | u8 current_addr[ETH_ALEN]; |
| 233 | u8 multicastlist[MRVDRV_MAX_MULTICAST_LIST_SIZE][ETH_ALEN]; |
| 234 | u32 nr_of_multicastmacaddr; |
| 235 | |
| 236 | /** 802.11 statistics */ |
| 237 | // struct cmd_DS_802_11_GET_STAT wlan802_11Stat; |
| 238 | |
| 239 | u16 enablehwauto; |
| 240 | u16 ratebitmap; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 241 | |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 242 | u32 fragthsd; |
| 243 | u32 rtsthsd; |
| 244 | |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 245 | u8 txretrycount; |
| 246 | |
| 247 | /** Tx-related variables (for single packet tx) */ |
| 248 | struct sk_buff *currenttxskb; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 249 | |
| 250 | /** NIC Operation characteristics */ |
| 251 | u16 currentpacketfilter; |
| 252 | u32 connect_status; |
Brajesh Dave | 01d77d8 | 2007-11-20 17:44:14 -0500 | [diff] [blame] | 253 | u32 mesh_connect_status; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 254 | u16 regioncode; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 255 | u16 txpowerlevel; |
| 256 | |
| 257 | /** POWER MANAGEMENT AND PnP SUPPORT */ |
| 258 | u8 surpriseremoved; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 259 | |
| 260 | u16 psmode; /* Wlan802_11PowermodeCAM=disable |
| 261 | Wlan802_11PowermodeMAX_PSP=enable */ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 262 | u32 psstate; |
| 263 | u8 needtowakeup; |
| 264 | |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 265 | struct PS_CMD_ConfirmSleep lbs_ps_confirm_sleep; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 266 | |
Dan Williams | e76850d | 2007-05-25 17:09:41 -0400 | [diff] [blame] | 267 | struct assoc_request * pending_assoc_req; |
| 268 | struct assoc_request * in_progress_assoc_req; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 269 | |
| 270 | /** Encryption parameter */ |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 271 | struct lbs_802_11_security secinfo; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 272 | |
| 273 | /** WEP keys */ |
Dan Williams | 1443b65 | 2007-08-02 10:45:55 -0400 | [diff] [blame] | 274 | struct enc_key wep_keys[4]; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 275 | u16 wep_tx_keyidx; |
| 276 | |
| 277 | /** WPA keys */ |
Dan Williams | 1443b65 | 2007-08-02 10:45:55 -0400 | [diff] [blame] | 278 | struct enc_key wpa_mcast_key; |
| 279 | struct enc_key wpa_unicast_key; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 280 | |
| 281 | /** WPA Information Elements*/ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 282 | u8 wpa_ie[MAX_WPA_IE_LEN]; |
| 283 | u8 wpa_ie_len; |
| 284 | |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 285 | /** Requested Signal Strength*/ |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 286 | u16 SNR[MAX_TYPE_B][MAX_TYPE_AVG]; |
| 287 | u16 NF[MAX_TYPE_B][MAX_TYPE_AVG]; |
| 288 | u8 RSSI[MAX_TYPE_B][MAX_TYPE_AVG]; |
| 289 | u8 rawSNR[DEFAULT_DATA_AVG_FACTOR]; |
| 290 | u8 rawNF[DEFAULT_DATA_AVG_FACTOR]; |
| 291 | u16 nextSNRNF; |
| 292 | u16 numSNRNF; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 293 | |
| 294 | u8 radioon; |
| 295 | u32 preamble; |
| 296 | |
Dan Williams | 8c51276 | 2007-08-02 11:40:45 -0400 | [diff] [blame] | 297 | /** data rate stuff */ |
| 298 | u8 cur_rate; |
| 299 | u8 auto_rate; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 300 | |
| 301 | /** sleep_params */ |
| 302 | struct sleep_params sp; |
| 303 | |
| 304 | /** RF calibration data */ |
| 305 | |
| 306 | #define MAX_REGION_CHANNEL_NUM 2 |
| 307 | /** region channel data */ |
| 308 | struct region_channel region_channel[MAX_REGION_CHANNEL_NUM]; |
| 309 | |
| 310 | struct region_channel universal_channel[MAX_REGION_CHANNEL_NUM]; |
| 311 | |
| 312 | /** 11D and Domain Regulatory Data */ |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 313 | struct lbs_802_11d_domain_reg domainreg; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 314 | struct parsed_region_chan_11d parsed_region_chan; |
| 315 | |
| 316 | /** FSM variable for 11d support */ |
| 317 | u32 enable11d; |
| 318 | |
| 319 | /** MISCELLANEOUS */ |
| 320 | u8 *prdeeprom; |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 321 | struct lbs_offset_value offsetvalue; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 322 | |
| 323 | struct cmd_ds_802_11_get_log logmsg; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 324 | |
Luis Carlos Cobo | 965f8bbc | 2007-08-02 13:16:55 -0400 | [diff] [blame] | 325 | u32 monitormode; |
Holger Schurig | ffd074f | 2007-12-07 16:52:10 +0100 | [diff] [blame] | 326 | int last_scanned_channel; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 327 | u8 fw_ready; |
Marcelo Tosatti | 876c9d3 | 2007-02-10 12:25:27 -0200 | [diff] [blame] | 328 | }; |
| 329 | |
David Woodhouse | aa21c00 | 2007-12-08 20:04:36 +0000 | [diff] [blame] | 330 | /** Association request |
| 331 | * |
| 332 | * Encapsulates all the options that describe a specific assocation request |
| 333 | * or configuration of the wireless card's radio, mode, and security settings. |
| 334 | */ |
| 335 | struct assoc_request { |
| 336 | #define ASSOC_FLAG_SSID 1 |
| 337 | #define ASSOC_FLAG_CHANNEL 2 |
| 338 | #define ASSOC_FLAG_BAND 3 |
| 339 | #define ASSOC_FLAG_MODE 4 |
| 340 | #define ASSOC_FLAG_BSSID 5 |
| 341 | #define ASSOC_FLAG_WEP_KEYS 6 |
| 342 | #define ASSOC_FLAG_WEP_TX_KEYIDX 7 |
| 343 | #define ASSOC_FLAG_WPA_MCAST_KEY 8 |
| 344 | #define ASSOC_FLAG_WPA_UCAST_KEY 9 |
| 345 | #define ASSOC_FLAG_SECINFO 10 |
| 346 | #define ASSOC_FLAG_WPA_IE 11 |
| 347 | unsigned long flags; |
| 348 | |
| 349 | u8 ssid[IW_ESSID_MAX_SIZE + 1]; |
| 350 | u8 ssid_len; |
| 351 | u8 channel; |
| 352 | u8 band; |
| 353 | u8 mode; |
| 354 | u8 bssid[ETH_ALEN]; |
| 355 | |
| 356 | /** WEP keys */ |
| 357 | struct enc_key wep_keys[4]; |
| 358 | u16 wep_tx_keyidx; |
| 359 | |
| 360 | /** WPA keys */ |
| 361 | struct enc_key wpa_mcast_key; |
| 362 | struct enc_key wpa_unicast_key; |
| 363 | |
| 364 | struct lbs_802_11_security secinfo; |
| 365 | |
| 366 | /** WPA Information Elements*/ |
| 367 | u8 wpa_ie[MAX_WPA_IE_LEN]; |
| 368 | u8 wpa_ie_len; |
| 369 | |
| 370 | /* BSS to associate with for infrastructure of Ad-Hoc join */ |
| 371 | struct bss_descriptor bss; |
| 372 | }; |
| 373 | |
Holger Schurig | 1007832 | 2007-11-15 18:05:47 -0500 | [diff] [blame] | 374 | #endif |