blob: 0609d8625019263c597f56679785d3242d3251b2 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/* 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
Rasmus Villemoesc94c3c52014-08-25 09:59:29 +02007#ifndef _RAY_CS_H_
8#define _RAY_CS_H_
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
10struct 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
27typedef struct ray_dev_t {
28 int card_status;
29 int authentication_state;
Linus Torvalds1da177e2005-04-16 15:20:36 -070030 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 */
Dominik Brodowskifba395e2006-03-31 17:21:06 +020033 struct pcmcia_device *finder; /* pointer back to struct pcmcia_device for card */
Linus Torvalds1da177e2005-04-16 15:20:36 -070034 struct timer_list timer;
Al Viro64b33612007-10-14 19:35:20 +010035 unsigned long tx_ccs_lock;
36 unsigned long ccs_lock;
Linus Torvalds1da177e2005-04-16 15:20:36 -070037 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;
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 iw_stats wstats; /* Wireless specific stats */
Linus Torvalds1da177e2005-04-16 15:20:36 -070066#ifdef WIRELESS_SPY
Jean Tourrilhes3d5d5ac2005-09-02 11:40:39 -070067 struct iw_spy_data spy_data;
68 struct iw_public_data wireless_data;
Linus Torvalds1da177e2005-04-16 15:20:36 -070069#endif /* WIRELESS_SPY */
70
71} ray_dev_t;
72/*****************************************************************************/
73
Rasmus Villemoesc94c3c52014-08-25 09:59:29 +020074#endif /* _RAY_CS_H_ */