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 _RAY_CS_H_ 7 #define _RAY_CS_H_ 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; 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 */ 32 struct pcmcia_device *finder; /* pointer back to struct pcmcia_device for card */ 33 struct timer_list timer; 34 unsigned long tx_ccs_lock; 35 unsigned long ccs_lock; 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; 64 iw_stats wstats; /* Wireless specific stats */ 65 #ifdef WIRELESS_SPY 66 struct iw_spy_data spy_data; 67 struct iw_public_data wireless_data; 68 #endif /* WIRELESS_SPY */ 69 70 } ray_dev_t; 71 /*****************************************************************************/ 72 73 #endif /* _RAY_CS_H_ */ 74