Struct WlanKeyConfig
pub struct WlanKeyConfig {
pub protection: Option<WlanProtection>,
pub cipher_oui: Option<[u8; 3]>,
pub cipher_type: Option<CipherSuiteType>,
pub key_type: Option<WlanKeyType>,
pub peer_addr: Option<[u8; 6]>,
pub key_idx: Option<u8>,
pub key: Option<Vec<u8>>,
pub rsc: Option<u64>,
/* private fields */
}
Fields§
§protection: Option<WlanProtection>
Which path to protect: None, TX, RX, or TX and RX.
cipher_oui: Option<[u8; 3]>
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.
cipher_type: Option<CipherSuiteType>
The cipher type. Required.
key_type: Option<WlanKeyType>
Whether this key is a pairwise, group or peer key. Required.
peer_addr: Option<[u8; 6]>
The peer MAC address for pairwise and peer keys. For group keys this value is always the broadcast address. Required.
key_idx: Option<u8>
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.
key: Option<Vec<u8>>
They key’s actual bytes. Required.
rsc: Option<u64>
Receive Sequence Counter for group keys only. In all other cases the RSC will be 0. Optional.
Trait Implementations§
§impl Clone for WlanKeyConfig
impl Clone for WlanKeyConfig
§fn clone(&self) -> WlanKeyConfig
fn clone(&self) -> WlanKeyConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for WlanKeyConfig
impl Debug for WlanKeyConfig
§impl<D> Decode<WlanKeyConfig, D> for WlanKeyConfigwhere
D: ResourceDialect,
impl<D> Decode<WlanKeyConfig, D> for WlanKeyConfigwhere
D: ResourceDialect,
§fn new_empty() -> WlanKeyConfig
fn new_empty() -> WlanKeyConfig
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl Default for WlanKeyConfig
impl Default for WlanKeyConfig
§fn default() -> WlanKeyConfig
fn default() -> WlanKeyConfig
§impl<D> Encode<WlanKeyConfig, D> for &WlanKeyConfigwhere
D: ResourceDialect,
impl<D> Encode<WlanKeyConfig, D> for &WlanKeyConfigwhere
D: ResourceDialect,
§impl PartialEq for WlanKeyConfig
impl PartialEq for WlanKeyConfig
§impl TypeMarker for WlanKeyConfig
impl TypeMarker for WlanKeyConfig
§type Owned = WlanKeyConfig
type Owned = WlanKeyConfig
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.§impl ValueTypeMarker for WlanKeyConfig
impl ValueTypeMarker for WlanKeyConfig
§type Borrowed<'a> = &'a WlanKeyConfig
type Borrowed<'a> = &'a WlanKeyConfig
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<WlanKeyConfig as TypeMarker>::Owned,
) -> <WlanKeyConfig as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<WlanKeyConfig as TypeMarker>::Owned, ) -> <WlanKeyConfig as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.