diff options
| author | Abhishek Singh <absingh@qti.qualcomm.com> | 2016-08-08 15:20:09 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-08-11 15:13:43 +0530 |
| commit | e047e8d25bea4c50e1e782572fb975de1282fc9a (patch) | |
| tree | 354f3455d0060ef1abf01947215f0ea86189282d | |
| parent | 99b91d2c0c54451679464f234fbdf451fa459273 (diff) | |
qcacld-2.0: Add VHT transmit power envelope IE in chan switch wrapper
Add changes to support VHT transmit power envelope sub element in
channel switch wrapper.
Change-Id: Ieac517ec44238034e1a5539cbe10ebbefb30dd09
CRs-Fixed: 1052716
| -rw-r--r-- | CORE/MAC/src/cfg/cfgUtil/dot11f.frms | 9 | ||||
| -rw-r--r-- | CORE/MAC/src/include/dot11f.h | 31 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/dot11f.c | 358 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/parserApi.c | 15 |
4 files changed, 302 insertions, 111 deletions
diff --git a/CORE/MAC/src/cfg/cfgUtil/dot11f.frms b/CORE/MAC/src/cfg/cfgUtil/dot11f.frms index 93ee08f4490f..59851d63847b 100644 --- a/CORE/MAC/src/cfg/cfgUtil/dot11f.frms +++ b/CORE/MAC/src/cfg/cfgUtil/dot11f.frms @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2007, 2014-2015 The Linux Foundation. All rights reserved. + * Copyright (c) 2006-2007, 2014-2016 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -120,6 +120,7 @@ const EID_AID = 197; const EID_EXT_CAP = 127; const EID_OPERATING_MODE = 199; const EID_WIDER_BW_CHANNEL_SWITCH_ANN= 194; +const VHT_TRANSMIT_POWER_ENVELOPE = 195; const EID_CHANNEL_SWITCH_WRAPPER = 196; const EID_VENDOR_SPECIFIC = 221; @@ -2415,9 +2416,15 @@ IE WiderBWChanSwitchAnn (EID_WIDER_BW_CHANNEL_SWITCH_ANN) newCenterChanFreq1, 1; } +IE vht_transmit_power_env (VHT_TRANSMIT_POWER_ENVELOPE) +{ + bytes[2..5]; +} + IE ChannelSwitchWrapper (EID_CHANNEL_SWITCH_WRAPPER) { OPTIE IE WiderBWChanSwitchAnn; + OPTIE IE vht_transmit_power_env; } IE ExtCap (EID_EXT_CAP) { diff --git a/CORE/MAC/src/include/dot11f.h b/CORE/MAC/src/include/dot11f.h index 6855e2237b9b..c1c5a2a25d67 100644 --- a/CORE/MAC/src/include/dot11f.h +++ b/CORE/MAC/src/include/dot11f.h @@ -37,7 +37,7 @@ * * * This file was automatically generated by 'framesc' - * Thu Oct 8 17:27:11 2015 from the following file(s): + * Mon Aug 8 14:02:12 2016 from the following file(s): * * dot11f.frms * @@ -2729,6 +2729,32 @@ tANI_U32 dot11fGetPackedIEWiderBWChanSwitchAnn(tpAniSirGlobal, tDot11fIEWiderBWC #ifdef __cplusplus }; /* End extern "C". */ #endif /* C++ */ +// EID 195 (0xc3) +typedef struct sDot11fIEvht_transmit_power_env { + tANI_U8 present; + tANI_U8 num_bytes; + tANI_U8 bytes[5]; +} tDot11fIEvht_transmit_power_env; + +#define DOT11F_EID_VHT_TRANSMIT_POWER_ENV ( 195 ) + +// N.B. These #defines do *not* include the EID & length +#define DOT11F_IE_VHT_TRANSMIT_POWER_ENV_MIN_LEN ( 2 ) + +#define DOT11F_IE_VHT_TRANSMIT_POWER_ENV_MAX_LEN ( 5 ) + +#ifdef __cplusplus +extern "C" { +#endif /* C++ */ +tANI_U32 dot11fUnpackIevht_transmit_power_env(tpAniSirGlobal, tANI_U8*,tANI_U8, tDot11fIEvht_transmit_power_env*); + +tANI_U32 dot11fPackIevht_transmit_power_env(tpAniSirGlobal, tDot11fIEvht_transmit_power_env*, tANI_U8*, tANI_U32, tANI_U32*); + +tANI_U32 dot11fGetPackedIEvht_transmit_power_env(tpAniSirGlobal, tDot11fIEvht_transmit_power_env*, tANI_U32*); + +#ifdef __cplusplus +}; /* End extern "C". */ +#endif /* C++ */ // EID 197 (0xc5) typedef struct sDot11fIEAID { tANI_U8 present; @@ -2839,6 +2865,7 @@ tANI_U32 dot11fGetPackedIEChanSwitchAnn(tpAniSirGlobal, tDot11fIEChanSwitchAnn*, typedef struct sDot11fIEChannelSwitchWrapper { tANI_U8 present; tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; + tDot11fIEvht_transmit_power_env vht_transmit_power_env; } tDot11fIEChannelSwitchWrapper; #define DOT11F_EID_CHANNELSWITCHWRAPPER ( 196 ) @@ -2846,7 +2873,7 @@ typedef struct sDot11fIEChannelSwitchWrapper { // N.B. These #defines do *not* include the EID & length #define DOT11F_IE_CHANNELSWITCHWRAPPER_MIN_LEN ( 0 ) -#define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN ( 5 ) +#define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN ( 12 ) #ifdef __cplusplus extern "C" { diff --git a/CORE/SYS/legacy/src/utils/src/dot11f.c b/CORE/SYS/legacy/src/utils/src/dot11f.c index 2580c43b9be9..68513dc4ffa9 100644 --- a/CORE/SYS/legacy/src/utils/src/dot11f.c +++ b/CORE/SYS/legacy/src/utils/src/dot11f.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2016 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -35,7 +35,7 @@ * * * This file was automatically generated by 'framesc' - * Thu Oct 8 17:27:11 2015 from the following file(s): + * Mon Aug 8 14:02:12 2016 from the following file(s): * * dot11f.frms * @@ -2503,6 +2503,26 @@ tANI_U32 dot11fUnpackIeWiderBWChanSwitchAnn(tpAniSirGlobal pCtx, tANI_U8 *pBuf, #define SigIeWiderBWChanSwitchAnn ( 0x001e ) +tANI_U32 dot11fUnpackIevht_transmit_power_env(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEvht_transmit_power_env *pDst) +{ + tANI_U32 status = DOT11F_PARSE_SUCCESS; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) status = DOT11F_DUPLICATE_IE; + pDst->present = 1; + pDst->num_bytes = (tANI_U8)( ielen ); + if (ielen > 5){ + pDst->present = 0; + return DOT11F_SKIPPED_BAD_IE; + } + + DOT11F_MEMCPY(pCtx, pDst->bytes, pBuf, ( ielen ) ); + (void)pCtx; + return status; +} /* End dot11fUnpackIevht_transmit_power_env. */ + +#define SigIevht_transmit_power_env ( 0x001f ) + + tANI_U32 dot11fUnpackIeAID(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEAID *pDst) { tANI_U32 status = DOT11F_PARSE_SUCCESS; @@ -2514,7 +2534,7 @@ tANI_U32 dot11fUnpackIeAID(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tD return status; } /* End dot11fUnpackIeAID. */ -#define SigIeAID ( 0x001f ) +#define SigIeAID ( 0x0020 ) tANI_U32 dot11fUnpackIeCFParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIECFParams *pDst) @@ -2537,7 +2557,7 @@ tANI_U32 dot11fUnpackIeCFParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iele return status; } /* End dot11fUnpackIeCFParams. */ -#define SigIeCFParams ( 0x0020 ) +#define SigIeCFParams ( 0x0021 ) tANI_U32 dot11fUnpackIeChallengeText(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEChallengeText *pDst) @@ -2557,7 +2577,7 @@ tANI_U32 dot11fUnpackIeChallengeText(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeChallengeText. */ -#define SigIeChallengeText ( 0x0021 ) +#define SigIeChallengeText ( 0x0022 ) tANI_U32 dot11fUnpackIeChanSwitchAnn(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEChanSwitchAnn *pDst) @@ -2577,7 +2597,7 @@ tANI_U32 dot11fUnpackIeChanSwitchAnn(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeChanSwitchAnn. */ -#define SigIeChanSwitchAnn ( 0x0022 ) +#define SigIeChanSwitchAnn ( 0x0023 ) static const tFFDefn FFS_ChannelSwitchWrapper[ ] = { @@ -2586,6 +2606,7 @@ tANI_U32 dot11fUnpackIeChanSwitchAnn(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 static const tIEDefn IES_ChannelSwitchWrapper[ ] = { {offsetof(tDot11fIEChannelSwitchWrapper, WiderBWChanSwitchAnn), offsetof(tDot11fIEWiderBWChanSwitchAnn, present), 0, "WiderBWChanSwitchAnn" , 0, 5, 5, SigIeWiderBWChanSwitchAnn, {0, 0, 0, 0, 0}, 0, DOT11F_EID_WIDERBWCHANSWITCHANN, 0, }, + {offsetof(tDot11fIEChannelSwitchWrapper, vht_transmit_power_env), offsetof(tDot11fIEvht_transmit_power_env, present), 0, "vht_transmit_power_env" , 0, 4, 7, SigIevht_transmit_power_env, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHT_TRANSMIT_POWER_ENV, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; @@ -2606,7 +2627,7 @@ tANI_U32 dot11fUnpackIeChannelSwitchWrapper(tpAniSirGlobal pCtx, tANI_U8 *pBuf, return status; } /* End dot11fUnpackIeChannelSwitchWrapper. */ -#define SigIeChannelSwitchWrapper ( 0x0023 ) +#define SigIeChannelSwitchWrapper ( 0x0024 ) tANI_U32 dot11fUnpackIeCountry(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIECountry *pDst) @@ -2637,10 +2658,10 @@ tANI_U32 dot11fUnpackIeCountry(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen return status; } /* End dot11fUnpackIeCountry. */ -#define SigIeCountry ( 0x0024 ) +#define SigIeCountry ( 0x0025 ) -#define SigIeDSParams ( 0x0025 ) +#define SigIeDSParams ( 0x0026 ) tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEEDCAParamSet *pDst) @@ -2725,7 +2746,7 @@ tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeEDCAParamSet. */ -#define SigIeEDCAParamSet ( 0x0026 ) +#define SigIeEDCAParamSet ( 0x0027 ) tANI_U32 dot11fUnpackIeERPInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEERPInfo *pDst) @@ -2744,7 +2765,7 @@ tANI_U32 dot11fUnpackIeERPInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen return status; } /* End dot11fUnpackIeERPInfo. */ -#define SigIeERPInfo ( 0x0027 ) +#define SigIeERPInfo ( 0x0028 ) tANI_U32 dot11fUnpackIeESECckmOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESECckmOpaque *pDst) @@ -2764,7 +2785,7 @@ tANI_U32 dot11fUnpackIeESECckmOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeESECckmOpaque. */ -#define SigIeESECckmOpaque ( 0x0028 ) +#define SigIeESECckmOpaque ( 0x0029 ) tANI_U32 dot11fUnpackIeESERadMgmtCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESERadMgmtCap *pDst) @@ -2784,7 +2805,7 @@ tANI_U32 dot11fUnpackIeESERadMgmtCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeESERadMgmtCap. */ -#define SigIeESERadMgmtCap ( 0x0029 ) +#define SigIeESERadMgmtCap ( 0x002a ) tANI_U32 dot11fUnpackIeESETrafStrmMet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESETrafStrmMet *pDst) @@ -2804,7 +2825,7 @@ tANI_U32 dot11fUnpackIeESETrafStrmMet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIeESETrafStrmMet. */ -#define SigIeESETrafStrmMet ( 0x002a ) +#define SigIeESETrafStrmMet ( 0x002b ) tANI_U32 dot11fUnpackIeESETrafStrmRateSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESETrafStrmRateSet *pDst) @@ -2827,7 +2848,7 @@ tANI_U32 dot11fUnpackIeESETrafStrmRateSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tA return status; } /* End dot11fUnpackIeESETrafStrmRateSet. */ -#define SigIeESETrafStrmRateSet ( 0x002b ) +#define SigIeESETrafStrmRateSet ( 0x002c ) tANI_U32 dot11fUnpackIeESETxmitPower(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESETxmitPower *pDst) @@ -2844,7 +2865,7 @@ tANI_U32 dot11fUnpackIeESETxmitPower(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeESETxmitPower. */ -#define SigIeESETxmitPower ( 0x002c ) +#define SigIeESETxmitPower ( 0x002d ) tANI_U32 dot11fUnpackIeESEVersion(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESEVersion *pDst) @@ -2858,7 +2879,7 @@ tANI_U32 dot11fUnpackIeESEVersion(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIeESEVersion. */ -#define SigIeESEVersion ( 0x002d ) +#define SigIeESEVersion ( 0x002e ) tANI_U32 dot11fUnpackIeExtCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEExtCap *pDst) @@ -2883,7 +2904,7 @@ endUnpackIeExtCap: return status; } /* End dot11fUnpackIeExtCap. */ -#define SigIeExtCap ( 0x002e ) +#define SigIeExtCap ( 0x002f ) tANI_U32 dot11fUnpackIeExtSuppRates(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEExtSuppRates *pDst) @@ -2911,7 +2932,7 @@ tANI_U32 dot11fUnpackIeExtSuppRates(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeExtSuppRates. */ -#define SigIeExtSuppRates ( 0x002f ) +#define SigIeExtSuppRates ( 0x0030 ) tANI_U32 dot11fUnpackIeFHParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFHParamSet *pDst) @@ -2934,7 +2955,7 @@ tANI_U32 dot11fUnpackIeFHParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIeFHParamSet. */ -#define SigIeFHParamSet ( 0x0030 ) +#define SigIeFHParamSet ( 0x0031 ) tANI_U32 dot11fUnpackIeFHParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFHParams *pDst) @@ -2951,7 +2972,7 @@ tANI_U32 dot11fUnpackIeFHParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iele return status; } /* End dot11fUnpackIeFHParams. */ -#define SigIeFHParams ( 0x0031 ) +#define SigIeFHParams ( 0x0032 ) tANI_U32 dot11fUnpackIeFHPattTable(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFHPattTable *pDst) @@ -2983,7 +3004,7 @@ tANI_U32 dot11fUnpackIeFHPattTable(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeFHPattTable. */ -#define SigIeFHPattTable ( 0x0032 ) +#define SigIeFHPattTable ( 0x0033 ) static const tFFDefn FFS_FTInfo[ ] = { @@ -3030,7 +3051,7 @@ tANI_U32 dot11fUnpackIeFTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeFTInfo. */ -#define SigIeFTInfo ( 0x0033 ) +#define SigIeFTInfo ( 0x0034 ) tANI_U32 dot11fUnpackIeHT2040BSSCoexistence(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHT2040BSSCoexistence *pDst) @@ -3051,7 +3072,7 @@ tANI_U32 dot11fUnpackIeHT2040BSSCoexistence(tpAniSirGlobal pCtx, tANI_U8 *pBuf, return status; } /* End dot11fUnpackIeHT2040BSSCoexistence. */ -#define SigIeHT2040BSSCoexistence ( 0x0034 ) +#define SigIeHT2040BSSCoexistence ( 0x0035 ) tANI_U32 dot11fUnpackIeHT2040BSSIntolerantReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHT2040BSSIntolerantReport *pDst) @@ -3074,7 +3095,7 @@ tANI_U32 dot11fUnpackIeHT2040BSSIntolerantReport(tpAniSirGlobal pCtx, tANI_U8 *p return status; } /* End dot11fUnpackIeHT2040BSSIntolerantReport. */ -#define SigIeHT2040BSSIntolerantReport ( 0x0035 ) +#define SigIeHT2040BSSIntolerantReport ( 0x0036 ) tANI_U32 dot11fUnpackIeHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHTCaps *pDst) @@ -3163,7 +3184,7 @@ tANI_U32 dot11fUnpackIeHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeHTCaps. */ -#define SigIeHTCaps ( 0x0036 ) +#define SigIeHTCaps ( 0x0037 ) tANI_U32 dot11fUnpackIeHTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHTInfo *pDst) @@ -3218,7 +3239,7 @@ tANI_U32 dot11fUnpackIeHTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeHTInfo. */ -#define SigIeHTInfo ( 0x0037 ) +#define SigIeHTInfo ( 0x0038 ) tANI_U32 dot11fUnpackIeIBSSParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEIBSSParams *pDst) @@ -3232,7 +3253,7 @@ tANI_U32 dot11fUnpackIeIBSSParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIeIBSSParams. */ -#define SigIeIBSSParams ( 0x0038 ) +#define SigIeIBSSParams ( 0x0039 ) tANI_U32 dot11fUnpackIeLinkIdentifier(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIELinkIdentifier *pDst) @@ -3252,7 +3273,7 @@ tANI_U32 dot11fUnpackIeLinkIdentifier(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIeLinkIdentifier. */ -#define SigIeLinkIdentifier ( 0x0039 ) +#define SigIeLinkIdentifier ( 0x003a ) static const tFFDefn FFS_reportBeacon[ ] = { @@ -3410,7 +3431,7 @@ tANI_U32 dot11fUnpackIeMeasurementReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tAN return status; } /* End dot11fUnpackIeMeasurementReport. */ -#define SigIeMeasurementReport ( 0x003a ) +#define SigIeMeasurementReport ( 0x003b ) static const tFFDefn FFS_measurement_requestBeacon[ ] = { @@ -3515,7 +3536,7 @@ tANI_U32 dot11fUnpackIeMeasurementRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tA return status; } /* End dot11fUnpackIeMeasurementRequest. */ -#define SigIeMeasurementRequest ( 0x003b ) +#define SigIeMeasurementRequest ( 0x003c ) tANI_U32 dot11fUnpackIeMobilityDomain(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMobilityDomain *pDst) @@ -3536,7 +3557,7 @@ tANI_U32 dot11fUnpackIeMobilityDomain(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIeMobilityDomain. */ -#define SigIeMobilityDomain ( 0x003c ) +#define SigIeMobilityDomain ( 0x003d ) static const tFFDefn FFS_NeighborReport[ ] = { @@ -3603,7 +3624,7 @@ tANI_U32 dot11fUnpackIeNeighborReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIeNeighborReport. */ -#define SigIeNeighborReport ( 0x003d ) +#define SigIeNeighborReport ( 0x003e ) tANI_U32 dot11fUnpackIeOBSSScanParameters(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEOBSSScanParameters *pDst) @@ -3635,7 +3656,7 @@ tANI_U32 dot11fUnpackIeOBSSScanParameters(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tA return status; } /* End dot11fUnpackIeOBSSScanParameters. */ -#define SigIeOBSSScanParameters ( 0x003e ) +#define SigIeOBSSScanParameters ( 0x003f ) tANI_U32 dot11fUnpackIeOperatingMode(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEOperatingMode *pDst) @@ -3654,7 +3675,7 @@ tANI_U32 dot11fUnpackIeOperatingMode(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeOperatingMode. */ -#define SigIeOperatingMode ( 0x003f ) +#define SigIeOperatingMode ( 0x0040 ) static const tTLVDefn TLVS_P2PAssocReq[ ] = { @@ -3673,7 +3694,7 @@ tANI_U32 dot11fUnpackIeP2PAssocReq(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PAssocReq. */ -#define SigIeP2PAssocReq ( 0x0040 ) +#define SigIeP2PAssocReq ( 0x0041 ) static const tTLVDefn TLVS_P2PAssocRes[ ] = { @@ -3691,7 +3712,7 @@ tANI_U32 dot11fUnpackIeP2PAssocRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PAssocRes. */ -#define SigIeP2PAssocRes ( 0x0041 ) +#define SigIeP2PAssocRes ( 0x0042 ) static const tTLVDefn TLVS_P2PBeacon[ ] = { @@ -3710,7 +3731,7 @@ tANI_U32 dot11fUnpackIeP2PBeacon(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeP2PBeacon. */ -#define SigIeP2PBeacon ( 0x0042 ) +#define SigIeP2PBeacon ( 0x0043 ) static const tTLVDefn TLVS_P2PBeaconProbeRes[ ] = { @@ -3732,7 +3753,7 @@ tANI_U32 dot11fUnpackIeP2PBeaconProbeRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tAN return status; } /* End dot11fUnpackIeP2PBeaconProbeRes. */ -#define SigIeP2PBeaconProbeRes ( 0x0043 ) +#define SigIeP2PBeaconProbeRes ( 0x0044 ) static const tTLVDefn TLVS_P2PDeAuth[ ] = { @@ -3749,7 +3770,7 @@ tANI_U32 dot11fUnpackIeP2PDeAuth(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeP2PDeAuth. */ -#define SigIeP2PDeAuth ( 0x0044 ) +#define SigIeP2PDeAuth ( 0x0045 ) static const tTLVDefn TLVS_P2PDeviceDiscoverabilityReq[ ] = { @@ -3767,7 +3788,7 @@ tANI_U32 dot11fUnpackIeP2PDeviceDiscoverabilityReq(tpAniSirGlobal pCtx, tANI_U8 return status; } /* End dot11fUnpackIeP2PDeviceDiscoverabilityReq. */ -#define SigIeP2PDeviceDiscoverabilityReq ( 0x0045 ) +#define SigIeP2PDeviceDiscoverabilityReq ( 0x0046 ) static const tTLVDefn TLVS_P2PDeviceDiscoverabilityRes[ ] = { @@ -3784,7 +3805,7 @@ tANI_U32 dot11fUnpackIeP2PDeviceDiscoverabilityRes(tpAniSirGlobal pCtx, tANI_U8 return status; } /* End dot11fUnpackIeP2PDeviceDiscoverabilityRes. */ -#define SigIeP2PDeviceDiscoverabilityRes ( 0x0046 ) +#define SigIeP2PDeviceDiscoverabilityRes ( 0x0047 ) static const tTLVDefn TLVS_P2PDisAssoc[ ] = { @@ -3801,7 +3822,7 @@ tANI_U32 dot11fUnpackIeP2PDisAssoc(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PDisAssoc. */ -#define SigIeP2PDisAssoc ( 0x0047 ) +#define SigIeP2PDisAssoc ( 0x0048 ) static const tTLVDefn TLVS_P2PGONegCnf[ ] = { @@ -3822,7 +3843,7 @@ tANI_U32 dot11fUnpackIeP2PGONegCnf(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PGONegCnf. */ -#define SigIeP2PGONegCnf ( 0x0048 ) +#define SigIeP2PGONegCnf ( 0x0049 ) static const tTLVDefn TLVS_P2PGONegReq[ ] = { @@ -3847,7 +3868,7 @@ tANI_U32 dot11fUnpackIeP2PGONegReq(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PGONegReq. */ -#define SigIeP2PGONegReq ( 0x0049 ) +#define SigIeP2PGONegReq ( 0x004a ) static const tTLVDefn TLVS_P2PGONegRes[ ] = { @@ -3872,7 +3893,7 @@ tANI_U32 dot11fUnpackIeP2PGONegRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PGONegRes. */ -#define SigIeP2PGONegRes ( 0x004a ) +#define SigIeP2PGONegRes ( 0x004b ) static const tTLVDefn TLVS_P2PGONegWPS[ ] = { @@ -3890,7 +3911,7 @@ tANI_U32 dot11fUnpackIeP2PGONegWPS(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PGONegWPS. */ -#define SigIeP2PGONegWPS ( 0x004b ) +#define SigIeP2PGONegWPS ( 0x004c ) tANI_U32 dot11fUnpackIeP2PIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEP2PIEOpaque *pDst) @@ -3910,7 +3931,7 @@ tANI_U32 dot11fUnpackIeP2PIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PIEOpaque. */ -#define SigIeP2PIEOpaque ( 0x004c ) +#define SigIeP2PIEOpaque ( 0x004d ) static const tTLVDefn TLVS_P2PInvitationReq[ ] = { @@ -3933,7 +3954,7 @@ tANI_U32 dot11fUnpackIeP2PInvitationReq(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI return status; } /* End dot11fUnpackIeP2PInvitationReq. */ -#define SigIeP2PInvitationReq ( 0x004d ) +#define SigIeP2PInvitationReq ( 0x004e ) static const tTLVDefn TLVS_P2PInvitationRes[ ] = { @@ -3954,7 +3975,7 @@ tANI_U32 dot11fUnpackIeP2PInvitationRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI return status; } /* End dot11fUnpackIeP2PInvitationRes. */ -#define SigIeP2PInvitationRes ( 0x004e ) +#define SigIeP2PInvitationRes ( 0x004f ) static const tTLVDefn TLVS_P2PNoticeOfAbsence[ ] = { @@ -3971,7 +3992,7 @@ tANI_U32 dot11fUnpackIeP2PNoticeOfAbsence(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tA return status; } /* End dot11fUnpackIeP2PNoticeOfAbsence. */ -#define SigIeP2PNoticeOfAbsence ( 0x004f ) +#define SigIeP2PNoticeOfAbsence ( 0x0050 ) static const tTLVDefn TLVS_P2PPresenceResponse[ ] = { @@ -3989,7 +4010,7 @@ tANI_U32 dot11fUnpackIeP2PPresenceResponse(tpAniSirGlobal pCtx, tANI_U8 *pBuf, t return status; } /* End dot11fUnpackIeP2PPresenceResponse. */ -#define SigIeP2PPresenceResponse ( 0x0050 ) +#define SigIeP2PPresenceResponse ( 0x0051 ) static const tTLVDefn TLVS_P2PProbeReq[ ] = { @@ -4010,7 +4031,7 @@ tANI_U32 dot11fUnpackIeP2PProbeReq(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PProbeReq. */ -#define SigIeP2PProbeReq ( 0x0051 ) +#define SigIeP2PProbeReq ( 0x0052 ) static const tTLVDefn TLVS_P2PProbeRes[ ] = { @@ -4031,7 +4052,7 @@ tANI_U32 dot11fUnpackIeP2PProbeRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeP2PProbeRes. */ -#define SigIeP2PProbeRes ( 0x0052 ) +#define SigIeP2PProbeRes ( 0x0053 ) static const tTLVDefn TLVS_P2PProvisionDiscoveryReq[ ] = { @@ -4050,7 +4071,7 @@ tANI_U32 dot11fUnpackIeP2PProvisionDiscoveryReq(tpAniSirGlobal pCtx, tANI_U8 *pB return status; } /* End dot11fUnpackIeP2PProvisionDiscoveryReq. */ -#define SigIeP2PProvisionDiscoveryReq ( 0x0053 ) +#define SigIeP2PProvisionDiscoveryReq ( 0x0054 ) static const tTLVDefn TLVS_P2PWSCProvisionDiscoveryRes[ ] = { @@ -4067,7 +4088,7 @@ tANI_U32 dot11fUnpackIeP2PWSCProvisionDiscoveryRes(tpAniSirGlobal pCtx, tANI_U8 return status; } /* End dot11fUnpackIeP2PWSCProvisionDiscoveryRes. */ -#define SigIeP2PWSCProvisionDiscoveryRes ( 0x0054 ) +#define SigIeP2PWSCProvisionDiscoveryRes ( 0x0055 ) tANI_U32 dot11fUnpackIePTIControl(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPTIControl *pDst) @@ -4084,7 +4105,7 @@ tANI_U32 dot11fUnpackIePTIControl(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIePTIControl. */ -#define SigIePTIControl ( 0x0055 ) +#define SigIePTIControl ( 0x0056 ) tANI_U32 dot11fUnpackIePUBufferStatus(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPUBufferStatus *pDst) @@ -4104,7 +4125,7 @@ tANI_U32 dot11fUnpackIePUBufferStatus(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIePUBufferStatus. */ -#define SigIePUBufferStatus ( 0x0056 ) +#define SigIePUBufferStatus ( 0x0057 ) tANI_U32 dot11fUnpackIePowerCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPowerCaps *pDst) @@ -4121,7 +4142,7 @@ tANI_U32 dot11fUnpackIePowerCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIePowerCaps. */ -#define SigIePowerCaps ( 0x0057 ) +#define SigIePowerCaps ( 0x0058 ) tANI_U32 dot11fUnpackIePowerConstraints(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPowerConstraints *pDst) @@ -4135,7 +4156,7 @@ tANI_U32 dot11fUnpackIePowerConstraints(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI return status; } /* End dot11fUnpackIePowerConstraints. */ -#define SigIePowerConstraints ( 0x0058 ) +#define SigIePowerConstraints ( 0x0059 ) tANI_U32 dot11fUnpackIeQBSSLoad(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQBSSLoad *pDst) @@ -4155,7 +4176,7 @@ tANI_U32 dot11fUnpackIeQBSSLoad(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iele return status; } /* End dot11fUnpackIeQBSSLoad. */ -#define SigIeQBSSLoad ( 0x0059 ) +#define SigIeQBSSLoad ( 0x005a ) tANI_U32 dot11fUnpackIeQComVendorIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQComVendorIE *pDst) @@ -4172,7 +4193,7 @@ tANI_U32 dot11fUnpackIeQComVendorIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeQComVendorIE. */ -#define SigIeQComVendorIE ( 0x005a ) +#define SigIeQComVendorIE ( 0x005b ) tANI_U32 dot11fUnpackIeQOSCapsAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQOSCapsAp *pDst) @@ -4192,7 +4213,7 @@ tANI_U32 dot11fUnpackIeQOSCapsAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeQOSCapsAp. */ -#define SigIeQOSCapsAp ( 0x005b ) +#define SigIeQOSCapsAp ( 0x005c ) tANI_U32 dot11fUnpackIeQOSCapsStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQOSCapsStation *pDst) @@ -4214,7 +4235,7 @@ tANI_U32 dot11fUnpackIeQOSCapsStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIeQOSCapsStation. */ -#define SigIeQOSCapsStation ( 0x005c ) +#define SigIeQOSCapsStation ( 0x005d ) tANI_U32 dot11fUnpackIeQosMapSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQosMapSet *pDst) @@ -4234,7 +4255,7 @@ tANI_U32 dot11fUnpackIeQosMapSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeQosMapSet. */ -#define SigIeQosMapSet ( 0x005d ) +#define SigIeQosMapSet ( 0x005e ) tANI_U32 dot11fUnpackIeQuiet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQuiet *pDst) @@ -4257,7 +4278,7 @@ tANI_U32 dot11fUnpackIeQuiet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeQuiet. */ -#define SigIeQuiet ( 0x005e ) +#define SigIeQuiet ( 0x005f ) tANI_U32 dot11fUnpackIeRCPIIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERCPIIE *pDst) @@ -4271,7 +4292,7 @@ tANI_U32 dot11fUnpackIeRCPIIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeRCPIIE. */ -#define SigIeRCPIIE ( 0x005f ) +#define SigIeRCPIIE ( 0x0060 ) static const tFFDefn FFS_RICDataDesc[ ] = { @@ -4311,7 +4332,7 @@ tANI_U32 dot11fUnpackIeRICDataDesc(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeRICDataDesc. */ -#define SigIeRICDataDesc ( 0x0060 ) +#define SigIeRICDataDesc ( 0x0061 ) tANI_U32 dot11fUnpackIeRSN(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERSN *pDst) @@ -4414,7 +4435,7 @@ tANI_U32 dot11fUnpackIeRSN(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tD return status; } /* End dot11fUnpackIeRSN. */ -#define SigIeRSN ( 0x0061 ) +#define SigIeRSN ( 0x0062 ) tANI_U32 dot11fUnpackIeRSNIIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERSNIIE *pDst) @@ -4428,7 +4449,7 @@ tANI_U32 dot11fUnpackIeRSNIIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeRSNIIE. */ -#define SigIeRSNIIE ( 0x0062 ) +#define SigIeRSNIIE ( 0x0063 ) tANI_U32 dot11fUnpackIeRSNOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERSNOpaque *pDst) @@ -4448,7 +4469,7 @@ tANI_U32 dot11fUnpackIeRSNOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeRSNOpaque. */ -#define SigIeRSNOpaque ( 0x0063 ) +#define SigIeRSNOpaque ( 0x0064 ) tANI_U32 dot11fUnpackIeSuppChannels(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESuppChannels *pDst) @@ -4468,7 +4489,7 @@ tANI_U32 dot11fUnpackIeSuppChannels(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeSuppChannels. */ -#define SigIeSuppChannels ( 0x0064 ) +#define SigIeSuppChannels ( 0x0065 ) tANI_U32 dot11fUnpackIeSuppOperatingClasses(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESuppOperatingClasses *pDst) @@ -4488,7 +4509,7 @@ tANI_U32 dot11fUnpackIeSuppOperatingClasses(tpAniSirGlobal pCtx, tANI_U8 *pBuf, return status; } /* End dot11fUnpackIeSuppOperatingClasses. */ -#define SigIeSuppOperatingClasses ( 0x0065 ) +#define SigIeSuppOperatingClasses ( 0x0066 ) tANI_U32 dot11fUnpackIeSuppRates(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESuppRates *pDst) @@ -4516,7 +4537,7 @@ tANI_U32 dot11fUnpackIeSuppRates(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeSuppRates. */ -#define SigIeSuppRates ( 0x0066 ) +#define SigIeSuppRates ( 0x0067 ) tANI_U32 dot11fUnpackIeTIM(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETIM *pDst) @@ -4545,7 +4566,7 @@ tANI_U32 dot11fUnpackIeTIM(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tD return status; } /* End dot11fUnpackIeTIM. */ -#define SigIeTIM ( 0x0067 ) +#define SigIeTIM ( 0x0068 ) tANI_U32 dot11fUnpackIeTPCReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETPCReport *pDst) @@ -4562,7 +4583,7 @@ tANI_U32 dot11fUnpackIeTPCReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeTPCReport. */ -#define SigIeTPCReport ( 0x0068 ) +#define SigIeTPCReport ( 0x0069 ) tANI_U32 dot11fUnpackIeTPCRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETPCRequest *pDst) @@ -4575,7 +4596,7 @@ tANI_U32 dot11fUnpackIeTPCRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIeTPCRequest. */ -#define SigIeTPCRequest ( 0x0069 ) +#define SigIeTPCRequest ( 0x006a ) tANI_U32 dot11fUnpackIeTimeAdvertisement(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETimeAdvertisement *pDst) @@ -4595,7 +4616,7 @@ tANI_U32 dot11fUnpackIeTimeAdvertisement(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tAN return status; } /* End dot11fUnpackIeTimeAdvertisement. */ -#define SigIeTimeAdvertisement ( 0x006a ) +#define SigIeTimeAdvertisement ( 0x006b ) tANI_U32 dot11fUnpackIeTimeoutInterval(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETimeoutInterval *pDst) @@ -4612,7 +4633,7 @@ tANI_U32 dot11fUnpackIeTimeoutInterval(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_ return status; } /* End dot11fUnpackIeTimeoutInterval. */ -#define SigIeTimeoutInterval ( 0x006b ) +#define SigIeTimeoutInterval ( 0x006c ) tANI_U32 dot11fUnpackIeVHTExtBssLoad(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVHTExtBssLoad *pDst) @@ -4638,7 +4659,7 @@ tANI_U32 dot11fUnpackIeVHTExtBssLoad(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeVHTExtBssLoad. */ -#define SigIeVHTExtBssLoad ( 0x006c ) +#define SigIeVHTExtBssLoad ( 0x006d ) tANI_U32 dot11fUnpackIeVendor1IE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVendor1IE *pDst) @@ -4651,7 +4672,7 @@ tANI_U32 dot11fUnpackIeVendor1IE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeVendor1IE. */ -#define SigIeVendor1IE ( 0x006d ) +#define SigIeVendor1IE ( 0x006e ) tANI_U32 dot11fUnpackIeVendor3IE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVendor3IE *pDst) @@ -4664,7 +4685,7 @@ tANI_U32 dot11fUnpackIeVendor3IE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeVendor3IE. */ -#define SigIeVendor3IE ( 0x006e ) +#define SigIeVendor3IE ( 0x006f ) tANI_U32 dot11fUnpackIeWAPI(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWAPI *pDst) @@ -4733,7 +4754,7 @@ tANI_U32 dot11fUnpackIeWAPI(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, t return status; } /* End dot11fUnpackIeWAPI. */ -#define SigIeWAPI ( 0x006f ) +#define SigIeWAPI ( 0x0070 ) tANI_U32 dot11fUnpackIeWAPIOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWAPIOpaque *pDst) @@ -4753,7 +4774,7 @@ tANI_U32 dot11fUnpackIeWAPIOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIeWAPIOpaque. */ -#define SigIeWAPIOpaque ( 0x0070 ) +#define SigIeWAPIOpaque ( 0x0071 ) tANI_U32 dot11fUnpackIeWFATPC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWFATPC *pDst) @@ -4770,7 +4791,7 @@ tANI_U32 dot11fUnpackIeWFATPC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, return status; } /* End dot11fUnpackIeWFATPC. */ -#define SigIeWFATPC ( 0x0071 ) +#define SigIeWFATPC ( 0x0072 ) tANI_U32 dot11fUnpackIeWFDIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWFDIEOpaque *pDst) @@ -4790,7 +4811,7 @@ tANI_U32 dot11fUnpackIeWFDIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeWFDIEOpaque. */ -#define SigIeWFDIEOpaque ( 0x0072 ) +#define SigIeWFDIEOpaque ( 0x0073 ) tANI_U32 dot11fUnpackIeWMMCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMCaps *pDst) @@ -4818,7 +4839,7 @@ tANI_U32 dot11fUnpackIeWMMCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen return status; } /* End dot11fUnpackIeWMMCaps. */ -#define SigIeWMMCaps ( 0x0073 ) +#define SigIeWMMCaps ( 0x0074 ) tANI_U32 dot11fUnpackIeWMMInfoAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMInfoAp *pDst) @@ -4839,7 +4860,7 @@ tANI_U32 dot11fUnpackIeWMMInfoAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeWMMInfoAp. */ -#define SigIeWMMInfoAp ( 0x0074 ) +#define SigIeWMMInfoAp ( 0x0075 ) tANI_U32 dot11fUnpackIeWMMInfoStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMInfoStation *pDst) @@ -4864,7 +4885,7 @@ tANI_U32 dot11fUnpackIeWMMInfoStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U return status; } /* End dot11fUnpackIeWMMInfoStation. */ -#define SigIeWMMInfoStation ( 0x0075 ) +#define SigIeWMMInfoStation ( 0x0076 ) tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMParams *pDst) @@ -4957,7 +4978,7 @@ tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeWMMParams. */ -#define SigIeWMMParams ( 0x0076 ) +#define SigIeWMMParams ( 0x0077 ) tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWPA *pDst) @@ -5039,7 +5060,7 @@ tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tD return status; } /* End dot11fUnpackIeWPA. */ -#define SigIeWPA ( 0x0077 ) +#define SigIeWPA ( 0x0078 ) tANI_U32 dot11fUnpackIeWPAOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWPAOpaque *pDst) @@ -5059,7 +5080,7 @@ tANI_U32 dot11fUnpackIeWPAOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeWPAOpaque. */ -#define SigIeWPAOpaque ( 0x0078 ) +#define SigIeWPAOpaque ( 0x0079 ) static const tTLVDefn TLVS_WSC[ ] = { @@ -5097,7 +5118,7 @@ tANI_U32 dot11fUnpackIeWSC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tD return status; } /* End dot11fUnpackIeWSC. */ -#define SigIeWSC ( 0x0079 ) +#define SigIeWSC ( 0x007a ) static const tTLVDefn TLVS_WscAssocReq[ ] = { @@ -5116,7 +5137,7 @@ tANI_U32 dot11fUnpackIeWscAssocReq(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeWscAssocReq. */ -#define SigIeWscAssocReq ( 0x007a ) +#define SigIeWscAssocReq ( 0x007b ) static const tTLVDefn TLVS_WscAssocRes[ ] = { @@ -5135,7 +5156,7 @@ tANI_U32 dot11fUnpackIeWscAssocRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeWscAssocRes. */ -#define SigIeWscAssocRes ( 0x007b ) +#define SigIeWscAssocRes ( 0x007c ) static const tTLVDefn TLVS_WscBeacon[ ] = { @@ -5160,7 +5181,7 @@ tANI_U32 dot11fUnpackIeWscBeacon(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel return status; } /* End dot11fUnpackIeWscBeacon. */ -#define SigIeWscBeacon ( 0x007c ) +#define SigIeWscBeacon ( 0x007d ) static const tTLVDefn TLVS_WscBeaconProbeRes[ ] = { @@ -5193,7 +5214,7 @@ tANI_U32 dot11fUnpackIeWscBeaconProbeRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tAN return status; } /* End dot11fUnpackIeWscBeaconProbeRes. */ -#define SigIeWscBeaconProbeRes ( 0x007d ) +#define SigIeWscBeaconProbeRes ( 0x007e ) tANI_U32 dot11fUnpackIeWscIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWscIEOpaque *pDst) @@ -5213,7 +5234,7 @@ tANI_U32 dot11fUnpackIeWscIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeWscIEOpaque. */ -#define SigIeWscIEOpaque ( 0x007e ) +#define SigIeWscIEOpaque ( 0x007f ) static const tTLVDefn TLVS_WscProbeReq[ ] = { @@ -5244,7 +5265,7 @@ tANI_U32 dot11fUnpackIeWscProbeReq(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeWscProbeReq. */ -#define SigIeWscProbeReq ( 0x007f ) +#define SigIeWscProbeReq ( 0x0080 ) static const tTLVDefn TLVS_WscProbeRes[ ] = { @@ -5277,7 +5298,7 @@ tANI_U32 dot11fUnpackIeWscProbeRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i return status; } /* End dot11fUnpackIeWscProbeRes. */ -#define SigIeWscProbeRes ( 0x0080 ) +#define SigIeWscProbeRes ( 0x0081 ) static const tTLVDefn TLVS_WscReassocRes[ ] = { @@ -5296,7 +5317,7 @@ tANI_U32 dot11fUnpackIeWscReassocRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 return status; } /* End dot11fUnpackIeWscReassocRes. */ -#define SigIeWscReassocRes ( 0x0081 ) +#define SigIeWscReassocRes ( 0x0082 ) tANI_U32 dot11fUnpackIeext_chan_switch_ann(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEext_chan_switch_ann *pDst) @@ -5319,7 +5340,7 @@ tANI_U32 dot11fUnpackIeext_chan_switch_ann(tpAniSirGlobal pCtx, tANI_U8 *pBuf, t return status; } /* End dot11fUnpackIeext_chan_switch_ann. */ -#define SigIeext_chan_switch_ann ( 0x0082 ) +#define SigIeext_chan_switch_ann ( 0x0083 ) tANI_U32 dot11fUnpackIesec_chan_offset_ele(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEsec_chan_offset_ele *pDst) @@ -5333,7 +5354,7 @@ tANI_U32 dot11fUnpackIesec_chan_offset_ele(tpAniSirGlobal pCtx, tANI_U8 *pBuf, t return status; } /* End dot11fUnpackIesec_chan_offset_ele. */ -#define SigIesec_chan_offset_ele ( 0x0083 ) +#define SigIesec_chan_offset_ele ( 0x0084 ) static const tFFDefn FFS_vendor2_ie[ ] = { @@ -5369,7 +5390,7 @@ tANI_U32 dot11fUnpackIevendor2_ie(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie return status; } /* End dot11fUnpackIevendor2_ie. */ -#define SigIevendor2_ie ( 0x0084 ) +#define SigIevendor2_ie ( 0x0085 ) static const tFFDefn FFS_AddBAReq[] = { @@ -7950,7 +7971,7 @@ tANI_U32 dot11fUnpackAuthentication(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 {offsetof(tDot11fBeacon, Vendor1IE), offsetof(tDot11fIEVendor1IE, present), 0, "Vendor1IE" , 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0}, 3, DOT11F_EID_VENDOR1IE, 0, }, {offsetof(tDot11fBeacon, vendor2_ie), offsetof(tDot11fIEvendor2_ie, present), 0, "vendor2_ie" , 0, 7, 28, SigIevendor2_ie, {0, 144, 76, 0, 0}, 3, DOT11F_EID_VENDOR2_IE, 0, }, {offsetof(tDot11fBeacon, Vendor3IE), offsetof(tDot11fIEVendor3IE, present), 0, "Vendor3IE" , 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0}, 3, DOT11F_EID_VENDOR3IE, 0, }, - {offsetof(tDot11fBeacon, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 7, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, + {offsetof(tDot11fBeacon, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 14, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, {offsetof(tDot11fBeacon, QComVendorIE), offsetof(tDot11fIEQComVendorIE, present), 0, "QComVendorIE" , 0, 7, 7, SigIeQComVendorIE, {0, 160, 198, 0, 0}, 3, DOT11F_EID_QCOMVENDORIE, 0, }, {offsetof(tDot11fBeacon, ESEVersion), offsetof(tDot11fIEESEVersion, present), 0, "ESEVersion" , 0, 7, 7, SigIeESEVersion, {0, 64, 150, 3, 0}, 4, DOT11F_EID_ESEVERSION, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; @@ -8906,6 +8927,16 @@ tANI_U32 dot11fUnpackBeacon(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, t FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -9066,7 +9097,7 @@ tANI_U32 dot11fUnpackBeacon1(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, {offsetof(tDot11fBeacon2, Vendor1IE), offsetof(tDot11fIEVendor1IE, present), 0, "Vendor1IE" , 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0}, 3, DOT11F_EID_VENDOR1IE, 0, }, {offsetof(tDot11fBeacon2, vendor2_ie), offsetof(tDot11fIEvendor2_ie, present), 0, "vendor2_ie" , 0, 7, 28, SigIevendor2_ie, {0, 144, 76, 0, 0}, 3, DOT11F_EID_VENDOR2_IE, 0, }, {offsetof(tDot11fBeacon2, Vendor3IE), offsetof(tDot11fIEVendor3IE, present), 0, "Vendor3IE" , 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0}, 3, DOT11F_EID_VENDOR3IE, 0, }, - {offsetof(tDot11fBeacon2, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 7, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, + {offsetof(tDot11fBeacon2, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 14, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, {offsetof(tDot11fBeacon2, QComVendorIE), offsetof(tDot11fIEQComVendorIE, present), 0, "QComVendorIE" , 0, 7, 7, SigIeQComVendorIE, {0, 160, 198, 0, 0}, 3, DOT11F_EID_QCOMVENDORIE, 0, }, {offsetof(tDot11fBeacon2, ESEVersion), offsetof(tDot11fIEESEVersion, present), 0, "ESEVersion" , 0, 7, 7, SigIeESEVersion, {0, 64, 150, 3, 0}, 4, DOT11F_EID_ESEVERSION, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; @@ -9870,6 +9901,16 @@ tANI_U32 dot11fUnpackBeacon2(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -9950,7 +9991,7 @@ tANI_U32 dot11fUnpackBeacon2(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, {offsetof(tDot11fBeaconIEs, Vendor1IE), offsetof(tDot11fIEVendor1IE, present), 0, "Vendor1IE" , 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0}, 3, DOT11F_EID_VENDOR1IE, 0, }, {offsetof(tDot11fBeaconIEs, vendor2_ie), offsetof(tDot11fIEvendor2_ie, present), 0, "vendor2_ie" , 0, 7, 28, SigIevendor2_ie, {0, 144, 76, 0, 0}, 3, DOT11F_EID_VENDOR2_IE, 0, }, {offsetof(tDot11fBeaconIEs, Vendor3IE), offsetof(tDot11fIEVendor3IE, present), 0, "Vendor3IE" , 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0}, 3, DOT11F_EID_VENDOR3IE, 0, }, - {offsetof(tDot11fBeaconIEs, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 7, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, + {offsetof(tDot11fBeaconIEs, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 14, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, {offsetof(tDot11fBeaconIEs, QComVendorIE), offsetof(tDot11fIEQComVendorIE, present), 0, "QComVendorIE" , 0, 7, 7, SigIeQComVendorIE, {0, 160, 198, 0, 0}, 3, DOT11F_EID_QCOMVENDORIE, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; @@ -11013,6 +11054,16 @@ tANI_U32 dot11fUnpackBeaconIEs(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -13374,7 +13425,7 @@ tANI_U32 dot11fUnpackProbeRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 n {offsetof(tDot11fProbeResponse, Vendor1IE), offsetof(tDot11fIEVendor1IE, present), 0, "Vendor1IE" , 0, 5, 5, SigIeVendor1IE, {0, 16, 24, 0, 0}, 3, DOT11F_EID_VENDOR1IE, 0, }, {offsetof(tDot11fProbeResponse, vendor2_ie), offsetof(tDot11fIEvendor2_ie, present), 0, "vendor2_ie" , 0, 7, 28, SigIevendor2_ie, {0, 144, 76, 0, 0}, 3, DOT11F_EID_VENDOR2_IE, 0, }, {offsetof(tDot11fProbeResponse, Vendor3IE), offsetof(tDot11fIEVendor3IE, present), 0, "Vendor3IE" , 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0}, 3, DOT11F_EID_VENDOR3IE, 0, }, - {offsetof(tDot11fProbeResponse, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 7, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, + {offsetof(tDot11fProbeResponse, ChannelSwitchWrapper), offsetof(tDot11fIEChannelSwitchWrapper, present), 0, "ChannelSwitchWrapper" , 0, 2, 14, SigIeChannelSwitchWrapper, {0, 0, 0, 0, 0}, 0, DOT11F_EID_CHANNELSWITCHWRAPPER, 0, }, {offsetof(tDot11fProbeResponse, QComVendorIE), offsetof(tDot11fIEQComVendorIE, present), 0, "QComVendorIE" , 0, 7, 7, SigIeQComVendorIE, {0, 160, 198, 0, 0}, 3, DOT11F_EID_QCOMVENDORIE, 0, }, {offsetof(tDot11fProbeResponse, ESEVersion), offsetof(tDot11fIEESEVersion, present), 0, "ESEVersion" , 0, 7, 7, SigIeESEVersion, {0, 64, 150, 3, 0}, 4, DOT11F_EID_ESEVERSION, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; @@ -14384,6 +14435,16 @@ tANI_U32 dot11fUnpackProbeResponse(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -19363,6 +19424,9 @@ static tANI_U32 UnpackCore(tpAniSirGlobal pCtx, case SigIeWiderBWChanSwitchAnn: status |= dot11fUnpackIeWiderBWChanSwitchAnn(pCtx, pBufRemaining, len, ( tDot11fIEWiderBWChanSwitchAnn* )(pFrm + pIe->offset + sizeof(tDot11fIEWiderBWChanSwitchAnn)*countOffset) ); break; + case SigIevht_transmit_power_env: + status |= dot11fUnpackIevht_transmit_power_env(pCtx, pBufRemaining, len, ( tDot11fIEvht_transmit_power_env* )(pFrm + pIe->offset + sizeof(tDot11fIEvht_transmit_power_env)*countOffset) ); + break; case SigIeAID: status |= dot11fUnpackIeAID(pCtx, pBufRemaining, len, ( tDot11fIEAID* )(pFrm + pIe->offset + sizeof(tDot11fIEAID)*countOffset) ); break; @@ -21508,6 +21572,11 @@ static tANI_U32 GetPackedSizeCore(tpAniSirGlobal pCtx, byteCount = 3; pIePresent = ( (tDot11fIEWiderBWChanSwitchAnn* )(pFrm + pIe->offset + offset * i ))->present; break; + case SigIevht_transmit_power_env: + offset = sizeof(tDot11fIEvht_transmit_power_env); + byteCount = ((tDot11fIEvht_transmit_power_env* )(pFrm + pIe->offset + sizeof(tDot11fIEvht_transmit_power_env) * i ))->num_bytes; + pIePresent = ( (tDot11fIEvht_transmit_power_env* )(pFrm + pIe->offset + offset * i ))->present; + break; case SigIeAID: offset = sizeof(tDot11fIEAID); byteCount = 2; @@ -25432,6 +25501,36 @@ tANI_U32 dot11fPackIeWiderBWChanSwitchAnn(tpAniSirGlobal pCtx, return DOT11F_PARSE_SUCCESS; } /* End dot11fPackIeWiderBWChanSwitchAnn. */ +tANI_U32 dot11fPackIevht_transmit_power_env(tpAniSirGlobal pCtx, + tDot11fIEvht_transmit_power_env *pSrc, + tANI_U8 *pBuf, + tANI_U32 nBuf, + tANI_U32 *pnConsumed) +{ + tANI_U8* pIeLen = 0; + tANI_U32 nConsumedOnEntry = *pnConsumed; + tANI_U32 nNeeded = 0U; + nNeeded += pSrc->num_bytes; + while ( pSrc->present ) + { + if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW; + *pBuf = 195; + ++pBuf; ++(*pnConsumed); + pIeLen = pBuf; + ++pBuf; ++(*pnConsumed); + DOT11F_MEMCPY(pCtx, pBuf, &( pSrc->bytes ), pSrc->num_bytes); + *pnConsumed += pSrc->num_bytes; + // fieldsEndFlag = 1 + break; + } + (void)pCtx; + if (pIeLen) + { + *pIeLen = *pnConsumed - nConsumedOnEntry - 2; + } + return DOT11F_PARSE_SUCCESS; +} /* End dot11fPackIevht_transmit_power_env. */ + tANI_U32 dot11fPackIeAID(tpAniSirGlobal pCtx, tDot11fIEAID *pSrc, tANI_U8 *pBuf, @@ -33295,6 +33394,16 @@ tANI_U32 dot11fPackBeacon(tpAniSirGlobal pCtx, tDot11fBeacon *pFrm, tANI_U8 *pBu FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -34200,6 +34309,16 @@ tANI_U32 dot11fPackBeacon2(tpAniSirGlobal pCtx, tDot11fBeacon2 *pFrm, tANI_U8 *p FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -35286,6 +35405,16 @@ tANI_U32 dot11fPackBeaconIEs(tpAniSirGlobal pCtx, tDot11fBeaconIEs *pFrm, tANI_U FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -38321,6 +38450,16 @@ tANI_U32 dot11fPackProbeResponse(tpAniSirGlobal pCtx, tDot11fProbeResponse *pFrm FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq0, 1); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->ChannelSwitchWrapper.WiderBWChanSwitchAnn.newCenterChanFreq1, 1); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("vht_transmit_power_env:\n")); + if (!pFrm->ChannelSwitchWrapper.vht_transmit_power_env.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("num_bytes: %d.\n"), pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* ) pFrm->ChannelSwitchWrapper.vht_transmit_power_env.bytes, pFrm->ChannelSwitchWrapper.vht_transmit_power_env.num_bytes); + } } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("QComVendorIE:\n")); if (!pFrm->QComVendorIE.present) @@ -42845,6 +42984,9 @@ static tANI_U32 PackCore(tpAniSirGlobal pCtx, case SigIeWiderBWChanSwitchAnn: status |= dot11fPackIeWiderBWChanSwitchAnn(pCtx, ( tDot11fIEWiderBWChanSwitchAnn* )(pSrc + pIe->offset + sizeof(tDot11fIEWiderBWChanSwitchAnn) * i ), pBufRemaining, nBufRemaining, &len); break; + case SigIevht_transmit_power_env: + status |= dot11fPackIevht_transmit_power_env(pCtx, ( tDot11fIEvht_transmit_power_env* )(pSrc + pIe->offset + sizeof(tDot11fIEvht_transmit_power_env) * i ), pBufRemaining, nBufRemaining, &len); + break; case SigIeAID: status |= dot11fPackIeAID(pCtx, ( tDot11fIEAID* )(pSrc + pIe->offset + sizeof(tDot11fIEAID) * i ), pBufRemaining, nBufRemaining, &len); break; diff --git a/CORE/SYS/legacy/src/utils/src/parserApi.c b/CORE/SYS/legacy/src/utils/src/parserApi.c index 9b614467978a..c59e062ba082 100644 --- a/CORE/SYS/legacy/src/utils/src/parserApi.c +++ b/CORE/SYS/legacy/src/utils/src/parserApi.c @@ -366,6 +366,7 @@ PopulateDot11fChanSwitchWrapper(tpAniSirGlobal pMac, tDot11fIEChannelSwitchWrapper *pDot11f, tpPESession psessionEntry) { + uint8_t *ie_ptr = NULL; /* * The new country subelement is present only when * 1. AP performs Extended Channel switching to new country. @@ -395,6 +396,20 @@ PopulateDot11fChanSwitchWrapper(tpAniSirGlobal pMac, psessionEntry->gLimWiderBWChannelSwitch.newCenterChanFreq1; pDot11f->WiderBWChanSwitchAnn.present = 1; + /* + * Add the VHT Transmit power Envelope Sublement. + */ + ie_ptr = lim_get_ie_ptr(psessionEntry->addIeParams.probeRespBCNData_buff, + psessionEntry->addIeParams.probeRespBCNDataLen, + DOT11F_EID_VHT_TRANSMIT_POWER_ENV); + if (ie_ptr) { + /* Ignore EID field */ + ie_ptr++; + pDot11f->vht_transmit_power_env.present = 1; + pDot11f->vht_transmit_power_env.num_bytes = *ie_ptr++; + vos_mem_copy(pDot11f->vht_transmit_power_env.bytes, + ie_ptr, pDot11f->vht_transmit_power_env.num_bytes); + } } #ifdef WLAN_FEATURE_11AC |
