template <>

class WireServer

Defined at line 10903 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 QueryApfPacketFilterSupport (QueryApfPacketFilterSupportCompleter::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 InstallApfPacketFilter (::fuchsia_wlan_fullmac::wire::WlanFullmacImplInstallApfPacketFilterRequest * request, InstallApfPacketFilterCompleter::Sync & completer)

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

enable the program.

void ReadApfPacketFilterData (ReadApfPacketFilterDataCompleter::Sync & completer)

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.

void SetApfPacketFilterEnabled (::fuchsia_wlan_fullmac::wire::WlanFullmacImplSetApfPacketFilterEnabledRequest * request, SetApfPacketFilterEnabledCompleter::Sync & completer)
void GetApfPacketFilterEnabled (GetApfPacketFilterEnabledCompleter::Sync & completer)
void WireServer ()

Defined at line 10906 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 10907 of file fidling/gen/sdk/fidl/fuchsia.wlan.fullmac/fuchsia.wlan.fullmac/cpp/fidl/fuchsia.wlan.fullmac/cpp/wire_messaging.h