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