template <>

class NaturalClientImpl

Defined at line 1939 of file fidling/gen/sdk/fidl/fuchsia.wlan.fullmac/fuchsia.wlan.fullmac/cpp/fidl/fuchsia.wlan.fullmac/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Init> Init (::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Init> request)

Initialize the FullMAC driver. This is the first request that the platform will make to the

FullMAC driver.

On initialization, MLME provides the client end to the WlanFullmacImplIfc protocol. The

driver must return the SME server end channel, which is used internally by the platform.

Typically, the SME server end channel is given to the FullMAC driver by

fuchsia.wlan.phyimpl/WlanPhyImpl.CreateIface.

If `Init` completes successfully, the platform will begin making other WlanFullmacImpl

requests to the FullMAC driver, and the FullMAC driver is free to make WlanFullmacImplIfc

requests to the platform. The platform may continue making WlanFullmacImpl requests until

the WlanFullmacImpl server unbinds.

Common errors include:

- `ZX_ERR_ALREADY_BOUND`: `Init` was already called on this FullMAC driver.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Query> Query ()

Returns high-level information describing the state of the FullMAC driver.

This is safe to call even before the call to WlanFullmacImpl::Start.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::QuerySecuritySupport> QuerySecuritySupport ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::QuerySpectrumManagementSupport> QuerySpectrumManagementSupport ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::QueryTelemetrySupport> QueryTelemetrySupport ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::QueryApfPacketFilterSupport> QueryApfPacketFilterSupport ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::StartScan> StartScan (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::StartScan> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Connect> Connect (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Connect> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Reconnect> Reconnect (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Reconnect> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Roam> Roam (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Roam> & request)

Initiate a roam attempt, which moves association to a different BSS within the ESS.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::AuthResp> AuthResp (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::AuthResp> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Deauth> Deauth (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Deauth> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::AssocResp> AssocResp (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::AssocResp> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Disassoc> Disassoc (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::Disassoc> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::StartBss> StartBss (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::StartBss> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::StopBss> StopBss (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::StopBss> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SetKeys> SetKeys (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SetKeys> & request)

Sets security keys for a connection. This is typically called after a successful key

exchange.

Note that the platform assumes that the driver will automatically delete keys on a

disconnect or key rotation.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::EapolTx> EapolTx (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::EapolTx> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::GetIfaceStats> GetIfaceStats ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::GetIfaceHistogramStats> GetIfaceHistogramStats ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::GetSignalReport> GetSignalReport ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SaeHandshakeResp> SaeHandshakeResp (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SaeHandshakeResp> & request)

Informs the driver of the result of an SAE handshake.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SaeFrameTx> SaeFrameTx (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SaeFrameTx> & request)

Transmit an SAE authentication frame.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::WmmStatusReq> WmmStatusReq ()
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::OnLinkStateChanged> OnLinkStateChanged (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::OnLinkStateChanged> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SetMacAddress> SetMacAddress (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SetMacAddress> & request)

Sets the MAC address for the interface, which may be retrieved via the Query() method. To

reset to the default/factory MAC address, use the Query() method to retrieve the `factory_addr`,

and pass that value to this method.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::InstallApfPacketFilter> InstallApfPacketFilter (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::InstallApfPacketFilter> & request)

Installs an APF program, replacing an existing program if present. This method does not

enable the program.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::ReadApfPacketFilterData> ReadApfPacketFilterData ()

Fetches a consistent snapshot of the entire APF program and working

memory buffer and returns it to the host. The returned buffer contains

both code and data. Its length must match the most recently returned

QueryPacketFilterSupport().max_filter_length.

While the snapshot is being fetched, the APF interpreter must not execute

and all incoming packets must be passed to the host as if there was no

APF program installed.

::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SetApfPacketFilterEnabled> SetApfPacketFilterEnabled (const ::fidl::Request< ::fuchsia_wlan_fullmac::WlanFullmacImpl::SetApfPacketFilterEnabled> & request)
::fidl::internal::NaturalThenable< ::fuchsia_wlan_fullmac::WlanFullmacImpl::GetApfPacketFilterEnabled> GetApfPacketFilterEnabled ()