Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / net / wireless / ray_cs.h
blobc77afa14fa86347a4eabc1eeffde559cecaa7367
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 */
6 #ifndef RAYLINK_H
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)];
20 /* Return values for get_free{,_tx}_ccs */
21 #define ECCSFULL (-1)
22 #define ECCSBUSY (-2)
23 #define ECARDGONE (-3)
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 */
34 dev_link_t *finder; /* pointer back to dev_link_t for card */
35 struct timer_list timer;
36 long tx_ccs_lock;
37 long ccs_lock;
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;
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;
66 #ifdef WIRELESS_EXT
67 iw_stats wstats; /* Wireless specific stats */
68 #endif
69 #ifdef WIRELESS_SPY
70 int spy_number; /* Number of addresses to spy */
71 mac_addr spy_address[IW_MAX_SPY + 1]; /* The addresses to spy */
72 iw_qual spy_stat[IW_MAX_SPY + 1]; /* Statistics gathered */
73 #endif /* WIRELESS_SPY */
75 } ray_dev_t;
76 /*****************************************************************************/
78 #endif /* RAYLINK_H */