blob: 8a92393d9094f3d3562c43070bf1d1f12ff20b96 [file] [log] [blame]
// Copyright 2023 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_CONNECTIVITY_WLAN_DRIVERS_WLANIF_CONVERT_H_
#define SRC_CONNECTIVITY_WLAN_DRIVERS_WLANIF_CONVERT_H_
#include <fidl/fuchsia.wlan.fullmac/cpp/driver/wire.h>
#include <fuchsia/wlan/common/c/banjo.h>
#include <fuchsia/wlan/fullmac/c/banjo.h>
#include <fuchsia/wlan/internal/c/banjo.h>
#include <fuchsia/wlan/internal/cpp/fidl.h>
#include <fuchsia/wlan/mlme/cpp/fidl.h>
#include <net/ethernet.h>
namespace wlanif {
void ConvertCSsid(const cssid_t& cssid, fuchsia_wlan_ieee80211::wire::CSsid* out_cssid);
void ConvertScanReq(const wlan_fullmac_impl_base_start_scan_request_t& in,
fuchsia_wlan_fullmac::wire::WlanFullmacImplBaseStartScanRequest* out,
fidl::AnyArena& arena);
void ConvertConnectReq(const wlan_fullmac_impl_base_connect_request_t& in,
fuchsia_wlan_fullmac::wire::WlanFullmacImplBaseConnectRequest* out,
fidl::AnyArena& arena);
fuchsia_wlan_fullmac::wire::WlanAuthResult ConvertAuthResult(uint8_t in);
fuchsia_wlan_common::wire::WlanKeyType ConvertWlanKeyType(const wlan_key_type_t& in);
fuchsia_wlan_common::wire::WlanKeyConfig ConvertWlanKeyConfig(const wlan_key_config_t& in,
fidl::AnyArena& arena);
void ConvertDeleteKeyDescriptor(const delete_key_descriptor_t& in,
fuchsia_wlan_fullmac::wire::DeleteKeyDescriptor* out);
fuchsia_wlan_common::wire::BssType ConvertBssType(const bss_type_t& in);
fuchsia_wlan_fullmac::wire::WlanAssocResult ConvertAssocResult(uint8_t code);
fuchsia_wlan_common::wire::WlanMacRole ConvertMacRole(wlan_mac_role_t role);
void ConvertBandCapability(const wlan_fullmac_band_capability_t& in,
fuchsia_wlan_fullmac::wire::WlanFullmacBandCapability* out);
void ConvertQueryInfo(fuchsia_wlan_fullmac::wire::WlanFullmacQueryInfo& in,
wlan_fullmac_query_info_t* out);
void ConvertMacSublayerSupport(const fuchsia_wlan_common::wire::MacSublayerSupport& in,
mac_sublayer_support_t* out);
void ConvertSecuritySupport(const fuchsia_wlan_common::wire::SecuritySupport& in,
security_support_t* out);
void ConvertSpectrumManagementSupport(
const fuchsia_wlan_common::wire::SpectrumManagementSupport& in,
spectrum_management_support_t* out);
void ConvertIfaceCounterStats(const fuchsia_wlan_fullmac::wire::WlanFullmacIfaceCounterStats& in,
wlan_fullmac_iface_counter_stats_t* out);
void ConvertNoiseFloorHistogram(
const fuchsia_wlan_fullmac::wire::WlanFullmacNoiseFloorHistogram& in,
wlan_fullmac_noise_floor_histogram_t* out);
void ConvertRxRateIndexHistogram(
const fuchsia_wlan_fullmac::wire::WlanFullmacRxRateIndexHistogram& in,
wlan_fullmac_rx_rate_index_histogram_t* out);
void ConvertRssiHistogram(const fuchsia_wlan_fullmac::wire::WlanFullmacRssiHistogram& in,
wlan_fullmac_rssi_histogram_t* out);
void ConvertSnrHistogram(const fuchsia_wlan_fullmac::wire::WlanFullmacSnrHistogram& in,
wlan_fullmac_snr_histogram_t* out);
void ConvertSaeHandshakeResp(const wlan_fullmac_sae_handshake_resp_t& in,
fuchsia_wlan_fullmac::wire::WlanFullmacSaeHandshakeResp* out);
void ConvertSaeFrame(const wlan_fullmac_sae_frame_t& in,
fuchsia_wlan_fullmac::wire::WlanFullmacSaeFrame* out, fidl::AnyArena& arena);
void ConvertBssDescription(const fuchsia_wlan_internal::wire::BssDescription& in,
bss_description_t* out);
void ConvertFullmacScanResult(const fuchsia_wlan_fullmac::wire::WlanFullmacScanResult& in,
wlan_fullmac_scan_result_t* out);
void ConvertScanEnd(const fuchsia_wlan_fullmac::wire::WlanFullmacScanEnd& in,
wlan_fullmac_scan_end_t* out);
void ConvertConnectConfirm(const fuchsia_wlan_fullmac::wire::WlanFullmacConnectConfirm& in,
wlan_fullmac_connect_confirm_t* out);
void ConvertRoamConfirm(const fuchsia_wlan_fullmac::wire::WlanFullmacRoamConfirm& in,
wlan_fullmac_roam_confirm_t* out);
void ConvertAuthInd(const fuchsia_wlan_fullmac::wire::WlanFullmacAuthInd& in,
wlan_fullmac_auth_ind_t* out);
void ConvertDeauthInd(const fuchsia_wlan_fullmac::wire::WlanFullmacDeauthIndication& in,
wlan_fullmac_deauth_indication_t* out);
void ConvertAssocInd(const fuchsia_wlan_fullmac::wire::WlanFullmacAssocInd& in,
wlan_fullmac_assoc_ind_t* out);
void ConvertDisassocInd(const fuchsia_wlan_fullmac::wire::WlanFullmacDisassocIndication& in,
wlan_fullmac_disassoc_indication_t* out);
uint8_t ConvertStartResultCode(fuchsia_wlan_fullmac::wire::WlanStartResult code);
uint8_t ConvertStopResultCode(fuchsia_wlan_fullmac::wire::WlanStopResult code);
void ConvertEapolConf(const fuchsia_wlan_fullmac::wire::WlanFullmacEapolConfirm& in,
wlan_fullmac_eapol_confirm_t* out);
void ConvertEapolIndication(const fuchsia_wlan_fullmac::wire::WlanFullmacEapolIndication& in,
wlan_fullmac_eapol_indication_t* out);
void ConvertSaeFrame(const fuchsia_wlan_fullmac::wire::WlanFullmacSaeFrame& in,
wlan_fullmac_sae_frame_t* out);
void ConvertWmmParams(const fuchsia_wlan_common::wire::WlanWmmParameters& in,
wlan_wmm_parameters_t* out);
} // namespace wlanif
#endif // SRC_CONNECTIVITY_WLAN_DRIVERS_WLANIF_CONVERT_H_