162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* Raytheon wireless LAN PCMCIA card driver for Linux 362306a36Sopenharmony_ci A PCMCIA client driver for the Raylink wireless network card 462306a36Sopenharmony_ci Written by Corey Thomas 562306a36Sopenharmony_ci*/ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef _RAY_CS_H_ 862306a36Sopenharmony_ci#define _RAY_CS_H_ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistruct beacon_rx { 1162306a36Sopenharmony_ci struct mac_header mac; 1262306a36Sopenharmony_ci UCHAR timestamp[8]; 1362306a36Sopenharmony_ci UCHAR beacon_intvl[2]; 1462306a36Sopenharmony_ci UCHAR capability[2]; 1562306a36Sopenharmony_ci UCHAR elements[sizeof(struct essid_element) 1662306a36Sopenharmony_ci + sizeof(struct rates_element) 1762306a36Sopenharmony_ci + sizeof(struct freq_hop_element) 1862306a36Sopenharmony_ci + sizeof(struct japan_call_sign_element) 1962306a36Sopenharmony_ci + sizeof(struct tim_element)]; 2062306a36Sopenharmony_ci}; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci/* Return values for get_free{,_tx}_ccs */ 2362306a36Sopenharmony_ci#define ECCSFULL (-1) 2462306a36Sopenharmony_ci#define ECCSBUSY (-2) 2562306a36Sopenharmony_ci#define ECARDGONE (-3) 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_citypedef struct ray_dev_t { 2862306a36Sopenharmony_ci int card_status; 2962306a36Sopenharmony_ci int authentication_state; 3062306a36Sopenharmony_ci void __iomem *sram; /* pointer to beginning of shared RAM */ 3162306a36Sopenharmony_ci void __iomem *amem; /* pointer to attribute mem window */ 3262306a36Sopenharmony_ci void __iomem *rmem; /* pointer to receive buffer window */ 3362306a36Sopenharmony_ci struct pcmcia_device *finder; /* pointer back to struct pcmcia_device for card */ 3462306a36Sopenharmony_ci struct timer_list timer; 3562306a36Sopenharmony_ci unsigned long tx_ccs_lock; 3662306a36Sopenharmony_ci unsigned long ccs_lock; 3762306a36Sopenharmony_ci int dl_param_ccs; 3862306a36Sopenharmony_ci union { 3962306a36Sopenharmony_ci struct b4_startup_params b4; 4062306a36Sopenharmony_ci struct b5_startup_params b5; 4162306a36Sopenharmony_ci } sparm; 4262306a36Sopenharmony_ci int timeout_flag; 4362306a36Sopenharmony_ci UCHAR supported_rates[8]; 4462306a36Sopenharmony_ci UCHAR japan_call_sign[12]; 4562306a36Sopenharmony_ci struct startup_res_6 startup_res; 4662306a36Sopenharmony_ci int num_multi; 4762306a36Sopenharmony_ci /* Network parameters from start/join */ 4862306a36Sopenharmony_ci UCHAR bss_id[6]; 4962306a36Sopenharmony_ci UCHAR auth_id[6]; 5062306a36Sopenharmony_ci UCHAR net_default_tx_rate; 5162306a36Sopenharmony_ci UCHAR encryption; 5262306a36Sopenharmony_ci struct net_device_stats stats; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci UCHAR net_type; 5562306a36Sopenharmony_ci UCHAR sta_type; 5662306a36Sopenharmony_ci UCHAR fw_ver; 5762306a36Sopenharmony_ci UCHAR fw_bld; 5862306a36Sopenharmony_ci UCHAR fw_var; 5962306a36Sopenharmony_ci UCHAR ASIC_version; 6062306a36Sopenharmony_ci UCHAR assoc_id[2]; 6162306a36Sopenharmony_ci UCHAR tib_length; 6262306a36Sopenharmony_ci UCHAR last_rsl; 6362306a36Sopenharmony_ci int beacon_rxed; 6462306a36Sopenharmony_ci struct beacon_rx last_bcn; 6562306a36Sopenharmony_ci iw_stats wstats; /* Wireless specific stats */ 6662306a36Sopenharmony_ci#ifdef WIRELESS_SPY 6762306a36Sopenharmony_ci struct iw_spy_data spy_data; 6862306a36Sopenharmony_ci struct iw_public_data wireless_data; 6962306a36Sopenharmony_ci#endif /* WIRELESS_SPY */ 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci} ray_dev_t; 7262306a36Sopenharmony_ci/*****************************************************************************/ 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci#endif /* _RAY_CS_H_ */ 75