Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* Raytheon wireless LAN PCMCIA card driver for Linux |
| 2 | A PCMCIA client driver for the Raylink wireless network card |
| 3 | Written by Corey Thomas |
| 4 | */ |
| 5 | |
Rasmus Villemoes | c94c3c5 | 2014-08-25 09:59:29 +0200 | [diff] [blame] | 6 | #ifndef _RAY_CS_H_ |
| 7 | #define _RAY_CS_H_ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | |
| 9 | struct beacon_rx { |
| 10 | struct mac_header mac; |
| 11 | UCHAR timestamp[8]; |
| 12 | UCHAR beacon_intvl[2]; |
| 13 | UCHAR capability[2]; |
| 14 | UCHAR elements[sizeof(struct essid_element) |
| 15 | + sizeof(struct rates_element) |
| 16 | + sizeof(struct freq_hop_element) |
| 17 | + sizeof(struct japan_call_sign_element) |
| 18 | + sizeof(struct tim_element)]; |
| 19 | }; |
| 20 | |
| 21 | /* Return values for get_free{,_tx}_ccs */ |
| 22 | #define ECCSFULL (-1) |
| 23 | #define ECCSBUSY (-2) |
| 24 | #define ECARDGONE (-3) |
| 25 | |
| 26 | typedef struct ray_dev_t { |
| 27 | int card_status; |
| 28 | int authentication_state; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | void __iomem *sram; /* pointer to beginning of shared RAM */ |
| 30 | void __iomem *amem; /* pointer to attribute mem window */ |
| 31 | void __iomem *rmem; /* pointer to receive buffer window */ |
Dominik Brodowski | fba395e | 2006-03-31 17:21:06 +0200 | [diff] [blame] | 32 | struct pcmcia_device *finder; /* pointer back to struct pcmcia_device for card */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | struct timer_list timer; |
Al Viro | 64b3361 | 2007-10-14 19:35:20 +0100 | [diff] [blame] | 34 | unsigned long tx_ccs_lock; |
| 35 | unsigned long ccs_lock; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | int dl_param_ccs; |
| 37 | union { |
| 38 | struct b4_startup_params b4; |
| 39 | struct b5_startup_params b5; |
| 40 | } sparm; |
| 41 | int timeout_flag; |
| 42 | UCHAR supported_rates[8]; |
| 43 | UCHAR japan_call_sign[12]; |
| 44 | struct startup_res_6 startup_res; |
| 45 | int num_multi; |
| 46 | /* Network parameters from start/join */ |
| 47 | UCHAR bss_id[6]; |
| 48 | UCHAR auth_id[6]; |
| 49 | UCHAR net_default_tx_rate; |
| 50 | UCHAR encryption; |
| 51 | struct net_device_stats stats; |
| 52 | |
| 53 | UCHAR net_type; |
| 54 | UCHAR sta_type; |
| 55 | UCHAR fw_ver; |
| 56 | UCHAR fw_bld; |
| 57 | UCHAR fw_var; |
| 58 | UCHAR ASIC_version; |
| 59 | UCHAR assoc_id[2]; |
| 60 | UCHAR tib_length; |
| 61 | UCHAR last_rsl; |
| 62 | int beacon_rxed; |
| 63 | struct beacon_rx last_bcn; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 64 | iw_stats wstats; /* Wireless specific stats */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 | #ifdef WIRELESS_SPY |
Jean Tourrilhes | 3d5d5ac | 2005-09-02 11:40:39 -0700 | [diff] [blame] | 66 | struct iw_spy_data spy_data; |
| 67 | struct iw_public_data wireless_data; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 68 | #endif /* WIRELESS_SPY */ |
| 69 | |
| 70 | } ray_dev_t; |
| 71 | /*****************************************************************************/ |
| 72 | |
Rasmus Villemoes | c94c3c5 | 2014-08-25 09:59:29 +0200 | [diff] [blame] | 73 | #endif /* _RAY_CS_H_ */ |