Expand description
§ieee80211-rs
This is a library for reading and writing IEEE 802.11(aka. 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 macro_bits;
pub use scroll;
Modules§
- This is a collection of commonly used types.
- This module contains structs around data frames.
- This module contains the elements, which are found in the body of some frames. If an element only consists of one struct, like the SSID, they are re-exported, otherwise they get their own module.
Macros§
- Generate an ExtendedSupportedRatesElement.
- This macro generates an EncodedRate.
- Generate an SSID element, while performing all validation at compile time.
- Generate a SupportedRatesElement.
- Generate the supported rx MCS set array from the MCS indices at compile time.
Enums§
- An IEEE 802.11 frame. The variants of this enum corespond to the type specified in the FCF. The TryIntoCtx implementation for this takes a bool as
Ctx
, which specifies if the fcs is at the end.