  #include "memb.h"
 -#include "random.h"
 +#include "emb6_random.h"
-
+ 
  #include "tcpip.h"
-
+ 
 @@ -84,7 +84,7 @@ coap_new_transaction(uint16_t mid, uip_ipaddr_t *addr, uint16_t port)
      t->addr = *addr;
      t->port = port;
-
+ 
 -    list_add(transactions_list, t); /* list itself makes sure same element is not added twice */
 +    emb6_list_add(transactions_list, t); /* list itself makes sure same element is not added twice */
    }
-
+ 
    return t;
+@@ -148,7 +148,7 @@ coap_clear_transaction(coap_transaction_t *t)
+     PRINTF("Freeing transaction %u: %p\n\r", t->mid, t);
+ 
+     etimer_stop(&t->retrans_timer);
+-    list_remove(transactions_list, t);
++    emb6_list_remove(transactions_list, t);
+     memb_free(&transactions_memb, t);
+   }
+ }
 diff --git a/emb6/src/apl/er-coap/er-coap.c b/emb6/src/apl/er-coap/er-coap.c
 index 40f6874..a8125a2 100644
 --- a/emb6/src/apl/er-coap/er-coap.c

     return;
   }
diff --git a/emb6/src/net/ipv6/uip-icmp6.c b/emb6/src/net/ipv6/uip-icmp6.c
index 00828a3..484d0bf 100644
--- a/emb6/src/net/ipv6/uip-icmp6.c
+++ b/emb6/src/net/ipv6/uip-icmp6.c
@@ -114,7 +114,7 @@ uip_icmp6_input(uint8_t type, uint8_t icode)

+void * list_chop(list_t list);
+
+void   emb6_list_add(list_t list, void *item);
+void   emb6_list_remove(list_t list, void *item);
+
+int    list_length(list_t list);
+
