class EthernetImplProtocolClient
Defined at line 202 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
Public Members
static const uint32_t kProtocolId
Public Methods
void EthernetImplProtocolClient ()
Defined at line 207 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void EthernetImplProtocolClient (const ethernet_impl_protocol_t * proto)
Defined at line 209 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void EthernetImplProtocolClient (zx_device_t * parent)
Defined at line 212 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void EthernetImplProtocolClient (zx_device_t * parent, const char * fragment_name)
Defined at line 223 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
zx_status_t CreateFromDevice (zx_device_t * parent, EthernetImplProtocolClient * result)
Create a EthernetImplProtocolClient from the given parent device + "fragment".
If ZX_OK is returned, the created object will be initialized in |result|.
Defined at line 237 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
zx_status_t CreateFromDevice (zx_device_t * parent, const char * fragment_name, EthernetImplProtocolClient * result)
Create a EthernetImplProtocolClient from the given parent device.
If ZX_OK is returned, the created object will be initialized in |result|.
Defined at line 252 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void GetProto (ethernet_impl_protocol_t * proto)
Defined at line 264 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
bool is_valid ()
Defined at line 268 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void clear ()
Defined at line 271 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
zx_status_t Query (uint32_t options, ethernet_info_t * out_info)
Obtain information about the ethermac device and supported features
Safe to call at any time.
Defined at line 278 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void Stop ()
Shut down a running ethermac
Safe to call if the ethermac is already stopped.
Defined at line 284 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
zx_status_t Start (void * ifc_ctx, const ethernet_ifc_protocol_ops_t * ifc_ops)
Start ethermac running with ifc_virt
Callbacks on ifc may be invoked from now until stop() is called
Defined at line 290 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void QueueTx (uint32_t options, ethernet_netbuf_t * netbuf, ethernet_impl_queue_tx_callback callback, void * cookie)
Request transmission of the packet in netbuf. The driver takes ownership of the netbuf and
must call the completion callback passed in to return it once the enqueue is complete.
The callback may be used to return the packet before transmission itself completes, and may
called from within the queue_tx() implementation itself.
|QueueTx| may be called at any time after start() is called including from multiple threads
simultaneously.
Return status indicates queue state:
ZX_OK: Packet has been enqueued.
Other: Packet could not be enqueued.
Upon a return of ZX_OK, the packet has been enqueued, but no information is returned as to
the completion state of the transmission itself.
Defined at line 312 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
zx_status_t SetParam (uint32_t param, int32_t value, const uint8_t * data_buffer, size_t data_size)
Request a settings change for the driver. Return status indicates disposition:
ZX_OK: Request has been handled.
ZX_ERR_NOT_SUPPORTED: Driver does not support this setting.
Other: Error trying to support this request.
|value| and |data| usage are defined for each |param|; see comments above.
set_param() may be called at any time after start() is called including from multiple threads
simultaneously.
Defined at line 325 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h
void GetBti (zx::bti * out_bti)
Get the BTI handle (needed to pin DMA memory) for this device.
This method is only valid on devices that advertise ETHERNET_FEATURE_DMA
The caller takes ownership of the BTI handle.
Defined at line 332 of file fidling/gen/sdk/banjo/fuchsia.hardware.ethernet/fuchsia.hardware.ethernet/banjo/cpp/fuchsia/hardware/ethernet/cpp/banjo.h