diff options
| author | Nitesh Shah <niteshs@codeaurora.org> | 2016-05-27 10:07:32 +0530 |
|---|---|---|
| committer | Vishwajith Upendra <vishwaji@codeaurora.org> | 2016-06-14 14:28:33 -0700 |
| commit | 0ddd4f656a6ed5dbdecd2782c9d0318de06a2b67 (patch) | |
| tree | dbf871f673748089801e604e59e66814dbd604f6 | |
| parent | 6a2fe03b7bd35c0b71fd6e5e95f306a11ab0e905 (diff) | |
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
| -rw-r--r-- | core/mac/src/cfg/cfgUtil/dot11f.frms | 29 | ||||
| -rw-r--r-- | core/mac/src/include/dot11f.h | 58 | ||||
| -rw-r--r-- | core/mac/src/include/parser_api.h | 2 | ||||
| -rw-r--r-- | core/mac/src/pe/include/lim_session.h | 2 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_assoc_utils.c | 16 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_prop_exts_utils.c | 15 | ||||
| -rw-r--r-- | core/mac/src/sys/legacy/src/utils/src/dot11f.c | 1230 | ||||
| -rw-r--r-- | core/mac/src/sys/legacy/src/utils/src/parser_api.c | 45 |
8 files changed, 873 insertions, 524 deletions
diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms index 91b3b1d5c542..eb7e29c2f771 100644 --- a/core/mac/src/cfg/cfgUtil/dot11f.frms +++ b/core/mac/src/cfg/cfgUtil/dot11f.frms @@ -1860,6 +1860,29 @@ IE Vendor3IE (EID_VENDOR_SPECIFIC) OUI (0x00, 0x16, 0x32) { } +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 @@ FRAME Beacon // C.f. Sec. 7.2.3.1 OPTIE Vendor1IE; OPTIE vendor2_ie; OPTIE Vendor3IE; + OPTIE hs20vendor_ie; OPTIE ChannelSwitchWrapper; OPTIE QComVendorIE; OPTIE ESEVersion; @@ -3011,6 +3035,7 @@ FRAME Beacon2 OPTIE Vendor1IE; OPTIE vendor2_ie; OPTIE Vendor3IE; + OPTIE hs20vendor_ie; OPTIE ChannelSwitchWrapper; OPTIE QComVendorIE; OPTIE ESEVersion; @@ -3075,6 +3100,7 @@ FRAME BeaconIEs OPTIE Vendor1IE; OPTIE vendor2_ie; OPTIE Vendor3IE; + OPTIE hs20vendor_ie; OPTIE ChannelSwitchWrapper; OPTIE QComVendorIE; } // End frame BeaconIEs. @@ -3114,6 +3140,7 @@ FRAME AssocRequest // 7.2.3.4 OPTIE OperatingMode; OPTIE QosMapSet; OPTIE vendor2_ie; + OPTIE hs20vendor_ie; } // End frame AssocRequest. FRAME AssocResponse // 7.2.3.5 @@ -3185,6 +3212,7 @@ FRAME ReAssocRequest // 7.2.3.6 OPTIE OperatingMode; OPTIE QosMapSet; OPTIE vendor2_ie; + OPTIE hs20vendor_ie; } // End frame ReAssocRequest. FRAME ReAssocResponse // 7.2.3.7 @@ -3288,6 +3316,7 @@ FRAME ProbeResponse // 7.2.3.9 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 e51bd61cb5c3..ef886c502495 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 @@ uint32_t dot11f_get_packed_ie_ext_chan_switch_ann( }; /* 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 @@ typedef struct sDot11fAssocRequest{ tDot11fIEOperatingMode OperatingMode; tDot11fIEQosMapSet QosMapSet; tDot11fIEvendor2_ie vendor2_ie; + tDot11fIEhs20vendor_ie hs20vendor_ie; } tDot11fAssocRequest; #define DOT11F_ASSOCREQUEST (3) @@ -7791,6 +7842,7 @@ typedef struct sDot11fBeacon{ tDot11fIEVendor1IE Vendor1IE; tDot11fIEvendor2_ie vendor2_ie; tDot11fIEVendor3IE Vendor3IE; + tDot11fIEhs20vendor_ie hs20vendor_ie; tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; tDot11fIEQComVendorIE QComVendorIE; tDot11fIEESEVersion ESEVersion; @@ -7884,6 +7936,7 @@ typedef struct sDot11fBeacon2{ tDot11fIEVendor1IE Vendor1IE; tDot11fIEvendor2_ie vendor2_ie; tDot11fIEVendor3IE Vendor3IE; + tDot11fIEhs20vendor_ie hs20vendor_ie; tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; tDot11fIEQComVendorIE QComVendorIE; tDot11fIEESEVersion ESEVersion; @@ -7959,6 +8012,7 @@ typedef struct sDot11fBeaconIEs{ tDot11fIEVendor1IE Vendor1IE; tDot11fIEvendor2_ie vendor2_ie; tDot11fIEVendor3IE Vendor3IE; + tDot11fIEhs20vendor_ie hs20vendor_ie; tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; tDot11fIEQComVendorIE QComVendorIE; } tDot11fBeaconIEs; @@ -8368,6 +8422,7 @@ typedef struct sDot11fProbeResponse{ tDot11fIEVendor1IE Vendor1IE; tDot11fIEvendor2_ie vendor2_ie; tDot11fIEVendor3IE Vendor3IE; + tDot11fIEhs20vendor_ie hs20vendor_ie; tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; tDot11fIEQComVendorIE QComVendorIE; tDot11fIEESEVersion ESEVersion; @@ -8512,6 +8567,7 @@ typedef struct sDot11fReAssocRequest{ 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 4a99241f7304..215667673307 100644 --- a/core/mac/src/include/parser_api.h +++ b/core/mac/src/include/parser_api.h @@ -155,6 +155,7 @@ typedef struct sSirProbeRespBeacon { 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 @@ typedef struct sSirAssocReq { 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 779070b6ed12..a5bf8f77f0b3 100644 --- a/core/mac/src/pe/include/lim_session.h +++ b/core/mac/src/pe/include/lim_session.h @@ -467,6 +467,8 @@ typedef struct sPESession /* Added to Support BT-AMP */ 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 88dc45e7f8cd..7144f945af41 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_check_and_announce_join_success(tpAniSirGlobal mac_ctx, 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 2a72d6bf0985..68d3961f1353 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 @@ lim_extract_ap_capability(tpAniSirGlobal mac_ctx, uint8_t *p_ie, /* 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 8c4be956ef30..c5e1bf89cdb8 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,29 +5783,75 @@ uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, #define SigIeext_chan_switch_ann (0x0079) +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__; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) + status = DOT11F_DUPLICATE_IE; + pDst->present = 1; + pDst->type = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + tmp68__ = *pBuf; + 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 tmp68__; + uint8_t tmp69__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) status = DOT11F_DUPLICATE_IE; pDst->present = 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; + 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 @@ uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_unpack_ie_vendor2_ie(tpAniSirGlobal pCtx, 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 @@ static const tIEDefn IES_AssocRequest[] = { 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 @@ static const tIEDefn IES_Beacon[] = { { 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 @@ static const tIEDefn IES_Beacon2[] = { { 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 @@ static const tIEDefn IES_BeaconIEs[] = { { 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 @@ static const tIEDefn IES_ProbeResponse[] = { { 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 @@ static const tIEDefn IES_ReAssocRequest[] = { 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 @@ static uint32_t unpack_core(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_get_packed_ie_wsc_reassoc_res(tpAniSirGlobal pCtx, 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 @@ static uint32_t get_packed_size_core(tpAniSirGlobal pCtx, (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 @@ void dot11f_pack_ff_capabilities(tpAniSirGlobal pCtx, 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 @@ void dot11f_pack_ff_operating_mode(tpAniSirGlobal pCtx, 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 @@ void dot11f_pack_ff_sm_power_mode_set(tpAniSirGlobal pCtx, 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 @@ void dot11f_pack_ff_ts_info(tpAniSirGlobal pCtx, 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 @@ void dot11f_pack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_tlv_version2(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_tlv_version2(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_tlv_version(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_tlv_version(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_gtk(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_gtk(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_schedule(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_schedule(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_vht_caps(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_vht_caps(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_wmm_schedule(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_wmm_schedule(tpAniSirGlobal pCtx, *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 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, *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 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, uint8_t tmp100__; uint8_t tmp101__; uint8_t tmp102__; + uint8_t tmp103__; nNeeded += 18; while (pSrc->present) { if (nNeeded > nBuf) @@ -16314,79 +16426,79 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, *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__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp96__ = 0U; - tmp96__ |= (pSrc->acbe_acwmin << 0); - tmp96__ |= (pSrc->acbe_acwmax << 4); + 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 ; - 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); + 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; tmp98__ = 0U; - tmp98__ |= (pSrc->acbk_acwmin << 0); - tmp98__ |= (pSrc->acbk_acwmax << 4); + 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 ; - 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); + 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; tmp100__ = 0U; - tmp100__ |= (pSrc->acvi_acwmin << 0); - tmp100__ |= (pSrc->acvi_acwmax << 4); + 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 ; - 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); + 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; tmp102__ = 0U; - tmp102__ |= (pSrc->acvo_acwmin << 0); - tmp102__ |= (pSrc->acvo_acwmax << 4); + 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 ; + tmp103__ = 0U; + tmp103__ |= (pSrc->acvo_acwmin << 0); + tmp103__ |= (pSrc->acvo_acwmax << 4); + *pBuf = tmp103__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ @@ -16408,7 +16520,7 @@ uint32_t dot11f_pack_ie_erp_info(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_erp_info(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, *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 @@ uint32_t dot11f_pack_ie_ft_info(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_ft_info(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_ht_info(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_ht_info(tpAniSirGlobal pCtx, *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 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, *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 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_measurement_request(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_measurement_request(tpAniSirGlobal pCtx, *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 @@ uint32_t dot11f_pack_ie_mobility_domain(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_mobility_domain(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_neighbor_report(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_neighbor_report(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_operating_mode(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_operating_mode(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_pu_buffer_status(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_pu_buffer_status(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_qos_caps_ap(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_qos_caps_ap(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_qos_caps_station(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_qos_caps_station(tpAniSirGlobal pCtx, ++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 @@ uint32_t dot11f_pack_ie_wapi(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_wapi(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_wmm_caps(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_wmm_caps(tpAniSirGlobal pCtx, *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,7 +19298,7 @@ uint32_t dot11f_pack_ie_wmm_info_ap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp127__; + uint8_t tmp128__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -19208,11 +19320,11 @@ uint32_t dot11f_pack_ie_wmm_info_ap(tpAniSirGlobal pCtx, *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__; + tmp128__ = 0U; + tmp128__ |= (pSrc->param_set_count << 0); + tmp128__ |= (pSrc->reserved << 4); + tmp128__ |= (pSrc->uapsd << 7); + *pBuf = tmp128__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -19234,7 +19346,7 @@ uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp128__; + uint8_t tmp129__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -19256,15 +19368,15 @@ uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *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); - *pBuf = tmp128__; + 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 ; @@ -19286,7 +19398,6 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, uint8_t tmp134__; uint8_t tmp135__; uint8_t tmp136__; + uint8_t tmp137__; nNeeded += 19; while (pSrc->present) { if (nNeeded > nBuf) @@ -19321,79 +19433,79 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, *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__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp130__ = 0U; - tmp130__ |= (pSrc->acbe_acwmin << 0); - tmp130__ |= (pSrc->acbe_acwmax << 4); + 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 ; - 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); + 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; tmp132__ = 0U; - tmp132__ |= (pSrc->acbk_acwmin << 0); - tmp132__ |= (pSrc->acbk_acwmax << 4); + 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 ; - 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); + 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; tmp134__ = 0U; - tmp134__ |= (pSrc->acvi_acwmin << 0); - tmp134__ |= (pSrc->acvi_acwmax << 4); + 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 ; - 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); + 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; tmp136__ = 0U; - tmp136__ |= (pSrc->acvo_acwmin << 0); - tmp136__ |= (pSrc->acvo_acwmax << 4); + 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 ; + tmp137__ = 0U; + tmp137__ |= (pSrc->acvo_acwmin << 0); + tmp137__ |= (pSrc->acvo_acwmax << 4); + *pBuf = tmp137__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ @@ -19976,6 +20088,70 @@ uint32_t dot11f_pack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, 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 @@ uint32_t dot11f_pack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, ++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 @@ static uint32_t pack_core(tpAniSirGlobal pCtx, 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 8063d79d0c31..49c3ab9d3678 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 @@ tSirRetStatus sir_convert_probe_frame2_struct(tpAniSirGlobal pMac, &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 @@ sir_parse_beacon_ie(tpAniSirGlobal pMac, 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 @@ sir_convert_beacon_frame2_struct(tpAniSirGlobal pMac, &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 = |
