|
@@ -35,7 +35,7 @@
|
|
|
*
|
|
|
*
|
|
|
* This file was automatically generated by 'framesc'
|
|
|
- * Thu Jun 22 10:47:16 2017 from the following file(s):
|
|
|
+ * Thu Jul 6 16:41:06 2017 from the following file(s):
|
|
|
*
|
|
|
* dot11f.frms
|
|
|
*
|
|
@@ -2035,6 +2035,431 @@ uint32_t dot11f_get_packed_tlv_WPSState(
|
|
|
}; /* End extern "C". */
|
|
|
#endif /* C++ */
|
|
|
|
|
|
+/* ID 4 (0x0004) */
|
|
|
+typedef struct sDot11fTLVassoc_disallowed {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t reason_code;
|
|
|
+} tDot11fTLVassoc_disallowed;
|
|
|
+
|
|
|
+#define DOT11F_TLV_ASSOC_DISALLOWED (4)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_ASSOC_DISALLOWED_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_ASSOC_DISALLOWED_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_assoc_disallowed(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVassoc_disallowed*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_assoc_disallowed(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVassoc_disallowed *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_assoc_disallowed(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVassoc_disallowed *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 8 (0x0008) */
|
|
|
+typedef struct sDot11fTLVassoc_retry_delay {
|
|
|
+ uint8_t present;
|
|
|
+ uint16_t delay;
|
|
|
+} tDot11fTLVassoc_retry_delay;
|
|
|
+
|
|
|
+#define DOT11F_TLV_ASSOC_RETRY_DELAY (8)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_ASSOC_RETRY_DELAY_MIN_LEN (2)
|
|
|
+
|
|
|
+#define DOT11F_TLV_ASSOC_RETRY_DELAY_MAX_LEN (2)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_assoc_retry_delay(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVassoc_retry_delay*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_assoc_retry_delay(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVassoc_retry_delay *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_assoc_retry_delay(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVassoc_retry_delay *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 3 (0x0003) */
|
|
|
+typedef struct sDot11fTLVcellular_data_cap {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t cellular_connectivity;
|
|
|
+} tDot11fTLVcellular_data_cap;
|
|
|
+
|
|
|
+#define DOT11F_TLV_CELLULAR_DATA_CAP (3)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_CELLULAR_DATA_CAP_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_CELLULAR_DATA_CAP_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_cellular_data_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVcellular_data_cap*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_cellular_data_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVcellular_data_cap *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_cellular_data_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVcellular_data_cap *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 5 (0x0005) */
|
|
|
+typedef struct sDot11fTLVcellular_data_con_pref {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t cellular_preference;
|
|
|
+} tDot11fTLVcellular_data_con_pref;
|
|
|
+
|
|
|
+#define DOT11F_TLV_CELLULAR_DATA_CON_PREF (5)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_CELLULAR_DATA_CON_PREF_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_CELLULAR_DATA_CON_PREF_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_cellular_data_con_pref(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVcellular_data_con_pref*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_cellular_data_con_pref(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVcellular_data_con_pref *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_cellular_data_con_pref(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVcellular_data_con_pref *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 1 (0x0001) */
|
|
|
+typedef struct sDot11fTLVmbo_ap_cap {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t mbo_cap_ind;
|
|
|
+} tDot11fTLVmbo_ap_cap;
|
|
|
+
|
|
|
+#define DOT11F_TLV_MBO_AP_CAP (1)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_MBO_AP_CAP_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_MBO_AP_CAP_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_mbo_ap_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVmbo_ap_cap*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_mbo_ap_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVmbo_ap_cap *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_mbo_ap_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVmbo_ap_cap *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 2 (0x0002) */
|
|
|
+typedef struct sDot11fTLVnon_prefferd_chan_rep {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t oper_class;
|
|
|
+ uint8_t num_channel_report;
|
|
|
+ uint8_t channel_report[254];
|
|
|
+} tDot11fTLVnon_prefferd_chan_rep;
|
|
|
+
|
|
|
+#define DOT11F_TLV_NON_PREFFERD_CHAN_REP (2)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_NON_PREFFERD_CHAN_REP_MIN_LEN (4)
|
|
|
+
|
|
|
+#define DOT11F_TLV_NON_PREFFERD_CHAN_REP_MAX_LEN (255)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_non_prefferd_chan_rep(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVnon_prefferd_chan_rep*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_non_prefferd_chan_rep(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVnon_prefferd_chan_rep *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_non_prefferd_chan_rep(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVnon_prefferd_chan_rep *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 101 (0x0065) */
|
|
|
+typedef struct sDot11fTLVoce_cap {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t oce_release:3;
|
|
|
+ uint8_t is_sta_cfon:1;
|
|
|
+ uint8_t non_oce_ap_present:1;
|
|
|
+ uint8_t reserved:3;
|
|
|
+} tDot11fTLVoce_cap;
|
|
|
+
|
|
|
+#define DOT11F_TLV_OCE_CAP (101)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_OCE_CAP_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_OCE_CAP_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_oce_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVoce_cap*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_oce_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVoce_cap *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_oce_cap(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVoce_cap *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 103 (0x0067) */
|
|
|
+typedef struct sDot11fTLVreduced_wan_metrics {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t downlink_av_cap:4;
|
|
|
+ uint8_t uplink_av_cap:4;
|
|
|
+} tDot11fTLVreduced_wan_metrics;
|
|
|
+
|
|
|
+#define DOT11F_TLV_REDUCED_WAN_METRICS (103)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_REDUCED_WAN_METRICS_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_REDUCED_WAN_METRICS_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_reduced_wan_metrics(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVreduced_wan_metrics*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_reduced_wan_metrics(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVreduced_wan_metrics *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_reduced_wan_metrics(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVreduced_wan_metrics *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 102 (0x0066) */
|
|
|
+typedef struct sDot11fTLVrssi_assoc_rej {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t delta_rssi;
|
|
|
+ uint8_t retry_delay;
|
|
|
+} tDot11fTLVrssi_assoc_rej;
|
|
|
+
|
|
|
+#define DOT11F_TLV_RSSI_ASSOC_REJ (102)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_RSSI_ASSOC_REJ_MIN_LEN (2)
|
|
|
+
|
|
|
+#define DOT11F_TLV_RSSI_ASSOC_REJ_MAX_LEN (2)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_rssi_assoc_rej(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVrssi_assoc_rej*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_rssi_assoc_rej(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVrssi_assoc_rej *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_rssi_assoc_rej(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVrssi_assoc_rej *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 6 (0x0006) */
|
|
|
+typedef struct sDot11fTLVtransition_reason {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t transition_reason_code;
|
|
|
+} tDot11fTLVtransition_reason;
|
|
|
+
|
|
|
+#define DOT11F_TLV_TRANSITION_REASON (6)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_TRANSITION_REASON_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_TRANSITION_REASON_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_transition_reason(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVtransition_reason*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_transition_reason(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVtransition_reason *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_transition_reason(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVtransition_reason *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
+/* ID 7 (0x0007) */
|
|
|
+typedef struct sDot11fTLVtransition_reject_reason {
|
|
|
+ uint8_t present;
|
|
|
+ uint8_t transition_reject_code;
|
|
|
+} tDot11fTLVtransition_reject_reason;
|
|
|
+
|
|
|
+#define DOT11F_TLV_TRANSITION_REJECT_REASON (7)
|
|
|
+
|
|
|
+/* N.B. These #defines do *not* include the ID & length */
|
|
|
+#define DOT11F_TLV_TRANSITION_REJECT_REASON_MIN_LEN (1)
|
|
|
+
|
|
|
+#define DOT11F_TLV_TRANSITION_REJECT_REASON_MAX_LEN (1)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif /* C++ */
|
|
|
+uint32_t dot11f_unpack_tlv_transition_reject_reason(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ uint8_t *,
|
|
|
+ uint16_t,
|
|
|
+ tDot11fTLVtransition_reject_reason*);
|
|
|
+
|
|
|
+uint32_t dot11f_pack_tlv_transition_reject_reason(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVtransition_reject_reason *,
|
|
|
+ uint8_t *,
|
|
|
+ uint32_t,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+uint32_t dot11f_get_packed_tlv_transition_reject_reason(
|
|
|
+ tpAniSirGlobal,
|
|
|
+ tDot11fTLVtransition_reject_reason *,
|
|
|
+ uint32_t*);
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}; /* End extern "C". */
|
|
|
+#endif /* C++ */
|
|
|
+
|
|
|
/* ID 16 (0x0010) */
|
|
|
typedef struct sDot11fTLVP2PInterface {
|
|
|
uint8_t present;
|
|
@@ -4956,20 +5381,28 @@ uint32_t dot11f_get_packed_ie_LinkIdentifier(
|
|
|
}; /* End extern "C". */
|
|
|
#endif /* C++ */
|
|
|
|
|
|
-/* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x16} */
|
|
|
+/* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x16} (Multi-IE) */
|
|
|
typedef struct sDot11fIEMBO_IE {
|
|
|
uint8_t present;
|
|
|
- uint8_t mbo_cap[3];
|
|
|
- uint8_t num_assoc_disallowed;
|
|
|
- uint8_t assoc_disallowed[3];
|
|
|
+ tDot11fTLVmbo_ap_cap mbo_ap_cap;
|
|
|
+ tDot11fTLVnon_prefferd_chan_rep non_prefferd_chan_rep;
|
|
|
+ tDot11fTLVcellular_data_cap cellular_data_cap;
|
|
|
+ tDot11fTLVassoc_disallowed assoc_disallowed;
|
|
|
+ tDot11fTLVcellular_data_con_pref cellular_data_con_pref;
|
|
|
+ tDot11fTLVtransition_reason transition_reason;
|
|
|
+ tDot11fTLVtransition_reject_reason transition_reject_reason;
|
|
|
+ tDot11fTLVassoc_retry_delay assoc_retry_delay;
|
|
|
+ tDot11fTLVoce_cap oce_cap;
|
|
|
+ tDot11fTLVrssi_assoc_rej rssi_assoc_rej;
|
|
|
+ tDot11fTLVreduced_wan_metrics reduced_wan_metrics;
|
|
|
} tDot11fIEMBO_IE;
|
|
|
|
|
|
#define DOT11F_EID_MBO_IE (221)
|
|
|
|
|
|
/* N.B. These #defines do *not* include the EID & length */
|
|
|
-#define DOT11F_IE_MBO_IE_MIN_LEN (7)
|
|
|
+#define DOT11F_IE_MBO_IE_MIN_LEN (4)
|
|
|
|
|
|
-#define DOT11F_IE_MBO_IE_MAX_LEN (10)
|
|
|
+#define DOT11F_IE_MBO_IE_MAX_LEN (293)
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
extern "C" {
|