qcacld-3.0: Implement ECSA Action Frame
qcacld-2.0 to qcacld-3.0 propagation.
Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
is received by,
i) Adding CSA & ESCA IE in beacon template and updating
FW to send it out
ii) Notifying supplicant of channel change for P2P GO.
This change include UMAC changes.
CRs-fixed: 895240
Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h
index 22d3c25..3fc95da 100644
--- a/core/mac/inc/sir_api.h
+++ b/core/mac/inc/sir_api.h
@@ -5396,4 +5396,28 @@
PS_DUTY_CYCLING_QPOWER = 5
};
+/**
+ * struct sir_sme_ext_change_chan_req - channel change request
+ * @message_type: message id
+ * @length: msg length
+ * @new_channel: new channel
+ * @session_id: session id
+ */
+struct sir_sme_ext_cng_chan_req {
+ uint16_t message_type; /* eWNI_SME_EXT_CHANGE_CHANNEL */
+ uint16_t length;
+ uint32_t new_channel;
+ uint8_t session_id;
+};
+
+/**
+ * struct sir_sme_ext_change_chan_ind.
+ * @session_id: session id
+ * @new_channel: new channel to change
+ */
+struct sir_sme_ext_cng_chan_ind {
+ uint8_t session_id;
+ uint8_t new_channel;
+};
+
#endif /* __SIR_API_H */
diff --git a/core/mac/inc/sir_mac_prot_def.h b/core/mac/inc/sir_mac_prot_def.h
index ccc2dce..20c1516 100644
--- a/core/mac/inc/sir_mac_prot_def.h
+++ b/core/mac/inc/sir_mac_prot_def.h
@@ -214,6 +214,8 @@
/* Public Action for 20/40 BSS Coexistence */
#define SIR_MAC_ACTION_2040_BSS_COEXISTENCE 0
+#define SIR_MAC_ACTION_EXT_CHANNEL_SWITCH_ID 4
+
#ifdef WLAN_FEATURE_11W
/* 11w SA query request/response action frame category code */
@@ -355,6 +357,10 @@
#define SIR_MAC_EXTENDED_RATE_EID 50
#define SIR_MAC_EXTENDED_RATE_EID_MIN 0
#define SIR_MAC_EXTENDED_RATE_EID_MAX 255
+#define SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID 60
+#define SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID_MIN 0
+#define SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID_MAX 255
+
/* reserved 51-69 */
#define SIR_MAC_RM_ENABLED_CAPABILITY_EID 70
#define SIR_MAC_RM_ENABLED_CAPABILITY_EID_MIN 5
diff --git a/core/mac/inc/wni_api.h b/core/mac/inc/wni_api.h
index 9c279ea..ca7bf58 100644
--- a/core/mac/inc/wni_api.h
+++ b/core/mac/inc/wni_api.h
@@ -247,6 +247,8 @@
eWNI_SME_ROC_CMD,
eWNI_SME_SET_THERMAL_LEVEL_IND,
eWNI_SME_SET_IE_REQ,
+ eWNI_SME_EXT_CHANGE_CHANNEL,
+ eWNI_SME_EXT_CHANGE_CHANNEL_IND,
eWNI_SME_MSG_TYPES_END
};
diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms
index 04165e7..3c9004a 100644
--- a/core/mac/src/cfg/cfgUtil/dot11f.frms
+++ b/core/mac/src/cfg/cfgUtil/dot11f.frms
@@ -390,6 +390,15 @@
userPositionArray[16];
}
+FF ext_chan_switch_ann_action(4)
+{
+ {
+ switch_mode: 8;
+ op_class: 8;
+ new_channel: 8;
+ switch_count: 8;
+ }
+}
/////////////////////////////////////////////////////////////////////////////
// TLVs //
@@ -3600,6 +3609,13 @@
OPTIE Vendor3IE;
}
+FRAME ext_channel_switch_action_frame
+{
+ FF Category;
+ FF Action;
+ FF ext_chan_switch_ann_action;
+}
+
// Local Variables:
// mode: c++
// fill-column: 77
diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h
index 0258abd..09dfde6 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 Oct 14 10:14:42 2015 from the following file(s):
+ * Mon Nov 16 10:55:21 2015 from the following file(s):
*
* dot11f.frms
*
@@ -544,6 +544,32 @@
uint8_t *);
+typedef struct sDot11fFfext_chan_switch_ann_action {
+ uint32_t switch_mode:8;
+ uint32_t op_class:8;
+ uint32_t new_channel:8;
+ uint32_t switch_count:8;
+} tDot11fFfext_chan_switch_ann_action;
+
+#define DOT11F_FF_EXT_CHAN_SWITCH_ANN_ACTION_LEN (4)
+
+void dot11f_unpack_ff_ext_chan_switch_ann_action(tpAniSirGlobal, uint8_t *,
+ tDot11fFfext_chan_switch_ann_action *);
+
+void dot11f_pack_ff_ext_chan_switch_ann_action(tpAniSirGlobal,
+ tDot11fFfext_chan_switch_ann_action *,
+ uint8_t *);
+
+
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_MODE_OFFSET 0
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_MODE_WIDTH 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_OP_CLASS_OFFSET 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_OP_CLASS_WIDTH 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_NEW_CHANNEL_OFFSET 16
+#define EXT_CHAN_SWITCH_ANN_ACTION_NEW_CHANNEL_WIDTH 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_COUNT_OFFSET 24
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_COUNT_WIDTH 8
+
/*********************************************************************
* TLVs *
********************************************************************/
@@ -8890,6 +8916,32 @@
} /* End extern "C". */
#endif /* C++ */
+typedef struct sDot11fext_channel_switch_action_frame {
+ tDot11fFfCategory Category;
+ tDot11fFfAction Action;
+ tDot11fFfext_chan_switch_ann_action ext_chan_switch_ann_action;
+} tDot11fext_channel_switch_action_frame;
+
+#define DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME (46)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+
+uint32_t dot11f_unpack_ext_channel_switch_action_frame(tpAniSirGlobal pCtx,
+ uint8_t *pBuf, uint32_t nBuf,
+ tDot11fext_channel_switch_action_frame * pFrm);
+uint32_t dot11f_pack_ext_channel_switch_action_frame(tpAniSirGlobal pCtx,
+ tDot11fext_channel_switch_action_frame *pFrm, uint8_t *pBuf,
+ uint32_t nBuf, uint32_t *pnConsumed);
+uint32_t dot11f_get_packed_ext_channel_switch_action_frame_size(tpAniSirGlobal pCtx,
+ tDot11fext_channel_switch_action_frame *pFrm,
+ uint32_t *pnNeeded);
+
+#ifdef __cplusplus
+} /* End extern "C". */
+#endif /* C++ */
+
typedef struct sDot11fht2040_bss_coexistence_mgmt_action_frame{
tDot11fFfCategory Category;
tDot11fFfAction Action;
@@ -8897,7 +8949,7 @@
tDot11fIEht2040_bss_intolerant_report ht2040_bss_intolerant_report;
} tDot11fht2040_bss_coexistence_mgmt_action_frame;
-#define DOT11F_HT2040_BSS_COEXISTENCE_MGMT_ACTION_FRAME (46)
+#define DOT11F_HT2040_BSS_COEXISTENCE_MGMT_ACTION_FRAME (47)
#ifdef __cplusplus
extern "C" {
diff --git a/core/mac/src/pe/lim/lim_process_action_frame.c b/core/mac/src/pe/lim/lim_process_action_frame.c
index c77ae53..15d0392 100644
--- a/core/mac/src/pe/lim/lim_process_action_frame.c
+++ b/core/mac/src/pe/lim/lim_process_action_frame.c
@@ -56,7 +56,7 @@
#include "rrm_api.h"
#endif
#include "lim_session_utils.h"
-
+#include "cds_concurrency.h"
#include "wma_types.h"
@@ -338,6 +338,110 @@
return;
}
+/**
+ * lim_process_ext_channel_switch_action_frame()- Process ECSA Action
+ * Frames.
+ * @mac_ctx: pointer to global mac structure
+ * @rx_packet_info: rx packet meta information
+ * @session_entry: Session entry.
+ *
+ * This function is called when ECSA action frame is received.
+ *
+ * Return: void
+ */
+static void
+lim_process_ext_channel_switch_action_frame(tpAniSirGlobal mac_ctx,
+ uint8_t *rx_packet_info, tpPESession session_entry)
+{
+
+ tpSirMacMgmtHdr hdr;
+ uint8_t *body;
+ tDot11fext_channel_switch_action_frame *ext_channel_switch_frame;
+ uint32_t frame_len;
+ uint32_t status;
+ uint8_t target_channel;
+
+ hdr = WMA_GET_RX_MAC_HEADER(rx_packet_info);
+ body = WMA_GET_RX_MPDU_DATA(rx_packet_info);
+ frame_len = WMA_GET_RX_PAYLOAD_LEN(rx_packet_info);
+
+ lim_log(mac_ctx, LOG1, FL("Received EXT Channel switch action frame"));
+
+ ext_channel_switch_frame =
+ cdf_mem_malloc(sizeof(*ext_channel_switch_frame));
+ if (NULL == ext_channel_switch_frame) {
+ lim_log(mac_ctx, LOGE, FL("AllocateMemory failed"));
+ return;
+ }
+
+ /* Unpack channel switch frame */
+ status = dot11f_unpack_ext_channel_switch_action_frame(mac_ctx,
+ body, frame_len, ext_channel_switch_frame);
+
+ if (DOT11F_FAILED(status)) {
+
+ lim_log(mac_ctx, LOGE,
+ FL("Failed to parse CHANSW action frame (0x%08x, len %d):"),
+ status, frame_len);
+ cdf_mem_free(ext_channel_switch_frame);
+ return;
+ } else if (DOT11F_WARNED(status)) {
+
+ lim_log(mac_ctx, LOGW,
+ FL("There were warnings while unpacking CHANSW Request (0x%08x, %d bytes):"),
+ status, frame_len);
+ }
+
+ target_channel =
+ ext_channel_switch_frame->ext_chan_switch_ann_action.new_channel;
+
+ /* Free ext_channel_switch_frame here as its no longer needed */
+ cdf_mem_free(ext_channel_switch_frame);
+ /*
+ * Now, validate if channel change is required for the passed
+ * channel and if is valid in the current regulatory domain,
+ * and no concurrent session is running.
+ */
+ if (!((session_entry->currentOperChannel != target_channel) &&
+ ((cds_get_channel_state(target_channel)
+ == CHANNEL_STATE_ENABLE) ||
+ (cds_get_channel_state(target_channel) == CHANNEL_STATE_DFS &&
+ !cds_concurrent_open_sessions_running())))) {
+ lim_log(mac_ctx, LOGE, FL("Channel %d is not valid"),
+ target_channel);
+ return;
+ }
+
+ if (eLIM_AP_ROLE == session_entry->limSystemRole) {
+
+ struct sir_sme_ext_cng_chan_ind *ext_cng_chan_ind;
+ tSirMsgQ mmh_msg;
+
+ ext_cng_chan_ind = cdf_mem_malloc(sizeof(*ext_cng_chan_ind));
+ if (NULL == ext_cng_chan_ind) {
+ lim_log(mac_ctx, LOGP,
+ FL("AllocateMemory failed for ext_cng_chan_ind"));
+ return;
+ }
+
+ cdf_mem_zero(ext_cng_chan_ind,
+ sizeof(*ext_cng_chan_ind));
+ ext_cng_chan_ind->session_id =
+ session_entry->smeSessionId;
+
+ /* No need to extract op mode as BW will be decided in
+ * in SAP FSM depending on previous BW.
+ */
+ ext_cng_chan_ind->new_channel = target_channel;
+
+ mmh_msg.type = eWNI_SME_EXT_CHANGE_CHANNEL_IND;
+ mmh_msg.bodyptr = ext_cng_chan_ind;
+ mmh_msg.bodyval = 0;
+ lim_sys_process_mmh_msg_api(mac_ctx, &mmh_msg, ePROT);
+ }
+ return;
+} /*** end lim_process_ext_channel_switch_action_frame() ***/
+
#ifdef WLAN_FEATURE_11AC
/**
* __lim_process_operating_mode_action_frame() - To process op mode frames
@@ -1943,7 +2047,10 @@
WMA_GET_RX_CH(rx_pkt_info), session, rssi);
break;
#endif
-
+ case SIR_MAC_ACTION_EXT_CHANNEL_SWITCH_ID:
+ lim_process_ext_channel_switch_action_frame(mac_ctx,
+ rx_pkt_info, session);
+ break;
default:
lim_log(mac_ctx, LOGE,
FL("Unhandled public action frame -- %x "),
diff --git a/core/mac/src/pe/lim/lim_process_message_queue.c b/core/mac/src/pe/lim/lim_process_message_queue.c
index 25e7ed1..bdd66b3 100644
--- a/core/mac/src/pe/lim/lim_process_message_queue.c
+++ b/core/mac/src/pe/lim/lim_process_message_queue.c
@@ -1353,6 +1353,7 @@
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
case eWNI_SME_GET_TSM_STATS_REQ:
#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
+ case eWNI_SME_EXT_CHANGE_CHANNEL:
/* These messages are from HDD.No need to respond to HDD */
lim_process_normal_hdd_msg(mac_ctx, msg, false);
break;
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index 811a24f..b0b8552 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -64,6 +64,7 @@
#if defined WLAN_FEATURE_VOWIFI_11R
#include <lim_ft.h>
#endif
+#include "cds_regdomain_common.h"
/*
* This overhead is time for sending NOA start to host in case of GO/sending
@@ -114,6 +115,10 @@
extern void pe_register_wma_handle(tpAniSirGlobal pMac);
+static void lim_process_ext_change_channel(tpAniSirGlobal mac_ctx,
+ uint32_t *msg);
+
+
/**
* lim_process_set_hw_mode() - Send set HW mode command to WMA
* @mac: Globacl MAC pointer
@@ -4988,6 +4993,9 @@
case eWNI_SME_SET_IE_REQ:
lim_process_set_ie_req(pMac, pMsgBuf);
break;
+ case eWNI_SME_EXT_CHANGE_CHANNEL:
+ lim_process_ext_change_channel(pMac, pMsgBuf);
+ break;
default:
cdf_mem_free((void *)pMsg->bodyptr);
pMsg->bodyptr = NULL;
@@ -5465,6 +5473,58 @@
}
/**
+ * send_extended_chan_switch_action_frame()- function to send ECSA
+ * action frame for each sta connected to SAP/GO and AP in case of
+ * STA .
+ * @mac_ctx: pointer to global mac structure
+ * @new_channel: new channel to switch to.
+ * @ch_bandwidth: BW of channel to calculate op_class
+ * @session_entry: pe session
+ *
+ * This function is called to send ECSA frame for STA/CLI and SAP/GO.
+ *
+ * Return: void
+ */
+
+static void send_extended_chan_switch_action_frame(tpAniSirGlobal mac_ctx,
+ uint16_t new_channel, uint8_t ch_bandwidth,
+ tpPESession session_entry)
+{
+ uint16_t op_class;
+ uint8_t switch_mode = 0, i;
+ tpDphHashNode psta;
+
+
+ op_class = cds_regdm_get_opclass_from_channel(
+ mac_ctx->scan.countryCodeCurrent,
+ new_channel,
+ ch_bandwidth);
+
+ if (LIM_IS_AP_ROLE(session_entry) &&
+ (mac_ctx->sap.SapDfsInfo.disable_dfs_ch_switch == false))
+ switch_mode = 1;
+
+ if (LIM_IS_AP_ROLE(session_entry)) {
+ for (i = 0; i < mac_ctx->lim.maxStation; i++) {
+ psta =
+ session_entry->dph.dphHashTable.pDphNodeArray + i;
+ if (psta && psta->added)
+ lim_send_extended_chan_switch_action_frame(
+ mac_ctx,
+ psta->staAddr,
+ switch_mode, op_class, new_channel,
+ LIM_MAX_CSA_IE_UPDATES, session_entry);
+ }
+ } else if (LIM_IS_STA_ROLE(session_entry)) {
+ lim_send_extended_chan_switch_action_frame(mac_ctx,
+ session_entry->bssId,
+ switch_mode, op_class, new_channel,
+ LIM_MAX_CSA_IE_UPDATES, session_entry);
+ }
+
+}
+
+/**
* lim_process_sme_dfs_csa_ie_request() - process sme dfs csa ie req
*
* @mac_ctx: Pointer to Global MAC structure
@@ -5595,10 +5655,56 @@
lim_send_beacon_ind(mac_ctx, session_entry);
lim_log(mac_ctx, LOG1, FL("Updated CSA IE, IE COUNT = %d"),
session_entry->gLimChannelSwitch.switchCount);
+ /* Send ECSA Action frame after updating the beacon */
+ send_extended_chan_switch_action_frame(mac_ctx,
+ session_entry->gLimChannelSwitch.primaryChannel,
+ session_entry->gLimChannelSwitch.ch_width,
+ session_entry);
session_entry->gLimChannelSwitch.switchCount--;
}
/**
+ * lim_process_ext_change_channel()- function to send ECSA
+ * action frame for STA/CLI .
+ * @mac_ctx: pointer to global mac structure
+ * @msg: params from sme for new channel.
+ *
+ * This function is called to send ECSA frame for STA/CLI.
+ *
+ * Return: void
+ */
+
+static void lim_process_ext_change_channel(tpAniSirGlobal mac_ctx,
+ uint32_t *msg)
+{
+ struct sir_sme_ext_cng_chan_req *ext_chng_channel =
+ (struct sir_sme_ext_cng_chan_req *) msg;
+ tpPESession session_entry = NULL;
+
+ if (NULL == msg) {
+ lim_log(mac_ctx, LOGE, FL("Buffer is Pointing to NULL"));
+ return;
+ }
+ session_entry =
+ pe_find_session_by_sme_session_id(mac_ctx,
+ ext_chng_channel->session_id);
+ if (NULL == session_entry) {
+ lim_log(mac_ctx, LOGE,
+ FL("Session not found for given session %d"),
+ ext_chng_channel->session_id);
+ return;
+ }
+ if (LIM_IS_AP_ROLE(session_entry)) {
+ lim_log(mac_ctx, LOGE,
+ FL("not an STA/CLI session"));
+ return;
+ }
+ send_extended_chan_switch_action_frame(mac_ctx,
+ ext_chng_channel->new_channel,
+ 0, session_entry);
+}
+
+/**
* lim_process_nss_update_request() - process sme nss update req
*
* @mac_ctx: Pointer to Global MAC structure
diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c
index 74c9cbf..484a5d7 100644
--- a/core/mac/src/pe/lim/lim_send_management_frames.c
+++ b/core/mac/src/pe/lim/lim_send_management_frames.c
@@ -4092,6 +4092,139 @@
} /* End lim_send_channel_switch_mgmt_frame. */
+/**
+ * lim_send_extended_chan_switch_action_frame()- function to send ECSA
+ * action frame over the air .
+ * @mac_ctx: pointer to global mac structure
+ * @peer: Destination mac.
+ * @mode: channel switch mode
+ * @new_op_class: new op class
+ * @new_channel: new channel to switch
+ * @count: channel switch count
+ *
+ * This function is called to send ECSA frame.
+ *
+ * Return: success if frame is sent else return failure
+ */
+
+tSirRetStatus
+lim_send_extended_chan_switch_action_frame(tpAniSirGlobal mac_ctx,
+ tSirMacAddr peer, uint8_t mode, uint8_t new_op_class,
+ uint8_t new_channel, uint8_t count, tpPESession session_entry)
+{
+ tDot11fext_channel_switch_action_frame frm;
+ uint8_t *frame;
+ tpSirMacMgmtHdr mac_hdr;
+ uint32_t num_bytes, n_payload, status;
+ void *packet;
+ CDF_STATUS cdf_status;
+ uint8_t txFlag = 0;
+ uint8_t sme_session_id = 0;
+
+ if (session_entry == NULL) {
+ lim_log(mac_ctx, LOGE, FL("Session entry is NULL!!!"));
+ return eSIR_FAILURE;
+ }
+
+ sme_session_id = session_entry->smeSessionId;
+
+ cdf_mem_set(&frm, sizeof(frm), 0);
+
+ frm.Category.category = SIR_MAC_ACTION_PUBLIC_USAGE;
+ frm.Action.action = SIR_MAC_ACTION_EXT_CHANNEL_SWITCH_ID;
+
+ frm.ext_chan_switch_ann_action.switch_mode = mode;
+ frm.ext_chan_switch_ann_action.op_class = new_op_class;
+ frm.ext_chan_switch_ann_action.new_channel = new_channel;
+ frm.ext_chan_switch_ann_action.switch_count = count;
+
+
+ status = dot11f_get_packed_ext_channel_switch_action_frame_size(mac_ctx,
+ &frm, &n_payload);
+ if (DOT11F_FAILED(status)) {
+ lim_log(mac_ctx, LOGP,
+ FL("Failed to get packed size for Channel Switch 0x%08x."),
+ status);
+ /* We'll fall back on the worst case scenario*/
+ n_payload = sizeof(tDot11fext_channel_switch_action_frame);
+ } else if (DOT11F_WARNED(status)) {
+ lim_log(mac_ctx, LOGW,
+ FL("There were warnings while calculating the packed size for a Ext Channel Switch (0x%08x)."),
+ status);
+ }
+
+ num_bytes = n_payload + sizeof(tSirMacMgmtHdr);
+
+ cdf_status = cds_packet_alloc((uint16_t)num_bytes,
+ (void **) &frame, (void **) &packet);
+
+ if (!CDF_IS_STATUS_SUCCESS(cdf_status)) {
+ lim_log(mac_ctx, LOGP,
+ FL("Failed to allocate %d bytes for a Ext Channel Switch."),
+ num_bytes);
+ return eSIR_FAILURE;
+ }
+
+ /* Paranoia*/
+ cdf_mem_set(frame, num_bytes, 0);
+
+ /* Next, we fill out the buffer descriptor */
+ lim_populate_mac_header(mac_ctx, frame, SIR_MAC_MGMT_FRAME,
+ SIR_MAC_MGMT_ACTION, peer, session_entry->selfMacAddr);
+ mac_hdr = (tpSirMacMgmtHdr) frame;
+ cdf_mem_copy((uint8_t *) mac_hdr->bssId,
+ (uint8_t *) session_entry->bssId,
+ sizeof(tSirMacAddr));
+
+ status = dot11f_pack_ext_channel_switch_action_frame(mac_ctx, &frm,
+ frame + sizeof(tSirMacMgmtHdr), n_payload, &n_payload);
+ if (DOT11F_FAILED(status)) {
+ lim_log(mac_ctx, LOGE,
+ FL("Failed to pack a Channel Switch 0x%08x."),
+ status);
+ cds_packet_free((void *)packet);
+ return eSIR_FAILURE;
+ } else if (DOT11F_WARNED(status)) {
+ lim_log(mac_ctx, LOGW,
+ FL("There were warnings while packing a Channel Switch 0x%08x."),
+ status);
+ }
+
+ if ((SIR_BAND_5_GHZ ==
+ lim_get_rf_band(session_entry->currentOperChannel)) ||
+ (session_entry->pePersona == CDF_P2P_CLIENT_MODE) ||
+ (session_entry->pePersona == CDF_P2P_GO_MODE)) {
+ txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
+ }
+
+ lim_log(mac_ctx, LOG1,
+ FL("Send Ext channel Switch to :"MAC_ADDRESS_STR" with swcount %d, swmode %d , newchannel %d newops %d"),
+ MAC_ADDR_ARRAY(mac_hdr->da),
+ frm.ext_chan_switch_ann_action.switch_count,
+ frm.ext_chan_switch_ann_action.switch_mode,
+ frm.ext_chan_switch_ann_action.new_channel,
+ frm.ext_chan_switch_ann_action.op_class);
+
+ MTRACE(cdf_trace(CDF_MODULE_ID_PE, TRACE_CODE_TX_MGMT,
+ session_entry->peSessionId, mac_hdr->fc.subType));
+ cdf_status = wma_tx_frame(mac_ctx, packet, (uint16_t) num_bytes,
+ TXRX_FRM_802_11_MGMT,
+ ANI_TXDIR_TODS,
+ 7,
+ lim_tx_complete, frame,
+ txFlag, sme_session_id, 0);
+ MTRACE(cdf_trace(CDF_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE,
+ session_entry->peSessionId, cdf_status));
+ if (!CDF_IS_STATUS_SUCCESS(cdf_status)) {
+ lim_log(mac_ctx, LOGE,
+ FL("Failed to send a Ext Channel Switch %X!"),
+ cdf_status);
+ /* Pkt will be freed up by the callback */
+ return eSIR_FAILURE;
+ }
+ return eSIR_SUCCESS;
+} /* End lim_send_extended_chan_switch_action_frame */
+
#ifdef WLAN_FEATURE_11AC
tSirRetStatus
lim_send_vht_opmode_notification_frame(tpAniSirGlobal pMac,
diff --git a/core/mac/src/pe/lim/lim_types.h b/core/mac/src/pe/lim/lim_types.h
index 715e775..a61a9ca 100644
--- a/core/mac/src/pe/lim/lim_types.h
+++ b/core/mac/src/pe/lim/lim_types.h
@@ -496,6 +496,10 @@
uint8_t, uint8_t, uint8_t,
tpPESession);
+tSirRetStatus lim_send_extended_chan_switch_action_frame(tpAniSirGlobal mac_ctx,
+ tSirMacAddr peer, uint8_t mode, uint8_t new_op_class,
+ uint8_t new_channel, uint8_t count, tpPESession session_entry);
+
#ifdef WLAN_FEATURE_11AC
tSirRetStatus lim_send_vht_opmode_notification_frame(tpAniSirGlobal pMac,
tSirMacAddr peer, uint8_t nMode,
diff --git a/core/mac/src/pe/sch/sch_beacon_gen.c b/core/mac/src/pe/sch/sch_beacon_gen.c
index 365b349..7e0b23c 100644
--- a/core/mac/src/pe/sch/sch_beacon_gen.c
+++ b/core/mac/src/pe/sch/sch_beacon_gen.c
@@ -573,6 +573,15 @@
}
+ /* EXT Channel Switch Announcement CHNL_EXTENDED_SWITCH_ANN_EID*/
+ if (beacon2->ext_chan_switch_ann.present) {
+ set_probe_rsp_ie_bitmap(DefProbeRspIeBitmap,
+ SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID);
+ cdf_mem_copy((void *)&prb_rsp->ext_chan_switch_ann,
+ (void *)&beacon2->ext_chan_switch_ann,
+ sizeof(beacon2->ext_chan_switch_ann));
+ }
+
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
if (beacon2->QComVendorIE.present) {
set_probe_rsp_ie_bitmap(DefProbeRspIeBitmap,
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 6286a01..aed4bd9 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 Oct 14 10:14:42 2015 from the following file(s):
+ * Mon Nov 16 10:55:21 2015 from the following file(s):
*
* dot11f.frms
*
@@ -767,6 +767,21 @@
#define SigFfVhtUserPositionArray (0x001e)
+void dot11f_unpack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx,
+ uint8_t *pBuf,
+ tDot11fFfext_chan_switch_ann_action *pDst)
+{
+ uint32_t tmp4__;
+ framesntohl(pCtx, &tmp4__, pBuf, 0);
+ pDst->switch_mode = tmp4__ >> 0 & 0xff;
+ pDst->op_class = tmp4__ >> 8 & 0xff;
+ pDst->new_channel = tmp4__ >> 16 & 0xff;
+ pDst->switch_count = tmp4__ >> 24 & 0xff;
+ (void)pCtx;
+} /* End dot11f_unpack_ff_ext_chan_switch_ann_action. */
+
+#define SigFfext_chan_switch_ann_action (0x001f)
+
uint32_t dot11f_unpack_tlv_authorized_ma_cs(tpAniSirGlobal pCtx,
uint8_t *pBuf,
uint16_t tlvlen,
@@ -793,13 +808,13 @@
tDot11fTLVVersion2 *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp4__;
+ uint8_t tmp5__;
pDst->present = 1;
- tmp4__ = *pBuf;
+ tmp5__ = *pBuf;
pBuf += 1;
tlvlen -= 1;
- pDst->minor = tmp4__ >> 0 & 0xf;
- pDst->major = tmp4__ >> 4 & 0xf;
+ pDst->minor = tmp5__ >> 0 & 0xf;
+ pDst->major = tmp5__ >> 4 & 0xf;
(void)pCtx;
return status;
} /* End dot11f_unpack_tlv_version2. */
@@ -1268,13 +1283,13 @@
tDot11fTLVVersion *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp5__;
+ uint8_t tmp6__;
pDst->present = 1;
- tmp5__ = *pBuf;
+ tmp6__ = *pBuf;
pBuf += 1;
tlvlen -= 1;
- pDst->minor = tmp5__ >> 0 & 0xf;
- pDst->major = tmp5__ >> 4 & 0xf;
+ pDst->minor = tmp6__ >> 0 & 0xf;
+ pDst->major = tmp6__ >> 4 & 0xf;
(void)pCtx;
return status;
} /* End dot11f_unpack_tlv_version. */
@@ -1329,16 +1344,16 @@
tDot11fIEGTK *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp6__;
+ uint16_t tmp7__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp6__, pBuf, 0);
+ framesntohs(pCtx, &tmp7__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->keyId = tmp6__ >> 0 & 0x3;
- pDst->reserved = tmp6__ >> 2 & 0x3feb;
+ pDst->keyId = tmp7__ >> 0 & 0x3;
+ pDst->reserved = tmp7__ >> 2 & 0x3feb;
pDst->keyLength = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
@@ -1635,59 +1650,59 @@
tDot11fIERRMEnabledCap *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp7__;
uint8_t tmp8__;
uint8_t tmp9__;
uint8_t tmp10__;
uint8_t tmp11__;
+ uint8_t tmp12__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp7__ = *pBuf;
- pBuf += 1;
- ielen -= 1;
- pDst->LinkMeasurement = tmp7__ >> 0 & 0x1;
- pDst->NeighborRpt = tmp7__ >> 1 & 0x1;
- pDst->parallel = tmp7__ >> 2 & 0x1;
- pDst->repeated = tmp7__ >> 3 & 0x1;
- pDst->BeaconPassive = tmp7__ >> 4 & 0x1;
- pDst->BeaconActive = tmp7__ >> 5 & 0x1;
- pDst->BeaconTable = tmp7__ >> 6 & 0x1;
- pDst->BeaconRepCond = tmp7__ >> 7 & 0x1;
tmp8__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->FrameMeasurement = tmp8__ >> 0 & 0x1;
- pDst->ChannelLoad = tmp8__ >> 1 & 0x1;
- pDst->NoiseHistogram = tmp8__ >> 2 & 0x1;
- pDst->statistics = tmp8__ >> 3 & 0x1;
- pDst->LCIMeasurement = tmp8__ >> 4 & 0x1;
- pDst->LCIAzimuth = tmp8__ >> 5 & 0x1;
- pDst->TCMCapability = tmp8__ >> 6 & 0x1;
- pDst->triggeredTCM = tmp8__ >> 7 & 0x1;
+ pDst->LinkMeasurement = tmp8__ >> 0 & 0x1;
+ pDst->NeighborRpt = tmp8__ >> 1 & 0x1;
+ pDst->parallel = tmp8__ >> 2 & 0x1;
+ pDst->repeated = tmp8__ >> 3 & 0x1;
+ pDst->BeaconPassive = tmp8__ >> 4 & 0x1;
+ pDst->BeaconActive = tmp8__ >> 5 & 0x1;
+ pDst->BeaconTable = tmp8__ >> 6 & 0x1;
+ pDst->BeaconRepCond = tmp8__ >> 7 & 0x1;
tmp9__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->APChanReport = tmp9__ >> 0 & 0x1;
- pDst->RRMMIBEnabled = tmp9__ >> 1 & 0x1;
- pDst->operatingChanMax = tmp9__ >> 2 & 0x7;
- pDst->nonOperatinChanMax = tmp9__ >> 5 & 0x7;
+ pDst->FrameMeasurement = tmp9__ >> 0 & 0x1;
+ pDst->ChannelLoad = tmp9__ >> 1 & 0x1;
+ pDst->NoiseHistogram = tmp9__ >> 2 & 0x1;
+ pDst->statistics = tmp9__ >> 3 & 0x1;
+ pDst->LCIMeasurement = tmp9__ >> 4 & 0x1;
+ pDst->LCIAzimuth = tmp9__ >> 5 & 0x1;
+ pDst->TCMCapability = tmp9__ >> 6 & 0x1;
+ pDst->triggeredTCM = tmp9__ >> 7 & 0x1;
tmp10__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->MeasurementPilot = tmp10__ >> 0 & 0x7;
- pDst->MeasurementPilotEnabled = tmp10__ >> 3 & 0x1;
- pDst->NeighborTSFOffset = tmp10__ >> 4 & 0x1;
- pDst->RCPIMeasurement = tmp10__ >> 5 & 0x1;
- pDst->RSNIMeasurement = tmp10__ >> 6 & 0x1;
- pDst->BssAvgAccessDelay = tmp10__ >> 7 & 0x1;
+ pDst->APChanReport = tmp10__ >> 0 & 0x1;
+ pDst->RRMMIBEnabled = tmp10__ >> 1 & 0x1;
+ pDst->operatingChanMax = tmp10__ >> 2 & 0x7;
+ pDst->nonOperatinChanMax = tmp10__ >> 5 & 0x7;
tmp11__ = *pBuf;
- pDst->BSSAvailAdmission = tmp11__ >> 0 & 0x1;
- pDst->AntennaInformation = tmp11__ >> 1 & 0x1;
- pDst->fine_time_meas_rpt = tmp11__ >> 2 & 0x1;
- pDst->lci_capability = tmp11__ >> 3 & 0x1;
- pDst->reserved = tmp11__ >> 4 & 0xf;
+ pBuf += 1;
+ ielen -= 1;
+ pDst->MeasurementPilot = tmp11__ >> 0 & 0x7;
+ pDst->MeasurementPilotEnabled = tmp11__ >> 3 & 0x1;
+ pDst->NeighborTSFOffset = tmp11__ >> 4 & 0x1;
+ pDst->RCPIMeasurement = tmp11__ >> 5 & 0x1;
+ pDst->RSNIMeasurement = tmp11__ >> 6 & 0x1;
+ pDst->BssAvgAccessDelay = tmp11__ >> 7 & 0x1;
+ tmp12__ = *pBuf;
+ pDst->BSSAvailAdmission = tmp12__ >> 0 & 0x1;
+ pDst->AntennaInformation = tmp12__ >> 1 & 0x1;
+ pDst->fine_time_meas_rpt = tmp12__ >> 2 & 0x1;
+ pDst->lci_capability = tmp12__ >> 3 & 0x1;
+ pDst->reserved = tmp12__ >> 4 & 0xf;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_rrm_enabled_cap. */
@@ -1746,18 +1761,18 @@
tDot11fIESchedule *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp12__;
+ uint16_t tmp13__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp12__, pBuf, 0);
+ framesntohs(pCtx, &tmp13__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->aggregation = tmp12__ >> 0 & 0x1;
- pDst->tsid = tmp12__ >> 1 & 0xf;
- pDst->direction = tmp12__ >> 5 & 0x3;
- pDst->reserved = tmp12__ >> 7 & 0x1ff;
+ pDst->aggregation = tmp13__ >> 0 & 0x1;
+ pDst->tsid = tmp13__ >> 1 & 0xf;
+ pDst->direction = tmp13__ >> 5 & 0x3;
+ pDst->reserved = tmp13__ >> 7 & 0x1ff;
framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
pBuf += 4;
ielen -= (uint8_t)4;
@@ -1893,34 +1908,34 @@
tDot11fIETSPEC *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp13__;
- uint8_t tmp14__;
- uint16_t tmp15__;
+ uint16_t tmp14__;
+ uint8_t tmp15__;
+ uint16_t tmp16__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp13__, pBuf, 0);
+ framesntohs(pCtx, &tmp14__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->traffic_type = tmp13__ >> 0 & 0x1;
- pDst->tsid = tmp13__ >> 1 & 0xf;
- pDst->direction = tmp13__ >> 5 & 0x3;
- pDst->access_policy = tmp13__ >> 7 & 0x3;
- pDst->aggregation = tmp13__ >> 9 & 0x1;
- pDst->psb = tmp13__ >> 10 & 0x1;
- pDst->user_priority = tmp13__ >> 11 & 0x7;
- pDst->tsinfo_ack_pol = tmp13__ >> 14 & 0x3;
- tmp14__ = *pBuf;
+ pDst->traffic_type = tmp14__ >> 0 & 0x1;
+ pDst->tsid = tmp14__ >> 1 & 0xf;
+ pDst->direction = tmp14__ >> 5 & 0x3;
+ pDst->access_policy = tmp14__ >> 7 & 0x3;
+ pDst->aggregation = tmp14__ >> 9 & 0x1;
+ pDst->psb = tmp14__ >> 10 & 0x1;
+ pDst->user_priority = tmp14__ >> 11 & 0x7;
+ pDst->tsinfo_ack_pol = tmp14__ >> 14 & 0x3;
+ tmp15__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->schedule = tmp14__ >> 0 & 0x1;
- pDst->unused = tmp14__ >> 1 & 0x7f;
- framesntohs(pCtx, &tmp15__, pBuf, 0);
+ pDst->schedule = tmp15__ >> 0 & 0x1;
+ pDst->unused = tmp15__ >> 1 & 0x7f;
+ framesntohs(pCtx, &tmp16__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->size = tmp15__ >> 0 & 0x7fff;
- pDst->fixed = tmp15__ >> 15 & 0x1;
+ pDst->size = tmp16__ >> 0 & 0x7fff;
+ pDst->fixed = tmp16__ >> 15 & 0x1;
framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
@@ -1974,50 +1989,50 @@
tDot11fIEVHTCaps *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint32_t tmp16__;
- uint16_t tmp17__;
+ uint32_t tmp17__;
uint16_t tmp18__;
+ uint16_t tmp19__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohl(pCtx, &tmp16__, pBuf, 0);
+ framesntohl(pCtx, &tmp17__, pBuf, 0);
pBuf += 4;
ielen -= 4;
- pDst->maxMPDULen = tmp16__ >> 0 & 0x3;
- pDst->supportedChannelWidthSet = tmp16__ >> 2 & 0x3;
- pDst->ldpcCodingCap = tmp16__ >> 4 & 0x1;
- pDst->shortGI80MHz = tmp16__ >> 5 & 0x1;
- pDst->shortGI160and80plus80MHz = tmp16__ >> 6 & 0x1;
- pDst->txSTBC = tmp16__ >> 7 & 0x1;
- pDst->rxSTBC = tmp16__ >> 8 & 0x7;
- pDst->suBeamFormerCap = tmp16__ >> 11 & 0x1;
- pDst->suBeamformeeCap = tmp16__ >> 12 & 0x1;
- pDst->csnofBeamformerAntSup = tmp16__ >> 13 & 0x7;
- pDst->numSoundingDim = tmp16__ >> 16 & 0x7;
- pDst->muBeamformerCap = tmp16__ >> 19 & 0x1;
- pDst->muBeamformeeCap = tmp16__ >> 20 & 0x1;
- pDst->vhtTXOPPS = tmp16__ >> 21 & 0x1;
- pDst->htcVHTCap = tmp16__ >> 22 & 0x1;
- pDst->maxAMPDULenExp = tmp16__ >> 23 & 0x7;
- pDst->vhtLinkAdaptCap = tmp16__ >> 26 & 0x3;
- pDst->rxAntPattern = tmp16__ >> 28 & 0x1;
- pDst->txAntPattern = tmp16__ >> 29 & 0x1;
- pDst->reserved1 = tmp16__ >> 30 & 0x3;
+ pDst->maxMPDULen = tmp17__ >> 0 & 0x3;
+ pDst->supportedChannelWidthSet = tmp17__ >> 2 & 0x3;
+ pDst->ldpcCodingCap = tmp17__ >> 4 & 0x1;
+ pDst->shortGI80MHz = tmp17__ >> 5 & 0x1;
+ pDst->shortGI160and80plus80MHz = tmp17__ >> 6 & 0x1;
+ pDst->txSTBC = tmp17__ >> 7 & 0x1;
+ pDst->rxSTBC = tmp17__ >> 8 & 0x7;
+ pDst->suBeamFormerCap = tmp17__ >> 11 & 0x1;
+ pDst->suBeamformeeCap = tmp17__ >> 12 & 0x1;
+ pDst->csnofBeamformerAntSup = tmp17__ >> 13 & 0x7;
+ pDst->numSoundingDim = tmp17__ >> 16 & 0x7;
+ pDst->muBeamformerCap = tmp17__ >> 19 & 0x1;
+ pDst->muBeamformeeCap = tmp17__ >> 20 & 0x1;
+ pDst->vhtTXOPPS = tmp17__ >> 21 & 0x1;
+ pDst->htcVHTCap = tmp17__ >> 22 & 0x1;
+ pDst->maxAMPDULenExp = tmp17__ >> 23 & 0x7;
+ pDst->vhtLinkAdaptCap = tmp17__ >> 26 & 0x3;
+ pDst->rxAntPattern = tmp17__ >> 28 & 0x1;
+ pDst->txAntPattern = tmp17__ >> 29 & 0x1;
+ pDst->reserved1 = tmp17__ >> 30 & 0x3;
framesntohs(pCtx, &pDst->rxMCSMap, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
- framesntohs(pCtx, &tmp17__, pBuf, 0);
+ framesntohs(pCtx, &tmp18__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->rxHighSupDataRate = tmp17__ >> 0 & 0x1fff;
- pDst->reserved2 = tmp17__ >> 13 & 0x7;
+ pDst->rxHighSupDataRate = tmp18__ >> 0 & 0x1fff;
+ pDst->reserved2 = tmp18__ >> 13 & 0x7;
framesntohs(pCtx, &pDst->txMCSMap, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
- framesntohs(pCtx, &tmp18__, pBuf, 0);
- pDst->txSupDataRate = tmp18__ >> 0 & 0x1fff;
- pDst->reserved3 = tmp18__ >> 13 & 0x7;
+ framesntohs(pCtx, &tmp19__, pBuf, 0);
+ pDst->txSupDataRate = tmp19__ >> 0 & 0x1fff;
+ pDst->reserved3 = tmp19__ >> 13 & 0x7;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_vht_caps. */
@@ -2058,7 +2073,7 @@
tDot11fIEWMMSchedule *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp19__;
+ uint16_t tmp20__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -2070,13 +2085,13 @@
pDst->present = 0;
return status | DOT11F_BAD_FIXED_VALUE;
}
- framesntohs(pCtx, &tmp19__, pBuf, 0);
+ framesntohs(pCtx, &tmp20__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->aggregation = tmp19__ >> 0 & 0x1;
- pDst->tsid = tmp19__ >> 1 & 0xf;
- pDst->direction = tmp19__ >> 5 & 0x3;
- pDst->reserved = tmp19__ >> 7 & 0x1ff;
+ pDst->aggregation = tmp20__ >> 0 & 0x1;
+ pDst->tsid = tmp20__ >> 1 & 0xf;
+ pDst->direction = tmp20__ >> 5 & 0x3;
+ pDst->reserved = tmp20__ >> 7 & 0x1ff;
framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
pBuf += 4;
ielen -= (uint8_t)4;
@@ -2248,9 +2263,9 @@
tDot11fIEWMMTSPEC *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp20__;
- uint8_t tmp21__;
- uint16_t tmp22__;
+ uint16_t tmp21__;
+ uint8_t tmp22__;
+ uint16_t tmp23__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -2262,27 +2277,27 @@
pDst->present = 0;
return status | DOT11F_BAD_FIXED_VALUE;
}
- framesntohs(pCtx, &tmp20__, pBuf, 0);
+ framesntohs(pCtx, &tmp21__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->traffic_type = tmp20__ >> 0 & 0x1;
- pDst->tsid = tmp20__ >> 1 & 0xf;
- pDst->direction = tmp20__ >> 5 & 0x3;
- pDst->access_policy = tmp20__ >> 7 & 0x3;
- pDst->aggregation = tmp20__ >> 9 & 0x1;
- pDst->psb = tmp20__ >> 10 & 0x1;
- pDst->user_priority = tmp20__ >> 11 & 0x7;
- pDst->tsinfo_ack_pol = tmp20__ >> 14 & 0x3;
- tmp21__ = *pBuf;
+ pDst->traffic_type = tmp21__ >> 0 & 0x1;
+ pDst->tsid = tmp21__ >> 1 & 0xf;
+ pDst->direction = tmp21__ >> 5 & 0x3;
+ pDst->access_policy = tmp21__ >> 7 & 0x3;
+ pDst->aggregation = tmp21__ >> 9 & 0x1;
+ pDst->psb = tmp21__ >> 10 & 0x1;
+ pDst->user_priority = tmp21__ >> 11 & 0x7;
+ pDst->tsinfo_ack_pol = tmp21__ >> 14 & 0x3;
+ tmp22__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->tsinfo_rsvd = tmp21__ >> 0 & 0x7f;
- pDst->burst_size_defn = tmp21__ >> 7 & 0x1;
- framesntohs(pCtx, &tmp22__, pBuf, 0);
+ pDst->tsinfo_rsvd = tmp22__ >> 0 & 0x7f;
+ pDst->burst_size_defn = tmp22__ >> 7 & 0x1;
+ framesntohs(pCtx, &tmp23__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->size = tmp22__ >> 0 & 0x7fff;
- pDst->fixed = tmp22__ >> 15 & 0x1;
+ pDst->size = tmp23__ >> 0 & 0x7fff;
+ pDst->fixed = tmp23__ >> 15 & 0x1;
framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
@@ -2524,7 +2539,6 @@
tDot11fIEEDCAParamSet *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp23__;
uint8_t tmp24__;
uint8_t tmp25__;
uint8_t tmp26__;
@@ -2532,6 +2546,7 @@
uint8_t tmp28__;
uint8_t tmp29__;
uint8_t tmp30__;
+ uint8_t tmp31__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -2542,63 +2557,63 @@
pDst->reserved = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp23__ = *pBuf;
- pBuf += 1;
- ielen -= 1;
- pDst->acbe_aifsn = tmp23__ >> 0 & 0xf;
- pDst->acbe_acm = tmp23__ >> 4 & 0x1;
- pDst->acbe_aci = tmp23__ >> 5 & 0x3;
- pDst->unused1 = tmp23__ >> 7 & 0x1;
tmp24__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbe_acwmin = tmp24__ >> 0 & 0xf;
- pDst->acbe_acwmax = tmp24__ >> 4 & 0xf;
- framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
- pBuf += 2;
- ielen -= (uint8_t)2;
+ pDst->acbe_aifsn = tmp24__ >> 0 & 0xf;
+ pDst->acbe_acm = tmp24__ >> 4 & 0x1;
+ pDst->acbe_aci = tmp24__ >> 5 & 0x3;
+ pDst->unused1 = tmp24__ >> 7 & 0x1;
tmp25__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_aifsn = tmp25__ >> 0 & 0xf;
- pDst->acbk_acm = tmp25__ >> 4 & 0x1;
- pDst->acbk_aci = tmp25__ >> 5 & 0x3;
- pDst->unused2 = tmp25__ >> 7 & 0x1;
+ pDst->acbe_acwmin = tmp25__ >> 0 & 0xf;
+ pDst->acbe_acwmax = tmp25__ >> 4 & 0xf;
+ framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
tmp26__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_acwmin = tmp26__ >> 0 & 0xf;
- pDst->acbk_acwmax = tmp26__ >> 4 & 0xf;
- framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
- pBuf += 2;
- ielen -= (uint8_t)2;
+ pDst->acbk_aifsn = tmp26__ >> 0 & 0xf;
+ pDst->acbk_acm = tmp26__ >> 4 & 0x1;
+ pDst->acbk_aci = tmp26__ >> 5 & 0x3;
+ pDst->unused2 = tmp26__ >> 7 & 0x1;
tmp27__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_aifsn = tmp27__ >> 0 & 0xf;
- pDst->acvi_acm = tmp27__ >> 4 & 0x1;
- pDst->acvi_aci = tmp27__ >> 5 & 0x3;
- pDst->unused3 = tmp27__ >> 7 & 0x1;
+ pDst->acbk_acwmin = tmp27__ >> 0 & 0xf;
+ pDst->acbk_acwmax = tmp27__ >> 4 & 0xf;
+ framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
tmp28__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_acwmin = tmp28__ >> 0 & 0xf;
- pDst->acvi_acwmax = tmp28__ >> 4 & 0xf;
- framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
- pBuf += 2;
- ielen -= (uint8_t)2;
+ pDst->acvi_aifsn = tmp28__ >> 0 & 0xf;
+ pDst->acvi_acm = tmp28__ >> 4 & 0x1;
+ pDst->acvi_aci = tmp28__ >> 5 & 0x3;
+ pDst->unused3 = tmp28__ >> 7 & 0x1;
tmp29__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_aifsn = tmp29__ >> 0 & 0xf;
- pDst->acvo_acm = tmp29__ >> 4 & 0x1;
- pDst->acvo_aci = tmp29__ >> 5 & 0x3;
- pDst->unused4 = tmp29__ >> 7 & 0x1;
+ pDst->acvi_acwmin = tmp29__ >> 0 & 0xf;
+ pDst->acvi_acwmax = tmp29__ >> 4 & 0xf;
+ framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
tmp30__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_acwmin = tmp30__ >> 0 & 0xf;
- pDst->acvo_acwmax = tmp30__ >> 4 & 0xf;
+ pDst->acvo_aifsn = tmp30__ >> 0 & 0xf;
+ pDst->acvo_acm = tmp30__ >> 4 & 0x1;
+ pDst->acvo_aci = tmp30__ >> 5 & 0x3;
+ pDst->unused4 = tmp30__ >> 7 & 0x1;
+ tmp31__ = *pBuf;
+ pBuf += 1;
+ ielen -= 1;
+ pDst->acvo_acwmin = tmp31__ >> 0 & 0xf;
+ pDst->acvo_acwmax = tmp31__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
(void)pCtx;
return status;
@@ -2613,16 +2628,16 @@
tDot11fIEERPInfo *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp31__;
+ uint8_t tmp32__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp31__ = *pBuf;
- pDst->non_erp_present = tmp31__ >> 0 & 0x1;
- pDst->use_prot = tmp31__ >> 1 & 0x1;
- pDst->barker_preamble = tmp31__ >> 2 & 0x1;
- pDst->unused = tmp31__ >> 3 & 0x1f;
+ tmp32__ = *pBuf;
+ pDst->non_erp_present = tmp32__ >> 0 & 0x1;
+ pDst->use_prot = tmp32__ >> 1 & 0x1;
+ pDst->barker_preamble = tmp32__ >> 2 & 0x1;
+ pDst->unused = tmp32__ >> 3 & 0x1f;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_erp_info. */
@@ -2660,7 +2675,7 @@
tDot11fIEESERadMgmtCap *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp32__;
+ uint8_t tmp33__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -2668,9 +2683,9 @@
pDst->mgmt_state = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp32__ = *pBuf;
- pDst->mbssid_mask = tmp32__ >> 0 & 0x7;
- pDst->reserved = tmp32__ >> 3 & 0x1f;
+ tmp33__ = *pBuf;
+ pDst->mbssid_mask = tmp33__ >> 0 & 0x7;
+ pDst->reserved = tmp33__ >> 3 & 0x1f;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_ese_rad_mgmt_cap. */
@@ -2937,16 +2952,16 @@
tDot11fIEFTInfo *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp33__;
+ uint16_t tmp34__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp33__, pBuf, 0);
+ framesntohs(pCtx, &tmp34__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->reserved = tmp33__ >> 0 & 0xff;
- pDst->IECount = tmp33__ >> 8 & 0xff;
+ pDst->reserved = tmp34__ >> 0 & 0xff;
+ pDst->IECount = tmp34__ >> 8 & 0xff;
DOT11F_MEMCPY(pCtx, pDst->MIC, pBuf, 16);
pBuf += 16;
ielen -= (uint8_t)16;
@@ -2976,79 +2991,79 @@
tDot11fIEHTCaps *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp34__;
- uint8_t tmp35__;
- uint16_t tmp36__;
- uint32_t tmp37__;
- uint8_t tmp38__;
+ uint16_t tmp35__;
+ uint8_t tmp36__;
+ uint16_t tmp37__;
+ uint32_t tmp38__;
+ uint8_t tmp39__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp34__, pBuf, 0);
+ framesntohs(pCtx, &tmp35__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->advCodingCap = tmp34__ >> 0 & 0x1;
- pDst->supportedChannelWidthSet = tmp34__ >> 1 & 0x1;
- pDst->mimoPowerSave = tmp34__ >> 2 & 0x3;
- pDst->greenField = tmp34__ >> 4 & 0x1;
- pDst->shortGI20MHz = tmp34__ >> 5 & 0x1;
- pDst->shortGI40MHz = tmp34__ >> 6 & 0x1;
- pDst->txSTBC = tmp34__ >> 7 & 0x1;
- pDst->rxSTBC = tmp34__ >> 8 & 0x3;
- pDst->delayedBA = tmp34__ >> 10 & 0x1;
- pDst->maximalAMSDUsize = tmp34__ >> 11 & 0x1;
- pDst->dsssCckMode40MHz = tmp34__ >> 12 & 0x1;
- pDst->psmp = tmp34__ >> 13 & 0x1;
- pDst->stbcControlFrame = tmp34__ >> 14 & 0x1;
- pDst->lsigTXOPProtection = tmp34__ >> 15 & 0x1;
- tmp35__ = *pBuf;
+ pDst->advCodingCap = tmp35__ >> 0 & 0x1;
+ pDst->supportedChannelWidthSet = tmp35__ >> 1 & 0x1;
+ pDst->mimoPowerSave = tmp35__ >> 2 & 0x3;
+ pDst->greenField = tmp35__ >> 4 & 0x1;
+ pDst->shortGI20MHz = tmp35__ >> 5 & 0x1;
+ pDst->shortGI40MHz = tmp35__ >> 6 & 0x1;
+ pDst->txSTBC = tmp35__ >> 7 & 0x1;
+ pDst->rxSTBC = tmp35__ >> 8 & 0x3;
+ pDst->delayedBA = tmp35__ >> 10 & 0x1;
+ pDst->maximalAMSDUsize = tmp35__ >> 11 & 0x1;
+ pDst->dsssCckMode40MHz = tmp35__ >> 12 & 0x1;
+ pDst->psmp = tmp35__ >> 13 & 0x1;
+ pDst->stbcControlFrame = tmp35__ >> 14 & 0x1;
+ pDst->lsigTXOPProtection = tmp35__ >> 15 & 0x1;
+ tmp36__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->maxRxAMPDUFactor = tmp35__ >> 0 & 0x3;
- pDst->mpduDensity = tmp35__ >> 2 & 0x7;
- pDst->reserved1 = tmp35__ >> 5 & 0x7;
+ pDst->maxRxAMPDUFactor = tmp36__ >> 0 & 0x3;
+ pDst->mpduDensity = tmp36__ >> 2 & 0x7;
+ pDst->reserved1 = tmp36__ >> 5 & 0x7;
DOT11F_MEMCPY(pCtx, pDst->supportedMCSSet, pBuf, 16);
pBuf += 16;
ielen -= (uint8_t)16;
- framesntohs(pCtx, &tmp36__, pBuf, 0);
+ framesntohs(pCtx, &tmp37__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->pco = tmp36__ >> 0 & 0x1;
- pDst->transitionTime = tmp36__ >> 1 & 0x3;
- pDst->reserved2 = tmp36__ >> 3 & 0x1f;
- pDst->mcsFeedback = tmp36__ >> 8 & 0x3;
- pDst->reserved3 = tmp36__ >> 10 & 0x3f;
- framesntohl(pCtx, &tmp37__, pBuf, 0);
+ pDst->pco = tmp37__ >> 0 & 0x1;
+ pDst->transitionTime = tmp37__ >> 1 & 0x3;
+ pDst->reserved2 = tmp37__ >> 3 & 0x1f;
+ pDst->mcsFeedback = tmp37__ >> 8 & 0x3;
+ pDst->reserved3 = tmp37__ >> 10 & 0x3f;
+ framesntohl(pCtx, &tmp38__, pBuf, 0);
pBuf += 4;
ielen -= 4;
- pDst->txBF = tmp37__ >> 0 & 0x1;
- pDst->rxStaggeredSounding = tmp37__ >> 1 & 0x1;
- pDst->txStaggeredSounding = tmp37__ >> 2 & 0x1;
- pDst->rxZLF = tmp37__ >> 3 & 0x1;
- pDst->txZLF = tmp37__ >> 4 & 0x1;
- pDst->implicitTxBF = tmp37__ >> 5 & 0x1;
- pDst->calibration = tmp37__ >> 6 & 0x3;
- pDst->explicitCSITxBF = tmp37__ >> 8 & 0x1;
- pDst->explicitUncompressedSteeringMatrix = tmp37__ >> 9 & 0x1;
- pDst->explicitBFCSIFeedback = tmp37__ >> 10 & 0x7;
- pDst->explicitUncompressedSteeringMatrixFeedback = tmp37__ >> 13 & 0x7;
- pDst->explicitCompressedSteeringMatrixFeedback = tmp37__ >> 16 & 0x7;
- pDst->csiNumBFAntennae = tmp37__ >> 19 & 0x3;
- pDst->uncompressedSteeringMatrixBFAntennae = tmp37__ >> 21 & 0x3;
- pDst->compressedSteeringMatrixBFAntennae = tmp37__ >> 23 & 0x3;
- pDst->reserved4 = tmp37__ >> 25 & 0x7f;
- tmp38__ = *pBuf;
+ pDst->txBF = tmp38__ >> 0 & 0x1;
+ pDst->rxStaggeredSounding = tmp38__ >> 1 & 0x1;
+ pDst->txStaggeredSounding = tmp38__ >> 2 & 0x1;
+ pDst->rxZLF = tmp38__ >> 3 & 0x1;
+ pDst->txZLF = tmp38__ >> 4 & 0x1;
+ pDst->implicitTxBF = tmp38__ >> 5 & 0x1;
+ pDst->calibration = tmp38__ >> 6 & 0x3;
+ pDst->explicitCSITxBF = tmp38__ >> 8 & 0x1;
+ pDst->explicitUncompressedSteeringMatrix = tmp38__ >> 9 & 0x1;
+ pDst->explicitBFCSIFeedback = tmp38__ >> 10 & 0x7;
+ pDst->explicitUncompressedSteeringMatrixFeedback = tmp38__ >> 13 & 0x7;
+ pDst->explicitCompressedSteeringMatrixFeedback = tmp38__ >> 16 & 0x7;
+ pDst->csiNumBFAntennae = tmp38__ >> 19 & 0x3;
+ pDst->uncompressedSteeringMatrixBFAntennae = tmp38__ >> 21 & 0x3;
+ pDst->compressedSteeringMatrixBFAntennae = tmp38__ >> 23 & 0x3;
+ pDst->reserved4 = tmp38__ >> 25 & 0x7f;
+ tmp39__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->antennaSelection = tmp38__ >> 0 & 0x1;
- pDst->explicitCSIFeedbackTx = tmp38__ >> 1 & 0x1;
- pDst->antennaIndicesFeedbackTx = tmp38__ >> 2 & 0x1;
- pDst->explicitCSIFeedback = tmp38__ >> 3 & 0x1;
- pDst->antennaIndicesFeedback = tmp38__ >> 4 & 0x1;
- pDst->rxAS = tmp38__ >> 5 & 0x1;
- pDst->txSoundingPPDUs = tmp38__ >> 6 & 0x1;
- pDst->reserved5 = tmp38__ >> 7 & 0x1;
+ pDst->antennaSelection = tmp39__ >> 0 & 0x1;
+ pDst->explicitCSIFeedbackTx = tmp39__ >> 1 & 0x1;
+ pDst->antennaIndicesFeedbackTx = tmp39__ >> 2 & 0x1;
+ pDst->explicitCSIFeedback = tmp39__ >> 3 & 0x1;
+ pDst->antennaIndicesFeedback = tmp39__ >> 4 & 0x1;
+ pDst->rxAS = tmp39__ >> 5 & 0x1;
+ pDst->txSoundingPPDUs = tmp39__ >> 6 & 0x1;
+ pDst->reserved5 = tmp39__ >> 7 & 0x1;
pDst->num_rsvd = (uint8_t)(ielen);
if (ielen > 32) {
pDst->present = 0;
@@ -3069,9 +3084,9 @@
tDot11fIEHTInfo *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp39__;
- uint16_t tmp40__;
+ uint8_t tmp40__;
uint16_t tmp41__;
+ uint16_t tmp42__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -3079,32 +3094,32 @@
pDst->primaryChannel = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp39__ = *pBuf;
+ tmp40__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->secondaryChannelOffset = tmp39__ >> 0 & 0x3;
- pDst->recommendedTxWidthSet = tmp39__ >> 2 & 0x1;
- pDst->rifsMode = tmp39__ >> 3 & 0x1;
- pDst->controlledAccessOnly = tmp39__ >> 4 & 0x1;
- pDst->serviceIntervalGranularity = tmp39__ >> 5 & 0x7;
- framesntohs(pCtx, &tmp40__, pBuf, 0);
- pBuf += 2;
- ielen -= 2;
- pDst->opMode = tmp40__ >> 0 & 0x3;
- pDst->nonGFDevicesPresent = tmp40__ >> 2 & 0x1;
- pDst->transmitBurstLimit = tmp40__ >> 3 & 0x1;
- pDst->obssNonHTStaPresent = tmp40__ >> 4 & 0x1;
- pDst->reserved = tmp40__ >> 5 & 0x7ff;
+ pDst->secondaryChannelOffset = tmp40__ >> 0 & 0x3;
+ pDst->recommendedTxWidthSet = tmp40__ >> 2 & 0x1;
+ pDst->rifsMode = tmp40__ >> 3 & 0x1;
+ pDst->controlledAccessOnly = tmp40__ >> 4 & 0x1;
+ pDst->serviceIntervalGranularity = tmp40__ >> 5 & 0x7;
framesntohs(pCtx, &tmp41__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->basicSTBCMCS = tmp41__ >> 0 & 0x7f;
- pDst->dualCTSProtection = tmp41__ >> 7 & 0x1;
- pDst->secondaryBeacon = tmp41__ >> 8 & 0x1;
- pDst->lsigTXOPProtectionFullSupport = tmp41__ >> 9 & 0x1;
- pDst->pcoActive = tmp41__ >> 10 & 0x1;
- pDst->pcoPhase = tmp41__ >> 11 & 0x1;
- pDst->reserved2 = tmp41__ >> 12 & 0xf;
+ pDst->opMode = tmp41__ >> 0 & 0x3;
+ pDst->nonGFDevicesPresent = tmp41__ >> 2 & 0x1;
+ pDst->transmitBurstLimit = tmp41__ >> 3 & 0x1;
+ pDst->obssNonHTStaPresent = tmp41__ >> 4 & 0x1;
+ pDst->reserved = tmp41__ >> 5 & 0x7ff;
+ framesntohs(pCtx, &tmp42__, pBuf, 0);
+ pBuf += 2;
+ ielen -= 2;
+ pDst->basicSTBCMCS = tmp42__ >> 0 & 0x7f;
+ pDst->dualCTSProtection = tmp42__ >> 7 & 0x1;
+ pDst->secondaryBeacon = tmp42__ >> 8 & 0x1;
+ pDst->lsigTXOPProtectionFullSupport = tmp42__ >> 9 & 0x1;
+ pDst->pcoActive = tmp42__ >> 10 & 0x1;
+ pDst->pcoPhase = tmp42__ >> 11 & 0x1;
+ pDst->reserved2 = tmp42__ >> 12 & 0xf;
DOT11F_MEMCPY(pCtx, pDst->basicMCSSet, pBuf, 16);
pBuf += 16;
ielen -= (uint8_t)16;
@@ -3183,9 +3198,9 @@
tDot11fIEMeasurementReport *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp42__;
uint8_t tmp43__;
uint8_t tmp44__;
+ uint8_t tmp45__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -3193,13 +3208,13 @@
pDst->token = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp42__ = *pBuf;
+ tmp43__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->late = tmp42__ >> 0 & 0x1;
- pDst->incapable = tmp42__ >> 1 & 0x1;
- pDst->refused = tmp42__ >> 2 & 0x1;
- pDst->unused = tmp42__ >> 3 & 0x1f;
+ pDst->late = tmp43__ >> 0 & 0x1;
+ pDst->incapable = tmp43__ >> 1 & 0x1;
+ pDst->refused = tmp43__ >> 2 & 0x1;
+ pDst->unused = tmp43__ >> 3 & 0x1f;
pDst->type = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
@@ -3217,15 +3232,15 @@
framesntohs(pCtx, &pDst->report.Basic.meas_duration, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
- tmp43__ = *pBuf;
+ tmp44__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->report.Basic.bss = tmp43__ >> 0 & 0x1;
- pDst->report.Basic.ofdm_preamble = tmp43__ >> 1 & 0x1;
- pDst->report.Basic.unid_signal = tmp43__ >> 2 & 0x1;
- pDst->report.Basic.rader = tmp43__ >> 3 & 0x1;
- pDst->report.Basic.unmeasured = tmp43__ >> 4 & 0x1;
- pDst->report.Basic.unused = tmp43__ >> 5 & 0x7;
+ pDst->report.Basic.bss = tmp44__ >> 0 & 0x1;
+ pDst->report.Basic.ofdm_preamble = tmp44__ >> 1 & 0x1;
+ pDst->report.Basic.unid_signal = tmp44__ >> 2 & 0x1;
+ pDst->report.Basic.rader = tmp44__ >> 3 & 0x1;
+ pDst->report.Basic.unmeasured = tmp44__ >> 4 & 0x1;
+ pDst->report.Basic.unused = tmp44__ >> 5 & 0x7;
break;
case 1:
pDst->report.CCA.channel = *pBuf;
@@ -3289,11 +3304,11 @@
framesntohs(pCtx, &pDst->report.Beacon.meas_duration, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
- tmp44__ = *pBuf;
+ tmp45__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->report.Beacon.condensed_PHY = tmp44__ >> 0 & 0x7f;
- pDst->report.Beacon.reported_frame_type = tmp44__ >> 7 & 0x1;
+ pDst->report.Beacon.condensed_PHY = tmp45__ >> 0 & 0x7f;
+ pDst->report.Beacon.reported_frame_type = tmp45__ >> 7 & 0x1;
pDst->report.Beacon.RCPI = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
@@ -3362,7 +3377,7 @@
tDot11fIEMeasurementRequest *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp45__;
+ uint8_t tmp46__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -3370,15 +3385,15 @@
pDst->measurement_token = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp45__ = *pBuf;
+ tmp46__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->parallel = tmp45__ >> 0 & 0x1;
- pDst->enable = tmp45__ >> 1 & 0x1;
- pDst->request = tmp45__ >> 2 & 0x1;
- pDst->report = tmp45__ >> 3 & 0x1;
- pDst->durationMandatory = tmp45__ >> 4 & 0x1;
- pDst->unused = tmp45__ >> 5 & 0x7;
+ pDst->parallel = tmp46__ >> 0 & 0x1;
+ pDst->enable = tmp46__ >> 1 & 0x1;
+ pDst->request = tmp46__ >> 2 & 0x1;
+ pDst->report = tmp46__ >> 3 & 0x1;
+ pDst->durationMandatory = tmp46__ >> 4 & 0x1;
+ pDst->unused = tmp46__ >> 5 & 0x7;
pDst->measurement_type = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
@@ -3457,7 +3472,7 @@
tDot11fIEMobilityDomain *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp46__;
+ uint8_t tmp47__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -3465,10 +3480,10 @@
framesntohs(pCtx, &pDst->MDID, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
- tmp46__ = *pBuf;
- pDst->overDSCap = tmp46__ >> 0 & 0x1;
- pDst->resourceReqCap = tmp46__ >> 1 & 0x1;
- pDst->reserved = tmp46__ >> 2 & 0x3f;
+ tmp47__ = *pBuf;
+ pDst->overDSCap = tmp47__ >> 0 & 0x1;
+ pDst->resourceReqCap = tmp47__ >> 1 & 0x1;
+ pDst->reserved = tmp47__ >> 2 & 0x3f;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_mobility_domain. */
@@ -3509,8 +3524,8 @@
tDot11fIENeighborReport *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp47__;
uint8_t tmp48__;
+ uint8_t tmp49__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -3518,23 +3533,23 @@
DOT11F_MEMCPY(pCtx, pDst->bssid, pBuf, 6);
pBuf += 6;
ielen -= (uint8_t)6;
- tmp47__ = *pBuf;
- pBuf += 1;
- ielen -= 1;
- pDst->APReachability = tmp47__ >> 0 & 0x3;
- pDst->Security = tmp47__ >> 2 & 0x1;
- pDst->KeyScope = tmp47__ >> 3 & 0x1;
- pDst->SpecMgmtCap = tmp47__ >> 4 & 0x1;
- pDst->QosCap = tmp47__ >> 5 & 0x1;
- pDst->apsd = tmp47__ >> 6 & 0x1;
- pDst->rrm = tmp47__ >> 7 & 0x1;
tmp48__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->DelayedBA = tmp48__ >> 0 & 0x1;
- pDst->ImmBA = tmp48__ >> 1 & 0x1;
- pDst->MobilityDomain = tmp48__ >> 2 & 0x1;
- pDst->reserved = tmp48__ >> 3 & 0x1f;
+ pDst->APReachability = tmp48__ >> 0 & 0x3;
+ pDst->Security = tmp48__ >> 2 & 0x1;
+ pDst->KeyScope = tmp48__ >> 3 & 0x1;
+ pDst->SpecMgmtCap = tmp48__ >> 4 & 0x1;
+ pDst->QosCap = tmp48__ >> 5 & 0x1;
+ pDst->apsd = tmp48__ >> 6 & 0x1;
+ pDst->rrm = tmp48__ >> 7 & 0x1;
+ tmp49__ = *pBuf;
+ pBuf += 1;
+ ielen -= 1;
+ pDst->DelayedBA = tmp49__ >> 0 & 0x1;
+ pDst->ImmBA = tmp49__ >> 1 & 0x1;
+ pDst->MobilityDomain = tmp49__ >> 2 & 0x1;
+ pDst->reserved = tmp49__ >> 3 & 0x1f;
framesntohs(pCtx, &pDst->reserved1, pBuf, 0);
pBuf += 2;
ielen -= (uint8_t)2;
@@ -3603,16 +3618,16 @@
tDot11fIEOperatingMode *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp49__;
+ uint8_t tmp50__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp49__ = *pBuf;
- pDst->chanWidth = tmp49__ >> 0 & 0x3;
- pDst->reserved = tmp49__ >> 2 & 0x3;
- pDst->rxNSS = tmp49__ >> 4 & 0x7;
- pDst->rxNSSType = tmp49__ >> 7 & 0x1;
+ tmp50__ = *pBuf;
+ pDst->chanWidth = tmp50__ >> 0 & 0x3;
+ pDst->reserved = tmp50__ >> 2 & 0x3;
+ pDst->rxNSS = tmp50__ >> 4 & 0x7;
+ pDst->rxNSSType = tmp50__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_operating_mode. */
@@ -3928,17 +3943,17 @@
tDot11fIEPUBufferStatus *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp50__;
+ uint8_t tmp51__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp50__ = *pBuf;
- pDst->ac_bk_traffic_aval = tmp50__ >> 0 & 0x1;
- pDst->ac_be_traffic_aval = tmp50__ >> 1 & 0x1;
- pDst->ac_vi_traffic_aval = tmp50__ >> 2 & 0x1;
- pDst->ac_vo_traffic_aval = tmp50__ >> 3 & 0x1;
- pDst->reserved = tmp50__ >> 4 & 0xf;
+ tmp51__ = *pBuf;
+ pDst->ac_bk_traffic_aval = tmp51__ >> 0 & 0x1;
+ pDst->ac_be_traffic_aval = tmp51__ >> 1 & 0x1;
+ pDst->ac_vi_traffic_aval = tmp51__ >> 2 & 0x1;
+ pDst->ac_vo_traffic_aval = tmp51__ >> 3 & 0x1;
+ pDst->reserved = tmp51__ >> 4 & 0xf;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_pu_buffer_status. */
@@ -4036,17 +4051,17 @@
tDot11fIEQOSCapsAp *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp51__;
+ uint8_t tmp52__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp51__ = *pBuf;
- pDst->count = tmp51__ >> 0 & 0xf;
- pDst->qack = tmp51__ >> 4 & 0x1;
- pDst->qreq = tmp51__ >> 5 & 0x1;
- pDst->txopreq = tmp51__ >> 6 & 0x1;
- pDst->reserved = tmp51__ >> 7 & 0x1;
+ tmp52__ = *pBuf;
+ pDst->count = tmp52__ >> 0 & 0xf;
+ pDst->qack = tmp52__ >> 4 & 0x1;
+ pDst->qreq = tmp52__ >> 5 & 0x1;
+ pDst->txopreq = tmp52__ >> 6 & 0x1;
+ pDst->reserved = tmp52__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_qos_caps_ap. */
@@ -4060,19 +4075,19 @@
tDot11fIEQOSCapsStation *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp52__;
+ uint8_t tmp53__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp52__ = *pBuf;
- pDst->acvo_uapsd = tmp52__ >> 0 & 0x1;
- pDst->acvi_uapsd = tmp52__ >> 1 & 0x1;
- pDst->acbk_uapsd = tmp52__ >> 2 & 0x1;
- pDst->acbe_uapsd = tmp52__ >> 3 & 0x1;
- pDst->qack = tmp52__ >> 4 & 0x1;
- pDst->max_sp_length = tmp52__ >> 5 & 0x3;
- pDst->more_data_ack = tmp52__ >> 7 & 0x1;
+ tmp53__ = *pBuf;
+ pDst->acvo_uapsd = tmp53__ >> 0 & 0x1;
+ pDst->acvi_uapsd = tmp53__ >> 1 & 0x1;
+ pDst->acbk_uapsd = tmp53__ >> 2 & 0x1;
+ pDst->acbe_uapsd = tmp53__ >> 3 & 0x1;
+ pDst->qack = tmp53__ >> 4 & 0x1;
+ pDst->max_sp_length = tmp53__ >> 5 & 0x3;
+ pDst->more_data_ack = tmp53__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_qos_caps_station. */
@@ -4622,7 +4637,7 @@
tDot11fIEWAPI *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint16_t tmp53__;
+ uint16_t tmp54__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -4659,11 +4674,11 @@
DOT11F_MEMCPY(pCtx, pDst->multicast_cipher_suite, pBuf, 4);
pBuf += 4;
ielen -= (uint8_t)4;
- framesntohs(pCtx, &tmp53__, pBuf, 0);
+ framesntohs(pCtx, &tmp54__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->preauth = tmp53__ >> 0 & 0x1;
- pDst->reserved = tmp53__ >> 1 & 0x7fff;
+ pDst->preauth = tmp54__ >> 0 & 0x1;
+ pDst->reserved = tmp54__ >> 1 & 0x7fff;
if (!ielen) {
pDst->bkid_count = 0U;
return 0U;
@@ -4760,7 +4775,7 @@
tDot11fIEWMMCaps *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp54__;
+ uint8_t tmp55__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -4772,12 +4787,12 @@
pDst->present = 0;
return status | DOT11F_BAD_FIXED_VALUE;
}
- tmp54__ = *pBuf;
- pDst->reserved = tmp54__ >> 0 & 0xf;
- pDst->qack = tmp54__ >> 4 & 0x1;
- pDst->queue_request = tmp54__ >> 5 & 0x1;
- pDst->txop_request = tmp54__ >> 6 & 0x1;
- pDst->more_ack = tmp54__ >> 7 & 0x1;
+ tmp55__ = *pBuf;
+ pDst->reserved = tmp55__ >> 0 & 0xf;
+ pDst->qack = tmp55__ >> 4 & 0x1;
+ pDst->queue_request = tmp55__ >> 5 & 0x1;
+ pDst->txop_request = tmp55__ >> 6 & 0x1;
+ pDst->more_ack = tmp55__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_wmm_caps. */
@@ -4791,7 +4806,7 @@
tDot11fIEWMMInfoAp *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp55__;
+ uint8_t tmp56__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -4799,10 +4814,10 @@
pDst->version = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp55__ = *pBuf;
- pDst->param_set_count = tmp55__ >> 0 & 0xf;
- pDst->reserved = tmp55__ >> 4 & 0x7;
- pDst->uapsd = tmp55__ >> 7 & 0x1;
+ tmp56__ = *pBuf;
+ pDst->param_set_count = tmp56__ >> 0 & 0xf;
+ pDst->reserved = tmp56__ >> 4 & 0x7;
+ pDst->uapsd = tmp56__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_wmm_info_ap. */
@@ -4816,7 +4831,7 @@
tDot11fIEWMMInfoStation *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp56__;
+ uint8_t tmp57__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -4824,14 +4839,14 @@
pDst->version = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp56__ = *pBuf;
- pDst->acvo_uapsd = tmp56__ >> 0 & 0x1;
- pDst->acvi_uapsd = tmp56__ >> 1 & 0x1;
- pDst->acbk_uapsd = tmp56__ >> 2 & 0x1;
- pDst->acbe_uapsd = tmp56__ >> 3 & 0x1;
- pDst->reserved1 = tmp56__ >> 4 & 0x1;
- pDst->max_sp_length = tmp56__ >> 5 & 0x3;
- pDst->reserved2 = tmp56__ >> 7 & 0x1;
+ tmp57__ = *pBuf;
+ pDst->acvo_uapsd = tmp57__ >> 0 & 0x1;
+ pDst->acvi_uapsd = tmp57__ >> 1 & 0x1;
+ pDst->acbk_uapsd = tmp57__ >> 2 & 0x1;
+ pDst->acbe_uapsd = tmp57__ >> 3 & 0x1;
+ pDst->reserved1 = tmp57__ >> 4 & 0x1;
+ pDst->max_sp_length = tmp57__ >> 5 & 0x3;
+ pDst->reserved2 = tmp57__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_wmm_info_station. */
@@ -4845,7 +4860,6 @@
tDot11fIEWMMParams *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp57__;
uint8_t tmp58__;
uint8_t tmp59__;
uint8_t tmp60__;
@@ -4853,6 +4867,7 @@
uint8_t tmp62__;
uint8_t tmp63__;
uint8_t tmp64__;
+ uint8_t tmp65__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
@@ -4870,63 +4885,63 @@
pDst->reserved2 = *pBuf;
pBuf += 1;
ielen -= (uint8_t)1;
- tmp57__ = *pBuf;
- pBuf += 1;
- ielen -= 1;
- pDst->acbe_aifsn = tmp57__ >> 0 & 0xf;
- pDst->acbe_acm = tmp57__ >> 4 & 0x1;
- pDst->acbe_aci = tmp57__ >> 5 & 0x3;
- pDst->unused1 = tmp57__ >> 7 & 0x1;
tmp58__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbe_acwmin = tmp58__ >> 0 & 0xf;
- pDst->acbe_acwmax = tmp58__ >> 4 & 0xf;
- framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
- pBuf += 2;
- ielen -= (uint8_t)2;
+ pDst->acbe_aifsn = tmp58__ >> 0 & 0xf;
+ pDst->acbe_acm = tmp58__ >> 4 & 0x1;
+ pDst->acbe_aci = tmp58__ >> 5 & 0x3;
+ pDst->unused1 = tmp58__ >> 7 & 0x1;
tmp59__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_aifsn = tmp59__ >> 0 & 0xf;
- pDst->acbk_acm = tmp59__ >> 4 & 0x1;
- pDst->acbk_aci = tmp59__ >> 5 & 0x3;
- pDst->unused2 = tmp59__ >> 7 & 0x1;
+ pDst->acbe_acwmin = tmp59__ >> 0 & 0xf;
+ pDst->acbe_acwmax = tmp59__ >> 4 & 0xf;
+ framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
tmp60__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_acwmin = tmp60__ >> 0 & 0xf;
- pDst->acbk_acwmax = tmp60__ >> 4 & 0xf;
- framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
- pBuf += 2;
- ielen -= (uint8_t)2;
+ pDst->acbk_aifsn = tmp60__ >> 0 & 0xf;
+ pDst->acbk_acm = tmp60__ >> 4 & 0x1;
+ pDst->acbk_aci = tmp60__ >> 5 & 0x3;
+ pDst->unused2 = tmp60__ >> 7 & 0x1;
tmp61__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_aifsn = tmp61__ >> 0 & 0xf;
- pDst->acvi_acm = tmp61__ >> 4 & 0x1;
- pDst->acvi_aci = tmp61__ >> 5 & 0x3;
- pDst->unused3 = tmp61__ >> 7 & 0x1;
+ pDst->acbk_acwmin = tmp61__ >> 0 & 0xf;
+ pDst->acbk_acwmax = tmp61__ >> 4 & 0xf;
+ framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
tmp62__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_acwmin = tmp62__ >> 0 & 0xf;
- pDst->acvi_acwmax = tmp62__ >> 4 & 0xf;
- framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
- pBuf += 2;
- ielen -= (uint8_t)2;
+ pDst->acvi_aifsn = tmp62__ >> 0 & 0xf;
+ pDst->acvi_acm = tmp62__ >> 4 & 0x1;
+ pDst->acvi_aci = tmp62__ >> 5 & 0x3;
+ pDst->unused3 = tmp62__ >> 7 & 0x1;
tmp63__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_aifsn = tmp63__ >> 0 & 0xf;
- pDst->acvo_acm = tmp63__ >> 4 & 0x1;
- pDst->acvo_aci = tmp63__ >> 5 & 0x3;
- pDst->unused4 = tmp63__ >> 7 & 0x1;
+ pDst->acvi_acwmin = tmp63__ >> 0 & 0xf;
+ pDst->acvi_acwmax = tmp63__ >> 4 & 0xf;
+ framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+ pBuf += 2;
+ ielen -= (uint8_t)2;
tmp64__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_acwmin = tmp64__ >> 0 & 0xf;
- pDst->acvo_acwmax = tmp64__ >> 4 & 0xf;
+ pDst->acvo_aifsn = tmp64__ >> 0 & 0xf;
+ pDst->acvo_acm = tmp64__ >> 4 & 0x1;
+ pDst->acvo_aci = tmp64__ >> 5 & 0x3;
+ pDst->unused4 = tmp64__ >> 7 & 0x1;
+ tmp65__ = *pBuf;
+ pBuf += 1;
+ ielen -= 1;
+ pDst->acvo_acwmin = tmp65__ >> 0 & 0xf;
+ pDst->acvo_acwmax = tmp65__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
(void)pCtx;
return status;
@@ -5550,18 +5565,18 @@
tDot11fIEht2040_bss_coexistence *pDst)
{
uint32_t status = DOT11F_PARSE_SUCCESS;
- uint8_t tmp65__;
+ uint8_t tmp66__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present)
status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp65__ = *pBuf;
- pDst->info_request = tmp65__ >> 0 & 0x1;
- pDst->forty_mhz_intolerant = tmp65__ >> 1 & 0x1;
- pDst->twenty_mhz_bsswidth_req = tmp65__ >> 2 & 0x1;
- pDst->obss_scan_exemption_req = tmp65__ >> 3 & 0x1;
- pDst->obss_scan_exemption_grant = tmp65__ >> 4 & 0x1;
- pDst->unused = tmp65__ >> 5 & 0x7;
+ tmp66__ = *pBuf;
+ pDst->info_request = tmp66__ >> 0 & 0x1;
+ pDst->forty_mhz_intolerant = tmp66__ >> 1 & 0x1;
+ pDst->twenty_mhz_bsswidth_req = tmp66__ >> 2 & 0x1;
+ pDst->obss_scan_exemption_req = tmp66__ >> 3 & 0x1;
+ pDst->obss_scan_exemption_grant = tmp66__ >> 4 & 0x1;
+ pDst->unused = tmp66__ >> 5 & 0x7;
(void)pCtx;
return status;
} /* End dot11f_unpack_ie_ht2040_bss_coexistence. */
@@ -8391,6 +8406,36 @@
} /* End dot11f_unpack_wmm_del_ts. */
+static const tFFDefn FFS_ext_channel_switch_action_frame[] = {
+ { "Category", offsetof(tDot11fext_channel_switch_action_frame, Category),
+ SigFfCategory, DOT11F_FF_CATEGORY_LEN, },
+ { "Action", offsetof(tDot11fext_channel_switch_action_frame, Action),
+ SigFfAction, DOT11F_FF_ACTION_LEN, },
+ { "ext_chan_switch_ann_action",
+ offsetof(tDot11fext_channel_switch_action_frame,
+ ext_chan_switch_ann_action), SigFfext_chan_switch_ann_action,
+ DOT11F_FF_EXT_CHAN_SWITCH_ANN_ACTION_LEN, },
+ { NULL, 0, 0, 0,},
+};
+
+static const tIEDefn IES_ext_channel_switch_action_frame[] = {
+ {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
+
+uint32_t dot11f_unpack_ext_channel_switch_action_frame(tpAniSirGlobal pCtx,
+ uint8_t *pBuf, uint32_t nBuf,
+ tDot11fext_channel_switch_action_frame *pFrm)
+{
+ uint32_t i = 0;
+ uint32_t status = 0;
+ status = unpack_core(pCtx, pBuf, nBuf,
+ FFS_ext_channel_switch_action_frame, IES_ext_channel_switch_action_frame,
+ (uint8_t *)pFrm, sizeof(*pFrm));
+
+ (void)i;
+ return status;
+
+} /* End dot11f_unpack_ext_channel_switch_action_frame. */
+
static const tFFDefn FFS_ht2040_bss_coexistence_mgmt_action_frame[] = {
{ "Category", offsetof(tDot11fht2040_bss_coexistence_mgmt_action_frame,
Category), SigFfCategory, DOT11F_FF_CATEGORY_LEN, },
@@ -8625,6 +8670,11 @@
pBufRemaining, (tDot11fFfVhtUserPositionArray *)
(pFrm + pFf->offset));
break;
+ case SigFfext_chan_switch_ann_action:
+ dot11f_unpack_ff_ext_chan_switch_ann_action(pCtx,
+ pBufRemaining, (tDot11fFfext_chan_switch_ann_action *)
+ (pFrm + pFf->offset));
+ break;
default:
FRAMES_LOG1(pCtx, FRLOGE, FRFL("INTERNAL ERROR: I don'"
"t know about the FF signature %d-- this is most "
@@ -11374,6 +11424,16 @@
return status;
} /* End dot11f_get_packed_wmm_del_ts_size. */
+uint32_t dot11f_get_packed_ext_channel_switch_action_frame_size(tpAniSirGlobal pCtx,
+ tDot11fext_channel_switch_action_frame *pFrm, uint32_t *pnNeeded)
+{
+ uint32_t status = 0;
+ *pnNeeded = 6;
+ status = get_packed_size_core(pCtx, (uint8_t *)pFrm, pnNeeded,
+ IES_ext_channel_switch_action_frame);
+ return status;
+} /* End dot11f_get_packed_ext_channel_switch_action_frame_size. */
+
uint32_t dot11f_get_packed_ht2040_bss_coexistence_mgmt_action_frameSize(tpAniSirGlobal pCtx,
tDot11fht2040_bss_coexistence_mgmt_action_frame *pFrm, uint32_t *pnNeeded)
{
@@ -12625,25 +12685,25 @@
tDot11fFfCapabilities *pSrc,
uint8_t *pBuf)
{
- uint16_t tmp66__;
- tmp66__ = 0U;
- tmp66__ |= (pSrc->ess << 0);
- tmp66__ |= (pSrc->ibss << 1);
- tmp66__ |= (pSrc->cfPollable << 2);
- tmp66__ |= (pSrc->cfPollReq << 3);
- tmp66__ |= (pSrc->privacy << 4);
- tmp66__ |= (pSrc->shortPreamble << 5);
- tmp66__ |= (pSrc->pbcc << 6);
- tmp66__ |= (pSrc->channelAgility << 7);
- tmp66__ |= (pSrc->spectrumMgt << 8);
- tmp66__ |= (pSrc->qos << 9);
- tmp66__ |= (pSrc->shortSlotTime << 10);
- tmp66__ |= (pSrc->apsd << 11);
- tmp66__ |= (pSrc->rrm << 12);
- tmp66__ |= (pSrc->dsssOfdm << 13);
- tmp66__ |= (pSrc->delayedBA << 14);
- tmp66__ |= (pSrc->immediateBA << 15);
- frameshtons(pCtx, pBuf, tmp66__, 0);
+ uint16_t tmp67__;
+ tmp67__ = 0U;
+ tmp67__ |= (pSrc->ess << 0);
+ tmp67__ |= (pSrc->ibss << 1);
+ tmp67__ |= (pSrc->cfPollable << 2);
+ tmp67__ |= (pSrc->cfPollReq << 3);
+ tmp67__ |= (pSrc->privacy << 4);
+ tmp67__ |= (pSrc->shortPreamble << 5);
+ tmp67__ |= (pSrc->pbcc << 6);
+ tmp67__ |= (pSrc->channelAgility << 7);
+ tmp67__ |= (pSrc->spectrumMgt << 8);
+ tmp67__ |= (pSrc->qos << 9);
+ tmp67__ |= (pSrc->shortSlotTime << 10);
+ tmp67__ |= (pSrc->apsd << 11);
+ tmp67__ |= (pSrc->rrm << 12);
+ tmp67__ |= (pSrc->dsssOfdm << 13);
+ tmp67__ |= (pSrc->delayedBA << 14);
+ tmp67__ |= (pSrc->immediateBA << 15);
+ frameshtons(pCtx, pBuf, tmp67__, 0);
(void)pCtx;
} /* End dot11f_pack_ff_capabilities. */
@@ -12707,13 +12767,13 @@
tDot11fFfOperatingMode *pSrc,
uint8_t *pBuf)
{
- uint8_t tmp67__;
- tmp67__ = 0U;
- tmp67__ |= (pSrc->chanWidth << 0);
- tmp67__ |= (pSrc->reserved << 2);
- tmp67__ |= (pSrc->rxNSS << 4);
- tmp67__ |= (pSrc->rxNSSType << 7);
- *pBuf = tmp67__;
+ uint8_t tmp68__;
+ tmp68__ = 0U;
+ tmp68__ |= (pSrc->chanWidth << 0);
+ tmp68__ |= (pSrc->reserved << 2);
+ tmp68__ |= (pSrc->rxNSS << 4);
+ tmp68__ |= (pSrc->rxNSSType << 7);
+ *pBuf = tmp68__;
(void)pCtx;
} /* End dot11f_pack_ff_operating_mode. */
@@ -12753,12 +12813,12 @@
tDot11fFfSMPowerModeSet *pSrc,
uint8_t *pBuf)
{
- uint8_t tmp68__;
- tmp68__ = 0U;
- tmp68__ |= (pSrc->PowerSave_En << 0);
- tmp68__ |= (pSrc->Mode << 1);
- tmp68__ |= (pSrc->reserved << 2);
- *pBuf = tmp68__;
+ uint8_t tmp69__;
+ tmp69__ = 0U;
+ tmp69__ |= (pSrc->PowerSave_En << 0);
+ tmp69__ |= (pSrc->Mode << 1);
+ tmp69__ |= (pSrc->reserved << 2);
+ *pBuf = tmp69__;
(void)pCtx;
} /* End dot11f_pack_ff_sm_power_mode_set. */
@@ -12798,19 +12858,19 @@
tDot11fFfTSInfo *pSrc,
uint8_t *pBuf)
{
- uint32_t tmp69__;
- tmp69__ = 0U;
- tmp69__ |= (pSrc->traffic_type << 0);
- tmp69__ |= (pSrc->tsid << 1);
- tmp69__ |= (pSrc->direction << 5);
- tmp69__ |= (pSrc->access_policy << 7);
- tmp69__ |= (pSrc->aggregation << 9);
- tmp69__ |= (pSrc->psb << 10);
- tmp69__ |= (pSrc->user_priority << 11);
- tmp69__ |= (pSrc->tsinfo_ack_pol << 14);
- tmp69__ |= (pSrc->schedule << 16);
- tmp69__ |= (pSrc->unused << 17);
- frameshtonl(pCtx, pBuf, tmp69__, 0);
+ uint32_t tmp70__;
+ tmp70__ = 0U;
+ tmp70__ |= (pSrc->traffic_type << 0);
+ tmp70__ |= (pSrc->tsid << 1);
+ tmp70__ |= (pSrc->direction << 5);
+ tmp70__ |= (pSrc->access_policy << 7);
+ tmp70__ |= (pSrc->aggregation << 9);
+ tmp70__ |= (pSrc->psb << 10);
+ tmp70__ |= (pSrc->user_priority << 11);
+ tmp70__ |= (pSrc->tsinfo_ack_pol << 14);
+ tmp70__ |= (pSrc->schedule << 16);
+ tmp70__ |= (pSrc->unused << 17);
+ frameshtonl(pCtx, pBuf, tmp70__, 0);
(void)pCtx;
} /* End dot11f_pack_ff_ts_info. */
@@ -12862,6 +12922,20 @@
(void)pCtx;
} /* End dot11f_pack_ff_vht_user_position_array. */
+void dot11f_pack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx,
+ tDot11fFfext_chan_switch_ann_action *pSrc,
+ uint8_t *pBuf)
+{
+ uint32_t tmp71__;
+ tmp71__ = 0U;
+ tmp71__ |= (pSrc->switch_mode << 0);
+ tmp71__ |= (pSrc->op_class << 8);
+ tmp71__ |= (pSrc->new_channel << 16);
+ tmp71__ |= (pSrc->switch_count << 24);
+ frameshtonl(pCtx, pBuf, tmp71__, 0);
+ (void)pCtx;
+} /* End dot11f_pack_ff_ext_chan_switch_ann_action. */
+
uint32_t dot11f_pack_tlv_authorized_ma_cs(tpAniSirGlobal pCtx,
tDot11fTLVAuthorizedMACs *pSrc,
uint8_t *pBuf,
@@ -12929,7 +13003,7 @@
uint8_t *pTlvLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp70__;
+ uint8_t tmp72__;
nNeeded += 3;
if (nNeeded > nBuf)
return DOT11F_BUFFER_OVERFLOW;
@@ -12938,10 +13012,10 @@
pBuf += 1; *pnConsumed += 1;
pTlvLen = pBuf;
pBuf += 1; *pnConsumed += 1;
- tmp70__ = 0U;
- tmp70__ |= (pSrc->minor << 0);
- tmp70__ |= (pSrc->major << 4);
- *pBuf = tmp70__;
+ tmp72__ = 0U;
+ tmp72__ |= (pSrc->minor << 0);
+ tmp72__ |= (pSrc->major << 4);
+ *pBuf = tmp72__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -13898,7 +13972,7 @@
uint8_t *pTlvLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp71__;
+ uint8_t tmp73__;
nNeeded += 5;
if (nNeeded > nBuf)
return DOT11F_BUFFER_OVERFLOW;
@@ -13907,10 +13981,10 @@
pBuf += 2; *pnConsumed += 2;
pTlvLen = pBuf;
pBuf += 2; *pnConsumed += 2;
- tmp71__ = 0U;
- tmp71__ |= (pSrc->minor << 0);
- tmp71__ |= (pSrc->major << 4);
- *pBuf = tmp71__;
+ tmp73__ = 0U;
+ tmp73__ |= (pSrc->minor << 0);
+ tmp73__ |= (pSrc->major << 4);
+ *pBuf = tmp73__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -14048,7 +14122,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp72__;
+ uint16_t tmp74__;
nNeeded += (pSrc->num_key + 11);
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14057,10 +14131,10 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp72__ = 0U;
- tmp72__ |= (pSrc->keyId << 0);
- tmp72__ |= (pSrc->reserved << 2);
- frameshtons(pCtx, pBuf, tmp72__, 0);
+ tmp74__ = 0U;
+ tmp74__ |= (pSrc->keyId << 0);
+ tmp74__ |= (pSrc->reserved << 2);
+ frameshtons(pCtx, pBuf, tmp74__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -14472,11 +14546,11 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp73__;
- uint8_t tmp74__;
uint8_t tmp75__;
uint8_t tmp76__;
uint8_t tmp77__;
+ uint8_t tmp78__;
+ uint8_t tmp79__;
nNeeded += 5;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14485,60 +14559,60 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp73__ = 0U;
- tmp73__ |= (pSrc->LinkMeasurement << 0);
- tmp73__ |= (pSrc->NeighborRpt << 1);
- tmp73__ |= (pSrc->parallel << 2);
- tmp73__ |= (pSrc->repeated << 3);
- tmp73__ |= (pSrc->BeaconPassive << 4);
- tmp73__ |= (pSrc->BeaconActive << 5);
- tmp73__ |= (pSrc->BeaconTable << 6);
- tmp73__ |= (pSrc->BeaconRepCond << 7);
- *pBuf = tmp73__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
- tmp74__ = 0U;
- tmp74__ |= (pSrc->FrameMeasurement << 0);
- tmp74__ |= (pSrc->ChannelLoad << 1);
- tmp74__ |= (pSrc->NoiseHistogram << 2);
- tmp74__ |= (pSrc->statistics << 3);
- tmp74__ |= (pSrc->LCIMeasurement << 4);
- tmp74__ |= (pSrc->LCIAzimuth << 5);
- tmp74__ |= (pSrc->TCMCapability << 6);
- tmp74__ |= (pSrc->triggeredTCM << 7);
- *pBuf = tmp74__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
tmp75__ = 0U;
- tmp75__ |= (pSrc->APChanReport << 0);
- tmp75__ |= (pSrc->RRMMIBEnabled << 1);
- tmp75__ |= (pSrc->operatingChanMax << 2);
- tmp75__ |= (pSrc->nonOperatinChanMax << 5);
+ tmp75__ |= (pSrc->LinkMeasurement << 0);
+ tmp75__ |= (pSrc->NeighborRpt << 1);
+ tmp75__ |= (pSrc->parallel << 2);
+ tmp75__ |= (pSrc->repeated << 3);
+ tmp75__ |= (pSrc->BeaconPassive << 4);
+ tmp75__ |= (pSrc->BeaconActive << 5);
+ tmp75__ |= (pSrc->BeaconTable << 6);
+ tmp75__ |= (pSrc->BeaconRepCond << 7);
*pBuf = tmp75__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp76__ = 0U;
- tmp76__ |= (pSrc->MeasurementPilot << 0);
- tmp76__ |= (pSrc->MeasurementPilotEnabled << 3);
- tmp76__ |= (pSrc->NeighborTSFOffset << 4);
- tmp76__ |= (pSrc->RCPIMeasurement << 5);
- tmp76__ |= (pSrc->RSNIMeasurement << 6);
- tmp76__ |= (pSrc->BssAvgAccessDelay << 7);
+ tmp76__ |= (pSrc->FrameMeasurement << 0);
+ tmp76__ |= (pSrc->ChannelLoad << 1);
+ tmp76__ |= (pSrc->NoiseHistogram << 2);
+ tmp76__ |= (pSrc->statistics << 3);
+ tmp76__ |= (pSrc->LCIMeasurement << 4);
+ tmp76__ |= (pSrc->LCIAzimuth << 5);
+ tmp76__ |= (pSrc->TCMCapability << 6);
+ tmp76__ |= (pSrc->triggeredTCM << 7);
*pBuf = tmp76__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp77__ = 0U;
- tmp77__ |= (pSrc->BSSAvailAdmission << 0);
- tmp77__ |= (pSrc->AntennaInformation << 1);
- tmp77__ |= (pSrc->fine_time_meas_rpt << 2);
- tmp77__ |= (pSrc->lci_capability << 3);
- tmp77__ |= (pSrc->reserved << 4);
+ tmp77__ |= (pSrc->APChanReport << 0);
+ tmp77__ |= (pSrc->RRMMIBEnabled << 1);
+ tmp77__ |= (pSrc->operatingChanMax << 2);
+ tmp77__ |= (pSrc->nonOperatinChanMax << 5);
*pBuf = tmp77__;
*pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp78__ = 0U;
+ tmp78__ |= (pSrc->MeasurementPilot << 0);
+ tmp78__ |= (pSrc->MeasurementPilotEnabled << 3);
+ tmp78__ |= (pSrc->NeighborTSFOffset << 4);
+ tmp78__ |= (pSrc->RCPIMeasurement << 5);
+ tmp78__ |= (pSrc->RSNIMeasurement << 6);
+ tmp78__ |= (pSrc->BssAvgAccessDelay << 7);
+ *pBuf = tmp78__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp79__ = 0U;
+ tmp79__ |= (pSrc->BSSAvailAdmission << 0);
+ tmp79__ |= (pSrc->AntennaInformation << 1);
+ tmp79__ |= (pSrc->fine_time_meas_rpt << 2);
+ tmp79__ |= (pSrc->lci_capability << 3);
+ tmp79__ |= (pSrc->reserved << 4);
+ *pBuf = tmp79__;
+ *pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
break;
@@ -14617,7 +14691,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp78__;
+ uint16_t tmp80__;
nNeeded += 14;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14626,12 +14700,12 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp78__ = 0U;
- tmp78__ |= (pSrc->aggregation << 0);
- tmp78__ |= (pSrc->tsid << 1);
- tmp78__ |= (pSrc->direction << 5);
- tmp78__ |= (pSrc->reserved << 7);
- frameshtons(pCtx, pBuf, tmp78__, 0);
+ tmp80__ = 0U;
+ tmp80__ |= (pSrc->aggregation << 0);
+ tmp80__ |= (pSrc->tsid << 1);
+ tmp80__ |= (pSrc->direction << 5);
+ tmp80__ |= (pSrc->reserved << 7);
+ frameshtons(pCtx, pBuf, tmp80__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -14826,9 +14900,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp79__;
- uint8_t tmp80__;
uint16_t tmp81__;
+ uint8_t tmp82__;
+ uint16_t tmp83__;
nNeeded += 55;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14837,30 +14911,30 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp79__ = 0U;
- tmp79__ |= (pSrc->traffic_type << 0);
- tmp79__ |= (pSrc->tsid << 1);
- tmp79__ |= (pSrc->direction << 5);
- tmp79__ |= (pSrc->access_policy << 7);
- tmp79__ |= (pSrc->aggregation << 9);
- tmp79__ |= (pSrc->psb << 10);
- tmp79__ |= (pSrc->user_priority << 11);
- tmp79__ |= (pSrc->tsinfo_ack_pol << 14);
- frameshtons(pCtx, pBuf, tmp79__, 0);
+ tmp81__ = 0U;
+ tmp81__ |= (pSrc->traffic_type << 0);
+ tmp81__ |= (pSrc->tsid << 1);
+ tmp81__ |= (pSrc->direction << 5);
+ tmp81__ |= (pSrc->access_policy << 7);
+ tmp81__ |= (pSrc->aggregation << 9);
+ tmp81__ |= (pSrc->psb << 10);
+ tmp81__ |= (pSrc->user_priority << 11);
+ tmp81__ |= (pSrc->tsinfo_ack_pol << 14);
+ frameshtons(pCtx, pBuf, tmp81__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp80__ = 0U;
- tmp80__ |= (pSrc->schedule << 0);
- tmp80__ |= (pSrc->unused << 1);
- *pBuf = tmp80__;
+ tmp82__ = 0U;
+ tmp82__ |= (pSrc->schedule << 0);
+ tmp82__ |= (pSrc->unused << 1);
+ *pBuf = tmp82__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp81__ = 0U;
- tmp81__ |= (pSrc->size << 0);
- tmp81__ |= (pSrc->fixed << 15);
- frameshtons(pCtx, pBuf, tmp81__, 0);
+ tmp83__ = 0U;
+ tmp83__ |= (pSrc->size << 0);
+ tmp83__ |= (pSrc->fixed << 15);
+ frameshtons(pCtx, pBuf, tmp83__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -14924,9 +14998,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint32_t tmp82__;
- uint16_t tmp83__;
- uint16_t tmp84__;
+ uint32_t tmp84__;
+ uint16_t tmp85__;
+ uint16_t tmp86__;
nNeeded += 12;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -14935,48 +15009,48 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp82__ = 0U;
- tmp82__ |= (pSrc->maxMPDULen << 0);
- tmp82__ |= (pSrc->supportedChannelWidthSet << 2);
- tmp82__ |= (pSrc->ldpcCodingCap << 4);
- tmp82__ |= (pSrc->shortGI80MHz << 5);
- tmp82__ |= (pSrc->shortGI160and80plus80MHz << 6);
- tmp82__ |= (pSrc->txSTBC << 7);
- tmp82__ |= (pSrc->rxSTBC << 8);
- tmp82__ |= (pSrc->suBeamFormerCap << 11);
- tmp82__ |= (pSrc->suBeamformeeCap << 12);
- tmp82__ |= (pSrc->csnofBeamformerAntSup << 13);
- tmp82__ |= (pSrc->numSoundingDim << 16);
- tmp82__ |= (pSrc->muBeamformerCap << 19);
- tmp82__ |= (pSrc->muBeamformeeCap << 20);
- tmp82__ |= (pSrc->vhtTXOPPS << 21);
- tmp82__ |= (pSrc->htcVHTCap << 22);
- tmp82__ |= (pSrc->maxAMPDULenExp << 23);
- tmp82__ |= (pSrc->vhtLinkAdaptCap << 26);
- tmp82__ |= (pSrc->rxAntPattern << 28);
- tmp82__ |= (pSrc->txAntPattern << 29);
- tmp82__ |= (pSrc->reserved1 << 30);
- frameshtonl(pCtx, pBuf, tmp82__, 0);
+ tmp84__ = 0U;
+ tmp84__ |= (pSrc->maxMPDULen << 0);
+ tmp84__ |= (pSrc->supportedChannelWidthSet << 2);
+ tmp84__ |= (pSrc->ldpcCodingCap << 4);
+ tmp84__ |= (pSrc->shortGI80MHz << 5);
+ tmp84__ |= (pSrc->shortGI160and80plus80MHz << 6);
+ tmp84__ |= (pSrc->txSTBC << 7);
+ tmp84__ |= (pSrc->rxSTBC << 8);
+ tmp84__ |= (pSrc->suBeamFormerCap << 11);
+ tmp84__ |= (pSrc->suBeamformeeCap << 12);
+ tmp84__ |= (pSrc->csnofBeamformerAntSup << 13);
+ tmp84__ |= (pSrc->numSoundingDim << 16);
+ tmp84__ |= (pSrc->muBeamformerCap << 19);
+ tmp84__ |= (pSrc->muBeamformeeCap << 20);
+ tmp84__ |= (pSrc->vhtTXOPPS << 21);
+ tmp84__ |= (pSrc->htcVHTCap << 22);
+ tmp84__ |= (pSrc->maxAMPDULenExp << 23);
+ tmp84__ |= (pSrc->vhtLinkAdaptCap << 26);
+ tmp84__ |= (pSrc->rxAntPattern << 28);
+ tmp84__ |= (pSrc->txAntPattern << 29);
+ tmp84__ |= (pSrc->reserved1 << 30);
+ frameshtonl(pCtx, pBuf, tmp84__, 0);
*pnConsumed += 4;
pBuf += 4;
nBuf -= 4 ;
frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp83__ = 0U;
- tmp83__ |= (pSrc->rxHighSupDataRate << 0);
- tmp83__ |= (pSrc->reserved2 << 13);
- frameshtons(pCtx, pBuf, tmp83__, 0);
+ tmp85__ = 0U;
+ tmp85__ |= (pSrc->rxHighSupDataRate << 0);
+ tmp85__ |= (pSrc->reserved2 << 13);
+ frameshtons(pCtx, pBuf, tmp85__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp84__ = 0U;
- tmp84__ |= (pSrc->txSupDataRate << 0);
- tmp84__ |= (pSrc->reserved3 << 13);
- frameshtons(pCtx, pBuf, tmp84__, 0);
+ tmp86__ = 0U;
+ tmp86__ |= (pSrc->txSupDataRate << 0);
+ tmp86__ |= (pSrc->reserved3 << 13);
+ frameshtons(pCtx, pBuf, tmp86__, 0);
*pnConsumed += 2;
/* fieldsEndFlag = 1 */
nBuf -= 2 ;
@@ -15036,7 +15110,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp85__;
+ uint16_t tmp87__;
nNeeded += 15;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15058,12 +15132,12 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp85__ = 0U;
- tmp85__ |= (pSrc->aggregation << 0);
- tmp85__ |= (pSrc->tsid << 1);
- tmp85__ |= (pSrc->direction << 5);
- tmp85__ |= (pSrc->reserved << 7);
- frameshtons(pCtx, pBuf, tmp85__, 0);
+ tmp87__ = 0U;
+ tmp87__ |= (pSrc->aggregation << 0);
+ tmp87__ |= (pSrc->tsid << 1);
+ tmp87__ |= (pSrc->direction << 5);
+ tmp87__ |= (pSrc->reserved << 7);
+ frameshtons(pCtx, pBuf, tmp87__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -15297,9 +15371,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp86__;
- uint8_t tmp87__;
uint16_t tmp88__;
+ uint8_t tmp89__;
+ uint16_t tmp90__;
nNeeded += 38;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15321,30 +15395,30 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp86__ = 0U;
- tmp86__ |= (pSrc->traffic_type << 0);
- tmp86__ |= (pSrc->tsid << 1);
- tmp86__ |= (pSrc->direction << 5);
- tmp86__ |= (pSrc->access_policy << 7);
- tmp86__ |= (pSrc->aggregation << 9);
- tmp86__ |= (pSrc->psb << 10);
- tmp86__ |= (pSrc->user_priority << 11);
- tmp86__ |= (pSrc->tsinfo_ack_pol << 14);
- frameshtons(pCtx, pBuf, tmp86__, 0);
+ tmp88__ = 0U;
+ tmp88__ |= (pSrc->traffic_type << 0);
+ tmp88__ |= (pSrc->tsid << 1);
+ tmp88__ |= (pSrc->direction << 5);
+ tmp88__ |= (pSrc->access_policy << 7);
+ tmp88__ |= (pSrc->aggregation << 9);
+ tmp88__ |= (pSrc->psb << 10);
+ tmp88__ |= (pSrc->user_priority << 11);
+ tmp88__ |= (pSrc->tsinfo_ack_pol << 14);
+ frameshtons(pCtx, pBuf, tmp88__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp87__ = 0U;
- tmp87__ |= (pSrc->tsinfo_rsvd << 0);
- tmp87__ |= (pSrc->burst_size_defn << 7);
- *pBuf = tmp87__;
+ tmp89__ = 0U;
+ tmp89__ |= (pSrc->tsinfo_rsvd << 0);
+ tmp89__ |= (pSrc->burst_size_defn << 7);
+ *pBuf = tmp89__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp88__ = 0U;
- tmp88__ |= (pSrc->size << 0);
- tmp88__ |= (pSrc->fixed << 15);
- frameshtons(pCtx, pBuf, tmp88__, 0);
+ tmp90__ = 0U;
+ tmp90__ |= (pSrc->size << 0);
+ tmp90__ |= (pSrc->fixed << 15);
+ frameshtons(pCtx, pBuf, tmp90__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -15678,14 +15752,14 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp89__;
- uint8_t tmp90__;
uint8_t tmp91__;
uint8_t tmp92__;
uint8_t tmp93__;
uint8_t tmp94__;
uint8_t tmp95__;
uint8_t tmp96__;
+ uint8_t tmp97__;
+ uint8_t tmp98__;
nNeeded += 18;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15700,76 +15774,76 @@
*pBuf = pSrc->reserved;
*pnConsumed += 1;
pBuf += 1;
- tmp89__ = 0U;
- tmp89__ |= (pSrc->acbe_aifsn << 0);
- tmp89__ |= (pSrc->acbe_acm << 4);
- tmp89__ |= (pSrc->acbe_aci << 5);
- tmp89__ |= (pSrc->unused1 << 7);
- *pBuf = tmp89__;
+ tmp91__ = 0U;
+ tmp91__ |= (pSrc->acbe_aifsn << 0);
+ tmp91__ |= (pSrc->acbe_acm << 4);
+ tmp91__ |= (pSrc->acbe_aci << 5);
+ tmp91__ |= (pSrc->unused1 << 7);
+ *pBuf = tmp91__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp90__ = 0U;
- tmp90__ |= (pSrc->acbe_acwmin << 0);
- tmp90__ |= (pSrc->acbe_acwmax << 4);
- *pBuf = tmp90__;
+ tmp92__ = 0U;
+ tmp92__ |= (pSrc->acbe_acwmin << 0);
+ tmp92__ |= (pSrc->acbe_acwmax << 4);
+ *pBuf = tmp92__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp91__ = 0U;
- tmp91__ |= (pSrc->acbk_aifsn << 0);
- tmp91__ |= (pSrc->acbk_acm << 4);
- tmp91__ |= (pSrc->acbk_aci << 5);
- tmp91__ |= (pSrc->unused2 << 7);
- *pBuf = tmp91__;
+ tmp93__ = 0U;
+ tmp93__ |= (pSrc->acbk_aifsn << 0);
+ tmp93__ |= (pSrc->acbk_acm << 4);
+ tmp93__ |= (pSrc->acbk_aci << 5);
+ tmp93__ |= (pSrc->unused2 << 7);
+ *pBuf = tmp93__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp92__ = 0U;
- tmp92__ |= (pSrc->acbk_acwmin << 0);
- tmp92__ |= (pSrc->acbk_acwmax << 4);
- *pBuf = tmp92__;
+ tmp94__ = 0U;
+ tmp94__ |= (pSrc->acbk_acwmin << 0);
+ tmp94__ |= (pSrc->acbk_acwmax << 4);
+ *pBuf = tmp94__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp93__ = 0U;
- tmp93__ |= (pSrc->acvi_aifsn << 0);
- tmp93__ |= (pSrc->acvi_acm << 4);
- tmp93__ |= (pSrc->acvi_aci << 5);
- tmp93__ |= (pSrc->unused3 << 7);
- *pBuf = tmp93__;
+ tmp95__ = 0U;
+ tmp95__ |= (pSrc->acvi_aifsn << 0);
+ tmp95__ |= (pSrc->acvi_acm << 4);
+ tmp95__ |= (pSrc->acvi_aci << 5);
+ tmp95__ |= (pSrc->unused3 << 7);
+ *pBuf = tmp95__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp94__ = 0U;
- tmp94__ |= (pSrc->acvi_acwmin << 0);
- tmp94__ |= (pSrc->acvi_acwmax << 4);
- *pBuf = tmp94__;
+ tmp96__ = 0U;
+ tmp96__ |= (pSrc->acvi_acwmin << 0);
+ tmp96__ |= (pSrc->acvi_acwmax << 4);
+ *pBuf = tmp96__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp95__ = 0U;
- tmp95__ |= (pSrc->acvo_aifsn << 0);
- tmp95__ |= (pSrc->acvo_acm << 4);
- tmp95__ |= (pSrc->acvo_aci << 5);
- tmp95__ |= (pSrc->unused4 << 7);
- *pBuf = tmp95__;
+ tmp97__ = 0U;
+ tmp97__ |= (pSrc->acvo_aifsn << 0);
+ tmp97__ |= (pSrc->acvo_acm << 4);
+ tmp97__ |= (pSrc->acvo_aci << 5);
+ tmp97__ |= (pSrc->unused4 << 7);
+ *pBuf = tmp97__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp96__ = 0U;
- tmp96__ |= (pSrc->acvo_acwmin << 0);
- tmp96__ |= (pSrc->acvo_acwmax << 4);
- *pBuf = tmp96__;
+ tmp98__ = 0U;
+ tmp98__ |= (pSrc->acvo_acwmin << 0);
+ tmp98__ |= (pSrc->acvo_acwmax << 4);
+ *pBuf = tmp98__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -15794,7 +15868,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp97__;
+ uint8_t tmp99__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15803,12 +15877,12 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp97__ = 0U;
- tmp97__ |= (pSrc->non_erp_present << 0);
- tmp97__ |= (pSrc->use_prot << 1);
- tmp97__ |= (pSrc->barker_preamble << 2);
- tmp97__ |= (pSrc->unused << 3);
- *pBuf = tmp97__;
+ tmp99__ = 0U;
+ tmp99__ |= (pSrc->non_erp_present << 0);
+ tmp99__ |= (pSrc->use_prot << 1);
+ tmp99__ |= (pSrc->barker_preamble << 2);
+ tmp99__ |= (pSrc->unused << 3);
+ *pBuf = tmp99__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -15867,7 +15941,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp98__;
+ uint8_t tmp100__;
nNeeded += 2;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -15887,10 +15961,10 @@
*pBuf = pSrc->mgmt_state;
*pnConsumed += 1;
pBuf += 1;
- tmp98__ = 0U;
- tmp98__ |= (pSrc->mbssid_mask << 0);
- tmp98__ |= (pSrc->reserved << 3);
- *pBuf = tmp98__;
+ tmp100__ = 0U;
+ tmp100__ |= (pSrc->mbssid_mask << 0);
+ tmp100__ |= (pSrc->reserved << 3);
+ *pBuf = tmp100__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -16241,7 +16315,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp99__;
+ uint16_t tmp101__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ieft_info(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -16253,10 +16327,10 @@
++pBuf; --nBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; --nBuf; ++(*pnConsumed);
- tmp99__ = 0U;
- tmp99__ |= (pSrc->reserved << 0);
- tmp99__ |= (pSrc->IECount << 8);
- frameshtons(pCtx, pBuf, tmp99__, 0);
+ tmp101__ = 0U;
+ tmp101__ |= (pSrc->reserved << 0);
+ tmp101__ |= (pSrc->IECount << 8);
+ frameshtons(pCtx, pBuf, tmp101__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -16294,11 +16368,11 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp100__;
- uint8_t tmp101__;
uint16_t tmp102__;
- uint32_t tmp103__;
- uint8_t tmp104__;
+ uint8_t tmp103__;
+ uint16_t tmp104__;
+ uint32_t tmp105__;
+ uint8_t tmp106__;
nNeeded += (pSrc->num_rsvd + 26);
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16307,77 +16381,77 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp100__ = 0U;
- tmp100__ |= (pSrc->advCodingCap << 0);
- tmp100__ |= (pSrc->supportedChannelWidthSet << 1);
- tmp100__ |= (pSrc->mimoPowerSave << 2);
- tmp100__ |= (pSrc->greenField << 4);
- tmp100__ |= (pSrc->shortGI20MHz << 5);
- tmp100__ |= (pSrc->shortGI40MHz << 6);
- tmp100__ |= (pSrc->txSTBC << 7);
- tmp100__ |= (pSrc->rxSTBC << 8);
- tmp100__ |= (pSrc->delayedBA << 10);
- tmp100__ |= (pSrc->maximalAMSDUsize << 11);
- tmp100__ |= (pSrc->dsssCckMode40MHz << 12);
- tmp100__ |= (pSrc->psmp << 13);
- tmp100__ |= (pSrc->stbcControlFrame << 14);
- tmp100__ |= (pSrc->lsigTXOPProtection << 15);
- frameshtons(pCtx, pBuf, tmp100__, 0);
+ tmp102__ = 0U;
+ tmp102__ |= (pSrc->advCodingCap << 0);
+ tmp102__ |= (pSrc->supportedChannelWidthSet << 1);
+ tmp102__ |= (pSrc->mimoPowerSave << 2);
+ tmp102__ |= (pSrc->greenField << 4);
+ tmp102__ |= (pSrc->shortGI20MHz << 5);
+ tmp102__ |= (pSrc->shortGI40MHz << 6);
+ tmp102__ |= (pSrc->txSTBC << 7);
+ tmp102__ |= (pSrc->rxSTBC << 8);
+ tmp102__ |= (pSrc->delayedBA << 10);
+ tmp102__ |= (pSrc->maximalAMSDUsize << 11);
+ tmp102__ |= (pSrc->dsssCckMode40MHz << 12);
+ tmp102__ |= (pSrc->psmp << 13);
+ tmp102__ |= (pSrc->stbcControlFrame << 14);
+ tmp102__ |= (pSrc->lsigTXOPProtection << 15);
+ frameshtons(pCtx, pBuf, tmp102__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp101__ = 0U;
- tmp101__ |= (pSrc->maxRxAMPDUFactor << 0);
- tmp101__ |= (pSrc->mpduDensity << 2);
- tmp101__ |= (pSrc->reserved1 << 5);
- *pBuf = tmp101__;
+ tmp103__ = 0U;
+ tmp103__ |= (pSrc->maxRxAMPDUFactor << 0);
+ tmp103__ |= (pSrc->mpduDensity << 2);
+ tmp103__ |= (pSrc->reserved1 << 5);
+ *pBuf = tmp103__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16);
*pnConsumed += 16;
pBuf += 16;
- tmp102__ = 0U;
- tmp102__ |= (pSrc->pco << 0);
- tmp102__ |= (pSrc->transitionTime << 1);
- tmp102__ |= (pSrc->reserved2 << 3);
- tmp102__ |= (pSrc->mcsFeedback << 8);
- tmp102__ |= (pSrc->reserved3 << 10);
- frameshtons(pCtx, pBuf, tmp102__, 0);
+ tmp104__ = 0U;
+ tmp104__ |= (pSrc->pco << 0);
+ tmp104__ |= (pSrc->transitionTime << 1);
+ tmp104__ |= (pSrc->reserved2 << 3);
+ tmp104__ |= (pSrc->mcsFeedback << 8);
+ tmp104__ |= (pSrc->reserved3 << 10);
+ frameshtons(pCtx, pBuf, tmp104__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp103__ = 0U;
- tmp103__ |= (pSrc->txBF << 0);
- tmp103__ |= (pSrc->rxStaggeredSounding << 1);
- tmp103__ |= (pSrc->txStaggeredSounding << 2);
- tmp103__ |= (pSrc->rxZLF << 3);
- tmp103__ |= (pSrc->txZLF << 4);
- tmp103__ |= (pSrc->implicitTxBF << 5);
- tmp103__ |= (pSrc->calibration << 6);
- tmp103__ |= (pSrc->explicitCSITxBF << 8);
- tmp103__ |= (pSrc->explicitUncompressedSteeringMatrix << 9);
- tmp103__ |= (pSrc->explicitBFCSIFeedback << 10);
- tmp103__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13);
- tmp103__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16);
- tmp103__ |= (pSrc->csiNumBFAntennae << 19);
- tmp103__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21);
- tmp103__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23);
- tmp103__ |= (pSrc->reserved4 << 25);
- frameshtonl(pCtx, pBuf, tmp103__, 0);
+ tmp105__ = 0U;
+ tmp105__ |= (pSrc->txBF << 0);
+ tmp105__ |= (pSrc->rxStaggeredSounding << 1);
+ tmp105__ |= (pSrc->txStaggeredSounding << 2);
+ tmp105__ |= (pSrc->rxZLF << 3);
+ tmp105__ |= (pSrc->txZLF << 4);
+ tmp105__ |= (pSrc->implicitTxBF << 5);
+ tmp105__ |= (pSrc->calibration << 6);
+ tmp105__ |= (pSrc->explicitCSITxBF << 8);
+ tmp105__ |= (pSrc->explicitUncompressedSteeringMatrix << 9);
+ tmp105__ |= (pSrc->explicitBFCSIFeedback << 10);
+ tmp105__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13);
+ tmp105__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16);
+ tmp105__ |= (pSrc->csiNumBFAntennae << 19);
+ tmp105__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21);
+ tmp105__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23);
+ tmp105__ |= (pSrc->reserved4 << 25);
+ frameshtonl(pCtx, pBuf, tmp105__, 0);
*pnConsumed += 4;
pBuf += 4;
nBuf -= 4 ;
- tmp104__ = 0U;
- tmp104__ |= (pSrc->antennaSelection << 0);
- tmp104__ |= (pSrc->explicitCSIFeedbackTx << 1);
- tmp104__ |= (pSrc->antennaIndicesFeedbackTx << 2);
- tmp104__ |= (pSrc->explicitCSIFeedback << 3);
- tmp104__ |= (pSrc->antennaIndicesFeedback << 4);
- tmp104__ |= (pSrc->rxAS << 5);
- tmp104__ |= (pSrc->txSoundingPPDUs << 6);
- tmp104__ |= (pSrc->reserved5 << 7);
- *pBuf = tmp104__;
+ tmp106__ = 0U;
+ tmp106__ |= (pSrc->antennaSelection << 0);
+ tmp106__ |= (pSrc->explicitCSIFeedbackTx << 1);
+ tmp106__ |= (pSrc->antennaIndicesFeedbackTx << 2);
+ tmp106__ |= (pSrc->explicitCSIFeedback << 3);
+ tmp106__ |= (pSrc->antennaIndicesFeedback << 4);
+ tmp106__ |= (pSrc->rxAS << 5);
+ tmp106__ |= (pSrc->txSoundingPPDUs << 6);
+ tmp106__ |= (pSrc->reserved5 << 7);
+ *pBuf = tmp106__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16402,9 +16476,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp105__;
- uint16_t tmp106__;
- uint16_t tmp107__;
+ uint8_t tmp107__;
+ uint16_t tmp108__;
+ uint16_t tmp109__;
nNeeded += (pSrc->num_rsvd + 22);
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16416,35 +16490,35 @@
*pBuf = pSrc->primaryChannel;
*pnConsumed += 1;
pBuf += 1;
- tmp105__ = 0U;
- tmp105__ |= (pSrc->secondaryChannelOffset << 0);
- tmp105__ |= (pSrc->recommendedTxWidthSet << 2);
- tmp105__ |= (pSrc->rifsMode << 3);
- tmp105__ |= (pSrc->controlledAccessOnly << 4);
- tmp105__ |= (pSrc->serviceIntervalGranularity << 5);
- *pBuf = tmp105__;
+ tmp107__ = 0U;
+ tmp107__ |= (pSrc->secondaryChannelOffset << 0);
+ tmp107__ |= (pSrc->recommendedTxWidthSet << 2);
+ tmp107__ |= (pSrc->rifsMode << 3);
+ tmp107__ |= (pSrc->controlledAccessOnly << 4);
+ tmp107__ |= (pSrc->serviceIntervalGranularity << 5);
+ *pBuf = tmp107__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp106__ = 0U;
- tmp106__ |= (pSrc->opMode << 0);
- tmp106__ |= (pSrc->nonGFDevicesPresent << 2);
- tmp106__ |= (pSrc->transmitBurstLimit << 3);
- tmp106__ |= (pSrc->obssNonHTStaPresent << 4);
- tmp106__ |= (pSrc->reserved << 5);
- frameshtons(pCtx, pBuf, tmp106__, 0);
+ tmp108__ = 0U;
+ tmp108__ |= (pSrc->opMode << 0);
+ tmp108__ |= (pSrc->nonGFDevicesPresent << 2);
+ tmp108__ |= (pSrc->transmitBurstLimit << 3);
+ tmp108__ |= (pSrc->obssNonHTStaPresent << 4);
+ tmp108__ |= (pSrc->reserved << 5);
+ frameshtons(pCtx, pBuf, tmp108__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp107__ = 0U;
- tmp107__ |= (pSrc->basicSTBCMCS << 0);
- tmp107__ |= (pSrc->dualCTSProtection << 7);
- tmp107__ |= (pSrc->secondaryBeacon << 8);
- tmp107__ |= (pSrc->lsigTXOPProtectionFullSupport << 9);
- tmp107__ |= (pSrc->pcoActive << 10);
- tmp107__ |= (pSrc->pcoPhase << 11);
- tmp107__ |= (pSrc->reserved2 << 12);
- frameshtons(pCtx, pBuf, tmp107__, 0);
+ tmp109__ = 0U;
+ tmp109__ |= (pSrc->basicSTBCMCS << 0);
+ tmp109__ |= (pSrc->dualCTSProtection << 7);
+ tmp109__ |= (pSrc->secondaryBeacon << 8);
+ tmp109__ |= (pSrc->lsigTXOPProtectionFullSupport << 9);
+ tmp109__ |= (pSrc->pcoActive << 10);
+ tmp109__ |= (pSrc->pcoPhase << 11);
+ tmp109__ |= (pSrc->reserved2 << 12);
+ frameshtons(pCtx, pBuf, tmp109__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -16536,9 +16610,9 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp108__;
- uint8_t tmp109__;
uint8_t tmp110__;
+ uint8_t tmp111__;
+ uint8_t tmp112__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_measurement_report(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -16553,12 +16627,12 @@
*pBuf = pSrc->token;
*pnConsumed += 1;
pBuf += 1;
- tmp108__ = 0U;
- tmp108__ |= (pSrc->late << 0);
- tmp108__ |= (pSrc->incapable << 1);
- tmp108__ |= (pSrc->refused << 2);
- tmp108__ |= (pSrc->unused << 3);
- *pBuf = tmp108__;
+ tmp110__ = 0U;
+ tmp110__ |= (pSrc->late << 0);
+ tmp110__ |= (pSrc->incapable << 1);
+ tmp110__ |= (pSrc->refused << 2);
+ tmp110__ |= (pSrc->unused << 3);
+ *pBuf = tmp110__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16577,14 +16651,14 @@
frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp109__ = 0U;
- tmp109__ |= (pSrc->report.Basic.bss << 0);
- tmp109__ |= (pSrc->report.Basic.ofdm_preamble << 1);
- tmp109__ |= (pSrc->report.Basic.unid_signal << 2);
- tmp109__ |= (pSrc->report.Basic.rader << 3);
- tmp109__ |= (pSrc->report.Basic.unmeasured << 4);
- tmp109__ |= (pSrc->report.Basic.unused << 5);
- *pBuf = tmp109__;
+ tmp111__ = 0U;
+ tmp111__ |= (pSrc->report.Basic.bss << 0);
+ tmp111__ |= (pSrc->report.Basic.ofdm_preamble << 1);
+ tmp111__ |= (pSrc->report.Basic.unid_signal << 2);
+ tmp111__ |= (pSrc->report.Basic.rader << 3);
+ tmp111__ |= (pSrc->report.Basic.unmeasured << 4);
+ tmp111__ |= (pSrc->report.Basic.unused << 5);
+ *pBuf = tmp111__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -16651,10 +16725,10 @@
frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp110__ = 0U;
- tmp110__ |= (pSrc->report.Beacon.condensed_PHY << 0);
- tmp110__ |= (pSrc->report.Beacon.reported_frame_type << 7);
- *pBuf = tmp110__;
+ tmp112__ = 0U;
+ tmp112__ |= (pSrc->report.Beacon.condensed_PHY << 0);
+ tmp112__ |= (pSrc->report.Beacon.reported_frame_type << 7);
+ *pBuf = tmp112__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16703,7 +16777,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp111__;
+ uint8_t tmp113__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_measurement_request(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -16718,14 +16792,14 @@
*pBuf = pSrc->measurement_token;
*pnConsumed += 1;
pBuf += 1;
- tmp111__ = 0U;
- tmp111__ |= (pSrc->parallel << 0);
- tmp111__ |= (pSrc->enable << 1);
- tmp111__ |= (pSrc->request << 2);
- tmp111__ |= (pSrc->report << 3);
- tmp111__ |= (pSrc->durationMandatory << 4);
- tmp111__ |= (pSrc->unused << 5);
- *pBuf = tmp111__;
+ tmp113__ = 0U;
+ tmp113__ |= (pSrc->parallel << 0);
+ tmp113__ |= (pSrc->enable << 1);
+ tmp113__ |= (pSrc->request << 2);
+ tmp113__ |= (pSrc->report << 3);
+ tmp113__ |= (pSrc->durationMandatory << 4);
+ tmp113__ |= (pSrc->unused << 5);
+ *pBuf = tmp113__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16812,7 +16886,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp112__;
+ uint8_t tmp114__;
nNeeded += 3;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16824,11 +16898,11 @@
frameshtons(pCtx, pBuf, pSrc->MDID, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp112__ = 0U;
- tmp112__ |= (pSrc->overDSCap << 0);
- tmp112__ |= (pSrc->resourceReqCap << 1);
- tmp112__ |= (pSrc->reserved << 2);
- *pBuf = tmp112__;
+ tmp114__ = 0U;
+ tmp114__ |= (pSrc->overDSCap << 0);
+ tmp114__ |= (pSrc->resourceReqCap << 1);
+ tmp114__ |= (pSrc->reserved << 2);
+ *pBuf = tmp114__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -16850,8 +16924,8 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp113__;
- uint8_t tmp114__;
+ uint8_t tmp115__;
+ uint8_t tmp116__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_neighbor_report(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -16866,24 +16940,24 @@
DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
*pnConsumed += 6;
pBuf += 6;
- tmp113__ = 0U;
- tmp113__ |= (pSrc->APReachability << 0);
- tmp113__ |= (pSrc->Security << 2);
- tmp113__ |= (pSrc->KeyScope << 3);
- tmp113__ |= (pSrc->SpecMgmtCap << 4);
- tmp113__ |= (pSrc->QosCap << 5);
- tmp113__ |= (pSrc->apsd << 6);
- tmp113__ |= (pSrc->rrm << 7);
- *pBuf = tmp113__;
+ tmp115__ = 0U;
+ tmp115__ |= (pSrc->APReachability << 0);
+ tmp115__ |= (pSrc->Security << 2);
+ tmp115__ |= (pSrc->KeyScope << 3);
+ tmp115__ |= (pSrc->SpecMgmtCap << 4);
+ tmp115__ |= (pSrc->QosCap << 5);
+ tmp115__ |= (pSrc->apsd << 6);
+ tmp115__ |= (pSrc->rrm << 7);
+ *pBuf = tmp115__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp114__ = 0U;
- tmp114__ |= (pSrc->DelayedBA << 0);
- tmp114__ |= (pSrc->ImmBA << 1);
- tmp114__ |= (pSrc->MobilityDomain << 2);
- tmp114__ |= (pSrc->reserved << 3);
- *pBuf = tmp114__;
+ tmp116__ = 0U;
+ tmp116__ |= (pSrc->DelayedBA << 0);
+ tmp116__ |= (pSrc->ImmBA << 1);
+ tmp116__ |= (pSrc->MobilityDomain << 2);
+ tmp116__ |= (pSrc->reserved << 3);
+ *pBuf = tmp116__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -16971,7 +17045,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp115__;
+ uint8_t tmp117__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -16980,12 +17054,12 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp115__ = 0U;
- tmp115__ |= (pSrc->chanWidth << 0);
- tmp115__ |= (pSrc->reserved << 2);
- tmp115__ |= (pSrc->rxNSS << 4);
- tmp115__ |= (pSrc->rxNSSType << 7);
- *pBuf = tmp115__;
+ tmp117__ = 0U;
+ tmp117__ |= (pSrc->chanWidth << 0);
+ tmp117__ |= (pSrc->reserved << 2);
+ tmp117__ |= (pSrc->rxNSS << 4);
+ tmp117__ |= (pSrc->rxNSSType << 7);
+ *pBuf = tmp117__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -17460,7 +17534,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp116__;
+ uint8_t tmp118__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -17469,13 +17543,13 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp116__ = 0U;
- tmp116__ |= (pSrc->ac_bk_traffic_aval << 0);
- tmp116__ |= (pSrc->ac_be_traffic_aval << 1);
- tmp116__ |= (pSrc->ac_vi_traffic_aval << 2);
- tmp116__ |= (pSrc->ac_vo_traffic_aval << 3);
- tmp116__ |= (pSrc->reserved << 4);
- *pBuf = tmp116__;
+ tmp118__ = 0U;
+ tmp118__ |= (pSrc->ac_bk_traffic_aval << 0);
+ tmp118__ |= (pSrc->ac_be_traffic_aval << 1);
+ tmp118__ |= (pSrc->ac_vi_traffic_aval << 2);
+ tmp118__ |= (pSrc->ac_vo_traffic_aval << 3);
+ tmp118__ |= (pSrc->reserved << 4);
+ *pBuf = tmp118__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -17631,7 +17705,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp117__;
+ uint8_t tmp119__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -17640,13 +17714,13 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp117__ = 0U;
- tmp117__ |= (pSrc->count << 0);
- tmp117__ |= (pSrc->qack << 4);
- tmp117__ |= (pSrc->qreq << 5);
- tmp117__ |= (pSrc->txopreq << 6);
- tmp117__ |= (pSrc->reserved << 7);
- *pBuf = tmp117__;
+ tmp119__ = 0U;
+ tmp119__ |= (pSrc->count << 0);
+ tmp119__ |= (pSrc->qack << 4);
+ tmp119__ |= (pSrc->qreq << 5);
+ tmp119__ |= (pSrc->txopreq << 6);
+ tmp119__ |= (pSrc->reserved << 7);
+ *pBuf = tmp119__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -17668,7 +17742,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp118__;
+ uint8_t tmp120__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -17677,15 +17751,15 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp118__ = 0U;
- tmp118__ |= (pSrc->acvo_uapsd << 0);
- tmp118__ |= (pSrc->acvi_uapsd << 1);
- tmp118__ |= (pSrc->acbk_uapsd << 2);
- tmp118__ |= (pSrc->acbe_uapsd << 3);
- tmp118__ |= (pSrc->qack << 4);
- tmp118__ |= (pSrc->max_sp_length << 5);
- tmp118__ |= (pSrc->more_data_ack << 7);
- *pBuf = tmp118__;
+ tmp120__ = 0U;
+ tmp120__ |= (pSrc->acvo_uapsd << 0);
+ tmp120__ |= (pSrc->acvi_uapsd << 1);
+ tmp120__ |= (pSrc->acbk_uapsd << 2);
+ tmp120__ |= (pSrc->acbe_uapsd << 3);
+ tmp120__ |= (pSrc->qack << 4);
+ tmp120__ |= (pSrc->max_sp_length << 5);
+ tmp120__ |= (pSrc->more_data_ack << 7);
+ *pBuf = tmp120__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18322,7 +18396,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint16_t tmp119__;
+ uint16_t tmp121__;
uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_iewapi(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status))
@@ -18352,10 +18426,10 @@
DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4);
*pnConsumed += 4;
pBuf += 4;
- tmp119__ = 0U;
- tmp119__ |= (pSrc->preauth << 0);
- tmp119__ |= (pSrc->reserved << 1);
- frameshtons(pCtx, pBuf, tmp119__, 0);
+ tmp121__ = 0U;
+ tmp121__ |= (pSrc->preauth << 0);
+ tmp121__ |= (pSrc->reserved << 1);
+ frameshtons(pCtx, pBuf, tmp121__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -18495,7 +18569,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp120__;
+ uint8_t tmp122__;
nNeeded += 2;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18517,13 +18591,13 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp120__ = 0U;
- tmp120__ |= (pSrc->reserved << 0);
- tmp120__ |= (pSrc->qack << 4);
- tmp120__ |= (pSrc->queue_request << 5);
- tmp120__ |= (pSrc->txop_request << 6);
- tmp120__ |= (pSrc->more_ack << 7);
- *pBuf = tmp120__;
+ tmp122__ = 0U;
+ tmp122__ |= (pSrc->reserved << 0);
+ tmp122__ |= (pSrc->qack << 4);
+ tmp122__ |= (pSrc->queue_request << 5);
+ tmp122__ |= (pSrc->txop_request << 6);
+ tmp122__ |= (pSrc->more_ack << 7);
+ *pBuf = tmp122__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18545,7 +18619,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp121__;
+ uint8_t tmp123__;
nNeeded += 2;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18567,11 +18641,11 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp121__ = 0U;
- tmp121__ |= (pSrc->param_set_count << 0);
- tmp121__ |= (pSrc->reserved << 4);
- tmp121__ |= (pSrc->uapsd << 7);
- *pBuf = tmp121__;
+ tmp123__ = 0U;
+ tmp123__ |= (pSrc->param_set_count << 0);
+ tmp123__ |= (pSrc->reserved << 4);
+ tmp123__ |= (pSrc->uapsd << 7);
+ *pBuf = tmp123__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18593,7 +18667,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp122__;
+ uint8_t tmp124__;
nNeeded += 2;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18615,15 +18689,15 @@
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp122__ = 0U;
- tmp122__ |= (pSrc->acvo_uapsd << 0);
- tmp122__ |= (pSrc->acvi_uapsd << 1);
- tmp122__ |= (pSrc->acbk_uapsd << 2);
- tmp122__ |= (pSrc->acbe_uapsd << 3);
- tmp122__ |= (pSrc->reserved1 << 4);
- tmp122__ |= (pSrc->max_sp_length << 5);
- tmp122__ |= (pSrc->reserved2 << 7);
- *pBuf = tmp122__;
+ tmp124__ = 0U;
+ tmp124__ |= (pSrc->acvo_uapsd << 0);
+ tmp124__ |= (pSrc->acvi_uapsd << 1);
+ tmp124__ |= (pSrc->acbk_uapsd << 2);
+ tmp124__ |= (pSrc->acbe_uapsd << 3);
+ tmp124__ |= (pSrc->reserved1 << 4);
+ tmp124__ |= (pSrc->max_sp_length << 5);
+ tmp124__ |= (pSrc->reserved2 << 7);
+ *pBuf = tmp124__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -18645,14 +18719,14 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp123__;
- uint8_t tmp124__;
uint8_t tmp125__;
uint8_t tmp126__;
uint8_t tmp127__;
uint8_t tmp128__;
uint8_t tmp129__;
uint8_t tmp130__;
+ uint8_t tmp131__;
+ uint8_t tmp132__;
nNeeded += 19;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -18680,76 +18754,76 @@
*pBuf = pSrc->reserved2;
*pnConsumed += 1;
pBuf += 1;
- tmp123__ = 0U;
- tmp123__ |= (pSrc->acbe_aifsn << 0);
- tmp123__ |= (pSrc->acbe_acm << 4);
- tmp123__ |= (pSrc->acbe_aci << 5);
- tmp123__ |= (pSrc->unused1 << 7);
- *pBuf = tmp123__;
+ tmp125__ = 0U;
+ tmp125__ |= (pSrc->acbe_aifsn << 0);
+ tmp125__ |= (pSrc->acbe_acm << 4);
+ tmp125__ |= (pSrc->acbe_aci << 5);
+ tmp125__ |= (pSrc->unused1 << 7);
+ *pBuf = tmp125__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp124__ = 0U;
- tmp124__ |= (pSrc->acbe_acwmin << 0);
- tmp124__ |= (pSrc->acbe_acwmax << 4);
- *pBuf = tmp124__;
+ tmp126__ = 0U;
+ tmp126__ |= (pSrc->acbe_acwmin << 0);
+ tmp126__ |= (pSrc->acbe_acwmax << 4);
+ *pBuf = tmp126__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp125__ = 0U;
- tmp125__ |= (pSrc->acbk_aifsn << 0);
- tmp125__ |= (pSrc->acbk_acm << 4);
- tmp125__ |= (pSrc->acbk_aci << 5);
- tmp125__ |= (pSrc->unused2 << 7);
- *pBuf = tmp125__;
+ tmp127__ = 0U;
+ tmp127__ |= (pSrc->acbk_aifsn << 0);
+ tmp127__ |= (pSrc->acbk_acm << 4);
+ tmp127__ |= (pSrc->acbk_aci << 5);
+ tmp127__ |= (pSrc->unused2 << 7);
+ *pBuf = tmp127__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp126__ = 0U;
- tmp126__ |= (pSrc->acbk_acwmin << 0);
- tmp126__ |= (pSrc->acbk_acwmax << 4);
- *pBuf = tmp126__;
+ tmp128__ = 0U;
+ tmp128__ |= (pSrc->acbk_acwmin << 0);
+ tmp128__ |= (pSrc->acbk_acwmax << 4);
+ *pBuf = tmp128__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp127__ = 0U;
- tmp127__ |= (pSrc->acvi_aifsn << 0);
- tmp127__ |= (pSrc->acvi_acm << 4);
- tmp127__ |= (pSrc->acvi_aci << 5);
- tmp127__ |= (pSrc->unused3 << 7);
- *pBuf = tmp127__;
+ tmp129__ = 0U;
+ tmp129__ |= (pSrc->acvi_aifsn << 0);
+ tmp129__ |= (pSrc->acvi_acm << 4);
+ tmp129__ |= (pSrc->acvi_aci << 5);
+ tmp129__ |= (pSrc->unused3 << 7);
+ *pBuf = tmp129__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp128__ = 0U;
- tmp128__ |= (pSrc->acvi_acwmin << 0);
- tmp128__ |= (pSrc->acvi_acwmax << 4);
- *pBuf = tmp128__;
+ tmp130__ = 0U;
+ tmp130__ |= (pSrc->acvi_acwmin << 0);
+ tmp130__ |= (pSrc->acvi_acwmax << 4);
+ *pBuf = tmp130__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp129__ = 0U;
- tmp129__ |= (pSrc->acvo_aifsn << 0);
- tmp129__ |= (pSrc->acvo_acm << 4);
- tmp129__ |= (pSrc->acvo_aci << 5);
- tmp129__ |= (pSrc->unused4 << 7);
- *pBuf = tmp129__;
+ tmp131__ = 0U;
+ tmp131__ |= (pSrc->acvo_aifsn << 0);
+ tmp131__ |= (pSrc->acvo_acm << 4);
+ tmp131__ |= (pSrc->acvo_aci << 5);
+ tmp131__ |= (pSrc->unused4 << 7);
+ *pBuf = tmp131__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp130__ = 0U;
- tmp130__ |= (pSrc->acvo_acwmin << 0);
- tmp130__ |= (pSrc->acvo_acwmax << 4);
- *pBuf = tmp130__;
+ tmp132__ = 0U;
+ tmp132__ |= (pSrc->acvo_acwmin << 0);
+ tmp132__ |= (pSrc->acvo_acwmax << 4);
+ *pBuf = tmp132__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -19344,7 +19418,7 @@
uint8_t *pIeLen = 0;
uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U;
- uint8_t tmp131__;
+ uint8_t tmp133__;
nNeeded += 1;
while (pSrc->present) {
if (nNeeded > nBuf)
@@ -19353,14 +19427,14 @@
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp131__ = 0U;
- tmp131__ |= (pSrc->info_request << 0);
- tmp131__ |= (pSrc->forty_mhz_intolerant << 1);
- tmp131__ |= (pSrc->twenty_mhz_bsswidth_req << 2);
- tmp131__ |= (pSrc->obss_scan_exemption_req << 3);
- tmp131__ |= (pSrc->obss_scan_exemption_grant << 4);
- tmp131__ |= (pSrc->unused << 5);
- *pBuf = tmp131__;
+ tmp133__ = 0U;
+ tmp133__ |= (pSrc->info_request << 0);
+ tmp133__ |= (pSrc->forty_mhz_intolerant << 1);
+ tmp133__ |= (pSrc->twenty_mhz_bsswidth_req << 2);
+ tmp133__ |= (pSrc->obss_scan_exemption_req << 3);
+ tmp133__ |= (pSrc->obss_scan_exemption_grant << 4);
+ tmp133__ |= (pSrc->unused << 5);
+ *pBuf = tmp133__;
*pnConsumed += 1;
/* fieldsEndFlag = 1 */
nBuf -= 1 ;
@@ -20157,6 +20231,21 @@
} /* End dot11f_unpack_wmm_del_ts. */
+uint32_t dot11f_pack_ext_channel_switch_action_frame(tpAniSirGlobal pCtx,
+ tDot11fext_channel_switch_action_frame *pFrm,
+ uint8_t *pBuf, uint32_t nBuf, uint32_t *pnConsumed)
+{
+ uint32_t i = 0;
+ uint32_t status = 0;
+ (void)i;
+ *pnConsumed = 0U;
+ status = pack_core(pCtx, (uint8_t *)pFrm, pBuf, nBuf, pnConsumed,
+ FFS_ext_channel_switch_action_frame, IES_ext_channel_switch_action_frame);
+
+ return status;
+
+} /* End dot11f_unpack_ext_channel_switch_action_frame. */
+
uint32_t dot11f_pack_ht2040_bss_coexistence_mgmt_action_frame(tpAniSirGlobal pCtx,
tDot11fht2040_bss_coexistence_mgmt_action_frame *pFrm,
uint8_t *pBuf, uint32_t nBuf, uint32_t *pnConsumed)
@@ -20357,6 +20446,11 @@
pCtx, (tDot11fFfVhtUserPositionArray *)
(pSrc + pFf->offset), pBufRemaining);
break;
+ case SigFfext_chan_switch_ann_action:
+ dot11f_pack_ff_ext_chan_switch_ann_action(
+ pCtx, (tDot11fFfext_chan_switch_ann_action *)
+ (pSrc + pFf->offset), pBufRemaining);
+ break;
default:
FRAMES_LOG1(pCtx, FRLOGE, FRFL("INTERNAL ERROR-- I don"
"'t know about the Fixed Field %d; this is most l"