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