45struct orchestra_rule {
46 void (* init)(uint16_t slotframe_handle);
48 int (* select_packet)(uint16_t *slotframe, uint16_t *timeslot, uint16_t *channel_offset);
49 void (* child_added)(
const linkaddr_t *
addr);
50 void (* child_removed)(
const linkaddr_t *
addr);
51 void (* neighbor_updated)(
const linkaddr_t *
addr, uint8_t is_added);
52 void (* root_node_updated)(
const linkaddr_t *
addr, uint8_t is_added);
53 const char *
const name;
54 const int16_t slotframe_size;
57extern struct orchestra_rule eb_per_time_source;
58extern struct orchestra_rule unicast_per_neighbor_rpl_storing;
59extern struct orchestra_rule unicast_per_neighbor_rpl_ns;
60extern struct orchestra_rule unicast_per_neighbor_link_based;
61extern struct orchestra_rule special_for_root;
62extern struct orchestra_rule default_common;
64extern linkaddr_t orchestra_parent_linkaddr;
65extern int orchestra_parent_knows_us;
68void orchestra_init(
void);
71int orchestra_callback_packet_ready(
void);
75void orchestra_callback_child_added(
const linkaddr_t *
addr);
77void orchestra_callback_child_removed(
const linkaddr_t *
addr);
80uint8_t orchestra_is_root_schedule_active(
const linkaddr_t *
addr);
82void orchestra_callback_root_node_updated(
const linkaddr_t *root, uint8_t is_added);
84void orchestra_callback_neighbor_updated(
const linkaddr_t *, uint8_t is_added);
TSCH neighbor information.
Main API declarations for TSCH.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.