40#ifndef FRAME_802154E_H
41#define FRAME_802154E_H
52#define FRAME802154E_IE_MAX_LINKS 4
55struct tsch_slotframe_and_links_link {
57 uint16_t channel_offset;
60struct tsch_slotframe_and_links {
61 uint8_t num_slotframes;
62 uint8_t slotframe_handle;
63 uint16_t slotframe_size;
65 struct tsch_slotframe_and_links_link links[FRAME802154E_IE_MAX_LINKS];
69struct ieee802154_ies {
71 int16_t ie_time_correction;
74 uint8_t ie_payload_ie_offset;
77 uint8_t ie_tsch_synchronization_offset;
79 uint8_t ie_join_priority;
80 uint8_t ie_tsch_timeslot_id;
81 uint16_t ie_tsch_timeslot[tsch_ts_elements_count];
82 struct tsch_slotframe_and_links ie_tsch_slotframe_and_link;
84 uint8_t ie_channel_hopping_sequence_id;
86 uint16_t ie_hopping_sequence_len;
87 uint8_t ie_hopping_sequence_list[TSCH_HOPPING_SEQUENCE_MAX_LEN];
90 const uint8_t *sixtop_ie_content_ptr;
91 uint16_t sixtop_ie_content_len;
98 struct ieee802154_ies *ies);
101int frame80215e_create_ie_header_list_termination_1(uint8_t *buf,
int len,
102 const struct ieee802154_ies *ies);
105int frame80215e_create_ie_header_list_termination_2(uint8_t *buf,
int len,
106 const struct ieee802154_ies *ies);
108int frame80215e_create_ie_payload_list_termination(uint8_t *buf,
int len,
109 const struct ieee802154_ies *ies);
112int frame80215e_create_ie_ietf(uint8_t *buf,
int len,
113 struct ieee802154_ies *ies);
116int frame80215e_create_ie_mlme(uint8_t *buf,
int len,
117 struct ieee802154_ies *ies);
119int frame80215e_create_ie_tsch_synchronization(uint8_t *buf,
int len,
120 struct ieee802154_ies *ies);
122int frame80215e_create_ie_tsch_slotframe_and_link(uint8_t *buf,
int len,
123 struct ieee802154_ies *ies);
125int frame80215e_create_ie_tsch_timeslot(uint8_t *buf,
int len,
126 struct ieee802154_ies *ies);
128int frame80215e_create_ie_tsch_channel_hopping_sequence(uint8_t *buf,
int len,
129 struct ieee802154_ies *ies);
132int frame802154e_parse_information_elements(
const uint8_t *buf, uint8_t buf_size,
133 struct ieee802154_ies *ies);
int frame80215e_create_ie_header_ack_nack_time_correction(uint8_t *buf, int len, struct ieee802154_ies *ies)
Insert various Information Elements.
Header file for the link-layer address representation.
The ASN is an absolute slot number over 5 bytes.
TSCH 5-Byte Absolute Slot Number (ASN) management.