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