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