Explorar el Código

qcacld-3.0: Remove obsolete code from CDS

Remove obsolete code from CDS.

Change-Id: I4f4375ed52616eb238697f5edcf0bf099ceb32ba
CRs-Fixed: 2395980
Srinivas Girigowda hace 6 años
padre
commit
59053152f0

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1016
core/cds/inc/cds_ieee80211_common.h


+ 5 - 1274
core/cds/inc/cds_ieee80211_defines.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014-2015, 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2014-2015, 2018-2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -25,96 +25,12 @@
  * Public defines for Atheros Upper MAC Layer
  */
 
-/**
- * @brief Opaque handle of 802.11 protocal layer.
- */
-struct ieee80211com;
-typedef struct ieee80211com *wlan_dev_t;
-
-/**
- * @brief Opaque handle to App IE module.
- */
-struct wlan_mlme_app_ie;
-typedef struct wlan_mlme_app_ie *wlan_mlme_app_ie_t;
-
-/**
- * @brief Opaque handle of network instance (vap) in 802.11 protocal layer.
- */
-struct ieee80211vap;
-typedef struct ieee80211vap *wlan_if_t;
-
-struct ieee80211vapprofile;
-typedef struct ieee80211vapprofile *wlan_if_info_t;
-
-/**
- * @brief Opaque handle of a node in the wifi network.
- */
-struct ieee80211_node;
-typedef struct ieee80211_node *wlan_node_t;
-
-/**
- * @brief Opaque handle of OS interface (ifp in the case of unix ).
- */
-struct _os_if_t;
-typedef struct _os_if_t *os_if_t;
-
-/**
- *
- * @brief Opaque handle.
- */
-typedef void *os_handle_t;
-
-/**
- * @brief Opaque handle of a channel.
- */
-struct ieee80211_channel;
-typedef struct ieee80211_channel *wlan_chan_t;
-
-/**
- * @brief Opaque handle scan_entry.
- */
-struct ieee80211_scan_entry;
-typedef struct ieee80211_scan_entry *wlan_scan_entry_t;
-
-/* AoW related defines */
-#define AOW_MAX_RECEIVER_COUNT  10
-
-#define IEEE80211_NWID_LEN                  32
-#define IEEE80211_ISO_COUNTRY_LENGTH        3   /* length of 11d ISO country string */
-
-typedef struct _ieee80211_ssid {
-	int len;
-	uint8_t ssid[IEEE80211_NWID_LEN];
-} ieee80211_ssid;
-
-typedef struct ieee80211_tx_status {
-	int ts_flags;
-#define IEEE80211_TX_ERROR          0x01
-#define IEEE80211_TX_XRETRY         0x02
+#ifndef EXTERNAL_USE_ONLY
 
-	int ts_retries;         /* number of retries to successfully transmit this frame */
-#ifdef ATH_SUPPORT_TxBF
-	uint8_t ts_txbfstatus;
-#define AR_BW_Mismatch      0x1
-#define AR_Stream_Miss      0x2
-#define AR_CV_Missed        0x4
-#define AR_Dest_Miss        0x8
-#define AR_Expired          0x10
-#define AR_TxBF_Valid_HW_Status    (AR_BW_Mismatch|AR_Stream_Miss|AR_CV_Missed|AR_Dest_Miss|AR_Expired)
-#define TxBF_STATUS_Sounding_Complete   0x20
-#define TxBF_STATUS_Sounding_Request    0x40
-#define TxBF_Valid_SW_Status  (TxBF_STATUS_Sounding_Complete | TxBF_STATUS_Sounding_Request)
-#define TxBF_Valid_Status  (AR_TxBF_Valid_HW_Status | TxBF_Valid_SW_Status)
-	uint32_t ts_tstamp;     /* tx time stamp */
-#endif
-#ifdef ATH_SUPPORT_FLOWMAC_MODULE
-	uint8_t ts_flowmac_flags;
-#define IEEE80211_TX_FLOWMAC_DONE           0x01
-#endif
-	uint32_t ts_rateKbps;
-} ieee80211_xmit_status;
+#define IEEE80211_LSIG_LEN  3
+#define IEEE80211_HTSIG_LEN 6
+#define IEEE80211_SB_LEN    2
 
-#ifndef EXTERNAL_USE_ONLY
 typedef struct ieee80211_rx_status {
 	int rs_numchains;
 	int rs_flags;
@@ -175,1191 +91,6 @@ typedef struct ieee80211_rx_status {
 } ieee80211_recv_status;
 #endif /* EXTERNAL_USE_ONLY */
 
-/*
- * flags to be passed to ieee80211_vap_create function .
- */
-#define IEEE80211_CLONE_BSSID           0x0001  /* allocate unique mac/bssid */
-#define IEEE80211_CLONE_NOBEACONS       0x0002  /* don't setup beacon timers */
-#define IEEE80211_CLONE_WDS             0x0004  /* enable WDS processing */
-#define IEEE80211_CLONE_WDSLEGACY       0x0008  /* legacy WDS operation */
-#define IEEE80211_PRIMARY_VAP           0x0010  /* primary vap */
-#define IEEE80211_P2PDEV_VAP            0x0020  /* p2pdev vap */
-#define IEEE80211_P2PGO_VAP             0x0040  /* p2p-go vap */
-#define IEEE80211_P2PCLI_VAP            0x0080  /* p2p-client vap */
-#define IEEE80211_CLONE_MACADDR         0x0100  /* create vap w/ specified mac/bssid */
-#define IEEE80211_CLONE_MATADDR         0x0200  /* create vap w/ specified MAT addr */
-#define IEEE80211_WRAP_VAP              0x0400  /* wireless repeater ap vap */
-
-/*
- * For the new multi-vap scan feature, there is a set of default priority tables
- * for each OpMode.
- * The following are the default list of the VAP Scan Priority Mapping based on OpModes.
- * NOTE: the following are only used when "#if ATH_SUPPORT_MULTIPLE_SCANS" is true.
- */
-/* For IBSS opmode */
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_IBSS_BASE               0
-/* For STA opmode */
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_STA_BASE                0
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_STA_P2P_CLIENT          1
-/* For HostAp opmode */
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_AP_BASE                 0
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_AP_P2P_GO               1
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_AP_P2P_DEVICE           2
-/* For BTAmp opmode */
-#define DEF_VAP_SCAN_PRI_MAP_OPMODE_BTAMP_BASE              0
-
-typedef enum _ieee80211_dev_vap_event {
-	IEEE80211_VAP_CREATED = 1,
-	IEEE80211_VAP_STOPPED,
-	IEEE80211_VAP_DELETED
-} ieee80211_dev_vap_event;
-
-typedef struct _wlan_dev_event_handler_table {
-	void (*wlan_dev_vap_event)(void *event_arg, wlan_dev_t, os_if_t, ieee80211_dev_vap_event);      /* callback to receive vap events */
-#ifdef ATH_SUPPORT_SPECTRAL
-	void (*wlan_dev_spectral_indicate)(void *, void *, uint32_t);
-#endif
-} wlan_dev_event_handler_table;
-
-typedef enum _ieee80211_ap_stopped_reason {
-	IEEE80211_AP_STOPPED_REASON_DUMMY = 0,  /* Dummy placeholder. Should not use */
-	IEEE80211_AP_STOPPED_REASON_CHANNEL_DFS = 1,
-} ieee80211_ap_stopped_reason;
-
-typedef int IEEE80211_REASON_CODE;
-typedef int IEEE80211_STATUS;
-
-/*
- * scan API related structs.
- */
-typedef enum _ieee80211_scan_type {
-	IEEE80211_SCAN_BACKGROUND,
-	IEEE80211_SCAN_FOREGROUND,
-	IEEE80211_SCAN_SPECTRAL,
-	IEEE80211_SCAN_REPEATER_BACKGROUND,
-	IEEE80211_SCAN_REPEATER_EXT_BACKGROUND,
-	IEEE80211_SCAN_RADIO_MEASUREMENTS,
-} ieee80211_scan_type;
-
-/*
- * Priority numbers must be sequential, starting with 0.
- */
-typedef enum ieee80211_scan_priority_t {
-	IEEE80211_SCAN_PRIORITY_VERY_LOW = 0,
-	IEEE80211_SCAN_PRIORITY_LOW,
-	IEEE80211_SCAN_PRIORITY_MEDIUM,
-	IEEE80211_SCAN_PRIORITY_HIGH,
-	IEEE80211_SCAN_PRIORITY_VERY_HIGH,
-
-	IEEE80211_SCAN_PRIORITY_COUNT   /* number of priorities supported */
-} IEEE80211_SCAN_PRIORITY;
-
-typedef uint16_t IEEE80211_SCAN_REQUESTOR;
-typedef uint32_t IEEE80211_SCAN_ID;
-
-#define IEEE80211_SCAN_ID_NONE                    0
-
-/* All P2P scans currently use medium priority */
-#define IEEE80211_P2P_DEFAULT_SCAN_PRIORITY       IEEE80211_SCAN_PRIORITY_MEDIUM
-#define IEEE80211_P2P_SCAN_PRIORITY_HIGH          IEEE80211_SCAN_PRIORITY_HIGH
-
-/* Masks identifying types/ID of scans */
-#define IEEE80211_SPECIFIC_SCAN       0x00000000
-#define IEEE80211_VAP_SCAN            0x01000000
-#define IEEE80211_ALL_SCANS           0x04000000
-
-/**
- * host scan bit. only relevant for host/target architecture.
- * do not reuse this bit definition. target uses this .
- *
- */
-#define IEEE80211_HOST_SCAN           0x80000000
-#define IEEE80211_SCAN_CLASS_MASK     0xFF000000
-
-#define IEEE80211_SCAN_PASSIVE            0x0001        /* passively scan all the channels */
-#define IEEE80211_SCAN_ACTIVE             0x0002        /* actively  scan all the channels (regdomain rules still apply) */
-#define IEEE80211_SCAN_2GHZ               0x0004        /* scan 2GHz band */
-#define IEEE80211_SCAN_5GHZ               0x0008        /* scan 5GHz band */
-#define IEEE80211_SCAN_ALLBANDS           (IEEE80211_SCAN_5GHZ | IEEE80211_SCAN_2GHZ)
-#define IEEE80211_SCAN_CONTINUOUS         0x0010        /* keep scanning until maxscantime expires */
-#define IEEE80211_SCAN_FORCED             0x0020        /* forced scan (OS request) - should proceed even in the presence of data traffic */
-#define IEEE80211_SCAN_NOW                0x0040        /* scan now (User request)  - should proceed even in the presence of data traffic */
-#define IEEE80211_SCAN_ADD_BCAST_PROBE    0x0080        /* add wildcard ssid and broadcast probe request if there is none */
-#define IEEE80211_SCAN_EXTERNAL           0x0100        /* scan requested by OS */
-#define IEEE80211_SCAN_BURST              0x0200        /* scan multiple channels before returning to BSS channel */
-#define IEEE80211_SCAN_CHAN_EVENT         0x0400        /* scan chan event for  offload architectures */
-#define IEEE80211_SCAN_FILTER_PROBE_REQ   0x0800        /* Filter probe requests- applicable only for offload architectures */
-
-#define IEEE80211_SCAN_PARAMS_MAX_SSID     10
-#define IEEE80211_SCAN_PARAMS_MAX_BSSID    10
-
-/* flag definitions passed to scan_cancel API */
-
-#define IEEE80211_SCAN_CANCEL_ASYNC 0x0 /* asynchronouly wait for scan SM to complete cancel */
-#define IEEE80211_SCAN_CANCEL_WAIT  0x1 /* wait for scan SM to complete cancel */
-#define IEEE80211_SCAN_CANCEL_SYNC  0x2 /* synchronously execute cancel scan */
-
-#ifndef EXTERNAL_USE_ONLY
-typedef bool (*ieee80211_scan_termination_check)(void *arg);
-
-typedef struct _ieee80211_scan_params {
-	ieee80211_scan_type type;
-	int min_dwell_time_active;      /* min time in msec on active channels */
-	int max_dwell_time_active;      /* max time in msec on active channels (if no response) */
-	int min_dwell_time_passive;     /* min time in msec on passive channels */
-	int max_dwell_time_passive;     /* max time in msec on passive channels (if no response) */
-	int min_rest_time;      /* min time in msec on the BSS channel, only valid for BG scan */
-	int max_rest_time;      /* max time in msec on the BSS channel, only valid for BG scan */
-	int max_offchannel_time;        /* max time away from BSS channel, in ms */
-	int repeat_probe_time;  /* time before sending second probe request */
-	int idle_time;          /* time in msec on bss channel before switching channel */
-	int max_scan_time;      /* maximum time in msec allowed for scan  */
-	int probe_delay;        /* delay in msec before sending probe request */
-	int offchan_retry_delay;        /* delay in msec before retrying off-channel switch */
-	int min_beacon_count;   /* number of home AP beacons to receive before leaving the home channel */
-	int max_offchan_retries;        /* maximum number of times to retry off-channel switch */
-	int beacon_timeout;     /* maximum time to wait for beacons */
-	int flags;              /* scan flags */
-	int num_channels;       /* number of channels to scan */
-	bool multiple_ports_active;     /* driver has multiple ports active in the home channel */
-	bool restricted_scan;   /* Perform restricted scan */
-	bool chan_list_allocated;
-	IEEE80211_SCAN_PRIORITY p2p_scan_priority;      /* indicates the scan priority if this is a P2P-related scan */
-	uint32_t *chan_list;    /* array of ieee channels (or) frequencies to scan */
-	int num_ssid;           /* number of desired ssids */
-	ieee80211_ssid ssid_list[IEEE80211_SCAN_PARAMS_MAX_SSID];
-	int num_bssid;          /* number of desired bssids */
-	uint8_t bssid_list[IEEE80211_SCAN_PARAMS_MAX_BSSID][IEEE80211_ADDR_LEN];
-	struct ieee80211_node *bss_node;        /* BSS node */
-	int ie_len;             /* length of the ie data to be added to probe req */
-	uint8_t *ie_data;       /* pointer to ie data */
-	ieee80211_scan_termination_check check_termination_function;    /* function checking for termination condition */
-	void *check_termination_context;        /* context passed to function above */
-} ieee80211_scan_params;
-
-/* Data types used to specify scan priorities */
-typedef uint32_t IEEE80211_PRIORITY_MAPPING[IEEE80211_SCAN_PRIORITY_COUNT];
-
-/**************************************
- * Called before attempting to roam.  Modifies the rssiAdder of a BSS
- * based on the preferred status of a BSS.
- *
- * According to CCX spec, AP in the neighbor list is not meant for giving extra
- * weightage in roaming. By doing so, roaming becomes sticky. See bug 21220.
- * Change the weightage to 0. Cisco may ask in future for a user control of
- * this weightage.
- */
-#define PREFERRED_BSS_RANK                20
-#define NEIGHBOR_BSS_RANK                  0    /* must be less than preferred BSS rank */
-
-/*
- * The utility of the BSS is the metric used in the selection
- * of a BSS. The Utility of the BSS is reduced if we just left the BSS.
- * The Utility of the BSS is not reduced if we have left the
- * BSS for 8 seconds (8000ms) or more.
- * 2^13 milliseconds is a close approximation to avoid expensive division
- */
-#define LAST_ASSOC_TIME_DELTA_REQUIREMENT (1 << 13)     /* 8192 */
-
-#define QBSS_SCALE_MAX                   255    /* Qbss channel load Max value */
-#define QBSS_SCALE_DOWN_FACTOR             2    /* scale factor to reduce Qbss channel load */
-#define QBSS_HYST_ADJ                     60    /* Qbss Weightage factor for the current AP */
-
-/*
- * Flags used to set field APState
- */
-#define AP_STATE_GOOD    0x00
-#define AP_STATE_BAD     0x01
-#define AP_STATE_RETRY   0x10
-#define BAD_AP_TIMEOUT   6000   /* In milli seconds */
-/*
- * To disable BAD_AP status check on any scan entry
- */
-#define BAD_AP_TIMEOUT_DISABLED             0
-
-/*
- * BAD_AP timeout specified in seconds
- */
-#define BAD_AP_TIMEOUT_IN_SECONDS           10
-
-/*
- * State values used to represent our assoc_state with ap (discrete, not bitmasks)
- */
-#define AP_ASSOC_STATE_NONE     0
-#define AP_ASSOC_STATE_AUTH     1
-#define AP_ASSOC_STATE_ASSOC    2
-
-/*
- * Entries in the scan list are considered obsolete after 75 seconds.
- */
-#define IEEE80211_SCAN_ENTRY_EXPIRE_TIME           75000
-
-/*
- * idle time is only valid for scan type IEEE80211_SCAN_BACKGROUND.
- * if idle time is set then the scanner would change channel from BSS
- * channel to foreign channel only if both resttime is expired and
- * the theres was not traffic for idletime msec on the bss channel.
- * value of 0 for idletime would cause the channel to switch from BSS
- * channel to foreign channel as soon  as the resttime is expired.
- *
- * if maxscantime is nonzero and if the scanner can not complete the
- * scan in maxscantime msec then the scanner will cancel the scan and
- * post IEEE80211_SCAN_COMPLETED event with reason SCAN_TIMEDOUT.
- *
- */
-
-/*
- * chanlist can be either ieee channels (or) frequencies.
- * if a value is less than 1000 implementation assumes it
- * as ieee channel # otherwise implementation assumes it
- * as frequency in Mhz.
- */
-
-typedef enum _ieee80211_scan_event_type {
-	IEEE80211_SCAN_STARTED,
-	IEEE80211_SCAN_COMPLETED,
-	IEEE80211_SCAN_RADIO_MEASUREMENT_START,
-	IEEE80211_SCAN_RADIO_MEASUREMENT_END,
-	IEEE80211_SCAN_RESTARTED,
-	IEEE80211_SCAN_HOME_CHANNEL,
-	IEEE80211_SCAN_FOREIGN_CHANNEL,
-	IEEE80211_SCAN_BSSID_MATCH,
-	IEEE80211_SCAN_FOREIGN_CHANNEL_GET_NF,
-	IEEE80211_SCAN_DEQUEUED,
-	IEEE80211_SCAN_PREEMPTED,
-
-	IEEE80211_SCAN_EVENT_COUNT
-} ieee80211_scan_event_type;
-
-typedef enum ieee80211_scan_completion_reason {
-	IEEE80211_REASON_NONE,
-	IEEE80211_REASON_COMPLETED,
-	IEEE80211_REASON_CANCELLED,
-	IEEE80211_REASON_TIMEDOUT,
-	IEEE80211_REASON_TERMINATION_FUNCTION,
-	IEEE80211_REASON_MAX_OFFCHAN_RETRIES,
-	IEEE80211_REASON_PREEMPTED,
-	IEEE80211_REASON_RUN_FAILED,
-	IEEE80211_REASON_INTERNAL_STOP,
-
-	IEEE80211_REASON_COUNT
-} ieee80211_scan_completion_reason;
-
-typedef struct _ieee80211_scan_event {
-	ieee80211_scan_event_type type;
-	ieee80211_scan_completion_reason reason;
-	wlan_chan_t chan;
-	IEEE80211_SCAN_REQUESTOR requestor;     /* Requestor ID passed to the scan_start function */
-	IEEE80211_SCAN_ID scan_id;      /* Specific ID of the scan reporting the event */
-} ieee80211_scan_event;
-
-typedef enum _ieee80211_scan_request_status {
-	IEEE80211_SCAN_STATUS_QUEUED,
-	IEEE80211_SCAN_STATUS_RUNNING,
-	IEEE80211_SCAN_STATUS_PREEMPTED,
-	IEEE80211_SCAN_STATUS_COMPLETED
-} ieee80211_scan_request_status;
-
-/*
- * the sentry field of tht ieee80211_scan_event is only valid if the
- * event type is IEEE80211_SCAN_BSSID_MATCH.
- */
-
-typedef void (*ieee80211_scan_event_handler)(wlan_if_t vaphandle,
-					     ieee80211_scan_event *event,
-					     void *arg);
-
-typedef struct _ieee80211_scan_info {
-	ieee80211_scan_type type;
-	IEEE80211_SCAN_REQUESTOR requestor;     /* Originator ID passed to the scan_start function */
-	IEEE80211_SCAN_ID scan_id;      /* Specific ID of the scan reporting the event */
-	IEEE80211_SCAN_PRIORITY priority;       /* Requested priority level (low/medium/high) */
-	ieee80211_scan_request_status scheduling_status;        /* Queued/running/preempted/completed */
-	int min_dwell_time_active;      /* min time in msec on active channels */
-	int max_dwell_time_active;      /* max time in msec on active channel (if no response) */
-	int min_dwell_time_passive;     /* min time in msec on passive channels */
-	int max_dwell_time_passive;     /* max time in msec on passive channel */
-	int min_rest_time;      /* min time in msec on the BSS channel, only valid for BG scan */
-	int max_rest_time;      /* max time in msec on the BSS channel, only valid for BG scan */
-	int max_offchannel_time;        /* max time away from BSS channel, in ms */
-	int repeat_probe_time;  /* time before sending second probe request */
-	int min_beacon_count;   /* number of home AP beacons to receive before leaving the home channel */
-	int flags;              /* scan flags */
-	systime_t scan_start_time;      /* system time when last scani started */
-	int scanned_channels;   /* number of scanned channels */
-	int default_channel_list_length;        /* number of channels in the default channel list */
-	int channel_list_length;        /* number of channels in the channel list used for the current scan */
-	uint8_t in_progress : 1,  /* if the scan is in progress */
-		cancelled : 1,  /* if the scan is cancelled */
-		preempted : 1,  /* if the scan is preempted */
-		restricted : 1; /* if the scan is restricted */
-} ieee80211_scan_info;
-
-typedef struct _ieee80211_scan_request_info {
-	wlan_if_t vaphandle;
-	IEEE80211_SCAN_REQUESTOR requestor;
-	IEEE80211_SCAN_PRIORITY requested_priority;
-	IEEE80211_SCAN_PRIORITY absolute_priority;
-	IEEE80211_SCAN_ID scan_id;
-	ieee80211_scan_request_status scheduling_status;
-	ieee80211_scan_params params;
-	systime_t request_timestamp;
-	uint32_t maximum_duration;
-} ieee80211_scan_request_info;
-
-#endif /* EXTERNAL_USE_ONLY */
-
-#ifndef EXTERNAL_USE_ONLY
-typedef void (*ieee80211_acs_event_handler)(void *arg, wlan_chan_t channel);
-#endif /* EXTERNAL_USE_ONLY */
-
-#define MAX_CHAINS 3
-
-typedef struct _wlan_rssi_info {
-	int8_t avg_rssi;        /* average rssi */
-	uint8_t valid_mask;     /* bitmap of valid elements in rssi_ctrl/ext array */
-	int8_t rssi_ctrl[MAX_CHAINS];
-	int8_t rssi_ext[MAX_CHAINS];
-} wlan_rssi_info;
-
-typedef enum _wlan_rssi_type {
-	WLAN_RSSI_TX,
-	WLAN_RSSI_RX,
-	WLAN_RSSI_BEACON,       /* rssi of the beacon, only valid for STA/IBSS vap */
-	WLAN_RSSI_RX_DATA
-} wlan_rssi_type;
-
-typedef enum _ieee80211_rate_type {
-	IEEE80211_RATE_TYPE_LEGACY,
-	IEEE80211_RATE_TYPE_MCS,
-} ieee80211_rate_type;
-
-typedef struct _ieee80211_rate_info {
-	ieee80211_rate_type type;
-	uint32_t rate;          /* average rate in kbps */
-	uint32_t lastrate;      /* last packet rate in kbps */
-	uint8_t mcs;            /* mcs index . is valid if rate type is MCS20 or MCS40 */
-	uint8_t maxrate_per_client;
-} ieee80211_rate_info;
-
-typedef enum _ieee80211_node_param_type {
-	IEEE80211_NODE_PARAM_TX_POWER,
-	IEEE80211_NODE_PARAM_ASSOCID,
-	IEEE80211_NODE_PARAM_INACT,     /* inactivity timer value */
-	IEEE80211_NODE_PARAM_AUTH_MODE, /* auth mode */
-	IEEE80211_NODE_PARAM_CAP_INFO,  /* auth mode */
-} ieee80211_node_param_type;
-
-/*
- * Per/node (station) statistics available when operating as an AP.
- */
-struct ieee80211_nodestats {
-	uint32_t ns_rx_data;    /* rx data frames */
-	uint32_t ns_rx_mgmt;    /* rx management frames */
-	uint32_t ns_rx_ctrl;    /* rx control frames */
-	uint32_t ns_rx_ucast;   /* rx unicast frames */
-	uint32_t ns_rx_mcast;   /* rx multi/broadcast frames */
-	uint64_t ns_rx_bytes;   /* rx data count (bytes) */
-	uint64_t ns_rx_beacons; /* rx beacon frames */
-	uint32_t ns_rx_proberesp;       /* rx probe response frames */
-
-	uint32_t ns_rx_dup;     /* rx discard 'cuz dup */
-	uint32_t ns_rx_noprivacy;       /* rx w/ wep but privacy off */
-	uint32_t ns_rx_wepfail; /* rx wep processing failed */
-	uint32_t ns_rx_demicfail;       /* rx demic failed */
-
-	/* We log MIC and decryption failures against Transmitter STA stats.
-	   Though the frames may not actually be sent by STAs corresponding
-	   to TA, the stats are still valuable for some customers as a sort
-	   of rough indication.
-	   Also note that the mapping from TA to STA may fail sometimes. */
-	uint32_t ns_rx_tkipmic; /* rx TKIP MIC failure */
-	uint32_t ns_rx_ccmpmic; /* rx CCMP MIC failure */
-	uint32_t ns_rx_wpimic;  /* rx WAPI MIC failure */
-	uint32_t ns_rx_tkipicv; /* rx ICV check failed (TKIP) */
-	uint32_t ns_rx_decap;   /* rx decapsulation failed */
-	uint32_t ns_rx_defrag;  /* rx defragmentation failed */
-	uint32_t ns_rx_disassoc;        /* rx disassociation */
-	uint32_t ns_rx_deauth;  /* rx deauthentication */
-	uint32_t ns_rx_action;  /* rx action */
-	uint32_t ns_rx_decryptcrc;      /* rx decrypt failed on crc */
-	uint32_t ns_rx_unauth;  /* rx on unauthorized port */
-	uint32_t ns_rx_unencrypted;     /* rx unecrypted w/ privacy */
-
-	uint32_t ns_tx_data;    /* tx data frames */
-	uint32_t ns_tx_data_success;    /* tx data frames successfully
-	                                   transmitted (unicast only) */
-	uint32_t ns_tx_mgmt;    /* tx management frames */
-	uint32_t ns_tx_ucast;   /* tx unicast frames */
-	uint32_t ns_tx_mcast;   /* tx multi/broadcast frames */
-	uint64_t ns_tx_bytes;   /* tx data count (bytes) */
-	uint64_t ns_tx_bytes_success;   /* tx success data count - unicast only
-	                                   (bytes) */
-	uint32_t ns_tx_probereq;        /* tx probe request frames */
-	uint32_t ns_tx_uapsd;   /* tx on uapsd queue */
-	uint32_t ns_tx_discard; /* tx dropped by NIC */
-
-	uint32_t ns_tx_novlantag;       /* tx discard 'cuz no tag */
-	uint32_t ns_tx_vlanmismatch;    /* tx discard 'cuz bad tag */
-
-	uint32_t ns_tx_eosplost;        /* uapsd EOSP retried out */
-
-	uint32_t ns_ps_discard; /* ps discard 'cuz of age */
-
-	uint32_t ns_uapsd_triggers;     /* uapsd triggers */
-	uint32_t ns_uapsd_duptriggers;  /* uapsd duplicate triggers */
-	uint32_t ns_uapsd_ignoretriggers;       /* uapsd duplicate triggers */
-	uint32_t ns_uapsd_active;       /* uapsd duplicate triggers */
-	uint32_t ns_uapsd_triggerenabled;       /* uapsd duplicate triggers */
-
-	/* MIB-related state */
-	uint32_t ns_tx_assoc;   /* [re]associations */
-	uint32_t ns_tx_assoc_fail;      /* [re]association failures */
-	uint32_t ns_tx_auth;    /* [re]authentications */
-	uint32_t ns_tx_auth_fail;       /* [re]authentication failures */
-	uint32_t ns_tx_deauth;  /* deauthentications */
-	uint32_t ns_tx_deauth_code;     /* last deauth reason */
-	uint32_t ns_tx_disassoc;        /* disassociations */
-	uint32_t ns_tx_disassoc_code;   /* last disassociation reason */
-	uint32_t ns_psq_drops;  /* power save queue drops */
-};
-
-/*
- * station power save mode.
- */
-typedef enum ieee80211_psmode {
-	IEEE80211_PWRSAVE_NONE = 0,     /* no power save */
-	IEEE80211_PWRSAVE_LOW,
-	IEEE80211_PWRSAVE_NORMAL,
-	IEEE80211_PWRSAVE_MAXIMUM,
-	IEEE80211_PWRSAVE_WNM   /* WNM-Sleep Mode */
-} ieee80211_pwrsave_mode;
-
-/* station power save pspoll handling */
-typedef enum {
-	IEEE80211_CONTINUE_PSPOLL_FOR_MORE_DATA,
-	IEEE80211_WAKEUP_FOR_MORE_DATA,
-} ieee80211_pspoll_moredata_handling;
-
-/*
- * apps power save state.
- */
-typedef enum {
-	APPS_AWAKE = 0,
-	APPS_PENDING_SLEEP,
-	APPS_SLEEP,
-	APPS_FAKE_SLEEP,        /* Pending blocking sleep */
-	APPS_FAKING_SLEEP,      /* Blocking sleep */
-	APPS_UNKNOWN_PWRSAVE,
-} ieee80211_apps_pwrsave_state;
-
-typedef enum _iee80211_mimo_powersave_mode {
-	IEEE80211_MIMO_POWERSAVE_NONE,  /* no mimo power save */
-	IEEE80211_MIMO_POWERSAVE_STATIC,        /* static mimo power save */
-	IEEE80211_MIMO_POWERSAVE_DYNAMIC        /* dynamic mimo powersave */
-} ieee80211_mimo_powersave_mode;
-
-#ifdef ATH_COALESCING
-typedef enum _ieee80211_coalescing_state {
-	IEEE80211_COALESCING_DISABLED = 0,      /* Coalescing is disabled */
-	IEEE80211_COALESCING_DYNAMIC = 1,       /* Dynamically move to Enabled state based on Uruns */
-	IEEE80211_COALESCING_ENABLED = 2,       /* Coalescing is enabled */
-} ieee80211_coalescing_state;
-
-#define IEEE80211_TX_COALESCING_THRESHOLD     5 /* Number of underrun errors to trigger coalescing */
-#endif
-
-typedef enum _ieee80211_cap {
-	IEEE80211_CAP_SHSLOT,   /* CAPABILITY: short slot */
-	IEEE80211_CAP_SHPREAMBLE,       /* CAPABILITY: short premable */
-	IEEE80211_CAP_MULTI_DOMAIN,     /* CAPABILITY: multiple domain */
-	IEEE80211_CAP_WMM,      /* CAPABILITY: WMM */
-	IEEE80211_CAP_HT,       /* CAPABILITY: HT */
-	IEEE80211_CAP_PERF_PWR_OFLD,    /* CAPABILITY: power performance offload support */
-	IEEE80211_CAP_11AC,     /* CAPABILITY: 11ac support */
-} ieee80211_cap;
-
-typedef enum _ieee80211_device_param {
-	IEEE80211_DEVICE_RSSI_CTL,
-	IEEE80211_DEVICE_NUM_TX_CHAIN,
-	IEEE80211_DEVICE_NUM_RX_CHAIN,
-	IEEE80211_DEVICE_TX_CHAIN_MASK,
-	IEEE80211_DEVICE_RX_CHAIN_MASK,
-	IEEE80211_DEVICE_TX_CHAIN_MASK_LEGACY,
-	IEEE80211_DEVICE_RX_CHAIN_MASK_LEGACY,
-	IEEE80211_DEVICE_BMISS_LIMIT,   /* # of beacon misses for HW to generate BMISS intr */
-	IEEE80211_DEVICE_PROTECTION_MODE,       /* protection mode */
-	IEEE80211_DEVICE_BLKDFSCHAN,    /* block the use of DFS channels */
-	IEEE80211_DEVICE_GREEN_AP_PS_ENABLE,
-	IEEE80211_DEVICE_GREEN_AP_PS_TIMEOUT,
-	IEEE80211_DEVICE_GREEN_AP_PS_ON_TIME,
-	IEEE80211_DEVICE_CWM_EXTPROTMODE,
-	IEEE80211_DEVICE_CWM_EXTPROTSPACING,
-	IEEE80211_DEVICE_CWM_ENABLE,
-	IEEE80211_DEVICE_CWM_EXTBUSYTHRESHOLD,
-	IEEE80211_DEVICE_DOTH,
-	IEEE80211_DEVICE_ADDBA_MODE,
-	IEEE80211_DEVICE_COUNTRYCODE,
-	IEEE80211_DEVICE_MULTI_CHANNEL, /* turn on/off off channel support */
-	IEEE80211_DEVICE_MAX_AMSDU_SIZE,        /* Size of AMSDU to be sent on the air */
-	IEEE80211_DEVICE_P2P,   /* Enable or Disable P2P */
-	IEEE80211_DEVICE_OVERRIDE_SCAN_PROBERESPONSE_IE,        /* Override scan Probe response IE, 0: Don't over-ride */
-	IEEE80211_DEVICE_2G_CSA,
-	IEEE80211_DEVICE_PWRTARGET,
-	IEEE80211_DEVICE_OFF_CHANNEL_SUPPORT,
-} ieee80211_device_param;
-
-typedef enum _ieee80211_param {
-	IEEE80211_BEACON_INTVAL,        /* in TUs */
-	IEEE80211_LISTEN_INTVAL,        /* number of beacons */
-	IEEE80211_DTIM_INTVAL,  /* number of beacons */
-	IEEE80211_BMISS_COUNT_RESET,    /* number of beacon miss intrs before reset */
-	IEEE80211_BMISS_COUNT_MAX,      /* number of beacon miss intrs for bmiss notificationst */
-	IEEE80211_ATIM_WINDOW,  /* ATIM window */
-	IEEE80211_SHORT_SLOT,   /* short slot on/off */
-	IEEE80211_SHORT_PREAMBLE,       /* short preamble on/off */
-	IEEE80211_RTS_THRESHOLD,        /* rts threshold, 0 means no rts threshold  */
-	IEEE80211_FRAG_THRESHOLD,       /* fragmentation threshold, 0 means no rts threshold  */
-	IEEE80211_FIXED_RATE,   /*
-	                         * rate code series(0: auto rate, 32 bit value:  rate
-	                         * codes for 4 rate series. each byte for one rate series)
-	                         */
-	IEEE80211_MCAST_RATE,   /* rate in Kbps */
-	IEEE80211_TXPOWER,      /* in 0.5db units */
-	IEEE80211_AMPDU_DENCITY,        /* AMPDU dencity */
-	IEEE80211_AMPDU_LIMIT,  /* AMPDU limit */
-	IEEE80211_MAX_AMPDU,    /* Max AMPDU Exp */
-	IEEE80211_VHT_MAX_AMPDU,        /* VHT Max AMPDU Exp */
-	IEEE80211_WPS_MODE,     /* WPS mode */
-	IEEE80211_TSN_MODE,     /* TSN mode */
-	IEEE80211_MULTI_DOMAIN, /* Multiple domain */
-	IEEE80211_SAFE_MODE,    /* Safe mode */
-	IEEE80211_NOBRIDGE_MODE,        /* No bridging done, all frames sent up the stack */
-	IEEE80211_PERSTA_KEYTABLE_SIZE, /* IBSS-only, read-only: persta key table size */
-	IEEE80211_RECEIVE_80211,        /* deliver std 802.11 frames 802.11 instead of ethernet frames on the rx */
-	IEEE80211_SEND_80211,   /* OS sends std 802.11 frames 802.11 instead of ethernet frames on tx side */
-	IEEE80211_MIN_BEACON_COUNT,     /* minimum number beacons to tx/rx before vap can pause */
-	IEEE80211_IDLE_TIME,    /* minimun no activity time before vap can pause */
-	IEEE80211_MIN_FRAMESIZE,        /* smallest frame size we are allowed to receive */
-	/* features. 0:feature is off. 1:feature is on. */
-	IEEE80211_FEATURE_WMM,  /* WMM */
-	IEEE80211_FEATURE_WMM_PWRSAVE,  /* WMM Power Save */
-	IEEE80211_FEATURE_UAPSD,        /* UAPSD setting (BE/BK/VI/VO) */
-	IEEE80211_FEATURE_WDS,  /* dynamic WDS feature */
-	IEEE80211_FEATURE_PRIVACY,      /* encryption */
-	IEEE80211_FEATURE_DROP_UNENC,   /* drop un encrypted frames */
-	IEEE80211_FEATURE_COUNTER_MEASURES,     /* turn on counter measures */
-	IEEE80211_FEATURE_HIDE_SSID,    /* turn on hide ssid feature */
-	IEEE80211_FEATURE_APBRIDGE,     /* turn on internal mcast traffic bridging for AP */
-	IEEE80211_FEATURE_PUREB,        /* turn on pure B mode for AP */
-	IEEE80211_FEATURE_PUREG,        /* turn on pure G mode for AP */
-	IEEE80211_FEATURE_REGCLASS,     /* add regulatory class IE in AP */
-	IEEE80211_FEATURE_COUNTRY_IE,   /* add country IE for vap in AP */
-	IEEE80211_FEATURE_IC_COUNTRY_IE,        /* add country IE for ic in AP */
-	IEEE80211_FEATURE_DOTH, /* enable 802.11h */
-	IEEE80211_FEATURE_PURE11N,      /* enable pure 11n  mode */
-	IEEE80211_FEATURE_PRIVATE_RSNIE,        /* enable OS shim to setup RSN IE */
-	IEEE80211_FEATURE_COPY_BEACON,  /* keep a copy of beacon */
-	IEEE80211_FEATURE_PSPOLL,       /* enable/disable pspoll mode in power save SM */
-	IEEE80211_FEATURE_CONTINUE_PSPOLL_FOR_MOREDATA, /* enable/disable option to contunue sending ps polls when there is more data */
-	IEEE80211_FEATURE_AMPDU,        /* Enable or Disable Aggregation */
-#ifdef ATH_COALESCING
-	IEEE80211_FEATURE_TX_COALESCING,        /* enable tx coalescing */
-#endif
-	IEEE80211_FEATURE_VAP_IND,      /* Repeater independent VAP */
-	IEEE80211_FIXED_RETRIES,        /* fixed retries  0-4 */
-	IEEE80211_SHORT_GI,     /* short gi on/off */
-	IEEE80211_HT40_INTOLERANT,
-	IEEE80211_CHWIDTH,
-	IEEE80211_CHEXTOFFSET,
-	IEEE80211_DISABLE_2040COEXIST,
-	IEEE80211_DISABLE_HTPROTECTION,
-	IEEE80211_STA_QUICKKICKOUT,
-	IEEE80211_CHSCANINIT,
-	IEEE80211_FEATURE_STAFWD,       /* dynamic AP Client  feature */
-	IEEE80211_DRIVER_CAPS,
-	IEEE80211_UAPSD_MAXSP,  /* UAPSD service period setting (0:unlimited, 2,4,6) */
-	IEEE80211_WEP_MBSSID,
-	IEEE80211_MGMT_RATE,    /* ieee rate to be used for management */
-	IEEE80211_RESMGR_VAP_AIR_TIME_LIMIT,    /* When multi-channel enabled, restrict air-time allocated to a VAP */
-	IEEE80211_TDLS_MACADDR1,        /* Upper 4 bytes of device's MAC address */
-	IEEE80211_TDLS_MACADDR2,        /* Lower 2 bytes of device's MAC address */
-	IEEE80211_TDLS_ACTION,  /* TDLS action requested                 */
-	IEEE80211_AUTO_ASSOC,
-	IEEE80211_PROTECTION_MODE,      /* per VAP protection mode */
-	IEEE80211_AUTH_INACT_TIMEOUT,   /* inactivity time while waiting for 802.11x auth to complete */
-	IEEE80211_INIT_INACT_TIMEOUT,   /* inactivity time while waiting for 802.11 auth/assoc to complete */
-	IEEE80211_RUN_INACT_TIMEOUT,    /* inactivity time when fully authed */
-	IEEE80211_PROBE_INACT_TIMEOUT,  /* inactivity counter value below which starts probing */
-	IEEE80211_QBSS_LOAD,
-	IEEE80211_WNM_CAP,
-	IEEE80211_WNM_BSS_CAP,
-	IEEE80211_WNM_TFS_CAP,
-	IEEE80211_WNM_TIM_CAP,
-	IEEE80211_WNM_SLEEP_CAP,
-	IEEE80211_WNM_FMS_CAP,
-	IEEE80211_AP_REJECT_DFS_CHAN,   /* AP to reject resuming on DFS Channel */
-	IEEE80211_ABOLT,
-	IEEE80211_COMP,
-	IEEE80211_FF,
-	IEEE80211_TURBO,
-	IEEE80211_BURST,
-	IEEE80211_AR,
-	IEEE80211_SLEEP,
-	IEEE80211_EOSPDROP,
-	IEEE80211_MARKDFS,
-	IEEE80211_WDS_AUTODETECT,
-	IEEE80211_WEP_TKIP_HT,
-	IEEE80211_ATH_RADIO,
-	IEEE80211_IGNORE_11DBEACON,
-	/* Video debug feature */
-	IEEE80211_VI_DBG_CFG,   /* Video debug configuration - Bit0- enable dbg, Bit1 - enable stats log */
-	IEEE80211_VI_DBG_NUM_STREAMS,   /* Total number of receive streams */
-	IEEE80211_VI_STREAM_NUM,        /* the stream number whose marker parameters are being set */
-	IEEE80211_VI_DBG_NUM_MARKERS,   /* total number of markers used to filter pkts */
-	IEEE80211_VI_MARKER_NUM,        /* the marker number whose parameters (offset, size & match) are being set */
-	IEEE80211_VI_MARKER_OFFSET_SIZE,        /* byte offset from skb start (upper 16 bits) & size in bytes(lower 16 bits) */
-	IEEE80211_VI_MARKER_MATCH,      /* marker pattern match used in filtering */
-	IEEE80211_VI_RXSEQ_OFFSET_SIZE, /* Rx Seq num offset skb start (upper 16 bits) & size in bytes(lower 16 bits) */
-	IEEE80211_VI_RX_SEQ_RSHIFT,     /* right-shift value in case field is not word aligned */
-	IEEE80211_VI_RX_SEQ_MAX,        /* maximum Rx Seq number (to check wrap around) */
-	IEEE80211_VI_RX_SEQ_DROP,       /* Indicator to the debug app that a particular seq num has been dropped */
-	IEEE80211_VI_TIME_OFFSET_SIZE,  /* Timestamp offset skb start (upper 16 bits) & size in bytes(lower 16 bits) */
-	IEEE80211_VI_RESTART,   /* If set to 1 resets all internal variables/counters & restarts debug tool */
-	IEEE80211_VI_RXDROP_STATUS,     /* Total RX drops in wireless */
-	IEEE80211_TRIGGER_MLME_RESP,    /* Option for App to trigger mlme response */
-#ifdef ATH_SUPPORT_TxBF
-	IEEE80211_TXBF_AUTO_CVUPDATE,   /* auto CV update enable */
-	IEEE80211_TXBF_CVUPDATE_PER,    /* per threshold to initial CV update */
-#endif
-	IEEE80211_MAX_CLIENT_NUMBERS,
-	IEEE80211_SMARTNET,
-	IEEE80211_FEATURE_MFP_TEST,     /* MFP test */
-	IEEE80211_WEATHER_RADAR,        /* weather radar channel skip */
-	IEEE80211_WEP_KEYCACHE, /* WEP KEYCACHE is enable */
-	IEEE80211_SEND_DEAUTH,  /* send deauth instead of disassoc while doing interface down  */
-	IEEE80211_SET_TXPWRADJUST,
-	IEEE80211_RRM_CAP,
-	IEEE80211_RRM_DEBUG,
-	IEEE80211_RRM_STATS,
-	IEEE80211_RRM_SLWINDOW,
-	IEEE80211_FEATURE_OFF_CHANNEL_SUPPORT,
-	IEEE80211_FIXED_VHT_MCS,        /* VHT mcs index */
-	IEEE80211_FIXED_NSS,    /* Spatial Streams count */
-	IEEE80211_SUPPORT_LDPC, /* LDPC Support */
-	IEEE80211_SUPPORT_TX_STBC,      /* TX STBC enable/disable */
-	IEEE80211_SUPPORT_RX_STBC,      /* RX STBC enable/disable */
-	IEEE80211_DEFAULT_KEYID,        /* XMIT default key */
-	IEEE80211_OPMODE_NOTIFY_ENABLE, /* Op mode notification enable/disable */
-	IEEE80211_ENABLE_RTSCTS,        /* Enable/Disable RTS-CTS */
-	IEEE80211_VHT_MCSMAP,   /* VHT MCS Map */
-	IEEE80211_GET_ACS_STATE,        /* get acs state */
-	IEEE80211_GET_CAC_STATE,        /* get cac state */
-} ieee80211_param;
-
-#define  IEEE80211_PROTECTION_NONE         0
-#define  IEEE80211_PROTECTION_CTSTOSELF    1
-#define  IEEE80211_PROTECTION_RTS_CTS      2
-
-typedef enum _ieee80211_privacy_filter {
-	IEEE80211_PRIVACY_FILTER_ALLWAYS,
-	IEEE80211_PRIVACY_FILTER_KEY_UNAVAILABLE,
-} ieee80211_privacy_filter;
-
-typedef enum _ieee80211_privacy_filter_packet_type {
-	IEEE80211_PRIVACY_FILTER_PACKET_UNICAST,
-	IEEE80211_PRIVACY_FILTER_PACKET_MULTICAST,
-	IEEE80211_PRIVACY_FILTER_PACKET_BOTH
-} ieee80211_privacy_filter_packet_type;
-
-typedef struct _ieee80211_privacy_excemption_filter {
-	uint16_t ether_type;    /* type of ethernet to apply this filter, in host byte order */
-	ieee80211_privacy_filter filter_type;
-	ieee80211_privacy_filter_packet_type packet_type;
-} ieee80211_privacy_exemption;
-
-/*
- * Authentication mode.
- * NB: the usage of auth modes NONE, AUTO are deprecated,
- * they are implemented through combinations of other auth modes
- * and cipher types. The deprecated values are preserved here to
- * maintain binary compatibility with applications like
- * wpa_supplicant and hostapd.
- */
-typedef enum _ieee80211_auth_mode {
-	IEEE80211_AUTH_NONE = 0,        /* deprecated */
-	IEEE80211_AUTH_OPEN = 1,        /* open */
-	IEEE80211_AUTH_SHARED = 2,      /* shared-key */
-	IEEE80211_AUTH_8021X = 3,       /* 802.1x */
-	IEEE80211_AUTH_AUTO = 4,        /* deprecated */
-	IEEE80211_AUTH_WPA = 5, /* WPA */
-	IEEE80211_AUTH_RSNA = 6,        /* WPA2/RSNA */
-	IEEE80211_AUTH_CCKM = 7,        /* CCK */
-	IEEE80211_AUTH_WAPI = 8,        /* WAPI */
-} ieee80211_auth_mode;
-
-#define IEEE80211_AUTH_MAX      (IEEE80211_AUTH_WAPI+1)
-
-/*
- * Cipher types.
- * NB: The values are preserved here to maintain binary compatibility
- * with applications like wpa_supplicant and hostapd.
- */
-typedef enum _ieee80211_cipher_type {
-	IEEE80211_CIPHER_WEP = 0,
-	IEEE80211_CIPHER_TKIP = 1,
-	IEEE80211_CIPHER_AES_OCB = 2,
-	IEEE80211_CIPHER_AES_CCM = 3,
-	IEEE80211_CIPHER_WAPI = 4,
-	IEEE80211_CIPHER_CKIP = 5,
-	IEEE80211_CIPHER_AES_CMAC = 6,
-	IEEE80211_CIPHER_NONE = 7,
-} ieee80211_cipher_type;
-
-#define IEEE80211_CIPHER_MAX    (IEEE80211_CIPHER_NONE+1)
-
-/* key direction */
-typedef enum _ieee80211_key_direction {
-	IEEE80211_KEY_DIR_TX,
-	IEEE80211_KEY_DIR_RX,
-	IEEE80211_KEY_DIR_BOTH
-} ieee80211_key_direction;
-
-#define IEEE80211_KEYIX_NONE    ((uint16_t) -1)
-
-typedef struct _ieee80211_keyval {
-	ieee80211_cipher_type keytype;
-	ieee80211_key_direction keydir;
-	u_int persistent : 1,     /* persistent key */
-	      mfp : 1;          /* management frame protection */
-	uint16_t keylen;        /* length of the key data fields */
-	uint8_t *macaddr;       /* mac address of length IEEE80211_ADDR_LEN . all bytes are 0xff for multicast key */
-	uint64_t keyrsc;
-	uint64_t keytsc;
-	uint16_t txmic_offset;  /* TKIP/SMS4 only: offset to tx mic key */
-	uint16_t rxmic_offset;  /* TKIP/SMS4 only: offset to rx mic key */
-	uint8_t *keydata;
-#ifdef ATH_SUPPORT_WAPI
-	uint8_t key_used;       /*index for WAPI rekey labeling */
-#endif
-} ieee80211_keyval;
-
-#define IEEE80211_AES_CMAC_LEN     128
-typedef enum _ieee80211_rsn_param {
-	IEEE80211_UCAST_CIPHER_LEN,
-	IEEE80211_MCAST_CIPHER_LEN,
-	IEEE80211_MCASTMGMT_CIPHER_LEN,
-	IEEE80211_KEYMGT_ALGS,
-	IEEE80211_RSN_CAPS
-} ieee80211_rsn_param;
-
 #define IEEE80211_PMKID_LEN     16
 
-typedef struct _ieee80211_pmkid_entry {
-	uint8_t bssid[IEEE80211_ADDR_LEN];
-	uint8_t pmkid[IEEE80211_PMKID_LEN];
-} ieee80211_pmkid_entry;
-
-typedef enum _wlan_wme_param {
-	WLAN_WME_CWMIN,
-	WLAN_WME_CWMAX,
-	WLAN_WME_AIFS,
-	WLAN_WME_TXOPLIMIT,
-	WLAN_WME_ACM,           /*bss only */
-	WLAN_WME_ACKPOLICY      /*bss only */
-} wlan_wme_param;
-
-typedef enum _ieee80211_frame_type {
-	IEEE80211_FRAME_TYPE_PROBEREQ,
-	IEEE80211_FRAME_TYPE_BEACON,
-	IEEE80211_FRAME_TYPE_PROBERESP,
-	IEEE80211_FRAME_TYPE_ASSOCREQ,
-	IEEE80211_FRAME_TYPE_ASSOCRESP,
-	IEEE80211_FRAME_TYPE_AUTH
-} ieee80211_frame_type;
-
-#define IEEE80211_FRAME_TYPE_MAX    (IEEE80211_FRAME_TYPE_AUTH+1)
-
-typedef enum _ieee80211_ampdu_mode {
-	IEEE80211_AMPDU_MODE_OFF,       /* disable AMPDU */
-	IEEE80211_AMPDU_MODE_ON,        /* enable AMPDU */
-	IEEE80211_AMPDU_MODE_WDSVAR     /* enable AMPDU with 4addr WAR */
-} ieee80211_ampdu_mode;
-
-typedef enum _ieee80211_reset_type {
-	IEEE80211_RESET_TYPE_DEVICE = 0,        /* device reset on error: tx timeout and etc. */
-	IEEE80211_RESET_TYPE_DOT11_INTF,        /* dot11 reset: only reset one network interface (vap) */
-	IEEE80211_RESET_TYPE_INTERNAL,  /* internal reset */
-} ieee80211_reset_type;
-
-typedef struct _ieee80211_reset_request {
-	ieee80211_reset_type type;
-
-	u_int reset_hw : 1,       /* reset the actual H/W */
-	/*
-	 * The following fields are only valid for DOT11 reset, i.e.,
-	 * IEEE80211_RESET_TYPE_DOT11_INTF
-	 */
-	      reset_phy : 1,    /* reset PHY */
-	      reset_mac : 1,    /* reset MAC */
-	      set_default_mib : 1, /* set default MIB variables */
-	      no_flush : 1;
-	uint8_t macaddr[IEEE80211_ADDR_LEN];
-	enum ieee80211_phymode phy_mode;
-} ieee80211_reset_request;
-
-#define IEEE80211_MSG_MAX 63
-#define IEEE80211_MSG_SMARTANT 7        /* Bit 7 (0x80)for Smart Antenna debug */
-enum {
-	/* IEEE80211_PARAM_DBG_LVL */
-	IEEE80211_MSG_TDLS = 0, /* TDLS */
-	IEEE80211_MSG_ACS,      /* auto channel selection */
-	IEEE80211_MSG_SCAN_SM,  /* scan state machine */
-	IEEE80211_MSG_SCANENTRY,        /* scan entry */
-	IEEE80211_MSG_WDS,      /* WDS handling */
-	IEEE80211_MSG_ACTION,   /* action management frames */
-	IEEE80211_MSG_ROAM,     /* sta-mode roaming */
-	IEEE80211_MSG_INACT,    /* inactivity handling */
-	IEEE80211_MSG_DOTH = 8, /* 11.h */
-	IEEE80211_MSG_IQUE,     /* IQUE features */
-	IEEE80211_MSG_WME,      /* WME protocol */
-	IEEE80211_MSG_ACL,      /* ACL handling */
-	IEEE80211_MSG_WPA,      /* WPA/RSN protocol */
-	IEEE80211_MSG_RADKEYS,  /* dump 802.1x keys */
-	IEEE80211_MSG_RADDUMP,  /* dump 802.1x radius packets */
-	IEEE80211_MSG_RADIUS,   /* 802.1x radius client */
-	IEEE80211_MSG_DOT1XSM = 16,     /* 802.1x state machine */
-	IEEE80211_MSG_DOT1X,    /* 802.1x authenticator */
-	IEEE80211_MSG_POWER,    /* power save handling */
-	IEEE80211_MSG_STATE,    /* state machine */
-	IEEE80211_MSG_OUTPUT,   /* output handling */
-	IEEE80211_MSG_SCAN,     /* scanning */
-	IEEE80211_MSG_AUTH,     /* authentication handling */
-	IEEE80211_MSG_ASSOC,    /* association handling */
-	IEEE80211_MSG_NODE = 24,        /* node handling */
-	IEEE80211_MSG_ELEMID,   /* element id parsing */
-	IEEE80211_MSG_XRATE,    /* rate set handling */
-	IEEE80211_MSG_INPUT,    /* input handling */
-	IEEE80211_MSG_CRYPTO,   /* crypto work */
-	IEEE80211_MSG_DUMPPKTS, /* IFF_LINK2 equivalant */
-	IEEE80211_MSG_DEBUG,    /* IFF_DEBUG equivalent */
-	IEEE80211_MSG_MLME,     /* MLME */
-	/* IEEE80211_PARAM_DBG_LVL_HIGH */
-	IEEE80211_MSG_RRM = 32, /* Radio resource measurement */
-	IEEE80211_MSG_WNM,      /* Wireless Network Management */
-	IEEE80211_MSG_P2P_PROT, /* P2P Protocol driver */
-	IEEE80211_MSG_PROXYARP, /* 11v Proxy ARP */
-	IEEE80211_MSG_L2TIF,    /* Hotspot 2.0 L2 TIF */
-	IEEE80211_MSG_WIFIPOS,  /* WifiPositioning Feature */
-	IEEE80211_MSG_WRAP,     /* WRAP or Wireless ProxySTA */
-	IEEE80211_MSG_DFS,      /* DFS debug mesg */
-
-	IEEE80211_MSG_NUM_CATEGORIES,   /* total ieee80211 messages */
-	IEEE80211_MSG_UNMASKABLE = IEEE80211_MSG_MAX,   /* anything */
-	IEEE80211_MSG_ANY = IEEE80211_MSG_MAX,  /* anything */
-};
-
-/* verbosity levels */
-#define     IEEE80211_VERBOSE_OFF                  100
-#define     IEEE80211_VERBOSE_FORCE               1
-#define     IEEE80211_VERBOSE_SERIOUS             2
-#define     IEEE80211_VERBOSE_NORMAL              3
-#define     IEEE80211_VERBOSE_LOUD                4
-#define     IEEE80211_VERBOSE_DETAILED            5
-#define     IEEE80211_VERBOSE_COMPLEX             6
-#define     IEEE80211_VERBOSE_FUNCTION            7
-#define     IEEE80211_VERBOSE_TRACE               8
-
-#define IEEE80211_DEBUG_DEFAULT IEEE80211_MSG_DEBUG
-
-/*
- * the lower 4 bits of the msg flags are used for extending the
- * debug flags.
- */
-
-/*
- * flag definitions for wlan_mlme_stop_bss(vap) API.
- */
-#define WLAN_MLME_STOP_BSS_F_SEND_DEAUTH                0x01
-#define WLAN_MLME_STOP_BSS_F_CLEAR_ASSOC_STATE          0x02
-#define WLAN_MLME_STOP_BSS_F_FORCE_STOP_RESET           0x04
-#define WLAN_MLME_STOP_BSS_F_WAIT_RX_DONE               0x08
-#define WLAN_MLME_STOP_BSS_F_NO_RESET                   0x10
-#define WLAN_MLME_STOP_BSS_F_STANDBY                    0x20
-
-/*
- * WAPI commands to authenticator
- */
-#define WAPI_WAI_REQUEST            (uint16_t)0x00F1
-#define WAPI_UNICAST_REKEY          (uint16_t)0x00F2
-#define WAPI_STA_AGING              (uint16_t)0x00F3
-#define WAPI_MULTI_REKEY            (uint16_t)0x00F4
-#define WAPI_STA_STATS              (uint16_t)0x00F5
-
-/*
- * IEEE80211 PHY Statistics.
- */
-struct ieee80211_phy_stats {
-	uint64_t ips_tx_packets;        /* frames successfully transmitted */
-	uint64_t ips_tx_multicast;      /* multicast/broadcast frames successfully transmitted */
-	uint64_t ips_tx_fragments;      /* fragments successfully transmitted */
-	uint64_t ips_tx_xretries;       /* frames that are xretried. NB: not number of retries */
-	uint64_t ips_tx_retries;        /* frames transmitted after retries. NB: not number of retries */
-	uint64_t ips_tx_multiretries;   /* frames transmitted after more than one retry. */
-	uint64_t ips_tx_timeout;        /* frames that expire the dot11MaxTransmitMSDULifetime */
-	uint64_t ips_rx_packets;        /* frames successfully received */
-	uint64_t ips_rx_multicast;      /* multicast/broadcast frames successfully received */
-	uint64_t ips_rx_fragments;      /* fragments successfully received */
-	uint64_t ips_rx_timeout;        /* frmaes that expired the dot11MaxReceiveLifetime */
-	uint64_t ips_rx_dup;    /* duplicated fragments */
-	uint64_t ips_rx_mdup;   /* multiple duplicated fragments */
-	uint64_t ips_rx_promiscuous;    /* frames that are received only because promiscuous filter is on */
-	uint64_t ips_rx_promiscuous_fragments;  /* fragments that are received only because promiscuous filter is on */
-	uint64_t ips_tx_rts;    /* RTS success count */
-	uint64_t ips_tx_shortretry;     /* tx on-chip retries (short). RTSFailCnt */
-	uint64_t ips_tx_longretry;      /* tx on-chip retries (long). DataFailCnt */
-	uint64_t ips_rx_crcerr; /* rx failed 'cuz of bad CRC */
-	uint64_t ips_rx_fifoerr;        /* rx failed 'cuz of FIFO overrun */
-	uint64_t ips_rx_decrypterr;     /* rx decryption error */
-};
-
-struct ieee80211_chan_stats {
-	uint32_t chan_clr_cnt;
-	uint32_t cycle_cnt;
-	uint32_t phy_err_cnt;
-};
-
-struct ieee80211_mac_stats {
-	uint64_t ims_tx_packets;        /* frames successfully transmitted */
-	uint64_t ims_rx_packets;        /* frames successfully received */
-	uint64_t ims_tx_bytes;  /* bytes successfully transmitted */
-	uint64_t ims_rx_bytes;  /* bytes successfully received */
-
-	/* TODO: For the byte counts below, we need to handle some scenarios
-	   such as encryption related decaps, etc */
-	uint64_t ims_tx_data_packets;   /* data frames successfully transmitted */
-	uint64_t ims_rx_data_packets;   /* data frames successfully received */
-	uint64_t ims_tx_data_bytes;     /* data bytes successfully transmitted,
-	                                   inclusive of FCS. */
-	uint64_t ims_rx_data_bytes;     /* data bytes successfully received,
-	                                   inclusive of FCS. */
-
-	uint64_t ims_tx_datapyld_bytes; /* data payload bytes successfully
-	                                   transmitted */
-	uint64_t ims_rx_datapyld_bytes; /* data payload successfully
-	                                   received */
-
-	/* Decryption errors */
-	uint64_t ims_rx_unencrypted;    /* rx w/o wep and privacy on */
-	uint64_t ims_rx_badkeyid;       /* rx w/ incorrect keyid */
-	uint64_t ims_rx_decryptok;      /* rx decrypt okay */
-	uint64_t ims_rx_decryptcrc;     /* rx decrypt failed on crc */
-	uint64_t ims_rx_wepfail;        /* rx wep processing failed */
-	uint64_t ims_rx_tkipreplay;     /* rx seq# violation (TKIP) */
-	uint64_t ims_rx_tkipformat;     /* rx format bad (TKIP) */
-	uint64_t ims_rx_tkipmic;        /* rx MIC check failed (TKIP) */
-	uint64_t ims_rx_tkipicv;        /* rx ICV check failed (TKIP) */
-	uint64_t ims_rx_ccmpreplay;     /* rx seq# violation (CCMP) */
-	uint64_t ims_rx_ccmpformat;     /* rx format bad (CCMP) */
-	uint64_t ims_rx_ccmpmic;        /* rx MIC check failed (CCMP) */
-/*this file can be included by applications as 80211stats that has no such MACRO definition*/
-/* #if ATH_SUPPORT_WAPI */
-	uint64_t ims_rx_wpireplay;      /* rx seq# violation (WPI) */
-	uint64_t ims_rx_wpimic; /* rx MIC check failed (WPI) */
-/* #endif */
-	/* Other Tx/Rx errors */
-	uint64_t ims_tx_discard;        /* tx dropped by NIC */
-	uint64_t ims_rx_discard;        /* rx dropped by NIC */
-
-	uint64_t ims_rx_countermeasure; /* rx TKIP countermeasure activation count */
-};
-
-/*
- * Summary statistics.
- */
-struct ieee80211_stats {
-	uint32_t is_rx_badversion;      /* rx frame with bad version */
-	uint32_t is_rx_tooshort;        /* rx frame too short */
-	uint32_t is_rx_wrongbss;        /* rx from wrong bssid */
-	uint32_t is_rx_wrongdir;        /* rx w/ wrong direction */
-	uint32_t is_rx_mcastecho;       /* rx discard 'cuz mcast echo */
-	uint32_t is_rx_notassoc;        /* rx discard 'cuz sta !assoc */
-	uint32_t is_rx_noprivacy;       /* rx w/ wep but privacy off */
-	uint32_t is_rx_decap;   /* rx decapsulation failed */
-	uint32_t is_rx_mgtdiscard;      /* rx discard mgt frames */
-	uint32_t is_rx_ctl;     /* rx discard ctrl frames */
-	uint32_t is_rx_beacon;  /* rx beacon frames */
-	uint32_t is_rx_rstoobig;        /* rx rate set truncated */
-	uint32_t is_rx_elem_missing;    /* rx required element missing */
-	uint32_t is_rx_elem_toobig;     /* rx element too big */
-	uint32_t is_rx_elem_toosmall;   /* rx element too small */
-	uint32_t is_rx_elem_unknown;    /* rx element unknown */
-	uint32_t is_rx_badchan; /* rx frame w/ invalid chan */
-	uint32_t is_rx_chanmismatch;    /* rx frame chan mismatch */
-	uint32_t is_rx_nodealloc;       /* rx frame dropped */
-	uint32_t is_rx_ssidmismatch;    /* rx frame ssid mismatch  */
-	uint32_t is_rx_auth_unsupported;        /* rx w/ unsupported auth alg */
-	uint32_t is_rx_auth_fail;       /* rx sta auth failure */
-	uint32_t is_rx_auth_countermeasures;    /* rx auth discard 'cuz CM */
-	uint32_t is_rx_assoc_bss;       /* rx assoc from wrong bssid */
-	uint32_t is_rx_assoc_notauth;   /* rx assoc w/o auth */
-	uint32_t is_rx_assoc_capmismatch;       /* rx assoc w/ cap mismatch */
-	uint32_t is_rx_assoc_norate;    /* rx assoc w/ no rate match */
-	uint32_t is_rx_assoc_badwpaie;  /* rx assoc w/ bad WPA IE */
-	uint32_t is_rx_deauth;  /* rx deauthentication */
-	uint32_t is_rx_disassoc;        /* rx disassociation */
-	uint32_t is_rx_action;  /* rx action mgt */
-	uint32_t is_rx_badsubtype;      /* rx frame w/ unknown subtype */
-	uint32_t is_rx_nobuf;   /* rx failed for lack of buf */
-	uint32_t is_rx_ahdemo_mgt;      /* rx discard ahdemo mgt frame */
-	uint32_t is_rx_bad_auth;        /* rx bad auth request */
-	uint32_t is_rx_unauth;  /* rx on unauthorized port */
-	uint32_t is_rx_badcipher;       /* rx failed 'cuz key type */
-	uint32_t is_tx_nodefkey;        /* tx failed 'cuz no defkey */
-	uint32_t is_tx_noheadroom;      /* tx failed 'cuz no space */
-	uint32_t is_rx_nocipherctx;     /* rx failed 'cuz key !setup */
-	uint32_t is_rx_acl;     /* rx discard 'cuz acl policy */
-	uint32_t is_rx_ffcnt;   /* rx fast frames */
-	uint32_t is_rx_badathtnl;       /* driver key alloc failed */
-	uint32_t is_rx_nowds;   /* 4-addr packets received with no wds enabled */
-	uint32_t is_tx_nobuf;   /* tx failed for lack of buf */
-	uint32_t is_tx_nonode;  /* tx failed for no node */
-	uint32_t is_tx_unknownmgt;      /* tx of unknown mgt frame */
-	uint32_t is_tx_badcipher;       /* tx failed 'cuz key type */
-	uint32_t is_tx_ffokcnt; /* tx fast frames sent success */
-	uint32_t is_tx_fferrcnt;        /* tx fast frames sent success */
-	uint32_t is_scan_active;        /* active scans started */
-	uint32_t is_scan_passive;       /* passive scans started */
-	uint32_t is_node_timeout;       /* nodes timed out inactivity */
-	uint32_t is_crypto_nomem;       /* no memory for crypto ctx */
-	uint32_t is_crypto_tkip;        /* tkip crypto done in s/w */
-	uint32_t is_crypto_tkipenmic;   /* tkip en-MIC done in s/w */
-	uint32_t is_crypto_tkipdemic;   /* tkip de-MIC done in s/w */
-	uint32_t is_crypto_tkipcm;      /* tkip counter measures */
-	uint32_t is_crypto_ccmp;        /* ccmp crypto done in s/w */
-	uint32_t is_crypto_wep; /* wep crypto done in s/w */
-	uint32_t is_crypto_setkey_cipher;       /* cipher rejected key */
-	uint32_t is_crypto_setkey_nokey;        /* no key index for setkey */
-	uint32_t is_crypto_delkey;      /* driver key delete failed */
-	uint32_t is_crypto_badcipher;   /* unknown cipher */
-	uint32_t is_crypto_nocipher;    /* cipher not available */
-	uint32_t is_crypto_attachfail;  /* cipher attach failed */
-	uint32_t is_crypto_swfallback;  /* cipher fallback to s/w */
-	uint32_t is_crypto_keyfail;     /* driver key alloc failed */
-	uint32_t is_crypto_enmicfail;   /* en-MIC failed */
-	uint32_t is_ibss_capmismatch;   /* merge failed-cap mismatch */
-	uint32_t is_ibss_norate;        /* merge failed-rate mismatch */
-	uint32_t is_ps_unassoc; /* ps-poll for unassoc. sta */
-	uint32_t is_ps_badaid;  /* ps-poll w/ incorrect aid */
-	uint32_t is_ps_qempty;  /* ps-poll w/ nothing to send */
-};
-
-typedef enum _ieee80211_send_frame_type {
-	IEEE80211_SEND_NULL,
-	IEEE80211_SEND_QOSNULL,
-} ieee80211_send_frame_type;
-
-typedef struct _ieee80211_tspec_info {
-	uint8_t traffic_type;
-	uint8_t direction;
-	uint8_t dot1Dtag;
-	uint8_t tid;
-	uint8_t acc_policy_edca;
-	uint8_t acc_policy_hcca;
-	uint8_t aggregation;
-	uint8_t psb;
-	uint8_t ack_policy;
-	uint16_t norminal_msdu_size;
-	uint16_t max_msdu_size;
-	uint32_t min_srv_interval;
-	uint32_t max_srv_interval;
-	uint32_t inactivity_interval;
-	uint32_t suspension_interval;
-	uint32_t srv_start_time;
-	uint32_t min_data_rate;
-	uint32_t mean_data_rate;
-	uint32_t peak_data_rate;
-	uint32_t max_burst_size;
-	uint32_t delay_bound;
-	uint32_t min_phy_rate;
-	uint16_t surplus_bw;
-	uint16_t medium_time;
-} ieee80211_tspec_info;
-
-#ifndef EXTERNAL_USE_ONLY
-/*
- * Manual ADDBA support
- */
-enum {
-	ADDBA_SEND = 0,
-	ADDBA_STATUS = 1,
-	DELBA_SEND = 2,
-	ADDBA_RESP = 3,
-	ADDBA_CLR_RESP = 4,
-	SINGLE_AMSDU = 5,
-};
-
-enum {
-	ADDBA_MODE_AUTO = 0,
-	ADDBA_MODE_MANUAL = 1,
-};
-
-struct ieee80211_addba_delba_request {
-	wlan_dev_t ic;
-	uint8_t action;
-	uint8_t tid;
-	uint16_t status;
-	uint16_t aid;
-	uint32_t arg1;
-	uint32_t arg2;
-};
-#endif /* EXTERNAL_USE_ONLY */
-
-#ifdef ATH_BT_COEX
-typedef enum _ieee80211_bt_coex_info_type {
-	IEEE80211_BT_COEX_INFO_SCHEME = 0,
-	IEEE80211_BT_COEX_INFO_BTBUSY = 1,
-} ieee80211_bt_coex_info_type;
-#endif
-
-struct tkip_countermeasure {
-	uint16_t mic_count_in_60s;
-	uint32_t timestamp;
-};
-
-enum _ieee80211_qos_frame_direction {
-	IEEE80211_RX_QOS_FRAME = 0,
-	IEEE80211_TX_QOS_FRAME = 1,
-	IEEE80211_TX_COMPLETE_QOS_FRAME = 2
-};
-
-typedef struct ieee80211_vap_opmode_count {
-	int total_vaps;
-	int ibss_count;
-	int sta_count;
-	int wds_count;
-	int ahdemo_count;
-	int ap_count;
-	int monitor_count;
-	int btamp_count;
-	int unknown_count;
-} ieee80211_vap_opmode_count;
-
-struct ieee80211_app_ie_t {
-	uint32_t length;
-	uint8_t *ie;
-};
-
-/*
- * MAC ACL operations.
- */
-enum {
-	IEEE80211_MACCMD_POLICY_OPEN = 0,       /* set policy: no ACL's */
-	IEEE80211_MACCMD_POLICY_ALLOW = 1,      /* set policy: allow traffic */
-	IEEE80211_MACCMD_POLICY_DENY = 2,       /* set policy: deny traffic */
-	IEEE80211_MACCMD_FLUSH = 3,     /* flush ACL database */
-	IEEE80211_MACCMD_DETACH = 4,    /* detach ACL policy */
-	IEEE80211_MACCMD_POLICY_RADIUS = 5,     /* set policy: RADIUS managed ACLs */
-};
-
 #endif

+ 4 - 189
core/cds/inc/cds_if_upperproto.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2014, 2017, 2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -16,18 +16,10 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* #ifndef _NET_IF_ETHERSUBR_H_ */
-/* #define _NET_IF_ETHERSUBR_H_ */
 #ifndef _NET_IF_UPPERPROTO_H_
 #define _NET_IF_UPPERPROTO_H_
 
 #define ETHER_ADDR_LEN    6     /* length of an Ethernet address */
-#define ETHER_TYPE_LEN    2     /* length of the Ethernet type field */
-#define ETHER_CRC_LEN     4     /* length of the Ethernet CRC */
-#define ETHER_HDR_LEN     (ETHER_ADDR_LEN*2+ETHER_TYPE_LEN)
-#define ETHER_MAX_LEN     1518
-
-#define ETHERMTU          (ETHER_MAX_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN)
 
 /*
  * Structure of a 10Mb/s Ethernet header.
@@ -40,190 +32,13 @@ struct ether_header {
 } __packed;
 #endif
 
-#ifndef ETHERTYPE_PAE
-#define ETHERTYPE_PAE    0x888e /* EAPOL PAE/802.1x */
-#endif
-#ifndef ETHERTYPE_IP
-#define ETHERTYPE_IP     0x0800 /* IP protocol */
-#endif
-#ifndef ETHERTYPE_AARP
-#define ETHERTYPE_AARP  0x80f3  /* Appletalk AARP protocol */
-#endif
-#ifndef ETHERTYPE_IPX
-#define ETHERTYPE_IPX    0x8137 /* IPX over DIX protocol */
-#endif
-#ifndef ETHERTYPE_ARP
-#define ETHERTYPE_ARP    0x0806 /* ARP protocol */
-#endif
-#ifndef ETHERTYPE_IPV6
-#define ETHERTYPE_IPV6   0x86dd /* IPv6 */
-#endif
-#ifndef ETHERTYPE_8021Q
-#define ETHERTYPE_8021Q 0x8100  /* 802.1Q vlan protocol */
-#endif
-#ifndef ETHERTYPE_VLAN
-#define ETHERTYPE_VLAN  0x8100  /* VLAN TAG protocol */
-#endif
-#ifndef TX_QUEUE_FOR_EAPOL_FRAME
-#define TX_QUEUE_FOR_EAPOL_FRAME  0x7   /* queue eapol frame to queue 7 to avoid aggregation disorder */
-#endif
-
-/*
- * define WAI ethertype
- */
-#ifndef ETHERTYPE_WAI
-#define ETHERTYPE_WAI    0x88b4 /* WAI/WAPI */
-#endif
-
 #define ETHERTYPE_OCB_TX   0x8151
 #define ETHERTYPE_OCB_RX   0x8152
 
-/*
- * Structure of a 48-bit Ethernet address.
- */
-#if 0
-#ifndef _NET_ETHERNET_H_
-struct ether_addr {
-	uint8_t octet[ETHER_ADDR_LEN];
-} __packed;
-#endif
+#ifndef ETHERTYPE_8021Q
+#define ETHERTYPE_8021Q 0x8100  /* 802.1Q vlan protocol */
 #endif
 
 #define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01)       /* is address mcast/bcast? */
 
-#define VLAN_PRI_SHIFT  13      /* Shift to find VLAN user priority */
-#define VLAN_PRI_MASK    7      /* Mask for user priority bits in VLAN */
-
-/*
- * Structure of the IP frame
- */
-struct ip_header {
-	uint8_t version_ihl;
-	uint8_t tos;
-	uint16_t tot_len;
-	uint16_t id;
-	uint16_t frag_off;
-	uint8_t ttl;
-	uint8_t protocol;
-	uint16_t check;
-	uint32_t saddr;
-	uint32_t daddr;
-	/*The options start here. */
-};
-#ifndef IP_PROTO_TCP
-#define IP_PROTO_TCP    0x6     /* TCP protocol */
-#endif
-#ifndef IP_PROTO_UDP
-#define IP_PROTO_UDP 17
-#endif
-
-/*
- *   IGMP protocol structures
- */
-
-/* IGMP record type */
-#define IGMP_QUERY_TYPE       0x11
-#define IGMPV1_REPORT_TYPE    0x12
-#define IGMPV2_REPORT_TYPE    0x16
-#define IGMPV2_LEAVE_TYPE     0x17
-#define IGMPV3_REPORT_TYPE    0x22
-
-/* Is packet type is either leave or report */
-#define IS_IGMP_REPORT_LEAVE_PACKET(type) ( \
-		(IGMPV1_REPORT_TYPE == type) \
-		|| (IGMPV2_REPORT_TYPE == type)	\
-		|| (IGMPV2_LEAVE_TYPE  == type)	\
-		|| (IGMPV3_REPORT_TYPE == type)	\
-		)
-/*
- *    Header in on cable format
- */
-
-struct igmp_header {
-	uint8_t type;
-	uint8_t code;           /* For newer IGMP */
-	uint16_t csum;
-	uint32_t group;
-};
-
-/* V3 group record types [grec_type] */
-#define IGMPV3_MODE_IS_INCLUDE        1
-#define IGMPV3_MODE_IS_EXCLUDE        2
-#define IGMPV3_CHANGE_TO_INCLUDE      3
-#define IGMPV3_CHANGE_TO_EXCLUDE      4
-#define IGMPV3_ALLOW_NEW_SOURCES      5
-#define IGMPV3_BLOCK_OLD_SOURCES      6
-
-/*  Group record format
-   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |  Record Type  |  Aux Data Len |     Number of Sources (N)     |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                       Multicast Address                       |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                       Source Address [1]                      |
- ||+-                                                             -+
- |                       Source Address [2]                      |
- ||+-                                                             -+
-      .                               .                               .
-      .                               .                               .
-      .                               .                               .
- ||+-                                                             -+
- |                       Source Address [N]                      |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                                                               |
-      .                                                               .
-      .                         Auxiliary Data                        .
-      .                                                               .
- |                                                               |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-struct igmp_v3_grec {
-	uint8_t grec_type;
-	uint8_t grec_auxwords;
-	uint16_t grec_nsrcs;
-	uint32_t grec_mca;
-};
-
-/* IGMPv3 report format
-       0                   1                   2                   3
-       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |  Type = 0x22  |    Reserved   |           Checksum            |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |           Reserved            |  Number of Group Records (M)  |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                                                               |
-      .                                                               .
-      .                        Group Record [1]                       .
-      .                                                               .
- |                                                               |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                                                               |
-      .                                                               .
-      .                        Group Record [2]                       .
-      .                                                               .
- |                                                               |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                               .                               |
-      .                               .                               .
- |                               .                               |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |                                                               |
-      .                                                               .
-      .                        Group Record [M]                       .
-      .                                                               .
- |                                                               |
- ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-struct igmp_v3_report {
-	uint8_t type;
-	uint8_t resv1;
-	uint16_t csum;
-	uint16_t resv2;
-	uint16_t ngrec;
-};
-
-/* Calculate the group record length*/
-#define IGMPV3_GRP_REC_LEN(x) (8 + (4 * x->grec_nsrcs) + (4 * x->grec_auxwords))
-
-#endif /* _NET_IF_ETHERSUBR_H_ */
+#endif /* _NET_IF_UPPERPROTO_H_ */

+ 2 - 3
core/cds/inc/cds_reg_service.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2017, 2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -16,7 +16,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-#if !defined __CDS_REG_SERVICE_H
+#ifndef __CDS_REG_SERVICE_H
 #define __CDS_REG_SERVICE_H
 
 /**=========================================================================
@@ -33,7 +33,6 @@
 
 #define CDS_COUNTRY_CODE_LEN  2
 #define CDS_MAC_ADDRESS_LEN 6
-#define CDS_SBS_SEPARATION_THRESHOLD 100
 #define HT40PLUS_2G_FCC_CH_END       7
 #define HT40PLUS_2G_EURJAP_CH_END    9
 #define HT40MINUS_2G_CH_START        5

+ 2 - 12
core/cds/inc/cds_sched.h

@@ -16,7 +16,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-#if !defined(__CDS_SCHED_H)
+#ifndef __CDS_SCHED_H
 #define __CDS_SCHED_H
 
 /**=========================================================================
@@ -42,20 +42,10 @@
 #include "cds_config.h"
 #include "qdf_cpuhp.h"
 
-#define TX_POST_EVENT               0x001
-#define TX_SUSPEND_EVENT            0x002
-#define MC_POST_EVENT               0x001
 #define MC_SUSPEND_EVENT            0x002
 #define RX_POST_EVENT               0x001
 #define RX_SUSPEND_EVENT            0x002
-#define TX_SHUTDOWN_EVENT           0x010
-#define MC_SHUTDOWN_EVENT           0x010
 #define RX_SHUTDOWN_EVENT           0x010
-#define WD_POST_EVENT               0x001
-#define WD_SHUTDOWN_EVENT           0x002
-#define WD_CHIP_RESET_EVENT         0x004
-#define WD_WLAN_SHUTDOWN_EVENT      0x008
-#define WD_WLAN_REINIT_EVENT        0x010
 
 #ifdef QCA_CONFIG_SMP
 /*
@@ -527,4 +517,4 @@ void cds_shutdown_notifier_call(void);
  */
 void cds_resume_rx_thread(void);
 
-#endif /* #if !defined __CDS_SCHED_H */
+#endif /* #ifndef __CDS_SCHED_H */

+ 3 - 8
core/cds/inc/cds_utils.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -16,7 +16,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-#if !defined(__CDS_UTILS_H)
+#ifndef __CDS_UTILS_H
 #define __CDS_UTILS_H
 
 /**=========================================================================
@@ -41,14 +41,9 @@
 /*--------------------------------------------------------------------------
    Preprocessor definitions and constants
    ------------------------------------------------------------------------*/
-#define CDS_DIGEST_SHA1_SIZE    (20)
-#define CDS_DIGEST_MD5_SIZE     (16)
-
 #define CDS_24_GHZ_BASE_FREQ   (2407)
 #define CDS_5_GHZ_BASE_FREQ    (5000)
-#define CDS_24_GHZ_CHANNEL_6   (6)
 #define CDS_24_GHZ_CHANNEL_1   (1)
-#define CDS_5_GHZ_CHANNEL_36   (36)
 #define CDS_24_GHZ_CHANNEL_14  (14)
 #define CDS_24_GHZ_CHANNEL_15  (15)
 #define CDS_24_GHZ_CHANNEL_27  (27)
@@ -165,4 +160,4 @@ void cds_copy_hlp_info(struct qdf_mac_addr *input_dst_mac,
 		       struct qdf_mac_addr *output_src_mac,
 		       uint16_t *output_hlp_data_len,
 		       uint8_t *output_hlp_data);
-#endif /* #if !defined __CDS_UTILS_H */
+#endif /* #ifndef __CDS_UTILS_H */

+ 1 - 441
core/cds/src/cds_ieee80211_common_i.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2017,2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -89,70 +89,6 @@ enum ieee80211_phymode {
 	IEEE80211_MODE_MAX = IEEE80211_MODE_11AX_HE160,
 };
 
-/**
- * enum ieee80211_opmode - operating mode
- * @IEEE80211_M_IBSS - IBSS (adhoc) station
- * @IEEE80211_M_HOSTAP - Software Access Point
- * @IEEE80211_OPMODE_MAX = Highest numbered opmode in the list
- * @IEEE80211_M_ANY - Any of the above; used by NDIS 6.x
- *
-*/
-enum ieee80211_opmode {
-	IEEE80211_M_IBSS = 0,
-	IEEE80211_M_HOSTAP = 6,
-
-	/* Do not add after this line */
-	IEEE80211_OPMODE_MAX = IEEE80211_M_HOSTAP,
-
-	IEEE80211_M_ANY = 0xFF,
-};
-
-/*
- * 802.11n
- */
-#define IEEE80211_CWM_EXTCH_BUSY_THRESHOLD 30
-
-enum ieee80211_cwm_mode {
-	IEEE80211_CWM_MODE20,
-	IEEE80211_CWM_MODE2040,
-	IEEE80211_CWM_MODE40,
-	IEEE80211_CWM_MODEMAX
-};
-
-enum ieee80211_cwm_extprotspacing {
-	IEEE80211_CWM_EXTPROTSPACING20,
-	IEEE80211_CWM_EXTPROTSPACING25,
-	IEEE80211_CWM_EXTPROTSPACINGMAX
-};
-
-enum ieee80211_cwm_width {
-	IEEE80211_CWM_WIDTH20,
-	IEEE80211_CWM_WIDTH40,
-	IEEE80211_CWM_WIDTH80,
-	IEEE80211_CWM_WIDTHINVALID = 0xff       /* user invalid value */
-};
-
-enum ieee80211_cwm_extprotmode {
-	IEEE80211_CWM_EXTPROTNONE,      /* no protection */
-	IEEE80211_CWM_EXTPROTCTSONLY,   /* CTS to self */
-	IEEE80211_CWM_EXTPROTRTSCTS,    /* RTS-CTS */
-	IEEE80211_CWM_EXTPROTMAX
-};
-
-enum ieee80211_fixed_rate_mode {
-	IEEE80211_FIXED_RATE_NONE = 0,
-	IEEE80211_FIXED_RATE_MCS = 1,   /* HT rates */
-	IEEE80211_FIXED_RATE_LEGACY = 2,        /* legacy rates */
-	IEEE80211_FIXED_RATE_VHT = 3    /* VHT rates */
-};
-
-/* Holds the fixed rate information for each VAP */
-struct ieee80211_fixed_rate {
-	enum ieee80211_fixed_rate_mode mode;
-	uint32_t series;
-	uint32_t retries;
-};
-
 /*
  * 802.11g protection mode.
  */
@@ -162,53 +98,6 @@ enum ieee80211_protmode {
 	IEEE80211_PROT_RTSCTS = 2,      /* RTS-CTS */
 };
 
-/*
- * Roaming mode is effectively who controls the operation
- * of the 802.11 state machine when operating as a station.
- * State transitions are controlled either by the driver
- * (typically when management frames are processed by the
- * hardware/firmware), the host (auto/normal operation of
- * the 802.11 layer), or explicitly through ioctl requests
- * when applications like wpa_supplicant want control.
- */
-enum ieee80211_roamingmode {
-	IEEE80211_ROAMING_DEVICE = 0,   /* driver/hardware control */
-	IEEE80211_ROAMING_AUTO = 1,     /* 802.11 layer control */
-	IEEE80211_ROAMING_MANUAL = 2,   /* application control */
-};
-
-/*
- * Scanning mode controls station scanning work; this is
- * used only when roaming mode permits the host to select
- * the bss to join/channel to use.
- */
-enum ieee80211_scanmode {
-	IEEE80211_SCAN_DEVICE = 0,      /* driver/hardware control */
-	IEEE80211_SCAN_BEST = 1,        /* 802.11 layer selects best */
-	IEEE80211_SCAN_FIRST = 2,       /* take first suitable candidate */
-};
-
-#define IEEE80211_NWID_LEN      32
-#define IEEE80211_CHAN_MAX      255
-#define IEEE80211_CHAN_BYTES    32      /* howmany(IEEE80211_CHAN_MAX, NBBY) */
-#define IEEE80211_CHAN_ANY      (-1)    /* token for ``any channel'' */
-#define IEEE80211_CHAN_ANYC \
-	((struct ieee80211_channel *) IEEE80211_CHAN_ANY)
-
-#define IEEE80211_CHAN_DEFAULT          11
-#define IEEE80211_CHAN_DEFAULT_11A      52
-#define IEEE80211_CHAN_ADHOC_DEFAULT1   10
-#define IEEE80211_CHAN_ADHOC_DEFAULT2   11
-
-#define IEEE80211_RADAR_11HCOUNT        5
-#define IEEE80211_RADAR_TEST_MUTE_CHAN_11A      36      /* Move to channel 36 for mute test */
-#define IEEE80211_RADAR_TEST_MUTE_CHAN_11NHT20  36
-#define IEEE80211_RADAR_TEST_MUTE_CHAN_11NHT40U 36
-#define IEEE80211_RADAR_TEST_MUTE_CHAN_11NHT40D 40      /* Move to channel 40 for HT40D mute test */
-#define IEEE80211_RADAR_DETECT_DEFAULT_DELAY    60000   /* STA ignore AP beacons during this period in millisecond */
-
-#define IEEE80211_2GCSA_TBTTCOUNT        3
-
 /* bits 0-3 are for private use by drivers */
 /* channel attributes */
 #define IEEE80211_CHAN_TURBO            0x00000010      /* Turbo channel */
@@ -231,8 +120,6 @@ enum ieee80211_scanmode {
 #define IEEE80211_CHAN_VHT40PLUS        0x00200000      /* VHT 40 with extension channel above */
 #define IEEE80211_CHAN_VHT40MINUS       0x00400000      /* VHT 40 with extension channel below */
 #define IEEE80211_CHAN_VHT80            0x00800000      /* VHT 80 channel */
-/* HT 40 Intolerant mark bit for ACS use */
-#define IEEE80211_CHAN_HT40INTOLMARK    0x01000000
 /* channel temporarily blocked due to noise */
 #define IEEE80211_CHAN_BLOCKED          0x02000000
 /* VHT 160 channel */
@@ -241,338 +128,11 @@ enum ieee80211_scanmode {
 #define IEEE80211_CHAN_VHT80_80         0x08000000
 
 /* flagext */
-#define IEEE80211_CHAN_RADAR_FOUND    0x01
 #define IEEE80211_CHAN_DFS              0x0002  /* DFS required on channel */
-#define IEEE80211_CHAN_DFS_CLEAR        0x0008  /* if channel has been checked for DFS */
-#define IEEE80211_CHAN_11D_EXCLUDED     0x0010  /* excluded in 11D */
-#define IEEE80211_CHAN_CSA_RECEIVED     0x0020  /* Channel Switch Announcement received on this channel */
-#define IEEE80211_CHAN_DISALLOW_ADHOC   0x0040  /* ad-hoc is not allowed */
-#define IEEE80211_CHAN_DISALLOW_HOSTAP  0x0080  /* Station only channel */
-
-/*
- * Useful combinations of channel characteristics.
- */
-#define IEEE80211_CHAN_FHSS \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_GFSK)
-#define IEEE80211_CHAN_A \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
-#define IEEE80211_CHAN_B \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
-#define IEEE80211_CHAN_PUREG \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM)
-#define IEEE80211_CHAN_G \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
-#define IEEE80211_CHAN_108A \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO)
-#define IEEE80211_CHAN_108G \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO)
-#define IEEE80211_CHAN_ST \
-	(IEEE80211_CHAN_108A | IEEE80211_CHAN_STURBO)
-
-#define IEEE80211_IS_CHAN_11AC_2G(_c) \
-	(IEEE80211_IS_CHAN_2GHZ((_c)) && IEEE80211_IS_CHAN_VHT((_c)))
-#define IEEE80211_CHAN_11AC_VHT20_2G \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_VHT20)
-#define IEEE80211_CHAN_11AC_VHT40_2G \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_VHT40PLUS | IEEE80211_CHAN_VHT40MINUS)
-#define IEEE80211_CHAN_11AC_VHT80_2G \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_VHT80)
-
-#define IEEE80211_IS_CHAN_11AC_VHT20_2G(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT20_2G) == IEEE80211_CHAN_11AC_VHT20_2G)
-#define IEEE80211_IS_CHAN_11AC_VHT40_2G(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT40_2G) != 0)
-#define IEEE80211_IS_CHAN_11AC_VHT80_2G(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT80_2G) == IEEE80211_CHAN_11AC_VHT80_2G)
-
-#define IEEE80211_CHAN_11NG_HT20 \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_HT20)
-#define IEEE80211_CHAN_11NA_HT20 \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_HT20)
-#define IEEE80211_CHAN_11NG_HT40PLUS \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_HT40PLUS)
-#define IEEE80211_CHAN_11NG_HT40MINUS \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_HT40MINUS)
-#define IEEE80211_CHAN_11NA_HT40PLUS \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_HT40PLUS)
-#define IEEE80211_CHAN_11NA_HT40MINUS \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_HT40MINUS)
-
-#define IEEE80211_CHAN_ALL \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_GFSK | \
-	 IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN | \
-	 IEEE80211_CHAN_HT20 | IEEE80211_CHAN_HT40PLUS | IEEE80211_CHAN_HT40MINUS | \
-	 IEEE80211_CHAN_VHT20 | IEEE80211_CHAN_VHT40PLUS | IEEE80211_CHAN_VHT40MINUS | IEEE80211_CHAN_VHT80 | \
-	 IEEE80211_CHAN_HALF | IEEE80211_CHAN_QUARTER)
-#define IEEE80211_CHAN_ALLTURBO	\
-	(IEEE80211_CHAN_ALL | IEEE80211_CHAN_TURBO | IEEE80211_CHAN_STURBO)
-
-#define IEEE80211_IS_CHAN_FHSS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_FHSS) == IEEE80211_CHAN_FHSS)
-#define IEEE80211_IS_CHAN_A(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A)
-#define IEEE80211_IS_CHAN_B(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B)
-#define IEEE80211_IS_CHAN_PUREG(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG)
-#define IEEE80211_IS_CHAN_G(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G)
-#define IEEE80211_IS_CHAN_ANYG(_c) \
-	(IEEE80211_IS_CHAN_PUREG(_c) || IEEE80211_IS_CHAN_G(_c))
-#define IEEE80211_IS_CHAN_ST(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_ST) == IEEE80211_CHAN_ST)
-#define IEEE80211_IS_CHAN_108A(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_108A) == IEEE80211_CHAN_108A)
-#define IEEE80211_IS_CHAN_108G(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_108G) == IEEE80211_CHAN_108G)
-
-#define IEEE80211_IS_CHAN_2GHZ(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_2GHZ) != 0)
-#define IEEE80211_IS_CHAN_5GHZ(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_5GHZ) != 0)
-#define IEEE80211_IS_CHAN_OFDM(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_OFDM) != 0)
-#define IEEE80211_IS_CHAN_CCK(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_CCK) != 0)
-#define IEEE80211_IS_CHAN_GFSK(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_GFSK) != 0)
-#define IEEE80211_IS_CHAN_TURBO(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_TURBO) != 0)
-#define IEEE80211_IS_CHAN_WEATHER_RADAR(_c) \
-	((((_c)->ic_freq >= 5600) && ((_c)->ic_freq <= 5650)) \
-	 || (((_c)->ic_flags & IEEE80211_CHAN_HT40PLUS) && (5580 == (_c)->ic_freq)))
-#define IEEE80211_IS_CHAN_STURBO(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_STURBO) != 0)
-#define IEEE80211_IS_CHAN_DTURBO(_c) \
-	(((_c)->ic_flags & \
-	  (IEEE80211_CHAN_TURBO | IEEE80211_CHAN_STURBO)) == IEEE80211_CHAN_TURBO)
-#define IEEE80211_IS_CHAN_HALF(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_HALF) != 0)
-#define IEEE80211_IS_CHAN_QUARTER(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_QUARTER) != 0)
-#define IEEE80211_IS_CHAN_PASSIVE(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_PASSIVE) != 0)
-
-#define IEEE80211_IS_CHAN_DFS(_c) \
-	(((_c)->ic_flagext & (IEEE80211_CHAN_DFS|IEEE80211_CHAN_DFS_CLEAR)) == IEEE80211_CHAN_DFS)
-#define IEEE80211_IS_CHAN_DFSFLAG(_c) \
-	(((_c)->ic_flagext & IEEE80211_CHAN_DFS) == IEEE80211_CHAN_DFS)
-#define IEEE80211_IS_CHAN_DISALLOW_ADHOC(_c) \
-	(((_c)->ic_flagext & IEEE80211_CHAN_DISALLOW_ADHOC) != 0)
-#define IEEE80211_IS_CHAN_11D_EXCLUDED(_c) \
-	(((_c)->ic_flagext & IEEE80211_CHAN_11D_EXCLUDED) != 0)
-#define IEEE80211_IS_CHAN_CSA(_c) \
-	(((_c)->ic_flagext & IEEE80211_CHAN_CSA_RECEIVED) != 0)
-#define IEEE80211_IS_CHAN_ODD(_c) \
-	(((_c)->ic_freq == 5170) || ((_c)->ic_freq == 5190) || \
-	 ((_c)->ic_freq == 5210) || ((_c)->ic_freq == 5230))
-#define IEEE80211_IS_CHAN_DISALLOW_HOSTAP(_c) \
-	(((_c)->ic_flagext & IEEE80211_CHAN_DISALLOW_HOSTAP) != 0)
-
-#define IEEE80211_IS_CHAN_11NG_HT20(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_11NG_HT20) == IEEE80211_CHAN_11NG_HT20)
-#define IEEE80211_IS_CHAN_11NA_HT20(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_11NA_HT20) == IEEE80211_CHAN_11NA_HT20)
-#define IEEE80211_IS_CHAN_11NG_HT40PLUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11NG_HT40PLUS) == IEEE80211_CHAN_11NG_HT40PLUS)
-#define IEEE80211_IS_CHAN_11NG_HT40MINUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11NG_HT40MINUS) == IEEE80211_CHAN_11NG_HT40MINUS)
-#define IEEE80211_IS_CHAN_11NA_HT40PLUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11NA_HT40PLUS) == IEEE80211_CHAN_11NA_HT40PLUS)
-#define IEEE80211_IS_CHAN_11NA_HT40MINUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11NA_HT40MINUS) == IEEE80211_CHAN_11NA_HT40MINUS)
-
-#define IEEE80211_IS_CHAN_11N(_c) \
-	(((_c)->ic_flags & (IEEE80211_CHAN_HT20 | IEEE80211_CHAN_HT40PLUS | IEEE80211_CHAN_HT40MINUS)) != 0)
-#define IEEE80211_IS_CHAN_11N_HT20(_c) \
-	(((_c)->ic_flags & (IEEE80211_CHAN_HT20)) != 0)
-#define IEEE80211_IS_CHAN_11N_HT40(_c) \
-	(((_c)->ic_flags & (IEEE80211_CHAN_HT40PLUS | IEEE80211_CHAN_HT40MINUS)) != 0)
-#define IEEE80211_IS_CHAN_11NG(_c) \
-	(IEEE80211_IS_CHAN_2GHZ((_c)) && IEEE80211_IS_CHAN_11N((_c)))
-#define IEEE80211_IS_CHAN_11NA(_c) \
-	(IEEE80211_IS_CHAN_5GHZ((_c)) && IEEE80211_IS_CHAN_11N((_c)))
-#define IEEE80211_IS_CHAN_11N_HT40PLUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_HT40PLUS) != 0)
-#define IEEE80211_IS_CHAN_11N_HT40MINUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_HT40MINUS) != 0)
-
-#define IEEE80211_IS_CHAN_HT20_CAPABLE(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_HT20) == IEEE80211_CHAN_HT20)
-#define IEEE80211_IS_CHAN_HT40PLUS_CAPABLE(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_HT40PLUS) == IEEE80211_CHAN_HT40PLUS)
-#define IEEE80211_IS_CHAN_HT40MINUS_CAPABLE(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_HT40MINUS) == IEEE80211_CHAN_HT40MINUS)
-#define IEEE80211_IS_CHAN_HT40_CAPABLE(_c) \
-	(IEEE80211_IS_CHAN_HT40PLUS_CAPABLE(_c) || IEEE80211_IS_CHAN_HT40MINUS_CAPABLE(_c))
-#define IEEE80211_IS_CHAN_HT_CAPABLE(_c) \
-	(IEEE80211_IS_CHAN_HT20_CAPABLE(_c) || IEEE80211_IS_CHAN_HT40_CAPABLE(_c))
-#define IEEE80211_IS_CHAN_11N_CTL_CAPABLE(_c)  IEEE80211_IS_CHAN_HT20_CAPABLE(_c)
-#define IEEE80211_IS_CHAN_11N_CTL_U_CAPABLE(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_HT40PLUS) == IEEE80211_CHAN_HT40PLUS)
-#define IEEE80211_IS_CHAN_11N_CTL_L_CAPABLE(_c)	\
-	(((_c)->ic_flags & IEEE80211_CHAN_HT40MINUS) == IEEE80211_CHAN_HT40MINUS)
-#define IEEE80211_IS_CHAN_11N_CTL_40_CAPABLE(_c) \
-	(IEEE80211_IS_CHAN_11N_CTL_U_CAPABLE((_c)) || IEEE80211_IS_CHAN_11N_CTL_L_CAPABLE((_c)))
-
-#define IEEE80211_IS_CHAN_VHT(_c) \
-	(((_c)->ic_flags & (IEEE80211_CHAN_VHT20 | \
-			    IEEE80211_CHAN_VHT40PLUS | IEEE80211_CHAN_VHT40MINUS | IEEE80211_CHAN_VHT80)) != 0)
-#define IEEE80211_IS_CHAN_11AC(_c) \
-	(IEEE80211_IS_CHAN_5GHZ((_c)) && IEEE80211_IS_CHAN_VHT((_c)))
-#define IEEE80211_CHAN_11AC_VHT20 \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_VHT20)
-#define IEEE80211_CHAN_11AC_VHT40 \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_VHT40PLUS | IEEE80211_CHAN_VHT40MINUS)
-#define IEEE80211_CHAN_11AC_VHT40PLUS \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_VHT40PLUS)
-#define IEEE80211_CHAN_11AC_VHT40MINUS \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_VHT40MINUS)
-#define IEEE80211_CHAN_11AC_VHT80 \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_VHT80)
-#define IEEE80211_IS_CHAN_11AC_VHT20(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT20) == IEEE80211_CHAN_11AC_VHT20)
-
-#define IEEE80211_IS_CHAN_11AC_VHT40(_c) \
-	(((_c)->ic_flags & (IEEE80211_CHAN_VHT40PLUS | IEEE80211_CHAN_VHT40MINUS)) != 0)
-#define IEEE80211_IS_CHAN_11AC_VHT40PLUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT40PLUS) == IEEE80211_CHAN_11AC_VHT40PLUS)
-#define IEEE80211_IS_CHAN_11AC_VHT40MINUS(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT40MINUS) == IEEE80211_CHAN_11AC_VHT40MINUS)
-#define IEEE80211_IS_CHAN_11AC_VHT80(_c) \
-	(((_c)->ic_flags & IEEE80211_CHAN_11AC_VHT80) == IEEE80211_CHAN_11AC_VHT80)
-
-#define IEEE80211_IS_CHAN_RADAR(_c)    \
-	(((_c)->ic_flags & IEEE80211_CHAN_RADAR_DFS) == IEEE80211_CHAN_RADAR_DFS)
-#define IEEE80211_CHAN_SET_RADAR(_c)	\
-	((_c)->ic_flags |= IEEE80211_CHAN_RADAR_DFS)
-#define IEEE80211_CHAN_CLR_RADAR(_c)	\
-	((_c)->ic_flags &= ~IEEE80211_CHAN_RADAR_DFS)
-#define IEEE80211_CHAN_SET_DISALLOW_ADHOC(_c)	\
-	((_c)->ic_flagext |= IEEE80211_CHAN_DISALLOW_ADHOC)
-#define IEEE80211_CHAN_SET_DISALLOW_HOSTAP(_c)	 \
-	((_c)->ic_flagext |= IEEE80211_CHAN_DISALLOW_HOSTAP)
-#define IEEE80211_CHAN_SET_DFS(_c)  \
-	((_c)->ic_flagext |= IEEE80211_CHAN_DFS)
-#define IEEE80211_CHAN_SET_DFS_CLEAR(_c)  \
-	((_c)->ic_flagext |= IEEE80211_CHAN_DFS_CLEAR)
-#define IEEE80211_CHAN_EXCLUDE_11D(_c)	\
-	((_c)->ic_flagext |= IEEE80211_CHAN_11D_EXCLUDED)
-
-/* channel encoding for FH phy */
-#define IEEE80211_FH_CHANMOD        80
-#define IEEE80211_FH_CHAN(set, pat) (((set) - 1) * IEEE80211_FH_CHANMOD + (pat))
-#define IEEE80211_FH_CHANSET(chan)  ((chan) / IEEE80211_FH_CHANMOD + 1)
-#define IEEE80211_FH_CHANPAT(chan)  ((chan) % IEEE80211_FH_CHANMOD)
-
-/*
- * 802.11 rate set.
- */
-#define IEEE80211_RATE_SIZE     8       /* 802.11 standard */
-#define IEEE80211_RATE_MAXSIZE  36      /* max rates we'll handle */
-#define IEEE80211_HT_RATE_SIZE  128
-#define IEEE80211_RATE_SINGLE_STREAM_MCS_MAX     7      /* MCS7 */
-
-#define IEEE80211_RATE_MCS      0x8000
-#define IEEE80211_RATE_MCS_VAL  0x7FFF
-
-#define IEEE80211_RATE_IDX_ENTRY(val, idx) (((val & (0xff << (idx * 8))) >> (idx * 8)))
-
-/*
- * RSSI range
- */
-#define IEEE80211_RSSI_MAX           -10        /* in db */
-#define IEEE80211_RSSI_MIN           -200
-
-/*
- * 11n A-MPDU & A-MSDU limits
- */
-#define IEEE80211_AMPDU_LIMIT_MIN           (1 * 1024)
-#define IEEE80211_AMPDU_LIMIT_MAX           (64 * 1024 - 1)
-#define IEEE80211_AMPDU_LIMIT_DEFAULT       IEEE80211_AMPDU_LIMIT_MAX
-#define IEEE80211_AMPDU_SUBFRAME_MIN        2
-#define IEEE80211_AMPDU_SUBFRAME_MAX        64
-#define IEEE80211_AMPDU_SUBFRAME_DEFAULT    32
-#define IEEE80211_AMSDU_LIMIT_MAX           4096
-#define IEEE80211_RIFS_AGGR_DIV             10
-#define IEEE80211_MAX_AMPDU_MIN             0
-#define IEEE80211_MAX_AMPDU_MAX             3
-
-/*
- * 11ac A-MPDU limits
- */
-#define IEEE80211_VHT_MAX_AMPDU_MIN         0
-#define IEEE80211_VHT_MAX_AMPDU_MAX         7
-
-struct ieee80211_rateset {
-	uint8_t rs_nrates;
-	uint8_t rs_rates[IEEE80211_RATE_MAXSIZE];
-};
-
-struct ieee80211_beacon_info {
-	uint8_t essid[IEEE80211_NWID_LEN + 1];
-	uint8_t esslen;
-	uint8_t rssi_ctl_0;
-	uint8_t rssi_ctl_1;
-	uint8_t rssi_ctl_2;
-	int numchains;
-};
 
 #define IEEE80211_ADDR_LEN  6   /* size of 802.11 address */
 
-struct ieee80211_ibss_peer_list {
-	uint8_t bssid[IEEE80211_ADDR_LEN];
-};
-
-struct ieee80211_roam {
-	int8_t rssi11a;         /* rssi thresh for 11a bss */
-	int8_t rssi11b;         /* for 11g sta in 11b bss */
-	int8_t rssi11bOnly;     /* for 11b sta */
-	uint8_t pad1;
-	uint8_t rate11a;        /* rate thresh for 11a bss */
-	uint8_t rate11b;        /* for 11g sta in 11b bss */
-	uint8_t rate11bOnly;    /* for 11b sta */
-	uint8_t pad2;
-};
-
-#define IEEE80211_TID_SIZE      17      /* total number of TIDs */
-#define IEEE80211_NON_QOS_SEQ   16      /* index for non-QoS (including management) sequence number space */
 #define IEEE80211_SEQ_MASK      0xfff   /* sequence generator mask */
 #define MIN_SW_SEQ              0x100   /* minimum sequence for SW generate packect */
 
-/* crypto related defines*/
-#define IEEE80211_KEYBUF_SIZE   16
-#define IEEE80211_MICBUF_SIZE   (8+8)   /* space for both tx+rx keys */
-
-enum ieee80211_clist_cmd {
-	CLIST_UPDATE,
-	CLIST_DFS_UPDATE,
-	CLIST_NEW_COUNTRY,
-	CLIST_NOL_UPDATE
-};
-
-enum ieee80211_nawds_param {
-	IEEE80211_NAWDS_PARAM_NUM = 0,
-	IEEE80211_NAWDS_PARAM_MODE,
-	IEEE80211_NAWDS_PARAM_DEFCAPS,
-	IEEE80211_NAWDS_PARAM_OVERRIDE,
-};
-
-struct ieee80211_mib_cycle_cnts {
-	uint32_t tx_frame_count;
-	uint32_t rx_frame_count;
-	uint32_t rx_clear_count;
-	uint32_t cycle_count;
-	uint8_t is_rx_active;
-	uint8_t is_tx_active;
-};
-
-struct ieee80211_chanutil_info {
-	uint32_t rx_clear_count;
-	uint32_t cycle_count;
-	uint8_t value;
-	uint32_t beacon_count;
-	uint8_t beacon_intervals;
-};
-
 #endif /* CDS_COMMON__IEEE80211_I_H_ */

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio