class SoftmacBridge

Defined at line 29 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.h

Public Methods

zx::result<std::unique_ptr<SoftmacBridge>> New (fidl::SharedClient<fuchsia_driver_framework::Node> node_client, fdf::StartCompleter start_completer, fit::callback<void (zx_status_t)> shutdown_completer, fdf::SharedClient<fuchsia_wlan_softmac::WlanSoftmac> && softmac_client, std::shared_ptr<std::mutex> ethernet_proxy_lock, ddk::EthernetIfcProtocolClient * ethernet_proxy, std::optional<uint32_t> * cached_ethernet_status)

Start the bridged wlansoftmac driver and forward calls from that driver through this one.

This function starts the bridged driver by posting a task to the current dispatcher.

The provided `sta_shutdown_handler` will be called on the return value of

`wlansoftmac_c::start_and_run_bridged_wlansoftmac` called in the posted task.

Note that `wlansoftmac_c::start_and_run_bridged_wlansoftmac` may exit with an error during

startup of the bridged driver. Thus, `sta_shutdown_handler` cannot depend on any operations

performed by the bridged driver. In general, the `sta_shutdown_handler` should cause this

driver to stop if `wlansoftmac_c::start_and_run_bridged_wlansoftmac` returns an error because

this driver is in a defunct state without a bridged driver.

Defined at line 59 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_wlan_softmac::WlanSoftmacBridge> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 67 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.h

void StopBridgedDriver (fit::callback<void ()> completer)

Defined at line 162 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void ~SoftmacBridge ()

Defined at line 46 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void Query (QueryCompleter::Sync & completer)

Defined at line 167 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void QueryDiscoverySupport (QueryDiscoverySupportCompleter::Sync & completer)

Defined at line 173 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void QueryMacSublayerSupport (QueryMacSublayerSupportCompleter::Sync & completer)

Defined at line 179 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void QuerySecuritySupport (QuerySecuritySupportCompleter::Sync & completer)

Defined at line 186 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void QuerySpectrumManagementSupport (QuerySpectrumManagementSupportCompleter::Sync & completer)

Defined at line 192 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void Start (StartRequest & request, StartCompleter::Sync & completer)

Defined at line 200 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void SetEthernetStatus (SetEthernetStatusRequest & request, SetEthernetStatusCompleter::Sync & completer)

Defined at line 250 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void SetChannel (SetChannelRequest & request, SetChannelCompleter::Sync & completer)

Defined at line 262 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void JoinBss (JoinBssRequest & request, JoinBssCompleter::Sync & completer)

Defined at line 268 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void EnableBeaconing (EnableBeaconingRequest & request, EnableBeaconingCompleter::Sync & completer)

Defined at line 274 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void DisableBeaconing (DisableBeaconingCompleter::Sync & completer)

Defined at line 281 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void InstallKey (InstallKeyRequest & request, InstallKeyCompleter::Sync & completer)

Defined at line 287 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void NotifyAssociationComplete (NotifyAssociationCompleteRequest & request, NotifyAssociationCompleteCompleter::Sync & completer)

Defined at line 293 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void ClearAssociation (ClearAssociationRequest & request, ClearAssociationCompleter::Sync & completer)

Defined at line 301 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void StartPassiveScan (StartPassiveScanRequest & request, StartPassiveScanCompleter::Sync & completer)

Defined at line 308 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void StartActiveScan (StartActiveScanRequest & request, StartActiveScanCompleter::Sync & completer)

Defined at line 315 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void CancelScan (CancelScanRequest & request, CancelScanCompleter::Sync & completer)

Defined at line 322 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

void UpdateWmmParameters (UpdateWmmParametersRequest & request, UpdateWmmParametersCompleter::Sync & completer)

Defined at line 328 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

zx::result<> EthernetTx (std::unique_ptr<eth::BorrowedOperation<>> op, trace_async_id_t async_id)

Defined at line 335 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

zx_status_t WlanTx (void * ctx, const uint8_t * payload, size_t payload_size)

Queues a packet for transmission.

The returned status only indicates whether `SoftmacBridge` successfully queued the

packet and not that the packet was successfully sent.

Defined at line 344 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc

zx_status_t EthernetRx (void * ctx, const uint8_t * payload, size_t payload_size)

Defined at line 424 of file ../../src/connectivity/wlan/drivers/wlansoftmac/softmac_bridge.cc