Crate ieee80211

Source
Expand description

§ieee80211-rs

This is a library for dealing with IEEE 802.11(aka. WiFi) frames. This includes reading and writing, but may in the future also include crypto primitives and other things related to WiFi frames. The library doesn’t use allocations and instead of collections, there is heavy use of Iterators. If the library seems like a mess of generics, than that’s absolutely correct. Generics allow us, to make the library comfortable to use.

§Parsing

We internally rely on scroll for parsing, which is therefore re-exported. To get started see the examples folder.

§Docs

Sometimes the explanation for fields seems like it was ripped strait from the standard, which is exactly what happened here. They maybe slightly altered though. If some doc comments remind you of this, then you’re not alone.

Re-exports§

pub use const_soft_float;
pub use mac_parser;
pub use macro_bits;
pub use scroll;

Modules§

common
This is a collection of commonly used types.
control_frame
Support for control frames.
crypto
Implementations of cryptographic primitives.
data_frame
This module contains structs around data frames.
elements
This module contains the elements, which are found in the body of some frames.
mgmt_frame
This module implements support management frames.

Macros§

aid
Generate a new AssociationID, while performing all checks at compile-time.
element_chain
Generate an element chain from the provided elements.
extended_supported_rates
Generate an ExtendedSupportedRatesElement.
match_frames
This macro allows matching a strongly typed frame from a byte slice.
rate
Generate an EncodedRate.
ssid
Generate an SSIDElement, while performing all validation at compile time.
supported_rates
Generate a SupportedRatesElement.
supported_rx_mcs_set
Generate the supported RX MCS set array from the MCS indices at compile time.
tim_bitmap
Generate a static TIMBitmap.

Structs§

GenericFrame
A generic IEEE 802.11 frame.

Traits§

IEEE80211Frame
A trait implemented by all frames in this crate.