1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Raytheon wireless LAN PCMCIA card driver for Linux
3    A  PCMCIA client driver for the Raylink wireless network card
4    Written by Corey Thomas
5 */
6 
7 #ifndef _RAY_CS_H_
8 #define _RAY_CS_H_
9 
10 struct beacon_rx {
11     struct mac_header mac;
12     UCHAR timestamp[8];
13     UCHAR beacon_intvl[2];
14     UCHAR capability[2];
15     UCHAR elements[sizeof(struct essid_element)
16                   + sizeof(struct rates_element)
17                   + sizeof(struct freq_hop_element)
18                   + sizeof(struct japan_call_sign_element)
19                   + sizeof(struct tim_element)];
20 };
21 
22 /* Return values for get_free{,_tx}_ccs */
23 #define ECCSFULL  (-1)
24 #define ECCSBUSY  (-2)
25 #define ECARDGONE (-3)
26 
27 typedef struct ray_dev_t {
28     int card_status;
29     int authentication_state;
30     void __iomem *sram;            /* pointer to beginning of shared RAM     */
31     void __iomem *amem;            /* pointer to attribute mem window        */
32     void __iomem *rmem;            /* pointer to receive buffer window       */
33     struct pcmcia_device *finder;            /* pointer back to struct pcmcia_device for card    */
34     struct timer_list timer;
35     unsigned long tx_ccs_lock;
36     unsigned long ccs_lock;
37     int   dl_param_ccs;
38     union {
39         struct b4_startup_params b4;
40         struct b5_startup_params b5;
41     } sparm;
42     int timeout_flag;
43     UCHAR supported_rates[8];
44     UCHAR japan_call_sign[12];
45     struct startup_res_6 startup_res;
46     int num_multi;
47     /* Network parameters from start/join */
48     UCHAR bss_id[6];
49     UCHAR auth_id[6];
50     UCHAR net_default_tx_rate;
51     UCHAR encryption;
52     struct net_device_stats stats;
53 
54     UCHAR net_type;
55     UCHAR sta_type;
56     UCHAR fw_ver;
57     UCHAR fw_bld;
58     UCHAR fw_var;
59     UCHAR ASIC_version;
60     UCHAR assoc_id[2];
61     UCHAR tib_length;
62     UCHAR last_rsl;
63     int beacon_rxed;
64     struct beacon_rx last_bcn;
65     iw_stats	wstats;		/* Wireless specific stats */
66 #ifdef WIRELESS_SPY
67     struct iw_spy_data		spy_data;
68     struct iw_public_data	wireless_data;
69 #endif	/* WIRELESS_SPY */
70 
71 } ray_dev_t;
72 /*****************************************************************************/
73 
74 #endif /* _RAY_CS_H_ */
75