qcacld-3.0: HS20 indication element support
HS20 Indication element parsing is added to indicate
release number of the HS20 passpoint that is present
in Hotspot configurations.
Change-Id: I8671d569d3809ebe5da7233ec862ae2569f5c109
CRs-Fixed: 1019592
diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms
index 91b3b1d..eb7e29c 100644
--- a/core/mac/src/cfg/cfgUtil/dot11f.frms
+++ b/core/mac/src/cfg/cfgUtil/dot11f.frms
@@ -1860,6 +1860,29 @@
{
}
+IE hs20vendor_ie (EID_VENDOR_SPECIFIC) OUI (0x50, 0x6F, 0x9A)
+{
+ type, 1;
+ /* hotspot_configurations */
+ {
+ dgaf_dis: 1;
+ hs_id_present: 2;
+ reserved: 1;
+ release_num: 4;
+ }
+ OPTIONAL UNION hs_id (DISCRIMINATOR hs_id_present)
+ {
+ pps_mo (hs_id_present IS 1)
+ {
+ pps_mo_id, 2;
+ }
+ anqp_domain (hs_id_present IS 2)
+ {
+ anqp_domain_id, 2;
+ }
+ };
+}
+
IE QComVendorIE (EID_VENDOR_SPECIFIC) OUI (0x00, 0xA0, 0xC6)
{
type, 1;
@@ -2924,6 +2947,7 @@
OPTIE Vendor1IE;
OPTIE vendor2_ie;
OPTIE Vendor3IE;
+ OPTIE hs20vendor_ie;
OPTIE ChannelSwitchWrapper;
OPTIE QComVendorIE;
OPTIE ESEVersion;
@@ -3011,6 +3035,7 @@
OPTIE Vendor1IE;
OPTIE vendor2_ie;
OPTIE Vendor3IE;
+ OPTIE hs20vendor_ie;
OPTIE ChannelSwitchWrapper;
OPTIE QComVendorIE;
OPTIE ESEVersion;
@@ -3075,6 +3100,7 @@
OPTIE Vendor1IE;
OPTIE vendor2_ie;
OPTIE Vendor3IE;
+ OPTIE hs20vendor_ie;
OPTIE ChannelSwitchWrapper;
OPTIE QComVendorIE;
} // End frame BeaconIEs.
@@ -3114,6 +3140,7 @@
OPTIE OperatingMode;
OPTIE QosMapSet;
OPTIE vendor2_ie;
+ OPTIE hs20vendor_ie;
} // End frame AssocRequest.
FRAME AssocResponse // 7.2.3.5
@@ -3185,6 +3212,7 @@
OPTIE OperatingMode;
OPTIE QosMapSet;
OPTIE vendor2_ie;
+ OPTIE hs20vendor_ie;
} // End frame ReAssocRequest.
FRAME ReAssocResponse // 7.2.3.7
@@ -3288,6 +3316,7 @@
OPTIE Vendor1IE;
OPTIE vendor2_ie;
OPTIE Vendor3IE;
+ OPTIE hs20vendor_ie;
OPTIE ChannelSwitchWrapper;
OPTIE QComVendorIE;
OPTIE ESEVersion;
diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h
index e51bd61..ef886c5 100644
--- a/core/mac/src/include/dot11f.h
+++ b/core/mac/src/include/dot11f.h
@@ -35,7 +35,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Wed Mar 2 11:45:36 2016 from the following file(s):
+ * Thu May 26 13:06:28 2016 from the following file(s):
*
* dot11f.frms
*
@@ -7361,6 +7361,56 @@
}; /* End extern "C". */
#endif /* C++ */
+/* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a} */
+typedef struct sDot11fIEhs20vendor_ie {
+ uint8_t present;
+ uint8_t type;
+ uint8_t dgaf_dis:1;
+ uint8_t hs_id_present:2;
+ uint8_t reserved:1;
+ uint8_t release_num:4;
+ union {
+ struct {
+ uint16_t pps_mo_id;
+ } pps_mo; /* hs_id_present = 1 */
+ struct {
+ uint16_t anqp_domain_id;
+ } anqp_domain; /* hs_id_present = 2 */
+ } hs_id;
+} tDot11fIEhs20vendor_ie;
+
+#define DOT11F_EID_HS20VENDOR_IE (221)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_HS20VENDOR_IE_MIN_LEN (5)
+
+#define DOT11F_IE_HS20VENDOR_IE_MAX_LEN (7)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_hs20vendor_ie(
+ tpAniSirGlobal,
+ uint8_t *,
+ uint8_t,
+ tDot11fIEhs20vendor_ie*);
+
+uint32_t dot11f_pack_ie_hs20vendor_ie(
+ tpAniSirGlobal,
+ tDot11fIEhs20vendor_ie *,
+ uint8_t *,
+ uint32_t,
+ uint32_t*);
+
+uint32_t dot11f_get_packed_ie_hs20vendor_ie(
+ tpAniSirGlobal,
+ tDot11fIEhs20vendor_ie *,
+ uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
/* EID 72 (0x48) */
typedef struct sDot11fIEht2040_bss_coexistence {
uint8_t present;
@@ -7629,6 +7679,7 @@
tDot11fIEOperatingMode OperatingMode;
tDot11fIEQosMapSet QosMapSet;
tDot11fIEvendor2_ie vendor2_ie;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
} tDot11fAssocRequest;
#define DOT11F_ASSOCREQUEST (3)
@@ -7791,6 +7842,7 @@
tDot11fIEVendor1IE Vendor1IE;
tDot11fIEvendor2_ie vendor2_ie;
tDot11fIEVendor3IE Vendor3IE;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper;
tDot11fIEQComVendorIE QComVendorIE;
tDot11fIEESEVersion ESEVersion;
@@ -7884,6 +7936,7 @@
tDot11fIEVendor1IE Vendor1IE;
tDot11fIEvendor2_ie vendor2_ie;
tDot11fIEVendor3IE Vendor3IE;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper;
tDot11fIEQComVendorIE QComVendorIE;
tDot11fIEESEVersion ESEVersion;
@@ -7959,6 +8012,7 @@
tDot11fIEVendor1IE Vendor1IE;
tDot11fIEvendor2_ie vendor2_ie;
tDot11fIEVendor3IE Vendor3IE;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper;
tDot11fIEQComVendorIE QComVendorIE;
} tDot11fBeaconIEs;
@@ -8368,6 +8422,7 @@
tDot11fIEVendor1IE Vendor1IE;
tDot11fIEvendor2_ie vendor2_ie;
tDot11fIEVendor3IE Vendor3IE;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper;
tDot11fIEQComVendorIE QComVendorIE;
tDot11fIEESEVersion ESEVersion;
@@ -8512,6 +8567,7 @@
tDot11fIEOperatingMode OperatingMode;
tDot11fIEQosMapSet QosMapSet;
tDot11fIEvendor2_ie vendor2_ie;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
} tDot11fReAssocRequest;
#define DOT11F_REASSOCREQUEST (26)
diff --git a/core/mac/src/include/parser_api.h b/core/mac/src/include/parser_api.h
index 4a99241..2156676 100644
--- a/core/mac/src/include/parser_api.h
+++ b/core/mac/src/include/parser_api.h
@@ -155,6 +155,7 @@
uint8_t Vendor1IEPresent;
tDot11fIEvendor2_ie vendor2_ie;
uint8_t Vendor3IEPresent;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEIBSSParams IBSSParams;
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
tDot11fIEQComVendorIE AvoidChannelIE;
@@ -229,6 +230,7 @@
tDot11fIEVHTCaps VHTCaps;
tDot11fIEOperatingMode operMode;
tDot11fIEExtCap ExtCap;
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
} tSirAssocReq, *tpSirAssocReq;
/* / Association Response structure (one day to be replaced by */
diff --git a/core/mac/src/pe/include/lim_session.h b/core/mac/src/pe/include/lim_session.h
index 779070b..a5bf8f7 100644
--- a/core/mac/src/pe/include/lim_session.h
+++ b/core/mac/src/pe/include/lim_session.h
@@ -467,6 +467,8 @@
bool is_vendor_specific_vhtcaps;
uint8_t vendor_specific_vht_ie_type;
uint8_t vendor_specific_vht_ie_sub_type;
+ /* HS 2.0 Indication */
+ tDot11fIEhs20vendor_ie hs20vendor_ie;
/* flag to indicate country code in beacon */
uint8_t country_info_present;
uint8_t nss;
diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c
index 88dc45e..7144f94 100644
--- a/core/mac/src/pe/lim/lim_assoc_utils.c
+++ b/core/mac/src/pe/lim/lim_assoc_utils.c
@@ -3228,6 +3228,22 @@
lim_log(mac_ctx, LOG1, FL(
"VHT caps are present in vendor specific IE"));
}
+
+ /* Update HS 2.0 Information Element */
+ if (beacon_probe_rsp->hs20vendor_ie.present) {
+ lim_log(mac_ctx, LOG1,
+ FL("HS20 Indication Element Present, rel#:%u, id:%u\n"),
+ beacon_probe_rsp->hs20vendor_ie.release_num,
+ beacon_probe_rsp->hs20vendor_ie.hs_id_present);
+ qdf_mem_copy(&session_entry->hs20vendor_ie,
+ &beacon_probe_rsp->hs20vendor_ie,
+ sizeof(tDot11fIEhs20vendor_ie) -
+ sizeof(beacon_probe_rsp->hs20vendor_ie.hs_id));
+ if (beacon_probe_rsp->hs20vendor_ie.hs_id_present)
+ qdf_mem_copy(&session_entry->hs20vendor_ie.hs_id,
+ &beacon_probe_rsp->hs20vendor_ie.hs_id,
+ sizeof(beacon_probe_rsp->hs20vendor_ie.hs_id));
+ }
}
/**
diff --git a/core/mac/src/pe/lim/lim_prop_exts_utils.c b/core/mac/src/pe/lim/lim_prop_exts_utils.c
index 2a72d6b..68d3961 100644
--- a/core/mac/src/pe/lim/lim_prop_exts_utils.c
+++ b/core/mac/src/pe/lim/lim_prop_exts_utils.c
@@ -216,6 +216,21 @@
/* Check if Extended caps are present in probe resp or not */
if (beacon_struct->ext_cap.present)
session->is_ext_caps_present = true;
+ /* Update HS 2.0 Information Element */
+ if (beacon_struct->hs20vendor_ie.present) {
+ lim_log(mac_ctx, LOG1,
+ FL("HS20 Indication Element Present, rel#:%u, id:%u\n"),
+ beacon_struct->hs20vendor_ie.release_num,
+ beacon_struct->hs20vendor_ie.hs_id_present);
+ qdf_mem_copy(&session->hs20vendor_ie,
+ &beacon_struct->hs20vendor_ie,
+ sizeof(tDot11fIEhs20vendor_ie) -
+ sizeof(beacon_struct->hs20vendor_ie.hs_id));
+ if (beacon_struct->hs20vendor_ie.hs_id_present)
+ qdf_mem_copy(&session->hs20vendor_ie.hs_id,
+ &beacon_struct->hs20vendor_ie.hs_id,
+ sizeof(beacon_struct->hs20vendor_ie.hs_id));
+ }
qdf_mem_free(beacon_struct);
return;
} /****** end lim_extract_ap_capability() ******/
diff --git a/core/mac/src/sys/legacy/src/utils/src/dot11f.c b/core/mac/src/sys/legacy/src/utils/src/dot11f.c
index 8c4be95..c5e1bf8 100644
--- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c
+++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c
@@ -33,7 +33,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Wed Mar 2 11:45:36 2016 from the following file(s):
+ * Thu May 26 13:06:28 2016 from the following file(s):
*
* dot11f.frms
*
@@ -5783,10 +5783,10 @@
#define SigIeext_chan_switch_ann (0x0079)
-uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx,
- uint8_t *pBuf,
- uint8_t ielen,
- tDot11fIEht2040_bss_coexistence *pDst)
+uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx,
+ uint8_t *pBuf,
+ uint8_t ielen,
+ tDot11fIEhs20vendor_ie *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
uint8_t tmp68__;
@@ -5794,18 +5794,64 @@
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
+ pDst->type = *pBuf;
+ pBuf += 1;
+ ielen -= (uint8_t)1;
tmp68__ = *pBuf;
- pDst->info_request = tmp68__ >> 0 & 0x1;
- pDst->forty_mhz_intolerant = tmp68__ >> 1 & 0x1;
- pDst->twenty_mhz_bsswidth_req = tmp68__ >> 2 & 0x1;
- pDst->obss_scan_exemption_req = tmp68__ >> 3 & 0x1;
- pDst->obss_scan_exemption_grant = tmp68__ >> 4 & 0x1;
- pDst->unused = tmp68__ >> 5 & 0x7;
+ pBuf += 1;
+ ielen -= 1;
+ pDst->dgaf_dis = tmp68__ >> 0 & 0x1;
+ pDst->hs_id_present = tmp68__ >> 1 & 0x3;
+ pDst->reserved = tmp68__ >> 3 & 0x1;
+ pDst->release_num = tmp68__ >> 4 & 0xf;
+ if (!ielen) {
+ return 0U;
+ } else {
+ switch (pDst->hs_id_present) {
+ case 1:
+ framesntohs(pCtx, &pDst->hs_id.pps_mo.pps_mo_id,
+ pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
+ break;
+ case 2:
+ framesntohs(pCtx,
+ &pDst->hs_id.anqp_domain.anqp_domain_id, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
+ break;
+ }
+ }
+ (void)pCtx;
+ return status;
+} /* End dot11f_unpack_ie_hs20vendor_ie. */
+
+#define SigIehs20vendor_ie (0x007a)
+
+
+uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx,
+ uint8_t *pBuf,
+ uint8_t ielen,
+ tDot11fIEht2040_bss_coexistence *pDst)
+{
+ uint32_t status = DOT11F_PARSE_SUCCESS;
+ uint8_t tmp69__;
+ (void) pBuf; (void)ielen; /* Shutup the compiler */
+ if (pDst->present)
+ status = DOT11F_DUPLICATE_IE;
+ pDst->present = 1;
+ tmp69__ = *pBuf;
+ pDst->info_request = tmp69__ >> 0 & 0x1;
+ pDst->forty_mhz_intolerant = tmp69__ >> 1 & 0x1;
+ pDst->twenty_mhz_bsswidth_req = tmp69__ >> 2 & 0x1;
+ pDst->obss_scan_exemption_req = tmp69__ >> 3 & 0x1;
+ pDst->obss_scan_exemption_grant = tmp69__ >> 4 & 0x1;
+ pDst->unused = tmp69__ >> 5 & 0x7;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_ht2040_bss_coexistence. */
-#define SigIeht2040_bss_coexistence (0x007a)
+#define SigIeht2040_bss_coexistence (0x007b)
uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx,
@@ -5832,7 +5878,7 @@
return status;
} /* End dot11f_unpack_ie_ht2040_bss_intolerant_report. */
-#define SigIeht2040_bss_intolerant_report (0x007b)
+#define SigIeht2040_bss_intolerant_report (0x007c)
uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx,
@@ -5850,7 +5896,7 @@
return status;
} /* End dot11f_unpack_ie_sec_chan_offset_ele. */
-#define SigIesec_chan_offset_ele (0x007c)
+#define SigIesec_chan_offset_ele (0x007d)
static const tFFDefn FFS_vendor2_ie[] = {
@@ -5895,7 +5941,7 @@
return status;
} /* End dot11f_unpack_ie_vendor2_ie. */
-#define SigIevendor2_ie (0x007d)
+#define SigIevendor2_ie (0x007e)
static const tFFDefn FFS_AddTSRequest[] = {
@@ -6116,6 +6162,10 @@
offsetof(tDot11fIEvendor2_ie, present), 0, "vendor2_ie",
0, 7, 28, SigIevendor2_ie, {0, 144, 76, 0, 0},
3, DOT11F_EID_VENDOR2_IE, 0, },
+ { offsetof(tDot11fAssocRequest, hs20vendor_ie),
+ offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
+ 0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 0, 0},
+ 3, DOT11F_EID_HS20VENDOR_IE, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
uint32_t dot11f_unpack_assoc_request(tpAniSirGlobal pCtx,
@@ -6473,6 +6523,10 @@
{ offsetof(tDot11fBeacon, Vendor3IE), offsetof(tDot11fIEVendor3IE,
present), 0, "Vendor3IE", 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0},
3, DOT11F_EID_VENDOR3IE, 0, },
+ { offsetof(tDot11fBeacon, hs20vendor_ie),
+ offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
+ 0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 0, 0},
+ 3, DOT11F_EID_HS20VENDOR_IE, 0, },
{ offsetof(tDot11fBeacon, ChannelSwitchWrapper),
offsetof(tDot11fIEChannelSwitchWrapper, present), 0,
"ChannelSwitchWrapper", 0, 2, 7, SigIeChannelSwitchWrapper,
@@ -6667,6 +6721,10 @@
{ offsetof(tDot11fBeacon2, Vendor3IE), offsetof(tDot11fIEVendor3IE,
present), 0, "Vendor3IE", 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0},
3, DOT11F_EID_VENDOR3IE, 0, },
+ { offsetof(tDot11fBeacon2, hs20vendor_ie),
+ offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
+ 0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 0, 0},
+ 3, DOT11F_EID_HS20VENDOR_IE, 0, },
{ offsetof(tDot11fBeacon2, ChannelSwitchWrapper),
offsetof(tDot11fIEChannelSwitchWrapper, present), 0,
"ChannelSwitchWrapper", 0, 2, 7, SigIeChannelSwitchWrapper,
@@ -6860,6 +6918,10 @@
{ offsetof(tDot11fBeaconIEs, Vendor3IE), offsetof(tDot11fIEVendor3IE,
present), 0, "Vendor3IE", 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0},
3, DOT11F_EID_VENDOR3IE, 0, },
+ { offsetof(tDot11fBeaconIEs, hs20vendor_ie),
+ offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
+ 0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 0, 0},
+ 3, DOT11F_EID_HS20VENDOR_IE, 0, },
{ offsetof(tDot11fBeaconIEs, ChannelSwitchWrapper),
offsetof(tDot11fIEChannelSwitchWrapper, present), 0,
"ChannelSwitchWrapper", 0, 2, 7, SigIeChannelSwitchWrapper,
@@ -7462,6 +7524,10 @@
{ offsetof(tDot11fProbeResponse, Vendor3IE), offsetof(tDot11fIEVendor3IE,
present), 0, "Vendor3IE", 0, 5, 5, SigIeVendor3IE, {0, 22, 50, 0, 0},
3, DOT11F_EID_VENDOR3IE, 0, },
+ { offsetof(tDot11fProbeResponse, hs20vendor_ie),
+ offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
+ 0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 0, 0},
+ 3, DOT11F_EID_HS20VENDOR_IE, 0, },
{ offsetof(tDot11fProbeResponse, ChannelSwitchWrapper),
offsetof(tDot11fIEChannelSwitchWrapper, present), 0,
"ChannelSwitchWrapper", 0, 2, 7, SigIeChannelSwitchWrapper,
@@ -7710,6 +7776,10 @@
offsetof(tDot11fIEvendor2_ie, present), 0, "vendor2_ie",
0, 7, 28, SigIevendor2_ie, {0, 144, 76, 0, 0},
3, DOT11F_EID_VENDOR2_IE, 0, },
+ { offsetof(tDot11fReAssocRequest, hs20vendor_ie),
+ offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
+ 0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 0, 0},
+ 3, DOT11F_EID_HS20VENDOR_IE, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
uint32_t dot11f_unpack_re_assoc_request(tpAniSirGlobal pCtx,
@@ -10091,6 +10161,15 @@
sizeof(tDot11fIEext_chan_switch_ann) *
countOffset));
break;
+ case SigIehs20vendor_ie:
+ status |=
+ dot11f_unpack_ie_hs20vendor_ie(
+ pCtx, pBufRemaining, len,
+ (tDot11fIEhs20vendor_ie *)
+ (pFrm + pIe->offset +
+ sizeof(tDot11fIEhs20vendor_ie) *
+ countOffset));
+ break;
case SigIeht2040_bss_coexistence:
status |=
dot11f_unpack_ie_ht2040_bss_coexistence(
@@ -11273,6 +11352,31 @@
return status;
} /* End dot11f_get_packed_ie_wsc_reassoc_res. */
+uint32_t dot11f_get_packed_ie_hs20vendor_ie(tpAniSirGlobal pCtx,
+ tDot11fIEhs20vendor_ie *pIe, uint32_t *pnNeeded)
+{
+ uint32_t status = DOT11F_PARSE_SUCCESS;
+ (void)pCtx;
+ while (pIe->present) {
+ *pnNeeded += 1;
+ *pnNeeded += 1;
+ if (pIe->hs_id_present) {
+ switch (pIe->hs_id_present) {
+ case 1:
+ *pnNeeded += 2;
+ break;
+ case 2:
+ *pnNeeded += 2;
+ break;
+ }
+ } else {
+ break;
+ }
+ break;
+ }
+ return status;
+} /* End dot11f_get_packed_ie_hs20vendor_ie. */
+
uint32_t dot11f_get_packed_ie_vendor2_ie(tpAniSirGlobal pCtx,
tDot11fIEvendor2_ie *pIe, uint32_t *pnNeeded)
{
@@ -12720,6 +12824,14 @@
(pFrm + pIe->offset + offset * i))->
present;
break;
+ case SigIehs20vendor_ie:
+ offset = sizeof(tDot11fIEhs20vendor_ie);
+ status |=
+ dot11f_get_packed_ie_hs20vendor_ie(
+ pCtx, (tDot11fIEhs20vendor_ie *)
+ (pFrm + pIe->offset + offset * i),
+ pnNeeded);
+ break;
case SigIeht2040_bss_coexistence:
offset = sizeof(tDot11fIEht2040_bss_coexistence);
byteCount = 1;
@@ -13035,25 +13147,25 @@
tDot11fFfCapabilities *pSrc,
uint8_t *pBuf)
{
- uint16_t tmp69__;
- tmp69__ = 0U;
- tmp69__ |= (pSrc->ess << 0);
- tmp69__ |= (pSrc->ibss << 1);
- tmp69__ |= (pSrc->cfPollable << 2);
- tmp69__ |= (pSrc->cfPollReq << 3);
- tmp69__ |= (pSrc->privacy << 4);
- tmp69__ |= (pSrc->shortPreamble << 5);
- tmp69__ |= (pSrc->pbcc << 6);
- tmp69__ |= (pSrc->channelAgility << 7);
- tmp69__ |= (pSrc->spectrumMgt << 8);
- tmp69__ |= (pSrc->qos << 9);
- tmp69__ |= (pSrc->shortSlotTime << 10);
- tmp69__ |= (pSrc->apsd << 11);
- tmp69__ |= (pSrc->rrm << 12);
- tmp69__ |= (pSrc->dsssOfdm << 13);
- tmp69__ |= (pSrc->delayedBA << 14);
- tmp69__ |= (pSrc->immediateBA << 15);
- frameshtons(pCtx, pBuf, tmp69__, 0);
+ uint16_t tmp70__;
+ tmp70__ = 0U;
+ tmp70__ |= (pSrc->ess << 0);
+ tmp70__ |= (pSrc->ibss << 1);
+ tmp70__ |= (pSrc->cfPollable << 2);
+ tmp70__ |= (pSrc->cfPollReq << 3);
+ tmp70__ |= (pSrc->privacy << 4);
+ tmp70__ |= (pSrc->shortPreamble << 5);
+ tmp70__ |= (pSrc->pbcc << 6);
+ tmp70__ |= (pSrc->channelAgility << 7);
+ tmp70__ |= (pSrc->spectrumMgt << 8);
+ tmp70__ |= (pSrc->qos << 9);
+ tmp70__ |= (pSrc->shortSlotTime << 10);
+ tmp70__ |= (pSrc->apsd << 11);
+ tmp70__ |= (pSrc->rrm << 12);
+ tmp70__ |= (pSrc->dsssOfdm << 13);
+ tmp70__ |= (pSrc->delayedBA << 14);
+ tmp70__ |= (pSrc->immediateBA << 15);
+ frameshtons(pCtx, pBuf, tmp70__, 0);
(void)pCtx;
} /* End dot11f_pack_ff_capabilities. */
@@ -13117,13 +13229,13 @@
tDot11fFfOperatingMode *pSrc,
uint8_t *pBuf)
{
- uint8_t tmp70__;
- tmp70__ = 0U;
- tmp70__ |= (pSrc->chanWidth << 0);
- tmp70__ |= (pSrc->reserved << 2);
- tmp70__ |= (pSrc->rxNSS << 4);
- tmp70__ |= (pSrc->rxNSSType << 7);
- *pBuf = tmp70__;
+ uint8_t tmp71__;
+ tmp71__ = 0U;
+ tmp71__ |= (pSrc->chanWidth << 0);
+ tmp71__ |= (pSrc->reserved << 2);
+ tmp71__ |= (pSrc->rxNSS << 4);
+ tmp71__ |= (pSrc->rxNSSType << 7);
+ *pBuf = tmp71__;
(void)pCtx;
} /* End dot11f_pack_ff_operating_mode. */
@@ -13163,12 +13275,12 @@
tDot11fFfSMPowerModeSet *pSrc,
uint8_t *pBuf)
{
- uint8_t tmp71__;
- tmp71__ = 0U;
- tmp71__ |= (pSrc->PowerSave_En << 0);
- tmp71__ |= (pSrc->Mode << 1);
- tmp71__ |= (pSrc->reserved << 2);
- *pBuf = tmp71__;
+ uint8_t tmp72__;
+ tmp72__ = 0U;
+ tmp72__ |= (pSrc->PowerSave_En << 0);
+ tmp72__ |= (pSrc->Mode << 1);
+ tmp72__ |= (pSrc->reserved << 2);
+ *pBuf = tmp72__;
(void)pCtx;
} /* End dot11f_pack_ff_sm_power_mode_set. */
@@ -13208,19 +13320,19 @@
tDot11fFfTSInfo *pSrc,
uint8_t *pBuf)
{
- uint32_t tmp72__;
- tmp72__ = 0U;
- tmp72__ |= (pSrc->traffic_type << 0);
- tmp72__ |= (pSrc->tsid << 1);
- tmp72__ |= (pSrc->direction << 5);
- tmp72__ |= (pSrc->access_policy << 7);
- tmp72__ |= (pSrc->aggregation << 9);
- tmp72__ |= (pSrc->psb << 10);
- tmp72__ |= (pSrc->user_priority << 11);
- tmp72__ |= (pSrc->tsinfo_ack_pol << 14);
- tmp72__ |= (pSrc->schedule << 16);
- tmp72__ |= (pSrc->unused << 17);
- frameshtonl(pCtx, pBuf, tmp72__, 0);
+ uint32_t tmp73__;
+ tmp73__ = 0U;
+ tmp73__ |= (pSrc->traffic_type << 0);
+ tmp73__ |= (pSrc->tsid << 1);
+ tmp73__ |= (pSrc->direction << 5);
+ tmp73__ |= (pSrc->access_policy << 7);
+ tmp73__ |= (pSrc->aggregation << 9);
+ tmp73__ |= (pSrc->psb << 10);
+ tmp73__ |= (pSrc->user_priority << 11);
+ tmp73__ |= (pSrc->tsinfo_ack_pol << 14);
+ tmp73__ |= (pSrc->schedule << 16);
+ tmp73__ |= (pSrc->unused << 17);
+ frameshtonl(pCtx, pBuf, tmp73__, 0);
(void)pCtx;
} /* End dot11f_pack_ff_ts_info. */
@@ -13276,13 +13388,13 @@
tDot11fFfext_chan_switch_ann_action *pSrc,
uint8_t *pBuf)
{
- uint32_t tmp73__;
- tmp73__ = 0U;
- tmp73__ |= (pSrc->switch_mode << 0);
- tmp73__ |= (pSrc->op_class << 8);
- tmp73__ |= (pSrc->new_channel << 16);
- tmp73__ |= (pSrc->switch_count << 24);
- frameshtonl(pCtx, pBuf, tmp73__, 0);
+ uint32_t tmp74__;
+ tmp74__ = 0U;
+ tmp74__ |= (pSrc->switch_mode << 0);
+ tmp74__ |= (pSrc->op_class << 8);
+ tmp74__ |= (pSrc->new_channel << 16);
+ tmp74__ |= (pSrc->switch_count << 24);
+ frameshtonl(pCtx, pBuf, tmp74__, 0);
(void)pCtx;
} /* End dot11f_pack_ff_ext_chan_switch_ann_action. */
@@ -13353,7 +13465,7 @@
uint8_t *pTlvLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp74__;
+ uint8_t tmp75__;
nNeeded += 3;
if (nNeeded > nBuf)
return DOT11F_BUFFER_OVERFLOW;
@@ -13362,10 +13474,10 @@
pBuf += 1; *pnConsumed += 1;
pTlvLen = pBuf;
pBuf += 1; *pnConsumed += 1;
- tmp74__ = 0U;
- tmp74__ |= (pSrc->minor << 0);
- tmp74__ |= (pSrc->major << 4);
- *pBuf = tmp74__;
+ tmp75__ = 0U;
+ tmp75__ |= (pSrc->minor << 0);
+ tmp75__ |= (pSrc->major << 4);
+ *pBuf = tmp75__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -14322,7 +14434,7 @@
uint8_t *pTlvLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp75__;
+ uint8_t tmp76__;
nNeeded += 5;
if (nNeeded > nBuf)
return DOT11F_BUFFER_OVERFLOW;
@@ -14331,10 +14443,10 @@
pBuf += 2; *pnConsumed += 2;
pTlvLen = pBuf;
pBuf += 2; *pnConsumed += 2;
- tmp75__ = 0U;
- tmp75__ |= (pSrc->minor << 0);
- tmp75__ |= (pSrc->major << 4);
- *pBuf = tmp75__;
+ tmp76__ = 0U;
+ tmp76__ |= (pSrc->minor << 0);
+ tmp76__ |= (pSrc->major << 4);
+ *pBuf = tmp76__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -14443,7 +14555,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp76__;
+ uint16_t tmp77__;
nNeeded += (pSrc->num_key + 11);
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14452,10 +14564,10 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp76__ = 0U;
- tmp76__ |= (pSrc->keyId << 0);
- tmp76__ |= (pSrc->reserved << 2);
- frameshtons(pCtx, pBuf, tmp76__, 0);
+ tmp77__ = 0U;
+ tmp77__ |= (pSrc->keyId << 0);
+ tmp77__ |= (pSrc->reserved << 2);
+ frameshtons(pCtx, pBuf, tmp77__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -14864,11 +14976,11 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp77__;
uint8_t tmp78__;
uint8_t tmp79__;
uint8_t tmp80__;
uint8_t tmp81__;
+ uint8_t tmp82__;
nNeeded += 5;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14877,60 +14989,60 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp77__ = 0U;
- tmp77__ |= (pSrc->LinkMeasurement << 0);
- tmp77__ |= (pSrc->NeighborRpt << 1);
- tmp77__ |= (pSrc->parallel << 2);
- tmp77__ |= (pSrc->repeated << 3);
- tmp77__ |= (pSrc->BeaconPassive << 4);
- tmp77__ |= (pSrc->BeaconActive << 5);
- tmp77__ |= (pSrc->BeaconTable << 6);
- tmp77__ |= (pSrc->BeaconRepCond << 7);
- *pBuf = tmp77__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
tmp78__ = 0U;
- tmp78__ |= (pSrc->FrameMeasurement << 0);
- tmp78__ |= (pSrc->ChannelLoad << 1);
- tmp78__ |= (pSrc->NoiseHistogram << 2);
- tmp78__ |= (pSrc->statistics << 3);
- tmp78__ |= (pSrc->LCIMeasurement << 4);
- tmp78__ |= (pSrc->LCIAzimuth << 5);
- tmp78__ |= (pSrc->TCMCapability << 6);
- tmp78__ |= (pSrc->triggeredTCM << 7);
+ tmp78__ |= (pSrc->LinkMeasurement << 0);
+ tmp78__ |= (pSrc->NeighborRpt << 1);
+ tmp78__ |= (pSrc->parallel << 2);
+ tmp78__ |= (pSrc->repeated << 3);
+ tmp78__ |= (pSrc->BeaconPassive << 4);
+ tmp78__ |= (pSrc->BeaconActive << 5);
+ tmp78__ |= (pSrc->BeaconTable << 6);
+ tmp78__ |= (pSrc->BeaconRepCond << 7);
*pBuf = tmp78__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp79__ = 0U;
- tmp79__ |= (pSrc->APChanReport << 0);
- tmp79__ |= (pSrc->RRMMIBEnabled << 1);
- tmp79__ |= (pSrc->operatingChanMax << 2);
- tmp79__ |= (pSrc->nonOperatinChanMax << 5);
+ tmp79__ |= (pSrc->FrameMeasurement << 0);
+ tmp79__ |= (pSrc->ChannelLoad << 1);
+ tmp79__ |= (pSrc->NoiseHistogram << 2);
+ tmp79__ |= (pSrc->statistics << 3);
+ tmp79__ |= (pSrc->LCIMeasurement << 4);
+ tmp79__ |= (pSrc->LCIAzimuth << 5);
+ tmp79__ |= (pSrc->TCMCapability << 6);
+ tmp79__ |= (pSrc->triggeredTCM << 7);
*pBuf = tmp79__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp80__ = 0U;
- tmp80__ |= (pSrc->MeasurementPilot << 0);
- tmp80__ |= (pSrc->MeasurementPilotEnabled << 3);
- tmp80__ |= (pSrc->NeighborTSFOffset << 4);
- tmp80__ |= (pSrc->RCPIMeasurement << 5);
- tmp80__ |= (pSrc->RSNIMeasurement << 6);
- tmp80__ |= (pSrc->BssAvgAccessDelay << 7);
+ tmp80__ |= (pSrc->APChanReport << 0);
+ tmp80__ |= (pSrc->RRMMIBEnabled << 1);
+ tmp80__ |= (pSrc->operatingChanMax << 2);
+ tmp80__ |= (pSrc->nonOperatinChanMax << 5);
*pBuf = tmp80__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp81__ = 0U;
- tmp81__ |= (pSrc->BSSAvailAdmission << 0);
- tmp81__ |= (pSrc->AntennaInformation << 1);
- tmp81__ |= (pSrc->fine_time_meas_rpt << 2);
- tmp81__ |= (pSrc->lci_capability << 3);
- tmp81__ |= (pSrc->reserved << 4);
+ tmp81__ |= (pSrc->MeasurementPilot << 0);
+ tmp81__ |= (pSrc->MeasurementPilotEnabled << 3);
+ tmp81__ |= (pSrc->NeighborTSFOffset << 4);
+ tmp81__ |= (pSrc->RCPIMeasurement << 5);
+ tmp81__ |= (pSrc->RSNIMeasurement << 6);
+ tmp81__ |= (pSrc->BssAvgAccessDelay << 7);
*pBuf = tmp81__;
*pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp82__ = 0U;
+ tmp82__ |= (pSrc->BSSAvailAdmission << 0);
+ tmp82__ |= (pSrc->AntennaInformation << 1);
+ tmp82__ |= (pSrc->fine_time_meas_rpt << 2);
+ tmp82__ |= (pSrc->lci_capability << 3);
+ tmp82__ |= (pSrc->reserved << 4);
+ *pBuf = tmp82__;
+ *pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
break;
@@ -15009,7 +15121,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp82__;
+ uint16_t tmp83__;
nNeeded += 14;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15018,12 +15130,12 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp82__ = 0U;
- tmp82__ |= (pSrc->aggregation << 0);
- tmp82__ |= (pSrc->tsid << 1);
- tmp82__ |= (pSrc->direction << 5);
- tmp82__ |= (pSrc->reserved << 7);
- frameshtons(pCtx, pBuf, tmp82__, 0);
+ tmp83__ = 0U;
+ tmp83__ |= (pSrc->aggregation << 0);
+ tmp83__ |= (pSrc->tsid << 1);
+ tmp83__ |= (pSrc->direction << 5);
+ tmp83__ |= (pSrc->reserved << 7);
+ frameshtons(pCtx, pBuf, tmp83__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -15250,9 +15362,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp83__;
- uint8_t tmp84__;
- uint16_t tmp85__;
+ uint16_t tmp84__;
+ uint8_t tmp85__;
+ uint16_t tmp86__;
nNeeded += 55;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15261,30 +15373,30 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp83__ = 0U;
- tmp83__ |= (pSrc->traffic_type << 0);
- tmp83__ |= (pSrc->tsid << 1);
- tmp83__ |= (pSrc->direction << 5);
- tmp83__ |= (pSrc->access_policy << 7);
- tmp83__ |= (pSrc->aggregation << 9);
- tmp83__ |= (pSrc->psb << 10);
- tmp83__ |= (pSrc->user_priority << 11);
- tmp83__ |= (pSrc->tsinfo_ack_pol << 14);
- frameshtons(pCtx, pBuf, tmp83__, 0);
+ tmp84__ = 0U;
+ tmp84__ |= (pSrc->traffic_type << 0);
+ tmp84__ |= (pSrc->tsid << 1);
+ tmp84__ |= (pSrc->direction << 5);
+ tmp84__ |= (pSrc->access_policy << 7);
+ tmp84__ |= (pSrc->aggregation << 9);
+ tmp84__ |= (pSrc->psb << 10);
+ tmp84__ |= (pSrc->user_priority << 11);
+ tmp84__ |= (pSrc->tsinfo_ack_pol << 14);
+ frameshtons(pCtx, pBuf, tmp84__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp84__ = 0U;
- tmp84__ |= (pSrc->schedule << 0);
- tmp84__ |= (pSrc->unused << 1);
- *pBuf = tmp84__;
+ tmp85__ = 0U;
+ tmp85__ |= (pSrc->schedule << 0);
+ tmp85__ |= (pSrc->unused << 1);
+ *pBuf = tmp85__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp85__ = 0U;
- tmp85__ |= (pSrc->size << 0);
- tmp85__ |= (pSrc->fixed << 15);
- frameshtons(pCtx, pBuf, tmp85__, 0);
+ tmp86__ = 0U;
+ tmp86__ |= (pSrc->size << 0);
+ tmp86__ |= (pSrc->fixed << 15);
+ frameshtons(pCtx, pBuf, tmp86__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -15348,9 +15460,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint32_t tmp86__;
- uint16_t tmp87__;
+ uint32_t tmp87__;
uint16_t tmp88__;
+ uint16_t tmp89__;
nNeeded += 12;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15359,48 +15471,48 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp86__ = 0U;
- tmp86__ |= (pSrc->maxMPDULen << 0);
- tmp86__ |= (pSrc->supportedChannelWidthSet << 2);
- tmp86__ |= (pSrc->ldpcCodingCap << 4);
- tmp86__ |= (pSrc->shortGI80MHz << 5);
- tmp86__ |= (pSrc->shortGI160and80plus80MHz << 6);
- tmp86__ |= (pSrc->txSTBC << 7);
- tmp86__ |= (pSrc->rxSTBC << 8);
- tmp86__ |= (pSrc->suBeamFormerCap << 11);
- tmp86__ |= (pSrc->suBeamformeeCap << 12);
- tmp86__ |= (pSrc->csnofBeamformerAntSup << 13);
- tmp86__ |= (pSrc->numSoundingDim << 16);
- tmp86__ |= (pSrc->muBeamformerCap << 19);
- tmp86__ |= (pSrc->muBeamformeeCap << 20);
- tmp86__ |= (pSrc->vhtTXOPPS << 21);
- tmp86__ |= (pSrc->htcVHTCap << 22);
- tmp86__ |= (pSrc->maxAMPDULenExp << 23);
- tmp86__ |= (pSrc->vhtLinkAdaptCap << 26);
- tmp86__ |= (pSrc->rxAntPattern << 28);
- tmp86__ |= (pSrc->txAntPattern << 29);
- tmp86__ |= (pSrc->reserved1 << 30);
- frameshtonl(pCtx, pBuf, tmp86__, 0);
+ tmp87__ = 0U;
+ tmp87__ |= (pSrc->maxMPDULen << 0);
+ tmp87__ |= (pSrc->supportedChannelWidthSet << 2);
+ tmp87__ |= (pSrc->ldpcCodingCap << 4);
+ tmp87__ |= (pSrc->shortGI80MHz << 5);
+ tmp87__ |= (pSrc->shortGI160and80plus80MHz << 6);
+ tmp87__ |= (pSrc->txSTBC << 7);
+ tmp87__ |= (pSrc->rxSTBC << 8);
+ tmp87__ |= (pSrc->suBeamFormerCap << 11);
+ tmp87__ |= (pSrc->suBeamformeeCap << 12);
+ tmp87__ |= (pSrc->csnofBeamformerAntSup << 13);
+ tmp87__ |= (pSrc->numSoundingDim << 16);
+ tmp87__ |= (pSrc->muBeamformerCap << 19);
+ tmp87__ |= (pSrc->muBeamformeeCap << 20);
+ tmp87__ |= (pSrc->vhtTXOPPS << 21);
+ tmp87__ |= (pSrc->htcVHTCap << 22);
+ tmp87__ |= (pSrc->maxAMPDULenExp << 23);
+ tmp87__ |= (pSrc->vhtLinkAdaptCap << 26);
+ tmp87__ |= (pSrc->rxAntPattern << 28);
+ tmp87__ |= (pSrc->txAntPattern << 29);
+ tmp87__ |= (pSrc->reserved1 << 30);
+ frameshtonl(pCtx, pBuf, tmp87__, 0);
*pnConsumed += 4;
pBuf += 4;
nBuf -= 4 ;
frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp87__ = 0U;
- tmp87__ |= (pSrc->rxHighSupDataRate << 0);
- tmp87__ |= (pSrc->reserved2 << 13);
- frameshtons(pCtx, pBuf, tmp87__, 0);
+ tmp88__ = 0U;
+ tmp88__ |= (pSrc->rxHighSupDataRate << 0);
+ tmp88__ |= (pSrc->reserved2 << 13);
+ frameshtons(pCtx, pBuf, tmp88__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp88__ = 0U;
- tmp88__ |= (pSrc->txSupDataRate << 0);
- tmp88__ |= (pSrc->reserved3 << 13);
- frameshtons(pCtx, pBuf, tmp88__, 0);
+ tmp89__ = 0U;
+ tmp89__ |= (pSrc->txSupDataRate << 0);
+ tmp89__ |= (pSrc->reserved3 << 13);
+ frameshtons(pCtx, pBuf, tmp89__, 0);
*pnConsumed += 2;
/* fieldsEndFlag = 1 */
nBuf -= 2 ;
@@ -15460,7 +15572,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp89__;
+ uint16_t tmp90__;
nNeeded += 15;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15482,12 +15594,12 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp89__ = 0U;
- tmp89__ |= (pSrc->aggregation << 0);
- tmp89__ |= (pSrc->tsid << 1);
- tmp89__ |= (pSrc->direction << 5);
- tmp89__ |= (pSrc->reserved << 7);
- frameshtons(pCtx, pBuf, tmp89__, 0);
+ tmp90__ = 0U;
+ tmp90__ |= (pSrc->aggregation << 0);
+ tmp90__ |= (pSrc->tsid << 1);
+ tmp90__ |= (pSrc->direction << 5);
+ tmp90__ |= (pSrc->reserved << 7);
+ frameshtons(pCtx, pBuf, tmp90__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -15721,9 +15833,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp90__;
- uint8_t tmp91__;
- uint16_t tmp92__;
+ uint16_t tmp91__;
+ uint8_t tmp92__;
+ uint16_t tmp93__;
nNeeded += 38;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15745,30 +15857,30 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp90__ = 0U;
- tmp90__ |= (pSrc->traffic_type << 0);
- tmp90__ |= (pSrc->tsid << 1);
- tmp90__ |= (pSrc->direction << 5);
- tmp90__ |= (pSrc->access_policy << 7);
- tmp90__ |= (pSrc->aggregation << 9);
- tmp90__ |= (pSrc->psb << 10);
- tmp90__ |= (pSrc->user_priority << 11);
- tmp90__ |= (pSrc->tsinfo_ack_pol << 14);
- frameshtons(pCtx, pBuf, tmp90__, 0);
+ tmp91__ = 0U;
+ tmp91__ |= (pSrc->traffic_type << 0);
+ tmp91__ |= (pSrc->tsid << 1);
+ tmp91__ |= (pSrc->direction << 5);
+ tmp91__ |= (pSrc->access_policy << 7);
+ tmp91__ |= (pSrc->aggregation << 9);
+ tmp91__ |= (pSrc->psb << 10);
+ tmp91__ |= (pSrc->user_priority << 11);
+ tmp91__ |= (pSrc->tsinfo_ack_pol << 14);
+ frameshtons(pCtx, pBuf, tmp91__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp91__ = 0U;
- tmp91__ |= (pSrc->tsinfo_rsvd << 0);
- tmp91__ |= (pSrc->burst_size_defn << 7);
- *pBuf = tmp91__;
+ tmp92__ = 0U;
+ tmp92__ |= (pSrc->tsinfo_rsvd << 0);
+ tmp92__ |= (pSrc->burst_size_defn << 7);
+ *pBuf = tmp92__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp92__ = 0U;
- tmp92__ |= (pSrc->size << 0);
- tmp92__ |= (pSrc->fixed << 15);
- frameshtons(pCtx, pBuf, tmp92__, 0);
+ tmp93__ = 0U;
+ tmp93__ |= (pSrc->size << 0);
+ tmp93__ |= (pSrc->fixed << 15);
+ frameshtons(pCtx, pBuf, tmp93__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -15925,8 +16037,8 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp93__;
uint8_t tmp94__;
+ uint8_t tmp95__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_neighbor_rpt(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -15941,24 +16053,24 @@
DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
*pnConsumed += 6;
pBuf += 6;
- tmp93__ = 0U;
- tmp93__ |= (pSrc->APReachability << 0);
- tmp93__ |= (pSrc->Security << 2);
- tmp93__ |= (pSrc->KeyScope << 3);
- tmp93__ |= (pSrc->SpecMgmtCap << 4);
- tmp93__ |= (pSrc->QosCap << 5);
- tmp93__ |= (pSrc->apsd << 6);
- tmp93__ |= (pSrc->rrm << 7);
- *pBuf = tmp93__;
+ tmp94__ = 0U;
+ tmp94__ |= (pSrc->APReachability << 0);
+ tmp94__ |= (pSrc->Security << 2);
+ tmp94__ |= (pSrc->KeyScope << 3);
+ tmp94__ |= (pSrc->SpecMgmtCap << 4);
+ tmp94__ |= (pSrc->QosCap << 5);
+ tmp94__ |= (pSrc->apsd << 6);
+ tmp94__ |= (pSrc->rrm << 7);
+ *pBuf = tmp94__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp94__ = 0U;
- tmp94__ |= (pSrc->DelayedBA << 0);
- tmp94__ |= (pSrc->ImmBA << 1);
- tmp94__ |= (pSrc->MobilityDomain << 2);
- tmp94__ |= (pSrc->reserved << 3);
- *pBuf = tmp94__;
+ tmp95__ = 0U;
+ tmp95__ |= (pSrc->DelayedBA << 0);
+ tmp95__ |= (pSrc->ImmBA << 1);
+ tmp95__ |= (pSrc->MobilityDomain << 2);
+ tmp95__ |= (pSrc->reserved << 3);
+ *pBuf = tmp95__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16292,7 +16404,6 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp95__;
uint8_t tmp96__;
uint8_t tmp97__;
uint8_t tmp98__;
@@ -16300,6 +16411,7 @@
uint8_t tmp100__;
uint8_t tmp101__;
uint8_t tmp102__;
+ uint8_t tmp103__;
nNeeded += 18;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16314,76 +16426,76 @@
*pBuf = pSrc->reserved;
*pnConsumed += 1;
pBuf += 1;
- tmp95__ = 0U;
- tmp95__ |= (pSrc->acbe_aifsn << 0);
- tmp95__ |= (pSrc->acbe_acm << 4);
- tmp95__ |= (pSrc->acbe_aci << 5);
- tmp95__ |= (pSrc->unused1 << 7);
- *pBuf = tmp95__;
+ tmp96__ = 0U;
+ tmp96__ |= (pSrc->acbe_aifsn << 0);
+ tmp96__ |= (pSrc->acbe_acm << 4);
+ tmp96__ |= (pSrc->acbe_aci << 5);
+ tmp96__ |= (pSrc->unused1 << 7);
+ *pBuf = tmp96__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp96__ = 0U;
- tmp96__ |= (pSrc->acbe_acwmin << 0);
- tmp96__ |= (pSrc->acbe_acwmax << 4);
- *pBuf = tmp96__;
+ tmp97__ = 0U;
+ tmp97__ |= (pSrc->acbe_acwmin << 0);
+ tmp97__ |= (pSrc->acbe_acwmax << 4);
+ *pBuf = tmp97__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp97__ = 0U;
- tmp97__ |= (pSrc->acbk_aifsn << 0);
- tmp97__ |= (pSrc->acbk_acm << 4);
- tmp97__ |= (pSrc->acbk_aci << 5);
- tmp97__ |= (pSrc->unused2 << 7);
- *pBuf = tmp97__;
+ tmp98__ = 0U;
+ tmp98__ |= (pSrc->acbk_aifsn << 0);
+ tmp98__ |= (pSrc->acbk_acm << 4);
+ tmp98__ |= (pSrc->acbk_aci << 5);
+ tmp98__ |= (pSrc->unused2 << 7);
+ *pBuf = tmp98__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp98__ = 0U;
- tmp98__ |= (pSrc->acbk_acwmin << 0);
- tmp98__ |= (pSrc->acbk_acwmax << 4);
- *pBuf = tmp98__;
+ tmp99__ = 0U;
+ tmp99__ |= (pSrc->acbk_acwmin << 0);
+ tmp99__ |= (pSrc->acbk_acwmax << 4);
+ *pBuf = tmp99__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp99__ = 0U;
- tmp99__ |= (pSrc->acvi_aifsn << 0);
- tmp99__ |= (pSrc->acvi_acm << 4);
- tmp99__ |= (pSrc->acvi_aci << 5);
- tmp99__ |= (pSrc->unused3 << 7);
- *pBuf = tmp99__;
+ tmp100__ = 0U;
+ tmp100__ |= (pSrc->acvi_aifsn << 0);
+ tmp100__ |= (pSrc->acvi_acm << 4);
+ tmp100__ |= (pSrc->acvi_aci << 5);
+ tmp100__ |= (pSrc->unused3 << 7);
+ *pBuf = tmp100__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp100__ = 0U;
- tmp100__ |= (pSrc->acvi_acwmin << 0);
- tmp100__ |= (pSrc->acvi_acwmax << 4);
- *pBuf = tmp100__;
+ tmp101__ = 0U;
+ tmp101__ |= (pSrc->acvi_acwmin << 0);
+ tmp101__ |= (pSrc->acvi_acwmax << 4);
+ *pBuf = tmp101__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp101__ = 0U;
- tmp101__ |= (pSrc->acvo_aifsn << 0);
- tmp101__ |= (pSrc->acvo_acm << 4);
- tmp101__ |= (pSrc->acvo_aci << 5);
- tmp101__ |= (pSrc->unused4 << 7);
- *pBuf = tmp101__;
+ tmp102__ = 0U;
+ tmp102__ |= (pSrc->acvo_aifsn << 0);
+ tmp102__ |= (pSrc->acvo_acm << 4);
+ tmp102__ |= (pSrc->acvo_aci << 5);
+ tmp102__ |= (pSrc->unused4 << 7);
+ *pBuf = tmp102__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp102__ = 0U;
- tmp102__ |= (pSrc->acvo_acwmin << 0);
- tmp102__ |= (pSrc->acvo_acwmax << 4);
- *pBuf = tmp102__;
+ tmp103__ = 0U;
+ tmp103__ |= (pSrc->acvo_acwmin << 0);
+ tmp103__ |= (pSrc->acvo_acwmax << 4);
+ *pBuf = tmp103__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16408,7 +16520,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp103__;
+ uint8_t tmp104__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16417,12 +16529,12 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp103__ = 0U;
- tmp103__ |= (pSrc->non_erp_present << 0);
- tmp103__ |= (pSrc->use_prot << 1);
- tmp103__ |= (pSrc->barker_preamble << 2);
- tmp103__ |= (pSrc->unused << 3);
- *pBuf = tmp103__;
+ tmp104__ = 0U;
+ tmp104__ |= (pSrc->non_erp_present << 0);
+ tmp104__ |= (pSrc->use_prot << 1);
+ tmp104__ |= (pSrc->barker_preamble << 2);
+ tmp104__ |= (pSrc->unused << 3);
+ *pBuf = tmp104__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -16481,7 +16593,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp104__;
+ uint8_t tmp105__;
nNeeded += 2;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16501,10 +16613,10 @@
*pBuf = pSrc->mgmt_state;
*pnConsumed += 1;
pBuf += 1;
- tmp104__ = 0U;
- tmp104__ |= (pSrc->mbssid_mask << 0);
- tmp104__ |= (pSrc->reserved << 3);
- *pBuf = tmp104__;
+ tmp105__ = 0U;
+ tmp105__ |= (pSrc->mbssid_mask << 0);
+ tmp105__ |= (pSrc->reserved << 3);
+ *pBuf = tmp105__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -16855,7 +16967,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp105__;
+ uint16_t tmp106__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ieft_info(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -16867,10 +16979,10 @@
++pBuf; --nBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; --nBuf; ++(*pnConsumed);
- tmp105__ = 0U;
- tmp105__ |= (pSrc->reserved << 0);
- tmp105__ |= (pSrc->IECount << 8);
- frameshtons(pCtx, pBuf, tmp105__, 0);
+ tmp106__ = 0U;
+ tmp106__ |= (pSrc->reserved << 0);
+ tmp106__ |= (pSrc->IECount << 8);
+ frameshtons(pCtx, pBuf, tmp106__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -16908,11 +17020,11 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp106__;
- uint8_t tmp107__;
- uint16_t tmp108__;
- uint32_t tmp109__;
- uint8_t tmp110__;
+ uint16_t tmp107__;
+ uint8_t tmp108__;
+ uint16_t tmp109__;
+ uint32_t tmp110__;
+ uint8_t tmp111__;
nNeeded += (pSrc->num_rsvd + 26);
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16921,77 +17033,77 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp106__ = 0U;
- tmp106__ |= (pSrc->advCodingCap << 0);
- tmp106__ |= (pSrc->supportedChannelWidthSet << 1);
- tmp106__ |= (pSrc->mimoPowerSave << 2);
- tmp106__ |= (pSrc->greenField << 4);
- tmp106__ |= (pSrc->shortGI20MHz << 5);
- tmp106__ |= (pSrc->shortGI40MHz << 6);
- tmp106__ |= (pSrc->txSTBC << 7);
- tmp106__ |= (pSrc->rxSTBC << 8);
- tmp106__ |= (pSrc->delayedBA << 10);
- tmp106__ |= (pSrc->maximalAMSDUsize << 11);
- tmp106__ |= (pSrc->dsssCckMode40MHz << 12);
- tmp106__ |= (pSrc->psmp << 13);
- tmp106__ |= (pSrc->stbcControlFrame << 14);
- tmp106__ |= (pSrc->lsigTXOPProtection << 15);
- frameshtons(pCtx, pBuf, tmp106__, 0);
+ tmp107__ = 0U;
+ tmp107__ |= (pSrc->advCodingCap << 0);
+ tmp107__ |= (pSrc->supportedChannelWidthSet << 1);
+ tmp107__ |= (pSrc->mimoPowerSave << 2);
+ tmp107__ |= (pSrc->greenField << 4);
+ tmp107__ |= (pSrc->shortGI20MHz << 5);
+ tmp107__ |= (pSrc->shortGI40MHz << 6);
+ tmp107__ |= (pSrc->txSTBC << 7);
+ tmp107__ |= (pSrc->rxSTBC << 8);
+ tmp107__ |= (pSrc->delayedBA << 10);
+ tmp107__ |= (pSrc->maximalAMSDUsize << 11);
+ tmp107__ |= (pSrc->dsssCckMode40MHz << 12);
+ tmp107__ |= (pSrc->psmp << 13);
+ tmp107__ |= (pSrc->stbcControlFrame << 14);
+ tmp107__ |= (pSrc->lsigTXOPProtection << 15);
+ frameshtons(pCtx, pBuf, tmp107__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp107__ = 0U;
- tmp107__ |= (pSrc->maxRxAMPDUFactor << 0);
- tmp107__ |= (pSrc->mpduDensity << 2);
- tmp107__ |= (pSrc->reserved1 << 5);
- *pBuf = tmp107__;
+ tmp108__ = 0U;
+ tmp108__ |= (pSrc->maxRxAMPDUFactor << 0);
+ tmp108__ |= (pSrc->mpduDensity << 2);
+ tmp108__ |= (pSrc->reserved1 << 5);
+ *pBuf = tmp108__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16);
*pnConsumed += 16;
pBuf += 16;
- tmp108__ = 0U;
- tmp108__ |= (pSrc->pco << 0);
- tmp108__ |= (pSrc->transitionTime << 1);
- tmp108__ |= (pSrc->reserved2 << 3);
- tmp108__ |= (pSrc->mcsFeedback << 8);
- tmp108__ |= (pSrc->reserved3 << 10);
- frameshtons(pCtx, pBuf, tmp108__, 0);
+ tmp109__ = 0U;
+ tmp109__ |= (pSrc->pco << 0);
+ tmp109__ |= (pSrc->transitionTime << 1);
+ tmp109__ |= (pSrc->reserved2 << 3);
+ tmp109__ |= (pSrc->mcsFeedback << 8);
+ tmp109__ |= (pSrc->reserved3 << 10);
+ frameshtons(pCtx, pBuf, tmp109__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp109__ = 0U;
- tmp109__ |= (pSrc->txBF << 0);
- tmp109__ |= (pSrc->rxStaggeredSounding << 1);
- tmp109__ |= (pSrc->txStaggeredSounding << 2);
- tmp109__ |= (pSrc->rxZLF << 3);
- tmp109__ |= (pSrc->txZLF << 4);
- tmp109__ |= (pSrc->implicitTxBF << 5);
- tmp109__ |= (pSrc->calibration << 6);
- tmp109__ |= (pSrc->explicitCSITxBF << 8);
- tmp109__ |= (pSrc->explicitUncompressedSteeringMatrix << 9);
- tmp109__ |= (pSrc->explicitBFCSIFeedback << 10);
- tmp109__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13);
- tmp109__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16);
- tmp109__ |= (pSrc->csiNumBFAntennae << 19);
- tmp109__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21);
- tmp109__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23);
- tmp109__ |= (pSrc->reserved4 << 25);
- frameshtonl(pCtx, pBuf, tmp109__, 0);
+ tmp110__ = 0U;
+ tmp110__ |= (pSrc->txBF << 0);
+ tmp110__ |= (pSrc->rxStaggeredSounding << 1);
+ tmp110__ |= (pSrc->txStaggeredSounding << 2);
+ tmp110__ |= (pSrc->rxZLF << 3);
+ tmp110__ |= (pSrc->txZLF << 4);
+ tmp110__ |= (pSrc->implicitTxBF << 5);
+ tmp110__ |= (pSrc->calibration << 6);
+ tmp110__ |= (pSrc->explicitCSITxBF << 8);
+ tmp110__ |= (pSrc->explicitUncompressedSteeringMatrix << 9);
+ tmp110__ |= (pSrc->explicitBFCSIFeedback << 10);
+ tmp110__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13);
+ tmp110__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16);
+ tmp110__ |= (pSrc->csiNumBFAntennae << 19);
+ tmp110__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21);
+ tmp110__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23);
+ tmp110__ |= (pSrc->reserved4 << 25);
+ frameshtonl(pCtx, pBuf, tmp110__, 0);
*pnConsumed += 4;
pBuf += 4;
nBuf -= 4 ;
- tmp110__ = 0U;
- tmp110__ |= (pSrc->antennaSelection << 0);
- tmp110__ |= (pSrc->explicitCSIFeedbackTx << 1);
- tmp110__ |= (pSrc->antennaIndicesFeedbackTx << 2);
- tmp110__ |= (pSrc->explicitCSIFeedback << 3);
- tmp110__ |= (pSrc->antennaIndicesFeedback << 4);
- tmp110__ |= (pSrc->rxAS << 5);
- tmp110__ |= (pSrc->txSoundingPPDUs << 6);
- tmp110__ |= (pSrc->reserved5 << 7);
- *pBuf = tmp110__;
+ tmp111__ = 0U;
+ tmp111__ |= (pSrc->antennaSelection << 0);
+ tmp111__ |= (pSrc->explicitCSIFeedbackTx << 1);
+ tmp111__ |= (pSrc->antennaIndicesFeedbackTx << 2);
+ tmp111__ |= (pSrc->explicitCSIFeedback << 3);
+ tmp111__ |= (pSrc->antennaIndicesFeedback << 4);
+ tmp111__ |= (pSrc->rxAS << 5);
+ tmp111__ |= (pSrc->txSoundingPPDUs << 6);
+ tmp111__ |= (pSrc->reserved5 << 7);
+ *pBuf = tmp111__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -17016,9 +17128,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp111__;
- uint16_t tmp112__;
+ uint8_t tmp112__;
uint16_t tmp113__;
+ uint16_t tmp114__;
nNeeded += (pSrc->num_rsvd + 22);
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -17030,35 +17142,35 @@
*pBuf = pSrc->primaryChannel;
*pnConsumed += 1;
pBuf += 1;
- tmp111__ = 0U;
- tmp111__ |= (pSrc->secondaryChannelOffset << 0);
- tmp111__ |= (pSrc->recommendedTxWidthSet << 2);
- tmp111__ |= (pSrc->rifsMode << 3);
- tmp111__ |= (pSrc->controlledAccessOnly << 4);
- tmp111__ |= (pSrc->serviceIntervalGranularity << 5);
- *pBuf = tmp111__;
+ tmp112__ = 0U;
+ tmp112__ |= (pSrc->secondaryChannelOffset << 0);
+ tmp112__ |= (pSrc->recommendedTxWidthSet << 2);
+ tmp112__ |= (pSrc->rifsMode << 3);
+ tmp112__ |= (pSrc->controlledAccessOnly << 4);
+ tmp112__ |= (pSrc->serviceIntervalGranularity << 5);
+ *pBuf = tmp112__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp112__ = 0U;
- tmp112__ |= (pSrc->opMode << 0);
- tmp112__ |= (pSrc->nonGFDevicesPresent << 2);
- tmp112__ |= (pSrc->transmitBurstLimit << 3);
- tmp112__ |= (pSrc->obssNonHTStaPresent << 4);
- tmp112__ |= (pSrc->reserved << 5);
- frameshtons(pCtx, pBuf, tmp112__, 0);
+ tmp113__ = 0U;
+ tmp113__ |= (pSrc->opMode << 0);
+ tmp113__ |= (pSrc->nonGFDevicesPresent << 2);
+ tmp113__ |= (pSrc->transmitBurstLimit << 3);
+ tmp113__ |= (pSrc->obssNonHTStaPresent << 4);
+ tmp113__ |= (pSrc->reserved << 5);
+ frameshtons(pCtx, pBuf, tmp113__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp113__ = 0U;
- tmp113__ |= (pSrc->basicSTBCMCS << 0);
- tmp113__ |= (pSrc->dualCTSProtection << 7);
- tmp113__ |= (pSrc->secondaryBeacon << 8);
- tmp113__ |= (pSrc->lsigTXOPProtectionFullSupport << 9);
- tmp113__ |= (pSrc->pcoActive << 10);
- tmp113__ |= (pSrc->pcoPhase << 11);
- tmp113__ |= (pSrc->reserved2 << 12);
- frameshtons(pCtx, pBuf, tmp113__, 0);
+ tmp114__ = 0U;
+ tmp114__ |= (pSrc->basicSTBCMCS << 0);
+ tmp114__ |= (pSrc->dualCTSProtection << 7);
+ tmp114__ |= (pSrc->secondaryBeacon << 8);
+ tmp114__ |= (pSrc->lsigTXOPProtectionFullSupport << 9);
+ tmp114__ |= (pSrc->pcoActive << 10);
+ tmp114__ |= (pSrc->pcoPhase << 11);
+ tmp114__ |= (pSrc->reserved2 << 12);
+ frameshtons(pCtx, pBuf, tmp114__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -17150,9 +17262,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp114__;
uint8_t tmp115__;
uint8_t tmp116__;
+ uint8_t tmp117__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_measurement_report(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -17167,12 +17279,12 @@
*pBuf = pSrc->token;
*pnConsumed += 1;
pBuf += 1;
- tmp114__ = 0U;
- tmp114__ |= (pSrc->late << 0);
- tmp114__ |= (pSrc->incapable << 1);
- tmp114__ |= (pSrc->refused << 2);
- tmp114__ |= (pSrc->unused << 3);
- *pBuf = tmp114__;
+ tmp115__ = 0U;
+ tmp115__ |= (pSrc->late << 0);
+ tmp115__ |= (pSrc->incapable << 1);
+ tmp115__ |= (pSrc->refused << 2);
+ tmp115__ |= (pSrc->unused << 3);
+ *pBuf = tmp115__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -17191,14 +17303,14 @@
frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp115__ = 0U;
- tmp115__ |= (pSrc->report.Basic.bss << 0);
- tmp115__ |= (pSrc->report.Basic.ofdm_preamble << 1);
- tmp115__ |= (pSrc->report.Basic.unid_signal << 2);
- tmp115__ |= (pSrc->report.Basic.rader << 3);
- tmp115__ |= (pSrc->report.Basic.unmeasured << 4);
- tmp115__ |= (pSrc->report.Basic.unused << 5);
- *pBuf = tmp115__;
+ tmp116__ = 0U;
+ tmp116__ |= (pSrc->report.Basic.bss << 0);
+ tmp116__ |= (pSrc->report.Basic.ofdm_preamble << 1);
+ tmp116__ |= (pSrc->report.Basic.unid_signal << 2);
+ tmp116__ |= (pSrc->report.Basic.rader << 3);
+ tmp116__ |= (pSrc->report.Basic.unmeasured << 4);
+ tmp116__ |= (pSrc->report.Basic.unused << 5);
+ *pBuf = tmp116__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -17265,10 +17377,10 @@
frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp116__ = 0U;
- tmp116__ |= (pSrc->report.Beacon.condensed_PHY << 0);
- tmp116__ |= (pSrc->report.Beacon.reported_frame_type << 7);
- *pBuf = tmp116__;
+ tmp117__ = 0U;
+ tmp117__ |= (pSrc->report.Beacon.condensed_PHY << 0);
+ tmp117__ |= (pSrc->report.Beacon.reported_frame_type << 7);
+ *pBuf = tmp117__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -17317,7 +17429,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp117__;
+ uint8_t tmp118__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_measurement_request(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -17332,14 +17444,14 @@
*pBuf = pSrc->measurement_token;
*pnConsumed += 1;
pBuf += 1;
- tmp117__ = 0U;
- tmp117__ |= (pSrc->parallel << 0);
- tmp117__ |= (pSrc->enable << 1);
- tmp117__ |= (pSrc->request << 2);
- tmp117__ |= (pSrc->report << 3);
- tmp117__ |= (pSrc->durationMandatory << 4);
- tmp117__ |= (pSrc->unused << 5);
- *pBuf = tmp117__;
+ tmp118__ = 0U;
+ tmp118__ |= (pSrc->parallel << 0);
+ tmp118__ |= (pSrc->enable << 1);
+ tmp118__ |= (pSrc->request << 2);
+ tmp118__ |= (pSrc->report << 3);
+ tmp118__ |= (pSrc->durationMandatory << 4);
+ tmp118__ |= (pSrc->unused << 5);
+ *pBuf = tmp118__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -17453,7 +17565,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp118__;
+ uint8_t tmp119__;
nNeeded += 3;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -17465,11 +17577,11 @@
frameshtons(pCtx, pBuf, pSrc->MDID, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp118__ = 0U;
- tmp118__ |= (pSrc->overDSCap << 0);
- tmp118__ |= (pSrc->resourceReqCap << 1);
- tmp118__ |= (pSrc->reserved << 2);
- *pBuf = tmp118__;
+ tmp119__ = 0U;
+ tmp119__ |= (pSrc->overDSCap << 0);
+ tmp119__ |= (pSrc->resourceReqCap << 1);
+ tmp119__ |= (pSrc->reserved << 2);
+ *pBuf = tmp119__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -17491,8 +17603,8 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp119__;
uint8_t tmp120__;
+ uint8_t tmp121__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_neighbor_report(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -17507,24 +17619,24 @@
DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
*pnConsumed += 6;
pBuf += 6;
- tmp119__ = 0U;
- tmp119__ |= (pSrc->APReachability << 0);
- tmp119__ |= (pSrc->Security << 2);
- tmp119__ |= (pSrc->KeyScope << 3);
- tmp119__ |= (pSrc->SpecMgmtCap << 4);
- tmp119__ |= (pSrc->QosCap << 5);
- tmp119__ |= (pSrc->apsd << 6);
- tmp119__ |= (pSrc->rrm << 7);
- *pBuf = tmp119__;
+ tmp120__ = 0U;
+ tmp120__ |= (pSrc->APReachability << 0);
+ tmp120__ |= (pSrc->Security << 2);
+ tmp120__ |= (pSrc->KeyScope << 3);
+ tmp120__ |= (pSrc->SpecMgmtCap << 4);
+ tmp120__ |= (pSrc->QosCap << 5);
+ tmp120__ |= (pSrc->apsd << 6);
+ tmp120__ |= (pSrc->rrm << 7);
+ *pBuf = tmp120__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp120__ = 0U;
- tmp120__ |= (pSrc->DelayedBA << 0);
- tmp120__ |= (pSrc->ImmBA << 1);
- tmp120__ |= (pSrc->MobilityDomain << 2);
- tmp120__ |= (pSrc->reserved << 3);
- *pBuf = tmp120__;
+ tmp121__ = 0U;
+ tmp121__ |= (pSrc->DelayedBA << 0);
+ tmp121__ |= (pSrc->ImmBA << 1);
+ tmp121__ |= (pSrc->MobilityDomain << 2);
+ tmp121__ |= (pSrc->reserved << 3);
+ *pBuf = tmp121__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -17612,7 +17724,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp121__;
+ uint8_t tmp122__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -17621,12 +17733,12 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp121__ = 0U;
- tmp121__ |= (pSrc->chanWidth << 0);
- tmp121__ |= (pSrc->reserved << 2);
- tmp121__ |= (pSrc->rxNSS << 4);
- tmp121__ |= (pSrc->rxNSSType << 7);
- *pBuf = tmp121__;
+ tmp122__ = 0U;
+ tmp122__ |= (pSrc->chanWidth << 0);
+ tmp122__ |= (pSrc->reserved << 2);
+ tmp122__ |= (pSrc->rxNSS << 4);
+ tmp122__ |= (pSrc->rxNSSType << 7);
+ *pBuf = tmp122__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18101,7 +18213,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp122__;
+ uint8_t tmp123__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18110,13 +18222,13 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp122__ = 0U;
- tmp122__ |= (pSrc->ac_bk_traffic_aval << 0);
- tmp122__ |= (pSrc->ac_be_traffic_aval << 1);
- tmp122__ |= (pSrc->ac_vi_traffic_aval << 2);
- tmp122__ |= (pSrc->ac_vo_traffic_aval << 3);
- tmp122__ |= (pSrc->reserved << 4);
- *pBuf = tmp122__;
+ tmp123__ = 0U;
+ tmp123__ |= (pSrc->ac_bk_traffic_aval << 0);
+ tmp123__ |= (pSrc->ac_be_traffic_aval << 1);
+ tmp123__ |= (pSrc->ac_vi_traffic_aval << 2);
+ tmp123__ |= (pSrc->ac_vo_traffic_aval << 3);
+ tmp123__ |= (pSrc->reserved << 4);
+ *pBuf = tmp123__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18272,7 +18384,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp123__;
+ uint8_t tmp124__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18281,13 +18393,13 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp123__ = 0U;
- tmp123__ |= (pSrc->count << 0);
- tmp123__ |= (pSrc->qack << 4);
- tmp123__ |= (pSrc->qreq << 5);
- tmp123__ |= (pSrc->txopreq << 6);
- tmp123__ |= (pSrc->reserved << 7);
- *pBuf = tmp123__;
+ tmp124__ = 0U;
+ tmp124__ |= (pSrc->count << 0);
+ tmp124__ |= (pSrc->qack << 4);
+ tmp124__ |= (pSrc->qreq << 5);
+ tmp124__ |= (pSrc->txopreq << 6);
+ tmp124__ |= (pSrc->reserved << 7);
+ *pBuf = tmp124__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18309,7 +18421,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp124__;
+ uint8_t tmp125__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18318,15 +18430,15 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp124__ = 0U;
- tmp124__ |= (pSrc->acvo_uapsd << 0);
- tmp124__ |= (pSrc->acvi_uapsd << 1);
- tmp124__ |= (pSrc->acbk_uapsd << 2);
- tmp124__ |= (pSrc->acbe_uapsd << 3);
- tmp124__ |= (pSrc->qack << 4);
- tmp124__ |= (pSrc->max_sp_length << 5);
- tmp124__ |= (pSrc->more_data_ack << 7);
- *pBuf = tmp124__;
+ tmp125__ = 0U;
+ tmp125__ |= (pSrc->acvo_uapsd << 0);
+ tmp125__ |= (pSrc->acvi_uapsd << 1);
+ tmp125__ |= (pSrc->acbk_uapsd << 2);
+ tmp125__ |= (pSrc->acbe_uapsd << 3);
+ tmp125__ |= (pSrc->qack << 4);
+ tmp125__ |= (pSrc->max_sp_length << 5);
+ tmp125__ |= (pSrc->more_data_ack << 7);
+ *pBuf = tmp125__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18963,7 +19075,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp125__;
+ uint16_t tmp126__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_iewapi(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -18993,10 +19105,10 @@
DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4);
*pnConsumed += 4;
pBuf += 4;
- tmp125__ = 0U;
- tmp125__ |= (pSrc->preauth << 0);
- tmp125__ |= (pSrc->reserved << 1);
- frameshtons(pCtx, pBuf, tmp125__, 0);
+ tmp126__ = 0U;
+ tmp126__ |= (pSrc->preauth << 0);
+ tmp126__ |= (pSrc->reserved << 1);
+ frameshtons(pCtx, pBuf, tmp126__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -19136,7 +19248,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp126__;
+ uint8_t tmp127__;
nNeeded += 2;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -19158,13 +19270,13 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp126__ = 0U;
- tmp126__ |= (pSrc->reserved << 0);
- tmp126__ |= (pSrc->qack << 4);
- tmp126__ |= (pSrc->queue_request << 5);
- tmp126__ |= (pSrc->txop_request << 6);
- tmp126__ |= (pSrc->more_ack << 7);
- *pBuf = tmp126__;
+ tmp127__ = 0U;
+ tmp127__ |= (pSrc->reserved << 0);
+ tmp127__ |= (pSrc->qack << 4);
+ tmp127__ |= (pSrc->queue_request << 5);
+ tmp127__ |= (pSrc->txop_request << 6);
+ tmp127__ |= (pSrc->more_ack << 7);
+ *pBuf = tmp127__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -19186,54 +19298,6 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp127__;
- nNeeded += 2;
- while (pSrc->present) {
- if (nNeeded > nBuf)
- return DOT11F_BUFFER_OVERFLOW;
- *pBuf = 221;
- ++pBuf; ++(*pnConsumed);
- pIeLen = pBuf;
- ++pBuf; ++(*pnConsumed);
- *pBuf = 0x0;
- ++pBuf; ++(*pnConsumed);
- *pBuf = 0x50;
- ++pBuf; ++(*pnConsumed);
- *pBuf = 0xf2;
- ++pBuf; ++(*pnConsumed);
- *pBuf = 0x2;
- ++pBuf; ++(*pnConsumed);
- *pBuf = 0x0;
- ++pBuf; ++(*pnConsumed);
- *pBuf = pSrc->version;
- *pnConsumed += 1;
- pBuf += 1;
- tmp127__ = 0U;
- tmp127__ |= (pSrc->param_set_count << 0);
- tmp127__ |= (pSrc->reserved << 4);
- tmp127__ |= (pSrc->uapsd << 7);
- *pBuf = tmp127__;
- *pnConsumed += 1;
- /* fieldsEndFlag = 1 */
- nBuf -= 1 ;
- break;
- }
- (void)pCtx;
- if (pIeLen) {
- *pIeLen = *pnConsumed - nConsumedOnEntry - 2;
- }
- return DOT11F_PARSE_SUCCESS;
-} /* End dot11f_pack_ie_wmm_info_ap. */
-
-uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx,
- tDot11fIEWMMInfoStation *pSrc,
- uint8_t *pBuf,
- uint32_t nBuf,
- uint32_t *pnConsumed)
-{
- uint8_t *pIeLen = 0;
- uint32_t nConsumedOnEntry = *pnConsumed;
- uint32_t nNeeded = 0U;
uint8_t tmp128__;
nNeeded += 2;
while (pSrc->present) {
@@ -19257,13 +19321,9 @@
*pnConsumed += 1;
pBuf += 1;
tmp128__ = 0U;
- tmp128__ |= (pSrc->acvo_uapsd << 0);
- tmp128__ |= (pSrc->acvi_uapsd << 1);
- tmp128__ |= (pSrc->acbk_uapsd << 2);
- tmp128__ |= (pSrc->acbe_uapsd << 3);
- tmp128__ |= (pSrc->reserved1 << 4);
- tmp128__ |= (pSrc->max_sp_length << 5);
- tmp128__ |= (pSrc->reserved2 << 7);
+ tmp128__ |= (pSrc->param_set_count << 0);
+ tmp128__ |= (pSrc->reserved << 4);
+ tmp128__ |= (pSrc->uapsd << 7);
*pBuf = tmp128__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
@@ -19275,6 +19335,58 @@
*pIeLen = *pnConsumed - nConsumedOnEntry - 2;
}
return DOT11F_PARSE_SUCCESS;
+} /* End dot11f_pack_ie_wmm_info_ap. */
+
+uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx,
+ tDot11fIEWMMInfoStation *pSrc,
+ uint8_t *pBuf,
+ uint32_t nBuf,
+ uint32_t *pnConsumed)
+{
+ uint8_t *pIeLen = 0;
+ uint32_t nConsumedOnEntry = *pnConsumed;
+ uint32_t nNeeded = 0U;
+ uint8_t tmp129__;
+ nNeeded += 2;
+ while (pSrc->present) {
+ if (nNeeded > nBuf)
+ return DOT11F_BUFFER_OVERFLOW;
+ *pBuf = 221;
+ ++pBuf; ++(*pnConsumed);
+ pIeLen = pBuf;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x0;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x50;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0xf2;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x2;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x0;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = pSrc->version;
+ *pnConsumed += 1;
+ pBuf += 1;
+ tmp129__ = 0U;
+ tmp129__ |= (pSrc->acvo_uapsd << 0);
+ tmp129__ |= (pSrc->acvi_uapsd << 1);
+ tmp129__ |= (pSrc->acbk_uapsd << 2);
+ tmp129__ |= (pSrc->acbe_uapsd << 3);
+ tmp129__ |= (pSrc->reserved1 << 4);
+ tmp129__ |= (pSrc->max_sp_length << 5);
+ tmp129__ |= (pSrc->reserved2 << 7);
+ *pBuf = tmp129__;
+ *pnConsumed += 1;
+ /* fieldsEndFlag = 1 */
+ nBuf -= 1 ;
+ break;
+ }
+ (void)pCtx;
+ if (pIeLen) {
+ *pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+ }
+ return DOT11F_PARSE_SUCCESS;
} /* End dot11f_pack_ie_wmm_info_station. */
uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx,
@@ -19286,7 +19398,6 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp129__;
uint8_t tmp130__;
uint8_t tmp131__;
uint8_t tmp132__;
@@ -19294,6 +19405,7 @@
uint8_t tmp134__;
uint8_t tmp135__;
uint8_t tmp136__;
+ uint8_t tmp137__;
nNeeded += 19;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -19321,76 +19433,76 @@
*pBuf = pSrc->reserved2;
*pnConsumed += 1;
pBuf += 1;
- tmp129__ = 0U;
- tmp129__ |= (pSrc->acbe_aifsn << 0);
- tmp129__ |= (pSrc->acbe_acm << 4);
- tmp129__ |= (pSrc->acbe_aci << 5);
- tmp129__ |= (pSrc->unused1 << 7);
- *pBuf = tmp129__;
+ tmp130__ = 0U;
+ tmp130__ |= (pSrc->acbe_aifsn << 0);
+ tmp130__ |= (pSrc->acbe_acm << 4);
+ tmp130__ |= (pSrc->acbe_aci << 5);
+ tmp130__ |= (pSrc->unused1 << 7);
+ *pBuf = tmp130__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp130__ = 0U;
- tmp130__ |= (pSrc->acbe_acwmin << 0);
- tmp130__ |= (pSrc->acbe_acwmax << 4);
- *pBuf = tmp130__;
+ tmp131__ = 0U;
+ tmp131__ |= (pSrc->acbe_acwmin << 0);
+ tmp131__ |= (pSrc->acbe_acwmax << 4);
+ *pBuf = tmp131__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp131__ = 0U;
- tmp131__ |= (pSrc->acbk_aifsn << 0);
- tmp131__ |= (pSrc->acbk_acm << 4);
- tmp131__ |= (pSrc->acbk_aci << 5);
- tmp131__ |= (pSrc->unused2 << 7);
- *pBuf = tmp131__;
+ tmp132__ = 0U;
+ tmp132__ |= (pSrc->acbk_aifsn << 0);
+ tmp132__ |= (pSrc->acbk_acm << 4);
+ tmp132__ |= (pSrc->acbk_aci << 5);
+ tmp132__ |= (pSrc->unused2 << 7);
+ *pBuf = tmp132__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp132__ = 0U;
- tmp132__ |= (pSrc->acbk_acwmin << 0);
- tmp132__ |= (pSrc->acbk_acwmax << 4);
- *pBuf = tmp132__;
+ tmp133__ = 0U;
+ tmp133__ |= (pSrc->acbk_acwmin << 0);
+ tmp133__ |= (pSrc->acbk_acwmax << 4);
+ *pBuf = tmp133__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp133__ = 0U;
- tmp133__ |= (pSrc->acvi_aifsn << 0);
- tmp133__ |= (pSrc->acvi_acm << 4);
- tmp133__ |= (pSrc->acvi_aci << 5);
- tmp133__ |= (pSrc->unused3 << 7);
- *pBuf = tmp133__;
+ tmp134__ = 0U;
+ tmp134__ |= (pSrc->acvi_aifsn << 0);
+ tmp134__ |= (pSrc->acvi_acm << 4);
+ tmp134__ |= (pSrc->acvi_aci << 5);
+ tmp134__ |= (pSrc->unused3 << 7);
+ *pBuf = tmp134__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp134__ = 0U;
- tmp134__ |= (pSrc->acvi_acwmin << 0);
- tmp134__ |= (pSrc->acvi_acwmax << 4);
- *pBuf = tmp134__;
+ tmp135__ = 0U;
+ tmp135__ |= (pSrc->acvi_acwmin << 0);
+ tmp135__ |= (pSrc->acvi_acwmax << 4);
+ *pBuf = tmp135__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp135__ = 0U;
- tmp135__ |= (pSrc->acvo_aifsn << 0);
- tmp135__ |= (pSrc->acvo_acm << 4);
- tmp135__ |= (pSrc->acvo_aci << 5);
- tmp135__ |= (pSrc->unused4 << 7);
- *pBuf = tmp135__;
+ tmp136__ = 0U;
+ tmp136__ |= (pSrc->acvo_aifsn << 0);
+ tmp136__ |= (pSrc->acvo_acm << 4);
+ tmp136__ |= (pSrc->acvo_aci << 5);
+ tmp136__ |= (pSrc->unused4 << 7);
+ *pBuf = tmp136__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp136__ = 0U;
- tmp136__ |= (pSrc->acvo_acwmin << 0);
- tmp136__ |= (pSrc->acvo_acwmax << 4);
- *pBuf = tmp136__;
+ tmp137__ = 0U;
+ tmp137__ |= (pSrc->acvo_acwmin << 0);
+ tmp137__ |= (pSrc->acvo_acwmax << 4);
+ *pBuf = tmp137__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -19976,6 +20088,70 @@
return DOT11F_PARSE_SUCCESS;
} /* End dot11f_pack_ie_ext_chan_switch_ann. */
+uint32_t dot11f_pack_ie_hs20vendor_ie(tpAniSirGlobal pCtx,
+ tDot11fIEhs20vendor_ie *pSrc,
+ uint8_t *pBuf,
+ uint32_t nBuf,
+ uint32_t *pnConsumed)
+{
+ uint8_t *pIeLen = 0;
+ uint32_t nConsumedOnEntry = *pnConsumed;
+ uint32_t nNeeded = 0U;
+ uint8_t tmp138__;
+ uint32_t status = DOT11F_PARSE_SUCCESS;
+ status = dot11f_get_packed_ie_hs20vendor_ie(pCtx, pSrc, &nNeeded);
+ if (!DOT11F_SUCCEEDED(status))
+ return status;
+ while (pSrc->present) {
+ if (nNeeded > nBuf)
+ return DOT11F_BUFFER_OVERFLOW;
+ *pBuf = 221;
+ ++pBuf; ++(*pnConsumed);
+ pIeLen = pBuf;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x50;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x6f;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = 0x9a;
+ ++pBuf; ++(*pnConsumed);
+ *pBuf = pSrc->type;
+ *pnConsumed += 1;
+ pBuf += 1;
+ tmp138__ = 0U;
+ tmp138__ |= (pSrc->dgaf_dis << 0);
+ tmp138__ |= (pSrc->hs_id_present << 1);
+ tmp138__ |= (pSrc->reserved << 3);
+ tmp138__ |= (pSrc->release_num << 4);
+ *pBuf = tmp138__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ if (pSrc->hs_id_present) {
+ switch (pSrc->hs_id_present) {
+ case 1:
+ frameshtons(pCtx, pBuf, pSrc->hs_id.pps_mo.pps_mo_id, 0);
+ *pnConsumed += 2;
+ /* fieldsEndFlag = 1 */
+ break;
+ case 2:
+ frameshtons(pCtx, pBuf, pSrc->hs_id.anqp_domain.anqp_domain_id, 0);
+ *pnConsumed += 2;
+ /* fieldsEndFlag = 1 */
+ break;
+ }
+ } else {
+ break;
+ }
+ break;
+ }
+ (void)pCtx;
+ if (pIeLen) {
+ *pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+ }
+ return status;
+} /* End dot11f_pack_ie_hs20vendor_ie. */
+
uint32_t dot11f_pack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx,
tDot11fIEht2040_bss_coexistence *pSrc,
uint8_t *pBuf,
@@ -19985,7 +20161,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp137__;
+ uint8_t tmp139__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -19994,14 +20170,14 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp137__ = 0U;
- tmp137__ |= (pSrc->info_request << 0);
- tmp137__ |= (pSrc->forty_mhz_intolerant << 1);
- tmp137__ |= (pSrc->twenty_mhz_bsswidth_req << 2);
- tmp137__ |= (pSrc->obss_scan_exemption_req << 3);
- tmp137__ |= (pSrc->obss_scan_exemption_grant << 4);
- tmp137__ |= (pSrc->unused << 5);
- *pBuf = tmp137__;
+ tmp139__ = 0U;
+ tmp139__ |= (pSrc->info_request << 0);
+ tmp139__ |= (pSrc->forty_mhz_intolerant << 1);
+ tmp139__ |= (pSrc->twenty_mhz_bsswidth_req << 2);
+ tmp139__ |= (pSrc->obss_scan_exemption_req << 3);
+ tmp139__ |= (pSrc->obss_scan_exemption_grant << 4);
+ tmp139__ |= (pSrc->unused << 5);
+ *pBuf = tmp139__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -22016,6 +22192,14 @@
sizeof(tDot11fIEext_chan_switch_ann) * i),
pBufRemaining, nBufRemaining, &len);
break;
+ case SigIehs20vendor_ie:
+ status |=
+ dot11f_pack_ie_hs20vendor_ie(
+ pCtx, (tDot11fIEhs20vendor_ie *)
+ (pSrc + pIe->offset +
+ sizeof(tDot11fIEhs20vendor_ie) * i),
+ pBufRemaining, nBufRemaining, &len);
+ break;
case SigIeht2040_bss_coexistence:
status |=
dot11f_pack_ie_ht2040_bss_coexistence(
diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c
index 8063d79..49c3ab9 100644
--- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c
+++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c
@@ -2490,6 +2490,21 @@
&pr->vendor2_ie.VHTOperation,
sizeof(tDot11fIEVHTOperation));
}
+ /* Update HS 2.0 Information Element */
+ if (pr->hs20vendor_ie.present) {
+ lim_log(pMac, LOG1,
+ FL("HS20 Indication Element Present, rel#:%u, id:%u\n"),
+ pr->hs20vendor_ie.release_num,
+ pr->hs20vendor_ie.hs_id_present);
+ qdf_mem_copy(&pProbeResp->hs20vendor_ie,
+ &pr->hs20vendor_ie,
+ sizeof(tDot11fIEhs20vendor_ie) -
+ sizeof(pr->hs20vendor_ie.hs_id));
+ if (pr->hs20vendor_ie.hs_id_present)
+ qdf_mem_copy(&pProbeResp->hs20vendor_ie.hs_id,
+ &pr->hs20vendor_ie.hs_id,
+ sizeof(pr->hs20vendor_ie.hs_id));
+ }
qdf_mem_free(pr);
return eSIR_SUCCESS;
@@ -3652,6 +3667,21 @@
qdf_mem_copy(&pBeaconStruct->ext_cap, &pBies->ExtCap,
sizeof(tDot11fIEExtCap));
}
+ /* Update HS 2.0 Information Element */
+ if (pBies->hs20vendor_ie.present) {
+ lim_log(pMac, LOG1,
+ FL("HS20 Indication Element Present, rel#:%u, id:%u\n"),
+ pBies->hs20vendor_ie.release_num,
+ pBies->hs20vendor_ie.hs_id_present);
+ qdf_mem_copy(&pBeaconStruct->hs20vendor_ie,
+ &pBies->hs20vendor_ie,
+ sizeof(tDot11fIEhs20vendor_ie) -
+ sizeof(pBies->hs20vendor_ie.hs_id));
+ if (pBies->hs20vendor_ie.hs_id_present)
+ qdf_mem_copy(&pBeaconStruct->hs20vendor_ie.hs_id,
+ &pBies->hs20vendor_ie.hs_id,
+ sizeof(pBies->hs20vendor_ie.hs_id));
+ }
qdf_mem_free(pBies);
return eSIR_SUCCESS;
} /* End sir_parse_beacon_ie. */
@@ -3982,6 +4012,21 @@
&pBeacon->VHTOperation,
sizeof(tDot11fIEVHTOperation));
}
+ /* Update HS 2.0 Information Element */
+ if (pBeacon->hs20vendor_ie.present) {
+ lim_log(pMac, LOG1,
+ FL("HS20 Indication Element Present, rel#:%u, id:%u\n"),
+ pBeacon->hs20vendor_ie.release_num,
+ pBeacon->hs20vendor_ie.hs_id_present);
+ qdf_mem_copy(&pBeaconStruct->hs20vendor_ie,
+ &pBeacon->hs20vendor_ie,
+ sizeof(tDot11fIEhs20vendor_ie) -
+ sizeof(pBeacon->hs20vendor_ie.hs_id));
+ if (pBeacon->hs20vendor_ie.hs_id_present)
+ qdf_mem_copy(&pBeaconStruct->hs20vendor_ie.hs_id,
+ &pBeacon->hs20vendor_ie.hs_id,
+ sizeof(pBeacon->hs20vendor_ie.hs_id));
+ }
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
if (pBeacon->QComVendorIE.present) {
pBeaconStruct->AvoidChannelIE.present =