/** @file tlv.h
|
*
|
* @brief Definitions of the Marvell TLV and parsing functions.
|
*
|
*
|
* Copyright (C) 2014-2017, Marvell International Ltd.
|
*
|
* This software file (the "File") is distributed by Marvell International
|
* Ltd. under the terms of the GNU General Public License Version 2, June 1991
|
* (the "License"). You may use, redistribute and/or modify this File in
|
* accordance with the terms and conditions of the License, a copy of which
|
* is available by writing to the Free Software Foundation, Inc.,
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
|
* worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
*
|
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
|
* ARE EXPRESSLY DISCLAIMED. The License provides additional details about
|
* this warranty disclaimer.
|
*/
|
|
/*****************************************************************************
|
*
|
* File: tlv.h
|
*
|
*
|
*
|
* Author(s): Kapil Chhabra
|
* Date: 2005-01-27
|
* Description: Definitions of the Marvell TLV and parsing functions.
|
*
|
*****************************************************************************/
|
#ifndef TLV_H__
|
#define TLV_H__
|
|
#include "IEEE_types.h"
|
|
#define PROPRIETARY_TLV_BASE_ID 0x0100
|
|
/* Terminating TLV Type */
|
#define MRVL_TERMINATE_TLV_ID 0xffff
|
|
/* Defines for MRVL TLV IDs*/
|
|
/* IEEE TLVs*/
|
#define MRVL_SSID_TLV_ID 0x0000
|
#define MRVL_RATES_TLV_ID 0x0001
|
#define MRVL_PHYPARAMFHSET_TLV_ID 0x0002
|
#define MRVL_PHYPARAMDSSET_TLV_ID 0x0003
|
#define MRVL_CFPARAMSET_TLV_ID 0x0004
|
#define MRVL_IBSSPARAMSET_TLV_ID 0x0006
|
#define MRVL_COUNTRY_TLV_ID 0x0007
|
#define MRVL_PWR_CONSTRAINT_TLV_ID 0x0020
|
#define MRVL_PWR_CAPABILITY_TLV_ID 0x0021
|
#define MRVL_SUPPORTEDCHANNELS_TLV_ID 0x0024
|
#define MRVL_QUIET_TLV_ID 0x0028
|
#define MRVL_IBSSDFS_TLV_ID 0x0029
|
#define MRVL_HT_CAPABILITY_TLV_ID 0x002d
|
#define MRVL_QOSCAPABILITY_TLV_ID 0x002e
|
#define MRVL_RSN_TLV_ID 0x0030
|
#define MRVL_SUPPORTED_REGCLASS_TLV_ID 0x003b
|
#define MRVL_HT_INFORMATION_TLV_ID 0x003d
|
#define MRVL_SECONDARY_CHAN_OFFSET 0x003e
|
#define MRVL_2040_BSS_COEX_TLV_ID 0x0048
|
#define MRVL_OVERLAP_BSS_SCAN_TLV_ID 0x004a
|
#define MRVL_EXTENDED_CAP_TLV_ID 0x007f
|
#define MRVL_VHT_CAPABILITIES_TLV_ID 0x00bf
|
#define MRVL_VHT_OPERATION_TLV_ID 0x00c0
|
#define MRVL_AID_TLV_ID 0x00c5
|
#define MRVL_VHT_OPMODENTF_TLV_ID 0x00c7
|
#define MRVL_VENDORSPECIFIC_TLV_ID 0x00dd
|
|
/* Some of these TLV ids are used in ROM and should not be updated.
|
** You can confirm if it is not being used in rom then it can be updated.
|
*/
|
/* Proprietary TLVs */
|
#define MRVL_KEYPARAMSET_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x00)
|
#define MRVL_CHANNELLIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x01)
|
#define MRVL_NUMPROBES_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x02)
|
#define MRVL_OMNI_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x03)
|
#define MRVL_RSSITHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x04)
|
#define MRVL_SNRTHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x05)
|
#define MRVL_BCNLOWRSSITHRESHOLD_TLV_ID MRVL_RSSITHRESHOLD_TLV_ID
|
#define MRVL_BCNLOWSNRTHRESHOLD_TLV_ID MRVL_SNRTHRESHOLD_TLV_ID
|
#define MRVL_FAILURECOUNT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x06)
|
#define MRVL_BEACONMISSED_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x07)
|
#define MRVL_LEDGPIO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x08)
|
#define MRVL_LEDBEHAVIOR_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x09)
|
#define MRVL_PASSTHROUGH_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x0a)
|
#define MRVL_REASSOCAP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x0b)
|
#define MRVL_POWER_TBL_2_4GHZ_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x0c)
|
#define MRVL_POWER_TBL_5GHZ_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x0d)
|
/* sending Brocast SSID */
|
#define MRVL_BCASTPROBE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x0e)
|
/* number of SSIDs for which directed probes need to be generated */
|
#define MRVL_NUMSSIDPROBE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x0f)
|
#define MRVL_WMMQSTATUS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x10)
|
#define MRVL_CRYPTO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x11)
|
#define MRVL_WILDCARD_SSID_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x12)
|
#define MRVL_TSFTIMESTAMP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x13)
|
#define MRVL_POWER_ADAPT_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x14)
|
#define MRVL_HOSTSLEEP_FILTER_TYPE1_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x15)
|
#define MRVL_BCNHIGHRSSITHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x16)
|
#define MRVL_BCNHIGHSNRTHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x17)
|
#define MRVL_AUTOTX_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x18)
|
#define MRVL_WSC_SELECTED_REGISTRAR_TLV (PROPRIETARY_TLV_BASE_ID + 0x19)
|
#define MRVL_WSC_ENROLLEE_TMO_TLV (PROPRIETARY_TLV_BASE_ID + 0x1a)
|
#define MRVL_WSC_ENROLLEE_PROBE_REQ_TLV (PROPRIETARY_TLV_BASE_ID + 0x1b)
|
#define MRVL_WSC_REGISTRAR_BEACON_TLV (PROPRIETARY_TLV_BASE_ID + 0x1c)
|
#define MRVL_WSC_REGISTRAR_PROBE_RESP_TLV (PROPRIETARY_TLV_BASE_ID + 0x1d)
|
#define MRVL_STARTBGSCANLATER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x1e)
|
#define MRVL_AUTHTYPE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x1f)
|
#define MRVL_STA_MAC_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x20)
|
#define MRVL_CUSTOM_ADHOC_PROBE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x21)
|
#define MRVL_CUSTOM_ADHOC_PYXIS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x22)
|
#define MRVL_CUSTOM_BSSID_LIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x23)
|
#define MRVL_CUSTOM_LINK_INDICATION_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x24)
|
#define MRVL_MESHIE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x25)
|
#define MRVL_DATA_LOWRSSITHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x26)
|
#define MRVL_DATA_LOWSNRTHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x27)
|
#define MRVL_DATA_HIGHRSSITHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x28)
|
#define MRVL_DATA_HIGHSNRTHRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x29)
|
#define MRVL_CHANNELBANDLIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x2a)
|
#define MRVL_AP_MAC_ADDRESS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x2b)
|
#define MRVL_BEACON_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x2c)
|
#define MRVL_DTIM_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x2d)
|
#define MRVL_BASIC_RATES_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x2e)
|
#define MRVL_TX_POWER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x2f)
|
#define MRVL_BCAST_SSID_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x30)
|
#define MRVL_PREAMBLE_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x31)
|
#define MRVL_ANTENNA_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x32)
|
#define MRVL_RTS_THRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x33)
|
#define MRVL_RADIO_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x34)
|
#define MRVL_TX_DATA_RATE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x35)
|
#define MRVL_PKT_FWD_CTL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x36)
|
#define MRVL_STA_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x37)
|
#define MRVL_STA_MAC_ADDR_FILTER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x38)
|
#define MRVL_STA_AGEOUT_TIMER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x39)
|
#define MRVL_SECURITY_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x3a)
|
#define MRVL_WEP_KEY_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x3b)
|
#define MRVL_WPA_PASSPHRASE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x3c)
|
#define MRVL_SCAN_TIMING_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x3d)
|
#define MRVL_NEIGHBOR_ENTRY_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x3e)
|
#define MRVL_NEIGHBOR_SCAN_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x3f)
|
#define MRVL_ENCRYPTION_PROTOCOL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x40)
|
#define MRVL_AKMP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x41)
|
#define MRVL_CIPHER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x42)
|
#define MRVL_OFFLOAD_ENABLE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x43)
|
#define MRVL_SUPPLICANT_PMK_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x44)
|
#define MRVL_SUPPLICANT_PASSPHRASE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x45)
|
#define MRVL_FRAG_THRESHOLD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x46)
|
#define MRVL_GRP_REKEY_TIME_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x47)
|
#define MRVL_ICV_ERROR_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x48)
|
#define MRVL_PRE_BEACONMISSED_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x49)
|
#define MRVL_OLD_HT_CAPABILITY_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x4a)
|
#define MRVL_OLD_HT_INFORMATION_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x4b)
|
#define MRVL_OLD_SECONDARY_CHAN_OFFSET_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x4c)
|
#define MRVL_OLD_2040_BSS_COEX_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x4d)
|
#define MRVL_OLD_OVERLAP_BSS_SCAN_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x4e)
|
#define MRVL_OLD_EXTENDED_CAP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x4f)
|
#define MRVL_HT_OPERATIONAL_MCSSET_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x50)
|
#define MRVL_RATEDROPPATTERN_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x51)
|
#define MRVL_RATEDROPCONTROL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x52)
|
#define MRVL_RATESCOPE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x53)
|
#define MRVL_TYPES_POWER_GROUP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x54)
|
#define MRVL_MAX_STA_CNT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x55)
|
#define MRVL_BSS_SCAN_RSP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x56)
|
#define MRVL_BSS_SCAN_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x57)
|
#define MRVL_CHANRPT_BCN_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x58)
|
#define MRVL_CHANRPT_CHAN_LOAD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x59)
|
#define MRVL_CHANRPT_NOISE_HIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x5a)
|
#define MRVL_CHANRPT_11H_BASIC_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x5b)
|
#define MRVL_CHANRPT_FRAME_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x5c)
|
#define MRVL_RETRY_LIMIT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x5d)
|
#define MRVL_WAPI_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x5e)
|
#define MRVL_ASSOC_REASON_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x5f)
|
#define MRVL_ROBUST_COEX_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x60)
|
#define MRVL_ROBUST_COEX_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x61)
|
#define MRVL_MCBC_DATA_RATE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x62)
|
#define MRVL_MEASUREMENT_TIMING_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x63)
|
#define MRVL_RSN_REPLAY_PROT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x64)
|
#define MRVL_WAPI_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x67)
|
#define MRVL_MGMT_FRAME_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x68)
|
#define MRVL_MGMT_IE_LIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x69)
|
#define MRVL_AP_SLEEP_PARAM_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x6a)
|
#define MRVL_AP_INACT_SLEEP_PARAM_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x6b)
|
#define MRVL_AP_BT_COEX_COMMON_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x6c)
|
#define MRVL_AP_BT_COEX_SCO_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x6d)
|
#define MRVL_AP_BT_COEX_ACL_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x6e)
|
#define MRVL_AP_BT_COEX_STATS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x6f)
|
#define MRVL_MGMT_PASSTHRU_MASK_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x70)
|
#define MRVL_AUTO_DEEP_SLEEP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x71)
|
#define MRVL_ENHANCED_STA_POWER_SAVE_MODE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x72)
|
#define MRVL_HOSTWAKE_STADB_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x73)
|
#define MRVL_HOSTWAKE_OUI_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x74)
|
#define MRVL_EAPOL_PWK_HSK_TIMEOUT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x75)
|
#define MRVL_EAPOL_PWK_HSK_RETRIES_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x76)
|
#define MRVL_EAPOL_GWK_HSK_TIMEOUT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x77)
|
#define MRVL_EAPOL_GWK_HSK_RETRIES_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x78)
|
|
#define MRVL_OPCHAN_CONTROL_DESC_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x79)
|
#define MRVL_OPCHAN_CHANGRP_CTRL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x7a)
|
#define MRVL_PS_STA_AGEOUT_TIMER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x7b)
|
|
#define MRVL_WFD_DISC_PERIOD_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x7c)
|
#define MRVL_WFD_SCAN_ENABLE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x7d)
|
#define MRVL_WFD_SCAN_PEER_DEVICE_ID_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x7e)
|
#define MRVL_WFD_REQ_DEVICE_TYPE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x7f)
|
#define MRVL_WFD_DEVICE_STATE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x80)
|
#define MRVL_WFD_INTENT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x81)
|
#define MRVL_WFD_CAPABILITY_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x82)
|
#define MRVL_WFD_NOA_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x83)
|
#define MRVL_WFD_OPP_PS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x84)
|
#define MRVL_WFD_INVITATION_LIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x85)
|
#define MRVL_WFD_LISTEN_CHANNEL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x86)
|
#define MRVL_WFD_OPERATING_CHANNEL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x87)
|
#define MRVL_WFD_PERSISTENT_GROUP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x88)
|
#define MRVL_CHANNEL_TRPC_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x89)
|
|
#define MRVL_IEEE_ACTION_FRAME_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x8c)
|
#define MRVL_WIFI_DIRECT_PRESENCE_REQ_PARAMS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x8d)
|
#define MRVL_WIFI_DIRECT_EXTENDED_LISTEN_TIME_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x8e)
|
#define MRVL_WIFI_DIRECT_PROVISIONING_PARAMS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x8f)
|
#define MRVL_WIFI_DIRECT_WPS_PARAMS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x90)
|
#define MRVL_WIFI_DIRECT_ACTION_FRAME_SEND_TIMEOUT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb3)
|
|
#define MRVL_CIPHER_PWK_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x91)
|
#define MRVL_CIPHER_GWK_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x92)
|
#define MRVL_AP_BSS_STATUS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x93)
|
#define MRVL_TX_DATA_PAUSE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x94)
|
#define MRVL_STICKY_TIM_CONFIG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x96)
|
#define MRVL_STICKY_TIM_STA_MAC_ADDR_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x97)
|
#define MRVL_2040_BSS_COEX_CONTROL_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x98)
|
#define MRVL_KEYPARAMSET_V2_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x9c)
|
#define MRVL_RXBA_SYNC_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x99)
|
#define MRVL_PKT_COALESCE_RULE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x9a)
|
#define MRVL_NETWORK_LIST_CFG_TLV (PROPRIETARY_TLV_BASE_ID + 0X9b)
|
#define MRVL_MEF_CFG_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0x9d)
|
|
#define MRVL_WFD_SCAN_CFG_TLV (PROPRIETARY_TLV_BASE_ID + 158)
|
#define MRVL_WFD_SENDTIMEOUT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 159)
|
#define MRVL_WFD_GROUPID_TLV_ID (PROPRIETARY_TLV_BASE_ID + 160)
|
#define MRVL_WFD_DEVICE_ID_TLV_ID (PROPRIETARY_TLV_BASE_ID + 161)
|
#define MRVL_WFD_INTENDEDINTF_ADDR_TLV_ID (PROPRIETARY_TLV_BASE_ID + 162)
|
#define MRVL_WFD_STATUS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 163)
|
#define MRVL_WFD_DEVICE_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 164)
|
#define MRVL_WFD_CFG_TIMEOUT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 165)
|
#define MRVL_WFD_INVITATION_TLV_ID (PROPRIETARY_TLV_BASE_ID + 166)
|
#define MRVL_WFD_GROUP_BSSID_TLV_ID (PROPRIETARY_TLV_BASE_ID + 167)
|
#define MRVL_WFD_WPA_PSK_TLV_ID (PROPRIETARY_TLV_BASE_ID + 168)
|
#define MRVL_MAX_MGMT_IE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 170)
|
#define MRVL_REGION_DOMAIN_CODE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 171)
|
#define MRVL_AOIP_IBSS_MODE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 172)
|
#define MRVL_AOIP_MANAGE_PEERS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 173)
|
#define MRVL_AOIP_STA_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 174)
|
#define MRVL_AOIP_REMOTE_ADDR_MODE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 175)
|
#define MRVL_BGSCAN_REPEAT_CNT_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb0)
|
|
#define MRVL_TLV_USB_AGGR_PARAM (PROPRIETARY_TLV_BASE_ID + 177)
|
|
#define MRVL_PS_PARAMS_IN_HS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb5)
|
#define MRVL_HS_WAKE_HOLDOFF_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb6)
|
|
#define MRVL_MULTI_CHAN_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb7)
|
#define MRVL_MULTI_CHAN_GROUP_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb8)
|
#define MRVL_RESTRICT_CLIENT_MODE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xc1)
|
|
#define MRVL_WFD_SERVICE_HASH_TLV_ID (PROPRIETARY_TLV_BASE_ID + 195)
|
#define MRVL_WFD_SERVICES_LIST_TLV_ID (PROPRIETARY_TLV_BASE_ID + 196)
|
#define MRVL_API_VER_INFO_TLV_ID (PROPRIETARY_TLV_BASE_ID + 199)
|
|
#define MRVL_FLOOR_RATE_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xb9)
|
#define MRVL_SCAN_CHAN_GAP_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xC5)
|
#define MRVL_CHAN_STATS_TLV_ID (PROPRIETARY_TLV_BASE_ID + 0xC6)
|
|
/* This struct is used in ROM and should not be changed at all */
|
typedef MLAN_PACK_START struct {
|
UINT16 Type;
|
UINT16 Length;
|
} MLAN_PACK_END MrvlIEParamSet_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 Value[1];
|
} MLAN_PACK_END MrvlIEGeneric_t;
|
|
/* MultiChannel TLV*/
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 Status; // 1 = Active, 0 = Inactive
|
UINT8 TlvBuffer[1];
|
} MLAN_PACK_END MrvlIEMultiChanInfo_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 ChanGroupId;
|
UINT8 ChanBufWt;
|
ChanBandInfo_t ChanBandInfo;
|
UINT32 ChanTime;
|
UINT32 Reserved;
|
UINT8 HidPortNum;
|
UINT8 NumIntf;
|
UINT8 BssTypeNumList[1];
|
} MLAN_PACK_END MrvlIEMultiChanGroupInfo_t;
|
|
/* Key Material TLV */
|
typedef MLAN_PACK_START struct MrvlIEKeyParamSet_t {
|
MrvlIEParamSet_t hdr;
|
UINT16 keyMgtId;
|
} MLAN_PACK_END MrvlIEKeyParamSet_t;
|
|
#ifdef KEY_MATERIAL_V2
|
|
typedef MLAN_PACK_START struct wep_key_t {
|
UINT16 len;
|
UINT8 key[1];
|
} MLAN_PACK_END wep_key_t;
|
|
typedef MLAN_PACK_START struct wpax_key_t {
|
UINT8 pn[8];
|
UINT16 len;
|
UINT8 key[1];
|
} MLAN_PACK_END wpax_key_t;
|
|
typedef MLAN_PACK_START struct wapi_key_t {
|
UINT8 pn[16];
|
UINT16 len;
|
UINT8 key[16];
|
UINT8 micKey[16];
|
} MLAN_PACK_END wapi_key_t;
|
|
typedef MLAN_PACK_START struct MrvlIEKeyParamSet_v2_t {
|
MrvlIEParamSet_t hdr;
|
IEEEtypes_MacAddr_t macAddr;
|
UINT8 keyIdx;
|
UINT8 keyType;
|
UINT16 keyInfo;
|
|
MLAN_PACK_START union {
|
wep_key_t wep;
|
wpax_key_t wpax;
|
wapi_key_t wapi;
|
} MLAN_PACK_END keySet;
|
|
} MLAN_PACK_END MrvlIEKeyParamSet_v2_t;
|
#endif
|
|
/* Marvell Power Constraint TLV */
|
typedef MLAN_PACK_START struct MrvlIEPowerConstraint_t {
|
MrvlIEParamSet_t IEParam;
|
UINT8 channel;
|
UINT8 dBm;
|
} MLAN_PACK_END MrvlIEPowerConstraint_t;
|
|
/* Marvell WSC Selected Registar TLV */
|
typedef MLAN_PACK_START struct MrvlIEWSCSelectedRegistrar_t {
|
MrvlIEParamSet_t IEParam;
|
UINT16 devPwdID;
|
} MLAN_PACK_END MrvlIEWSCSelectedRegistrar_t;
|
|
/* Marvell WSC Enrollee TMO TLV */
|
typedef MLAN_PACK_START struct MrvlIEWSCEnrolleeTmo_t {
|
MrvlIEParamSet_t IEParam;
|
UINT16 tmo;
|
} MLAN_PACK_END MrvlIEWSCEnrolleeTmo_t;
|
|
/****************
|
* AES CRYPTION FEATURE
|
*
|
* DEFINE STARTS --------------
|
*/
|
typedef MLAN_PACK_START struct MrvlIEAesCrypt_t {
|
MrvlIEParamSet_t hdr;
|
UINT8 payload[40];
|
} MLAN_PACK_END MrvlIEAesCrypt_t;
|
|
/* DEFINE ENDS ----------------
|
*/
|
|
/* Marvell Power Capability TLV */
|
typedef MLAN_PACK_START struct MrvlIEPowerCapability_t {
|
MrvlIEParamSet_t IEParam;
|
UINT8 minPwr;
|
UINT8 maxPwr;
|
} MLAN_PACK_END MrvlIEPowerCapability_t;
|
|
/* Marvell TLV for OMNI Serial Number and Hw Revision Information. */
|
typedef MLAN_PACK_START struct MrvlIE_OMNI_t {
|
MrvlIEParamSet_t IEParam;
|
UINT8 SerialNumber[16];
|
UINT8 HWRev;
|
UINT8 Reserved[3];
|
} MLAN_PACK_END MrvlIE_OMNI_t;
|
|
/* Marvell LED Behavior TLV */
|
typedef MLAN_PACK_START struct MrvlIELedBehavior_t {
|
MrvlIEParamSet_t IEParam;
|
UINT8 FirmwareState;
|
UINT8 LedNumber;
|
UINT8 LedState;
|
UINT8 LedArgs;
|
} MLAN_PACK_END MrvlIELedBehavior_t;
|
|
/* Marvell LED GPIO Mapping TLV */
|
typedef MLAN_PACK_START struct MrvlIELedGpio_t {
|
MrvlIEParamSet_t IEParam;
|
UINT8 LEDNumber;
|
UINT8 GPIONumber;
|
} MLAN_PACK_END MrvlIELedGpio_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
/*
|
** Set a place holder for the TSF values. Sized to max BSS for message
|
** allocation. The TLV will return a variable number of TSF values.
|
*/
|
UINT64 TSFValue[IEEEtypes_MAX_BSS_DESCRIPTS];
|
} MLAN_PACK_END MrvlIETsfArray_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 maxLen;
|
IEEEtypes_SsId_t ssid;
|
} MLAN_PACK_END MrvlIEWildcardSsid_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 snrThreshold;
|
UINT8 reportFrequency;
|
} MLAN_PACK_END MrvlIELowSnrThreshold_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 rssiThreshold;
|
UINT8 reportFrequency;
|
} MLAN_PACK_END MrvlIELowRssiThreshold_t;
|
|
/* Marvell AutoTx TLV */
|
#define MAX_KEEPALIVE_PKT_LEN (0x60)
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 Interval; /* in seconds */
|
UINT8 Priority;
|
UINT8 Reserved;
|
UINT16 EtherFrmLen;
|
UINT8 DestAddr[6];
|
UINT8 SrcAddr[6];
|
UINT8 EtherFrmBody[MAX_KEEPALIVE_PKT_LEN]; //Last 4 bytes are 32bit FCS
|
} MLAN_PACK_END MrvlIEAutoTx_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
IEEEtypes_DFS_Map_t map;
|
} MLAN_PACK_END MrvlIEChanRpt11hBasic_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 scanReqId;
|
} MLAN_PACK_END MrvlIEChanRptBeacon_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 ccaBusyFraction;
|
} MLAN_PACK_END MrvlIEChanRptChanLoad_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
SINT16 anpi;
|
UINT8 rpiDensities[11];
|
} MLAN_PACK_END MrvlIEChanRptNoiseHist_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
IEEEtypes_MacAddr_t sourceAddr;
|
IEEEtypes_MacAddr_t bssid;
|
SINT16 rssi;
|
UINT16 frameCnt;
|
} MLAN_PACK_END MrvlIEChanRptFrame_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
SINT16 rssi;
|
SINT16 anpi;
|
UINT8 ccaBusyFraction;
|
#ifdef SCAN_REPORT_THROUGH_EVENT
|
BandConfig_t band;
|
UINT8 channel;
|
UINT8 reserved;
|
UINT64 tsf;
|
#endif
|
} MLAN_PACK_END MrvlIEBssScanStats_t;
|
|
typedef MLAN_PACK_START struct {
|
/** Header */
|
MrvlIEParamSet_t IEParam;
|
UINT32 mode;
|
UINT32 maxOff;
|
UINT32 maxOn;
|
} MLAN_PACK_END MrvlIETypes_MeasurementTiming_t;
|
|
typedef MLAN_PACK_START struct {
|
/** Header */
|
MrvlIEParamSet_t IEParam;
|
UINT32 mode;
|
UINT32 dwell;
|
UINT32 maxOff;
|
UINT32 minLink;
|
UINT32 rspTimeout;
|
} MLAN_PACK_END MrvlIETypes_ConfigScanTiming_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 KeyIndex;
|
UINT8 IsDefaultIndex;
|
UINT8 Value[1];
|
} MLAN_PACK_END MrvlIETypes_WepKey_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 PMK[32];
|
} MLAN_PACK_END MrvlIETypes_PMK_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 ssid[1];
|
} MLAN_PACK_END MrvlIETypes_Ssid_Param_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 Passphrase[64];
|
} MLAN_PACK_END MrvlIETypes_Passphrase_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 BSSID[6];
|
} MLAN_PACK_END MrvlIETypes_BSSID_t;
|
|
typedef MLAN_PACK_START struct {
|
UINT16 Type;
|
UINT16 Length;
|
IEEEtypes_MacAddr_t Bssid;
|
UINT16 Rsvd;
|
SINT16 Rssi; //Signal strength
|
UINT16 Age;
|
UINT32 QualifiedNeighborBitmap;
|
UINT32 BlackListDuration;
|
} MLAN_PACK_END MrvlIETypes_NeighbourEntry_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 SearchMode;
|
UINT16 State;
|
UINT32 ScanPeriod;
|
} MLAN_PACK_END MrvlIETypes_NeighbourScanPeriod_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 Rssi;
|
UINT8 Frequency;
|
} MLAN_PACK_END MrvlIETypes_BeaconHighRssiThreshold_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 Rssi;
|
UINT8 Frequency;
|
} MLAN_PACK_END MrvlIETypes_BeaconLowRssiThreshold_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 Value;
|
UINT8 Frequency;
|
} MLAN_PACK_END MrvlIETypes_RoamingAgent_Threshold_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 AssocReason;
|
} MLAN_PACK_END MrvlIETypes_AssocReason_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
IEEEtypes_MacAddr_t macAddr;
|
UINT8 txPauseState;
|
UINT8 totalQueued;
|
} MLAN_PACK_END MrvlIETypes_TxDataPause_t;
|
|
typedef MLAN_PACK_START struct {
|
UINT16 startFreq;
|
UINT8 chanWidth;
|
UINT8 chanNum;
|
} MLAN_PACK_END MrvlIEChannelDesc_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
MrvlIEChannelDesc_t chanDesc;
|
UINT16 controlFlags;
|
UINT16 reserved;
|
UINT8 activePower;
|
UINT8 mdMinPower;
|
UINT8 mdMaxPower;
|
UINT8 mdPower;
|
} MLAN_PACK_END MrvlIETypes_OpChanControlDesc_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT32 chanGroupBitmap;
|
ChanScanMode_t scanMode;
|
UINT8 numChan;
|
MrvlIEChannelDesc_t chanDesc[50];
|
} MLAN_PACK_END MrvlIETypes_ChanGroupControl_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
ChanBandInfo_t ChanBandInfo[IEEEtypes_MAX_BSS_DESCRIPTS];
|
} MLAN_PACK_END MrvlIEChanBandList_t;
|
#if 0
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
IEEEtypes_MacAddr_t srcAddr;
|
IEEEtypes_MacAddr_t dstAddr;
|
IEEEtypes_ActionFrame_t actionFrame;
|
} MLAN_PACK_END MrvlIEActionFrame_t;
|
#endif
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
HtEntry_t htEntry[IEEEtypes_MAX_BSS_DESCRIPTS];
|
} MLAN_PACK_END MrvlIEHtList_t;
|
|
/* This struct is used in ROM code and all the fields of
|
** this should be kept intact
|
*/
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 bmpRateOfHRDSSS;
|
UINT16 bmpRateOfOFDM;
|
UINT32 bmpRateOfHT_DW0;
|
UINT32 bmpRateOfHT_DW1;
|
UINT32 bmpRateOfHT_DW2;
|
UINT32 bmpRateOfHT_DW3;
|
#ifdef DOT11AC
|
UINT16 bmpRateOfVHT[8]; //per SS
|
#endif
|
} MLAN_PACK_END MrvlIE_TxRateScope_t;
|
|
typedef MLAN_PACK_START struct {
|
UINT8 mod_class;
|
UINT8 rate;
|
UINT8 attemptLimit;
|
UINT8 reserved;
|
} MLAN_PACK_END MrvlIE_RateInfoEntry_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
MrvlIE_RateInfoEntry_t rate_info[8];
|
} MLAN_PACK_END MrvlIE_RateDropTable_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT32 mode;
|
// for 1x1 11n, 9 HT rate, 8 OFDM rate, 4 DSSS rate
|
MrvlIE_RateDropTable_t rateDropTbls[9 + 8 + 4];
|
} MLAN_PACK_END MrvlIE_RateDropPattern_t;
|
|
#ifdef USB_FRAME_AGGR
|
|
#define USB_TX_AGGR_ENABLE ( 1 << 1 )
|
#define USB_RX_AGGR_ENABLE ( 1 << 0 )
|
|
#define USB_RX_AGGR_MODE_MASK ( 1 << 0 )
|
#define USB_RX_AGGR_MODE_SIZE (1)
|
#define USB_RX_AGGR_MODE_NUM (0)
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 enable;
|
UINT16 rx_mode;
|
UINT16 rx_align;
|
UINT16 rx_max;
|
UINT16 rx_timeout;
|
UINT16 tx_mode;
|
UINT16 tx_align;
|
} MLAN_PACK_END MrvlIE_USBAggrTLV_t;
|
|
extern MrvlIE_USBAggrTLV_t g_Aggr_Conf;
|
|
#endif
|
|
typedef MLAN_PACK_START struct {
|
UINT8 mod_class;
|
UINT8 firstRateCode;
|
UINT8 lastRateCode;
|
SINT8 power_step;
|
SINT8 min_power;
|
SINT8 max_power;
|
UINT8 ht_bandwidth;
|
UINT8 reserved[1];
|
} MLAN_PACK_END MrvlIE_PowerGroupEntry_t;
|
|
#define MRVL_MAX_PWR_GROUP 15
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
MrvlIE_PowerGroupEntry_t PowerGroup[MRVL_MAX_PWR_GROUP];
|
} MLAN_PACK_END MrvlIE_PowerGroup_t;
|
|
#ifdef AP_STA_PS
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 NullPktInterval;
|
UINT16 numDtims;
|
UINT16 BCNMissTimeOut;
|
UINT16 LocalListenInterval;
|
UINT16 AdhocAwakePeriod;
|
UINT16 PS_mode;
|
UINT16 DelayToPS;
|
} MrvlIETypes_StaSleepParams_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 idleTime;
|
} MrvlIETypes_AutoDeepSleepParams_t;
|
#endif
|
|
#ifdef MESH
|
typedef MLAN_PACK_START struct _MrvlMeshIE_Tlv_t {
|
MrvlIEParamSet_t hdr;
|
IEEEtypes_VendorSpecific_MeshIE_t meshIE;
|
|
} MLAN_PACK_END MrvlMeshIE_Tlv_t;
|
#endif
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 RBCMode;
|
UINT8 Reserved[3];
|
} MLAN_PACK_END MrvlIERobustCoex_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 Mode;
|
UINT16 Reserved;
|
UINT32 BTTime;
|
UINT32 Period;
|
} MLAN_PACK_END MrvlIERobustCoexPeriod_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT8 staMacAddr[IEEEtypes_ADDRESS_SIZE];
|
IEEEtypes_IE_Param_t IeBuf;
|
} MLAN_PACK_END MrvlIEHostWakeStaDBCfg;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 ouiCmpLen;
|
UINT8 ouiBuf[6];
|
} MLAN_PACK_END MrvlIEHostWakeOuiCfg;
|
|
#ifdef MICRO_AP_MODE
|
/* This struct is used in ROM and should not be changed at all */
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t hdr;
|
IEEEtypes_MacAddr_t macAddr;
|
UINT8 pwrMode;
|
SINT8 rssi;
|
} MLAN_PACK_END MrvlIEStaInfo_t;
|
#endif
|
|
typedef struct {
|
MrvlIEParamSet_t Hdr;
|
uint16 protocol;
|
uint8 cipher;
|
uint8 reserved;
|
} MrvlIETypes_PwkCipher_t;
|
|
typedef struct {
|
MrvlIEParamSet_t Hdr;
|
uint8 cipher;
|
uint8 reserved;
|
} MrvlIETypes_GwkCipher_t;
|
|
typedef MLAN_PACK_START struct {
|
uint8 modGroup;
|
uint8 txPower;
|
} MLAN_PACK_END MrvlIE_ChanTrpcEntry_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t Hdr;
|
MrvlIEChannelDesc_t chanDesc;
|
MrvlIE_ChanTrpcEntry_t data[1];
|
} MLAN_PACK_END MrvlIETypes_ChanTrpcCfg_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
IEEEtypes_MacAddr_t mac[IEEEtypes_MAX_BSS_DESCRIPTS];
|
} MLAN_PACK_END MrvlIETypes_MacAddr_t;
|
|
#ifdef AP_BTCOEX
|
typedef enum _tagScoCoexBtTraffic {
|
ONLY_SCO,
|
ACL_BEFORE_SCO,
|
ACL_AFTER_SCO,
|
BT_TRAFFIC_RESERVED,
|
BT_TRAFFIC_MAX
|
} ScoCoexBtTraffic_e;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT32 configBitmap; /* Bit 0 : overrideCts2SelfProtection
|
** Bit 1-31 : Reserved
|
*/
|
UINT32 apStaBtCoexEnabled;
|
UINT32 reserved[3]; /* For future use. */
|
} MLAN_PACK_END MrvlIETypes_ApBTCoexCommonConfig_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 protectionFrmQTime[BT_TRAFFIC_MAX]; /* Index 0 for ONLY_SCO
|
** 1 for ACL_BEFORE_SCO
|
** 2 for ACL_AFTER_SCO
|
** 3 is Reserved
|
*/
|
UINT16 protectionFrmRate;
|
UINT16 aclFrequency;
|
UINT32 reserved[4]; /* For future use. */
|
} MLAN_PACK_END MrvlIETypes_ApBTCoexScoConfig_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT16 enabled;
|
UINT16 btTime;
|
UINT16 wlanTime;
|
UINT16 protectionFrmRate;
|
UINT32 reserved[4]; /* For future use. */
|
} MLAN_PACK_END MrvlIETypes_ApBTCoexAclConfig_t;
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t IEParam;
|
UINT32 nullNotSent;
|
UINT32 numOfNullQueued;
|
UINT32 nullNotQueued;
|
UINT32 numOfCfEndQueued;
|
UINT32 cfEndNotQueued;
|
UINT32 nullAllocationFail;
|
UINT32 cfEndAllocationFail;
|
UINT32 reserved[8]; /* For future use. */
|
} MLAN_PACK_END MrvlIETypes_ApBTCoexStats_t;
|
#endif //AP_BTCOEX
|
|
typedef MLAN_PACK_START struct {
|
MrvlIEParamSet_t Hdr;
|
|
IEEEtypes_MacAddr_t macAddr;
|
UINT8 tid;
|
UINT8 reserved;
|
UINT16 startSeqNum;
|
|
UINT16 bitMapLen;
|
UINT8 bitMap[1];
|
} MLAN_PACK_END MrvlIETypes_RxBaSync_t;
|
|
#ifdef SCAN_CHAN_STATISTICS
|
typedef MLAN_PACK_START struct MrvlIEChannelStats {
|
MrvlIEParamSet_t IEParam;
|
UINT8 chanStat[1];
|
} MLAN_PACK_END MrvlIEChannelStats_t;
|
#endif
|
|
/* API Version Info Entry for MRVL_API_VER_INFO_TLV_ID */
|
typedef MLAN_PACK_START struct MrvlIE_ApiVersionEntry_t {
|
UINT16 apiId;
|
UINT8 major;
|
UINT8 minor;
|
} MLAN_PACK_END MrvlIE_ApiVersionEntry_t;
|
|
/** API Version Ids */
|
#define KEY_API_VER_ID 0x1
|
#endif //_TLV_H_
|