Lines Matching +full:smart +full:- +full:sensing
26 * <<Broadcom-WL-IPTag/Dual:>>
62 * BCME_.. error codes are extended by various features - e.g. FTM, NAN, SAE etc.
69 * The error codes -4096 ... -5119 are reserved for firmware signing.
71 * Next available (inclusive) range: [-8*1024 + 1, -7*1024]
76 /* 11ax trigger frame format - versioning info */
122 (sizeof(wl_dfs_forced_t) + (((n) < 1) ? (0) : (((n) - 1)* sizeof(chanspec_t))))
142 #define DFS_SCAN_S_IDLE -1
227 * will see OBSS, [means that, we false detected that OBSS-is-gone
537 #define WL_GSCAN_INFO_FIXED_FIELD_SIZE (sizeof(wl_gscan_bss_info_t) - sizeof(wl_bss_info_t))
595 uint8 bsscolor_index; /**< bsscolor index 0-1 */
600 uint16 staid_info[HE_MAX_STAID_PER_BSSCOLOR]; /**< 0-3 staid info of each bsscolor */
712 #define WL_EXTDSCAN_PARAMS_FIXED_SIZE (sizeof(wl_extdscan_params_t) - sizeof(chan_scandata_t))
723 int32 nprobes; /**< -1 use default, number of probes per channel */
724 int32 active_time; /**< -1 use default, dwell time per channel for
727 int32 passive_time; /**< -1 use default, dwell time per channel
730 int32 home_time; /**< -1 use default, dwell time for the home channel
740 * meaning an odd channel count implies a 2-byte pad
774 int32 nprobes; /**< -1 use default, number of probes per channel */
775 int32 active_time; /**< -1 use default, dwell time per channel for
778 int32 passive_time; /**< -1 use default, dwell time per channel
781 int32 home_time; /**< -1 use default, dwell time for the home channel
791 * meaning an odd channel count implies a 2-byte pad
831 int32 nprobes; /**< -1 use default, number of probes per channel */
832 int32 active_time; /**< -1 use default, dwell time per channel for
835 int32 passive_time; /**< -1 use default, dwell time per channel
838 int32 home_time; /**< -1 use default, dwell time for the home channel
848 * meaning an odd channel count implies a 2-byte pad
917 #define WL_SCAN_RESULTS_FIXED_SIZE (sizeof(wl_scan_results_t) - sizeof(wl_bss_info_t))
1003 #define WL_ESCAN_RESULTS_FIXED_SIZE (sizeof(wl_escan_result_t) - sizeof(wl_bss_info_t))
1022 #define WL_GSCAN_RESULTS_FIXED_SIZE (sizeof(wl_gscan_result_t) - sizeof(wl_gscan_bss_info_t))
1151 /* bitmap for each element: B[4:0]=>c0, B[9:5]=>c1, B[14:10]=>c2, B[19:15]=>c[3-7]
1152 * B[24:20]=>c[8-9], B[29:25]=>c[10-11]
1155 uint32 bfgain_2x2[NUM_BFGAIN_ARRAY_2RX]; /* exp [1-2]ss, imp 1ss */
1158 uint32 bfgain_3x3[NUM_BFGAIN_ARRAY_3RX]; /* exp [1-3]ss, imp 1ss */
1162 uint32 bfgain_4x4[NUM_BFGAIN_ARRAY_4RX]; /* exp [1-4]ss, imp 1ss */
1182 /** in - # of elements, out - # of entries */
1200 /** in - # of chanspecs, out - # of entries */
1366 int32 nprobes; /**< -1 use default, number of probes per channel */
1367 int32 active_time; /**< -1 use default, dwell time per channel for
1370 int32 passive_time; /**< -1 use default, dwell time per channel
1373 int32 home_time; /**< -1 use default, dwell time for the home channel
1505 struct cca_congest_ext secs[1]; /**< Data - 3 sets for ALL - non-PM - PM */
1513 cca_congest_ext_v2_t secs[1]; /* Data - 3 sets for ALL - non-PM - PM */
1616 char country_abbrev[WLC_CNTRY_BUF_SZ]; /**< nul-terminated country code used in
1620 * on set, -1 indicates unspecified.
1623 char ccode[WLC_CNTRY_BUF_SZ]; /**< nul-terminated built-in country code.
1677 uint32 tsf_h; /**< TSF high 32-bits of Measurement start time */
1678 uint32 tsf_l; /**< TSF low 32-bits */
1696 uint32 tsf_h; /**< TSF high 32-bits of Measurement start time */
1697 uint32 tsf_l; /**< TSF low 32-bits */
1886 uint16 fils_cache_id; /* 2-byte length */
1974 * Structure used by GET/SET_ATTEN ioctls - it controls power in b/g-band
1975 * PCL - Power Control Loop
1984 /** Per-AC retry parameters */
2494 uint32 prop11n_mcs[WLC_11N_LAST_PROP_MCS - WLC_11N_FIRST_PROP_MCS + 1]; /** MCS counts */
2533 #define WL_NUM_RATES_MCS_1STREAM 8 /**< MCS 0-7 1-stream rates - SISO/CDD/STBC/MCS */
2552 uint32 boardid; /**< board identifier (usu. PCI sub-device id) */
2553 uint32 boardvendor; /**< board vendor (usu. PCI sub-vendor id) */
2582 int8 PAD[4-(WL_BRAND_MAX%4)];
2791 #define HT_MCS_INUSE 0x00000080 /* HT MCS in use,indicates b0-6 holds an mcs */
2792 #define VHT_MCS_INUSE 0x00000100 /* VHT MCS in use,indicates b0-6 holds an mcs */
2815 uint16 delay; /**< Inter-packet delay */
2824 * bit7-4: 4 bits swdiv_tx/rx_policy bitmask, specify antenna-policy for SW diversity
2825 * bit3-0: 4 bits TxCore bitmask, specify cores used for transmit frames
2949 int32 npulses_stg2; /**< Radar detection, minimum staggered-2 pulses set */
2950 int32 npulses_stg3; /**< Radar detection, minimum staggered-3 pulses set */
2958 uint16 feature_mask; /**< 16-bit mask to specify enabled features */
2968 uint16 thresh0_20_lo; /**< Radar detection, thresh 0 (range 5250-5350MHz) for BW 20MHz */
2969 uint16 thresh1_20_lo; /**< Radar detection, thresh 1 (range 5250-5350MHz) for BW 20MHz */
2970 uint16 thresh0_40_lo; /**< Radar detection, thresh 0 (range 5250-5350MHz) for BW 40MHz */
2971 uint16 thresh1_40_lo; /**< Radar detection, thresh 1 (range 5250-5350MHz) for BW 40MHz */
2972 uint16 thresh0_80_lo; /**< Radar detection, thresh 0 (range 5250-5350MHz) for BW 80MHz */
2973 uint16 thresh1_80_lo; /**< Radar detection, thresh 1 (range 5250-5350MHz) for BW 80MHz */
2974 uint16 thresh0_20_hi; /**< Radar detection, thresh 0 (range 5470-5725MHz) for BW 20MHz */
2975 uint16 thresh1_20_hi; /**< Radar detection, thresh 1 (range 5470-5725MHz) for BW 20MHz */
2976 uint16 thresh0_40_hi; /**< Radar detection, thresh 0 (range 5470-5725MHz) for BW 40MHz */
2977 uint16 thresh1_40_hi; /**< Radar detection, thresh 1 (range 5470-5725MHz) for BW 40MHz */
2978 uint16 thresh0_80_hi; /**< Radar detection, thresh 0 (range 5470-5725MHz) for BW 80MHz */
2979 uint16 thresh1_80_hi; /**< Radar detection, thresh 1 (range 5470-5725MHz) for BW 80MHz */
2980 uint16 thresh0_160_lo; /**< Radar detection, thresh 0 (range 5250-5350MHz) for BW 160MHz */
2981 uint16 thresh1_160_lo; /**< Radar detection, thresh 1 (range 5250-5350MHz) for BW 160MHz */
2982 uint16 thresh0_160_hi; /**< Radar detection, thresh 0 (range 5470-5725MHz) for BW 160MHz */
2983 uint16 thresh1_160_hi; /**< Radar detection, thresh 1 (range 5470-5725MHz) for BW 160MHz */
3040 #define WL_WA_VER 0 /* Initial version - Basic WA algorithm only */
3059 uint8 subcmd[]; /* sub-cmd in bcm_xtlv_t */
3106 #define WL_DFS_AP_MOVE_ABORT -1 /* Abort any dfs_ap_move in progress immediately */
3107 #define WL_DFS_AP_MOVE_STUNT -2 /* Stunt move but continue background CSA if in progress */
3143 int8 txpwr_antgain[2]; /**< Ant gain for each band - from SROM */
3159 int8 antgain[2]; /**< Ant gain for each band - from SROM */
3204 #define WL_TXPPR_SER_BUF_NUM (PPRTYPE_LAST - 1)
3252 * It is helpful to debug out-of-sync issue between
3270 uint32 tx_time_1chain; /* Tx 1-chain raw SHM value */
3272 uint32 tx_time_2chain; /* Tx 2-chain raw SHM value */
3274 uint32 tx_time_3chain; /* Tx 3-chain raw SHM value */
3295 uint8 mimo_ps_state; /* mimo_ps_cfg states: [0-5]. See below for values */
3314 uint8 mimo_ps_state; /* mimo_ps_cfg states: [0-5]. See below for values */
3373 /* mimo_ps_status: core flag states for single-core beacon and siso-bcmc rx */
3429 uint16 bitmap_2g; /* bitmap for 2.4G channels bits 1-13 */
3431 *34-48, 52-56, 60-64, 100-102
3434 * 104, 108-112, 116-120, 124-128,
3435 * 132-136, 140, 149-151
3438 * 153, 157-161, 165
3451 #define OCL_DISABLED_RXIQ_EST_BTLOWAR 0x100 /* Disabled if the bt-lo-war is active */
3499 #define WL_OPS_MYBSS_NAV_DUR 0x2 /* OPS based on mybss RTS-CTS duration */
3503 #define WL_OPS_OBSS_NAV_DUR 0x8 /* OPS based on obss RTS-CTS duration */
3516 #define OPS_DUR_HIST_BINS 5 /* number of bins used, 0-1, 1-2, 2-4, 4-8, >8 msec */
3522 uint8 pad[2]; /* 4-byte alignment */
3648 DVFS_SUBCMD_ENABLE = 0, /* DVFS enable/disable, 1-byte data
3651 DVFS_SUBCMD_LDV = 1, /* DVFS force arm state to LDV, 1-byte data
3755 #define DVFS_STATUS_VER_2_LEN (DVFS_STATUS_VER_3_LEN - (sizeof(uint16)))
3790 * Join preference iovar value is an array of tuples. Each tuple has a one-byte type,
3791 * a one-byte length, and a variable length value. RSSI type tuple must be present
3801 * 1. RSSI - 2 octets
3805 * 2. WPA - 2 + 12 * n octets (n is # tuples defined below)
3811 * offset 2 + 12 * (n - 1) octets: tuple n
3821 * 3. BAND - 2 octets
3825 * 4. BAND RSSI - 2 octets
3866 wl_bsstrans_rssi_t phy_n[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_MCS_1STREAM]; /* MCS0-7 */
3867 wl_bsstrans_rssi_t phy_ac[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_VHT_ALL]; /* MCS0-11 */
3868 wl_bsstrans_rssi_t phy_ax[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_HE]; /* MCS0-11 */
3869 wl_bsstrans_rssi_t phy_be[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_EHT]; /* MCS0-13 */
3878 wl_bsstrans_rssi_t phy_n[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_MCS_1STREAM]; /* MCS0-7 */
3879 wl_bsstrans_rssi_t phy_ac[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_VHT_ALL]; /**< MCS0-11 */
3880 wl_bsstrans_rssi_t phy_ax[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_HE]; /**< MCS0-11 */
3889 wl_bsstrans_rssi_t phy_n[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_MCS_1STREAM]; /* MCS0-7 */
3890 wl_bsstrans_rssi_t phy_ac[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_VHT]; /**< MCS0-9 */
3899 wl_bsstrans_rssi_t phy_n[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_MCS_1STREAM]; /* MCS0-7 */
3900 wl_bsstrans_rssi_t phy_ac[RSSI_RATE_MAP_MAX_STREAMS][WL_NUM_RATES_VHT]; /**< MCS0-9 */
4200 uint16 id; /* ID of the sub-command */
4220 uint16 id; /* ID of the sub-command */
4322 #define INVALID_CNT_VAL (uint32)(-1)
4386 * and vice-versa
4493 /* per-rate receive stat counters */
4566 uint32 txpspoll; /**< Number of TX PS-poll */
4567 uint32 rxpspoll; /**< Number of RX PS-poll */
4620 uint32 rxnocmplid; /* # of nobuf failure due to rxcmplid non-availability */
4621 uint32 rxnohaddr; /* # of nobuf failure due to host address non-availability */
4658 uint32 he_txmampdu; /**< for multi-TID AMPDU transmission */
4659 uint32 he_txmtid_back; /**< for multi-TID BACK transmission */
4660 uint32 he_rxmtid_back; /**< reception of multi-TID BACK */
4661 uint32 he_rxmsta_back; /**< reception of multi-STA BACK */
4666 uint32 he_rxtrig_murts; /**< reception of MU-RTS trigger frame */
4685 uint32 he_txmampdu; /**< for multi-TID AMPDU transmission */
4686 uint32 he_txmtid_back; /**< for multi-TID BACK transmission */
4687 uint32 he_rxmtid_back; /**< reception of multi-TID BACK */
4688 uint32 he_rxmsta_back; /**< reception of multi-STA BACK */
4693 uint32 he_rxtrig_murts; /**< reception of MU-RTS trigger frame */
4731 uint32 he_txmampdu; /**< for multi-TID AMPDU transmission */
4732 uint32 he_txmtid_back; /**< for multi-TID BACK transmission */
4733 uint32 he_rxmtid_back; /**< reception of multi-TID BACK */
4734 uint32 he_rxmsta_back; /**< reception of multi-STA BACK */
4739 uint32 he_rxtrig_murts; /**< reception of MU-RTS trigger frame */
4788 uint32 he_txmampdu; /* for multi-TID AMPDU transmission */
4789 uint32 he_txmtid_back; /* for multi-TID BACK transmission */
4790 uint32 he_rxmtid_back; /* reception of multi-TID BACK */
4791 uint32 he_rxmsta_back; /* reception of multi-STA BACK */
4796 uint32 he_rxtrig_murts; /* reception of MU-RTS trigger frame */
4882 uint16 rxbfpoll; /* unicast bf-polls */
4889 /* sounding stats - interval capture */
4890 uint16 rxnontb_sound[WL_TXBF_CNT_ARRAY_SZ]; /* non-TB sounding for last 8 captures */
4904 /* Reinit reasons - do not put anything else other than reinit reasons here */
4928 /* MAC counters: 32-bit version of d11.h's macstat_t */
4935 uint32 txdnlfrm; /**< number of Null-Data transmission generated from template */
4937 uint32 txfunfl[6]; /**< per-fifo tx underflows */
4943 uint32 txphyerror; /**< Transmit phy error, type of error is reported in tx-status for
5014 /* MAC counters: 32-bit version of d11.h's macstat_t */
5021 uint32 txdnlfrm; /**< number of Null-Data transmission generated from template */
5023 uint32 txfunfl[6]; /**< per-fifo tx underflows */
5029 uint32 txphyerror; /**< Transmit phy error, type of error is reported in tx-status for
5109 /* MAC counters: 32-bit version of d11.h's macstat_t */
5117 uint32 txdnlfrm; /**< number of Null-Data transmission generated from template */
5124 uint32 txphyerror; /**< Transmit phy error, type of error is reported in tx-status for
5223 /* MAC counters: 32-bit version of d11.h's macstat_t */
5230 uint32 txdnlfrm; /**< number of Null-Data transmission generated from template */
5232 uint32 txfunfl[6]; /**< per-fifo tx underflows */
5238 uint32 txphyerror; /**< Transmit phy error, type of error is reported in tx-status for
5377 /* MAC counters: 32-bit version of d11.h's macstat_t */
5386 uint32 txfunfl[6]; /**< per-fifo tx underflows */
5392 uint32 txphyerror; /**< Transmit phy error, type of error is reported in tx-status for
5497 /* per-rate receive stat counters */
5582 uint32 txpspoll; /**< Number of TX PS-poll */
5583 uint32 rxpspoll; /**< Number of RX PS-poll */
5680 /* MAC counters: 32-bit version of d11.h's macstat_t */
5689 uint32 txfunfl[8]; /* per-fifo tx underflows */
5693 uint32 txphyerror; /* Transmit phy error, type of error is reported in tx-status for
5798 /* per-rate receive stat counters */
5913 /* MAC counters: 32-bit version of d11.h's macstat_t */
5922 uint32 txfunfl[6]; /**< per-fifo tx underflows */
5928 uint32 txphyerror; /**< Transmit phy error, type of error is reported in tx-status for
5986 * Afterburner re-queue
6052 /* per-rate receive stat counters */
6108 /* per-rate receive stat counters */
6246 uint8 keep_alive_id; /* 0 - 3 for N = 4 */
6255 uint8 keep_alive_id; /* 0 - 3 for N = 4 */
6299 /** TCP Keep-Alive conn struct */
6313 /** TCP Keep-Alive interval struct */
6374 /** structure for per-tid ampdu control */
6430 uint8 flag; /* currently not used. Reserved. 32-bit alignment. */
6433 /* Per-tid configuration tuple (tx_ba_wsize, assoctype). Used for GET and SET.
6434 * bit0 - bit8: User configured TX BA window size. Range {0, max. FW supported}.
6435 * bit9 - bit10: User configured association type. 0: 11ax association, 1: universal.
6436 * bit11 - bit15: Reserved.
6440 /* Status of the per-tid configuration: GET only
6441 * bit0 - bit8: Resulted TX BA window size.
6442 * bit9 - bit10: Reserved.
6443 * bit11 - bit13: TX BA configuration state.
6444 * bit14 - bit15: Reserved.
6585 /* MAC Sample Capture Set-up Paramters */
6788 /**this is used to report on 1-* pfn scan results */
6974 uint8 min_bound; /**< pfn scan period randomization - lower bound % */
6975 uint8 max_bound; /**< pfn scan period randomization - upper bound % */
6976 uint8 pfn_lp_scan_disable; /* add support to enable/disable scan-core scan for PNO */
6977 uint8 PAD[1]; /**< Pad to 32-bit alignment */
7085 * change - crosses rssi threshold/lost
7180 /* Flags for the mpf-specific stuff */
7189 /* Per-state timing values */
7194 uint8 exp; /* Exponent of 2 for max interval for SMART/STRICT_ADAPT */
7240 #define WL_MPF_STATE_AUTO (0xFFFF) /* (uint16)-1) */
7246 uint8 force; /* 0 - auto (HW) state, 1 - forced state */
7284 uint16 response_timeout; /**< Max time to wait for a GAS-level response
7300 * connection exists. -1 for default.
7315 * 1 means scan for P2P devices plus non-P2P APs.
7392 uint32 flags; /**< 0x01-Peer is MBO Capable */
7399 uint32 flags; /**< 0x01-Peer is MBO Capable */
7549 * Keep-alive packet offloading.
7553 * NAT keep-alive packets format: specifies the re-transmission period, the packet
7557 uint32 period_msec; /** Retransmission period (0 to disable packet re-transmits) */
7558 uint16 len_bytes; /* Size of packet to transmit (0 to disable packet re-transmits) */
7747 data - 1byte(uint8)
7771 uint16 awdl_nmode; /**< Operation mode of awdl interface; * 0 - Legacy mode
7772 * 1 - 11n rate only * 2 - 11n + ampdu rx/tx
7792 uint16 tx_delay; /**< ts_hw - ts_fw */
7794 uint16 aw_period; /**< AW period - aw_cmn + ext * ext_len */
7820 uint16 tx_delay; /* ts_hw - ts_fw */
8008 uint8 mode; /* 0 - Auto; 1 - Fixed; 2 - Forced */
8009 uint8 role; /* 0 - slave; 1 - non-elect master; 2 - master */
8010 uint16 bcast_tu; /* Bcasting period(TU) for non-elect master */
8039 /* For NAN-AWDL concurrent master type */
8052 /* use uper 4-bit to be the SYNC_MASTER_TYPE */
8059 uint8 mode; /* 0 - Auto; 1 - Fixed */
8060 uint8 role; /* 0 - slave; 1 - non-elect master; 2 - master */
8061 uint16 bcast_tu; /* Bcasting period(TU) for non-elect master */
8128 uint32 slotend_partial; /* AW slot pre-empt */
8306 int32 nprobes; /**< -1 use default, number of probes per channel */
8311 * - List aw seq numbers
8312 * - List of SSID's 4 byte aligned.
8335 /* --- Deprecated ---- */
8338 /* --- Deprecated ---- */
8346 uint8 mode; /**< 0 - normal; 1 - fast mode */
8423 uint32 congest_ibss; /* Delta between IBSS - TxDUR */
8424 uint32 congest_obss; /* Delta between OBSS - noctg */
8445 /* bit-0 : Used to indicate if the flags/pad is valid
8446 * bit-1 : Slice-0 is blocked on scan.
8447 * bit-2 : Slice-1 is blocked on scan.
8448 * bit-7 : reserved
8458 * This structure will be supported only for pre-Koala builds.
8467 uint16 tx_delay; /**< ts_hw - ts_fw */
8596 * ptk_start: iovar to start 4-way handshake for secured ranging
8599 /* ptk negotiation security type - determines negotiation parameters */
8779 ((apf_program)->instr_len * sizeof((apf_program)->instrs[0]))
8851 uint32 delay; /**< Inter-packet delay */
8880 uint16 version; /**< Version - 1 */
8890 uint16 version; /**< Version - 1 */
8909 uint8 he_ltf_symb ; /* num of HE-LTF symbols */
8918 struct ether_addr dest; /* destination address for un-associated mode */
8929 struct ether_addr dest; /* destination address for un-associated mode */
8931 uint8 he_ltf_symb ; /* num of HE-LTF symbols */
8952 struct ether_addr dest; /* destination address for un-associated mode */
8954 uint8 he_ltf_symb ; /* num of HE-LTF symbols */
8969 /* App uses the latest version - source picks it up from wlc_types.h */
8978 /* Common Info Params Figure 9-52d - 11ax Draft 1.1 */
8996 /* User Info Params Figure 9-52e - 11ax Draft 1.1 */
9140 uint32 ucode_wakeind; /**< What wakeup-event indication was set by ucode */
9198 * used for report in struct cca_chan_qual_event_t. So the ID values beyond 8-bit are used
9212 int16 htol[MAX_CHAN_QUAL_LEVELS]; /**< threshold level array: hi-to-lo */
9213 int16 ltoh[MAX_CHAN_QUAL_LEVELS]; /**< threshold level array: lo-to-hi */
9278 /* packets re-sent because they were not received */ \
9286 /* the high-water mark of the queue capacity for packets - goes to zero as queue fills */ \
9288 /* the high-water mark of the queue utilisation for packets - ('inverse' of max_avail) */ \
9371 uint32 retry; /**< packets re-sent because they were not received */
9395 iov_bs_data_record_t structure_record[1]; /**< 0 - structure_count records */
9426 char PAD[4-MAX_ARGSTR_LEN%4];
9452 * affect backward compatibility with pre-existing apps
9517 uint8 addtype; /* static for manual add or dynamic if auto-learning of neighbors */
9532 #define EVENTMSGS_EXT_STRUCT_SIZE ((uint)(sizeof(eventmsgs_ext_t) - 1))
9534 /* len- for SET it would be mask size from the application to the firmware */
9536 /* maxgetsize - is only used for GET. indicate max mask size that the */
9661 * starts on a 4-byte boundary.
9665 * valid len values are 0-4095.
9715 /* int32 drifts = remote - local; +ve drift => local-clk slow */
9733 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
9749 /* int32 drifts = remote - local; +ve drift => local-clk slow */
9770 uint8 flags; /**< bit0: 1-sleep, 0- wake. bit1: 0-bit0 invlid, 1-bit0 valid */
9778 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
9783 /* bit0: 1-sleep, 0- wake. bit1: 0-bit0 invlid, 1-bit0 valid */
9808 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
9833 /* int32 drifts = remote - local; +ve drift => local-clk slow */
9845 uint32 start_event_dur[WL_PMD_EVENT_MAX_V2]; /* start event-duration */
9870 uint16 len; /* Up to 4K-1, top 4 bits are reserved */
9959 uint32 start_event_dur[WLC_PMD_EVENT_MAX_V1]; /**< start event-duration */
9986 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10002 uint32 perst_deassrt_ct; /**< PERST# de-assert count */
10017 uint32 num_h2d_doorbell; /**< # of doorbell interrupts - h2d */
10018 uint32 num_d2h_doorbell; /**< # of doorbell interrupts - d2h */
10037 uint32 d3_ack_sr_cnt; /**< srcount during last D3-ACK */
10061 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10073 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10076 scan_data_t user_scans; /**< User-requested scans: (i/e/p)scan */
10085 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10094 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10102 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10121 /* Total 1-chain transmit time(us) */
10123 /* Total 2-chain transmit time(us) */
10125 /* Total 3-chain transmit time(us) */
10140 /* Total 1-chain transmit time(us) */
10142 /* Total 2-chain transmit time(us) */
10144 /* Total 3-chain transmit time(us) */
10262 * starts on a 4-byte boundary.
10266 * valid len values are 0-4095.
10289 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10299 /* int32 drifts = remote - local; +ve drift -> local-clk slow */
10308 uint32 prev_frts_dur; /**< Data frts duration at start of pm-period */
10310 uint32 prev_cal_dur; /**< cal duration at start of pm-period */
10318 uint16 len; /* Up to 4K-1, top 4 bits are reserved */
10328 /* int32 drifts = remote - local; +ve drift -> local-clk slow */
10336 uint32 prev_cal_dur; /* cal duration at start of pm-period */
10341 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10351 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10360 uint16 len; /* Up to 4K-1, top 4 bits are reserved */
10384 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10408 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10430 uint16 len; /**< Up to 4K-1, top 4 bits are reserved */
10529 int8 antgain[2]; /**< Ant gain for each band - from SROM */
10538 uint8 version; /**< Version of the data format wlu <--> driver */
10563 uint8 version; /**< Version of the data format wlu <--> driver */
10570 int8 antgain[3]; /**< Ant gain for each band - from SROM */
10862 #define IOBUF_ALLOWED_NUM_OF_LOGREC(type, len) ((len - LOGRRC_FIX_LEN)/sizeof(type))
10901 uint8 ccastats[CCASTATS_V2_MAX]; /**< normalized as 0-255 */
10914 uint8 ccastats[CCASTATS_MAX]; /**< normalized as 0-255 */
10916 uint8 pad_1[11 - CCASTATS_MAX];
10944 uint32 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
10985 uint32 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
11023 uint32 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
11063 uint32 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
11104 uint32 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
11149 uint16 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
11175 uint16 sc_rx_ac_bt_tx_dur; /* sc rx with AC-BT tx, in ms */
11281 int8 curr_temperature; /**< on-chip temperature sensor reading */
11417 #define WLC_SUBBAND_MAX 4 /**< max number of sub-band supports */
11584 /** structure to store per-AC delay statistics */
11639 (sizeof(txdelay_stats_t)+(MAX_TXDELAY_STATS_SCBS-1)*sizeof(scb_total_delay_stats_t))
11773 uint16 pad0; /* padding for 4-byte allignment */
11776 uint8 pad1[3]; /* padding for 4-byte allignment */
11785 uint8 pad; /* padding for 4-byte allignment */
11812 * BSS-Transition feature is used by multiple programs such as NPS-PF, VE-PF,
11813 * Band-steering, Hotspot 2.0 and customer requirements. Each PF and its test plan
11814 * mandates different behavior on receiving BSS-transition request. To accomodate
11885 #define WL_DFRTS_LOGIC_OR 1 /**< OR all non-zero threshold conditions */
11886 #define WL_DFRTS_LOGIC_AND 2 /**< AND all non-zero threshold conditions */
11888 /* Values for the passive_on_restricted_mode iovar. When set to non-zero, this iovar
11921 RELMCAST_ENTRY_OP_DISABLE = 0, /**< Disable multi-cast group */
11922 RELMCAST_ENTRY_OP_DELETE = 1, /**< Delete multi-cast group */
11923 RELMCAST_ENTRY_OP_ENABLE = 2, /**< Enable multi-cast group */
11961 uint16 mc_taken_other_tr; /**< multi-cast addressed is already taken */
11983 /* operation on multi-cast entry such add,
11984 * delete, ack-all
11987 struct ether_addr addr; /**< multi-cast group mac address */
12386 uint8 status; /**< bitmask 0 -- disable, 0x1 -- enable collection, */
12387 /* 0x2 -- Use generic event, 0x4 -- use event log */
12388 uint16 index; /**< The current frame index [0 to total_frames - 1]. */
12459 * Bits 0 - 23 can be set by host
12460 * Bits 24 - 31 - Internal use for firmware, host cannot set it
12514 /* Value when all host-configurable bits set */
12518 /* Last 8-bits are firmware controlled bits.
12520 * If set - indicates that NAN initialization is successful
12522 * If set - indicates that NAN MAC cfg creation is successful
12524 * NOTE: These are only ready-only bits for host.
12697 uint8 svctype; /* 0 - Publish, 0x1 - Subscribe */
12720 uint8 r_pub_id; /* remote-matched pub instance_id */
12721 struct ether_addr r_nmi_addr; /* remote-matched pub nmi addr */
12794 * TLVs - Below XTLV definitions will be deprecated
12913 /* Nan Save-Restore XTLVs */
12953 /* Special command - Tag zero */
12956 /* nan cfg sub-commands */
12992 /* nan election sub-commands */
13003 /* nan SD sub-commands */
13021 /* nan time sync sub-commands */
13051 /* nan dam sub-commands */
13063 /* nan debug sub-commands */
13088 /* NAN Save-Restore */
13092 /* Host offload sub-commands */
13203 uint32 slotend_partial; /* slot pre-empt */
13412 /** status - TBD BCME_ vs NAN status - range reserved for BCME_ */
13415 WL_NAN_E_INVALID_TOKEN = -2135, /* invalid token or mismatch */
13416 WL_NAN_E_INVALID_ATTR = -2134, /* generic invalid attr error */
13417 WL_NAN_E_INVALID_NDL_ATTR = -2133, /* invalid NDL attribute */
13418 WL_NAN_E_SCB_NORESOURCE = -2132, /* no more peer scb available */
13419 WL_NAN_E_PEER_NOTAVAIL = -2131,
13420 WL_NAN_E_SCB_EXISTS = -2130,
13421 WL_NAN_E_INVALID_PEER_NDI = -2129,
13422 WL_NAN_E_INVALID_LOCAL_NDI = -2128,
13423 WL_NAN_E_ALREADY_EXISTS = -2127, /* generic NAN error for duplication */
13424 WL_NAN_E_EXCEED_MAX_NUM_MAPS = -2126,
13425 WL_NAN_E_INVALID_DEV_CHAN_SCHED = -2125,
13426 WL_NAN_E_INVALID_PEER_BLOB_TYPE = -2124,
13427 WL_NAN_E_INVALID_LCL_BLOB_TYPE = -2123,
13428 WL_NAN_E_BCMC_PDPA = -2122, /* BCMC NAF PDPA */
13429 WL_NAN_E_TIMEOUT = -2121,
13430 WL_NAN_E_HOST_CFG = -2120,
13431 WL_NAN_E_NO_ACK = -2119,
13432 WL_NAN_E_SECINST_FAIL = -2118,
13433 WL_NAN_E_REJECT_NDL = -2117, /* generic NDL rejection error */
13434 WL_NAN_E_INVALID_NDP_ATTR = -2116,
13435 WL_NAN_E_HOST_REJECTED = -2115,
13436 WL_NAN_E_PCB_NORESOURCE = -2114,
13437 WL_NAN_E_NDC_EXISTS = -2113,
13438 WL_NAN_E_NO_NDC_ENTRY_AVAIL = -2112,
13439 WL_NAN_E_INVALID_NDC_ENTRY = -2111,
13440 WL_NAN_E_SD_TX_LIST_FULL = -2110,
13441 WL_NAN_E_SVC_SUB_LIST_FULL = -2109,
13442 WL_NAN_E_SVC_PUB_LIST_FULL = -2108,
13443 WL_NAN_E_SDF_MAX_LEN_EXCEEDED = -2107,
13444 WL_NAN_E_ZERO_CRB = -2106, /* no CRB between local and peer */
13445 WL_NAN_E_PEER_NDC_NOT_SELECTED = -2105, /* peer ndc not selected */
13446 WL_NAN_E_DAM_CHAN_CONFLICT = -2104, /* dam schedule channel conflict */
13447 WL_NAN_E_DAM_SCHED_PERIOD = -2103, /* dam schedule period mismatch */
13448 WL_NAN_E_LCL_NDC_NOT_SELECTED = -2102, /* local selected ndc not configured */
13449 WL_NAN_E_NDL_QOS_INVALID_NA = -2101, /* na doesn't comply with ndl qos */
13450 WL_NAN_E_CLEAR_NAF_WITH_SA_AS_RNDI = -2100, /* rx clear naf with peer rndi */
13451 WL_NAN_E_SEC_CLEAR_PKT = -2099, /* rx clear pkt from a peer with sec_sa */
13452 WL_NAN_E_PROT_NON_PDPA_NAF = -2098, /* rx protected non PDPA frame */
13453 WL_NAN_E_DAM_DOUBLE_REMOVE = -2097, /* remove peer schedule already removed */
13454 WL_NAN_E_DAM_DOUBLE_MERGE = -2096, /* merge peer schedule already merged */
13455 WL_NAN_E_DAM_REJECT_INVALID = -2095, /* reject for invalid schedule */
13456 WL_NAN_E_DAM_REJECT_RANGE = -2094,
13457 WL_NAN_E_DAM_REJECT_QOS = -2093,
13458 WL_NAN_E_DAM_REJECT_NDC = -2092,
13459 WL_NAN_E_DAM_REJECT_PEER_IMMUT = -2091,
13460 WL_NAN_E_DAM_REJECT_LCL_IMMUT = -2090,
13461 WL_NAN_E_DAM_EXCEED_NUM_SCHED = -2089,
13462 WL_NAN_E_DAM_INVALID_SCHED_MAP = -2088, /* invalid schedule map list */
13463 WL_NAN_E_DAM_INVALID_LCL_SCHED = -2087,
13464 WL_NAN_E_INVALID_MAP_ID = -2086,
13465 WL_NAN_E_CHAN_OVERLAP_ACROSS_MAP = -2085,
13466 WL_NAN_E_INVALID_CHAN_LIST = -2084,
13467 WL_NAN_E_INVALID_RANGE_TBMP = -2083,
13468 WL_NAN_E_INVALID_IMMUT_SCHED = -2082,
13469 WL_NAN_E_INVALID_NDC_ATTR = -2081,
13470 WL_NAN_E_INVALID_TIME_BITMAP = -2080,
13471 WL_NAN_E_INVALID_NA_ATTR = -2079,
13472 WL_NAN_E_NO_NA_ATTR_IN_AVAIL_MAP = -2078, /* no na attr saved in avail map */
13473 WL_NAN_E_INVALID_MAP_IDX = -2077,
13474 WL_NAN_E_SEC_SA_NOTFOUND = -2076,
13475 WL_NAN_E_BSSCFG_NOTFOUND = -2075,
13476 WL_NAN_E_SCB_NOTFOUND = -2074,
13477 WL_NAN_E_NCS_SK_KDESC_TYPE = -2073,
13478 WL_NAN_E_NCS_SK_KEY_DESC_VER = -2072, /* key descr ver */
13479 WL_NAN_E_NCS_SK_KEY_TYPE = -2071, /* key descr type */
13480 WL_NAN_E_NCS_SK_KEYINFO_FAIL = -2070, /* key info (generic) */
13481 WL_NAN_E_NCS_SK_KEY_LEN = -2069, /* key len */
13482 WL_NAN_E_NCS_SK_KDESC_NOT_FOUND = -2068, /* key desc not found */
13483 WL_NAN_E_NCS_SK_INVALID_PARAMS = -2067, /* invalid args */
13484 WL_NAN_E_NCS_SK_KDESC_INVALID = -2066, /* key descr is not valid */
13485 WL_NAN_E_NCS_SK_NONCE_MISMATCH = -2065,
13486 WL_NAN_E_NCS_SK_KDATA_SAVE_FAIL = -2064, /* not able to save key data */
13487 WL_NAN_E_NCS_SK_AUTH_TOKEN_CALC_FAIL = -2063,
13488 WL_NAN_E_NCS_SK_PTK_CALC_FAIL = -2062,
13489 WL_NAN_E_INVALID_STARTOFFSET = -2061,
13490 WL_NAN_E_BAD_NA_ENTRY_TYPE = -2060,
13491 WL_NAN_E_INVALID_CHANBMP = -2059,
13492 WL_NAN_E_INVALID_OP_CLASS = -2058,
13493 WL_NAN_E_NO_IES = -2057,
13494 WL_NAN_E_NO_PEER_ENTRY_AVAIL = -2056,
13495 WL_NAN_E_INVALID_PEER = -2055,
13496 WL_NAN_E_PEER_EXISTS = -2054,
13497 WL_NAN_E_PEER_NOTFOUND = -2053,
13498 WL_NAN_E_NO_MEM = -2052,
13499 WL_NAN_E_INVALID_OPTION = -2051,
13500 WL_NAN_E_INVALID_BAND = -2050,
13501 WL_NAN_E_INVALID_MAC = -2049,
13502 WL_NAN_E_BAD_INSTANCE = -2048,
13503 /* NAN status code reserved from -2048 to -3071 */
13504 /* Do NOT add new status below -2048 */
13505 WL_NAN_E_ERROR = -1,
13540 WL_NAN_SUB_CMD_FLAG_SKIP = 1, /* Skip to next sub-command on error */
13555 * NAN sub-command data structures
13559 * Config component WL_NAN_CMD_CFG_XXXX sub-commands
13637 wl_nan_role_t role; /* Sync Master, Non-Sync Master */
13660 * rssi_close and rssi_mid are used to transition master to non-master
13731 * Election component WL_NAN_CMD_ELECTION_XXXX sub-commands
13740 * 0 - disable host based election
13741 * 1 - enable host based election
13802 * 0 - disable cluster merge
13803 * 1 - enable cluster merge
13957 #define WL_NAN_PUB_SOLICIT_PENDING 0x10000 /* Used for one-time solicited Publish */
13959 #define WL_NAN_FOLLOWUP 0x20000 /* Follow-up frames */
13960 #define WL_NAN_TX_FOLLOWUP 0x40000 /* host generated transmit Follow-up frames */
13970 * Publish - runs until first transmission
13971 * Subscribe - runs until first DiscoveryResult event
14001 int32 ttl; /* TTL for this instance id, -1 will run till cancelled */
14060 wl_nan_band_t band; /* 0 - b mode 1- a mode */
14125 /* If set, host wont rec "tx status" event for tx-followup msg */
14137 uint16 token; /* follow_up_token when a follow-up
14141 uint8 flags; /* Flags for tx follow-up msg */
14342 /* NCS-SK related */
14362 /* To be deprecated - will be replaced by event_disc_result */
14407 uint8 fup_lcl_id; /* local instance ID of follow-up SDF */
14408 uint8 fup_peer_id; /* peer instance ID of follow-up SDF */
14416 uint8 retry_cnt; /* NAF tx retry (not 802.11 re-tx) */
14431 uint16 timeslot; /**< NAN RTT start time slot 1-511 */
14657 uint8 type; /* 0- unicast 1 - multicast */
14677 uint8 type; /* 0- unicast 1 - multicast */
14817 /* this is obsolete - DON'T USE */
14866 /* nan sub-features */
14895 uint32 flags1; /* nan sub-features compiled in firmware */
14896 uint32 flags2; /* for more sub-features in future */
14923 uint32 flags1; /* nan sub-features compiled in firmware */
14924 uint32 flags2; /* for more sub-features in future */
14934 uint32 reserved_uint32_1; /* reserved for future sub-features */
14935 uint32 reserved_uint32_2; /* reserved for future sub-features */
14936 uint32 reserved_uint32_3; /* reserved for future sub-features */
14937 uint32 reserved_uint32_4; /* reserved for future sub-features */
15099 /* Used by NDL schedule events -
15120 /* channel stats (includes nan & non-nan) */
15391 WL_AVAIL_ENTRY_PAGED = 0x0008, /* P-NDL */
15424 WL_AVAIL_BAND_SUB1G = 1, /* sub-1 GHz */
15455 #define WL_AVAIL_ENTRY_RXNSS_MAX 15 /* 0-15 */
15500 uint16 flags; /* LSB - avail type (defined by WL_AVAIL enum)
15501 * MSB - avail flags
15504 uint8 lndc_id; /* ndc id used in multi-ndc case */
15521 * 1-4: map ID if overwrite all is 0
15565 /* add lower 4-bytes of TSF to configured start time */
15636 int32 gd_delta; /**< GD - GD_ADJ */
15793 /* add global/per-wlc properties above */
15822 /* add per-BSS properties above */
15857 bcm_xlo_t ssid; /* ssid - key, zero length is allowed for SSID */
15858 bcm_xlo_t bssid; /* bssid - key, zero length = broadcast/wildcard */
15859 bcm_xlo_t pass_id; /* key - optional password id for SAE */
15860 bcm_xlo_t pmk; /* pmk - either 32 or 48 byte for SuiteB-192 */
16004 /** tlv IDs - data length 4 bytes unless overridden by type, alignment 32 bits */
16048 uint8 enable; /**< 1 - enable, 0 - disable */
16049 uint8 pad[3]; /**< 4-byte struct alignment */
16062 uint8 pad[2]; /**< 4-byte struct alignment */
16147 uint16 frag_num; /* fragment number, 0 for first fragment, N-1 for last fragment */
16149 uint8 pad[2]; /* 4-byte struct alignment */
16158 uint8 enable; /* 1 - enable, 0 - disable */
16159 uint8 pad[3]; /* 4-byte struct alignment */
16167 uint8 pad[2]; /* 4-byte struct alignment */
16191 uint8 pad[3]; /* 4-byte struct alignment */
16199 uint8 pad[2]; /* 4-byte struct alignment */
16206 uint8 index; /* TCP connection index, 0 to max-1 */
16207 uint8 ip_addr_type; /* 0 - IPv4, 1 - IPv6 */
16218 * offset 0 - local IPv4
16219 * offset 4 - remote IPv4
16220 * offset 8 - TCP keepalive request packet
16221 * offset 8+request_length - TCP keepalive response packet
16223 * offset 0 - local IPv6
16224 * offset 16 - remote IPv6
16225 * offset 32 - TCP keepalive request packet
16226 * offset 32+request_length - TCP keepalive response packet
16232 uint8 index; /* TCP connection index, 0 to max-1 */
16233 uint8 pad[3]; /* 4-byte struct alignment */
16237 uint8 enable; /* 1 - enable, 0 - disable */
16238 uint8 pad[3]; /* 4-byte struct alignment */
16507 uint16 pad; /* 4-byte boundary padding */
16549 uint8 min_ap_count; /* Min FTM ranges requested (1-15) */
16587 uint16 pad; /* 4-byte boundary padding */
16639 uint8 type; /* Type- EVENT_LOG_SET_TYPE_DEFAULT or EVENT_LOG_SET_TYPE_PRSRV */
16654 wl_el_set_type_v1_t set_type[1]; /* set-Type Values Array */
16678 wl_stamon_cfg_cmd_type_t cmd; /**< 0 - delete, 1 - add */
16809 /** IO Var Operations - the Value of iov_op In wlc_ap_doiovar */
16811 WLC_AP_IOV_OP_DELETE = -1,
16863 uint8 mws_wci2_data; /**< BT-SIG msg */
16903 *34-48, 52-56, 60-64, 100-102
16906 * 104, 108-112, 116-120, 124-128,
16907 * 132-136, 140, 149-151
16910 * 153, 157-161, 165
16915 uint32 config; /**< MODE: AUTO (-1), Disable (0), Enable (1) */
17045 WL_PROXD_METHOD_RSVD1 = 1, /**< backward compatibility - RSSI, not supported */
17047 WL_PROXD_METHOD_RSVD2 = 3, /**< 11v only - if needed */
17058 WL_FTM_TYPE_NTB = 3, /* 11az Non-trigger based */
17075 WL_PROXD_FLAG_MBURST_FOLLOWUP = 0x00000200, /* new multi-burst algorithm */
17089 WL_PROXD_SESSION_FLAG_ONE_WAY = 0x00000004, /**< (initiated) 1-way rtt */
17098 WL_PROXD_SESSION_FLAG_TS1 = 0x00000800, /**< e.g. FTM1 - ASAP-capable */
17109 WL_PROXD_SESSION_FLAG_PRE_SCAN = 0x00400000, /* enable pre-scan for asap=1 */
17111 WL_PROXD_SESSION_FLAG_VHTACK = 0x01000000, /* vht ack is in use - output only */
17112 WL_PROXD_SESSION_FLAG_BDUR_NOPREF = 0x02000000, /* burst-duration: no preference */
17117 WL_PROXD_SESSION_FLAG_MBURST_FOLLOWUP = 0x40000000, /* new mburst algo - reserved */
17139 #define WL_FTM_SESSION_FLAG_ASAP_CAPABLE 0x0000000000000800llu /* ASAP-capable */
17150 #define WL_FTM_SESSION_FLAG_PRE_SCAN 0x0000000000400000llu /* pre-scan for asap=1 */
17153 #define WL_FTM_SESSION_FLAG_BDUR_NOPREF 0x0000000002000000llu /* burst-duration no pref */
17216 /** time units - mc supports up to 0.1ns resolution */
17265 * ids 1..0x7fff - allocated by host/app
17266 * ids 0x8000..0xffff - allocated by firmware, used for auto-rx
17278 #define WL_PROXD_SID_EXT_BLK_START(_i) (WL_PROXD_SID_EXT_MAX - (_i) * WL_PROXD_SID_EXT_BLKSZ + 1)
17279 #define WL_PROXD_SID_EXT_BLK_END(_start) ((_start) + WL_PROXD_SID_EXT_BLKSZ - 1)
17297 /** status - TBD BCME_ vs proxd status - range reserved for BCME_ */
17299 WL_PROXD_E_LAST = -1056,
17300 WL_PROXD_E_NOAVAIL = -1056,
17301 WL_PROXD_E_EXT_SCHED = -1055,
17302 WL_PROXD_E_NOT_BCM = -1054,
17303 WL_PROXD_E_FRAME_TYPE = -1053,
17304 WL_PROXD_E_VERNOSUPPORT = -1052,
17305 WL_PROXD_E_SEC_NOKEY = -1051,
17306 WL_PROXD_E_SEC_POLICY = -1050,
17307 WL_PROXD_E_SCAN_INPROCESS = -1049,
17308 WL_PROXD_E_BAD_PARTIAL_TSF = -1048,
17309 WL_PROXD_E_SCANFAIL = -1047,
17310 WL_PROXD_E_NOTSF = -1046,
17311 WL_PROXD_E_POLICY = -1045,
17312 WL_PROXD_E_INCOMPLETE = -1044,
17313 WL_PROXD_E_OVERRIDDEN = -1043,
17314 WL_PROXD_E_ASAP_FAILED = -1042,
17315 WL_PROXD_E_NOTSTARTED = -1041,
17316 WL_PROXD_E_INVALIDMEAS = -1040,
17317 WL_PROXD_E_INCAPABLE = -1039,
17318 WL_PROXD_E_MISMATCH = -1038,
17319 WL_PROXD_E_DUP_SESSION = -1037,
17320 WL_PROXD_E_REMOTE_FAIL = -1036,
17321 WL_PROXD_E_REMOTE_INCAPABLE = -1035,
17322 WL_PROXD_E_SCHED_FAIL = -1034,
17323 WL_PROXD_E_PROTO = -1033,
17324 WL_PROXD_E_EXPIRED = -1032,
17325 WL_PROXD_E_TIMEOUT = -1031,
17326 WL_PROXD_E_NOACK = -1030,
17327 WL_PROXD_E_DEFERRED = -1029,
17328 WL_PROXD_E_INVALID_SID = -1028,
17329 WL_PROXD_E_REMOTE_CANCEL = -1027,
17330 WL_PROXD_E_CANCELED = -1026, /**< local */
17331 WL_PROXD_E_INVALID_SESSION = -1025,
17332 WL_PROXD_E_BAD_STATE = -1024,
17333 WL_PROXD_E_START = -1024,
17334 WL_PROXD_E_ERROR = -1,
17370 WL_PROXD_SESSION_STATE_DESTROYING = -1
17400 WL_PROXD_RESULT_FLAG_NLOS = 0x0001, /**< LOS - if available */
17401 WL_PROXD_RESULT_FLAG_LOS = 0x0002, /**< NLOS - if available */
17413 uint8 id; /**< id for the sample - non-zero */
17458 uint8 id; /**< id for the sample - non-zero */
17580 * status tlv - not supported for ftm method
17638 _lat_err = (_lci)->data[(_off)] & 0x3f; \
17639 _lat = (_lci)->data[(_off)+1]; \
17640 _lat |= (_lci)->data[(_off)+2] << 8; \
17641 _lat |= (_lci)->data[_(_off)+3] << 16; \
17642 _lat |= (_lci)->data[(_off)+4] << 24; \
17644 _lat |= (_lci)->data[(_off)] >> 6; \
17649 _long_err = (_lci)->data[(_off)] & 0x3f; \
17650 _lcilong = (_lci)->data[(_off)+1]; \
17651 _lcilong |= (_lci)->data[(_off)+2] << 8; \
17652 _lcilong |= (_lci)->data[_(_off)+3] << 16; \
17653 _lcilong |= (_lci)->data[(_off)+4] << 24; \
17655 _lcilong |= (_lci)->data[(_off)] >> 6; \
17660 _alt_type = (_lci)->data[_off] & 0x0f; \
17661 _alt_err = (_lci)->data[(_off)] >> 4; \
17662 _alt_err |= ((_lci)->data[(_off)+1] & 0x03) << 4; \
17663 _alt = (_lci)->data[(_off)+2]; \
17664 _alt |= (_lci)->data[(_off)+3] << 8; \
17665 _alt |= (_lci)->data[_(_off)+4] << 16; \
17667 _alt |= (_lci)->data[(_off) + 1] >> 2; \
17670 #define WL_PROXD_LCI_VERSION(_lci) ((_lci)->data[15] >> 6)
17691 /** proxd channel-time slot */
17703 wl_proxd_time_slot_t slots[1]; /**< ROM compat - not used */
17707 #define WL_PROXD_AVAIL24_TIMESLOT(_avail24, _i) (&(_avail24)->ts0[(_i)])
17722 #define WL_PROXD_AVAIL_TIMESLOT(_avail, _i) (&(_avail)->slots[(_i)])
17750 /** tlv IDs - data length 4 bytes unless overridden by type, alignment 32 bits */
17758 WL_PROXD_TLV_ID_BURST_DURATION = 6, /**< intvl - length of burst */
17759 WL_PROXD_TLV_ID_BURST_PERIOD = 7, /**< intvl - between bursts */
17760 WL_PROXD_TLV_ID_BURST_FTM_SEP = 8, /**< intvl - between FTMs */
17761 WL_PROXD_TLV_ID_BURST_NUM_FTM = 9, /**< uint16 - per burst */
17766 WL_PROXD_TLV_ID_INIT_DELAY = 14, /**< intvl - optional,non-standalone only */
17767 WL_PROXD_TLV_ID_BURST_TIMEOUT = 15, /**< expect response within - intvl */
17768 WL_PROXD_TLV_ID_EVENT_MASK = 16, /**< interested events - in/out */
17769 WL_PROXD_TLV_ID_FLAGS_MASK = 17, /**< interested flags - in only */
17779 WL_PROXD_TLV_ID_RX_MAX_BURST = 27, /**< uint16 - limit bursts per session */
17786 WL_PROXD_TLV_ID_TLV_ID = 34, /* uint16 tlv-id */
17793 /* output - 512 + x */
17881 /** proxd iovar - applies to proxd, method or session */
17907 WL_PROXD_EVENT_BURST_RESCHED = 8, /**< burst rescheduled-e.g. partial TSF */
17912 WL_PROXD_EVENT_VS_INITIATOR_RPT = 13, /**< (target) rx initiator-report */
17924 /** proxd event mask - upto 32 events for now */
17932 /** proxd event - applies to proxd, method or session */
18023 * 0-10, 11-20, 21-30, 31-255. A WLC_E_BSS_LOAD event is generated each time
18057 uint32 subcmd; /**< Sub-command for chanspec add/rel etc.. */
18087 #define WL_CU_2G_ROAM_TRIGGER (-60)
18088 #define WL_CU_5G_ROAM_TRIGGER (-70)
18111 /* if channel_usage if non-zero, roam_delta is score delta(%) required for new AP */
18135 /* if channel_usage if non-zero, roam_delta is score delta(%) required for new AP */
18157 /* if channel_usage if non-zero, roam_delta is score delta(%) required for new AP */
18177 /* if channel_usage if non-zero, roam_delta is score delta(%) required for new AP */
18294 * 0 - Create a STA interface
18295 * 1 - Create an AP interface
18325 * 0 - Ignore mac_addr field
18326 * 1 - Use the mac_addr field
18334 * 0 - Ignore wlc_index field
18335 * 1 - Use the wlc_index field
18342 * 0 - Ignore if_index field
18343 * 1 - Use the if_index field
18349 * 0 - Ignore bssid field
18350 * 1 - Use the bssid field
18495 #define WLC_BTC_AIBSS_STATUS_LEN (sizeof(wlc_btc_aibss_status_t) - 2 * (sizeof(uint16)))
18511 /* WLAN -> BT */
18517 /* BT -> WLAN */
18531 uint32 bt2wl_intrcnt; /* bt->wlan interrrupt count */
18532 uint32 wl2bt_intrcnt; /* wlan->bt interrupt count */
18612 uint8 pad[3]; /* 4-byte alignment */
18616 #define WL_BCNTRIM_CURR_SLICE_ID_MASK 0x0Fu /* bits 0-3 for curr_slice_id */
18627 uint8 pad[2]; /* 4-byte alignment */
18693 uint8 pad[2]; /* 4-byte alignment */
18701 /* -------------- TX Power Cap --------------- */
18786 * The index into pwrs will be: 0: onbody-cck, 1: onbody-ofdm, 2:offbody-cck, 3:offbody-ofdm
18788 * For 5G power in SDB case as well as for non-SDB case, the value of flag will be: CAP_ONOFF_BODY
18789 * The index into pwrs will be: 0: onbody, 1: offbody-ofdm
18856 * On main,-non-sdb follows by sdb2g and then sdb5g
18857 * On aux slice - aux2g then aux5g.
18922 * pwrs array has TXPWRCAP_MAX_STATES rows - one for each cap state.
18923 * Each row has up to TXPWRCAP_MAX_NUM_CORES entries - one for each core.
18935 * pwrs array has TXPWRCAP_MAX_STATES rows - one for each cap state.
18936 * Each row has up to TXPWRCAP_MAX_NUM_ANTENNAS entries - for each antenna.
18990 uint8 util_pred; /* utilization of past (observe - budget) & predicted budget sec */
19137 uint16 id; /* ID of the sub-command */
19238 uint32 txpspoll; /**< Number of TX PS-poll */
19296 uint32 txpspoll; /**< Number of TX PS-poll */
19358 uint32 txpspoll; /**< Number of TX PS-poll */
19421 uint32 txpspoll; /**< Number of TX PS-poll */
19679 uint8 num_pending; /* Number of pending non-bt */
19680 uint8 num_active; /* Number of active non-bt */
19772 * 0 - D2H and 1 - H2D
19796 /* -------------- dynamic BTCOEX --------------- */
19801 #define DCTL_FLAGS_DYNCTL (1 << 0) /**< 1 - enabled, 0 - legacy only */
19810 #define IS_DYNCTL_ON(prof) ((prof->flags & DCTL_FLAGS_DYNCTL) != 0)
19811 #define IS_DESENSE_ON(prof) ((prof->flags & DCTL_FLAGS_DESENSE) != 0)
19812 #define IS_MSWITCH_ON(prof) ((prof->flags & DCTL_FLAGS_MSWITCH) != 0)
19813 #define IS_PWRCTRL_ON(prof) ((prof->flags & DCTL_FLAGS_PWRCTRL) != 0)
19837 /* dynctl profile flags bit:0 - dynctl On, bit:1 dsns On, bit:2 mode sw On, */
19838 uint8 flags; /**< bit[6:3] reserved, bit7 - Dryrun (sim) - On */
19887 uint8 kck[RSN_KCK_LENGTH]; /**< EAPOL-Key Key Confirmation Key (KCK) */
19888 uint8 kek[RSN_KEK_LENGTH]; /**< EAPOL-Key Key Encryption Key (KEK) */
19912 FBTIE (ANonce, SNonce,R0KH-ID, R1KH-ID)
19959 uint32 buff_addr_start; /* in word-size (2-bytes) */
19960 uint32 buff_addr_end; /* note: Tcl in byte-size, HW in vector-size (8-bytes) */
20049 uint16 rate_user[4]; /**< rate per each of four users, set to -1 for no change */
20053 #define WL_MU_GROUP_AUTO_COMMAND -1
20066 #define WL_MU_GROUP_ENTRY_EMPTY -1
20153 * and 'Primary Operational Bandwidth' sub-fields in 'ULB Operations' field (used in
20366 /* nd_ra_ol_limits sub-types */
20398 /* Data structures for non-TLV format */
20406 /* Bit-0 in flags is used to indicate if the cores can operate synchronously
20408 * 0 - device can operate only in rsdb mode (eg: 4364)
20409 * 1 - device can operate in both rsdb and mimo (eg : 4359 variants)
20553 sched_flag_t sched_flags; /* (sdb-tdm or sdb-sb or Dual-Time) */
20570 #define SLOTTED_BSS_HE_1024_QAM_SUPPORT (1 << 2) /* MCS10-11 Support */
20868 uint32 four_way_hs_fail; /* No of 4-way handshake fails */
20916 /* Health Check: Common XTLV IDs for sub-elements in the top level container
20920 WL_HC_XTLV_ID_ERR = 0x8000, /* for sub-command err return */
21239 * - flow id for individual TWT (when WL_TWT_FLOW_FLAG_BROADCAST bit is NOT set
21241 * - flow id as defined in Table 8-248l1 for broadcast TWT (when
21261 uint8 channel; /* Twt channel - Not used for now */
21263 uint8 frame_recomm; /* frame recommendation for broadcast TWTs - Not used for now */
21265 uint32 wake_time_h; /* target wake time - BSS TSF (us) */
21273 /* deprecated - to be removed */
21289 uint8 channel; /* Twt channel - Not used for now */
21291 uint8 frame_recomm; /* frame recommendation for broadcast TWTs - Not used for now */
21293 uint32 wake_time_h; /* target wake time - BSS TSF (us) */
21315 uint32 wake_time_h; /* target wake time - BSS TSF (us) */
21337 /* Deprecated - To be removed */
21343 #define WL_TWT_FLOW_ID_GID_MASK 0x70u /* group id - broadcast TWT only */
21395 struct ether_addr peer; /* Peer address - leave it all 0s' for AP */
21404 uint16 dialog; /* Deprecated - to be removed */
21427 bool alltwt; /* all twt teardown - 0 or 1 */
21439 /* deprecated - to be removed - Start here */
21443 /* deprecated - to be removed - End here */
21455 /* deprecated - to be removed */
21464 /* deprecated - to be removed */
21482 /* deprecated - to be removed */
21652 WL_EHT_CMD_FEATURES = 2u, /* configure EHT sub-features */
21662 /* Full length of buffer (includes this structure and space for TLV-encoded PPR) */
21672 /* Input. 0-based antenna index */
21680 /* Output. Length of TLV-encoded PPR data that follows this structure */
21682 /* Output. Beginning of buffer for TLV-encoded PPR data */
21690 /* Output. Limits taken from product-specific country data */
21692 /* Output. Limits taken from product-specific worldwide data */
21694 /* Output. Limits taken from country-default (all-product) data */
22069 WL_OTP_XTLV_SBOOT_JTAG_PROTECT_DIS = 16u, /* JTAG protect re-enable bit */
22101 /* pad for 32-bit alignment */
22138 * 0-disable, 0xffff-indefinite, num_events otherwise
22546 uint8 band; /* band - 2G or 5G */
22657 /* --- BTCX WiFi Protection (btc_wifi_prot iovar) --- */
22671 uint32 enable; /* enable/disable m1-m4 protection */
22678 /* --- End BTCX WiFi Protection --- */
22680 /* --- BTCX ULMU disable (btc_ulmu_config iovar) --- */
22691 /* --- End BTCX ULMU config --- */
22749 /* Per-interface reportable stats types */
22765 /* For AMPDU stat sub-types requested in a different format */
22767 * report sub-types in pairs so host can sum and add.
22786 /* Per-slice information
22787 * Per-interface reporting could also include slice specific data
22791 /* Per-slice AMPDU stats */
22794 /* Per-slice BTCOEX stats */
22804 /* Per-slice LTECOEX stats */
22822 /* Per-slice BTCOEX task duration stats */
22824 /* Per-slice RC1 COEX (NR5G Coex) stats */
22826 /* Per-slice RC1 COEX (RC1 Coex) stats for trunk and future branches */
22828 /* Per-slice sta offload stats */
22830 /* Per-Slice [only aux] btcec sc stats */
22832 /* Per-Slice sc lq stats */
22834 /* Per-slice RC2 COEX stats */
22837 /* Per-interface */
22846 /* AMPDU stats on per-IF */
22857 /* Event statistics on per-IF */
23112 WL_TVPM_REQ_PERIOD, /* req_value: int32, range {-1,1-10} */
23120 uint16 tx_dutycycle; /* a percentage: 1-100 */
23121 int16 tx_power_backoff; /* 0...-6 */
23132 uint16 tx_dutycycle; /* a percentage: 1-100 */
23133 int16 tx_power_backoff; /* 0...-6 */
23369 uint8 enable; /* 1 - enable, 0 - disable */
23370 uint8 pad[3]; /* 4-byte struct alignment */
23443 uint8 wpa_state; /* wpa->state */
23448 uint32 wsec; /* bsscfg->wsec */
23449 uint32 wpa_auth; /* bsscfg->WPA_auth */
23527 uint8 data[]; /* sub option + pattern matching(OUI,type,sub-type) */
23535 uint8 option; /* Filter action - check for suboption */
23537 uint32 pktflag; /* frame type - FC_XXXX */
23588 uint8 id; /* ID of the sub-command */
23617 /* SAE status codes are reserved from -3072 to -4095 (1K) */
23620 WL_SAE_E_AUTH_FAILURE = -3072,
23622 WL_SAE_E_AUTH_DISCARD = -3073,
23624 WL_SAE_E_AUTH_CONTINUE = -3074,
23626 WL_SAE_E_AUTH_COMMIT_INVALID = -3075,
23628 WL_SAE_E_AUTH_CONFIRM_INVALID = -3076,
23630 WL_SAE_E_CRYPTO_SCALAR_VALIDATION = -3077,
23632 WL_SAE_E_CRYPTO_ELE_PRIME_VALIDATION = -3078,
23634 WL_SAE_E_CRYPTO_ELE_NOT_ON_CURVE = -3079,
23636 WL_SAE_E_CRYPTO_EC_ERROR = -3080,
23638 WL_SAE_E_CRYPTO_EQUAL_MACADDRS = -3081,
23640 WL_SAE_E_CRYPTO_SCALAR_ITER_EXCEEDED = -3082,
23642 WL_SAE_E_CRYPTO_UNSUPPORTED_GROUP = -3083,
23643 /* Exceeded the hunting-and-pecking counter */
23644 WL_SAE_E_CRYPTO_PWE_COUNTER_EXCEEDED = -3084,
23646 WL_SAE_E_CRYPTO_NOT_INITED = -3085,
23648 WL_SAE_E_CRYPTO_BN_GET_ERROR = -3086,
23650 WL_SAE_E_CRYPTO_BN_SET_ERROR = -3087,
23652 WL_SAE_E_CRYPTO_PMK_UNAVAILABLE = -3088,
23654 WL_SAE_E_CRYPTO_CONFIRM_MISMATCH = -3089,
23656 WL_SAE_E_CRYPTO_KEY_AT_INFINITY = -3090,
23658 WL_SAE_E_CRYPTO_PRIV_MAGIC_MISMATCH = -3091,
23660 WL_SAE_E_MAX_RETRY_LIMIT_REACHED = -3092
23663 /* PMK manager block. Event codes from -5120 to -6143 */
23667 WL_PMK_E_PSK_HASH_FAILED = -5120,
23668 WL_PMK_E_PSK_HASH_DONE = -5121,
23669 WL_PMK_E_PSK_HASH_RUNNING = -5122,
23670 WL_PMK_E_PSK_INVALID = -5123,
23671 WL_PMK_E_PSK_NOMEM = -5124
23790 WL_RXSIG_CMD_RSSIANT = 0x3, /**< rssi moving avg per-ant */
23791 WL_RXSIG_CMD_SNRANT = 0x4, /**< snr moving avg per-snr */
23909 uint16 htr_rnidx; /* htr_running[rnidx-1] has latest data */
23910 uint16 htr_rcidx; /* htr_rc[rcidx-1] has latest data */
23939 uint16 htr_rnidx; /* htr_running[rnidx-1] has latest data */
23940 uint16 htr_rcidx; /* htr_rc[rcidx-1] has latest data */
23969 #define WL_CLM_EDCRS_EU 0x04u /**< Use EU post-2015 energy detect */
24000 /* WBUS sub-command IDs for unit test */
24043 /* btcec - bt schedule id's */
24206 #define KEY_UPD_FLAG_ADD_KEY 0x1 /* 0 - Removal, 1 - Add key */
24304 int32 status; /* Processed status - Set by FW */
24305 uint32 options; /* Command Process Options - Set by Host */
24457 uint16 dlmu_rsd_rcm_reason; /* DL MU-MIMO recommendation reasons bitmap */
24469 uint16 max_latency; /* Max latency by AP to re-act for UL OFDMA disable request (ms) */
24470 uint16 min_latency; /* Min latency by AP to re-act for UL OFDMA disable request (ms) */
24471 uint16 avg_latency; /* Avg latency by AP to re-act for UL OFDMA disable request (ms) */
24474 /* sub-xtlv IDs within WL_STATS_XTLV_WL_SLICE_TX_HISTOGRAMS */
24507 /* sub-xtlv IDs within WL_STATS_XTLV_WL_SLICE_TX_HISTOGRAMS */
24551 /* sub-xtlv IDs within WL_STATS_XTLV_WL_SLICE_TX_QUEUE_DEPTH */
24608 /* sub-xtlv IDs within WL_STATS_XTLV_BUS_PCIE_TX_HISTOGRAMS */
24616 uint16 pad; /* 4-byte alignment */
24629 /* sub-xtlv IDs within WL_STATS_XTLV_BUS_PCIE_TX_QUEUE_DEPTH */
24639 uint16 pad; /* 4-byte alignment */
24702 /* Reasons for re-setting RC ROAM params */
24745 #define DEF_SROAM_MIN_RSSI -65
24750 #define MAX_SROAM_RSSI -70
24777 uint8 pad[2]; /* 4-byte struct alignment */
24828 uint16 edt_retry; /* Exceed due to - retry */
24831 uint16 edt_nav_thresh; /* Exceed due to - NAV threshold */
24832 uint16 edt_dc_def; /* Exceed due to - DC based deferral */
24833 uint16 edt_tx_fifo_full; /* Exceed due to - Tx FIFO full */
24834 uint16 edt_cts_thresh; /* Exceed due to - CTS threshold */
24860 uint8 slice_idx; /* Slice idx BAND_2G_INDEX - 0 / BAND_5G_INDEX - 1 */
24875 uint16 n_overrides; /* # of overrides - this is only trig_wlc */
25091 #define TX_PROFILE_IOV_OPTION_SIZE (sizeof(wlc_tx_profile_ioc_t) - TX_PROFILE_IOV_HDR_SIZE)
25177 /* SOE status codes are reserved from -6144 to -7167 (1K) */
25181 WL_SOE_E_BAD_OP_CONTEXT = -6144,
25184 WL_SOE_E_BAD_OP_TYPE = -6145,
25187 WL_SOE_E_BN_GET_NAF3_ERROR = -6146,
25190 WL_SOE_E_ECG_GET_NAF3_PARAMS_ERROR = -6147,
25193 WL_SOE_E_MONT_PARAMS_GET_ERROR = -6148,
25196 WL_SOE_E_BAD_SI_OSH = -6149,
25199 WL_SOE_E_BAD_ECG_GROUP = -6150,
25202 WL_SOE_E_BAD_BN_CTX = -6151,
25205 WL_SOE_E_BAD_SOE_REGBASE = -6152,
25208 WL_SOE_E_BAD_SOE_CONTXT = -6153,
25213 WL_SOE_E_PKA_SEQUENCE_WORDS_TOO_SHORT = -6154,
25216 WL_SOE_E_PKA_BN_GET_ERROR = -6155,
25219 WL_SOE_E_PKA_BN_BUF_TOO_SHORT_BN = -6156,
25222 WL_SOE_E_PKA_BN_BUF_TOO_SHORT_ECG_PRIME = -6157,
25225 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_MONT_PRIME = -6158,
25228 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_ACCM_REG = -6159,
25231 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_P = -6160,
25233 /* Sequence buf too short for -P */
25234 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_PN = -6161,
25237 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_3P = -6162,
25239 /* Sequence buf too short for -3P */
25240 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_3PN = -6163,
25243 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_NAF3_SCALAR = -6164,
25246 WL_SOE_E_PKA_SEQ_BUF_TOO_SHORT_PRE_JMP = -6165,
25249 WL_SOE_E_ENGINE_UNABLE_TO_COMPLETE = -6166,
25252 WL_SOE_E_PKA_BAD_LIR_TYPE = -6167,
25255 WL_SOE_E_MAX_REF_COUNT_REACHED = -6168,
25258 WL_SOE_E_GET_REF_FAILED = -6169,
25261 WL_SOE_E_SHA_WRONG_DIGEST_LEN = -6170
25410 uint16 phy_sensing_duration; /* PHY OBSS sensing duration in msec */
25453 uint8 sc_offload_rssi_hyst; /* Hysteresis for the RSSI threshold, 0 - RSSI_HYST_MAX */
25610 #define ROAMRSSI_2G_DEFAULT -128
25611 #define ROAMRSSI_2G_MAX -70
25612 #define ROAMRSSI_2G_MIN -128
25613 #define ROAMRSSI_5G_DEFAULT -128
25614 #define ROAMRSSI_5G_MAX -70
25615 #define ROAMRSSI_5G_MIN -128
25687 #define WLC_BCN_DRIFT_DRIFT_THRESHOLD_MIN (-4)
25690 #define WLC_BCN_DRIFT_JITTER_THRESHOLD_MIN (-2)
25696 uint8 tbtt_bcn_off; /* num btw (5-15u) for uatbtt */
25720 uint8 threshold; /* Amount of Tx-Blanking in percentage considered as failed scan. */
25721 uint8 scan_mode; /* Scan mode in which scan need to be re-scheduled. */
25732 uint8 threshold; /* Amount of Tx-Blanking + the weighted
25737 *re-scheduled..
25764 uint16 pad; /* padding for 32-bit struct alignment */
25841 * Only IOV batching support - see bcmiov.h
25847 /* SAE sub-commands */