mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
staging: brcm80211: Remove cruft from wlioctl.h
Signed-off-by: Brett Rudley <brudley@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
9014378bf4
commit
a28792e786
1 changed files with 6 additions and 323 deletions
|
@ -34,82 +34,8 @@
|
|||
#include <packed_section_start.h>
|
||||
|
||||
#ifdef BRCM_FULLMAC
|
||||
/* Legacy structure to help keep backward compatible wl tool and tray app */
|
||||
|
||||
#define LEGACY_WL_BSS_INFO_VERSION 107 /* older version of wl_bss_info struct */
|
||||
|
||||
typedef struct wl_bss_info_107 {
|
||||
u32 version; /* version field */
|
||||
u32 length; /* byte length of data in this record,
|
||||
* starting at version and including IEs
|
||||
*/
|
||||
struct ether_addr BSSID;
|
||||
u16 beacon_period; /* units are Kusec */
|
||||
u16 capability; /* Capability information */
|
||||
u8 SSID_len;
|
||||
u8 SSID[32];
|
||||
struct {
|
||||
uint count; /* # rates in this set */
|
||||
u8 rates[16]; /* rates in 500kbps units w/hi bit set if basic */
|
||||
} rateset; /* supported rates */
|
||||
u8 channel; /* Channel no. */
|
||||
u16 atim_window; /* units are Kusec */
|
||||
u8 dtim_period; /* DTIM period */
|
||||
s16 RSSI; /* receive signal strength (in dBm) */
|
||||
s8 phy_noise; /* noise (in dBm) */
|
||||
u32 ie_length; /* byte length of Information Elements */
|
||||
/* variable length Information Elements */
|
||||
} wl_bss_info_107_t;
|
||||
|
||||
/*
|
||||
* Per-BSS information structure.
|
||||
*/
|
||||
|
||||
#define LEGACY2_WL_BSS_INFO_VERSION 108 /* old version of wl_bss_info struct */
|
||||
|
||||
/* BSS info structure
|
||||
* Applications MUST CHECK ie_offset field and length field to access IEs and
|
||||
* next bss_info structure in a vector (in wl_scan_results_t)
|
||||
*/
|
||||
typedef struct wl_bss_info_108 {
|
||||
u32 version; /* version field */
|
||||
u32 length; /* byte length of data in this record,
|
||||
* starting at version and including IEs
|
||||
*/
|
||||
struct ether_addr BSSID;
|
||||
u16 beacon_period; /* units are Kusec */
|
||||
u16 capability; /* Capability information */
|
||||
u8 SSID_len;
|
||||
u8 SSID[32];
|
||||
struct {
|
||||
uint count; /* # rates in this set */
|
||||
u8 rates[16]; /* rates in 500kbps units w/hi bit set if basic */
|
||||
} rateset; /* supported rates */
|
||||
chanspec_t chanspec; /* chanspec for bss */
|
||||
u16 atim_window; /* units are Kusec */
|
||||
u8 dtim_period; /* DTIM period */
|
||||
s16 RSSI; /* receive signal strength (in dBm) */
|
||||
s8 phy_noise; /* noise (in dBm) */
|
||||
|
||||
u8 n_cap; /* BSS is 802.11N Capable */
|
||||
u32 nbss_cap; /* 802.11N BSS Capabilities (based on HT_CAP_*) */
|
||||
u8 ctl_ch; /* 802.11N BSS control channel number */
|
||||
u32 reserved32[1]; /* Reserved for expansion of BSS properties */
|
||||
u8 flags; /* flags */
|
||||
u8 reserved[3]; /* Reserved for expansion of BSS properties */
|
||||
u8 basic_mcs[MCSSET_LEN]; /* 802.11N BSS required MCS set */
|
||||
|
||||
u16 ie_offset; /* offset at which IEs start, from beginning */
|
||||
u32 ie_length; /* byte length of Information Elements */
|
||||
/* Add new fields here */
|
||||
/* variable length Information Elements */
|
||||
} wl_bss_info_108_t;
|
||||
|
||||
#ifdef BRCM_FULLMAC
|
||||
#define WL_BSS_INFO_VERSION 108 /* current ver of wl_bss_info struct */
|
||||
#else
|
||||
#define WL_BSS_INFO_VERSION 109 /* current ver of wl_bss_info struct */
|
||||
#endif
|
||||
|
||||
/* BSS info structure
|
||||
* Applications MUST CHECK ie_offset field and length field to access IEs and
|
||||
|
@ -633,27 +559,6 @@ typedef struct wl_led_info {
|
|||
u8 activehi;
|
||||
} wl_led_info_t;
|
||||
|
||||
/* flags */
|
||||
#define WLC_ASSOC_REQ_IS_REASSOC 0x01 /* assoc req was actually a reassoc */
|
||||
|
||||
/* srom read/write struct passed through ioctl */
|
||||
typedef struct {
|
||||
uint byteoff; /* byte offset */
|
||||
uint nbytes; /* number of bytes */
|
||||
u16 buf[1];
|
||||
} srom_rw_t;
|
||||
|
||||
/* similar cis (srom or otp) struct [iovar: may not be aligned] */
|
||||
typedef struct {
|
||||
u32 source; /* cis source */
|
||||
u32 byteoff; /* byte offset */
|
||||
u32 nbytes; /* number of bytes */
|
||||
/* data follows here */
|
||||
} cis_rw_t;
|
||||
|
||||
#define WLC_CIS_DEFAULT 0 /* built-in default */
|
||||
#define WLC_CIS_SROM 1 /* source is sprom */
|
||||
#define WLC_CIS_OTP 2 /* source is otp */
|
||||
|
||||
/* R_REG and W_REG struct passed through ioctl */
|
||||
typedef struct {
|
||||
|
@ -663,102 +568,14 @@ typedef struct {
|
|||
uint band; /* band (optional) */
|
||||
} rw_reg_t;
|
||||
|
||||
/* Structure used by GET/SET_ATTEN ioctls - it controls power in b/g-band */
|
||||
/* PCL - Power Control Loop */
|
||||
/* current gain setting is replaced by user input */
|
||||
#define WL_ATTEN_APP_INPUT_PCL_OFF 0 /* turn off PCL, apply supplied input */
|
||||
#define WL_ATTEN_PCL_ON 1 /* turn on PCL */
|
||||
/* current gain setting is maintained */
|
||||
#define WL_ATTEN_PCL_OFF 2 /* turn off PCL. */
|
||||
|
||||
typedef struct {
|
||||
u16 auto_ctrl; /* WL_ATTEN_XX */
|
||||
u16 bb; /* Baseband attenuation */
|
||||
u16 radio; /* Radio attenuation */
|
||||
u16 txctl1; /* Radio TX_CTL1 value */
|
||||
} atten_t;
|
||||
|
||||
/* Per-AC retry parameters */
|
||||
struct wme_tx_params_s {
|
||||
u8 short_retry;
|
||||
u8 short_fallback;
|
||||
u8 long_retry;
|
||||
u8 long_fallback;
|
||||
u16 max_rate; /* In units of 512 Kbps */
|
||||
};
|
||||
|
||||
typedef struct wme_tx_params_s wme_tx_params_t;
|
||||
|
||||
#define WL_WME_TX_PARAMS_IO_BYTES (sizeof(wme_tx_params_t) * AC_COUNT)
|
||||
|
||||
/* defines used by poweridx iovar - it controls power in a-band */
|
||||
/* current gain setting is maintained */
|
||||
#define WL_PWRIDX_PCL_OFF -2 /* turn off PCL. */
|
||||
#define WL_PWRIDX_PCL_ON -1 /* turn on PCL */
|
||||
#define WL_PWRIDX_LOWER_LIMIT -2 /* lower limit */
|
||||
#define WL_PWRIDX_UPPER_LIMIT 63 /* upper limit */
|
||||
/* value >= 0 causes
|
||||
* - input to be set to that value
|
||||
* - PCL to be off
|
||||
*/
|
||||
|
||||
/* Used to get specific link/ac parameters */
|
||||
typedef struct {
|
||||
int ac;
|
||||
u8 val;
|
||||
struct ether_addr ea;
|
||||
} link_val_t;
|
||||
|
||||
#define BCM_MAC_STATUS_INDICATION (0x40010200L)
|
||||
|
||||
typedef struct {
|
||||
u16 ver; /* version of this struct */
|
||||
u16 len; /* length in bytes of this structure */
|
||||
u16 cap; /* sta's advertised capabilities */
|
||||
u32 flags; /* flags defined below */
|
||||
u32 idle; /* time since data pkt rx'd from sta */
|
||||
struct ether_addr ea; /* Station address */
|
||||
wl_rateset_t rateset; /* rateset in use */
|
||||
u32 in; /* seconds elapsed since associated */
|
||||
u32 listen_interval_inms; /* Min Listen interval in ms for this STA */
|
||||
u32 tx_pkts; /* # of packets transmitted */
|
||||
u32 tx_failures; /* # of packets failed */
|
||||
u32 rx_ucast_pkts; /* # of unicast packets received */
|
||||
u32 rx_mcast_pkts; /* # of multicast packets received */
|
||||
u32 tx_rate; /* Rate of last successful tx frame */
|
||||
u32 rx_rate; /* Rate of last successful rx frame */
|
||||
u32 rx_decrypt_succeeds; /* # of packet decrypted successfully */
|
||||
u32 rx_decrypt_failures; /* # of packet decrypted unsuccessfully */
|
||||
} sta_info_t;
|
||||
|
||||
#define WL_OLD_STAINFO_SIZE offsetof(sta_info_t, tx_pkts)
|
||||
|
||||
#define WL_STA_VER 3
|
||||
|
||||
/* Flags for sta_info_t indicating properties of STA */
|
||||
#define WL_STA_BRCM 0x1 /* Running a Broadcom driver */
|
||||
#define WL_STA_WME 0x2 /* WMM association */
|
||||
#define WL_STA_ABCAP 0x4
|
||||
#define WL_STA_AUTHE 0x8 /* Authenticated */
|
||||
#define WL_STA_ASSOC 0x10 /* Associated */
|
||||
#define WL_STA_AUTHO 0x20 /* Authorized */
|
||||
#define WL_STA_WDS 0x40 /* Wireless Distribution System */
|
||||
#define WL_STA_WDS_LINKUP 0x80 /* WDS traffic/probes flowing properly */
|
||||
#define WL_STA_PS 0x100 /* STA is in power save mode from AP's viewpoint */
|
||||
#define WL_STA_APSD_BE 0x200 /* APSD delv/trigger for AC_BE is default enabled */
|
||||
#define WL_STA_APSD_BK 0x400 /* APSD delv/trigger for AC_BK is default enabled */
|
||||
#define WL_STA_APSD_VI 0x800 /* APSD delv/trigger for AC_VI is default enabled */
|
||||
#define WL_STA_APSD_VO 0x1000 /* APSD delv/trigger for AC_VO is default enabled */
|
||||
#define WL_STA_N_CAP 0x2000 /* STA 802.11n capable */
|
||||
#define WL_STA_SCBSTATS 0x4000 /* Per STA debug stats */
|
||||
|
||||
#define WL_WDS_LINKUP WL_STA_WDS_LINKUP /* deprecated */
|
||||
|
||||
#ifdef BRCM_FULLMAC
|
||||
/* Used to get specific STA parameters */
|
||||
typedef struct {
|
||||
u32 val;
|
||||
struct ether_addr ea;
|
||||
} scb_val_t;
|
||||
#endif /* BRCM_FULLMAC */
|
||||
|
||||
/* channel encoding */
|
||||
typedef struct channel_info {
|
||||
|
@ -782,6 +599,7 @@ typedef struct get_pktcnt {
|
|||
uint rx_ocast_good_pkt; /* unicast packets destined for others */
|
||||
} get_pktcnt_t;
|
||||
|
||||
#ifdef BRCM_FULLMAC
|
||||
/* Linux network driver ioctl encoding */
|
||||
typedef struct wl_ioctl {
|
||||
uint cmd; /* common ioctl definition */
|
||||
|
@ -791,11 +609,8 @@ typedef struct wl_ioctl {
|
|||
uint used; /* bytes read or written (optional) */
|
||||
uint needed; /* bytes needed (optional) */
|
||||
} wl_ioctl_t;
|
||||
#endif /* BRCM_FULLMAC */
|
||||
|
||||
/* reference to wl_ioctl_t struct used by usermode driver */
|
||||
#define ioctl_subtype set /* subtype param */
|
||||
#define ioctl_pid used /* pid param */
|
||||
#define ioctl_status needed /* status param */
|
||||
|
||||
/*
|
||||
* Structure for passing hardware and software
|
||||
|
@ -822,45 +637,11 @@ typedef struct wlc_rev_info {
|
|||
|
||||
#define WL_REV_INFO_LEGACY_LENGTH 48
|
||||
|
||||
#define WL_BRAND_MAX 10
|
||||
typedef struct wl_instance_info {
|
||||
uint instance;
|
||||
char brand[WL_BRAND_MAX];
|
||||
} wl_instance_info_t;
|
||||
|
||||
/* structure to change size of tx fifo */
|
||||
typedef struct wl_txfifo_sz {
|
||||
u16 magic;
|
||||
u16 fifo;
|
||||
u16 size;
|
||||
} wl_txfifo_sz_t;
|
||||
/* magic pattern used for mismatch driver and wl */
|
||||
#define WL_TXFIFO_SZ_MAGIC 0xa5a5
|
||||
|
||||
/* Transfer info about an IOVar from the driver */
|
||||
/* Max supported IOV name size in bytes, + 1 for nul termination */
|
||||
#define WLC_IOV_NAME_LEN 30
|
||||
typedef struct wlc_iov_trx_s {
|
||||
u8 module;
|
||||
u8 type;
|
||||
char name[WLC_IOV_NAME_LEN];
|
||||
} wlc_iov_trx_t;
|
||||
|
||||
/* check this magic number */
|
||||
#define WLC_IOCTL_MAGIC 0x14e46c77
|
||||
|
||||
#define PROC_ENTRY_NAME "brcm_debug"
|
||||
/* bump this number if you change the ioctl interface */
|
||||
#define WLC_IOCTL_VERSION 1
|
||||
|
||||
#ifdef BRCM_FULLMAC
|
||||
#define WLC_IOCTL_MAXLEN 8192
|
||||
#else
|
||||
#define WLC_IOCTL_MAXLEN 3072 /* max length ioctl buffer required */
|
||||
#endif
|
||||
#define WLC_IOCTL_SMLEN 256 /* "small" length ioctl buffer required */
|
||||
#define WLC_IOCTL_MEDLEN 1536 /* "med" length ioctl buffer required */
|
||||
#define WLC_SAMPLECOLLECT_MAXLEN 10240 /* Max Sample Collect buffer for two cores */
|
||||
#define WLC_IOCTL_MAXLEN 8192
|
||||
#endif
|
||||
|
||||
/* common ioctl definitions */
|
||||
#define WLC_GET_MAGIC 0
|
||||
|
@ -1411,23 +1192,6 @@ typedef struct {
|
|||
#define WL_TX_POWER_MCS40_FIRST 28
|
||||
#define WL_TX_POWER_MCS40_NUM 17
|
||||
|
||||
typedef struct {
|
||||
u32 flags;
|
||||
chanspec_t chanspec; /* txpwr report for this channel */
|
||||
chanspec_t local_chanspec; /* channel on which we are associated */
|
||||
u8 local_max; /* local max according to the AP */
|
||||
u8 local_constraint; /* local constraint according to the AP */
|
||||
s8 antgain[2]; /* Ant gain for each band - from SROM */
|
||||
u8 rf_cores; /* count of RF Cores being reported */
|
||||
u8 est_Pout[4]; /* Latest tx power out estimate per RF
|
||||
* chain without adjustment
|
||||
*/
|
||||
u8 est_Pout_cck; /* Latest CCK tx power out estimate */
|
||||
u8 user_limit[WL_TX_POWER_RATES_LEGACY]; /* User limit */
|
||||
u8 reg_limit[WL_TX_POWER_RATES_LEGACY]; /* Regulatory power limit */
|
||||
u8 board_limit[WL_TX_POWER_RATES_LEGACY]; /* Max power board can support (SROM) */
|
||||
u8 target[WL_TX_POWER_RATES_LEGACY]; /* Latest target power */
|
||||
} tx_power_legacy2_t;
|
||||
|
||||
#define WL_TX_POWER_RATES 101
|
||||
#define WL_TX_POWER_CCK_FIRST 0
|
||||
|
@ -1860,63 +1624,6 @@ struct ampdu_retry_tid {
|
|||
u8 retry; /* retry value */
|
||||
};
|
||||
|
||||
/* structure for addts arguments */
|
||||
/* For ioctls that take a list of TSPEC */
|
||||
struct tslist {
|
||||
int count; /* number of tspecs */
|
||||
struct tsinfo_arg tsinfo[1]; /* variable length array of tsinfo */
|
||||
};
|
||||
|
||||
/* structure for addts/delts arguments */
|
||||
typedef struct tspec_arg {
|
||||
u16 version; /* see definition of TSPEC_ARG_VERSION */
|
||||
u16 length; /* length of entire structure */
|
||||
uint flag; /* bit field */
|
||||
/* TSPEC Arguments */
|
||||
struct tsinfo_arg tsinfo; /* TS Info bit field */
|
||||
u16 nom_msdu_size; /* (Nominal or fixed) MSDU Size (bytes) */
|
||||
u16 max_msdu_size; /* Maximum MSDU Size (bytes) */
|
||||
uint min_srv_interval; /* Minimum Service Interval (us) */
|
||||
uint max_srv_interval; /* Maximum Service Interval (us) */
|
||||
uint inactivity_interval; /* Inactivity Interval (us) */
|
||||
uint suspension_interval; /* Suspension Interval (us) */
|
||||
uint srv_start_time; /* Service Start Time (us) */
|
||||
uint min_data_rate; /* Minimum Data Rate (bps) */
|
||||
uint mean_data_rate; /* Mean Data Rate (bps) */
|
||||
uint peak_data_rate; /* Peak Data Rate (bps) */
|
||||
uint max_burst_size; /* Maximum Burst Size (bytes) */
|
||||
uint delay_bound; /* Delay Bound (us) */
|
||||
uint min_phy_rate; /* Minimum PHY Rate (bps) */
|
||||
u16 surplus_bw; /* Surplus Bandwidth Allowance (range 1.0 to 8.0) */
|
||||
u16 medium_time; /* Medium Time (32 us/s periods) */
|
||||
u8 dialog_token; /* dialog token */
|
||||
} tspec_arg_t;
|
||||
|
||||
/* tspec arg for desired station */
|
||||
typedef struct tspec_per_sta_arg {
|
||||
struct ether_addr ea;
|
||||
struct tspec_arg ts;
|
||||
} tspec_per_sta_arg_t;
|
||||
|
||||
/* structure for max bandwidth for each access category */
|
||||
typedef struct wme_max_bandwidth {
|
||||
u32 ac[AC_COUNT]; /* max bandwidth for each access category */
|
||||
} wme_max_bandwidth_t;
|
||||
|
||||
#define WL_WME_MBW_PARAMS_IO_BYTES (sizeof(wme_max_bandwidth_t))
|
||||
|
||||
/* current version of wl_tspec_arg_t struct */
|
||||
#define TSPEC_ARG_VERSION 2 /* current version of wl_tspec_arg_t struct */
|
||||
#define TSPEC_ARG_LENGTH 55 /* argument length from tsinfo to medium_time */
|
||||
#define TSPEC_DEFAULT_DIALOG_TOKEN 42 /* default dialog token */
|
||||
#define TSPEC_DEFAULT_SBW_FACTOR 0x3000 /* default surplus bw */
|
||||
|
||||
/* define for flag */
|
||||
#define TSPEC_PENDING 0 /* TSPEC pending */
|
||||
#define TSPEC_ACCEPTED 1 /* TSPEC accepted */
|
||||
#define TSPEC_REJECTED 2 /* TSPEC rejected */
|
||||
#define TSPEC_UNKNOWN 3 /* TSPEC unknown */
|
||||
#define TSPEC_STATUS_MASK 7 /* TSPEC status mask */
|
||||
|
||||
/* Software feature flag defines used by wlfeatureflag */
|
||||
#define WL_SWFL_NOHWRADIO 0x0004
|
||||
|
@ -1925,16 +1632,6 @@ typedef struct wme_max_bandwidth {
|
|||
|
||||
#define WL_LIFETIME_MAX 0xFFFF /* Max value in ms */
|
||||
|
||||
/*
|
||||
* Dongle pattern matching filter.
|
||||
*/
|
||||
|
||||
/* Packet filter types. Currently, only pattern matching is supported. */
|
||||
typedef enum wl_pkt_filter_type {
|
||||
WL_PKT_FILTER_TYPE_PATTERN_MATCH /* Pattern matching filter */
|
||||
} wl_pkt_filter_type_t;
|
||||
|
||||
#define WL_PKT_FILTER_TYPE wl_pkt_filter_type_t
|
||||
|
||||
/* Pattern matching filter. Specifies an offset within received packets to
|
||||
* start matching, the pattern to match, the size of the pattern, and a bitmask
|
||||
|
@ -1969,20 +1666,6 @@ typedef struct wl_pkt_filter_enable {
|
|||
u32 enable; /* Enable/disable bool */
|
||||
} wl_pkt_filter_enable_t;
|
||||
|
||||
/* IOVAR "pkt_filter_list" parameter. Used to retrieve a list of installed filters. */
|
||||
typedef struct wl_pkt_filter_list {
|
||||
u32 num; /* Number of installed packet filters */
|
||||
wl_pkt_filter_t filter[1]; /* Variable array of packet filters. */
|
||||
} wl_pkt_filter_list_t;
|
||||
|
||||
#define WL_PKT_FILTER_LIST_FIXED_LEN offsetof(wl_pkt_filter_list_t, filter)
|
||||
|
||||
/* IOVAR "pkt_filter_stats" parameter. Used to retrieve debug statistics. */
|
||||
typedef struct wl_pkt_filter_stats {
|
||||
u32 num_pkts_matched; /* # filter matches for specified filter id */
|
||||
u32 num_pkts_forwarded; /* # packets fwded from dongle to host for all filters */
|
||||
u32 num_pkts_discarded; /* # packets discarded by dongle for all filters */
|
||||
} wl_pkt_filter_stats_t;
|
||||
|
||||
#define WLC_RSSI_INVALID 0 /* invalid RSSI value */
|
||||
|
||||
|
|
Loading…
Reference in a new issue