79 lines
2.4 KiB
C
79 lines
2.4 KiB
C
/* Raytheon wireless LAN PCMCIA card driver for Linux
|
|
A PCMCIA client driver for the Raylink wireless network card
|
|
Written by Corey Thomas
|
|
*/
|
|
|
|
#ifndef RAYLINK_H
|
|
|
|
struct beacon_rx {
|
|
struct mac_header mac;
|
|
UCHAR timestamp[8];
|
|
UCHAR beacon_intvl[2];
|
|
UCHAR capability[2];
|
|
UCHAR elements[sizeof(struct essid_element)
|
|
+ sizeof(struct rates_element)
|
|
+ sizeof(struct freq_hop_element)
|
|
+ sizeof(struct japan_call_sign_element)
|
|
+ sizeof(struct tim_element)];
|
|
};
|
|
|
|
/* Return values for get_free{,_tx}_ccs */
|
|
#define ECCSFULL (-1)
|
|
#define ECCSBUSY (-2)
|
|
#define ECARDGONE (-3)
|
|
|
|
typedef struct ray_dev_t {
|
|
int card_status;
|
|
int authentication_state;
|
|
dev_node_t node;
|
|
window_handle_t amem_handle; /* handle to window for attribute memory */
|
|
window_handle_t rmem_handle; /* handle to window for rx buffer on card */
|
|
void __iomem *sram; /* pointer to beginning of shared RAM */
|
|
void __iomem *amem; /* pointer to attribute mem window */
|
|
void __iomem *rmem; /* pointer to receive buffer window */
|
|
dev_link_t *finder; /* pointer back to dev_link_t for card */
|
|
struct timer_list timer;
|
|
long tx_ccs_lock;
|
|
long ccs_lock;
|
|
int dl_param_ccs;
|
|
union {
|
|
struct b4_startup_params b4;
|
|
struct b5_startup_params b5;
|
|
} sparm;
|
|
int timeout_flag;
|
|
UCHAR supported_rates[8];
|
|
UCHAR japan_call_sign[12];
|
|
struct startup_res_6 startup_res;
|
|
int num_multi;
|
|
/* Network parameters from start/join */
|
|
UCHAR bss_id[6];
|
|
UCHAR auth_id[6];
|
|
UCHAR net_default_tx_rate;
|
|
UCHAR encryption;
|
|
struct net_device_stats stats;
|
|
|
|
UCHAR net_type;
|
|
UCHAR sta_type;
|
|
UCHAR fw_ver;
|
|
UCHAR fw_bld;
|
|
UCHAR fw_var;
|
|
UCHAR ASIC_version;
|
|
UCHAR assoc_id[2];
|
|
UCHAR tib_length;
|
|
UCHAR last_rsl;
|
|
int beacon_rxed;
|
|
struct beacon_rx last_bcn;
|
|
#ifdef WIRELESS_EXT
|
|
iw_stats wstats; /* Wireless specific stats */
|
|
#endif
|
|
#ifdef WIRELESS_SPY
|
|
int spy_number; /* Number of addresses to spy */
|
|
mac_addr spy_address[IW_MAX_SPY + 1]; /* The addresses to spy */
|
|
iw_qual spy_stat[IW_MAX_SPY + 1]; /* Statistics gathered */
|
|
#endif /* WIRELESS_SPY */
|
|
|
|
} ray_dev_t;
|
|
/*****************************************************************************/
|
|
|
|
#endif /* RAYLINK_H */
|