51 #ifdef UIP_MCAST6_ROUTE_CONF_ROUTES
52 #define UIP_MCAST6_ROUTE_ROUTES UIP_MCAST6_ROUTE_CONF_ROUTES
54 #define UIP_MCAST6_ROUTE_ROUTES 1
57 LIST(mcast_route_list);
63 uip_mcast6_route_lookup(uip_ipaddr_t *group)
66 for(locmcastrt =
list_head(mcast_route_list);
69 if(uip_ipaddr_cmp(&locmcastrt->group, group)) {
78 uip_mcast6_route_add(uip_ipaddr_t *group)
81 locmcastrt = uip_mcast6_route_lookup(group);
82 if(locmcastrt ==
NULL) {
85 if(locmcastrt ==
NULL) {
88 list_add(mcast_route_list, locmcastrt);
102 for(locmcastrt =
list_head(mcast_route_list);
105 if(locmcastrt == route) {
114 uip_mcast6_route_list_head(
void)
120 uip_mcast6_route_count(
void)
Linked list manipulation routines.
void memb_init(struct memb *m)
Initialize a memory block that was declared with MEMB().
Header file for the uIP TCP/IP stack.
void * list_item_next(void *item)
Get the next item following this item.
char memb_free(struct memb *m, void *ptr)
Deallocate a memory block from a memory block previously declared with MEMB().
void * memb_alloc(struct memb *m)
Allocate a memory block from a block of memory declared with MEMB().
#define NULL
The null pointer.
An entry in the multicast routing table.
void list_remove(list_t list, void *item)
Remove a specific element from a list.
void uip_mcast6_route_init()
Multicast routing table init routine.
int list_length(list_t list)
Get the length of a list.
void list_init(list_t list)
Initialize a list.
#define uip_ipaddr_copy(dest, src)
Copy an IP address from one place to another.
void * list_head(list_t list)
Get a pointer to the first element of a list.
#define MEMB(name, structure, num)
Declare a memory block.
void list_add(list_t list, void *item)
Add an item at the end of a list.
#define LIST(name)
Declare a linked list.
Multicast routing table manipulation
Memory block allocation routines.