38#ifndef __ORCHESTRA_H__
39#define __ORCHESTRA_H__
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 (* root_node_updated)(
const linkaddr_t *
addr, uint8_t is_added);
52 const char *
const name;
53 const int16_t slotframe_size;
56extern struct orchestra_rule eb_per_time_source;
57extern struct orchestra_rule unicast_per_neighbor_rpl_storing;
58extern struct orchestra_rule unicast_per_neighbor_rpl_ns;
59extern struct orchestra_rule unicast_per_neighbor_link_based;
60extern struct orchestra_rule special_for_root;
61extern struct orchestra_rule default_common;
63extern linkaddr_t orchestra_parent_linkaddr;
64extern int orchestra_parent_knows_us;
67void orchestra_init(
void);
70int orchestra_callback_packet_ready(
void);
74void orchestra_callback_child_added(
const linkaddr_t *
addr);
76void orchestra_callback_child_removed(
const linkaddr_t *
addr);
78void orchestra_callback_root_node_updated(
const linkaddr_t *root, uint8_t is_added);
81uint8_t orchestra_is_root_schedule_active(
const linkaddr_t *
addr);
TSCH neighbor information.
Main API declarations for TSCH.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.