template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 2924 of file fidling/gen/sdk/fidl/fuchsia.wlan.common/fuchsia.wlan.common/cpp/fidl/fuchsia.wlan.common/cpp/wire_types.h

Public Methods

::fuchsia_wlan_common::wire::WlanKeyConfig Build ()

Build and return the table. The builder should not be used after this.

bool has_protection ()
void clear_protection ()

Clears the protection field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_wlan_common::wire::WlanProtection & protection ()

Which path to protect: None, TX, RX, or TX and RX.

BuilderImpl & protection (::fuchsia_wlan_common::wire::WlanProtection elem)

Which path to protect: None, TX, RX, or TX and RX.

bool has_cipher_oui ()
void clear_cipher_oui ()

Clears the cipher_oui field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::Array<uint8_t, 3> & cipher_oui ()

IEEE Cipher suite selector.

See IEEE Std 802.11-2016, 9.4.2.25.2, Table 9-131

Optional. If not specified, it's assumed that this is the IEEE OUI.

BuilderImpl & cipher_oui (::fidl::Array<uint8_t, 3> elem)

IEEE Cipher suite selector.

See IEEE Std 802.11-2016, 9.4.2.25.2, Table 9-131

Optional. If not specified, it's assumed that this is the IEEE OUI.

bool has_cipher_type ()
void clear_cipher_type ()

Clears the cipher_type field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_wlan_ieee80211::wire::CipherSuiteType & cipher_type ()

The cipher type.

Required.

BuilderImpl & cipher_type (::fuchsia_wlan_ieee80211::wire::CipherSuiteType elem)

The cipher type.

Required.

bool has_key_type ()
void clear_key_type ()

Clears the key_type field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_wlan_common::wire::WlanKeyType & key_type ()

Whether this key is a pairwise, group or peer key.

Required.

BuilderImpl & key_type (::fuchsia_wlan_common::wire::WlanKeyType elem)

Whether this key is a pairwise, group or peer key.

Required.

bool has_peer_addr ()
void clear_peer_addr ()

Clears the peer_addr field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::Array<uint8_t, 6> & peer_addr ()

The peer MAC address for pairwise and peer keys.

For group keys this value is always the broadcast address.

Required.

BuilderImpl & peer_addr (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::Array<uint8_t, 6>>> elem)

The peer MAC address for pairwise and peer keys.

For group keys this value is always the broadcast address.

Required.

bool has_key_idx ()
void clear_key_idx ()

Clears the key_idx field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint8_t & key_idx ()

Index for rotating keys, e.g. group keys.

This value is always 0 for key types which aren't rotating, e.g. pairwise keys.

Required.

TODO(https://fxbug.dev/301104836): This is a uint8, but SetKeyDescriptor in MLME FIDL and

DeleteKeysDescriptor in Fullmac FIDL use a uint16 for key_id/key_idx. We should consider

making all these use the same type.

BuilderImpl & key_idx (uint8_t elem)

Index for rotating keys, e.g. group keys.

This value is always 0 for key types which aren't rotating, e.g. pairwise keys.

Required.

TODO(https://fxbug.dev/301104836): This is a uint8, but SetKeyDescriptor in MLME FIDL and

DeleteKeysDescriptor in Fullmac FIDL use a uint16 for key_id/key_idx. We should consider

making all these use the same type.

bool has_key ()
void clear_key ()

Clears the key field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView<uint8_t> & key ()

They key's actual bytes.

Required.

BuilderImpl & key (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)

They key's actual bytes.

Required.

bool has_rsc ()
void clear_rsc ()

Clears the rsc field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint64_t & rsc ()

Receive Sequence Counter for group keys only.

In all other cases the RSC will be 0.

Optional.

BuilderImpl & rsc (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)

Receive Sequence Counter for group keys only.

In all other cases the RSC will be 0.

Optional.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_wlan_common::wire::WlanKeyConfig, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_wlan_common::wire::WlanKeyConfig>> && frame)

Records