Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
IEEE 802.15.4 MAC information element (IE) related types and helpers. More...
Go to the source code of this file.
Data Structures | |
struct | ieee802154_header_ie_vendor_specific |
Vendor Specific Header IE, see section 7.4.2.3. More... | |
struct | ieee802154_header_ie_csl_full |
Full CSL IE, see section 7.4.2.3. More... | |
struct | ieee802154_header_ie_csl_reduced |
Reduced CSL IE, see section 7.4.2.3. More... | |
struct | ieee802154_header_ie_csl |
Generic CSL IE, see section 7.4.2.3. More... | |
struct | ieee802154_header_ie_rit |
RIT IE, see section 7.4.2.4. More... | |
struct | ieee802154_header_ie_rendezvous_time_full |
Full Rendezvous Time IE, see section 7.4.2.6 (macCslInterval is nonzero). More... | |
struct | ieee802154_header_ie_rendezvous_time_reduced |
Reduced Rendezvous Time IE, see section 7.4.2.6 (macCslInterval is zero). More... | |
struct | ieee802154_header_ie_rendezvous_time |
Rendezvous Time IE, see section 7.4.2.6. More... | |
struct | ieee802154_header_ie_time_correction |
Time Correction IE, see section 7.4.2.7. More... | |
IEEE 802.15.4, section 7.4.2: MAC header information elements | |
#define | IEEE802154_HEADER_IE_HEADER_LENGTH sizeof(uint16_t) |
The header IE's header length (2 bytes). | |
#define | IEEE802154_DEFINE_HEADER_IE_VENDOR_SPECIFIC(_vendor_oui, _vendor_specific_info, _vendor_specific_info_len) |
Define a vendor specific header IE, see section 7.4.2.3. | |
#define | IEEE802154_DEFINE_HEADER_IE_CSL_REDUCED(_csl_phase, _csl_period) |
Define a reduced CSL IE, see section 7.4.2.3. | |
#define | IEEE802154_DEFINE_HEADER_IE_CSL_FULL(_csl_phase, _csl_period, _csl_rendezvous_time) |
Define a full CSL IE, see section 7.4.2.3. | |
#define | IEEE802154_DEFINE_HEADER_IE_TIME_CORRECTION(_ack, _time_correction_us) |
Define a Time Correction IE, see section 7.4.2.7. | |
#define | IEEE802154_TIME_CORRECTION_HEADER_IE_LEN (IEEE802154_HEADER_IE_HEADER_LENGTH + sizeof(struct ieee802154_header_ie_time_correction)) |
The length in bytes of a "Time Correction" header IE. | |
#define | IEEE802154_HEADER_TERMINATION_1_HEADER_IE_LEN IEEE802154_HEADER_IE_HEADER_LENGTH |
The length in bytes of a "Header Termination 1" header IE. | |
enum | ieee802154_ie_type { IEEE802154_IE_TYPE_HEADER = 0x0 , IEEE802154_IE_TYPE_PAYLOAD } |
Information Element Types. More... | |
enum | ieee802154_header_ie_element_id { IEEE802154_HEADER_IE_ELEMENT_ID_VENDOR_SPECIFIC_IE = 0x00 , IEEE802154_HEADER_IE_ELEMENT_ID_CSL_IE = 0x1a , IEEE802154_HEADER_IE_ELEMENT_ID_RIT_IE = 0x1b , IEEE802154_HEADER_IE_ELEMENT_ID_RENDEZVOUS_TIME_IE = 0x1d , IEEE802154_HEADER_IE_ELEMENT_ID_TIME_CORRECTION_IE = 0x1e , IEEE802154_HEADER_IE_ELEMENT_ID_HEADER_TERMINATION_1 = 0x7e , IEEE802154_HEADER_IE_ELEMENT_ID_HEADER_TERMINATION_2 = 0x7f } |
Header Information Element IDs. More... | |
static int16_t | ieee802154_header_ie_get_time_correction_us (struct ieee802154_header_ie_time_correction *ie) |
Retrieve the time correction value in microseconds from a Time Correction IE, see section 7.4.2.7. | |
static void | ieee802154_header_ie_set_element_id (struct ieee802154_header_ie *ie, uint8_t element_id) |
Set the element ID of a header IE. | |
static uint8_t | ieee802154_header_ie_get_element_id (struct ieee802154_header_ie *ie) |
Get the element ID of a header IE. | |
IEEE 802.15.4 MAC information element (IE) related types and helpers.
This is not to be included by the application. This file contains only those parts of the types required for IE support that need to be visible to IEEE 802.15.4 drivers and L2 at the same time, i.e. everything related to header IE representation, parsing and generation.
All specification references in this file refer to IEEE 802.15.4-2020.