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
8struct 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
25typedef 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    struct pcmcia_device *finder;            /* pointer back to struct pcmcia_device 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    iw_stats	wstats;		/* Wireless specific stats */
67#ifdef WIRELESS_SPY
68    struct iw_spy_data		spy_data;
69    struct iw_public_data	wireless_data;
70#endif	/* WIRELESS_SPY */
71
72} ray_dev_t;
73/*****************************************************************************/
74
75#endif /* RAYLINK_H */
76