| /* |
| * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved. |
| * |
| * Permission to use, copy, modify, and/or distribute this software for |
| * any purpose with or without fee is hereby granted, provided that the |
| * above copyright notice and this permission notice appear in all |
| * copies. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| * PERFORMANCE OF THIS SOFTWARE. |
| */ |
| |
| #ifndef DOT11F_H |
| #define DOT11F_H |
| /* |
| * \file dot11f.h |
| * |
| * \brief Structures, function prototypes & definitions |
| * for working with 802.11 Frames |
| * |
| * |
| * This file was automatically generated by 'framesc' |
| * Tue Sep 18 11:47:29 2018 from the following file(s): |
| * |
| * dot11f.frms |
| * |
| * PLEASE DON'T EDIT THIS FILE BY HAND! |
| * |
| * Instead, please update the input files & re-run |
| * 'framesc' For more information on 'framesc' & the |
| * frames language, run 'framesc --help'. |
| * |
| */ |
| |
| typedef uint32_t tDOT11F_U64[2]; |
| |
| #if defined (_MSC_VER) |
| #pragma warning (disable:4214) /* nonstandard extension used */ |
| #endif /* Microsoft C/C++ bit field types other than int */ |
| |
| #if !defined __must_check |
| #define __must_check |
| #endif |
| |
| #if !defined unlikely |
| #define unlikely(x) (x) |
| #endif |
| |
| /* |
| * Frames Return Codes: |
| * |
| * Success is indicated by a return value of zero. Failure is indicated |
| * by the presence of the high bit. Warnings encountered in the course |
| * of a successful parse are indicated by various bits in the lower 31 |
| * being turned on. |
| * |
| * For instance, a return value of 0x0000000a would indicate that the |
| * parse succeeded, but that a mandatory IE wasn't present, and some IE |
| * was found to be corrupt. |
| * |
| * |
| */ |
| |
| #define DOT11F_PARSE_SUCCESS (0x00000000) |
| #define DOT11F_UNKNOWN_IES (0x00000001) |
| #define DOT11F_MANDATORY_IE_MISSING (0x00000002) |
| #define DOT11F_INCOMPLETE_IE (0x00000004) |
| #define DOT11F_SKIPPED_BAD_IE (0x00000008) |
| #define DOT11F_LAST_IE_TOO_LONG (0x00000010) |
| #define DOT11F_DUPLICATE_IE (0x00000020) |
| #define DOT11F_BAD_FIXED_VALUE (0x00000040) |
| #define DOT11F_INCOMPLETE_TLV (0x00000080) |
| #define DOT11F_INVALID_TLV_LENGTH (0x00000100) |
| #define DOT11F_SKIPPED_BAD_TLV (0x00000200) |
| #define DOT11F_UNKNOWN_TLVS (0x00000400) |
| #define DOT11F_LAST_TLV_TOO_LONG (0x00000800) |
| #define DOT11F_MANDATORY_TLV_MISSING (0x00001000) |
| #define DOT11F_INTERNAL_ERROR (0x10000001) |
| #define DOT11F_MISSING_FIXED_FIELD (0x10000002) |
| #define DOT11F_BAD_INPUT_BUFFER (0x10000003) |
| #define DOT11F_BAD_OUTPUT_BUFFER (0x10000004) |
| #define DOT11F_BUFFER_OVERFLOW (0x10000005) |
| #define DOT11F_FAILED(code) ((code) & 0x10000000) |
| #define DOT11F_SUCCEEDED(code) ((code) == 0) |
| #define DOT11F_WARNED(code) (!DOT11F_SUCCEEDED(code) && !DOT11F_FAILED(code)) |
| |
| /********************************************************************* |
| * Fixed Fields * |
| ********************************************************************/ |
| |
| typedef struct sDot11fFfAID { |
| uint16_t associd; |
| } tDot11fFfAID; |
| |
| #define DOT11F_FF_AID_LEN (2) |
| |
| void dot11f_unpack_ff_AID(tpAniSirGlobal, uint8_t *, tDot11fFfAID *); |
| |
| void dot11f_pack_ff_aid(tpAniSirGlobal, tDot11fFfAID *, uint8_t *); |
| |
| typedef struct sDot11fFfAction { |
| uint8_t action; |
| } tDot11fFfAction; |
| |
| #define DOT11F_FF_ACTION_LEN (1) |
| |
| void dot11f_unpack_ff_action(tpAniSirGlobal, uint8_t *, tDot11fFfAction *); |
| |
| void dot11f_pack_ff_action(tpAniSirGlobal, tDot11fFfAction *, uint8_t *); |
| |
| typedef struct sDot11fFfAuthAlgo { |
| uint16_t algo; |
| } tDot11fFfAuthAlgo; |
| |
| #define DOT11F_FF_AUTHALGO_LEN (2) |
| |
| void dot11f_unpack_ff_AuthAlgo(tpAniSirGlobal, uint8_t *, |
| tDot11fFfAuthAlgo *); |
| |
| void dot11f_pack_ff_auth_algo(tpAniSirGlobal, tDot11fFfAuthAlgo *, uint8_t *); |
| |
| typedef struct sDot11fFfAuthSeqNo { |
| uint16_t no; |
| } tDot11fFfAuthSeqNo; |
| |
| #define DOT11F_FF_AUTHSEQNO_LEN (2) |
| |
| void dot11f_unpack_ff_AuthSeqNo(tpAniSirGlobal, uint8_t *, |
| tDot11fFfAuthSeqNo *); |
| |
| void dot11f_pack_ff_auth_seq_no(tpAniSirGlobal, tDot11fFfAuthSeqNo *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfBeaconInterval { |
| uint16_t interval; |
| } tDot11fFfBeaconInterval; |
| |
| #define DOT11F_FF_BEACONINTERVAL_LEN (2) |
| |
| void dot11f_unpack_ff_BeaconInterval(tpAniSirGlobal, uint8_t *, |
| tDot11fFfBeaconInterval *); |
| |
| void dot11f_pack_ff_beacon_interval(tpAniSirGlobal, tDot11fFfBeaconInterval *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfCapabilities { |
| uint16_t ess:1; |
| uint16_t ibss:1; |
| uint16_t cfPollable:1; |
| uint16_t cfPollReq:1; |
| uint16_t privacy:1; |
| uint16_t shortPreamble:1; |
| uint16_t pbcc:1; |
| uint16_t channelAgility:1; |
| uint16_t spectrumMgt:1; |
| uint16_t qos:1; |
| uint16_t shortSlotTime:1; |
| uint16_t apsd:1; |
| uint16_t rrm:1; |
| uint16_t dsssOfdm:1; |
| uint16_t delayedBA:1; |
| uint16_t immediateBA:1; |
| } tDot11fFfCapabilities; |
| |
| #define DOT11F_FF_CAPABILITIES_LEN (2) |
| |
| void dot11f_unpack_ff_capabilities(tpAniSirGlobal, uint8_t *, |
| tDot11fFfCapabilities *); |
| |
| void dot11f_pack_ff_capabilities(tpAniSirGlobal, tDot11fFfCapabilities *, |
| uint8_t *); |
| |
| #define CAPABILITIES_ESS_OFFSET 0 |
| #define CAPABILITIES_ESS_WIDTH 1 |
| #define CAPABILITIES_IBSS_OFFSET 1 |
| #define CAPABILITIES_IBSS_WIDTH 1 |
| #define CAPABILITIES_CFPOLLABLE_OFFSET 2 |
| #define CAPABILITIES_CFPOLLABLE_WIDTH 1 |
| #define CAPABILITIES_CFPOLLREQ_OFFSET 3 |
| #define CAPABILITIES_CFPOLLREQ_WIDTH 1 |
| #define CAPABILITIES_PRIVACY_OFFSET 4 |
| #define CAPABILITIES_PRIVACY_WIDTH 1 |
| #define CAPABILITIES_SHORTPREAMBLE_OFFSET 5 |
| #define CAPABILITIES_SHORTPREAMBLE_WIDTH 1 |
| #define CAPABILITIES_PBCC_OFFSET 6 |
| #define CAPABILITIES_PBCC_WIDTH 1 |
| #define CAPABILITIES_CHANNELAGILITY_OFFSET 7 |
| #define CAPABILITIES_CHANNELAGILITY_WIDTH 1 |
| #define CAPABILITIES_SPECTRUMMGT_OFFSET 8 |
| #define CAPABILITIES_SPECTRUMMGT_WIDTH 1 |
| #define CAPABILITIES_QOS_OFFSET 9 |
| #define CAPABILITIES_QOS_WIDTH 1 |
| #define CAPABILITIES_SHORTSLOTTIME_OFFSET 10 |
| #define CAPABILITIES_SHORTSLOTTIME_WIDTH 1 |
| #define CAPABILITIES_APSD_OFFSET 11 |
| #define CAPABILITIES_APSD_WIDTH 1 |
| #define CAPABILITIES_RRM_OFFSET 12 |
| #define CAPABILITIES_RRM_WIDTH 1 |
| #define CAPABILITIES_DSSSOFDM_OFFSET 13 |
| #define CAPABILITIES_DSSSOFDM_WIDTH 1 |
| #define CAPABILITIES_DELAYEDBA_OFFSET 14 |
| #define CAPABILITIES_DELAYEDBA_WIDTH 1 |
| #define CAPABILITIES_IMMEDIATEBA_OFFSET 15 |
| #define CAPABILITIES_IMMEDIATEBA_WIDTH 1 |
| |
| typedef struct sDot11fFfCategory { |
| uint8_t category; |
| } tDot11fFfCategory; |
| |
| #define DOT11F_FF_CATEGORY_LEN (1) |
| |
| void dot11f_unpack_ff_category(tpAniSirGlobal, uint8_t *, |
| tDot11fFfCategory *); |
| |
| void dot11f_pack_ff_category(tpAniSirGlobal, tDot11fFfCategory *, uint8_t *); |
| |
| typedef struct sDot11fFfCurrentAPAddress { |
| uint8_t mac[6]; |
| } tDot11fFfCurrentAPAddress; |
| |
| #define DOT11F_FF_CURRENTAPADDRESS_LEN (6) |
| |
| void dot11f_unpack_ff_current_ap_address(tpAniSirGlobal, uint8_t *, |
| tDot11fFfCurrentAPAddress *); |
| |
| void dot11f_pack_ff_current_ap_address(tpAniSirGlobal, |
| tDot11fFfCurrentAPAddress *, |
| uint8_t *); |
| |
| |
| typedef struct sDot11fFfDialogToken { |
| uint8_t token; |
| } tDot11fFfDialogToken; |
| |
| #define DOT11F_FF_DIALOGTOKEN_LEN (1) |
| |
| void dot11f_unpack_ff_dialog_token(tpAniSirGlobal, uint8_t *, |
| tDot11fFfDialogToken *); |
| |
| void dot11f_pack_ff_dialog_token(tpAniSirGlobal, tDot11fFfDialogToken *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfLinkMargin { |
| uint8_t linkMargin; |
| } tDot11fFfLinkMargin; |
| |
| #define DOT11F_FF_LINKMARGIN_LEN (1) |
| |
| void dot11f_unpack_ff_link_margin(tpAniSirGlobal, uint8_t *, |
| tDot11fFfLinkMargin *); |
| |
| void dot11f_pack_ff_link_margin(tpAniSirGlobal, tDot11fFfLinkMargin *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfListenInterval { |
| uint16_t interval; |
| } tDot11fFfListenInterval; |
| |
| #define DOT11F_FF_LISTENINTERVAL_LEN (2) |
| |
| void dot11f_unpack_ff_ListenInterval(tpAniSirGlobal, uint8_t *, |
| tDot11fFfListenInterval *); |
| |
| void dot11f_pack_ff_listen_interval(tpAniSirGlobal, tDot11fFfListenInterval *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfMaxTxPower { |
| uint8_t maxTxPower; |
| } tDot11fFfMaxTxPower; |
| |
| #define DOT11F_FF_MAXTXPOWER_LEN (1) |
| |
| void dot11f_unpack_ff_max_tx_power(tpAniSirGlobal, uint8_t *, |
| tDot11fFfMaxTxPower *); |
| |
| void dot11f_pack_ff_max_tx_power(tpAniSirGlobal, tDot11fFfMaxTxPower *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfNumOfRepetitions { |
| uint16_t repetitions; |
| } tDot11fFfNumOfRepetitions; |
| |
| #define DOT11F_FF_NUMOFREPETITIONS_LEN (2) |
| |
| void dot11f_unpack_ff_num_of_repetitions(tpAniSirGlobal, uint8_t *, |
| tDot11fFfNumOfRepetitions *); |
| |
| void dot11f_pack_ff_num_of_repetitions(tpAniSirGlobal, |
| tDot11fFfNumOfRepetitions *, |
| uint8_t *); |
| |
| |
| typedef struct sDot11fFfOperatingMode { |
| uint8_t chanWidth:2; |
| uint8_t reserved:2; |
| uint8_t rxNSS:3; |
| uint8_t rxNSSType:1; |
| } tDot11fFfOperatingMode; |
| |
| #define DOT11F_FF_OPERATINGMODE_LEN (1) |
| |
| void dot11f_unpack_ff_operating_mode(tpAniSirGlobal, uint8_t *, |
| tDot11fFfOperatingMode *); |
| |
| void dot11f_pack_ff_operating_mode(tpAniSirGlobal, tDot11fFfOperatingMode *, |
| uint8_t *); |
| |
| #define OPERATINGMODE_CHANWIDTH_OFFSET 0 |
| #define OPERATINGMODE_CHANWIDTH_WIDTH 2 |
| #define OPERATINGMODE_RESERVED_OFFSET 2 |
| #define OPERATINGMODE_RESERVED_WIDTH 2 |
| #define OPERATINGMODE_RXNSS_OFFSET 4 |
| #define OPERATINGMODE_RXNSS_WIDTH 3 |
| #define OPERATINGMODE_RXNSSTYPE_OFFSET 7 |
| #define OPERATINGMODE_RXNSSTYPE_WIDTH 1 |
| |
| typedef struct sDot11fFfRCPI { |
| uint8_t rcpi; |
| } tDot11fFfRCPI; |
| |
| #define DOT11F_FF_RCPI_LEN (1) |
| |
| void dot11f_unpack_ff_rcpi(tpAniSirGlobal, uint8_t *, tDot11fFfRCPI *); |
| |
| void dot11f_pack_ff_rcpi(tpAniSirGlobal, tDot11fFfRCPI *, uint8_t *); |
| |
| typedef struct sDot11fFfRSNI { |
| uint8_t rsni; |
| } tDot11fFfRSNI; |
| |
| #define DOT11F_FF_RSNI_LEN (1) |
| |
| void dot11f_unpack_ff_rsni(tpAniSirGlobal, uint8_t *, tDot11fFfRSNI *); |
| |
| void dot11f_pack_ff_rsni(tpAniSirGlobal, tDot11fFfRSNI *, uint8_t *); |
| |
| typedef struct sDot11fFfReason { |
| uint16_t code; |
| } tDot11fFfReason; |
| |
| #define DOT11F_FF_REASON_LEN (2) |
| |
| void dot11f_unpack_ff_Reason(tpAniSirGlobal, uint8_t *, tDot11fFfReason *); |
| |
| void dot11f_pack_ff_reason(tpAniSirGlobal, tDot11fFfReason *, uint8_t *); |
| |
| typedef struct sDot11fFfRxAntennaId { |
| uint8_t antennaId; |
| } tDot11fFfRxAntennaId; |
| |
| #define DOT11F_FF_RXANTENNAID_LEN (1) |
| |
| void dot11f_unpack_ff_rx_antenna_id(tpAniSirGlobal, uint8_t *, |
| tDot11fFfRxAntennaId *); |
| |
| void dot11f_pack_ff_rx_antenna_id(tpAniSirGlobal, tDot11fFfRxAntennaId *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfSMPowerModeSet { |
| uint8_t PowerSave_En:1; |
| uint8_t Mode:1; |
| uint8_t reserved:6; |
| } tDot11fFfSMPowerModeSet; |
| |
| #define DOT11F_FF_SMPOWERMODESET_LEN (1) |
| |
| void dot11f_unpack_ff_sm_power_mode_set(tpAniSirGlobal, uint8_t *, |
| tDot11fFfSMPowerModeSet *); |
| |
| void dot11f_pack_ff_sm_power_mode_set(tpAniSirGlobal, tDot11fFfSMPowerModeSet *, |
| uint8_t *); |
| |
| #define SMPOWERMODESET_POWERSAVE_EN_OFFSET 0 |
| #define SMPOWERMODESET_POWERSAVE_EN_WIDTH 1 |
| #define SMPOWERMODESET_MODE_OFFSET 1 |
| #define SMPOWERMODESET_MODE_WIDTH 1 |
| #define SMPOWERMODESET_RESERVED_OFFSET 2 |
| #define SMPOWERMODESET_RESERVED_WIDTH 6 |
| |
| typedef struct sDot11fFfStatus { |
| uint16_t status; |
| } tDot11fFfStatus; |
| |
| #define DOT11F_FF_STATUS_LEN (2) |
| |
| void dot11f_unpack_ff_Status(tpAniSirGlobal, uint8_t *, tDot11fFfStatus *); |
| |
| void dot11f_pack_ff_status(tpAniSirGlobal, tDot11fFfStatus *, uint8_t *); |
| |
| typedef struct sDot11fFfStatusCode { |
| uint8_t statusCode; |
| } tDot11fFfStatusCode; |
| |
| #define DOT11F_FF_STATUSCODE_LEN (1) |
| |
| void dot11f_unpack_ff_status_code(tpAniSirGlobal, uint8_t *, |
| tDot11fFfStatusCode *); |
| |
| void dot11f_pack_ff_status_code(tpAniSirGlobal, tDot11fFfStatusCode *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfTPCEleID { |
| uint8_t TPCId; |
| } tDot11fFfTPCEleID; |
| |
| #define DOT11F_FF_TPCELEID_LEN (1) |
| |
| void dot11f_unpack_ff_tpc_ele_id(tpAniSirGlobal, uint8_t *, |
| tDot11fFfTPCEleID *); |
| |
| void dot11f_pack_ff_tpc_ele_id(tpAniSirGlobal, tDot11fFfTPCEleID *, uint8_t *); |
| |
| typedef struct sDot11fFfTPCEleLen { |
| uint8_t TPCLen; |
| } tDot11fFfTPCEleLen; |
| |
| #define DOT11F_FF_TPCELELEN_LEN (1) |
| |
| void dot11f_unpack_ff_tpc_ele_len(tpAniSirGlobal, uint8_t *, |
| tDot11fFfTPCEleLen *); |
| |
| void dot11f_pack_ff_tpc_ele_len(tpAniSirGlobal, tDot11fFfTPCEleLen *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfTSInfo { |
| uint32_t traffic_type:1; |
| uint32_t tsid:4; |
| uint32_t direction:2; |
| uint32_t access_policy:2; |
| uint32_t aggregation:1; |
| uint32_t psb:1; |
| uint32_t user_priority:3; |
| uint32_t tsinfo_ack_pol:2; |
| uint32_t schedule:1; |
| uint32_t unused:15; |
| } tDot11fFfTSInfo; |
| |
| #define DOT11F_FF_TSINFO_LEN (3) |
| |
| void dot11f_unpack_ff_ts_info(tpAniSirGlobal, uint8_t *, tDot11fFfTSInfo *); |
| |
| void dot11f_pack_ff_ts_info(tpAniSirGlobal, tDot11fFfTSInfo *, uint8_t *); |
| |
| #define TSINFO_TRAFFIC_TYPE_OFFSET 0 |
| #define TSINFO_TRAFFIC_TYPE_WIDTH 1 |
| #define TSINFO_TSID_OFFSET 1 |
| #define TSINFO_TSID_WIDTH 4 |
| #define TSINFO_DIRECTION_OFFSET 5 |
| #define TSINFO_DIRECTION_WIDTH 2 |
| #define TSINFO_ACCESS_POLICY_OFFSET 7 |
| #define TSINFO_ACCESS_POLICY_WIDTH 2 |
| #define TSINFO_AGGREGATION_OFFSET 9 |
| #define TSINFO_AGGREGATION_WIDTH 1 |
| #define TSINFO_PSB_OFFSET 10 |
| #define TSINFO_PSB_WIDTH 1 |
| #define TSINFO_USER_PRIORITY_OFFSET 11 |
| #define TSINFO_USER_PRIORITY_WIDTH 3 |
| #define TSINFO_TSINFO_ACK_POL_OFFSET 14 |
| #define TSINFO_TSINFO_ACK_POL_WIDTH 2 |
| #define TSINFO_SCHEDULE_OFFSET 16 |
| #define TSINFO_SCHEDULE_WIDTH 1 |
| #define TSINFO_UNUSED_OFFSET 17 |
| #define TSINFO_UNUSED_WIDTH 15 |
| |
| typedef struct sDot11fFfTimeStamp { |
| tDOT11F_U64 timestamp; |
| } tDot11fFfTimeStamp; |
| |
| #define DOT11F_FF_TIMESTAMP_LEN (8) |
| |
| void dot11f_unpack_ff_time_stamp(tpAniSirGlobal, uint8_t *, |
| tDot11fFfTimeStamp *); |
| |
| void dot11f_pack_ff_time_stamp(tpAniSirGlobal, tDot11fFfTimeStamp *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfTransactionId { |
| uint8_t transId[2]; |
| } tDot11fFfTransactionId; |
| |
| #define DOT11F_FF_TRANSACTIONID_LEN (2) |
| |
| void dot11f_unpack_ff_transaction_id(tpAniSirGlobal, uint8_t *, |
| tDot11fFfTransactionId *); |
| |
| void dot11f_pack_ff_transaction_id(tpAniSirGlobal, tDot11fFfTransactionId *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfTxAntennaId { |
| uint8_t antennaId; |
| } tDot11fFfTxAntennaId; |
| |
| #define DOT11F_FF_TXANTENNAID_LEN (1) |
| |
| void dot11f_unpack_ff_tx_antenna_id(tpAniSirGlobal, uint8_t *, |
| tDot11fFfTxAntennaId *); |
| |
| void dot11f_pack_ff_tx_antenna_id(tpAniSirGlobal, tDot11fFfTxAntennaId *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfTxPower { |
| uint8_t txPower; |
| } tDot11fFfTxPower; |
| |
| #define DOT11F_FF_TXPOWER_LEN (1) |
| |
| void dot11f_unpack_ff_tx_power(tpAniSirGlobal, uint8_t *, |
| tDot11fFfTxPower *); |
| |
| void dot11f_pack_ff_tx_power(tpAniSirGlobal, tDot11fFfTxPower *, uint8_t *); |
| |
| typedef struct sDot11fFfVhtMembershipStatusArray { |
| uint8_t membershipStatusArray[8]; |
| } tDot11fFfVhtMembershipStatusArray; |
| |
| #define DOT11F_FF_VHTMEMBERSHIPSTATUSARRAY_LEN (8) |
| |
| void dot11f_unpack_ff_vht_membership_status_array(tpAniSirGlobal, uint8_t *, |
| tDot11fFfVhtMembershipStatusArray *); |
| |
| void dot11f_pack_ff_vht_membership_status_array(tpAniSirGlobal, |
| tDot11fFfVhtMembershipStatusArray *, |
| uint8_t *); |
| |
| |
| typedef struct sDot11fFfVhtUserPositionArray { |
| uint8_t userPositionArray[16]; |
| } tDot11fFfVhtUserPositionArray; |
| |
| #define DOT11F_FF_VHTUSERPOSITIONARRAY_LEN (16) |
| |
| void dot11f_unpack_ff_vht_user_position_array(tpAniSirGlobal, uint8_t *, |
| tDot11fFfVhtUserPositionArray *); |
| |
| void dot11f_pack_ff_vht_user_position_array(tpAniSirGlobal, |
| tDot11fFfVhtUserPositionArray *, |
| uint8_t *); |
| |
| |
| typedef struct sDot11fFfaddba_param_set { |
| uint16_t amsdu_supp:1; |
| uint16_t policy:1; |
| uint16_t tid:4; |
| uint16_t buff_size:10; |
| } tDot11fFfaddba_param_set; |
| |
| #define DOT11F_FF_ADDBA_PARAM_SET_LEN (2) |
| |
| void dot11f_unpack_ff_addba_param_set(tpAniSirGlobal, uint8_t *, |
| tDot11fFfaddba_param_set *); |
| |
| void dot11f_pack_ff_addba_param_set(tpAniSirGlobal, tDot11fFfaddba_param_set *, |
| uint8_t *); |
| |
| #define ADDBA_PARAM_SET_AMSDU_SUPP_OFFSET 0 |
| #define ADDBA_PARAM_SET_AMSDU_SUPP_WIDTH 1 |
| #define ADDBA_PARAM_SET_POLICY_OFFSET 1 |
| #define ADDBA_PARAM_SET_POLICY_WIDTH 1 |
| #define ADDBA_PARAM_SET_TID_OFFSET 2 |
| #define ADDBA_PARAM_SET_TID_WIDTH 4 |
| #define ADDBA_PARAM_SET_BUFF_SIZE_OFFSET 6 |
| #define ADDBA_PARAM_SET_BUFF_SIZE_WIDTH 10 |
| |
| typedef struct sDot11fFfba_start_seq_ctrl { |
| uint16_t frag_number:4; |
| uint16_t ssn:12; |
| } tDot11fFfba_start_seq_ctrl; |
| |
| #define DOT11F_FF_BA_START_SEQ_CTRL_LEN (2) |
| |
| void dot11f_unpack_ff_ba_start_seq_ctrl(tpAniSirGlobal, uint8_t *, |
| tDot11fFfba_start_seq_ctrl *); |
| |
| void dot11f_pack_ff_ba_start_seq_ctrl(tpAniSirGlobal, |
| tDot11fFfba_start_seq_ctrl *, |
| uint8_t *); |
| |
| |
| #define BA_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0 |
| #define BA_START_SEQ_CTRL_FRAG_NUMBER_WIDTH 4 |
| #define BA_START_SEQ_CTRL_SSN_OFFSET 4 |
| #define BA_START_SEQ_CTRL_SSN_WIDTH 12 |
| |
| typedef struct sDot11fFfba_timeout { |
| uint16_t timeout; |
| } tDot11fFfba_timeout; |
| |
| #define DOT11F_FF_BA_TIMEOUT_LEN (2) |
| |
| void dot11f_unpack_ff_ba_timeout(tpAniSirGlobal, uint8_t *, |
| tDot11fFfba_timeout *); |
| |
| void dot11f_pack_ff_ba_timeout(tpAniSirGlobal, tDot11fFfba_timeout *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfdelba_param_set { |
| uint16_t reserved:11; |
| uint16_t initiator:1; |
| uint16_t tid:4; |
| } tDot11fFfdelba_param_set; |
| |
| #define DOT11F_FF_DELBA_PARAM_SET_LEN (2) |
| |
| void dot11f_unpack_ff_delba_param_set(tpAniSirGlobal, uint8_t *, |
| tDot11fFfdelba_param_set *); |
| |
| void dot11f_pack_ff_delba_param_set(tpAniSirGlobal, tDot11fFfdelba_param_set *, |
| uint8_t *); |
| |
| #define DELBA_PARAM_SET_RESERVED_OFFSET 0 |
| #define DELBA_PARAM_SET_RESERVED_WIDTH 11 |
| #define DELBA_PARAM_SET_INITIATOR_OFFSET 11 |
| #define DELBA_PARAM_SET_INITIATOR_WIDTH 1 |
| #define DELBA_PARAM_SET_TID_OFFSET 12 |
| #define DELBA_PARAM_SET_TID_WIDTH 4 |
| |
| 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 |
| |
| typedef struct sDot11fFfp2p_action_oui { |
| uint8_t oui_data[4]; |
| } tDot11fFfp2p_action_oui; |
| |
| #define DOT11F_FF_P2P_ACTION_OUI_LEN (4) |
| |
| void dot11f_unpack_ff_p2p_action_oui(tpAniSirGlobal, uint8_t *, |
| tDot11fFfp2p_action_oui *); |
| |
| void dot11f_pack_ff_p2p_action_oui(tpAniSirGlobal, tDot11fFfp2p_action_oui *, |
| uint8_t *); |
| |
| typedef struct sDot11fFfp2p_action_subtype { |
| uint8_t subtype; |
| } tDot11fFfp2p_action_subtype; |
| |
| #define DOT11F_FF_P2P_ACTION_SUBTYPE_LEN (1) |
| |
| void dot11f_unpack_ff_p2p_action_subtype(tpAniSirGlobal, uint8_t *, |
| tDot11fFfp2p_action_subtype *); |
| |
| void dot11f_pack_ff_p2p_action_subtype(tpAniSirGlobal, |
| tDot11fFfp2p_action_subtype *, |
| uint8_t *); |
| |
| |
| /********************************************************************* |
| * TLVs * |
| ********************************************************************/ |
| |
| |
| /* ID 1 (0x0001) */ |
| typedef struct sDot11fTLVAuthorizedMACs { |
| uint8_t present; |
| uint8_t mac[6]; |
| } tDot11fTLVAuthorizedMACs; |
| |
| #define DOT11F_TLV_AUTHORIZEDMACS (1) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_AUTHORIZEDMACS_MIN_LEN (6) |
| |
| #define DOT11F_TLV_AUTHORIZEDMACS_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_authorized_ma_cs( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVAuthorizedMACs*); |
| |
| uint32_t dot11f_pack_tlv_authorized_ma_cs( |
| tpAniSirGlobal, |
| tDot11fTLVAuthorizedMACs *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_AuthorizedMACs( |
| tpAniSirGlobal, |
| tDot11fTLVAuthorizedMACs *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 3 (0x0003) */ |
| typedef struct sDot11fTLVRequestToEnroll { |
| uint8_t present; |
| uint8_t req; |
| } tDot11fTLVRequestToEnroll; |
| |
| #define DOT11F_TLV_REQUESTTOENROLL (3) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_REQUESTTOENROLL_MIN_LEN (1) |
| |
| #define DOT11F_TLV_REQUESTTOENROLL_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_RequestToEnroll( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVRequestToEnroll*); |
| |
| uint32_t dot11f_pack_tlv_request_to_enroll( |
| tpAniSirGlobal, |
| tDot11fTLVRequestToEnroll *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_RequestToEnroll( |
| tpAniSirGlobal, |
| tDot11fTLVRequestToEnroll *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 0 (0x0000) */ |
| typedef struct sDot11fTLVVersion2 { |
| uint8_t present; |
| uint8_t minor:4; |
| uint8_t major:4; |
| } tDot11fTLVVersion2; |
| |
| #define DOT11F_TLV_VERSION2 (0) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_VERSION2_MIN_LEN (1) |
| |
| #define DOT11F_TLV_VERSION2_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_version2( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVVersion2*); |
| |
| uint32_t dot11f_pack_tlv_version2( |
| tpAniSirGlobal, |
| tDot11fTLVVersion2 *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_Version2( |
| tpAniSirGlobal, |
| tDot11fTLVVersion2 *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4183 (0x1057) */ |
| typedef struct sDot11fTLVAPSetupLocked { |
| uint8_t present; |
| uint8_t fLocked; |
| } tDot11fTLVAPSetupLocked; |
| |
| #define DOT11F_TLV_APSETUPLOCKED (4183) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_APSETUPLOCKED_MIN_LEN (3) |
| |
| #define DOT11F_TLV_APSETUPLOCKED_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_APSetupLocked( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVAPSetupLocked*); |
| |
| uint32_t dot11f_pack_tlv_ap_setup_locked( |
| tpAniSirGlobal, |
| tDot11fTLVAPSetupLocked *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_APSetupLocked( |
| tpAniSirGlobal, |
| tDot11fTLVAPSetupLocked *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4098 (0x1002) */ |
| typedef struct sDot11fTLVAssociationState { |
| uint8_t present; |
| uint16_t state; |
| } tDot11fTLVAssociationState; |
| |
| #define DOT11F_TLV_ASSOCIATIONSTATE (4098) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_ASSOCIATIONSTATE_MIN_LEN (4) |
| |
| #define DOT11F_TLV_ASSOCIATIONSTATE_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_AssociationState( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVAssociationState*); |
| |
| uint32_t dot11f_pack_tlv_association_state( |
| tpAniSirGlobal, |
| tDot11fTLVAssociationState *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_AssociationState( |
| tpAniSirGlobal, |
| tDot11fTLVAssociationState *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4104 (0x1008) */ |
| typedef struct sDot11fTLVConfigMethods { |
| uint8_t present; |
| uint16_t methods; |
| } tDot11fTLVConfigMethods; |
| |
| #define DOT11F_TLV_CONFIGMETHODS (4104) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_CONFIGMETHODS_MIN_LEN (4) |
| |
| #define DOT11F_TLV_CONFIGMETHODS_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_ConfigMethods( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVConfigMethods*); |
| |
| uint32_t dot11f_pack_tlv_config_methods( |
| tpAniSirGlobal, |
| tDot11fTLVConfigMethods *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ConfigMethods( |
| tpAniSirGlobal, |
| tDot11fTLVConfigMethods *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4105 (0x1009) */ |
| typedef struct sDot11fTLVConfigurationError { |
| uint8_t present; |
| uint16_t error; |
| } tDot11fTLVConfigurationError; |
| |
| #define DOT11F_TLV_CONFIGURATIONERROR (4105) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_CONFIGURATIONERROR_MIN_LEN (4) |
| |
| #define DOT11F_TLV_CONFIGURATIONERROR_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_ConfigurationError( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVConfigurationError*); |
| |
| uint32_t dot11f_pack_tlv_configuration_error( |
| tpAniSirGlobal, |
| tDot11fTLVConfigurationError *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ConfigurationError( |
| tpAniSirGlobal, |
| tDot11fTLVConfigurationError *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4113 (0x1011) */ |
| typedef struct sDot11fTLVDeviceName { |
| uint8_t present; |
| uint8_t num_text; |
| uint8_t text[32]; |
| } tDot11fTLVDeviceName; |
| |
| #define DOT11F_TLV_DEVICENAME (4113) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_DEVICENAME_MIN_LEN (2) |
| |
| #define DOT11F_TLV_DEVICENAME_MAX_LEN (34) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_device_name( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVDeviceName*); |
| |
| uint32_t dot11f_pack_tlv_device_name( |
| tpAniSirGlobal, |
| tDot11fTLVDeviceName *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_DeviceName( |
| tpAniSirGlobal, |
| tDot11fTLVDeviceName *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4114 (0x1012) */ |
| typedef struct sDot11fTLVDevicePasswordID { |
| uint8_t present; |
| uint16_t id; |
| } tDot11fTLVDevicePasswordID; |
| |
| #define DOT11F_TLV_DEVICEPASSWORDID (4114) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_DEVICEPASSWORDID_MIN_LEN (4) |
| |
| #define DOT11F_TLV_DEVICEPASSWORDID_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_DevicePasswordID( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVDevicePasswordID*); |
| |
| uint32_t dot11f_pack_tlv_device_password_id( |
| tpAniSirGlobal, |
| tDot11fTLVDevicePasswordID *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_DevicePasswordID( |
| tpAniSirGlobal, |
| tDot11fTLVDevicePasswordID *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 8 (0x0008) */ |
| typedef struct sDot11fTLVExtendedListenTiming { |
| uint8_t present; |
| uint16_t availibilityPeriod; |
| uint16_t availibilityInterval; |
| } tDot11fTLVExtendedListenTiming; |
| |
| #define DOT11F_TLV_EXTENDEDLISTENTIMING (8) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_EXTENDEDLISTENTIMING_MIN_LEN (5) |
| |
| #define DOT11F_TLV_EXTENDEDLISTENTIMING_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_extended_listen_timing( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVExtendedListenTiming*); |
| |
| uint32_t dot11f_pack_tlv_extended_listen_timing( |
| tpAniSirGlobal, |
| tDot11fTLVExtendedListenTiming *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ExtendedListenTiming( |
| tpAniSirGlobal, |
| tDot11fTLVExtendedListenTiming *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 6 (0x0006) */ |
| typedef struct sDot11fTLVListenChannel { |
| uint8_t present; |
| uint8_t countryString[3]; |
| uint8_t regulatoryClass; |
| uint8_t channel; |
| } tDot11fTLVListenChannel; |
| |
| #define DOT11F_TLV_LISTENCHANNEL (6) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_LISTENCHANNEL_MIN_LEN (6) |
| |
| #define DOT11F_TLV_LISTENCHANNEL_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_listen_channel( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVListenChannel*); |
| |
| uint32_t dot11f_pack_tlv_listen_channel( |
| tpAniSirGlobal, |
| tDot11fTLVListenChannel *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ListenChannel( |
| tpAniSirGlobal, |
| tDot11fTLVListenChannel *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4129 (0x1021) */ |
| typedef struct sDot11fTLVManufacturer { |
| uint8_t present; |
| uint8_t num_name; |
| uint8_t name[64]; |
| } tDot11fTLVManufacturer; |
| |
| #define DOT11F_TLV_MANUFACTURER (4129) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_MANUFACTURER_MIN_LEN (2) |
| |
| #define DOT11F_TLV_MANUFACTURER_MAX_LEN (66) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_manufacturer( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVManufacturer*); |
| |
| uint32_t dot11f_pack_tlv_manufacturer( |
| tpAniSirGlobal, |
| tDot11fTLVManufacturer *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_Manufacturer( |
| tpAniSirGlobal, |
| tDot11fTLVManufacturer *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 1 (0x0001) */ |
| typedef struct sDot11fTLVMinorReasonCode { |
| uint8_t present; |
| uint8_t minorReasonCode; |
| } tDot11fTLVMinorReasonCode; |
| |
| #define DOT11F_TLV_MINORREASONCODE (1) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_MINORREASONCODE_MIN_LEN (2) |
| |
| #define DOT11F_TLV_MINORREASONCODE_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_MinorReasonCode( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVMinorReasonCode*); |
| |
| uint32_t dot11f_pack_tlv_minor_reason_code( |
| tpAniSirGlobal, |
| tDot11fTLVMinorReasonCode *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_MinorReasonCode( |
| tpAniSirGlobal, |
| tDot11fTLVMinorReasonCode *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4131 (0x1023) */ |
| typedef struct sDot11fTLVModelName { |
| uint8_t present; |
| uint8_t num_text; |
| uint8_t text[32]; |
| } tDot11fTLVModelName; |
| |
| #define DOT11F_TLV_MODELNAME (4131) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_MODELNAME_MIN_LEN (2) |
| |
| #define DOT11F_TLV_MODELNAME_MAX_LEN (34) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_model_name( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVModelName*); |
| |
| uint32_t dot11f_pack_tlv_model_name( |
| tpAniSirGlobal, |
| tDot11fTLVModelName *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ModelName( |
| tpAniSirGlobal, |
| tDot11fTLVModelName *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4132 (0x1024) */ |
| typedef struct sDot11fTLVModelNumber { |
| uint8_t present; |
| uint8_t num_text; |
| uint8_t text[32]; |
| } tDot11fTLVModelNumber; |
| |
| #define DOT11F_TLV_MODELNUMBER (4132) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_MODELNUMBER_MIN_LEN (2) |
| |
| #define DOT11F_TLV_MODELNUMBER_MAX_LEN (34) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_model_number( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVModelNumber*); |
| |
| uint32_t dot11f_pack_tlv_model_number( |
| tpAniSirGlobal, |
| tDot11fTLVModelNumber *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ModelNumber( |
| tpAniSirGlobal, |
| tDot11fTLVModelNumber *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 12 (0x000c) */ |
| typedef struct sDot11fTLVNoticeOfAbsence { |
| uint8_t present; |
| uint8_t index; |
| uint8_t CTSWindowOppPS; |
| uint8_t num_NoADesc; |
| uint8_t NoADesc[36]; |
| } tDot11fTLVNoticeOfAbsence; |
| |
| #define DOT11F_TLV_NOTICEOFABSENCE (12) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_NOTICEOFABSENCE_MIN_LEN (3) |
| |
| #define DOT11F_TLV_NOTICEOFABSENCE_MAX_LEN (39) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_notice_of_absence( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVNoticeOfAbsence*); |
| |
| uint32_t dot11f_pack_tlv_notice_of_absence( |
| tpAniSirGlobal, |
| tDot11fTLVNoticeOfAbsence *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_NoticeOfAbsence( |
| tpAniSirGlobal, |
| tDot11fTLVNoticeOfAbsence *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 17 (0x0011) */ |
| typedef struct sDot11fTLVOperatingChannel { |
| uint8_t present; |
| uint8_t countryString[3]; |
| uint8_t regulatoryClass; |
| uint8_t channel; |
| } tDot11fTLVOperatingChannel; |
| |
| #define DOT11F_TLV_OPERATINGCHANNEL (17) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_OPERATINGCHANNEL_MIN_LEN (6) |
| |
| #define DOT11F_TLV_OPERATINGCHANNEL_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_operating_channel( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVOperatingChannel*); |
| |
| uint32_t dot11f_pack_tlv_operating_channel( |
| tpAniSirGlobal, |
| tDot11fTLVOperatingChannel *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_OperatingChannel( |
| tpAniSirGlobal, |
| tDot11fTLVOperatingChannel *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 2 (0x0002) */ |
| typedef struct sDot11fTLVP2PCapability { |
| uint8_t present; |
| uint8_t deviceCapability; |
| uint8_t groupCapability; |
| } tDot11fTLVP2PCapability; |
| |
| #define DOT11F_TLV_P2PCAPABILITY (2) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PCAPABILITY_MIN_LEN (3) |
| |
| #define DOT11F_TLV_P2PCAPABILITY_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_p2_p_capability( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PCapability*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_capability( |
| tpAniSirGlobal, |
| tDot11fTLVP2PCapability *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PCapability( |
| tpAniSirGlobal, |
| tDot11fTLVP2PCapability *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 3 (0x0003) */ |
| typedef struct sDot11fTLVP2PDeviceId { |
| uint8_t present; |
| uint8_t P2PDeviceAddress[6]; |
| } tDot11fTLVP2PDeviceId; |
| |
| #define DOT11F_TLV_P2PDEVICEID (3) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PDEVICEID_MIN_LEN (7) |
| |
| #define DOT11F_TLV_P2PDEVICEID_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_p2_p_device_id( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PDeviceId*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_device_id( |
| tpAniSirGlobal, |
| tDot11fTLVP2PDeviceId *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PDeviceId( |
| tpAniSirGlobal, |
| tDot11fTLVP2PDeviceId *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 13 (0x000d) */ |
| typedef struct sDot11fTLVP2PDeviceInfo { |
| uint8_t present; |
| uint8_t P2PDeviceAddress[6]; |
| uint16_t configMethod; |
| uint8_t primaryDeviceType[8]; |
| tDot11fTLVDeviceName DeviceName; |
| } tDot11fTLVP2PDeviceInfo; |
| |
| #define DOT11F_TLV_P2PDEVICEINFO (13) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PDEVICEINFO_MIN_LEN (17) |
| |
| #define DOT11F_TLV_P2PDEVICEINFO_MAX_LEN (53) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_p2_p_device_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PDeviceInfo*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_device_info( |
| tpAniSirGlobal, |
| tDot11fTLVP2PDeviceInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PDeviceInfo( |
| tpAniSirGlobal, |
| tDot11fTLVP2PDeviceInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 14 (0x000e) */ |
| typedef struct sDot11fTLVP2PGroupInfo { |
| uint8_t present; |
| uint8_t num_P2PClientInfoDesc; |
| uint8_t P2PClientInfoDesc[1024]; |
| } tDot11fTLVP2PGroupInfo; |
| |
| #define DOT11F_TLV_P2PGROUPINFO (14) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PGROUPINFO_MIN_LEN (1) |
| |
| #define DOT11F_TLV_P2PGROUPINFO_MAX_LEN (1025) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_p2_p_group_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PGroupInfo*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_group_info( |
| tpAniSirGlobal, |
| tDot11fTLVP2PGroupInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PGroupInfo( |
| tpAniSirGlobal, |
| tDot11fTLVP2PGroupInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 0 (0x0000) */ |
| typedef struct sDot11fTLVP2PStatus { |
| uint8_t present; |
| uint8_t status; |
| } tDot11fTLVP2PStatus; |
| |
| #define DOT11F_TLV_P2PSTATUS (0) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PSTATUS_MIN_LEN (2) |
| |
| #define DOT11F_TLV_P2PSTATUS_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_P2PStatus( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PStatus*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_status( |
| tpAniSirGlobal, |
| tDot11fTLVP2PStatus *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PStatus( |
| tpAniSirGlobal, |
| tDot11fTLVP2PStatus *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4180 (0x1054) */ |
| typedef struct sDot11fTLVPrimaryDeviceType { |
| uint8_t present; |
| uint16_t primary_category; |
| uint8_t oui[4]; |
| uint16_t sub_category; |
| } tDot11fTLVPrimaryDeviceType; |
| |
| #define DOT11F_TLV_PRIMARYDEVICETYPE (4180) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_PRIMARYDEVICETYPE_MIN_LEN (10) |
| |
| #define DOT11F_TLV_PRIMARYDEVICETYPE_MAX_LEN (10) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_primary_device_type( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVPrimaryDeviceType*); |
| |
| uint32_t dot11f_pack_tlv_primary_device_type( |
| tpAniSirGlobal, |
| tDot11fTLVPrimaryDeviceType *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_PrimaryDeviceType( |
| tpAniSirGlobal, |
| tDot11fTLVPrimaryDeviceType *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4156 (0x103c) */ |
| typedef struct sDot11fTLVRFBands { |
| uint8_t present; |
| uint8_t bands; |
| } tDot11fTLVRFBands; |
| |
| #define DOT11F_TLV_RFBANDS (4156) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_RFBANDS_MIN_LEN (3) |
| |
| #define DOT11F_TLV_RFBANDS_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_RFBands( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVRFBands*); |
| |
| uint32_t dot11f_pack_tlv_rf_bands( |
| tpAniSirGlobal, |
| tDot11fTLVRFBands *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_RFBands( |
| tpAniSirGlobal, |
| tDot11fTLVRFBands *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4202 (0x106a) */ |
| typedef struct sDot11fTLVRequestDeviceType { |
| uint8_t present; |
| uint16_t primary_category; |
| uint8_t oui[4]; |
| uint16_t sub_category; |
| } tDot11fTLVRequestDeviceType; |
| |
| #define DOT11F_TLV_REQUESTDEVICETYPE (4202) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_REQUESTDEVICETYPE_MIN_LEN (10) |
| |
| #define DOT11F_TLV_REQUESTDEVICETYPE_MAX_LEN (10) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_request_device_type( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVRequestDeviceType*); |
| |
| uint32_t dot11f_pack_tlv_request_device_type( |
| tpAniSirGlobal, |
| tDot11fTLVRequestDeviceType *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_RequestDeviceType( |
| tpAniSirGlobal, |
| tDot11fTLVRequestDeviceType *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4154 (0x103a) */ |
| typedef struct sDot11fTLVRequestType { |
| uint8_t present; |
| uint8_t reqType; |
| } tDot11fTLVRequestType; |
| |
| #define DOT11F_TLV_REQUESTTYPE (4154) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_REQUESTTYPE_MIN_LEN (3) |
| |
| #define DOT11F_TLV_REQUESTTYPE_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_RequestType( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVRequestType*); |
| |
| uint32_t dot11f_pack_tlv_request_type( |
| tpAniSirGlobal, |
| tDot11fTLVRequestType *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_RequestType( |
| tpAniSirGlobal, |
| tDot11fTLVRequestType *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4155 (0x103b) */ |
| typedef struct sDot11fTLVResponseType { |
| uint8_t present; |
| uint8_t resType; |
| } tDot11fTLVResponseType; |
| |
| #define DOT11F_TLV_RESPONSETYPE (4155) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_RESPONSETYPE_MIN_LEN (3) |
| |
| #define DOT11F_TLV_RESPONSETYPE_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_ResponseType( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVResponseType*); |
| |
| uint32_t dot11f_pack_tlv_response_type( |
| tpAniSirGlobal, |
| tDot11fTLVResponseType *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_ResponseType( |
| tpAniSirGlobal, |
| tDot11fTLVResponseType *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4161 (0x1041) */ |
| typedef struct sDot11fTLVSelectedRegistrar { |
| uint8_t present; |
| uint8_t selected; |
| } tDot11fTLVSelectedRegistrar; |
| |
| #define DOT11F_TLV_SELECTEDREGISTRAR (4161) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_SELECTEDREGISTRAR_MIN_LEN (3) |
| |
| #define DOT11F_TLV_SELECTEDREGISTRAR_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_SelectedRegistrar( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVSelectedRegistrar*); |
| |
| uint32_t dot11f_pack_tlv_selected_registrar( |
| tpAniSirGlobal, |
| tDot11fTLVSelectedRegistrar *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_SelectedRegistrar( |
| tpAniSirGlobal, |
| tDot11fTLVSelectedRegistrar *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4179 (0x1053) */ |
| typedef struct sDot11fTLVSelectedRegistrarConfigMethods { |
| uint8_t present; |
| uint16_t methods; |
| } tDot11fTLVSelectedRegistrarConfigMethods; |
| |
| #define DOT11F_TLV_SELECTEDREGISTRARCONFIGMETHODS (4179) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_SELECTEDREGISTRARCONFIGMETHODS_MIN_LEN (4) |
| |
| #define DOT11F_TLV_SELECTEDREGISTRARCONFIGMETHODS_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_SelectedRegistrarConfigMethods( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVSelectedRegistrarConfigMethods*); |
| |
| uint32_t dot11f_pack_tlv_selected_registrar_config_methods( |
| tpAniSirGlobal, |
| tDot11fTLVSelectedRegistrarConfigMethods *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_SelectedRegistrarConfigMethods( |
| tpAniSirGlobal, |
| tDot11fTLVSelectedRegistrarConfigMethods *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4162 (0x1042) */ |
| typedef struct sDot11fTLVSerialNumber { |
| uint8_t present; |
| uint8_t num_text; |
| uint8_t text[32]; |
| } tDot11fTLVSerialNumber; |
| |
| #define DOT11F_TLV_SERIALNUMBER (4162) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_SERIALNUMBER_MIN_LEN (2) |
| |
| #define DOT11F_TLV_SERIALNUMBER_MAX_LEN (34) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_serial_number( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVSerialNumber*); |
| |
| uint32_t dot11f_pack_tlv_serial_number( |
| tpAniSirGlobal, |
| tDot11fTLVSerialNumber *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_SerialNumber( |
| tpAniSirGlobal, |
| tDot11fTLVSerialNumber *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4167 (0x1047) */ |
| typedef struct sDot11fTLVUUID_E { |
| uint8_t present; |
| uint8_t uuid[16]; |
| } tDot11fTLVUUID_E; |
| |
| #define DOT11F_TLV_UUID_E (4167) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_UUID_E_MIN_LEN (18) |
| |
| #define DOT11F_TLV_UUID_E_MAX_LEN (18) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_uuid_e( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVUUID_E*); |
| |
| uint32_t dot11f_pack_tlv_uuid_e( |
| tpAniSirGlobal, |
| tDot11fTLVUUID_E *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_UUID_E( |
| tpAniSirGlobal, |
| tDot11fTLVUUID_E *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4168 (0x1048) */ |
| typedef struct sDot11fTLVUUID_R { |
| uint8_t present; |
| uint8_t uuid[16]; |
| } tDot11fTLVUUID_R; |
| |
| #define DOT11F_TLV_UUID_R (4168) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_UUID_R_MIN_LEN (18) |
| |
| #define DOT11F_TLV_UUID_R_MAX_LEN (18) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_uuid_r( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVUUID_R*); |
| |
| uint32_t dot11f_pack_tlv_uuid_r( |
| tpAniSirGlobal, |
| tDot11fTLVUUID_R *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_UUID_R( |
| tpAniSirGlobal, |
| tDot11fTLVUUID_R *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4169 (0x1049) */ |
| typedef struct sDot11fTLVVendorExtension { |
| uint8_t present; |
| uint8_t vendorId[3]; |
| tDot11fTLVVersion2 Version2; |
| tDot11fTLVAuthorizedMACs AuthorizedMACs; |
| tDot11fTLVRequestToEnroll RequestToEnroll; |
| } tDot11fTLVVendorExtension; |
| |
| #define DOT11F_TLV_VENDOREXTENSION (4169) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_VENDOREXTENSION_MIN_LEN (5) |
| |
| #define DOT11F_TLV_VENDOREXTENSION_MAX_LEN (19) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_vendor_extension( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVVendorExtension*); |
| |
| uint32_t dot11f_pack_tlv_vendor_extension( |
| tpAniSirGlobal, |
| tDot11fTLVVendorExtension *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_VendorExtension( |
| tpAniSirGlobal, |
| tDot11fTLVVendorExtension *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4170 (0x104a) */ |
| typedef struct sDot11fTLVVersion { |
| uint8_t present; |
| uint8_t minor:4; |
| uint8_t major:4; |
| } tDot11fTLVVersion; |
| |
| #define DOT11F_TLV_VERSION (4170) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_VERSION_MIN_LEN (3) |
| |
| #define DOT11F_TLV_VERSION_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_version( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVVersion*); |
| |
| uint32_t dot11f_pack_tlv_version( |
| tpAniSirGlobal, |
| tDot11fTLVVersion *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_Version( |
| tpAniSirGlobal, |
| tDot11fTLVVersion *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 4164 (0x1044) */ |
| typedef struct sDot11fTLVWPSState { |
| uint8_t present; |
| uint8_t state; |
| } tDot11fTLVWPSState; |
| |
| #define DOT11F_TLV_WPSSTATE (4164) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_WPSSTATE_MIN_LEN (3) |
| |
| #define DOT11F_TLV_WPSSTATE_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_WPSState( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVWPSState*); |
| |
| uint32_t dot11f_pack_tlv_wps_state( |
| tpAniSirGlobal, |
| tDot11fTLVWPSState *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_WPSState( |
| tpAniSirGlobal, |
| tDot11fTLVWPSState *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* 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; |
| uint8_t P2PDeviceAddress[6]; |
| } tDot11fTLVP2PInterface; |
| |
| #define DOT11F_TLV_P2PINTERFACE (16) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PINTERFACE_MIN_LEN (7) |
| |
| #define DOT11F_TLV_P2PINTERFACE_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_p2_p_interface( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PInterface*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_interface( |
| tpAniSirGlobal, |
| tDot11fTLVP2PInterface *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PInterface( |
| tpAniSirGlobal, |
| tDot11fTLVP2PInterface *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* ID 10 (0x000a) */ |
| typedef struct sDot11fTLVP2PManageability { |
| uint8_t present; |
| uint8_t manageability; |
| } tDot11fTLVP2PManageability; |
| |
| #define DOT11F_TLV_P2PMANAGEABILITY (10) |
| |
| /* N.B. These #defines do *not* include the ID & length */ |
| #define DOT11F_TLV_P2PMANAGEABILITY_MIN_LEN (2) |
| |
| #define DOT11F_TLV_P2PMANAGEABILITY_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| uint32_t dot11f_unpack_tlv_P2PManageability( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint16_t, |
| tDot11fTLVP2PManageability*); |
| |
| uint32_t dot11f_pack_tlv_p2_p_manageability( |
| tpAniSirGlobal, |
| tDot11fTLVP2PManageability *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_tlv_P2PManageability( |
| tpAniSirGlobal, |
| tDot11fTLVP2PManageability *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| /********************************************************************* |
| * Information Elements * |
| ********************************************************************/ |
| |
| |
| /* EID 2 (0x02) */ |
| typedef struct sDot11fIEGTK { |
| uint8_t present; |
| uint16_t keyId:2; |
| uint16_t reserved:14; |
| uint8_t keyLength; |
| uint8_t RSC[8]; |
| uint8_t num_key; |
| uint8_t key[32]; |
| } tDot11fIEGTK; |
| |
| #define DOT11F_EID_GTK (2) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_GTK_MIN_LEN (16) |
| |
| #define DOT11F_IE_GTK_MAX_LEN (43) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_gtk( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEGTK*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_gtk( |
| tpAniSirGlobal, |
| tDot11fIEGTK *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_GTK( |
| tpAniSirGlobal, |
| tDot11fIEGTK *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 4 (0x04) */ |
| typedef struct sDot11fIEIGTK { |
| uint8_t present; |
| uint8_t keyID[2]; |
| uint8_t IPN[6]; |
| uint8_t keyLength; |
| uint8_t key[24]; |
| } tDot11fIEIGTK; |
| |
| #define DOT11F_EID_IGTK (4) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_IGTK_MIN_LEN (33) |
| |
| #define DOT11F_IE_IGTK_MAX_LEN (33) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_igtk( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEIGTK*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_igtk( |
| tpAniSirGlobal, |
| tDot11fIEIGTK *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_IGTK( |
| tpAniSirGlobal, |
| tDot11fIEIGTK *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 3 (0x03) */ |
| typedef struct sDot11fIER0KH_ID { |
| uint8_t present; |
| uint8_t num_PMK_R0_ID; |
| uint8_t PMK_R0_ID[48]; |
| } tDot11fIER0KH_ID; |
| |
| #define DOT11F_EID_R0KH_ID (3) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_R0KH_ID_MIN_LEN (1) |
| |
| #define DOT11F_IE_R0KH_ID_MAX_LEN (48) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_r0_kh_id( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIER0KH_ID*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_r0_kh_id( |
| tpAniSirGlobal, |
| tDot11fIER0KH_ID *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_R0KH_ID( |
| tpAniSirGlobal, |
| tDot11fIER0KH_ID *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 1 (0x01) */ |
| typedef struct sDot11fIER1KH_ID { |
| uint8_t present; |
| uint8_t PMK_R1_ID[6]; |
| } tDot11fIER1KH_ID; |
| |
| #define DOT11F_EID_R1KH_ID (1) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_R1KH_ID_MIN_LEN (6) |
| |
| #define DOT11F_IE_R1KH_ID_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_r1_kh_id( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIER1KH_ID*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_r1_kh_id( |
| tpAniSirGlobal, |
| tDot11fIER1KH_ID *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_R1KH_ID( |
| tpAniSirGlobal, |
| tDot11fIER1KH_ID *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 51 (0x33) */ |
| typedef struct sDot11fIEAPChannelReport { |
| uint8_t present; |
| uint8_t regulatoryClass; |
| uint8_t num_channelList; |
| uint8_t channelList[50]; |
| } tDot11fIEAPChannelReport; |
| |
| #define DOT11F_EID_APCHANNELREPORT (51) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_APCHANNELREPORT_MIN_LEN (1) |
| |
| #define DOT11F_IE_APCHANNELREPORT_MAX_LEN (51) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ap_channel_report( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEAPChannelReport*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ap_channel_report( |
| tpAniSirGlobal, |
| tDot11fIEAPChannelReport *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_APChannelReport( |
| tpAniSirGlobal, |
| tDot11fIEAPChannelReport *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 2 (0x02) */ |
| typedef struct sDot11fIEBcnReportingDetail { |
| uint8_t present; |
| uint8_t reportingDetail; |
| } tDot11fIEBcnReportingDetail; |
| |
| #define DOT11F_EID_BCNREPORTINGDETAIL (2) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_BCNREPORTINGDETAIL_MIN_LEN (1) |
| |
| #define DOT11F_IE_BCNREPORTINGDETAIL_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_bcn_reporting_detail( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEBcnReportingDetail*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_bcn_reporting_detail( |
| tpAniSirGlobal, |
| tDot11fIEBcnReportingDetail *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_BcnReportingDetail( |
| tpAniSirGlobal, |
| tDot11fIEBcnReportingDetail *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 1 (0x01) */ |
| typedef struct sDot11fIEBeaconReportFrmBody { |
| uint8_t present; |
| uint8_t num_reportedFields; |
| uint8_t reportedFields[224]; |
| } tDot11fIEBeaconReportFrmBody; |
| |
| #define DOT11F_EID_BEACONREPORTFRMBODY (1) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_BEACONREPORTFRMBODY_MIN_LEN (0) |
| |
| #define DOT11F_IE_BEACONREPORTFRMBODY_MAX_LEN (224) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_beacon_report_frm_body( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEBeaconReportFrmBody*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_beacon_report_frm_body( |
| tpAniSirGlobal, |
| tDot11fIEBeaconReportFrmBody *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_BeaconReportFrmBody( |
| tpAniSirGlobal, |
| tDot11fIEBeaconReportFrmBody *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 1 (0x01) */ |
| typedef struct sDot11fIEBeaconReporting { |
| uint8_t present; |
| uint8_t reportingCondition; |
| uint8_t threshold; |
| } tDot11fIEBeaconReporting; |
| |
| #define DOT11F_EID_BEACONREPORTING (1) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_BEACONREPORTING_MIN_LEN (2) |
| |
| #define DOT11F_IE_BEACONREPORTING_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_beacon_reporting( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEBeaconReporting*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_beacon_reporting( |
| tpAniSirGlobal, |
| tDot11fIEBeaconReporting *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_BeaconReporting( |
| tpAniSirGlobal, |
| tDot11fIEBeaconReporting *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 2 (0x02) */ |
| typedef struct sDot11fIECondensedCountryStr { |
| uint8_t present; |
| uint8_t countryStr[2]; |
| } tDot11fIECondensedCountryStr; |
| |
| #define DOT11F_EID_CONDENSEDCOUNTRYSTR (2) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_CONDENSEDCOUNTRYSTR_MIN_LEN (2) |
| |
| #define DOT11F_IE_CONDENSEDCOUNTRYSTR_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_condensed_country_str( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIECondensedCountryStr*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_condensed_country_str( |
| tpAniSirGlobal, |
| tDot11fIECondensedCountryStr *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_CondensedCountryStr( |
| tpAniSirGlobal, |
| tDot11fIECondensedCountryStr *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 66 (0x42) */ |
| typedef struct sDot11fIEMeasurementPilot { |
| uint8_t present; |
| uint8_t measurementPilot; |
| uint8_t num_vendorSpecific; |
| uint8_t vendorSpecific[255]; |
| } tDot11fIEMeasurementPilot; |
| |
| #define DOT11F_EID_MEASUREMENTPILOT (66) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MEASUREMENTPILOT_MIN_LEN (1) |
| |
| #define DOT11F_IE_MEASUREMENTPILOT_MAX_LEN (256) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_measurement_pilot( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEMeasurementPilot*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_measurement_pilot( |
| tpAniSirGlobal, |
| tDot11fIEMeasurementPilot *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_MeasurementPilot( |
| tpAniSirGlobal, |
| tDot11fIEMeasurementPilot *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 71 (0x47) */ |
| typedef struct sDot11fIEMultiBssid { |
| uint8_t present; |
| uint8_t maxBSSIDIndicator; |
| uint8_t num_vendorSpecific; |
| uint8_t vendorSpecific[255]; |
| } tDot11fIEMultiBssid; |
| |
| #define DOT11F_EID_MULTIBSSID (71) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MULTIBSSID_MIN_LEN (1) |
| |
| #define DOT11F_IE_MULTIBSSID_MAX_LEN (256) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_multi_bssid( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEMultiBssid*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_multi_bssid( |
| tpAniSirGlobal, |
| tDot11fIEMultiBssid *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_MultiBssid( |
| tpAniSirGlobal, |
| tDot11fIEMultiBssid *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 57 (0x39) */ |
| typedef struct sDot11fIERICData { |
| uint8_t present; |
| uint8_t Identifier; |
| uint8_t resourceDescCount; |
| uint16_t statusCode; |
| } tDot11fIERICData; |
| |
| #define DOT11F_EID_RICDATA (57) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RICDATA_MIN_LEN (4) |
| |
| #define DOT11F_IE_RICDATA_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ric_data( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERICData*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ric_data( |
| tpAniSirGlobal, |
| tDot11fIERICData *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_RICData( |
| tpAniSirGlobal, |
| tDot11fIERICData *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 75 (0x4b) */ |
| typedef struct sDot11fIERICDescriptor { |
| uint8_t present; |
| uint8_t resourceType; |
| uint8_t num_variableData; |
| uint8_t variableData[255]; |
| } tDot11fIERICDescriptor; |
| |
| #define DOT11F_EID_RICDESCRIPTOR (75) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RICDESCRIPTOR_MIN_LEN (1) |
| |
| #define DOT11F_IE_RICDESCRIPTOR_MAX_LEN (256) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ric_descriptor( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERICDescriptor*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ric_descriptor( |
| tpAniSirGlobal, |
| tDot11fIERICDescriptor *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_RICDescriptor( |
| tpAniSirGlobal, |
| tDot11fIERICDescriptor *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 70 (0x46) */ |
| typedef struct sDot11fIERRMEnabledCap { |
| uint8_t present; |
| uint8_t LinkMeasurement:1; |
| uint8_t NeighborRpt:1; |
| uint8_t parallel:1; |
| uint8_t repeated:1; |
| uint8_t BeaconPassive:1; |
| uint8_t BeaconActive:1; |
| uint8_t BeaconTable:1; |
| uint8_t BeaconRepCond:1; |
| uint8_t FrameMeasurement:1; |
| uint8_t ChannelLoad:1; |
| uint8_t NoiseHistogram:1; |
| uint8_t statistics:1; |
| uint8_t LCIMeasurement:1; |
| uint8_t LCIAzimuth:1; |
| uint8_t TCMCapability:1; |
| uint8_t triggeredTCM:1; |
| uint8_t APChanReport:1; |
| uint8_t RRMMIBEnabled:1; |
| uint8_t operatingChanMax:3; |
| uint8_t nonOperatinChanMax:3; |
| uint8_t MeasurementPilot:3; |
| uint8_t MeasurementPilotEnabled:1; |
| uint8_t NeighborTSFOffset:1; |
| uint8_t RCPIMeasurement:1; |
| uint8_t RSNIMeasurement:1; |
| uint8_t BssAvgAccessDelay:1; |
| uint8_t BSSAvailAdmission:1; |
| uint8_t AntennaInformation:1; |
| uint8_t fine_time_meas_rpt:1; |
| uint8_t lci_capability:1; |
| uint8_t reserved:4; |
| } tDot11fIERRMEnabledCap; |
| |
| #define DOT11F_EID_RRMENABLEDCAP (70) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RRMENABLEDCAP_MIN_LEN (5) |
| |
| #define DOT11F_IE_RRMENABLEDCAP_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_rrm_enabled_cap( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERRMEnabledCap*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_rrm_enabled_cap( |
| tpAniSirGlobal, |
| tDot11fIERRMEnabledCap *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_RRMEnabledCap( |
| tpAniSirGlobal, |
| tDot11fIERRMEnabledCap *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 10 (0x0a) */ |
| typedef struct sDot11fIERequestedInfo { |
| uint8_t present; |
| uint8_t num_requested_eids; |
| uint8_t requested_eids[255]; |
| } tDot11fIERequestedInfo; |
| |
| #define DOT11F_EID_REQUESTEDINFO (10) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_REQUESTEDINFO_MIN_LEN (0) |
| |
| #define DOT11F_IE_REQUESTEDINFO_MAX_LEN (255) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_requested_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERequestedInfo*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_requested_info( |
| tpAniSirGlobal, |
| tDot11fIERequestedInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_RequestedInfo( |
| tpAniSirGlobal, |
| tDot11fIERequestedInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 0 (0x00) */ |
| typedef struct sDot11fIESSID { |
| uint8_t present; |
| uint8_t num_ssid; |
| uint8_t ssid[32]; |
| } tDot11fIESSID; |
| |
| #define DOT11F_EID_SSID (0) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_SSID_MIN_LEN (0) |
| |
| #define DOT11F_IE_SSID_MAX_LEN (32) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ssid( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIESSID*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ssid( |
| tpAniSirGlobal, |
| tDot11fIESSID *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_SSID( |
| tpAniSirGlobal, |
| tDot11fIESSID *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 15 (0x0f) */ |
| typedef struct sDot11fIESchedule { |
| uint8_t present; |
| uint16_t aggregation:1; |
| uint16_t tsid:4; |
| uint16_t direction:2; |
| uint16_t reserved:9; |
| uint32_t service_start_time; |
| uint32_t service_interval; |
| uint16_t max_service_dur; |
| uint16_t spec_interval; |
| } tDot11fIESchedule; |
| |
| #define DOT11F_EID_SCHEDULE (15) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_SCHEDULE_MIN_LEN (14) |
| |
| #define DOT11F_IE_SCHEDULE_MAX_LEN (14) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_schedule( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIESchedule*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_schedule( |
| tpAniSirGlobal, |
| tDot11fIESchedule *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_Schedule( |
| tpAniSirGlobal, |
| tDot11fIESchedule *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 14 (0x0e) */ |
| typedef struct sDot11fIETCLAS { |
| uint8_t present; |
| uint8_t user_priority; |
| uint8_t classifier_type; |
| uint8_t classifier_mask; |
| union { |
| struct { |
| uint8_t source[6]; |
| uint8_t dest[6]; |
| uint16_t type; |
| } EthParams; /* classifier_type = 0 */ |
| struct { |
| uint8_t version; |
| union { |
| struct { |
| uint8_t source[4]; |
| uint8_t dest[4]; |
| uint16_t src_port; |
| uint16_t dest_port; |
| uint8_t DSCP; |
| uint8_t proto; |
| uint8_t reserved; |
| } IpV4Params; /* version = 4 */ |
| struct { |
| uint8_t source[16]; |
| uint8_t dest[16]; |
| uint16_t src_port; |
| uint16_t dest_port; |
| uint8_t flow_label[3]; |
| } IpV6Params; /* version = 6 */ |
| } params; |
| } IpParams; /* classifier_type = 1 */ |
| struct { |
| uint16_t tag_type; |
| } Params8021dq; /* classifier_type = 2 */ |
| } info; |
| } tDot11fIETCLAS; |
| |
| #define DOT11F_EID_TCLAS (14) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TCLAS_MIN_LEN (5) |
| |
| #define DOT11F_IE_TCLAS_MAX_LEN (43) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tclas( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETCLAS*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tclas( |
| tpAniSirGlobal, |
| tDot11fIETCLAS *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ietclas( |
| tpAniSirGlobal, |
| tDot11fIETCLAS *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 44 (0x2c) */ |
| typedef struct sDot11fIETCLASSPROC { |
| uint8_t present; |
| uint8_t processing; |
| } tDot11fIETCLASSPROC; |
| |
| #define DOT11F_EID_TCLASSPROC (44) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TCLASSPROC_MIN_LEN (1) |
| |
| #define DOT11F_IE_TCLASSPROC_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tclasSPROC( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETCLASSPROC*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tclassproc( |
| tpAniSirGlobal, |
| tDot11fIETCLASSPROC *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ietclasSPROC( |
| tpAniSirGlobal, |
| tDot11fIETCLASSPROC *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 43 (0x2b) */ |
| typedef struct sDot11fIETSDelay { |
| uint8_t present; |
| uint32_t delay; |
| } tDot11fIETSDelay; |
| |
| #define DOT11F_EID_TSDELAY (43) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TSDELAY_MIN_LEN (4) |
| |
| #define DOT11F_IE_TSDELAY_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ts_delay( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETSDelay*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ts_delay( |
| tpAniSirGlobal, |
| tDot11fIETSDelay *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TSDelay( |
| tpAniSirGlobal, |
| tDot11fIETSDelay *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 1 (0x01) */ |
| typedef struct sDot11fIETSFInfo { |
| uint8_t present; |
| uint16_t TsfOffset; |
| uint16_t BeaconIntvl; |
| } tDot11fIETSFInfo; |
| |
| #define DOT11F_EID_TSFINFO (1) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TSFINFO_MIN_LEN (4) |
| |
| #define DOT11F_IE_TSFINFO_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tsf_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETSFInfo*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tsf_info( |
| tpAniSirGlobal, |
| tDot11fIETSFInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TSFInfo( |
| tpAniSirGlobal, |
| tDot11fIETSFInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 13 (0x0d) */ |
| typedef struct sDot11fIETSPEC { |
| uint8_t present; |
| uint16_t traffic_type:1; |
| uint16_t tsid:4; |
| uint16_t direction:2; |
| uint16_t access_policy:2; |
| uint16_t aggregation:1; |
| uint16_t psb:1; |
| uint16_t user_priority:3; |
| uint16_t tsinfo_ack_pol:2; |
| uint8_t schedule:1; |
| uint8_t unused:7; |
| uint16_t size:15; |
| uint16_t fixed:1; |
| uint16_t max_msdu_size; |
| uint32_t min_service_int; |
| uint32_t max_service_int; |
| uint32_t inactivity_int; |
| uint32_t suspension_int; |
| uint32_t service_start_time; |
| uint32_t min_data_rate; |
| uint32_t mean_data_rate; |
| uint32_t peak_data_rate; |
| uint32_t burst_size; |
| uint32_t delay_bound; |
| uint32_t min_phy_rate; |
| uint16_t surplus_bw_allowance; |
| uint16_t medium_time; |
| } tDot11fIETSPEC; |
| |
| #define DOT11F_EID_TSPEC (13) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TSPEC_MIN_LEN (55) |
| |
| #define DOT11F_IE_TSPEC_MAX_LEN (55) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tspec( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETSPEC*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tspec( |
| tpAniSirGlobal, |
| tDot11fIETSPEC *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TSPEC( |
| tpAniSirGlobal, |
| tDot11fIETSPEC *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 191 (0xbf) */ |
| typedef struct sDot11fIEVHTCaps { |
| uint8_t present; |
| uint32_t maxMPDULen:2; |
| uint32_t supportedChannelWidthSet:2; |
| uint32_t ldpcCodingCap:1; |
| uint32_t shortGI80MHz:1; |
| uint32_t shortGI160and80plus80MHz:1; |
| uint32_t txSTBC:1; |
| uint32_t rxSTBC:3; |
| uint32_t suBeamFormerCap:1; |
| uint32_t suBeamformeeCap:1; |
| uint32_t csnofBeamformerAntSup:3; |
| uint32_t numSoundingDim:3; |
| uint32_t muBeamformerCap:1; |
| uint32_t muBeamformeeCap:1; |
| uint32_t vhtTXOPPS:1; |
| uint32_t htcVHTCap:1; |
| uint32_t maxAMPDULenExp:3; |
| uint32_t vhtLinkAdaptCap:2; |
| uint32_t rxAntPattern:1; |
| uint32_t txAntPattern:1; |
| uint32_t reserved1:2; |
| uint16_t rxMCSMap; |
| uint16_t rxHighSupDataRate:13; |
| uint16_t reserved2:3; |
| uint16_t txMCSMap; |
| uint16_t txSupDataRate:13; |
| uint16_t reserved3:3; |
| } tDot11fIEVHTCaps; |
| |
| #define DOT11F_EID_VHTCAPS (191) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VHTCAPS_MIN_LEN (12) |
| |
| #define DOT11F_IE_VHTCAPS_MAX_LEN (12) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vht_caps( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEVHTCaps*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vht_caps( |
| tpAniSirGlobal, |
| tDot11fIEVHTCaps *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_VHTCaps( |
| tpAniSirGlobal, |
| tDot11fIEVHTCaps *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 192 (0xc0) */ |
| typedef struct sDot11fIEVHTOperation { |
| uint8_t present; |
| uint8_t chanWidth; |
| uint8_t chanCenterFreqSeg1; |
| uint8_t chanCenterFreqSeg2; |
| uint16_t basicMCSSet; |
| } tDot11fIEVHTOperation; |
| |
| #define DOT11F_EID_VHTOPERATION (192) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VHTOPERATION_MIN_LEN (5) |
| |
| #define DOT11F_IE_VHTOPERATION_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vht_operation( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEVHTOperation*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vht_operation( |
| tpAniSirGlobal, |
| tDot11fIEVHTOperation *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_VHTOperation( |
| tpAniSirGlobal, |
| tDot11fIEVHTOperation *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x09} */ |
| typedef struct sDot11fIEWMMSchedule { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint16_t aggregation:1; |
| uint16_t tsid:4; |
| uint16_t direction:2; |
| uint16_t reserved:9; |
| uint32_t service_start_time; |
| uint32_t service_interval; |
| uint16_t max_service_dur; |
| uint16_t spec_interval; |
| } tDot11fIEWMMSchedule; |
| |
| #define DOT11F_EID_WMMSCHEDULE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMSCHEDULE_MIN_LEN (20) |
| |
| #define DOT11F_IE_WMMSCHEDULE_MAX_LEN (20) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmm_schedule( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMSchedule*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmm_schedule( |
| tpAniSirGlobal, |
| tDot11fIEWMMSchedule *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMSchedule( |
| tpAniSirGlobal, |
| tDot11fIEWMMSchedule *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x06} */ |
| typedef struct sDot11fIEWMMTCLAS { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint8_t user_priority; |
| uint8_t classifier_type; |
| uint8_t classifier_mask; |
| union { |
| struct { |
| uint8_t source[6]; |
| uint8_t dest[6]; |
| uint16_t type; |
| } EthParams; /* classifier_type = 0 */ |
| struct { |
| uint8_t version; |
| union { |
| struct { |
| uint8_t source[4]; |
| uint8_t dest[4]; |
| uint16_t src_port; |
| uint16_t dest_port; |
| uint8_t DSCP; |
| uint8_t proto; |
| uint8_t reserved; |
| } IpV4Params; /* version = 4 */ |
| struct { |
| uint8_t source[16]; |
| uint8_t dest[16]; |
| uint16_t src_port; |
| uint16_t dest_port; |
| uint8_t flow_label[3]; |
| } IpV6Params; /* version = 6 */ |
| } params; |
| } IpParams; /* classifier_type = 1 */ |
| struct { |
| uint16_t tag_type; |
| } Params8021dq; /* classifier_type = 2 */ |
| } info; |
| } tDot11fIEWMMTCLAS; |
| |
| #define DOT11F_EID_WMMTCLAS (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMTCLAS_MIN_LEN (11) |
| |
| #define DOT11F_IE_WMMTCLAS_MAX_LEN (49) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmmtclas( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMTCLAS*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmmtclas( |
| tpAniSirGlobal, |
| tDot11fIEWMMTCLAS *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewmmtclas( |
| tpAniSirGlobal, |
| tDot11fIEWMMTCLAS *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x07} */ |
| typedef struct sDot11fIEWMMTCLASPROC { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint8_t processing; |
| } tDot11fIEWMMTCLASPROC; |
| |
| #define DOT11F_EID_WMMTCLASPROC (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMTCLASPROC_MIN_LEN (7) |
| |
| #define DOT11F_IE_WMMTCLASPROC_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmmtclasproc( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMTCLASPROC*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmmtclasproc( |
| tpAniSirGlobal, |
| tDot11fIEWMMTCLASPROC *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewmmtclasPROC( |
| tpAniSirGlobal, |
| tDot11fIEWMMTCLASPROC *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x08} */ |
| typedef struct sDot11fIEWMMTSDelay { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint32_t delay; |
| } tDot11fIEWMMTSDelay; |
| |
| #define DOT11F_EID_WMMTSDELAY (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMTSDELAY_MIN_LEN (10) |
| |
| #define DOT11F_IE_WMMTSDELAY_MAX_LEN (10) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmmts_delay( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMTSDelay*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmmts_delay( |
| tpAniSirGlobal, |
| tDot11fIEWMMTSDelay *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMTSDelay( |
| tpAniSirGlobal, |
| tDot11fIEWMMTSDelay *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x02} */ |
| typedef struct sDot11fIEWMMTSPEC { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint16_t traffic_type:1; |
| uint16_t tsid:4; |
| uint16_t direction:2; |
| uint16_t access_policy:2; |
| uint16_t aggregation:1; |
| uint16_t psb:1; |
| uint16_t user_priority:3; |
| uint16_t tsinfo_ack_pol:2; |
| uint8_t tsinfo_rsvd:7; |
| uint8_t burst_size_defn:1; |
| uint16_t size:15; |
| uint16_t fixed:1; |
| uint16_t max_msdu_size; |
| uint32_t min_service_int; |
| uint32_t max_service_int; |
| uint32_t inactivity_int; |
| uint32_t suspension_int; |
| uint32_t service_start_time; |
| uint32_t min_data_rate; |
| uint32_t mean_data_rate; |
| uint32_t peak_data_rate; |
| uint32_t burst_size; |
| uint32_t delay_bound; |
| uint32_t min_phy_rate; |
| uint16_t surplus_bw_allowance; |
| uint16_t medium_time; |
| } tDot11fIEWMMTSPEC; |
| |
| #define DOT11F_EID_WMMTSPEC (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMTSPEC_MIN_LEN (61) |
| |
| #define DOT11F_IE_WMMTSPEC_MAX_LEN (61) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmmtspec( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMTSPEC*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmmtspec( |
| tpAniSirGlobal, |
| tDot11fIEWMMTSPEC *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMTSPEC( |
| tpAniSirGlobal, |
| tDot11fIEWMMTSPEC *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 194 (0xc2) */ |
| typedef struct sDot11fIEWiderBWChanSwitchAnn { |
| uint8_t present; |
| uint8_t newChanWidth; |
| uint8_t newCenterChanFreq0; |
| uint8_t newCenterChanFreq1; |
| } tDot11fIEWiderBWChanSwitchAnn; |
| |
| #define DOT11F_EID_WIDERBWCHANSWITCHANN (194) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WIDERBWCHANSWITCHANN_MIN_LEN (3) |
| |
| #define DOT11F_IE_WIDERBWCHANSWITCHANN_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wider_bw_chan_switch_ann( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWiderBWChanSwitchAnn*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wider_bw_chan_switch_ann( |
| tpAniSirGlobal, |
| tDot11fIEWiderBWChanSwitchAnn *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WiderBWChanSwitchAnn( |
| tpAniSirGlobal, |
| tDot11fIEWiderBWChanSwitchAnn *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 1 (0x01) */ |
| typedef struct sDot11fIEazimuth_req { |
| uint8_t present; |
| uint8_t request; |
| } tDot11fIEazimuth_req; |
| |
| #define DOT11F_EID_AZIMUTH_REQ (1) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_AZIMUTH_REQ_MIN_LEN (1) |
| |
| #define DOT11F_IE_AZIMUTH_REQ_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_azimuth_req( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEazimuth_req*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_azimuth_req( |
| tpAniSirGlobal, |
| tDot11fIEazimuth_req *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_azimuth_req( |
| tpAniSirGlobal, |
| tDot11fIEazimuth_req *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 2 (0x02) */ |
| typedef struct sDot11fIEbeacon_report_frm_body_fragment_id { |
| uint8_t present; |
| uint16_t beacon_report_id:8; |
| uint16_t fragment_id_number:7; |
| uint16_t more_fragments:1; |
| } tDot11fIEbeacon_report_frm_body_fragment_id; |
| |
| #define DOT11F_EID_BEACON_REPORT_FRM_BODY_FRAGMENT_ID (2) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_BEACON_REPORT_FRM_BODY_FRAGMENT_ID_MIN_LEN (2) |
| |
| #define DOT11F_IE_BEACON_REPORT_FRM_BODY_FRAGMENT_ID_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_beacon_report_frm_body_fragment_id( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEbeacon_report_frm_body_fragment_id*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_beacon_report_frm_body_fragment_id( |
| tpAniSirGlobal, |
| tDot11fIEbeacon_report_frm_body_fragment_id *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_beacon_report_frm_body_fragment_id( |
| tpAniSirGlobal, |
| tDot11fIEbeacon_report_frm_body_fragment_id *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 164 (0xa4) */ |
| typedef struct sDot11fIElast_beacon_report_indication { |
| uint8_t present; |
| uint8_t last_fragment; |
| } tDot11fIElast_beacon_report_indication; |
| |
| #define DOT11F_EID_LAST_BEACON_REPORT_INDICATION (164) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_LAST_BEACON_REPORT_INDICATION_MIN_LEN (1) |
| |
| #define DOT11F_IE_LAST_BEACON_REPORT_INDICATION_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_last_beacon_report_indication( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIElast_beacon_report_indication*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_last_beacon_report_indication( |
| tpAniSirGlobal, |
| tDot11fIElast_beacon_report_indication *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_last_beacon_report_indication( |
| tpAniSirGlobal, |
| tDot11fIElast_beacon_report_indication *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 4 (0x04) */ |
| typedef struct sDot11fIEmax_age { |
| uint8_t present; |
| uint16_t max_age; |
| } tDot11fIEmax_age; |
| |
| #define DOT11F_EID_MAX_AGE (4) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MAX_AGE_MIN_LEN (2) |
| |
| #define DOT11F_IE_MAX_AGE_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_max_age( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEmax_age*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_max_age( |
| tpAniSirGlobal, |
| tDot11fIEmax_age *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_max_age( |
| tpAniSirGlobal, |
| tDot11fIEmax_age *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 52 (0x34) */ |
| typedef struct sDot11fIEneighbor_rpt { |
| uint8_t present; |
| uint8_t bssid[6]; |
| uint8_t APReachability:2; |
| uint8_t Security:1; |
| uint8_t KeyScope:1; |
| uint8_t SpecMgmtCap:1; |
| uint8_t QosCap:1; |
| uint8_t apsd:1; |
| uint8_t rrm:1; |
| uint8_t DelayedBA:1; |
| uint8_t ImmBA:1; |
| uint8_t MobilityDomain:1; |
| uint8_t reserved:5; |
| uint16_t reserved1; |
| uint8_t regulatoryClass; |
| uint8_t channel; |
| uint8_t PhyType; |
| tDot11fIETSFInfo TSFInfo; |
| tDot11fIECondensedCountryStr CondensedCountryStr; |
| tDot11fIEMeasurementPilot MeasurementPilot; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMultiBssid MultiBssid; |
| } tDot11fIEneighbor_rpt; |
| |
| #define DOT11F_EID_NEIGHBOR_RPT (52) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_NEIGHBOR_RPT_MIN_LEN (13) |
| |
| #define DOT11F_IE_NEIGHBOR_RPT_MAX_LEN (546) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_neighbor_rpt( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEneighbor_rpt*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_neighbor_rpt( |
| tpAniSirGlobal, |
| tDot11fIEneighbor_rpt *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_neighbor_rpt( |
| tpAniSirGlobal, |
| tDot11fIEneighbor_rpt *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 2 (0x02) */ |
| typedef struct sDot11fIEreq_mac_addr { |
| uint8_t present; |
| uint8_t addr[6]; |
| } tDot11fIEreq_mac_addr; |
| |
| #define DOT11F_EID_REQ_MAC_ADDR (2) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_REQ_MAC_ADDR_MIN_LEN (6) |
| |
| #define DOT11F_IE_REQ_MAC_ADDR_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_req_mac_addr( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEreq_mac_addr*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_req_mac_addr( |
| tpAniSirGlobal, |
| tDot11fIEreq_mac_addr *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_req_mac_addr( |
| tpAniSirGlobal, |
| tDot11fIEreq_mac_addr *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 3 (0x03) */ |
| typedef struct sDot11fIEtgt_mac_addr { |
| uint8_t present; |
| uint8_t addr[6]; |
| } tDot11fIEtgt_mac_addr; |
| |
| #define DOT11F_EID_TGT_MAC_ADDR (3) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TGT_MAC_ADDR_MIN_LEN (6) |
| |
| #define DOT11F_IE_TGT_MAC_ADDR_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tgt_mac_addr( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEtgt_mac_addr*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tgt_mac_addr( |
| tpAniSirGlobal, |
| tDot11fIEtgt_mac_addr *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_tgt_mac_addr( |
| tpAniSirGlobal, |
| tDot11fIEtgt_mac_addr *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 195 (0xc3) */ |
| typedef struct sDot11fIEvht_transmit_power_env { |
| uint8_t present; |
| uint8_t num_bytes; |
| uint8_t bytes[5]; |
| } tDot11fIEvht_transmit_power_env; |
| |
| #define DOT11F_EID_VHT_TRANSMIT_POWER_ENV (195) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VHT_TRANSMIT_POWER_ENV_MIN_LEN (2) |
| |
| #define DOT11F_IE_VHT_TRANSMIT_POWER_ENV_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vht_transmit_power_env( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEvht_transmit_power_env*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vht_transmit_power_env( |
| tpAniSirGlobal, |
| tDot11fIEvht_transmit_power_env *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_vht_transmit_power_env( |
| tpAniSirGlobal, |
| tDot11fIEvht_transmit_power_env *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 197 (0xc5) */ |
| typedef struct sDot11fIEAID { |
| uint8_t present; |
| uint16_t assocId; |
| } tDot11fIEAID; |
| |
| #define DOT11F_EID_AID (197) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_AID_MIN_LEN (2) |
| |
| #define DOT11F_IE_AID_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_aid( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEAID*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_aid( |
| tpAniSirGlobal, |
| tDot11fIEAID *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_AID( |
| tpAniSirGlobal, |
| tDot11fIEAID *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 4 (0x04) */ |
| typedef struct sDot11fIECFParams { |
| uint8_t present; |
| uint8_t cfp_count; |
| uint8_t cfp_period; |
| uint16_t cfp_maxduration; |
| uint16_t cfp_durremaining; |
| } tDot11fIECFParams; |
| |
| #define DOT11F_EID_CFPARAMS (4) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_CFPARAMS_MIN_LEN (6) |
| |
| #define DOT11F_IE_CFPARAMS_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_cf_params( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIECFParams*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_cf_params( |
| tpAniSirGlobal, |
| tDot11fIECFParams *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_CFParams( |
| tpAniSirGlobal, |
| tDot11fIECFParams *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 16 (0x10) */ |
| typedef struct sDot11fIEChallengeText { |
| uint8_t present; |
| uint8_t num_text; |
| uint8_t text[253]; |
| } tDot11fIEChallengeText; |
| |
| #define DOT11F_EID_CHALLENGETEXT (16) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_CHALLENGETEXT_MIN_LEN (1) |
| |
| #define DOT11F_IE_CHALLENGETEXT_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_challenge_text( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEChallengeText*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_challenge_text( |
| tpAniSirGlobal, |
| tDot11fIEChallengeText *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ChallengeText( |
| tpAniSirGlobal, |
| tDot11fIEChallengeText *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 37 (0x25) */ |
| typedef struct sDot11fIEChanSwitchAnn { |
| uint8_t present; |
| uint8_t switchMode; |
| uint8_t newChannel; |
| uint8_t switchCount; |
| } tDot11fIEChanSwitchAnn; |
| |
| #define DOT11F_EID_CHANSWITCHANN (37) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_CHANSWITCHANN_MIN_LEN (3) |
| |
| #define DOT11F_IE_CHANSWITCHANN_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_chan_switch_ann( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEChanSwitchAnn*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_chan_switch_ann( |
| tpAniSirGlobal, |
| tDot11fIEChanSwitchAnn *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ChanSwitchAnn( |
| tpAniSirGlobal, |
| tDot11fIEChanSwitchAnn *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 196 (0xc4) */ |
| typedef struct sDot11fIEChannelSwitchWrapper { |
| uint8_t present; |
| tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; |
| tDot11fIEvht_transmit_power_env vht_transmit_power_env; |
| } tDot11fIEChannelSwitchWrapper; |
| |
| #define DOT11F_EID_CHANNELSWITCHWRAPPER (196) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_CHANNELSWITCHWRAPPER_MIN_LEN (0) |
| |
| #define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN (12) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_channel_switch_wrapper( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEChannelSwitchWrapper*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_channel_switch_wrapper( |
| tpAniSirGlobal, |
| tDot11fIEChannelSwitchWrapper *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_channel_switch_wrapper( |
| tpAniSirGlobal, |
| tDot11fIEChannelSwitchWrapper *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 7 (0x07) */ |
| typedef struct sDot11fIECountry { |
| uint8_t present; |
| uint8_t country[3]; |
| uint8_t num_triplets; |
| uint8_t triplets[84][3]; |
| } tDot11fIECountry; |
| |
| #define DOT11F_EID_COUNTRY (7) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_COUNTRY_MIN_LEN (3) |
| |
| #define DOT11F_IE_COUNTRY_MAX_LEN (255) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_country( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIECountry*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_country( |
| tpAniSirGlobal, |
| tDot11fIECountry *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_country( |
| tpAniSirGlobal, |
| tDot11fIECountry *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 3 (0x03) */ |
| typedef struct sDot11fIEDSParams { |
| uint8_t present; |
| uint8_t curr_channel; |
| } tDot11fIEDSParams; |
| |
| #define DOT11F_EID_DSPARAMS (3) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_DSPARAMS_MIN_LEN (1) |
| |
| #define DOT11F_IE_DSPARAMS_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_DSParams( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEDSParams*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ds_params( |
| tpAniSirGlobal, |
| tDot11fIEDSParams *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_DSParams( |
| tpAniSirGlobal, |
| tDot11fIEDSParams *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 12 (0x0c) */ |
| typedef struct sDot11fIEEDCAParamSet { |
| uint8_t present; |
| uint8_t qos; |
| uint8_t reserved; |
| uint8_t acbe_aifsn:4; |
| uint8_t acbe_acm:1; |
| uint8_t acbe_aci:2; |
| uint8_t unused1:1; |
| uint8_t acbe_acwmin:4; |
| uint8_t acbe_acwmax:4; |
| uint16_t acbe_txoplimit; |
| uint8_t acbk_aifsn:4; |
| uint8_t acbk_acm:1; |
| uint8_t acbk_aci:2; |
| uint8_t unused2:1; |
| uint8_t acbk_acwmin:4; |
| uint8_t acbk_acwmax:4; |
| uint16_t acbk_txoplimit; |
| uint8_t acvi_aifsn:4; |
| uint8_t acvi_acm:1; |
| uint8_t acvi_aci:2; |
| uint8_t unused3:1; |
| uint8_t acvi_acwmin:4; |
| uint8_t acvi_acwmax:4; |
| uint16_t acvi_txoplimit; |
| uint8_t acvo_aifsn:4; |
| uint8_t acvo_acm:1; |
| uint8_t acvo_aci:2; |
| uint8_t unused4:1; |
| uint8_t acvo_acwmin:4; |
| uint8_t acvo_acwmax:4; |
| uint16_t acvo_txoplimit; |
| } tDot11fIEEDCAParamSet; |
| |
| #define DOT11F_EID_EDCAPARAMSET (12) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_EDCAPARAMSET_MIN_LEN (18) |
| |
| #define DOT11F_IE_EDCAPARAMSET_MAX_LEN (18) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_edca_param_set( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEEDCAParamSet*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_edca_param_set( |
| tpAniSirGlobal, |
| tDot11fIEEDCAParamSet *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_EDCAParamSet( |
| tpAniSirGlobal, |
| tDot11fIEEDCAParamSet *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 42 (0x2a) */ |
| typedef struct sDot11fIEERPInfo { |
| uint8_t present; |
| uint8_t non_erp_present:1; |
| uint8_t use_prot:1; |
| uint8_t barker_preamble:1; |
| uint8_t unused:5; |
| } tDot11fIEERPInfo; |
| |
| #define DOT11F_EID_ERPINFO (42) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ERPINFO_MIN_LEN (1) |
| |
| #define DOT11F_IE_ERPINFO_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_erp_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEERPInfo*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_erp_info( |
| tpAniSirGlobal, |
| tDot11fIEERPInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ERPInfo( |
| tpAniSirGlobal, |
| tDot11fIEERPInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 156 (0x9c) {OUI 0x00, 0x40, 0x96, 0x00} */ |
| typedef struct sDot11fIEESECckmOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[20]; |
| } tDot11fIEESECckmOpaque; |
| |
| #define DOT11F_EID_ESECCKMOPAQUE (156) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESECCKMOPAQUE_MIN_LEN (10) |
| |
| #define DOT11F_IE_ESECCKMOPAQUE_MAX_LEN (24) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ese_cckm_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEESECckmOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ese_cckm_opaque( |
| tpAniSirGlobal, |
| tDot11fIEESECckmOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ESECckmOpaque( |
| tpAniSirGlobal, |
| tDot11fIEESECckmOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x40, 0x96, 0x01} */ |
| typedef struct sDot11fIEESERadMgmtCap { |
| uint8_t present; |
| uint8_t mgmt_state; |
| uint8_t mbssid_mask:3; |
| uint8_t reserved:5; |
| } tDot11fIEESERadMgmtCap; |
| |
| #define DOT11F_EID_ESERADMGMTCAP (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESERADMGMTCAP_MIN_LEN (6) |
| |
| #define DOT11F_IE_ESERADMGMTCAP_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEESERadMgmtCap*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ese_rad_mgmt_cap( |
| tpAniSirGlobal, |
| tDot11fIEESERadMgmtCap *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ESERadMgmtCap( |
| tpAniSirGlobal, |
| tDot11fIEESERadMgmtCap *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x40, 0x96, 0x07} */ |
| typedef struct sDot11fIEESETrafStrmMet { |
| uint8_t present; |
| uint8_t tsid; |
| uint8_t state; |
| uint16_t msmt_interval; |
| } tDot11fIEESETrafStrmMet; |
| |
| #define DOT11F_EID_ESETRAFSTRMMET (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESETRAFSTRMMET_MIN_LEN (8) |
| |
| #define DOT11F_IE_ESETRAFSTRMMET_MAX_LEN (8) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ese_traf_strm_met( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEESETrafStrmMet*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ese_traf_strm_met( |
| tpAniSirGlobal, |
| tDot11fIEESETrafStrmMet *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ESETrafStrmMet( |
| tpAniSirGlobal, |
| tDot11fIEESETrafStrmMet *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x40, 0x96, 0x08} */ |
| typedef struct sDot11fIEESETrafStrmRateSet { |
| uint8_t present; |
| uint8_t tsid; |
| uint8_t num_tsrates; |
| uint8_t tsrates[8]; |
| } tDot11fIEESETrafStrmRateSet; |
| |
| #define DOT11F_EID_ESETRAFSTRMRATESET (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESETRAFSTRMRATESET_MIN_LEN (5) |
| |
| #define DOT11F_IE_ESETRAFSTRMRATESET_MAX_LEN (13) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEESETrafStrmRateSet*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ese_traf_strm_rate_set( |
| tpAniSirGlobal, |
| tDot11fIEESETrafStrmRateSet *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ESETrafStrmRateSet( |
| tpAniSirGlobal, |
| tDot11fIEESETrafStrmRateSet *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 150 (0x96) {OUI 0x00, 0x40, 0x96, 0x00} */ |
| typedef struct sDot11fIEESETxmitPower { |
| uint8_t present; |
| uint8_t power_limit; |
| uint8_t reserved; |
| } tDot11fIEESETxmitPower; |
| |
| #define DOT11F_EID_ESETXMITPOWER (150) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESETXMITPOWER_MIN_LEN (6) |
| |
| #define DOT11F_IE_ESETXMITPOWER_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ese_txmit_power( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEESETxmitPower*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ese_txmit_power( |
| tpAniSirGlobal, |
| tDot11fIEESETxmitPower *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ESETxmitPower( |
| tpAniSirGlobal, |
| tDot11fIEESETxmitPower *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x40, 0x96, 0x03} */ |
| typedef struct sDot11fIEESEVersion { |
| uint8_t present; |
| uint8_t version; |
| } tDot11fIEESEVersion; |
| |
| #define DOT11F_EID_ESEVERSION (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESEVERSION_MIN_LEN (5) |
| |
| #define DOT11F_IE_ESEVERSION_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ese_version( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEESEVersion*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ese_version( |
| tpAniSirGlobal, |
| tDot11fIEESEVersion *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ESEVersion( |
| tpAniSirGlobal, |
| tDot11fIEESEVersion *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 127 (0x7f) */ |
| typedef struct sDot11fIEExtCap { |
| uint8_t present; |
| uint8_t num_bytes; |
| uint8_t bytes[15]; |
| } tDot11fIEExtCap; |
| |
| #define DOT11F_EID_EXTCAP (127) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_EXTCAP_MIN_LEN (1) |
| |
| #define DOT11F_IE_EXTCAP_MAX_LEN (15) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ext_cap( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEExtCap*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ext_cap( |
| tpAniSirGlobal, |
| tDot11fIEExtCap *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ExtCap( |
| tpAniSirGlobal, |
| tDot11fIEExtCap *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 50 (0x32) */ |
| typedef struct sDot11fIEExtSuppRates { |
| uint8_t present; |
| uint8_t num_rates; |
| uint8_t rates[12]; |
| } tDot11fIEExtSuppRates; |
| |
| #define DOT11F_EID_EXTSUPPRATES (50) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_EXTSUPPRATES_MIN_LEN (1) |
| |
| #define DOT11F_IE_EXTSUPPRATES_MAX_LEN (12) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ext_supp_rates( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEExtSuppRates*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ext_supp_rates( |
| tpAniSirGlobal, |
| tDot11fIEExtSuppRates *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ExtSuppRates( |
| tpAniSirGlobal, |
| tDot11fIEExtSuppRates *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 2 (0x02) */ |
| typedef struct sDot11fIEFHParamSet { |
| uint8_t present; |
| uint16_t dwell_time; |
| uint8_t hop_set; |
| uint8_t hop_pattern; |
| uint8_t hop_index; |
| } tDot11fIEFHParamSet; |
| |
| #define DOT11F_EID_FHPARAMSET (2) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FHPARAMSET_MIN_LEN (5) |
| |
| #define DOT11F_IE_FHPARAMSET_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fh_param_set( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEFHParamSet*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fh_param_set( |
| tpAniSirGlobal, |
| tDot11fIEFHParamSet *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_FHParamSet( |
| tpAniSirGlobal, |
| tDot11fIEFHParamSet *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 8 (0x08) */ |
| typedef struct sDot11fIEFHParams { |
| uint8_t present; |
| uint8_t radix; |
| uint8_t nchannels; |
| } tDot11fIEFHParams; |
| |
| #define DOT11F_EID_FHPARAMS (8) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FHPARAMS_MIN_LEN (2) |
| |
| #define DOT11F_IE_FHPARAMS_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fh_params( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEFHParams*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fh_params( |
| tpAniSirGlobal, |
| tDot11fIEFHParams *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_FHParams( |
| tpAniSirGlobal, |
| tDot11fIEFHParams *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 9 (0x09) */ |
| typedef struct sDot11fIEFHPattTable { |
| uint8_t present; |
| uint8_t flag; |
| uint8_t nsets; |
| uint8_t modulus; |
| uint8_t offset; |
| uint8_t num_randtable; |
| uint8_t randtable[251]; |
| } tDot11fIEFHPattTable; |
| |
| #define DOT11F_EID_FHPATTTABLE (9) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FHPATTTABLE_MIN_LEN (4) |
| |
| #define DOT11F_IE_FHPATTTABLE_MAX_LEN (255) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fh_patt_table( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEFHPattTable*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fh_patt_table( |
| tpAniSirGlobal, |
| tDot11fIEFHPattTable *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_FHPattTable( |
| tpAniSirGlobal, |
| tDot11fIEFHPattTable *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 55 (0x37) */ |
| typedef struct sDot11fIEFTInfo { |
| uint8_t present; |
| uint16_t reserved:8; |
| uint16_t IECount:8; |
| uint8_t MIC[16]; |
| uint8_t Anonce[32]; |
| uint8_t Snonce[32]; |
| tDot11fIER1KH_ID R1KH_ID; |
| tDot11fIEGTK GTK; |
| tDot11fIER0KH_ID R0KH_ID; |
| tDot11fIEIGTK IGTK; |
| } tDot11fIEFTInfo; |
| |
| #define DOT11F_EID_FTINFO (55) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FTINFO_MIN_LEN (82) |
| |
| #define DOT11F_IE_FTINFO_MAX_LEN (220) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ft_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEFTInfo*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ft_info( |
| tpAniSirGlobal, |
| tDot11fIEFTInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ieft_info( |
| tpAniSirGlobal, |
| tDot11fIEFTInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 45 (0x2d) */ |
| typedef struct sDot11fIEHTCaps { |
| uint8_t present; |
| uint16_t advCodingCap:1; |
| uint16_t supportedChannelWidthSet:1; |
| uint16_t mimoPowerSave:2; |
| uint16_t greenField:1; |
| uint16_t shortGI20MHz:1; |
| uint16_t shortGI40MHz:1; |
| uint16_t txSTBC:1; |
| uint16_t rxSTBC:2; |
| uint16_t delayedBA:1; |
| uint16_t maximalAMSDUsize:1; |
| uint16_t dsssCckMode40MHz:1; |
| uint16_t psmp:1; |
| uint16_t stbcControlFrame:1; |
| uint16_t lsigTXOPProtection:1; |
| uint8_t maxRxAMPDUFactor:2; |
| uint8_t mpduDensity:3; |
| uint8_t reserved1:3; |
| uint8_t supportedMCSSet[16]; |
| uint16_t pco:1; |
| uint16_t transitionTime:2; |
| uint16_t reserved2:5; |
| uint16_t mcsFeedback:2; |
| uint16_t reserved3:6; |
| uint32_t txBF:1; |
| uint32_t rxStaggeredSounding:1; |
| uint32_t txStaggeredSounding:1; |
| uint32_t rxZLF:1; |
| uint32_t txZLF:1; |
| uint32_t implicitTxBF:1; |
| uint32_t calibration:2; |
| uint32_t explicitCSITxBF:1; |
| uint32_t explicitUncompressedSteeringMatrix:1; |
| uint32_t explicitBFCSIFeedback:3; |
| uint32_t explicitUncompressedSteeringMatrixFeedback:3; |
| uint32_t explicitCompressedSteeringMatrixFeedback:3; |
| uint32_t csiNumBFAntennae:2; |
| uint32_t uncompressedSteeringMatrixBFAntennae:2; |
| uint32_t compressedSteeringMatrixBFAntennae:2; |
| uint32_t reserved4:7; |
| uint8_t antennaSelection:1; |
| uint8_t explicitCSIFeedbackTx:1; |
| uint8_t antennaIndicesFeedbackTx:1; |
| uint8_t explicitCSIFeedback:1; |
| uint8_t antennaIndicesFeedback:1; |
| uint8_t rxAS:1; |
| uint8_t txSoundingPPDUs:1; |
| uint8_t reserved5:1; |
| uint8_t num_rsvd; |
| uint8_t rsvd[32]; |
| } tDot11fIEHTCaps; |
| |
| #define DOT11F_EID_HTCAPS (45) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HTCAPS_MIN_LEN (26) |
| |
| #define DOT11F_IE_HTCAPS_MAX_LEN (58) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ht_caps( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEHTCaps*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ht_caps( |
| tpAniSirGlobal, |
| tDot11fIEHTCaps *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_HTCaps( |
| tpAniSirGlobal, |
| tDot11fIEHTCaps *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 61 (0x3d) */ |
| typedef struct sDot11fIEHTInfo { |
| uint8_t present; |
| uint8_t primaryChannel; |
| uint8_t secondaryChannelOffset:2; |
| uint8_t recommendedTxWidthSet:1; |
| uint8_t rifsMode:1; |
| uint8_t controlledAccessOnly:1; |
| uint8_t serviceIntervalGranularity:3; |
| uint16_t opMode:2; |
| uint16_t nonGFDevicesPresent:1; |
| uint16_t transmitBurstLimit:1; |
| uint16_t obssNonHTStaPresent:1; |
| uint16_t reserved:11; |
| uint16_t basicSTBCMCS:7; |
| uint16_t dualCTSProtection:1; |
| uint16_t secondaryBeacon:1; |
| uint16_t lsigTXOPProtectionFullSupport:1; |
| uint16_t pcoActive:1; |
| uint16_t pcoPhase:1; |
| uint16_t reserved2:4; |
| uint8_t basicMCSSet[16]; |
| uint8_t num_rsvd; |
| uint8_t rsvd[32]; |
| } tDot11fIEHTInfo; |
| |
| #define DOT11F_EID_HTINFO (61) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HTINFO_MIN_LEN (22) |
| |
| #define DOT11F_IE_HTINFO_MAX_LEN (54) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ht_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEHTInfo*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ht_info( |
| tpAniSirGlobal, |
| tDot11fIEHTInfo *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_HTInfo( |
| tpAniSirGlobal, |
| tDot11fIEHTInfo *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 6 (0x06) */ |
| typedef struct sDot11fIEIBSSParams { |
| uint8_t present; |
| uint16_t atim; |
| } tDot11fIEIBSSParams; |
| |
| #define DOT11F_EID_IBSSPARAMS (6) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_IBSSPARAMS_MIN_LEN (2) |
| |
| #define DOT11F_IE_IBSSPARAMS_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ibss_params( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEIBSSParams*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ibss_params( |
| tpAniSirGlobal, |
| tDot11fIEIBSSParams *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_IBSSParams( |
| tpAniSirGlobal, |
| tDot11fIEIBSSParams *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 101 (0x65) */ |
| typedef struct sDot11fIELinkIdentifier { |
| uint8_t present; |
| uint8_t bssid[6]; |
| uint8_t InitStaAddr[6]; |
| uint8_t RespStaAddr[6]; |
| } tDot11fIELinkIdentifier; |
| |
| #define DOT11F_EID_LINKIDENTIFIER (101) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_LINKIDENTIFIER_MIN_LEN (18) |
| |
| #define DOT11F_IE_LINKIDENTIFIER_MAX_LEN (18) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_link_identifier( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIELinkIdentifier*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_link_identifier( |
| tpAniSirGlobal, |
| tDot11fIELinkIdentifier *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_LinkIdentifier( |
| tpAniSirGlobal, |
| tDot11fIELinkIdentifier *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x16} (Multi-IE) */ |
| typedef struct sDot11fIEMBO_IE { |
| uint8_t present; |
| 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 (4) |
| |
| #define DOT11F_IE_MBO_IE_MAX_LEN (293) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_MBO_IE( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEMBO_IE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_MBO_IE( |
| tpAniSirGlobal, |
| tDot11fIEMBO_IE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_MBO_IE( |
| tpAniSirGlobal, |
| tDot11fIEMBO_IE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 39 (0x27) */ |
| typedef struct sDot11fIEMeasurementReport { |
| uint8_t present; |
| uint8_t token; |
| uint8_t late:1; |
| uint8_t incapable:1; |
| uint8_t refused:1; |
| uint8_t unused:5; |
| uint8_t type; |
| union { |
| struct { |
| uint8_t channel; |
| tDOT11F_U64 meas_start_time; |
| uint16_t meas_duration; |
| uint8_t bss:1; |
| uint8_t ofdm_preamble:1; |
| uint8_t unid_signal:1; |
| uint8_t rader:1; |
| uint8_t unmeasured:1; |
| uint8_t unused:3; |
| } Basic; /* type = 0 */ |
| struct { |
| uint8_t channel; |
| tDOT11F_U64 meas_start_time; |
| uint16_t meas_duration; |
| uint8_t cca_busy_fraction; |
| } CCA; /* type = 1 */ |
| struct { |
| uint8_t channel; |
| tDOT11F_U64 meas_start_time; |
| uint16_t meas_duration; |
| uint8_t rpi0_density; |
| uint8_t rpi1_density; |
| uint8_t rpi2_density; |
| uint8_t rpi3_density; |
| uint8_t rpi4_density; |
| uint8_t rpi5_density; |
| uint8_t rpi6_density; |
| uint8_t rpi7_density; |
| } RPIHistogram; /* type = 2 */ |
| struct { |
| uint8_t regClass; |
| uint8_t channel; |
| tDOT11F_U64 meas_start_time; |
| uint16_t meas_duration; |
| uint8_t condensed_PHY:7; |
| uint8_t reported_frame_type:1; |
| uint8_t RCPI; |
| uint8_t RSNI; |
| uint8_t BSSID[6]; |
| uint8_t antenna_id; |
| uint32_t parent_TSF; |
| tDot11fIEBeaconReportFrmBody BeaconReportFrmBody; |
| tDot11fIEbeacon_report_frm_body_fragment_id beacon_report_frm_body_fragment_id; |
| tDot11fIElast_beacon_report_indication last_beacon_report_indication; |
| } Beacon; /* type = 5 */ |
| } report; |
| } tDot11fIEMeasurementReport; |
| |
| #define DOT11F_EID_MEASUREMENTREPORT (39) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MEASUREMENTREPORT_MIN_LEN (3) |
| |
| #define DOT11F_IE_MEASUREMENTREPORT_MAX_LEN (29) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_measurement_report( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEMeasurementReport*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_measurement_report( |
| tpAniSirGlobal, |
| tDot11fIEMeasurementReport *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_measurement_report( |
| tpAniSirGlobal, |
| tDot11fIEMeasurementReport *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 38 (0x26) */ |
| typedef struct sDot11fIEMeasurementRequest { |
| uint8_t present; |
| uint8_t measurement_token; |
| uint8_t parallel:1; |
| uint8_t enable:1; |
| uint8_t request:1; |
| uint8_t report:1; |
| uint8_t durationMandatory:1; |
| uint8_t unused:3; |
| uint8_t measurement_type; |
| union { |
| struct { |
| uint8_t channel_no; |
| uint8_t meas_start_time[8]; |
| uint16_t meas_duration; |
| } Basic; /* measurement_type = 0 */ |
| struct { |
| uint8_t channel_no; |
| uint8_t meas_start_time[8]; |
| uint16_t meas_duration; |
| } CCA; /* measurement_type = 1 */ |
| struct { |
| uint8_t channel_no; |
| uint8_t meas_start_time[8]; |
| uint16_t meas_duration; |
| } RPIHistogram; /* measurement_type = 2 */ |
| struct { |
| uint8_t regClass; |
| uint8_t channel; |
| uint16_t randomization; |
| uint16_t meas_duration; |
| uint8_t meas_mode; |
| uint8_t BSSID[6]; |
| tDot11fIESSID SSID; |
| tDot11fIEBeaconReporting BeaconReporting; |
| tDot11fIEBcnReportingDetail BcnReportingDetail; |
| tDot11fIERequestedInfo RequestedInfo; |
| uint16_t num_APChannelReport; |
| tDot11fIEAPChannelReport APChannelReport[2]; |
| tDot11fIElast_beacon_report_indication last_beacon_report_indication; |
| } Beacon; /* measurement_type = 5 */ |
| struct { |
| uint8_t loc_subject; |
| tDot11fIEazimuth_req azimuth_req; |
| tDot11fIEreq_mac_addr req_mac_addr; |
| tDot11fIEtgt_mac_addr tgt_mac_addr; |
| tDot11fIEmax_age max_age; |
| } lci; /* measurement_type = 8 */ |
| struct { |
| uint16_t random_interval; |
| uint8_t min_ap_count; |
| tDot11fIEneighbor_rpt neighbor_rpt; |
| tDot11fIEmax_age max_age; |
| } ftmrr; /* measurement_type = 16 */ |
| } measurement_request; |
| } tDot11fIEMeasurementRequest; |
| |
| #define DOT11F_EID_MEASUREMENTREQUEST (38) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MEASUREMENTREQUEST_MIN_LEN (4) |
| |
| #define DOT11F_IE_MEASUREMENTREQUEST_MAX_LEN (16) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_measurement_request( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEMeasurementRequest*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_measurement_request( |
| tpAniSirGlobal, |
| tDot11fIEMeasurementRequest *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_measurement_request( |
| tpAniSirGlobal, |
| tDot11fIEMeasurementRequest *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 54 (0x36) */ |
| typedef struct sDot11fIEMobilityDomain { |
| uint8_t present; |
| uint16_t MDID; |
| uint8_t overDSCap:1; |
| uint8_t resourceReqCap:1; |
| uint8_t reserved:6; |
| } tDot11fIEMobilityDomain; |
| |
| #define DOT11F_EID_MOBILITYDOMAIN (54) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MOBILITYDOMAIN_MIN_LEN (3) |
| |
| #define DOT11F_IE_MOBILITYDOMAIN_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_mobility_domain( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEMobilityDomain*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_mobility_domain( |
| tpAniSirGlobal, |
| tDot11fIEMobilityDomain *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_MobilityDomain( |
| tpAniSirGlobal, |
| tDot11fIEMobilityDomain *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 52 (0x34) */ |
| typedef struct sDot11fIENeighborReport { |
| uint8_t present; |
| uint8_t bssid[6]; |
| uint8_t APReachability:2; |
| uint8_t Security:1; |
| uint8_t KeyScope:1; |
| uint8_t SpecMgmtCap:1; |
| uint8_t QosCap:1; |
| uint8_t apsd:1; |
| uint8_t rrm:1; |
| uint8_t DelayedBA:1; |
| uint8_t ImmBA:1; |
| uint8_t MobilityDomain:1; |
| uint8_t reserved:5; |
| uint16_t reserved1; |
| uint8_t regulatoryClass; |
| uint8_t channel; |
| uint8_t PhyType; |
| tDot11fIETSFInfo TSFInfo; |
| tDot11fIECondensedCountryStr CondensedCountryStr; |
| tDot11fIEMeasurementPilot MeasurementPilot; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMultiBssid MultiBssid; |
| } tDot11fIENeighborReport; |
| |
| #define DOT11F_EID_NEIGHBORREPORT (52) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_NEIGHBORREPORT_MIN_LEN (13) |
| |
| #define DOT11F_IE_NEIGHBORREPORT_MAX_LEN (546) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_neighbor_report( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIENeighborReport*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_neighbor_report( |
| tpAniSirGlobal, |
| tDot11fIENeighborReport *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_neighbor_report( |
| tpAniSirGlobal, |
| tDot11fIENeighborReport *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 74 (0x4a) */ |
| typedef struct sDot11fIEOBSSScanParameters { |
| uint8_t present; |
| uint16_t obssScanPassiveDwell; |
| uint16_t obssScanActiveDwell; |
| uint16_t bssChannelWidthTriggerScanInterval; |
| uint16_t obssScanPassiveTotalPerChannel; |
| uint16_t obssScanActiveTotalPerChannel; |
| uint16_t bssWidthChannelTransitionDelayFactor; |
| uint16_t obssScanActivityThreshold; |
| } tDot11fIEOBSSScanParameters; |
| |
| #define DOT11F_EID_OBSSSCANPARAMETERS (74) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_OBSSSCANPARAMETERS_MIN_LEN (14) |
| |
| #define DOT11F_IE_OBSSSCANPARAMETERS_MAX_LEN (14) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_obss_scan_parameters( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEOBSSScanParameters*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_obss_scan_parameters( |
| tpAniSirGlobal, |
| tDot11fIEOBSSScanParameters *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_OBSSScanParameters( |
| tpAniSirGlobal, |
| tDot11fIEOBSSScanParameters *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 199 (0xc7) */ |
| typedef struct sDot11fIEOperatingMode { |
| uint8_t present; |
| uint8_t chanWidth:2; |
| uint8_t reserved:2; |
| uint8_t rxNSS:3; |
| uint8_t rxNSSType:1; |
| } tDot11fIEOperatingMode; |
| |
| #define DOT11F_EID_OPERATINGMODE (199) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_OPERATINGMODE_MIN_LEN (1) |
| |
| #define DOT11F_IE_OPERATINGMODE_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_operating_mode( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEOperatingMode*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_operating_mode( |
| tpAniSirGlobal, |
| tDot11fIEOperatingMode *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_OperatingMode( |
| tpAniSirGlobal, |
| tDot11fIEOperatingMode *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PAssocReq { |
| uint8_t present; |
| tDot11fTLVP2PCapability P2PCapability; |
| tDot11fTLVExtendedListenTiming ExtendedListenTiming; |
| tDot11fTLVP2PDeviceInfo P2PDeviceInfo; |
| } tDot11fIEP2PAssocReq; |
| |
| #define DOT11F_EID_P2PASSOCREQ (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PASSOCREQ_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PASSOCREQ_MAX_LEN (71) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_assoc_req( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PAssocReq*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_assoc_req( |
| tpAniSirGlobal, |
| tDot11fIEP2PAssocReq *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_assoc_req( |
| tpAniSirGlobal, |
| tDot11fIEP2PAssocReq *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PAssocRes { |
| uint8_t present; |
| tDot11fTLVP2PStatus P2PStatus; |
| tDot11fTLVExtendedListenTiming ExtendedListenTiming; |
| } tDot11fIEP2PAssocRes; |
| |
| #define DOT11F_EID_P2PASSOCRES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PASSOCRES_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PASSOCRES_MAX_LEN (15) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_assoc_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PAssocRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_assoc_res( |
| tpAniSirGlobal, |
| tDot11fIEP2PAssocRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_assoc_res( |
| tpAniSirGlobal, |
| tDot11fIEP2PAssocRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PBeacon { |
| uint8_t present; |
| tDot11fTLVP2PCapability P2PCapability; |
| tDot11fTLVP2PDeviceId P2PDeviceId; |
| tDot11fTLVNoticeOfAbsence NoticeOfAbsence; |
| } tDot11fIEP2PBeacon; |
| |
| #define DOT11F_EID_P2PBEACON (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PBEACON_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PBEACON_MAX_LEN (59) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_beacon( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PBeacon*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_beacon( |
| tpAniSirGlobal, |
| tDot11fIEP2PBeacon *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_beacon( |
| tpAniSirGlobal, |
| tDot11fIEP2PBeacon *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PBeaconProbeRes { |
| uint8_t present; |
| tDot11fTLVP2PCapability P2PCapability; |
| tDot11fTLVP2PDeviceId P2PDeviceId; |
| tDot11fTLVExtendedListenTiming ExtendedListenTiming; |
| tDot11fTLVNoticeOfAbsence NoticeOfAbsence; |
| tDot11fTLVP2PDeviceInfo P2PDeviceInfo; |
| tDot11fTLVP2PGroupInfo P2PGroupInfo; |
| } tDot11fIEP2PBeaconProbeRes; |
| |
| #define DOT11F_EID_P2PBEACONPROBERES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PBEACONPROBERES_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PBEACONPROBERES_MAX_LEN (1148) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_beacon_probe_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PBeaconProbeRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_beacon_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEP2PBeaconProbeRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_beacon_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEP2PBeaconProbeRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PDeAuth { |
| uint8_t present; |
| tDot11fTLVMinorReasonCode MinorReasonCode; |
| } tDot11fIEP2PDeAuth; |
| |
| #define DOT11F_EID_P2PDEAUTH (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PDEAUTH_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PDEAUTH_MAX_LEN (8) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_de_auth( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PDeAuth*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_de_auth( |
| tpAniSirGlobal, |
| tDot11fIEP2PDeAuth *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_de_auth( |
| tpAniSirGlobal, |
| tDot11fIEP2PDeAuth *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PDisAssoc { |
| uint8_t present; |
| tDot11fTLVMinorReasonCode MinorReasonCode; |
| } tDot11fIEP2PDisAssoc; |
| |
| #define DOT11F_EID_P2PDISASSOC (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PDISASSOC_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PDISASSOC_MAX_LEN (8) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_dis_assoc( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PDisAssoc*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_dis_assoc( |
| tpAniSirGlobal, |
| tDot11fIEP2PDisAssoc *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_dis_assoc( |
| tpAniSirGlobal, |
| tDot11fIEP2PDisAssoc *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} */ |
| typedef struct sDot11fIEP2PIEOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[249]; |
| } tDot11fIEP2PIEOpaque; |
| |
| #define DOT11F_EID_P2PIEOPAQUE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PIEOPAQUE_MIN_LEN (6) |
| |
| #define DOT11F_IE_P2PIEOPAQUE_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_pie_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PIEOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_pie_opaque( |
| tpAniSirGlobal, |
| tDot11fIEP2PIEOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_P2PIEOpaque( |
| tpAniSirGlobal, |
| tDot11fIEP2PIEOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PProbeReq { |
| uint8_t present; |
| tDot11fTLVP2PCapability P2PCapability; |
| tDot11fTLVP2PDeviceId P2PDeviceId; |
| tDot11fTLVListenChannel ListenChannel; |
| tDot11fTLVExtendedListenTiming ExtendedListenTiming; |
| tDot11fTLVOperatingChannel OperatingChannel; |
| } tDot11fIEP2PProbeReq; |
| |
| #define DOT11F_EID_P2PPROBEREQ (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PPROBEREQ_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PPROBEREQ_MAX_LEN (41) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_probe_req( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PProbeReq*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_probe_req( |
| tpAniSirGlobal, |
| tDot11fIEP2PProbeReq *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_probe_req( |
| tpAniSirGlobal, |
| tDot11fIEP2PProbeReq *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE) */ |
| typedef struct sDot11fIEP2PProbeRes { |
| uint8_t present; |
| tDot11fTLVP2PCapability P2PCapability; |
| tDot11fTLVExtendedListenTiming ExtendedListenTiming; |
| tDot11fTLVNoticeOfAbsence NoticeOfAbsence; |
| tDot11fTLVP2PDeviceInfo P2PDeviceInfo; |
| tDot11fTLVP2PGroupInfo P2PGroupInfo; |
| } tDot11fIEP2PProbeRes; |
| |
| #define DOT11F_EID_P2PPROBERES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_P2PPROBERES_MIN_LEN (4) |
| |
| #define DOT11F_IE_P2PPROBERES_MAX_LEN (1139) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_p2_p_probe_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEP2PProbeRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_p2_p_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEP2PProbeRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iep2_p_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEP2PProbeRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 105 (0x69) */ |
| typedef struct sDot11fIEPTIControl { |
| uint8_t present; |
| uint8_t tid; |
| uint16_t sequence_control; |
| } tDot11fIEPTIControl; |
| |
| #define DOT11F_EID_PTICONTROL (105) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_PTICONTROL_MIN_LEN (3) |
| |
| #define DOT11F_IE_PTICONTROL_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_pti_control( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEPTIControl*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_pti_control( |
| tpAniSirGlobal, |
| tDot11fIEPTIControl *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_PTIControl( |
| tpAniSirGlobal, |
| tDot11fIEPTIControl *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 106 (0x6a) */ |
| typedef struct sDot11fIEPUBufferStatus { |
| uint8_t present; |
| uint8_t ac_bk_traffic_aval:1; |
| uint8_t ac_be_traffic_aval:1; |
| uint8_t ac_vi_traffic_aval:1; |
| uint8_t ac_vo_traffic_aval:1; |
| uint8_t reserved:4; |
| } tDot11fIEPUBufferStatus; |
| |
| #define DOT11F_EID_PUBUFFERSTATUS (106) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_PUBUFFERSTATUS_MIN_LEN (1) |
| |
| #define DOT11F_IE_PUBUFFERSTATUS_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_pu_buffer_status( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEPUBufferStatus*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_pu_buffer_status( |
| tpAniSirGlobal, |
| tDot11fIEPUBufferStatus *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_PUBufferStatus( |
| tpAniSirGlobal, |
| tDot11fIEPUBufferStatus *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 33 (0x21) */ |
| typedef struct sDot11fIEPowerCaps { |
| uint8_t present; |
| uint8_t minTxPower; |
| uint8_t maxTxPower; |
| } tDot11fIEPowerCaps; |
| |
| #define DOT11F_EID_POWERCAPS (33) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_POWERCAPS_MIN_LEN (2) |
| |
| #define DOT11F_IE_POWERCAPS_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_power_caps( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEPowerCaps*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_power_caps( |
| tpAniSirGlobal, |
| tDot11fIEPowerCaps *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_PowerCaps( |
| tpAniSirGlobal, |
| tDot11fIEPowerCaps *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 32 (0x20) */ |
| typedef struct sDot11fIEPowerConstraints { |
| uint8_t present; |
| uint8_t localPowerConstraints; |
| } tDot11fIEPowerConstraints; |
| |
| #define DOT11F_EID_POWERCONSTRAINTS (32) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_POWERCONSTRAINTS_MIN_LEN (1) |
| |
| #define DOT11F_IE_POWERCONSTRAINTS_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_power_constraints( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEPowerConstraints*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_power_constraints( |
| tpAniSirGlobal, |
| tDot11fIEPowerConstraints *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_PowerConstraints( |
| tpAniSirGlobal, |
| tDot11fIEPowerConstraints *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 11 (0x0b) */ |
| typedef struct sDot11fIEQBSSLoad { |
| uint8_t present; |
| uint16_t stacount; |
| uint8_t chautil; |
| uint16_t avail; |
| } tDot11fIEQBSSLoad; |
| |
| #define DOT11F_EID_QBSSLOAD (11) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QBSSLOAD_MIN_LEN (5) |
| |
| #define DOT11F_IE_QBSSLOAD_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_qbss_load( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQBSSLoad*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_qbss_load( |
| tpAniSirGlobal, |
| tDot11fIEQBSSLoad *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_QBSSLoad( |
| tpAniSirGlobal, |
| tDot11fIEQBSSLoad *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x8c, 0xfd, 0xf0, 0x01} */ |
| typedef struct sDot11fIEQCN_IE { |
| uint8_t present; |
| uint8_t version[4]; |
| } tDot11fIEQCN_IE; |
| |
| #define DOT11F_EID_QCN_IE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QCN_IE_MIN_LEN (8) |
| |
| #define DOT11F_IE_QCN_IE_MAX_LEN (8) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_QCN_IE( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQCN_IE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_QCN_IE( |
| tpAniSirGlobal, |
| tDot11fIEQCN_IE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_QCN_IE( |
| tpAniSirGlobal, |
| tDot11fIEQCN_IE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0xa0, 0xc6} */ |
| typedef struct sDot11fIEQComVendorIE { |
| uint8_t present; |
| uint8_t type; |
| uint8_t channel; |
| } tDot11fIEQComVendorIE; |
| |
| #define DOT11F_EID_QCOMVENDORIE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QCOMVENDORIE_MIN_LEN (5) |
| |
| #define DOT11F_IE_QCOMVENDORIE_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_QComVendorIE( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQComVendorIE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_QComVendorIE( |
| tpAniSirGlobal, |
| tDot11fIEQComVendorIE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_QComVendorIE( |
| tpAniSirGlobal, |
| tDot11fIEQComVendorIE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 46 (0x2e) */ |
| typedef struct sDot11fIEQOSCapsAp { |
| uint8_t present; |
| uint8_t count:4; |
| uint8_t qack:1; |
| uint8_t qreq:1; |
| uint8_t txopreq:1; |
| uint8_t reserved:1; |
| } tDot11fIEQOSCapsAp; |
| |
| #define DOT11F_EID_QOSCAPSAP (46) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QOSCAPSAP_MIN_LEN (1) |
| |
| #define DOT11F_IE_QOSCAPSAP_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_qos_caps_ap( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQOSCapsAp*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_qos_caps_ap( |
| tpAniSirGlobal, |
| tDot11fIEQOSCapsAp *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_QOSCapsAp( |
| tpAniSirGlobal, |
| tDot11fIEQOSCapsAp *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 46 (0x2e) */ |
| typedef struct sDot11fIEQOSCapsStation { |
| uint8_t present; |
| uint8_t acvo_uapsd:1; |
| uint8_t acvi_uapsd:1; |
| uint8_t acbk_uapsd:1; |
| uint8_t acbe_uapsd:1; |
| uint8_t qack:1; |
| uint8_t max_sp_length:2; |
| uint8_t more_data_ack:1; |
| } tDot11fIEQOSCapsStation; |
| |
| #define DOT11F_EID_QOSCAPSSTATION (46) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QOSCAPSSTATION_MIN_LEN (1) |
| |
| #define DOT11F_IE_QOSCAPSSTATION_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_qos_caps_station( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQOSCapsStation*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_qos_caps_station( |
| tpAniSirGlobal, |
| tDot11fIEQOSCapsStation *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_QOSCapsStation( |
| tpAniSirGlobal, |
| tDot11fIEQOSCapsStation *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 110 (0x6e) */ |
| typedef struct sDot11fIEQosMapSet { |
| uint8_t present; |
| uint8_t num_dscp_exceptions; |
| uint8_t dscp_exceptions[60]; |
| } tDot11fIEQosMapSet; |
| |
| #define DOT11F_EID_QOSMAPSET (110) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QOSMAPSET_MIN_LEN (0) |
| |
| #define DOT11F_IE_QOSMAPSET_MAX_LEN (60) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_qos_map_set( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQosMapSet*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_qos_map_set( |
| tpAniSirGlobal, |
| tDot11fIEQosMapSet *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_QosMapSet( |
| tpAniSirGlobal, |
| tDot11fIEQosMapSet *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 40 (0x28) */ |
| typedef struct sDot11fIEQuiet { |
| uint8_t present; |
| uint8_t count; |
| uint8_t period; |
| uint16_t duration; |
| uint16_t offset; |
| } tDot11fIEQuiet; |
| |
| #define DOT11F_EID_QUIET (40) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_QUIET_MIN_LEN (6) |
| |
| #define DOT11F_IE_QUIET_MAX_LEN (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_quiet( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEQuiet*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_quiet( |
| tpAniSirGlobal, |
| tDot11fIEQuiet *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_Quiet( |
| tpAniSirGlobal, |
| tDot11fIEQuiet *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 53 (0x35) */ |
| typedef struct sDot11fIERCPIIE { |
| uint8_t present; |
| uint8_t rcpi; |
| } tDot11fIERCPIIE; |
| |
| #define DOT11F_EID_RCPIIE (53) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RCPIIE_MIN_LEN (1) |
| |
| #define DOT11F_IE_RCPIIE_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_rcpiie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERCPIIE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_rcpiie( |
| tpAniSirGlobal, |
| tDot11fIERCPIIE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_RCPIIE( |
| tpAniSirGlobal, |
| tDot11fIERCPIIE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 57 (0x39) */ |
| typedef struct sDot11fIERICDataDesc { |
| uint8_t present; |
| tDot11fIERICData RICData; |
| tDot11fIERICDescriptor RICDescriptor; |
| tDot11fIETSPEC TSPEC; |
| uint16_t num_TCLAS; |
| tDot11fIETCLAS TCLAS[2]; |
| tDot11fIETCLASSPROC TCLASSPROC; |
| tDot11fIETSDelay TSDelay; |
| tDot11fIESchedule Schedule; |
| tDot11fIEWMMTSPEC WMMTSPEC; |
| uint16_t num_WMMTCLAS; |
| tDot11fIEWMMTCLAS WMMTCLAS[2]; |
| tDot11fIEWMMTCLASPROC WMMTCLASPROC; |
| tDot11fIEWMMTSDelay WMMTSDelay; |
| tDot11fIEWMMSchedule WMMSchedule; |
| } tDot11fIERICDataDesc; |
| |
| #define DOT11F_EID_RICDATADESC (57) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RICDATADESC_MIN_LEN (0) |
| |
| #define DOT11F_IE_RICDATADESC_MAX_LEN (548) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ric_data_desc( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERICDataDesc*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ric_data_desc( |
| tpAniSirGlobal, |
| tDot11fIERICDataDesc *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ieric_data_desc( |
| tpAniSirGlobal, |
| tDot11fIERICDataDesc *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 48 (0x30) */ |
| typedef struct sDot11fIERSN { |
| uint8_t present; |
| uint16_t version /* Must be 1! */; |
| uint8_t gp_cipher_suite_present; |
| uint8_t gp_cipher_suite[4]; |
| uint16_t pwise_cipher_suite_count; |
| uint8_t pwise_cipher_suites[6][4]; |
| uint16_t akm_suite_cnt; |
| uint8_t akm_suite[6][4]; |
| uint8_t RSN_Cap_present; |
| uint8_t RSN_Cap[2]; |
| uint16_t pmkid_count; |
| uint8_t pmkid[4][16]; |
| uint8_t gp_mgmt_cipher_suite_present; |
| uint8_t gp_mgmt_cipher_suite[4]; |
| } tDot11fIERSN; |
| |
| #define DOT11F_EID_RSN (48) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RSN_MIN_LEN (2) |
| |
| #define DOT11F_IE_RSN_MAX_LEN (130) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_rsn( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERSN*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_rsn( |
| tpAniSirGlobal, |
| tDot11fIERSN *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iersn( |
| tpAniSirGlobal, |
| tDot11fIERSN *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 65 (0x41) */ |
| typedef struct sDot11fIERSNIIE { |
| uint8_t present; |
| uint8_t rsni; |
| } tDot11fIERSNIIE; |
| |
| #define DOT11F_EID_RSNIIE (65) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RSNIIE_MIN_LEN (1) |
| |
| #define DOT11F_IE_RSNIIE_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_rsniie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERSNIIE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_rsniie( |
| tpAniSirGlobal, |
| tDot11fIERSNIIE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iersnIIE( |
| tpAniSirGlobal, |
| tDot11fIERSNIIE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 48 (0x30) */ |
| typedef struct sDot11fIERSNOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[253]; |
| } tDot11fIERSNOpaque; |
| |
| #define DOT11F_EID_RSNOPAQUE (48) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_RSNOPAQUE_MIN_LEN (0) |
| |
| #define DOT11F_IE_RSNOPAQUE_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_rsn_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIERSNOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_rsn_opaque( |
| tpAniSirGlobal, |
| tDot11fIERSNOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iersnOpaque( |
| tpAniSirGlobal, |
| tDot11fIERSNOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 36 (0x24) */ |
| typedef struct sDot11fIESuppChannels { |
| uint8_t present; |
| uint8_t num_bands; |
| uint8_t bands[48][2]; |
| } tDot11fIESuppChannels; |
| |
| #define DOT11F_EID_SUPPCHANNELS (36) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_SUPPCHANNELS_MIN_LEN (0) |
| |
| #define DOT11F_IE_SUPPCHANNELS_MAX_LEN (96) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_supp_channels( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIESuppChannels*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_supp_channels( |
| tpAniSirGlobal, |
| tDot11fIESuppChannels *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_SuppChannels( |
| tpAniSirGlobal, |
| tDot11fIESuppChannels *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 59 (0x3b) */ |
| typedef struct sDot11fIESuppOperatingClasses { |
| uint8_t present; |
| uint8_t num_classes; |
| uint8_t classes[32]; |
| } tDot11fIESuppOperatingClasses; |
| |
| #define DOT11F_EID_SUPPOPERATINGCLASSES (59) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_SUPPOPERATINGCLASSES_MIN_LEN (1) |
| |
| #define DOT11F_IE_SUPPOPERATINGCLASSES_MAX_LEN (32) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_supp_operating_classes( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIESuppOperatingClasses*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_supp_operating_classes( |
| tpAniSirGlobal, |
| tDot11fIESuppOperatingClasses *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_SuppOperatingClasses( |
| tpAniSirGlobal, |
| tDot11fIESuppOperatingClasses *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 1 (0x01) */ |
| typedef struct sDot11fIESuppRates { |
| uint8_t present; |
| uint8_t num_rates; |
| uint8_t rates[12]; |
| } tDot11fIESuppRates; |
| |
| #define DOT11F_EID_SUPPRATES (1) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_SUPPRATES_MIN_LEN (0) |
| |
| #define DOT11F_IE_SUPPRATES_MAX_LEN (12) |
| |
| #define DOT11F_IS_BG_RATE(_x) (((_x) == 02) || \ |
| ((_x) == 04) || \ |
| ((_x) == 11) || \ |
| ((_x) == 22) || \ |
| ((_x) == 12) || \ |
| ((_x) == 18) || \ |
| ((_x) == 24) || \ |
| ((_x) == 36) || \ |
| ((_x) == 48) || \ |
| ((_x) == 72) || \ |
| ((_x) == 96) || \ |
| ((_x) == 108)) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_supp_rates( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIESuppRates*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_supp_rates( |
| tpAniSirGlobal, |
| tDot11fIESuppRates *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_SuppRates( |
| tpAniSirGlobal, |
| tDot11fIESuppRates *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 5 (0x05) */ |
| typedef struct sDot11fIETIM { |
| uint8_t present; |
| uint8_t dtim_count; |
| uint8_t dtim_period; |
| uint8_t bmpctl; |
| uint8_t num_vbmp; |
| uint8_t vbmp[251]; |
| } tDot11fIETIM; |
| |
| #define DOT11F_EID_TIM (5) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TIM_MIN_LEN (4) |
| |
| #define DOT11F_IE_TIM_MAX_LEN (254) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tim( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETIM*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tim( |
| tpAniSirGlobal, |
| tDot11fIETIM *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TIM( |
| tpAniSirGlobal, |
| tDot11fIETIM *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 35 (0x23) */ |
| typedef struct sDot11fIETPCReport { |
| uint8_t present; |
| uint8_t tx_power; |
| uint8_t link_margin; |
| } tDot11fIETPCReport; |
| |
| #define DOT11F_EID_TPCREPORT (35) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TPCREPORT_MIN_LEN (2) |
| |
| #define DOT11F_IE_TPCREPORT_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tpc_report( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETPCReport*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tpc_report( |
| tpAniSirGlobal, |
| tDot11fIETPCReport *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TPCReport( |
| tpAniSirGlobal, |
| tDot11fIETPCReport *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 34 (0x22) */ |
| typedef struct sDot11fIETPCRequest { |
| uint8_t present; |
| } tDot11fIETPCRequest; |
| |
| #define DOT11F_EID_TPCREQUEST (34) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TPCREQUEST_MIN_LEN (0) |
| |
| #define DOT11F_IE_TPCREQUEST_MAX_LEN (0) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_tpc_request( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETPCRequest*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_tpc_request( |
| tpAniSirGlobal, |
| tDot11fIETPCRequest *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TPCRequest( |
| tpAniSirGlobal, |
| tDot11fIETPCRequest *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 69 (0x45) */ |
| typedef struct sDot11fIETimeAdvertisement { |
| uint8_t present; |
| uint8_t timing_capabilities; |
| uint8_t time_value[10]; |
| uint8_t time_error[5]; |
| } tDot11fIETimeAdvertisement; |
| |
| #define DOT11F_EID_TIMEADVERTISEMENT (69) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TIMEADVERTISEMENT_MIN_LEN (16) |
| |
| #define DOT11F_IE_TIMEADVERTISEMENT_MAX_LEN (16) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_time_advertisement( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETimeAdvertisement*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_time_advertisement( |
| tpAniSirGlobal, |
| tDot11fIETimeAdvertisement *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_time_advertisement( |
| tpAniSirGlobal, |
| tDot11fIETimeAdvertisement *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 56 (0x38) */ |
| typedef struct sDot11fIETimeoutInterval { |
| uint8_t present; |
| uint8_t timeoutType; |
| uint32_t timeoutValue; |
| } tDot11fIETimeoutInterval; |
| |
| #define DOT11F_EID_TIMEOUTINTERVAL (56) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_TIMEOUTINTERVAL_MIN_LEN (5) |
| |
| #define DOT11F_IE_TIMEOUTINTERVAL_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_timeout_interval( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIETimeoutInterval*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_timeout_interval( |
| tpAniSirGlobal, |
| tDot11fIETimeoutInterval *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_TimeoutInterval( |
| tpAniSirGlobal, |
| tDot11fIETimeoutInterval *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 193 (0xc1) */ |
| typedef struct sDot11fIEVHTExtBssLoad { |
| uint8_t present; |
| uint8_t muMIMOCapStaCount; |
| uint8_t ssUnderUtil; |
| uint8_t FortyMHzUtil; |
| uint8_t EightyMHzUtil; |
| uint8_t OneSixtyMHzUtil; |
| } tDot11fIEVHTExtBssLoad; |
| |
| #define DOT11F_EID_VHTEXTBSSLOAD (193) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VHTEXTBSSLOAD_MIN_LEN (5) |
| |
| #define DOT11F_IE_VHTEXTBSSLOAD_MAX_LEN (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vht_ext_bss_load( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEVHTExtBssLoad*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vht_ext_bss_load( |
| tpAniSirGlobal, |
| tDot11fIEVHTExtBssLoad *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_VHTExtBssLoad( |
| tpAniSirGlobal, |
| tDot11fIEVHTExtBssLoad *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x10, 0x18} */ |
| typedef struct sDot11fIEVendor1IE { |
| uint8_t present; |
| } tDot11fIEVendor1IE; |
| |
| #define DOT11F_EID_VENDOR1IE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VENDOR1IE_MIN_LEN (3) |
| |
| #define DOT11F_IE_VENDOR1IE_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vendor1_ie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEVendor1IE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vendor1_ie( |
| tpAniSirGlobal, |
| tDot11fIEVendor1IE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_Vendor1IE( |
| tpAniSirGlobal, |
| tDot11fIEVendor1IE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x16, 0x32} */ |
| typedef struct sDot11fIEVendor3IE { |
| uint8_t present; |
| } tDot11fIEVendor3IE; |
| |
| #define DOT11F_EID_VENDOR3IE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VENDOR3IE_MIN_LEN (3) |
| |
| #define DOT11F_IE_VENDOR3IE_MAX_LEN (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vendor3_ie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEVendor3IE*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vendor3_ie( |
| tpAniSirGlobal, |
| tDot11fIEVendor3IE *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_Vendor3IE( |
| tpAniSirGlobal, |
| tDot11fIEVendor3IE *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 68 (0x44) */ |
| typedef struct sDot11fIEWAPI { |
| uint8_t present; |
| uint16_t version /* Must be 1! */; |
| uint16_t akm_suite_count; |
| uint8_t akm_suites[4][4]; |
| uint16_t unicast_cipher_suite_count; |
| uint8_t unicast_cipher_suites[4][4]; |
| uint8_t multicast_cipher_suite[4]; |
| uint16_t preauth:1; |
| uint16_t reserved:15; |
| uint16_t bkid_count; |
| uint8_t bkid[4][16]; |
| } tDot11fIEWAPI; |
| |
| #define DOT11F_EID_WAPI (68) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WAPI_MIN_LEN (12) |
| |
| #define DOT11F_IE_WAPI_MAX_LEN (110) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wapi( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWAPI*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wapi( |
| tpAniSirGlobal, |
| tDot11fIEWAPI *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewapi( |
| tpAniSirGlobal, |
| tDot11fIEWAPI *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 68 (0x44) */ |
| typedef struct sDot11fIEWAPIOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[253]; |
| } tDot11fIEWAPIOpaque; |
| |
| #define DOT11F_EID_WAPIOPAQUE (68) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WAPIOPAQUE_MIN_LEN (6) |
| |
| #define DOT11F_IE_WAPIOPAQUE_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wapi_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWAPIOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wapi_opaque( |
| tpAniSirGlobal, |
| tDot11fIEWAPIOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewapiOpaque( |
| tpAniSirGlobal, |
| tDot11fIEWAPIOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x08, 0x00} */ |
| typedef struct sDot11fIEWFATPC { |
| uint8_t present; |
| uint8_t txPower; |
| uint8_t linkMargin; |
| } tDot11fIEWFATPC; |
| |
| #define DOT11F_EID_WFATPC (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WFATPC_MIN_LEN (7) |
| |
| #define DOT11F_IE_WFATPC_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wfatpc( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWFATPC*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wfatpc( |
| tpAniSirGlobal, |
| tDot11fIEWFATPC *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WFATPC( |
| tpAniSirGlobal, |
| tDot11fIEWFATPC *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x0a} */ |
| typedef struct sDot11fIEWFDIEOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[249]; |
| } tDot11fIEWFDIEOpaque; |
| |
| #define DOT11F_EID_WFDIEOPAQUE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WFDIEOPAQUE_MIN_LEN (6) |
| |
| #define DOT11F_IE_WFDIEOPAQUE_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wfdie_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWFDIEOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wfdie_opaque( |
| tpAniSirGlobal, |
| tDot11fIEWFDIEOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WFDIEOpaque( |
| tpAniSirGlobal, |
| tDot11fIEWFDIEOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x05} */ |
| typedef struct sDot11fIEWMMCaps { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint8_t reserved:4; |
| uint8_t qack:1; |
| uint8_t queue_request:1; |
| uint8_t txop_request:1; |
| uint8_t more_ack:1; |
| } tDot11fIEWMMCaps; |
| |
| #define DOT11F_EID_WMMCAPS (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMCAPS_MIN_LEN (7) |
| |
| #define DOT11F_IE_WMMCAPS_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmm_caps( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMCaps*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmm_caps( |
| tpAniSirGlobal, |
| tDot11fIEWMMCaps *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMCaps( |
| tpAniSirGlobal, |
| tDot11fIEWMMCaps *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x00} */ |
| typedef struct sDot11fIEWMMInfoAp { |
| uint8_t present; |
| uint8_t version; |
| uint8_t param_set_count:4; |
| uint8_t reserved:3; |
| uint8_t uapsd:1; |
| } tDot11fIEWMMInfoAp; |
| |
| #define DOT11F_EID_WMMINFOAP (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMINFOAP_MIN_LEN (7) |
| |
| #define DOT11F_IE_WMMINFOAP_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmm_info_ap( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMInfoAp*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmm_info_ap( |
| tpAniSirGlobal, |
| tDot11fIEWMMInfoAp *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMInfoAp( |
| tpAniSirGlobal, |
| tDot11fIEWMMInfoAp *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x00} */ |
| typedef struct sDot11fIEWMMInfoStation { |
| uint8_t present; |
| uint8_t version; |
| uint8_t acvo_uapsd:1; |
| uint8_t acvi_uapsd:1; |
| uint8_t acbk_uapsd:1; |
| uint8_t acbe_uapsd:1; |
| uint8_t reserved1:1; |
| uint8_t max_sp_length:2; |
| uint8_t reserved2:1; |
| } tDot11fIEWMMInfoStation; |
| |
| #define DOT11F_EID_WMMINFOSTATION (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMINFOSTATION_MIN_LEN (7) |
| |
| #define DOT11F_IE_WMMINFOSTATION_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmm_info_station( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMInfoStation*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmm_info_station( |
| tpAniSirGlobal, |
| tDot11fIEWMMInfoStation *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMInfoStation( |
| tpAniSirGlobal, |
| tDot11fIEWMMInfoStation *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x02, 0x01} */ |
| typedef struct sDot11fIEWMMParams { |
| uint8_t present; |
| uint8_t version /* Must be 1! */; |
| uint8_t qosInfo; |
| uint8_t reserved2; |
| uint8_t acbe_aifsn:4; |
| uint8_t acbe_acm:1; |
| uint8_t acbe_aci:2; |
| uint8_t unused1:1; |
| uint8_t acbe_acwmin:4; |
| uint8_t acbe_acwmax:4; |
| uint16_t acbe_txoplimit; |
| uint8_t acbk_aifsn:4; |
| uint8_t acbk_acm:1; |
| uint8_t acbk_aci:2; |
| uint8_t unused2:1; |
| uint8_t acbk_acwmin:4; |
| uint8_t acbk_acwmax:4; |
| uint16_t acbk_txoplimit; |
| uint8_t acvi_aifsn:4; |
| uint8_t acvi_acm:1; |
| uint8_t acvi_aci:2; |
| uint8_t unused3:1; |
| uint8_t acvi_acwmin:4; |
| uint8_t acvi_acwmax:4; |
| uint16_t acvi_txoplimit; |
| uint8_t acvo_aifsn:4; |
| uint8_t acvo_acm:1; |
| uint8_t acvo_aci:2; |
| uint8_t unused4:1; |
| uint8_t acvo_acwmin:4; |
| uint8_t acvo_acwmax:4; |
| uint16_t acvo_txoplimit; |
| } tDot11fIEWMMParams; |
| |
| #define DOT11F_EID_WMMPARAMS (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WMMPARAMS_MIN_LEN (24) |
| |
| #define DOT11F_IE_WMMPARAMS_MAX_LEN (24) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wmm_params( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWMMParams*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wmm_params( |
| tpAniSirGlobal, |
| tDot11fIEWMMParams *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WMMParams( |
| tpAniSirGlobal, |
| tDot11fIEWMMParams *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x01} */ |
| typedef struct sDot11fIEWPA { |
| uint8_t present; |
| uint16_t version /* Must be 1! */; |
| /* field added to fix the bug in dot11fPackIEWPA */ |
| uint8_t multicast_cipher_present; |
| uint8_t multicast_cipher[4]; |
| uint16_t unicast_cipher_count; |
| uint8_t unicast_ciphers[4][4]; |
| uint16_t auth_suite_count; |
| uint8_t auth_suites[4][4]; |
| uint16_t caps; |
| } tDot11fIEWPA; |
| |
| #define DOT11F_EID_WPA (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WPA_MIN_LEN (6) |
| |
| #define DOT11F_IE_WPA_MAX_LEN (48) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wpa( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWPA*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wpa( |
| tpAniSirGlobal, |
| tDot11fIEWPA *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewpa( |
| tpAniSirGlobal, |
| tDot11fIEWPA *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x01} */ |
| typedef struct sDot11fIEWPAOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[249]; |
| } tDot11fIEWPAOpaque; |
| |
| #define DOT11F_EID_WPAOPAQUE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WPAOPAQUE_MIN_LEN (6) |
| |
| #define DOT11F_IE_WPAOPAQUE_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wpa_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWPAOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wpa_opaque( |
| tpAniSirGlobal, |
| tDot11fIEWPAOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewpaOpaque( |
| tpAniSirGlobal, |
| tDot11fIEWPAOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWSC { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVWPSState WPSState; |
| tDot11fTLVAPSetupLocked APSetupLocked; |
| tDot11fTLVSelectedRegistrarConfigMethods SelectedRegistrarConfigMethods; |
| tDot11fTLVUUID_E UUID_E; |
| tDot11fTLVUUID_R UUID_R; |
| tDot11fTLVRFBands RFBands; |
| tDot11fTLVSelectedRegistrar SelectedRegistrar; |
| tDot11fTLVConfigMethods ConfigMethods; |
| tDot11fTLVAssociationState AssociationState; |
| tDot11fTLVConfigurationError ConfigurationError; |
| tDot11fTLVManufacturer Manufacturer; |
| tDot11fTLVModelName ModelName; |
| tDot11fTLVModelNumber ModelNumber; |
| tDot11fTLVSerialNumber SerialNumber; |
| tDot11fTLVDeviceName DeviceName; |
| tDot11fTLVDevicePasswordID DevicePasswordID; |
| tDot11fTLVPrimaryDeviceType PrimaryDeviceType; |
| tDot11fTLVRequestType RequestType; |
| tDot11fTLVResponseType ResponseType; |
| tDot11fTLVVendorExtension VendorExtension; |
| tDot11fTLVRequestDeviceType RequestDeviceType; |
| } tDot11fIEWSC; |
| |
| #define DOT11F_EID_WSC (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSC_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSC_MAX_LEN (366) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWSC*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc( |
| tpAniSirGlobal, |
| tDot11fIEWSC *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_iewsc( |
| tpAniSirGlobal, |
| tDot11fIEWSC *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscAssocReq { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVRequestType RequestType; |
| tDot11fTLVVendorExtension VendorExtension; |
| } tDot11fIEWscAssocReq; |
| |
| #define DOT11F_EID_WSCASSOCREQ (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCASSOCREQ_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCASSOCREQ_MAX_LEN (35) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_assoc_req( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscAssocReq*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_assoc_req( |
| tpAniSirGlobal, |
| tDot11fIEWscAssocReq *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_assoc_req( |
| tpAniSirGlobal, |
| tDot11fIEWscAssocReq *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscAssocRes { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVResponseType ResponseType; |
| tDot11fTLVVendorExtension VendorExtension; |
| } tDot11fIEWscAssocRes; |
| |
| #define DOT11F_EID_WSCASSOCRES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCASSOCRES_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCASSOCRES_MAX_LEN (35) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_assoc_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscAssocRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_assoc_res( |
| tpAniSirGlobal, |
| tDot11fIEWscAssocRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_assoc_res( |
| tpAniSirGlobal, |
| tDot11fIEWscAssocRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscBeacon { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVWPSState WPSState; |
| tDot11fTLVAPSetupLocked APSetupLocked; |
| tDot11fTLVSelectedRegistrar SelectedRegistrar; |
| tDot11fTLVDevicePasswordID DevicePasswordID; |
| tDot11fTLVSelectedRegistrarConfigMethods SelectedRegistrarConfigMethods; |
| tDot11fTLVUUID_E UUID_E; |
| tDot11fTLVRFBands RFBands; |
| tDot11fTLVVendorExtension VendorExtension; |
| } tDot11fIEWscBeacon; |
| |
| #define DOT11F_EID_WSCBEACON (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCBEACON_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCBEACON_MAX_LEN (82) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_beacon( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscBeacon*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_beacon( |
| tpAniSirGlobal, |
| tDot11fIEWscBeacon *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_beacon( |
| tpAniSirGlobal, |
| tDot11fIEWscBeacon *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscBeaconProbeRes { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVWPSState WPSState; |
| tDot11fTLVAPSetupLocked APSetupLocked; |
| tDot11fTLVSelectedRegistrar SelectedRegistrar; |
| tDot11fTLVDevicePasswordID DevicePasswordID; |
| tDot11fTLVSelectedRegistrarConfigMethods SelectedRegistrarConfigMethods; |
| tDot11fTLVResponseType ResponseType; |
| tDot11fTLVUUID_E UUID_E; |
| tDot11fTLVManufacturer Manufacturer; |
| tDot11fTLVModelName ModelName; |
| tDot11fTLVModelNumber ModelNumber; |
| tDot11fTLVSerialNumber SerialNumber; |
| tDot11fTLVPrimaryDeviceType PrimaryDeviceType; |
| tDot11fTLVDeviceName DeviceName; |
| tDot11fTLVConfigMethods ConfigMethods; |
| tDot11fTLVRFBands RFBands; |
| tDot11fTLVVendorExtension VendorExtension; |
| } tDot11fIEWscBeaconProbeRes; |
| |
| #define DOT11F_EID_WSCBEACONPROBERES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCBEACONPROBERES_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCBEACONPROBERES_MAX_LEN (317) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_beacon_probe_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscBeaconProbeRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_beacon_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEWscBeaconProbeRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_beacon_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEWscBeaconProbeRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} */ |
| typedef struct sDot11fIEWscIEOpaque { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[249]; |
| } tDot11fIEWscIEOpaque; |
| |
| #define DOT11F_EID_WSCIEOPAQUE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCIEOPAQUE_MIN_LEN (6) |
| |
| #define DOT11F_IE_WSCIEOPAQUE_MAX_LEN (253) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_ie_opaque( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscIEOpaque*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_ie_opaque( |
| tpAniSirGlobal, |
| tDot11fIEWscIEOpaque *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_WscIEOpaque( |
| tpAniSirGlobal, |
| tDot11fIEWscIEOpaque *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscProbeReq { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVRequestType RequestType; |
| tDot11fTLVConfigMethods ConfigMethods; |
| tDot11fTLVUUID_E UUID_E; |
| tDot11fTLVPrimaryDeviceType PrimaryDeviceType; |
| tDot11fTLVRFBands RFBands; |
| tDot11fTLVAssociationState AssociationState; |
| tDot11fTLVConfigurationError ConfigurationError; |
| tDot11fTLVDevicePasswordID DevicePasswordID; |
| tDot11fTLVManufacturer Manufacturer; |
| tDot11fTLVModelName ModelName; |
| tDot11fTLVModelNumber ModelNumber; |
| tDot11fTLVDeviceName DeviceName; |
| tDot11fTLVVendorExtension VendorExtension; |
| tDot11fTLVRequestDeviceType RequestDeviceType; |
| } tDot11fIEWscProbeReq; |
| |
| #define DOT11F_EID_WSCPROBEREQ (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCPROBEREQ_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCPROBEREQ_MAX_LEN (284) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_probe_req( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscProbeReq*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_probe_req( |
| tpAniSirGlobal, |
| tDot11fIEWscProbeReq *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_probe_req( |
| tpAniSirGlobal, |
| tDot11fIEWscProbeReq *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscProbeRes { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVWPSState WPSState; |
| tDot11fTLVAPSetupLocked APSetupLocked; |
| tDot11fTLVSelectedRegistrar SelectedRegistrar; |
| tDot11fTLVDevicePasswordID DevicePasswordID; |
| tDot11fTLVSelectedRegistrarConfigMethods SelectedRegistrarConfigMethods; |
| tDot11fTLVResponseType ResponseType; |
| tDot11fTLVUUID_E UUID_E; |
| tDot11fTLVManufacturer Manufacturer; |
| tDot11fTLVModelName ModelName; |
| tDot11fTLVModelNumber ModelNumber; |
| tDot11fTLVSerialNumber SerialNumber; |
| tDot11fTLVPrimaryDeviceType PrimaryDeviceType; |
| tDot11fTLVDeviceName DeviceName; |
| tDot11fTLVConfigMethods ConfigMethods; |
| tDot11fTLVRFBands RFBands; |
| tDot11fTLVVendorExtension VendorExtension; |
| } tDot11fIEWscProbeRes; |
| |
| #define DOT11F_EID_WSCPROBERES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCPROBERES_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCPROBERES_MAX_LEN (317) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_probe_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscProbeRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEWscProbeRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_probe_res( |
| tpAniSirGlobal, |
| tDot11fIEWscProbeRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x50, 0xf2, 0x04} (Multi-IE) */ |
| typedef struct sDot11fIEWscReassocRes { |
| uint8_t present; |
| tDot11fTLVVersion Version; |
| tDot11fTLVResponseType ResponseType; |
| tDot11fTLVVendorExtension VendorExtension; |
| } tDot11fIEWscReassocRes; |
| |
| #define DOT11F_EID_WSCREASSOCRES (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_WSCREASSOCRES_MIN_LEN (4) |
| |
| #define DOT11F_IE_WSCREASSOCRES_MAX_LEN (35) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_wsc_reassoc_res( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEWscReassocRes*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_wsc_reassoc_res( |
| tpAniSirGlobal, |
| tDot11fIEWscReassocRes *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_wsc_reassoc_res( |
| tpAniSirGlobal, |
| tDot11fIEWscReassocRes *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 159 (0x9f) */ |
| typedef struct sDot11fIEaddba_extn_element { |
| uint8_t present; |
| uint8_t no_fragmentation:1; |
| uint8_t he_frag_operation:2; |
| uint8_t reserved:5; |
| } tDot11fIEaddba_extn_element; |
| |
| #define DOT11F_EID_ADDBA_EXTN_ELEMENT (159) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ADDBA_EXTN_ELEMENT_MIN_LEN (1) |
| |
| #define DOT11F_IE_ADDBA_EXTN_ELEMENT_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_addba_extn_element( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEaddba_extn_element*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_addba_extn_element( |
| tpAniSirGlobal, |
| tDot11fIEaddba_extn_element *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_addba_extn_element( |
| tpAniSirGlobal, |
| tDot11fIEaddba_extn_element *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 42 (0x2a) */ |
| typedef struct sDot11fIEbss_color_change { |
| uint8_t present; |
| uint8_t countdown; |
| uint8_t new_color:6; |
| uint8_t reserved:2; |
| } tDot11fIEbss_color_change; |
| |
| #define DOT11F_EID_BSS_COLOR_CHANGE (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_BSS_COLOR_CHANGE_MIN_LEN (2) |
| |
| #define DOT11F_IE_BSS_COLOR_CHANGE_MAX_LEN (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_bss_color_change( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEbss_color_change*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_bss_color_change( |
| tpAniSirGlobal, |
| tDot11fIEbss_color_change *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_bss_color_change( |
| tpAniSirGlobal, |
| tDot11fIEbss_color_change *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 32 (0x20) */ |
| typedef struct sDot11fIEdh_parameter_element { |
| uint8_t present; |
| uint8_t group[2]; |
| uint8_t num_public_key; |
| uint8_t public_key[255]; |
| } tDot11fIEdh_parameter_element; |
| |
| #define DOT11F_EID_DH_PARAMETER_ELEMENT (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_DH_PARAMETER_ELEMENT_MIN_LEN (2) |
| |
| #define DOT11F_IE_DH_PARAMETER_ELEMENT_MAX_LEN (257) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_dh_parameter_element( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEdh_parameter_element*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_dh_parameter_element( |
| tpAniSirGlobal, |
| tDot11fIEdh_parameter_element *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_dh_parameter_element( |
| tpAniSirGlobal, |
| tDot11fIEdh_parameter_element *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 11 (0x0b) */ |
| typedef struct sDot11fIEesp_information { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[96]; |
| } tDot11fIEesp_information; |
| |
| #define DOT11F_EID_ESP_INFORMATION (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_ESP_INFORMATION_MIN_LEN (0) |
| |
| #define DOT11F_IE_ESP_INFORMATION_MAX_LEN (96) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_esp_information( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEesp_information*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_esp_information( |
| tpAniSirGlobal, |
| tDot11fIEesp_information *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_esp_information( |
| tpAniSirGlobal, |
| tDot11fIEesp_information *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 60 (0x3c) */ |
| typedef struct sDot11fIEext_chan_switch_ann { |
| uint8_t present; |
| uint8_t switch_mode; |
| uint8_t new_reg_class; |
| uint8_t new_channel; |
| uint8_t switch_count; |
| } tDot11fIEext_chan_switch_ann; |
| |
| #define DOT11F_EID_EXT_CHAN_SWITCH_ANN (60) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_EXT_CHAN_SWITCH_ANN_MIN_LEN (4) |
| |
| #define DOT11F_IE_EXT_CHAN_SWITCH_ANN_MAX_LEN (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ext_chan_switch_ann( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEext_chan_switch_ann*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ext_chan_switch_ann( |
| tpAniSirGlobal, |
| tDot11fIEext_chan_switch_ann *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ext_chan_switch_ann( |
| tpAniSirGlobal, |
| tDot11fIEext_chan_switch_ann *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 1 (0x01) */ |
| typedef struct sDot11fIEfils_assoc_delay_info { |
| uint8_t present; |
| uint8_t assoc_delay_info; |
| } tDot11fIEfils_assoc_delay_info; |
| |
| #define DOT11F_EID_FILS_ASSOC_DELAY_INFO (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_ASSOC_DELAY_INFO_MIN_LEN (1) |
| |
| #define DOT11F_IE_FILS_ASSOC_DELAY_INFO_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_assoc_delay_info( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_assoc_delay_info*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_assoc_delay_info( |
| tpAniSirGlobal, |
| tDot11fIEfils_assoc_delay_info *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_assoc_delay_info( |
| tpAniSirGlobal, |
| tDot11fIEfils_assoc_delay_info *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 5 (0x05) */ |
| typedef struct sDot11fIEfils_hlp_container { |
| uint8_t present; |
| uint8_t dest_mac[6]; |
| uint8_t src_mac[6]; |
| uint8_t num_hlp_packet; |
| uint8_t hlp_packet[255]; |
| } tDot11fIEfils_hlp_container; |
| |
| #define DOT11F_EID_FILS_HLP_CONTAINER (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_HLP_CONTAINER_MIN_LEN (12) |
| |
| #define DOT11F_IE_FILS_HLP_CONTAINER_MAX_LEN (267) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_hlp_container( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_hlp_container*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_hlp_container( |
| tpAniSirGlobal, |
| tDot11fIEfils_hlp_container *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_hlp_container( |
| tpAniSirGlobal, |
| tDot11fIEfils_hlp_container *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 240 (0xf0) */ |
| typedef struct sDot11fIEfils_indication { |
| uint8_t present; |
| uint16_t public_key_identifiers_cnt:3; |
| uint16_t realm_identifiers_cnt:3; |
| uint16_t is_ip_config_supported:1; |
| uint16_t is_cache_id_present:1; |
| uint16_t is_hessid_present:1; |
| uint16_t is_fils_sk_auth_supported:1; |
| uint16_t is_fils_sk_auth_pfs_supported:1; |
| uint16_t is_pk_auth_supported:1; |
| uint16_t reserved:4; |
| uint8_t num_variable_data; |
| uint8_t variable_data[255]; |
| } tDot11fIEfils_indication; |
| |
| #define DOT11F_EID_FILS_INDICATION (240) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_INDICATION_MIN_LEN (4) |
| |
| #define DOT11F_IE_FILS_INDICATION_MAX_LEN (257) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_indication( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_indication*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_indication( |
| tpAniSirGlobal, |
| tDot11fIEfils_indication *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_indication( |
| tpAniSirGlobal, |
| tDot11fIEfils_indication *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 7 (0x07) */ |
| typedef struct sDot11fIEfils_kde { |
| uint8_t present; |
| uint8_t key_rsc[8]; |
| uint8_t num_kde_list; |
| uint8_t kde_list[255]; |
| } tDot11fIEfils_kde; |
| |
| #define DOT11F_EID_FILS_KDE (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_KDE_MIN_LEN (8) |
| |
| #define DOT11F_IE_FILS_KDE_MAX_LEN (263) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_kde( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_kde*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_kde( |
| tpAniSirGlobal, |
| tDot11fIEfils_kde *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_kde( |
| tpAniSirGlobal, |
| tDot11fIEfils_kde *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 3 (0x03) */ |
| typedef struct sDot11fIEfils_key_confirmation { |
| uint8_t present; |
| uint8_t num_key_auth; |
| uint8_t key_auth[255]; |
| } tDot11fIEfils_key_confirmation; |
| |
| #define DOT11F_EID_FILS_KEY_CONFIRMATION (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_KEY_CONFIRMATION_MIN_LEN (0) |
| |
| #define DOT11F_IE_FILS_KEY_CONFIRMATION_MAX_LEN (255) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_key_confirmation( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_key_confirmation*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_key_confirmation( |
| tpAniSirGlobal, |
| tDot11fIEfils_key_confirmation *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_key_confirmation( |
| tpAniSirGlobal, |
| tDot11fIEfils_key_confirmation *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 13 (0x0d) */ |
| typedef struct sDot11fIEfils_nonce { |
| uint8_t present; |
| uint8_t nonce[16]; |
| } tDot11fIEfils_nonce; |
| |
| #define DOT11F_EID_FILS_NONCE (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_NONCE_MIN_LEN (16) |
| |
| #define DOT11F_IE_FILS_NONCE_MAX_LEN (16) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_nonce( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_nonce*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_nonce( |
| tpAniSirGlobal, |
| tDot11fIEfils_nonce *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_nonce( |
| tpAniSirGlobal, |
| tDot11fIEfils_nonce *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 12 (0x0c) */ |
| typedef struct sDot11fIEfils_public_key { |
| uint8_t present; |
| uint8_t key_type; |
| uint8_t num_public_key; |
| uint8_t public_key[255]; |
| } tDot11fIEfils_public_key; |
| |
| #define DOT11F_EID_FILS_PUBLIC_KEY (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_PUBLIC_KEY_MIN_LEN (1) |
| |
| #define DOT11F_IE_FILS_PUBLIC_KEY_MAX_LEN (256) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_public_key( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_public_key*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_public_key( |
| tpAniSirGlobal, |
| tDot11fIEfils_public_key *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_public_key( |
| tpAniSirGlobal, |
| tDot11fIEfils_public_key *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 4 (0x04) */ |
| typedef struct sDot11fIEfils_session { |
| uint8_t present; |
| uint8_t session[8]; |
| } tDot11fIEfils_session; |
| |
| #define DOT11F_EID_FILS_SESSION (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_SESSION_MIN_LEN (8) |
| |
| #define DOT11F_IE_FILS_SESSION_MAX_LEN (8) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_session( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_session*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_session( |
| tpAniSirGlobal, |
| tDot11fIEfils_session *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_session( |
| tpAniSirGlobal, |
| tDot11fIEfils_session *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 8 (0x08) */ |
| typedef struct sDot11fIEfils_wrapped_data { |
| uint8_t present; |
| uint8_t num_wrapped_data; |
| uint8_t wrapped_data[255]; |
| } tDot11fIEfils_wrapped_data; |
| |
| #define DOT11F_EID_FILS_WRAPPED_DATA (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FILS_WRAPPED_DATA_MIN_LEN (0) |
| |
| #define DOT11F_IE_FILS_WRAPPED_DATA_MAX_LEN (255) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fils_wrapped_data( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfils_wrapped_data*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fils_wrapped_data( |
| tpAniSirGlobal, |
| tDot11fIEfils_wrapped_data *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fils_wrapped_data( |
| tpAniSirGlobal, |
| tDot11fIEfils_wrapped_data *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 242 (0xf2) */ |
| typedef struct sDot11fIEfragment_ie { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[255]; |
| } tDot11fIEfragment_ie; |
| |
| #define DOT11F_EID_FRAGMENT_IE (242) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_FRAGMENT_IE_MIN_LEN (0) |
| |
| #define DOT11F_IE_FRAGMENT_IE_MAX_LEN (255) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_fragment_ie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEfragment_ie*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_fragment_ie( |
| tpAniSirGlobal, |
| tDot11fIEfragment_ie *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_fragment_ie( |
| tpAniSirGlobal, |
| tDot11fIEfragment_ie *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 35 (0x23) */ |
| typedef struct sDot11fIEhe_cap { |
| uint8_t present; |
| uint32_t htc_he:1; |
| uint32_t twt_request:1; |
| uint32_t twt_responder:1; |
| uint32_t fragmentation:2; |
| uint32_t max_num_frag_msdu_amsdu_exp:3; |
| uint32_t min_frag_size:2; |
| uint32_t trigger_frm_mac_pad:2; |
| uint32_t multi_tid_aggr_rx_supp:3; |
| uint32_t he_link_adaptation:2; |
| uint32_t all_ack:1; |
| uint32_t trigd_rsp_sched:1; |
| uint32_t a_bsr:1; |
| uint32_t broadcast_twt:1; |
| uint32_t ba_32bit_bitmap:1; |
| uint32_t mu_cascade:1; |
| uint32_t ack_enabled_multitid:1; |
| uint32_t reserved:1; |
| uint32_t omi_a_ctrl:1; |
| uint32_t ofdma_ra:1; |
| uint32_t max_ampdu_len_exp_ext:2; |
| uint32_t amsdu_frag:1; |
| uint32_t flex_twt_sched:1; |
| uint32_t rx_ctrl_frame:1; |
| uint16_t bsrp_ampdu_aggr:1; |
| uint16_t qtp:1; |
| uint16_t a_bqr:1; |
| uint16_t spatial_reuse_param_rspder:1; |
| uint16_t ndp_feedback_supp:1; |
| uint16_t ops_supp:1; |
| uint16_t amsdu_in_ampdu:1; |
| uint16_t multi_tid_aggr_tx_supp:3; |
| uint16_t he_sub_ch_sel_tx_supp:1; |
| uint16_t ul_2x996_tone_ru_supp:1; |
| uint16_t om_ctrl_ul_mu_data_dis_rx:1; |
| uint16_t reserved1:3; |
| uint32_t reserved2:1; |
| uint32_t chan_width_0:1; |
| uint32_t chan_width_1:1; |
| uint32_t chan_width_2:1; |
| uint32_t chan_width_3:1; |
| uint32_t chan_width_4:1; |
| uint32_t chan_width_5:1; |
| uint32_t chan_width_6:1; |
| uint32_t rx_pream_puncturing:4; |
| uint32_t device_class:1; |
| uint32_t ldpc_coding:1; |
| uint32_t he_1x_ltf_800_gi_ppdu:1; |
| uint32_t midamble_tx_rx_max_nsts:2; |
| uint32_t he_4x_ltf_3200_gi_ndp:1; |
| uint32_t tx_stbc_lt_80mhz:1; |
| uint32_t rx_stbc_lt_80mhz:1; |
| uint32_t doppler:2; |
| uint32_t ul_mu:2; |
| uint32_t dcm_enc_tx:3; |
| uint32_t dcm_enc_rx:3; |
| uint32_t ul_he_mu:1; |
| uint32_t su_beamformer:1; |
| uint32_t su_beamformee:1; |
| uint32_t mu_beamformer:1; |
| uint32_t bfee_sts_lt_80:3; |
| uint32_t bfee_sts_gt_80:3; |
| uint32_t num_sounding_lt_80:3; |
| uint32_t num_sounding_gt_80:3; |
| uint32_t su_feedback_tone16:1; |
| uint32_t mu_feedback_tone16:1; |
| uint32_t codebook_su:1; |
| uint32_t codebook_mu:1; |
| uint32_t beamforming_feedback:3; |
| uint32_t he_er_su_ppdu:1; |
| uint32_t dl_mu_mimo_part_bw:1; |
| uint32_t ppet_present:1; |
| uint32_t srp:1; |
| uint32_t power_boost:1; |
| uint32_t he_ltf_800_gi_4x:1; |
| uint32_t max_nc:3; |
| uint32_t tx_stbc_gt_80mhz:1; |
| uint32_t rx_stbc_gt_80mhz:1; |
| uint16_t er_he_ltf_800_gi_4x:1; |
| uint16_t he_ppdu_20_in_40Mhz_2G:1; |
| uint16_t he_ppdu_20_in_160_80p80Mhz:1; |
| uint16_t he_ppdu_80_in_160_80p80Mhz:1; |
| uint16_t er_1x_he_ltf_gi:1; |
| uint16_t midamble_tx_rx_1x_he_ltf:1; |
| uint16_t dcm_max_bw:2; |
| uint16_t longer_than_16_he_sigb_ofdm_sym:1; |
| uint16_t non_trig_cqi_feedback:1; |
| uint16_t tx_1024_qam_lt_242_tone_ru:1; |
| uint16_t rx_1024_qam_lt_242_tone_ru:1; |
| uint16_t rx_full_bw_su_he_mu_compress_sigb:1; |
| uint16_t rx_full_bw_su_he_mu_non_cmpr_sigb:1; |
| uint16_t reserved3:2; |
| uint8_t reserved4; |
| uint16_t rx_he_mcs_map_lt_80; |
| uint16_t tx_he_mcs_map_lt_80; |
| uint8_t rx_he_mcs_map_160[1][2]; |
| uint8_t tx_he_mcs_map_160[1][2]; |
| uint8_t rx_he_mcs_map_80_80[1][2]; |
| uint8_t tx_he_mcs_map_80_80[1][2]; |
| union { |
| struct { |
| uint8_t num_ppe_th; |
| uint8_t ppe_th[25]; |
| } ppe_threshold; /* ppet_present = 1 */ |
| } ppet; |
| } tDot11fIEhe_cap; |
| |
| #define DOT11F_EID_HE_CAP (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HE_CAP_MIN_LEN (21) |
| |
| #define DOT11F_IE_HE_CAP_MAX_LEN (54) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_he_cap( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEhe_cap*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_he_cap( |
| tpAniSirGlobal, |
| tDot11fIEhe_cap *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_he_cap( |
| tpAniSirGlobal, |
| tDot11fIEhe_cap *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 36 (0x24) */ |
| typedef struct sDot11fIEhe_op { |
| uint8_t present; |
| uint16_t default_pe:3; |
| uint16_t twt_required:1; |
| uint16_t txop_rts_threshold:10; |
| uint16_t vht_oper_present:1; |
| uint16_t co_located_bss:1; |
| uint8_t er_su_disable:1; |
| uint8_t reserved2:7; |
| uint8_t bss_color:6; |
| uint8_t partial_bss_col:1; |
| uint8_t bss_col_disabled:1; |
| uint8_t basic_mcs_nss[2]; |
| union { |
| struct { |
| uint8_t chan_width; |
| uint8_t center_freq_seg0; |
| uint8_t center_freq_seg1; |
| } info; /* vht_oper_present = 1 */ |
| } vht_oper; |
| union { |
| struct { |
| uint8_t data; |
| } info; /* co_located_bss = 1 */ |
| } maxbssid_ind; |
| } tDot11fIEhe_op; |
| |
| #define DOT11F_EID_HE_OP (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HE_OP_MIN_LEN (6) |
| |
| #define DOT11F_IE_HE_OP_MAX_LEN (10) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_he_op( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEhe_op*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_he_op( |
| tpAniSirGlobal, |
| tDot11fIEhe_op *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_he_op( |
| tpAniSirGlobal, |
| tDot11fIEhe_op *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x10} */ |
| typedef struct sDot11fIEhs20vendor_ie { |
| uint8_t present; |
| uint8_t dgaf_dis:1; |
| uint8_t hs_id_present:2; |
| uint8_t reserved:1; |
| uint8_t release_num:4; |
| union { |
| struct { |
| uint16_t pps_mo_id; |
| } pps_mo; /* hs_id_present = 1 */ |
| struct { |
| uint16_t anqp_domain_id; |
| } anqp_domain; /* hs_id_present = 2 */ |
| } hs_id; |
| } tDot11fIEhs20vendor_ie; |
| |
| #define DOT11F_EID_HS20VENDOR_IE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HS20VENDOR_IE_MIN_LEN (5) |
| |
| #define DOT11F_IE_HS20VENDOR_IE_MAX_LEN (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_hs20vendor_ie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEhs20vendor_ie*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_hs20vendor_ie( |
| tpAniSirGlobal, |
| tDot11fIEhs20vendor_ie *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_hs20vendor_ie( |
| tpAniSirGlobal, |
| tDot11fIEhs20vendor_ie *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 72 (0x48) */ |
| typedef struct sDot11fIEht2040_bss_coexistence { |
| uint8_t present; |
| uint8_t info_request:1; |
| uint8_t forty_mhz_intolerant:1; |
| uint8_t twenty_mhz_bsswidth_req:1; |
| uint8_t obss_scan_exemption_req:1; |
| uint8_t obss_scan_exemption_grant:1; |
| uint8_t unused:3; |
| } tDot11fIEht2040_bss_coexistence; |
| |
| #define DOT11F_EID_HT2040_BSS_COEXISTENCE (72) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HT2040_BSS_COEXISTENCE_MIN_LEN (1) |
| |
| #define DOT11F_IE_HT2040_BSS_COEXISTENCE_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ht2040_bss_coexistence( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEht2040_bss_coexistence*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ht2040_bss_coexistence( |
| tpAniSirGlobal, |
| tDot11fIEht2040_bss_coexistence *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ht2040_bss_coexistence( |
| tpAniSirGlobal, |
| tDot11fIEht2040_bss_coexistence *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 73 (0x49) */ |
| typedef struct sDot11fIEht2040_bss_intolerant_report { |
| uint8_t present; |
| uint8_t operating_class; |
| uint8_t num_channel_list; |
| uint8_t channel_list[50]; |
| } tDot11fIEht2040_bss_intolerant_report; |
| |
| #define DOT11F_EID_HT2040_BSS_INTOLERANT_REPORT (73) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_HT2040_BSS_INTOLERANT_REPORT_MIN_LEN (1) |
| |
| #define DOT11F_IE_HT2040_BSS_INTOLERANT_REPORT_MAX_LEN (51) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEht2040_bss_intolerant_report*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_ht2040_bss_intolerant_report( |
| tpAniSirGlobal, |
| tDot11fIEht2040_bss_intolerant_report *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_ht2040_bss_intolerant_report( |
| tpAniSirGlobal, |
| tDot11fIEht2040_bss_intolerant_report *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 255 (0xff) Extended EID 38 (0x26) */ |
| typedef struct sDot11fIEmu_edca_param_set { |
| uint8_t present; |
| uint8_t qos; |
| uint8_t acbe_aifsn:4; |
| uint8_t acbe_acm:1; |
| uint8_t acbe_aci:2; |
| uint8_t unused1:1; |
| uint8_t acbe_acwmin:4; |
| uint8_t acbe_acwmax:4; |
| uint8_t acbe_muedca_timer; |
| uint8_t acbk_aifsn:4; |
| uint8_t acbk_acm:1; |
| uint8_t acbk_aci:2; |
| uint8_t unused2:1; |
| uint8_t acbk_acwmin:4; |
| uint8_t acbk_acwmax:4; |
| uint8_t acbk_muedca_timer; |
| uint8_t acvi_aifsn:4; |
| uint8_t acvi_acm:1; |
| uint8_t acvi_aci:2; |
| uint8_t unused3:1; |
| uint8_t acvi_acwmin:4; |
| uint8_t acvi_acwmax:4; |
| uint8_t acvi_muedca_timer; |
| uint8_t acvo_aifsn:4; |
| uint8_t acvo_acm:1; |
| uint8_t acvo_aci:2; |
| uint8_t unused4:1; |
| uint8_t acvo_acwmin:4; |
| uint8_t acvo_acwmax:4; |
| uint8_t acvo_muedca_timer; |
| } tDot11fIEmu_edca_param_set; |
| |
| #define DOT11F_EID_MU_EDCA_PARAM_SET (255) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_MU_EDCA_PARAM_SET_MIN_LEN (13) |
| |
| #define DOT11F_IE_MU_EDCA_PARAM_SET_MAX_LEN (13) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_mu_edca_param_set( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEmu_edca_param_set*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_mu_edca_param_set( |
| tpAniSirGlobal, |
| tDot11fIEmu_edca_param_set *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_mu_edca_param_set( |
| tpAniSirGlobal, |
| tDot11fIEmu_edca_param_set *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x12} */ |
| typedef struct sDot11fIEosen_ie { |
| uint8_t present; |
| uint8_t num_data; |
| uint8_t data[255]; |
| } tDot11fIEosen_ie; |
| |
| #define DOT11F_EID_OSEN_IE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_OSEN_IE_MIN_LEN (4) |
| |
| #define DOT11F_IE_OSEN_IE_MAX_LEN (259) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_osen_ie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEosen_ie*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_osen_ie( |
| tpAniSirGlobal, |
| tDot11fIEosen_ie *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_osen_ie( |
| tpAniSirGlobal, |
| tDot11fIEosen_ie *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 62 (0x3e) */ |
| typedef struct sDot11fIEsec_chan_offset_ele { |
| uint8_t present; |
| uint8_t secondaryChannelOffset; |
| } tDot11fIEsec_chan_offset_ele; |
| |
| #define DOT11F_EID_SEC_CHAN_OFFSET_ELE (62) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_SEC_CHAN_OFFSET_ELE_MIN_LEN (1) |
| |
| #define DOT11F_IE_SEC_CHAN_OFFSET_ELE_MAX_LEN (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_sec_chan_offset_ele( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEsec_chan_offset_ele*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_sec_chan_offset_ele( |
| tpAniSirGlobal, |
| tDot11fIEsec_chan_offset_ele *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_sec_chan_offset_ele( |
| tpAniSirGlobal, |
| tDot11fIEsec_chan_offset_ele *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| |
| /* EID 221 (0xdd) {OUI 0x00, 0x90, 0x4c, 0x04} */ |
| typedef struct sDot11fIEvendor_vht_ie { |
| uint8_t present; |
| uint8_t sub_type; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| } tDot11fIEvendor_vht_ie; |
| |
| #define DOT11F_EID_VENDOR_VHT_IE (221) |
| |
| /* N.B. These #defines do *not* include the EID & length */ |
| #define DOT11F_IE_VENDOR_VHT_IE_MIN_LEN (5) |
| |
| #define DOT11F_IE_VENDOR_VHT_IE_MAX_LEN (26) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| __must_check uint32_t dot11f_unpack_ie_vendor_vht_ie( |
| tpAniSirGlobal, |
| uint8_t *, |
| uint8_t, |
| tDot11fIEvendor_vht_ie*, |
| bool); |
| |
| uint32_t dot11f_pack_ie_vendor_vht_ie( |
| tpAniSirGlobal, |
| tDot11fIEvendor_vht_ie *, |
| uint8_t *, |
| uint32_t, |
| uint32_t*); |
| |
| uint32_t dot11f_get_packed_ie_vendor_vht_ie( |
| tpAniSirGlobal, |
| tDot11fIEvendor_vht_ie *, |
| uint32_t*); |
| |
| #ifdef __cplusplus |
| }; /* End extern "C". */ |
| #endif /* C++ */ |
| /************************************************************************ |
| * Frames |
| **********************************************************************/ |
| |
| typedef struct sDot11fAddTSRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIETSPEC TSPEC; |
| uint16_t num_TCLAS; |
| tDot11fIETCLAS TCLAS[2]; |
| tDot11fIETCLASSPROC TCLASSPROC; |
| tDot11fIEWMMTSPEC WMMTSPEC; |
| uint16_t num_WMMTCLAS; |
| tDot11fIEWMMTCLAS WMMTCLAS[2]; |
| tDot11fIEWMMTCLASPROC WMMTCLASPROC; |
| tDot11fIEESETrafStrmRateSet ESETrafStrmRateSet; |
| } tDot11fAddTSRequest; |
| |
| #define DOT11F_ADDTSREQUEST (1) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_add_ts_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fAddTSRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_add_ts_request(tpAniSirGlobal pCtx, |
| tDot11fAddTSRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_add_ts_request_size(tpAniSirGlobal pCtx, |
| tDot11fAddTSRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fAddTSResponse{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfStatus Status; |
| tDot11fIETSDelay TSDelay; |
| tDot11fIETSPEC TSPEC; |
| uint16_t num_TCLAS; |
| tDot11fIETCLAS TCLAS[2]; |
| tDot11fIETCLASSPROC TCLASSPROC; |
| tDot11fIESchedule Schedule; |
| tDot11fIEWMMTSDelay WMMTSDelay; |
| tDot11fIEWMMSchedule WMMSchedule; |
| tDot11fIEWMMTSPEC WMMTSPEC; |
| uint16_t num_WMMTCLAS; |
| tDot11fIEWMMTCLAS WMMTCLAS[2]; |
| tDot11fIEWMMTCLASPROC WMMTCLASPROC; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| } tDot11fAddTSResponse; |
| |
| #define DOT11F_ADDTSRESPONSE (2) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_add_ts_response(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fAddTSResponse * pFrm, bool append_ie); |
| uint32_t dot11f_pack_add_ts_response(tpAniSirGlobal pCtx, |
| tDot11fAddTSResponse *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_add_ts_response_size(tpAniSirGlobal pCtx, |
| tDot11fAddTSResponse *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fAssocRequest{ |
| tDot11fFfCapabilities Capabilities; |
| tDot11fFfListenInterval ListenInterval; |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEOperatingMode OperatingMode; |
| tDot11fIEPowerCaps PowerCaps; |
| tDot11fIESuppChannels SuppChannels; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEQOSCapsStation QOSCapsStation; |
| tDot11fIERSNOpaque RSNOpaque; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEWAPIOpaque WAPIOpaque; |
| tDot11fIEWAPI WAPI; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEQosMapSet QosMapSet; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEfils_session fils_session; |
| tDot11fIEfils_public_key fils_public_key; |
| tDot11fIEfils_key_confirmation fils_key_confirmation; |
| tDot11fIEfils_hlp_container fils_hlp_container; |
| tDot11fIEfragment_ie fragment_ie; |
| tDot11fIEdh_parameter_element dh_parameter_element; |
| tDot11fIEWPAOpaque WPAOpaque; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEWMMInfoStation WMMInfoStation; |
| tDot11fIEWscIEOpaque WscIEOpaque; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESEVersion ESEVersion; |
| tDot11fIEP2PIEOpaque P2PIEOpaque; |
| tDot11fIEWFDIEOpaque WFDIEOpaque; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEhs20vendor_ie hs20vendor_ie; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEosen_ie osen_ie; |
| } tDot11fAssocRequest; |
| |
| #define DOT11F_ASSOCREQUEST (3) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_assoc_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fAssocRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_assoc_request(tpAniSirGlobal pCtx, |
| tDot11fAssocRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_assoc_request_size(tpAniSirGlobal pCtx, |
| tDot11fAssocRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fAssocResponse{ |
| tDot11fFfCapabilities Capabilities; |
| tDot11fFfStatus Status; |
| tDot11fFfAID AID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIERCPIIE RCPIIE; |
| tDot11fIERSNIIE RSNIIE; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEFTInfo FTInfo; |
| uint16_t num_RICDataDesc; |
| tDot11fIERICDataDesc RICDataDesc[2]; |
| tDot11fIEWPA WPA; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| tDot11fIEESETxmitPower ESETxmitPower; |
| uint16_t num_WMMTSPEC; |
| tDot11fIEWMMTSPEC WMMTSPEC[4]; |
| tDot11fIEWscAssocRes WscAssocRes; |
| tDot11fIEP2PAssocRes P2PAssocRes; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOBSSScanParameters OBSSScanParameters; |
| tDot11fIEQosMapSet QosMapSet; |
| tDot11fIEfils_session fils_session; |
| tDot11fIEfils_public_key fils_public_key; |
| tDot11fIEfils_key_confirmation fils_key_confirmation; |
| tDot11fIEfils_hlp_container fils_hlp_container; |
| tDot11fIEfragment_ie fragment_ie; |
| tDot11fIEfils_kde fils_kde; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEhe_op he_op; |
| tDot11fIEbss_color_change bss_color_change; |
| tDot11fIEmu_edca_param_set mu_edca_param_set; |
| tDot11fIEMBO_IE MBO_IE; |
| } tDot11fAssocResponse; |
| |
| #define DOT11F_ASSOCRESPONSE (4) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_assoc_response(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fAssocResponse * pFrm, bool append_ie); |
| uint32_t dot11f_pack_assoc_response(tpAniSirGlobal pCtx, |
| tDot11fAssocResponse *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_assoc_response_size(tpAniSirGlobal pCtx, |
| tDot11fAssocResponse *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fAuthentication{ |
| tDot11fFfAuthAlgo AuthAlgo; |
| tDot11fFfAuthSeqNo AuthSeqNo; |
| tDot11fFfStatus Status; |
| tDot11fIEChallengeText ChallengeText; |
| tDot11fIERSNOpaque RSNOpaque; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEFTInfo FTInfo; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| uint16_t num_RICDataDesc; |
| tDot11fIERICDataDesc RICDataDesc[2]; |
| tDot11fIEfils_nonce fils_nonce; |
| tDot11fIEfils_session fils_session; |
| tDot11fIEfils_wrapped_data fils_wrapped_data; |
| tDot11fIEfils_assoc_delay_info fils_assoc_delay_info; |
| } tDot11fAuthentication; |
| |
| #define DOT11F_AUTHENTICATION (5) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_authentication(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fAuthentication * pFrm, bool append_ie); |
| uint32_t dot11f_pack_authentication(tpAniSirGlobal pCtx, |
| tDot11fAuthentication *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_authentication_size(tpAniSirGlobal pCtx, |
| tDot11fAuthentication *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fBeacon{ |
| tDot11fFfTimeStamp TimeStamp; |
| tDot11fFfBeaconInterval BeaconInterval; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEFHParamSet FHParamSet; |
| tDot11fIEDSParams DSParams; |
| tDot11fIECFParams CFParams; |
| tDot11fIEIBSSParams IBSSParams; |
| tDot11fIETIM TIM; |
| tDot11fIECountry Country; |
| tDot11fIEFHParams FHParams; |
| tDot11fIEFHPattTable FHPattTable; |
| tDot11fIEPowerConstraints PowerConstraints; |
| tDot11fIEChanSwitchAnn ChanSwitchAnn; |
| tDot11fIEext_chan_switch_ann ext_chan_switch_ann; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEQuiet Quiet; |
| tDot11fIETPCReport TPCReport; |
| tDot11fIEERPInfo ERPInfo; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIERSN RSN; |
| tDot11fIEQBSSLoad QBSSLoad; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIEQOSCapsAp QOSCapsAp; |
| tDot11fIEAPChannelReport APChannelReport; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEWPA WPA; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIEsec_chan_offset_ele sec_chan_offset_ele; |
| tDot11fIEWMMInfoAp WMMInfoAp; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEWAPI WAPI; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| tDot11fIEESETxmitPower ESETxmitPower; |
| tDot11fIEWscBeacon WscBeacon; |
| tDot11fIEP2PBeacon P2PBeacon; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEVHTExtBssLoad VHTExtBssLoad; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOperatingMode OperatingMode; |
| tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; |
| tDot11fIEOBSSScanParameters OBSSScanParameters; |
| tDot11fIEfils_indication fils_indication; |
| tDot11fIEVendor1IE Vendor1IE; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEVendor3IE Vendor3IE; |
| tDot11fIEhs20vendor_ie hs20vendor_ie; |
| tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; |
| tDot11fIEQComVendorIE QComVendorIE; |
| tDot11fIEESEVersion ESEVersion; |
| tDot11fIEMBO_IE MBO_IE; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEhe_op he_op; |
| tDot11fIEbss_color_change bss_color_change; |
| tDot11fIEmu_edca_param_set mu_edca_param_set; |
| tDot11fIEesp_information esp_information; |
| } tDot11fBeacon; |
| |
| #define DOT11F_BEACON (6) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_beacon(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fBeacon * pFrm, bool append_ie); |
| uint32_t dot11f_pack_beacon(tpAniSirGlobal pCtx, |
| tDot11fBeacon *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_beacon_size(tpAniSirGlobal pCtx, |
| tDot11fBeacon *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fBeacon1{ |
| tDot11fFfTimeStamp TimeStamp; |
| tDot11fFfBeaconInterval BeaconInterval; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEDSParams DSParams; |
| tDot11fIEIBSSParams IBSSParams; |
| } tDot11fBeacon1; |
| |
| #define DOT11F_BEACON1 (7) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_beacon1(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fBeacon1 * pFrm, bool append_ie); |
| uint32_t dot11f_pack_beacon1(tpAniSirGlobal pCtx, |
| tDot11fBeacon1 *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_beacon1_size(tpAniSirGlobal pCtx, |
| tDot11fBeacon1 *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fBeacon2{ |
| tDot11fIECountry Country; |
| tDot11fIEPowerConstraints PowerConstraints; |
| tDot11fIEChanSwitchAnn ChanSwitchAnn; |
| tDot11fIEext_chan_switch_ann ext_chan_switch_ann; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEQuiet Quiet; |
| tDot11fIETPCReport TPCReport; |
| tDot11fIEERPInfo ERPInfo; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIERSNOpaque RSNOpaque; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIEAPChannelReport APChannelReport; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEWPA WPA; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIEsec_chan_offset_ele sec_chan_offset_ele; |
| tDot11fIEWMMInfoAp WMMInfoAp; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEWscBeacon WscBeacon; |
| tDot11fIEWAPI WAPI; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| tDot11fIEESETxmitPower ESETxmitPower; |
| tDot11fIEP2PBeacon P2PBeacon; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEVHTExtBssLoad VHTExtBssLoad; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOperatingMode OperatingMode; |
| tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; |
| tDot11fIEOBSSScanParameters OBSSScanParameters; |
| tDot11fIEfils_indication fils_indication; |
| tDot11fIEVendor1IE Vendor1IE; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEVendor3IE Vendor3IE; |
| tDot11fIEhs20vendor_ie hs20vendor_ie; |
| tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; |
| tDot11fIEQComVendorIE QComVendorIE; |
| tDot11fIEESEVersion ESEVersion; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEhe_op he_op; |
| tDot11fIEbss_color_change bss_color_change; |
| tDot11fIEmu_edca_param_set mu_edca_param_set; |
| tDot11fIEesp_information esp_information; |
| } tDot11fBeacon2; |
| |
| #define DOT11F_BEACON2 (8) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_beacon2(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fBeacon2 * pFrm, bool append_ie); |
| uint32_t dot11f_pack_beacon2(tpAniSirGlobal pCtx, |
| tDot11fBeacon2 *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_beacon2_size(tpAniSirGlobal pCtx, |
| tDot11fBeacon2 *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fBeaconIEs{ |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEFHParamSet FHParamSet; |
| tDot11fIEDSParams DSParams; |
| tDot11fIECFParams CFParams; |
| tDot11fIEIBSSParams IBSSParams; |
| tDot11fIETIM TIM; |
| tDot11fIECountry Country; |
| tDot11fIEFHParams FHParams; |
| tDot11fIEFHPattTable FHPattTable; |
| tDot11fIEPowerConstraints PowerConstraints; |
| tDot11fIEChanSwitchAnn ChanSwitchAnn; |
| tDot11fIEext_chan_switch_ann ext_chan_switch_ann; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEQuiet Quiet; |
| tDot11fIETPCReport TPCReport; |
| tDot11fIEERPInfo ERPInfo; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIERSN RSN; |
| tDot11fIEQBSSLoad QBSSLoad; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIEQOSCapsAp QOSCapsAp; |
| tDot11fIEAPChannelReport APChannelReport; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEWPA WPA; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIEsec_chan_offset_ele sec_chan_offset_ele; |
| tDot11fIEWMMInfoAp WMMInfoAp; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEWAPI WAPI; |
| tDot11fIEESEVersion ESEVersion; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| tDot11fIEESETxmitPower ESETxmitPower; |
| tDot11fIEWscBeaconProbeRes WscBeaconProbeRes; |
| tDot11fIEP2PBeaconProbeRes P2PBeaconProbeRes; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEVHTExtBssLoad VHTExtBssLoad; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOperatingMode OperatingMode; |
| tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; |
| tDot11fIEOBSSScanParameters OBSSScanParameters; |
| tDot11fIEfils_indication fils_indication; |
| tDot11fIEVendor1IE Vendor1IE; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEVendor3IE Vendor3IE; |
| tDot11fIEhs20vendor_ie hs20vendor_ie; |
| tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; |
| tDot11fIEQComVendorIE QComVendorIE; |
| tDot11fIEMBO_IE MBO_IE; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEhe_op he_op; |
| tDot11fIEbss_color_change bss_color_change; |
| tDot11fIEmu_edca_param_set mu_edca_param_set; |
| tDot11fIEesp_information esp_information; |
| } tDot11fBeaconIEs; |
| |
| #define DOT11F_BEACONIES (9) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_beacon_i_es(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fBeaconIEs * pFrm, bool append_ie); |
| uint32_t dot11f_pack_beacon_i_es(tpAniSirGlobal pCtx, |
| tDot11fBeaconIEs *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_beacon_i_es_size(tpAniSirGlobal pCtx, |
| tDot11fBeaconIEs *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fChannelSwitch{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fIEChanSwitchAnn ChanSwitchAnn; |
| tDot11fIEsec_chan_offset_ele sec_chan_offset_ele; |
| tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; |
| } tDot11fChannelSwitch; |
| |
| #define DOT11F_CHANNELSWITCH (10) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_channel_switch(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fChannelSwitch * pFrm, bool append_ie); |
| uint32_t dot11f_pack_channel_switch(tpAniSirGlobal pCtx, |
| tDot11fChannelSwitch *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_channel_switch_size(tpAniSirGlobal pCtx, |
| tDot11fChannelSwitch *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fDeAuth{ |
| tDot11fFfReason Reason; |
| tDot11fIEP2PDeAuth P2PDeAuth; |
| } tDot11fDeAuth; |
| |
| #define DOT11F_DEAUTH (11) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_de_auth(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fDeAuth * pFrm, bool append_ie); |
| uint32_t dot11f_pack_de_auth(tpAniSirGlobal pCtx, |
| tDot11fDeAuth *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_de_auth_size(tpAniSirGlobal pCtx, |
| tDot11fDeAuth *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fDelTS{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfTSInfo TSInfo; |
| tDot11fFfReason Reason; |
| } tDot11fDelTS; |
| |
| #define DOT11F_DELTS (12) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_del_ts(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fDelTS * pFrm, bool append_ie); |
| uint32_t dot11f_pack_del_ts(tpAniSirGlobal pCtx, |
| tDot11fDelTS *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_del_ts_size(tpAniSirGlobal pCtx, |
| tDot11fDelTS *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fDisassociation{ |
| tDot11fFfReason Reason; |
| tDot11fIEP2PDisAssoc P2PDisAssoc; |
| } tDot11fDisassociation; |
| |
| #define DOT11F_DISASSOCIATION (13) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_disassociation(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fDisassociation * pFrm, bool append_ie); |
| uint32_t dot11f_pack_disassociation(tpAniSirGlobal pCtx, |
| tDot11fDisassociation *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_disassociation_size(tpAniSirGlobal pCtx, |
| tDot11fDisassociation *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fLinkMeasurementReport{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfTPCEleID TPCEleID; |
| tDot11fFfTPCEleLen TPCEleLen; |
| tDot11fFfTxPower TxPower; |
| tDot11fFfLinkMargin LinkMargin; |
| tDot11fFfRxAntennaId RxAntennaId; |
| tDot11fFfTxAntennaId TxAntennaId; |
| tDot11fFfRCPI RCPI; |
| tDot11fFfRSNI RSNI; |
| } tDot11fLinkMeasurementReport; |
| |
| #define DOT11F_LINKMEASUREMENTREPORT (14) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_link_measurement_report(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fLinkMeasurementReport * pFrm, bool append_ie); |
| uint32_t dot11f_pack_link_measurement_report(tpAniSirGlobal pCtx, |
| tDot11fLinkMeasurementReport *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_link_measurement_report_size(tpAniSirGlobal pCtx, |
| tDot11fLinkMeasurementReport *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fLinkMeasurementRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfTxPower TxPower; |
| tDot11fFfMaxTxPower MaxTxPower; |
| } tDot11fLinkMeasurementRequest; |
| |
| #define DOT11F_LINKMEASUREMENTREQUEST (15) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_link_measurement_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fLinkMeasurementRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_link_measurement_request(tpAniSirGlobal pCtx, |
| tDot11fLinkMeasurementRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_link_measurement_request_size(tpAniSirGlobal pCtx, |
| tDot11fLinkMeasurementRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fMeasurementReport{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIEMeasurementReport MeasurementReport; |
| } tDot11fMeasurementReport; |
| |
| #define DOT11F_MEASUREMENTREPORT (16) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_measurement_report(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fMeasurementReport * pFrm, bool append_ie); |
| uint32_t dot11f_pack_measurement_report(tpAniSirGlobal pCtx, |
| tDot11fMeasurementReport *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_measurement_report_size(tpAniSirGlobal pCtx, |
| tDot11fMeasurementReport *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fMeasurementRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| uint16_t num_MeasurementRequest; |
| tDot11fIEMeasurementRequest MeasurementRequest[4]; |
| } tDot11fMeasurementRequest; |
| |
| #define DOT11F_MEASUREMENTREQUEST (17) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_measurement_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fMeasurementRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_measurement_request(tpAniSirGlobal pCtx, |
| tDot11fMeasurementRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_measurement_request_size(tpAniSirGlobal pCtx, |
| tDot11fMeasurementRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fNeighborReportRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIESSID SSID; |
| } tDot11fNeighborReportRequest; |
| |
| #define DOT11F_NEIGHBORREPORTREQUEST (18) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_neighbor_report_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fNeighborReportRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_neighbor_report_request(tpAniSirGlobal pCtx, |
| tDot11fNeighborReportRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_neighbor_report_request_size(tpAniSirGlobal pCtx, |
| tDot11fNeighborReportRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fNeighborReportResponse{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| uint16_t num_NeighborReport; |
| tDot11fIENeighborReport NeighborReport[15]; |
| } tDot11fNeighborReportResponse; |
| |
| #define DOT11F_NEIGHBORREPORTRESPONSE (19) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_neighbor_report_response(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fNeighborReportResponse * pFrm, bool append_ie); |
| uint32_t dot11f_pack_neighbor_report_response(tpAniSirGlobal pCtx, |
| tDot11fNeighborReportResponse *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_neighbor_report_response_size(tpAniSirGlobal pCtx, |
| tDot11fNeighborReportResponse *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fOperatingMode{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfOperatingMode OperatingMode; |
| } tDot11fOperatingMode; |
| |
| #define DOT11F_OPERATINGMODE (20) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_operating_mode(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fOperatingMode * pFrm, bool append_ie); |
| uint32_t dot11f_pack_operating_mode(tpAniSirGlobal pCtx, |
| tDot11fOperatingMode *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_operating_mode_size(tpAniSirGlobal pCtx, |
| tDot11fOperatingMode *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fProbeRequest{ |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIERequestedInfo RequestedInfo; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIEDSParams DSParams; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEWscProbeReq WscProbeReq; |
| tDot11fIEWFATPC WFATPC; |
| tDot11fIEP2PProbeReq P2PProbeReq; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| } tDot11fProbeRequest; |
| |
| #define DOT11F_PROBEREQUEST (21) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_probe_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fProbeRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_probe_request(tpAniSirGlobal pCtx, |
| tDot11fProbeRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_probe_request_size(tpAniSirGlobal pCtx, |
| tDot11fProbeRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fProbeResponse{ |
| tDot11fFfTimeStamp TimeStamp; |
| tDot11fFfBeaconInterval BeaconInterval; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEFHParamSet FHParamSet; |
| tDot11fIEDSParams DSParams; |
| tDot11fIECFParams CFParams; |
| tDot11fIEIBSSParams IBSSParams; |
| tDot11fIECountry Country; |
| tDot11fIEFHParams FHParams; |
| tDot11fIEFHPattTable FHPattTable; |
| tDot11fIEPowerConstraints PowerConstraints; |
| tDot11fIEChanSwitchAnn ChanSwitchAnn; |
| tDot11fIEext_chan_switch_ann ext_chan_switch_ann; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEQuiet Quiet; |
| tDot11fIETPCReport TPCReport; |
| tDot11fIEERPInfo ERPInfo; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIERSNOpaque RSNOpaque; |
| tDot11fIEQBSSLoad QBSSLoad; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEAPChannelReport APChannelReport; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEWPA WPA; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIEsec_chan_offset_ele sec_chan_offset_ele; |
| tDot11fIEWMMInfoAp WMMInfoAp; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEWAPI WAPI; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| tDot11fIEESETxmitPower ESETxmitPower; |
| tDot11fIEWscProbeRes WscProbeRes; |
| tDot11fIEP2PProbeRes P2PProbeRes; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEVHTExtBssLoad VHTExtBssLoad; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOBSSScanParameters OBSSScanParameters; |
| tDot11fIEfils_indication fils_indication; |
| tDot11fIEVendor1IE Vendor1IE; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEVendor3IE Vendor3IE; |
| tDot11fIEhs20vendor_ie hs20vendor_ie; |
| tDot11fIEChannelSwitchWrapper ChannelSwitchWrapper; |
| tDot11fIEQComVendorIE QComVendorIE; |
| tDot11fIEESEVersion ESEVersion; |
| tDot11fIEMBO_IE MBO_IE; |
| tDot11fIEQCN_IE QCN_IE; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEhe_op he_op; |
| tDot11fIEbss_color_change bss_color_change; |
| tDot11fIEmu_edca_param_set mu_edca_param_set; |
| tDot11fIEesp_information esp_information; |
| } tDot11fProbeResponse; |
| |
| #define DOT11F_PROBERESPONSE (22) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_probe_response(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fProbeResponse * pFrm, bool append_ie); |
| uint32_t dot11f_pack_probe_response(tpAniSirGlobal pCtx, |
| tDot11fProbeResponse *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_probe_response_size(tpAniSirGlobal pCtx, |
| tDot11fProbeResponse *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fQosMapConfigure{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fIEQosMapSet QosMapSet; |
| } tDot11fQosMapConfigure; |
| |
| #define DOT11F_QOSMAPCONFIGURE (23) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_qos_map_configure(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fQosMapConfigure * pFrm, bool append_ie); |
| uint32_t dot11f_pack_qos_map_configure(tpAniSirGlobal pCtx, |
| tDot11fQosMapConfigure *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_qos_map_configure_size(tpAniSirGlobal pCtx, |
| tDot11fQosMapConfigure *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fRadioMeasurementReport{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| uint16_t num_MeasurementReport; |
| tDot11fIEMeasurementReport MeasurementReport[4]; |
| } tDot11fRadioMeasurementReport; |
| |
| #define DOT11F_RADIOMEASUREMENTREPORT (24) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_radio_measurement_report(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fRadioMeasurementReport * pFrm, bool append_ie); |
| uint32_t dot11f_pack_radio_measurement_report(tpAniSirGlobal pCtx, |
| tDot11fRadioMeasurementReport *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_radio_measurement_report_size(tpAniSirGlobal pCtx, |
| tDot11fRadioMeasurementReport *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fRadioMeasurementRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfNumOfRepetitions NumOfRepetitions; |
| uint16_t num_MeasurementRequest; |
| tDot11fIEMeasurementRequest MeasurementRequest[2]; |
| } tDot11fRadioMeasurementRequest; |
| |
| #define DOT11F_RADIOMEASUREMENTREQUEST (25) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_radio_measurement_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fRadioMeasurementRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_radio_measurement_request(tpAniSirGlobal pCtx, |
| tDot11fRadioMeasurementRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_radio_measurement_request_size(tpAniSirGlobal pCtx, |
| tDot11fRadioMeasurementRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fReAssocRequest{ |
| tDot11fFfCapabilities Capabilities; |
| tDot11fFfListenInterval ListenInterval; |
| tDot11fFfCurrentAPAddress CurrentAPAddress; |
| tDot11fIESSID SSID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIEPowerCaps PowerCaps; |
| tDot11fIESuppChannels SuppChannels; |
| tDot11fIERSNOpaque RSNOpaque; |
| tDot11fIEQOSCapsStation QOSCapsStation; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEFTInfo FTInfo; |
| uint16_t num_RICDataDesc; |
| tDot11fIERICDataDesc RICDataDesc[2]; |
| tDot11fIEWPAOpaque WPAOpaque; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEWMMCaps WMMCaps; |
| tDot11fIEWMMInfoStation WMMInfoStation; |
| tDot11fIEWscIEOpaque WscIEOpaque; |
| tDot11fIEWAPIOpaque WAPIOpaque; |
| tDot11fIEWAPI WAPI; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESEVersion ESEVersion; |
| tDot11fIEESECckmOpaque ESECckmOpaque; |
| uint16_t num_WMMTSPEC; |
| tDot11fIEWMMTSPEC WMMTSPEC[4]; |
| tDot11fIEESETrafStrmRateSet ESETrafStrmRateSet; |
| tDot11fIEP2PIEOpaque P2PIEOpaque; |
| tDot11fIEWFDIEOpaque WFDIEOpaque; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOperatingMode OperatingMode; |
| tDot11fIEQosMapSet QosMapSet; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEhs20vendor_ie hs20vendor_ie; |
| tDot11fIEhe_cap he_cap; |
| } tDot11fReAssocRequest; |
| |
| #define DOT11F_REASSOCREQUEST (26) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_re_assoc_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fReAssocRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_re_assoc_request(tpAniSirGlobal pCtx, |
| tDot11fReAssocRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_re_assoc_request_size(tpAniSirGlobal pCtx, |
| tDot11fReAssocRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fReAssocResponse{ |
| tDot11fFfCapabilities Capabilities; |
| tDot11fFfStatus Status; |
| tDot11fFfAID AID; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIERCPIIE RCPIIE; |
| tDot11fIERSNIIE RSNIIE; |
| tDot11fIERRMEnabledCap RRMEnabledCap; |
| tDot11fIERSNOpaque RSNOpaque; |
| tDot11fIEMobilityDomain MobilityDomain; |
| tDot11fIEFTInfo FTInfo; |
| uint16_t num_RICDataDesc; |
| tDot11fIERICDataDesc RICDataDesc[2]; |
| tDot11fIEWPA WPA; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEESERadMgmtCap ESERadMgmtCap; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| tDot11fIEESETxmitPower ESETxmitPower; |
| uint16_t num_WMMTSPEC; |
| tDot11fIEWMMTSPEC WMMTSPEC[4]; |
| tDot11fIEESETrafStrmRateSet ESETrafStrmRateSet; |
| tDot11fIEWscReassocRes WscReassocRes; |
| tDot11fIEP2PAssocRes P2PAssocRes; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEOBSSScanParameters OBSSScanParameters; |
| tDot11fIEQosMapSet QosMapSet; |
| tDot11fIEvendor_vht_ie vendor_vht_ie; |
| tDot11fIEhe_cap he_cap; |
| tDot11fIEhe_op he_op; |
| tDot11fIEbss_color_change bss_color_change; |
| tDot11fIEmu_edca_param_set mu_edca_param_set; |
| tDot11fIEMBO_IE MBO_IE; |
| } tDot11fReAssocResponse; |
| |
| #define DOT11F_REASSOCRESPONSE (27) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_re_assoc_response(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fReAssocResponse * pFrm, bool append_ie); |
| uint32_t dot11f_pack_re_assoc_response(tpAniSirGlobal pCtx, |
| tDot11fReAssocResponse *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_re_assoc_response_size(tpAniSirGlobal pCtx, |
| tDot11fReAssocResponse *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fSMPowerSave{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfSMPowerModeSet SMPowerModeSet; |
| } tDot11fSMPowerSave; |
| |
| #define DOT11F_SMPOWERSAVE (28) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_sm_power_save(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fSMPowerSave * pFrm, bool append_ie); |
| uint32_t dot11f_pack_sm_power_save(tpAniSirGlobal pCtx, |
| tDot11fSMPowerSave *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_sm_power_save_size(tpAniSirGlobal pCtx, |
| tDot11fSMPowerSave *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fSaQueryReq{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfTransactionId TransactionId; |
| } tDot11fSaQueryReq; |
| |
| #define DOT11F_SAQUERYREQ (29) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_sa_query_req(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fSaQueryReq * pFrm, bool append_ie); |
| uint32_t dot11f_pack_sa_query_req(tpAniSirGlobal pCtx, |
| tDot11fSaQueryReq *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_sa_query_req_size(tpAniSirGlobal pCtx, |
| tDot11fSaQueryReq *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fSaQueryRsp{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfTransactionId TransactionId; |
| } tDot11fSaQueryRsp; |
| |
| #define DOT11F_SAQUERYRSP (30) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_sa_query_rsp(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fSaQueryRsp * pFrm, bool append_ie); |
| uint32_t dot11f_pack_sa_query_rsp(tpAniSirGlobal pCtx, |
| tDot11fSaQueryRsp *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_sa_query_rsp_size(tpAniSirGlobal pCtx, |
| tDot11fSaQueryRsp *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSDisReq{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| } tDot11fTDLSDisReq; |
| |
| #define DOT11F_TDLSDISREQ (31) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_dis_req(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSDisReq * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_dis_req(tpAniSirGlobal pCtx, |
| tDot11fTDLSDisReq *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_dis_req_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSDisReq *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSDisRsp{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIESuppChannels SuppChannels; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIERSN RSN; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEFTInfo FTInfo; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| tDot11fIERICData RICData; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEht2040_bss_coexistence ht2040_bss_coexistence; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| tDot11fIEVHTCaps VHTCaps; |
| } tDot11fTDLSDisRsp; |
| |
| #define DOT11F_TDLSDISRSP (32) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_dis_rsp(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSDisRsp * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_dis_rsp(tpAniSirGlobal pCtx, |
| tDot11fTDLSDisRsp *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_dis_rsp_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSDisRsp *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSPeerTrafficInd{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| tDot11fIEPTIControl PTIControl; |
| tDot11fIEPUBufferStatus PUBufferStatus; |
| } tDot11fTDLSPeerTrafficInd; |
| |
| #define DOT11F_TDLSPEERTRAFFICIND (33) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_peer_traffic_ind(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSPeerTrafficInd * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_peer_traffic_ind(tpAniSirGlobal pCtx, |
| tDot11fTDLSPeerTrafficInd *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_peer_traffic_ind_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSPeerTrafficInd *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSPeerTrafficRsp{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| } tDot11fTDLSPeerTrafficRsp; |
| |
| #define DOT11F_TDLSPEERTRAFFICRSP (34) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_peer_traffic_rsp(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSPeerTrafficRsp * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_peer_traffic_rsp(tpAniSirGlobal pCtx, |
| tDot11fTDLSPeerTrafficRsp *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_peer_traffic_rsp_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSPeerTrafficRsp *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSSetupCnf{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfStatus Status; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIERSN RSN; |
| tDot11fIEEDCAParamSet EDCAParamSet; |
| tDot11fIEFTInfo FTInfo; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| tDot11fIEHTInfo HTInfo; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| tDot11fIEWMMParams WMMParams; |
| tDot11fIEVHTOperation VHTOperation; |
| tDot11fIEOperatingMode OperatingMode; |
| } tDot11fTDLSSetupCnf; |
| |
| #define DOT11F_TDLSSETUPCNF (35) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_setup_cnf(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSSetupCnf * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_setup_cnf(tpAniSirGlobal pCtx, |
| tDot11fTDLSSetupCnf *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_setup_cnf_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSSetupCnf *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSSetupReq{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIECountry Country; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIESuppChannels SuppChannels; |
| tDot11fIERSN RSN; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEQOSCapsStation QOSCapsStation; |
| tDot11fIEFTInfo FTInfo; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| tDot11fIERICData RICData; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEht2040_bss_coexistence ht2040_bss_coexistence; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| tDot11fIEWMMInfoStation WMMInfoStation; |
| tDot11fIEAID AID; |
| tDot11fIEVHTCaps VHTCaps; |
| } tDot11fTDLSSetupReq; |
| |
| #define DOT11F_TDLSSETUPREQ (36) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_setup_req(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSSetupReq * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_setup_req(tpAniSirGlobal pCtx, |
| tDot11fTDLSSetupReq *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_setup_req_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSSetupReq *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSSetupRsp{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfStatus Status; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIESuppRates SuppRates; |
| tDot11fIECountry Country; |
| tDot11fIEExtSuppRates ExtSuppRates; |
| tDot11fIESuppChannels SuppChannels; |
| tDot11fIERSN RSN; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIESuppOperatingClasses SuppOperatingClasses; |
| tDot11fIEQOSCapsStation QOSCapsStation; |
| tDot11fIEFTInfo FTInfo; |
| tDot11fIETimeoutInterval TimeoutInterval; |
| tDot11fIERICData RICData; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEht2040_bss_coexistence ht2040_bss_coexistence; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| tDot11fIEWMMInfoStation WMMInfoStation; |
| tDot11fIEAID AID; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEOperatingMode OperatingMode; |
| } tDot11fTDLSSetupRsp; |
| |
| #define DOT11F_TDLSSETUPRSP (37) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_setup_rsp(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSSetupRsp * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_setup_rsp(tpAniSirGlobal pCtx, |
| tDot11fTDLSSetupRsp *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_setup_rsp_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSSetupRsp *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTDLSTeardown{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfReason Reason; |
| tDot11fIEFTInfo FTInfo; |
| tDot11fIELinkIdentifier LinkIdentifier; |
| } tDot11fTDLSTeardown; |
| |
| #define DOT11F_TDLSTEARDOWN (38) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tdls_teardown(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTDLSTeardown * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tdls_teardown(tpAniSirGlobal pCtx, |
| tDot11fTDLSTeardown *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tdls_teardown_size(tpAniSirGlobal pCtx, |
| tDot11fTDLSTeardown *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTPCReport{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIETPCReport TPCReport; |
| } tDot11fTPCReport; |
| |
| #define DOT11F_TPCREPORT (39) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tpc_report(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTPCReport * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tpc_report(tpAniSirGlobal pCtx, |
| tDot11fTPCReport *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tpc_report_size(tpAniSirGlobal pCtx, |
| tDot11fTPCReport *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTPCRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIETPCRequest TPCRequest; |
| } tDot11fTPCRequest; |
| |
| #define DOT11F_TPCREQUEST (40) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_tpc_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTPCRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_tpc_request(tpAniSirGlobal pCtx, |
| tDot11fTPCRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_tpc_request_size(tpAniSirGlobal pCtx, |
| tDot11fTPCRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fTimingAdvertisementFrame{ |
| tDot11fFfTimeStamp TimeStamp; |
| tDot11fFfCapabilities Capabilities; |
| tDot11fIECountry Country; |
| tDot11fIEPowerConstraints PowerConstraints; |
| tDot11fIETimeAdvertisement TimeAdvertisement; |
| tDot11fIEExtCap ExtCap; |
| tDot11fIEVendor1IE Vendor1IE; |
| tDot11fIEVendor3IE Vendor3IE; |
| } tDot11fTimingAdvertisementFrame; |
| |
| #define DOT11F_TIMINGADVERTISEMENTFRAME (41) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_timing_advertisement_frame(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fTimingAdvertisementFrame * pFrm, bool append_ie); |
| uint32_t dot11f_pack_timing_advertisement_frame(tpAniSirGlobal pCtx, |
| tDot11fTimingAdvertisementFrame *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_timing_advertisement_frame_size(tpAniSirGlobal pCtx, |
| tDot11fTimingAdvertisementFrame *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fVHTGidManagementActionFrame{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfVhtMembershipStatusArray VhtMembershipStatusArray; |
| tDot11fFfVhtUserPositionArray VhtUserPositionArray; |
| } tDot11fVHTGidManagementActionFrame; |
| |
| #define DOT11F_VHTGIDMANAGEMENTACTIONFRAME (42) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_vht_gid_management_action_frame(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fVHTGidManagementActionFrame * pFrm, bool append_ie); |
| uint32_t dot11f_pack_vht_gid_management_action_frame(tpAniSirGlobal pCtx, |
| tDot11fVHTGidManagementActionFrame *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_vht_gid_management_action_frame_size(tpAniSirGlobal pCtx, |
| tDot11fVHTGidManagementActionFrame *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fWMMAddTSRequest{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfStatusCode StatusCode; |
| tDot11fIEWMMTSPEC WMMTSPEC; |
| tDot11fIEESETrafStrmRateSet ESETrafStrmRateSet; |
| } tDot11fWMMAddTSRequest; |
| |
| #define DOT11F_WMMADDTSREQUEST (43) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_wmm_add_ts_request(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fWMMAddTSRequest * pFrm, bool append_ie); |
| uint32_t dot11f_pack_wmm_add_ts_request(tpAniSirGlobal pCtx, |
| tDot11fWMMAddTSRequest *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_wmm_add_ts_request_size(tpAniSirGlobal pCtx, |
| tDot11fWMMAddTSRequest *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fWMMAddTSResponse{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfStatusCode StatusCode; |
| tDot11fIEWMMTSPEC WMMTSPEC; |
| tDot11fIEESETrafStrmMet ESETrafStrmMet; |
| } tDot11fWMMAddTSResponse; |
| |
| #define DOT11F_WMMADDTSRESPONSE (44) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_wmm_add_ts_response(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fWMMAddTSResponse * pFrm, bool append_ie); |
| uint32_t dot11f_pack_wmm_add_ts_response(tpAniSirGlobal pCtx, |
| tDot11fWMMAddTSResponse *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_wmm_add_ts_response_size(tpAniSirGlobal pCtx, |
| tDot11fWMMAddTSResponse *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fWMMDelTS{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfStatusCode StatusCode; |
| tDot11fIEWMMTSPEC WMMTSPEC; |
| } tDot11fWMMDelTS; |
| |
| #define DOT11F_WMMDELTS (45) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_wmm_del_ts(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fWMMDelTS * pFrm, bool append_ie); |
| uint32_t dot11f_pack_wmm_del_ts(tpAniSirGlobal pCtx, |
| tDot11fWMMDelTS *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_wmm_del_ts_size(tpAniSirGlobal pCtx, |
| tDot11fWMMDelTS *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11faddba_req{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfaddba_param_set addba_param_set; |
| tDot11fFfba_timeout ba_timeout; |
| tDot11fFfba_start_seq_ctrl ba_start_seq_ctrl; |
| tDot11fIEaddba_extn_element addba_extn_element; |
| } tDot11faddba_req; |
| |
| #define DOT11F_ADDBA_REQ (46) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_addba_req(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11faddba_req * pFrm, bool append_ie); |
| uint32_t dot11f_pack_addba_req(tpAniSirGlobal pCtx, |
| tDot11faddba_req *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_addba_req_size(tpAniSirGlobal pCtx, |
| tDot11faddba_req *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11faddba_rsp{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fFfStatus Status; |
| tDot11fFfaddba_param_set addba_param_set; |
| tDot11fFfba_timeout ba_timeout; |
| tDot11fIEaddba_extn_element addba_extn_element; |
| } tDot11faddba_rsp; |
| |
| #define DOT11F_ADDBA_RSP (47) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_addba_rsp(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11faddba_rsp * pFrm, bool append_ie); |
| uint32_t dot11f_pack_addba_rsp(tpAniSirGlobal pCtx, |
| tDot11faddba_rsp *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_addba_rsp_size(tpAniSirGlobal pCtx, |
| tDot11faddba_rsp *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fdelba_req{ |
| tDot11fFfCategory Category; |
| tDot11fFfAction Action; |
| tDot11fFfdelba_param_set delba_param_set; |
| tDot11fFfReason Reason; |
| } tDot11fdelba_req; |
| |
| #define DOT11F_DELBA_REQ (48) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_delba_req(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fdelba_req * pFrm, bool append_ie); |
| uint32_t dot11f_pack_delba_req(tpAniSirGlobal pCtx, |
| tDot11fdelba_req *pFrm, uint8_t *pBuf, |
| uint32_t nBuf, uint32_t *pnConsumed); |
| uint32_t dot11f_get_packed_delba_req_size(tpAniSirGlobal pCtx, |
| tDot11fdelba_req *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* 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; |
| tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn; |
| } tDot11fext_channel_switch_action_frame; |
| |
| #define DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME (49) |
| |
| #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, bool append_ie); |
| 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; |
| tDot11fIEht2040_bss_coexistence ht2040_bss_coexistence; |
| tDot11fIEht2040_bss_intolerant_report ht2040_bss_intolerant_report; |
| } tDot11fht2040_bss_coexistence_mgmt_action_frame; |
| |
| #define DOT11F_HT2040_BSS_COEXISTENCE_MGMT_ACTION_FRAME (50) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_ht2040_bss_coexistence_mgmt_action_frame(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fht2040_bss_coexistence_mgmt_action_frame * pFrm, bool append_ie); |
| 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); |
| uint32_t dot11f_get_packed_ht2040_bss_coexistence_mgmt_action_frameSize(tpAniSirGlobal pCtx, |
| tDot11fht2040_bss_coexistence_mgmt_action_frame *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| typedef struct sDot11fp2p_oper_chan_change_confirm{ |
| tDot11fFfCategory Category; |
| tDot11fFfp2p_action_oui p2p_action_oui; |
| tDot11fFfp2p_action_subtype p2p_action_subtype; |
| tDot11fFfDialogToken DialogToken; |
| tDot11fIEHTCaps HTCaps; |
| tDot11fIEVHTCaps VHTCaps; |
| tDot11fIEOperatingMode OperatingMode; |
| } tDot11fp2p_oper_chan_change_confirm; |
| |
| #define DOT11F_P2P_OPER_CHAN_CHANGE_CONFIRM (51) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* C++ */ |
| |
| uint32_t dot11f_unpack_p2p_oper_chan_change_confirm(tpAniSirGlobal pCtx, |
| uint8_t *pBuf, uint32_t nBuf, |
| tDot11fp2p_oper_chan_change_confirm * pFrm, bool append_ie); |
| 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 dot11f_get_packed_p2p_oper_chan_change_confirmSize(tpAniSirGlobal pCtx, |
| tDot11fp2p_oper_chan_change_confirm *pFrm, |
| uint32_t *pnNeeded); |
| |
| #ifdef __cplusplus |
| } /* End extern "C". */ |
| #endif /* C++ */ |
| |
| #endif /* DOT11F_H */ |