|
@@ -33,7 +33,7 @@
|
|
|
*
|
|
|
*
|
|
|
* This file was automatically generated by 'framesc'
|
|
|
- * Thu Oct 6 17:32:00 2016 from the following file(s):
|
|
|
+ * Thu Nov 3 15:54:51 2016 from the following file(s):
|
|
|
*
|
|
|
* dot11f.frms
|
|
|
*
|
|
@@ -782,6 +782,26 @@ void dot11f_unpack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx,
|
|
|
|
|
|
#define SigFfext_chan_switch_ann_action (0x001f)
|
|
|
|
|
|
+void dot11f_unpack_ff_p2p_action_oui(tpAniSirGlobal pCtx,
|
|
|
+ uint8_t *pBuf,
|
|
|
+ tDot11fFfp2p_action_oui *pDst)
|
|
|
+{
|
|
|
+ DOT11F_MEMCPY(pCtx, pDst->oui_data, pBuf, 4);
|
|
|
+ (void)pCtx;
|
|
|
+} /* End dot11f_unpack_ff_p2p_action_oui. */
|
|
|
+
|
|
|
+#define SigFfp2p_action_oui (0x0020)
|
|
|
+
|
|
|
+void dot11f_unpack_ff_p2p_action_subtype(tpAniSirGlobal pCtx,
|
|
|
+ uint8_t *pBuf,
|
|
|
+ tDot11fFfp2p_action_subtype *pDst)
|
|
|
+{
|
|
|
+ pDst->subtype = *pBuf;
|
|
|
+ (void)pCtx;
|
|
|
+} /* End dot11f_unpack_ff_p2p_action_subtype. */
|
|
|
+
|
|
|
+#define SigFfp2p_action_subtype (0x0021)
|
|
|
+
|
|
|
uint32_t dot11f_unpack_tlv_authorized_ma_cs(tpAniSirGlobal pCtx,
|
|
|
uint8_t *pBuf,
|
|
|
uint16_t tlvlen,
|
|
@@ -8845,6 +8865,47 @@ uint32_t dot11f_unpack_ht2040_bss_coexistence_mgmt_action_frame(tpAniSirGlobal p
|
|
|
|
|
|
} /* End dot11f_unpack_ht2040_bss_coexistence_mgmt_action_frame. */
|
|
|
|
|
|
+static const tFFDefn FFS_p2p_oper_chan_change_confirm[] = {
|
|
|
+ { "Category", offsetof(tDot11fp2p_oper_chan_change_confirm, Category),
|
|
|
+ SigFfCategory, DOT11F_FF_CATEGORY_LEN, },
|
|
|
+ { "p2p_action_oui", offsetof(tDot11fp2p_oper_chan_change_confirm,
|
|
|
+ p2p_action_oui), SigFfp2p_action_oui, DOT11F_FF_P2P_ACTION_OUI_LEN, },
|
|
|
+ { "p2p_action_subtype", offsetof(tDot11fp2p_oper_chan_change_confirm,
|
|
|
+ p2p_action_subtype), SigFfp2p_action_subtype,
|
|
|
+ DOT11F_FF_P2P_ACTION_SUBTYPE_LEN, },
|
|
|
+ { "DialogToken", offsetof(tDot11fp2p_oper_chan_change_confirm,
|
|
|
+ DialogToken), SigFfDialogToken, DOT11F_FF_DIALOGTOKEN_LEN, },
|
|
|
+ { NULL, 0, 0, 0,},
|
|
|
+};
|
|
|
+
|
|
|
+static const tIEDefn IES_p2p_oper_chan_change_confirm[] = {
|
|
|
+ { offsetof(tDot11fp2p_oper_chan_change_confirm, HTCaps),
|
|
|
+ offsetof(tDot11fIEHTCaps, present), 0, "HTCaps", 0, 28, 60, SigIeHTCaps,
|
|
|
+ {0, 0, 0, 0, 0}, 0, DOT11F_EID_HTCAPS, 0, },
|
|
|
+ { offsetof(tDot11fp2p_oper_chan_change_confirm, VHTCaps),
|
|
|
+ offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps", 0, 14, 14, SigIeVHTCaps,
|
|
|
+ {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
|
|
|
+ { offsetof(tDot11fp2p_oper_chan_change_confirm, OperatingMode),
|
|
|
+ offsetof(tDot11fIEOperatingMode, present), 0, "OperatingMode",
|
|
|
+ 0, 3, 3, SigIeOperatingMode, {0, 0, 0, 0, 0},
|
|
|
+ 0, DOT11F_EID_OPERATINGMODE, 0, },
|
|
|
+ {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
|
|
+
|
|
|
+uint32_t dot11f_unpack_p2p_oper_chan_change_confirm(tpAniSirGlobal pCtx,
|
|
|
+ uint8_t *pBuf, uint32_t nBuf,
|
|
|
+ tDot11fp2p_oper_chan_change_confirm *pFrm)
|
|
|
+{
|
|
|
+ uint32_t i = 0;
|
|
|
+ uint32_t status = 0;
|
|
|
+ status = unpack_core(pCtx, pBuf, nBuf,
|
|
|
+ FFS_p2p_oper_chan_change_confirm, IES_p2p_oper_chan_change_confirm,
|
|
|
+ (uint8_t *)pFrm, sizeof(*pFrm));
|
|
|
+
|
|
|
+ (void)i;
|
|
|
+ return status;
|
|
|
+
|
|
|
+} /* End dot11f_unpack_p2p_oper_chan_change_confirm. */
|
|
|
+
|
|
|
static uint32_t unpack_core(tpAniSirGlobal pCtx,
|
|
|
uint8_t *pBuf,
|
|
|
uint32_t nBuf,
|
|
@@ -9047,6 +9108,16 @@ static uint32_t unpack_core(tpAniSirGlobal pCtx,
|
|
|
pBufRemaining, (tDot11fFfext_chan_switch_ann_action *)
|
|
|
(pFrm + pFf->offset));
|
|
|
break;
|
|
|
+ case SigFfp2p_action_oui:
|
|
|
+ dot11f_unpack_ff_p2p_action_oui(pCtx,
|
|
|
+ pBufRemaining, (tDot11fFfp2p_action_oui *)
|
|
|
+ (pFrm + pFf->offset));
|
|
|
+ break;
|
|
|
+ case SigFfp2p_action_subtype:
|
|
|
+ dot11f_unpack_ff_p2p_action_subtype(pCtx,
|
|
|
+ pBufRemaining, (tDot11fFfp2p_action_subtype *)
|
|
|
+ (pFrm + pFf->offset));
|
|
|
+ break;
|
|
|
default:
|
|
|
FRAMES_LOG1(pCtx, FRLOGE, FRFL("INTERNAL ERROR: I don'"
|
|
|
"t know about the FF signature %d-- this is most "
|
|
@@ -11941,6 +12012,16 @@ uint32_t dot11f_get_packed_ht2040_bss_coexistence_mgmt_action_frameSize(tpAniSir
|
|
|
return status;
|
|
|
} /* End dot11f_get_packed_ht2040_bss_coexistence_mgmt_action_frameSize. */
|
|
|
|
|
|
+uint32_t dot11f_get_packed_p2p_oper_chan_change_confirmSize(tpAniSirGlobal pCtx,
|
|
|
+ tDot11fp2p_oper_chan_change_confirm *pFrm, uint32_t *pnNeeded)
|
|
|
+{
|
|
|
+ uint32_t status = 0;
|
|
|
+ *pnNeeded = 7;
|
|
|
+ status = get_packed_size_core(pCtx, (uint8_t *)pFrm, pnNeeded,
|
|
|
+ IES_p2p_oper_chan_change_confirm);
|
|
|
+ return status;
|
|
|
+} /* End dot11f_get_packed_p2p_oper_chan_change_confirmSize. */
|
|
|
+
|
|
|
static uint32_t get_packed_size_core(tpAniSirGlobal pCtx,
|
|
|
uint8_t *pFrm,
|
|
|
uint32_t *pnNeeded,
|
|
@@ -13495,6 +13576,22 @@ void dot11f_pack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx,
|
|
|
(void)pCtx;
|
|
|
} /* End dot11f_pack_ff_ext_chan_switch_ann_action. */
|
|
|
|
|
|
+void dot11f_pack_ff_p2p_action_oui(tpAniSirGlobal pCtx,
|
|
|
+ tDot11fFfp2p_action_oui *pSrc,
|
|
|
+ uint8_t *pBuf)
|
|
|
+{
|
|
|
+ DOT11F_MEMCPY(pCtx, pBuf, pSrc->oui_data, 4);
|
|
|
+ (void)pCtx;
|
|
|
+} /* End dot11f_pack_ff_p2p_action_oui. */
|
|
|
+
|
|
|
+void dot11f_pack_ff_p2p_action_subtype(tpAniSirGlobal pCtx,
|
|
|
+ tDot11fFfp2p_action_subtype *pSrc,
|
|
|
+ uint8_t *pBuf)
|
|
|
+{
|
|
|
+ *pBuf = pSrc->subtype;
|
|
|
+ (void)pCtx;
|
|
|
+} /* End dot11f_pack_ff_p2p_action_subtype. */
|
|
|
+
|
|
|
uint32_t dot11f_pack_tlv_authorized_ma_cs(tpAniSirGlobal pCtx,
|
|
|
tDot11fTLVAuthorizedMACs *pSrc,
|
|
|
uint8_t *pBuf,
|
|
@@ -21169,6 +21266,21 @@ uint32_t dot11f_pack_ht2040_bss_coexistence_mgmt_action_frame(tpAniSirGlobal pCt
|
|
|
|
|
|
} /* End dot11f_unpack_ht2040_bss_coexistence_mgmt_action_frame. */
|
|
|
|
|
|
+uint32_t dot11f_pack_p2p_oper_chan_change_confirm(tpAniSirGlobal pCtx,
|
|
|
+ tDot11fp2p_oper_chan_change_confirm *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_p2p_oper_chan_change_confirm, IES_p2p_oper_chan_change_confirm);
|
|
|
+
|
|
|
+ return status;
|
|
|
+
|
|
|
+} /* End dot11f_unpack_p2p_oper_chan_change_confirm. */
|
|
|
+
|
|
|
static uint32_t pack_core(tpAniSirGlobal pCtx,
|
|
|
uint8_t *pSrc,
|
|
|
uint8_t *pBuf,
|
|
@@ -21359,6 +21471,16 @@ static uint32_t pack_core(tpAniSirGlobal pCtx,
|
|
|
pCtx, (tDot11fFfext_chan_switch_ann_action *)
|
|
|
(pSrc + pFf->offset), pBufRemaining);
|
|
|
break;
|
|
|
+ case SigFfp2p_action_oui:
|
|
|
+ dot11f_pack_ff_p2p_action_oui(
|
|
|
+ pCtx, (tDot11fFfp2p_action_oui *)
|
|
|
+ (pSrc + pFf->offset), pBufRemaining);
|
|
|
+ break;
|
|
|
+ case SigFfp2p_action_subtype:
|
|
|
+ dot11f_pack_ff_p2p_action_subtype(
|
|
|
+ pCtx, (tDot11fFfp2p_action_subtype *)
|
|
|
+ (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"
|