template <>

class WireServer

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

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_wlan_fullmac::WlanFullmacImpl>|

and |::fidl::ServerEnd

<

::fuchsia_wlan_fullmac::WlanFullmacImpl>|).

Public Methods

void Init (::fuchsia_wlan_fullmac::wire::WlanFullmacImplInitRequest * request, InitCompleter::Sync & completer)

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.

void Query (QueryCompleter::Sync & completer)

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

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

void QuerySecuritySupport (QuerySecuritySupportCompleter::Sync & completer)
void QuerySpectrumManagementSupport (QuerySpectrumManagementSupportCompleter::Sync & completer)
void QueryTelemetrySupport (QueryTelemetrySupportCompleter::Sync & completer)
void StartScan (::fuchsia_wlan_fullmac::wire::WlanFullmacImplStartScanRequest * request, StartScanCompleter::Sync & completer)
void Connect (::fuchsia_wlan_fullmac::wire::WlanFullmacImplConnectRequest * request, ConnectCompleter::Sync & completer)
void Reconnect (::fuchsia_wlan_fullmac::wire::WlanFullmacImplReconnectRequest * request, ReconnectCompleter::Sync & completer)
void Roam (::fuchsia_wlan_fullmac::wire::WlanFullmacImplRoamRequest * request, RoamCompleter::Sync & completer)

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

void AuthResp (::fuchsia_wlan_fullmac::wire::WlanFullmacImplAuthRespRequest * request, AuthRespCompleter::Sync & completer)
void Deauth (::fuchsia_wlan_fullmac::wire::WlanFullmacImplDeauthRequest * request, DeauthCompleter::Sync & completer)
void AssocResp (::fuchsia_wlan_fullmac::wire::WlanFullmacImplAssocRespRequest * request, AssocRespCompleter::Sync & completer)
void Disassoc (::fuchsia_wlan_fullmac::wire::WlanFullmacImplDisassocRequest * request, DisassocCompleter::Sync & completer)
void StartBss (::fuchsia_wlan_fullmac::wire::WlanFullmacImplStartBssRequest * request, StartBssCompleter::Sync & completer)
void StopBss (::fuchsia_wlan_fullmac::wire::WlanFullmacImplStopBssRequest * request, StopBssCompleter::Sync & completer)
void SetKeys (::fuchsia_wlan_fullmac::wire::WlanFullmacImplSetKeysRequest * request, SetKeysCompleter::Sync & completer)

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.

void EapolTx (::fuchsia_wlan_fullmac::wire::WlanFullmacImplEapolTxRequest * request, EapolTxCompleter::Sync & completer)
void GetIfaceStats (GetIfaceStatsCompleter::Sync & completer)
void GetIfaceHistogramStats (GetIfaceHistogramStatsCompleter::Sync & completer)
void GetSignalReport (GetSignalReportCompleter::Sync & completer)
void SaeHandshakeResp (::fuchsia_wlan_fullmac::wire::WlanFullmacImplSaeHandshakeRespRequest * request, SaeHandshakeRespCompleter::Sync & completer)

Informs the driver of the result of an SAE handshake.

void SaeFrameTx (::fuchsia_wlan_fullmac::wire::WlanFullmacImplSaeFrameTxRequest * request, SaeFrameTxCompleter::Sync & completer)

Transmit an SAE authentication frame.

void OnLinkStateChanged (::fuchsia_wlan_fullmac::wire::WlanFullmacImplOnLinkStateChangedRequest * request, OnLinkStateChangedCompleter::Sync & completer)
void SetMacAddress (::fuchsia_wlan_fullmac::wire::WlanFullmacImplSetMacAddressRequest * request, SetMacAddressCompleter::Sync & completer)

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.

void WireServer ()

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

void WmmStatusReq (WmmStatusReqCompleter::Sync & completer)
Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~WireServer ()

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