xref: /openbmc/linux/drivers/net/wireless/legacy/ray_cs.h (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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