template <>

class WireSyncClientImpl

Defined at line 1427 of file fidling/gen/sdk/fidl/fuchsia.hardware.network/fuchsia.hardware.network/cpp/fidl/fuchsia.hardware.network/cpp/wire_messaging.h

Methods to make a sync FIDL call directly on an unowned handle or a

const reference to a |::fidl::ClientEnd

<

::fuchsia_hardware_network::MacAddressing>|,

avoiding setting up a client.

Public Methods

::fidl::WireResult< ::fuchsia_hardware_network::MacAddressing::GetUnicastAddress> GetUnicastAddress ()

Gets the Device's current unicast MAC address.

Implementers of this API do not need to return a uniquely identifiable

MAC; the unicast address returned is the one that is *currently* in use

to filter unicast frames, or that identifies the device on a link it's

*currently* on. Users of this API must not rely on the stability or

uniqueness of the returned value to identify or disambiguate device

instances.

- response `address` device's unicast MAC address.

Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_network::MacAddressing::SetMode> SetMode (::fuchsia_hardware_network::wire::MacFilterMode mode)

Sets requested operating mode of this device to `mode`.

The requested mode is attached to the current client connection to the

device. Because multiple clients can be attached to the same device at

once, the mode with the least restrictions is the one actively put into

effect into the underlying device implementation.

If the device does not support the requested mode, but supports a mode

that is more open than the requested one, `SetMode` succeeds regardless.

Otherwise, if the device only supports *more restrictive* modes than the

one requested, `SetMode` returns `ZX_ERR_NOT_SUPPORTED`.

Clients must be aware that the resource being accessed is shared, and

that the device may be effectively operating at a more open level than

the one that was requested (although never at one more restrictive).

+ request `mode` request mode to attach to.

- response `status` `ZX_ERR_NOT_SUPPORTED` it the device only supports

mode more restrictive than the one requested.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_network::MacAddressing::AddMulticastAddress> AddMulticastAddress (const ::fuchsia_net::wire::MacAddress & address)

Adds multicast address to the list of multicast groups.

The list of multicast addresses kept is untouched by calls to `SetMode`.

If the device's mode is not `MULTICAST_FILTER`, the list of multicast

addresses is ignored.

+ request `address` multicast address to add to the list.

- response `status` `ZX_ERR_INVALID_ARGS` if `address` is not a

multicast address.

- response `status` `ZX_ERR_NO_RESOURCES` if there are more than

`MAX_MAC_FILTER` addresses installed.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_network::MacAddressing::RemoveMulticastAddress> RemoveMulticastAddress (const ::fuchsia_net::wire::MacAddress & address)

Removes multicast address from the list of multicast groups.

+ request `address` multicast address to remove from the list.

- response `status` `ZX_ERR_INVALID_ARGS` if `address` is not a

multicast address.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.