blob: e79848fbcca1e1e5397410745589703e3cad903a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* 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;
Linus Torvalds1da177e2005-04-16 15:20:36 -070028 void __iomem *sram; /* pointer to beginning of shared RAM */
29 void __iomem *amem; /* pointer to attribute mem window */
30 void __iomem *rmem; /* pointer to receive buffer window */
Dominik Brodowskifba395e2006-03-31 17:21:06 +020031 struct pcmcia_device *finder; /* pointer back to struct pcmcia_device for card */
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 struct timer_list timer;
Al Viro64b33612007-10-14 19:35:20 +010033 unsigned long tx_ccs_lock;
34 unsigned long ccs_lock;
Linus Torvalds1da177e2005-04-16 15:20:36 -070035 int dl_param_ccs;
36 union {
37 struct b4_startup_params b4;
38 struct b5_startup_params b5;
39 } sparm;
40 int timeout_flag;
41 UCHAR supported_rates[8];
42 UCHAR japan_call_sign[12];
43 struct startup_res_6 startup_res;
44 int num_multi;
45 /* Network parameters from start/join */
46 UCHAR bss_id[6];
47 UCHAR auth_id[6];
48 UCHAR net_default_tx_rate;
49 UCHAR encryption;
50 struct net_device_stats stats;
51
52 UCHAR net_type;
53 UCHAR sta_type;
54 UCHAR fw_ver;
55 UCHAR fw_bld;
56 UCHAR fw_var;
57 UCHAR ASIC_version;
58 UCHAR assoc_id[2];
59 UCHAR tib_length;
60 UCHAR last_rsl;
61 int beacon_rxed;
62 struct beacon_rx last_bcn;
Linus Torvalds1da177e2005-04-16 15:20:36 -070063 iw_stats wstats; /* Wireless specific stats */
Linus Torvalds1da177e2005-04-16 15:20:36 -070064#ifdef WIRELESS_SPY
Jean Tourrilhes3d5d5ac2005-09-02 11:40:39 -070065 struct iw_spy_data spy_data;
66 struct iw_public_data wireless_data;
Linus Torvalds1da177e2005-04-16 15:20:36 -070067#endif /* WIRELESS_SPY */
68
69} ray_dev_t;
70/*****************************************************************************/
71
72#endif /* RAYLINK_H */