Automatic merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git
[linux-2.6] / drivers / net / wireless / ray_cs.h
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       */
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;
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;
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 */
74
75 } ray_dev_t;
76 /*****************************************************************************/
77
78 #endif /* RAYLINK_H */