33 #ifndef __TSCH_PACKET_H__
34 #define __TSCH_PACKET_H__
47 #ifdef TSCH_PACKET_CONF_EB_WITH_TIMESLOT_TIMING
48 #define TSCH_PACKET_EB_WITH_TIMESLOT_TIMING TSCH_PACKET_CONF_EB_WITH_TIMESLOT_TIMING
50 #define TSCH_PACKET_EB_WITH_TIMESLOT_TIMING 0
54 #ifdef TSCH_PACKET_CONF_EB_WITH_HOPPING_SEQUENCE
55 #define TSCH_PACKET_EB_WITH_HOPPING_SEQUENCE TSCH_PACKET_CONF_EB_WITH_HOPPING_SEQUENCE
57 #define TSCH_PACKET_EB_WITH_HOPPING_SEQUENCE 0
61 #ifdef TSCH_PACKET_CONF_EB_WITH_SLOTFRAME_AND_LINK
62 #define TSCH_PACKET_EB_WITH_SLOTFRAME_AND_LINK TSCH_PACKET_CONF_EB_WITH_SLOTFRAME_AND_LINK
64 #define TSCH_PACKET_EB_WITH_SLOTFRAME_AND_LINK 0
68 #ifdef TSCH_PACKET_CONF_EACK_WITH_SRC_ADDR
69 #define TSCH_PACKET_EACK_WITH_SRC_ADDR TSCH_PACKET_CONF_EACK_WITH_SRC_ADDR
71 #define TSCH_PACKET_EACK_WITH_SRC_ADDR 0
75 #ifdef TSCH_PACKET_CONF_EACK_WITH_DEST_ADDR
76 #define TSCH_PACKET_EACK_WITH_DEST_ADDR TSCH_PACKET_CONF_EACK_WITH_DEST_ADDR
78 #define TSCH_PACKET_EACK_WITH_DEST_ADDR 1
85 #define TSCH_PACKET_MAX_LEN MIN(127,PACKETBUF_SIZE)
90 int tsch_packet_create_eack(uint8_t *buf,
int buf_size,
91 linkaddr_t *dest_addr, uint8_t seqno, int16_t drift,
int nack);
93 int tsch_packet_parse_eack(
const uint8_t *buf,
int buf_size,
94 uint8_t seqno,
frame802154_t *frame,
struct ieee802154_ies *ies, uint8_t *hdr_len);
96 int tsch_packet_create_eb(uint8_t *buf,
int buf_size,
97 uint8_t seqno, uint8_t *hdr_len, uint8_t *tsch_sync_ie_ptr);
99 int tsch_packet_update_eb(uint8_t *buf,
int buf_size, uint8_t tsch_sync_ie_offset);
101 int tsch_packet_parse_eb(
const uint8_t *buf,
int buf_size,
103 uint8_t *hdrlen,
int frame_without_mic);
Private TSCH definitions (meant for use by TSCH implementation files only) ...
Header file for the Rime buffer (packetbuf) management
IEEE 802.15.4e Information Element (IE) creation and parsing.
802.15.4 frame creation and parsing functions
Parameters used by the frame802154_create() function.