You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1752 lines
59 KiB

From fe4bfbc5c6ae1524c34170bab2e1bcde263685a5 Mon Sep 17 00:00:00 2001
From: Martine Lenders <mail@martine-lenders.eu>
Date: Thu, 4 Feb 2016 22:15:23 +0100
Subject: [PATCH 2/4] Rename colliding files and functions
---
emb6/emb6.c | 2 +-
emb6/inc/apl/rest-engine/rest-engine.h | 2 +-
emb6/inc/net/ipv6/uip-ds6-route.h | 2 +-
emb6/inc/net/rpl/rpl-private.h | 2 +-
emb6/inc/net/rpl/rpl.h | 2 +-
emb6/src/apl/er-coap/er-coap-observe.c | 4 +-
emb6/src/apl/er-coap/er-coap-transactions.c | 6 +-
emb6/src/apl/er-coap/er-coap.c | 2 +-
emb6/src/apl/rest-engine/rest-engine.c | 4 +-
emb6/src/mac/framer-802154.c | 2 +-
emb6/src/mac/sicslowmac.c | 2 +-
emb6/src/net/ipv6/multicast/roll-tm.c | 2 +-
emb6/src/net/ipv6/multicast/smrf.c | 2 +-
emb6/src/net/ipv6/multicast/uip-mcast6-route.c | 6 +-
emb6/src/net/ipv6/nbr-table.c | 6 +-
emb6/src/net/ipv6/uip-ds6-nbr.c | 2 +-
emb6/src/net/ipv6/uip-ds6-route.c | 16 +--
emb6/src/net/ipv6/uip-ds6.c | 6 +-
emb6/src/net/ipv6/uip-icmp6.c | 6 +-
emb6/src/net/ipv6/uip-nameserver.c | 8 +-
emb6/src/net/ipv6/uip-nd6.c | 2 +-
emb6/src/net/rpl/rpl-dag.c | 2 +-
emb6/src/net/rpl/rpl-timers.c | 2 +-
emb6/src/net/sicslowpan/sicslowpan.c | 2 +-
emb6/src/tport/tcp-socket.c | 6 +-
emb6/src/tport/udp-socket.c | 2 +-
target/bsp/bsp.c | 2 +-
target/if/at86rf212b/at86rf212b.c | 2 +-
utils/inc/clist.h | 163 -------------------------
utils/inc/emb6_clist.h | 163 +++++++++++++++++++++++++
utils/inc/emb6_random.h | 57 +++++++++
utils/inc/emb6_ringbuffer.h | 162 ++++++++++++++++++++++++
utils/inc/random.h | 57 ---------
utils/inc/ringbuffer.h | 162 ------------------------
utils/inc/timer.h | 4 +-
utils/src/ctimer.c | 16 +--
utils/src/etimer.c | 12 +-
utils/src/evproc.c | 2 +-
utils/src/list.c | 10 +-
utils/src/mmem.c | 6 +-
utils/src/queuebuf.c | 6 +-
utils/src/random.c | 2 +-
utils/src/ringbuffer.c | 2 +-
utils/src/timer.c | 6 +-
44 files changed, 467 insertions(+), 467 deletions(-)
delete mode 100644 utils/inc/clist.h
create mode 100644 utils/inc/emb6_clist.h
create mode 100644 utils/inc/emb6_random.h
create mode 100644 utils/inc/emb6_ringbuffer.h
delete mode 100644 utils/inc/random.h
delete mode 100644 utils/inc/ringbuffer.h
diff --git a/emb6/emb6.c b/emb6/emb6.c
index 2912049..682b7c2 100644
--- a/emb6/emb6.c
+++ b/emb6/emb6.c
@@ -64,7 +64,7 @@
#include "queuebuf.h"
#include "linkaddr.h"
#include "ctimer.h"
-#include "random.h"
+#include "emb6_random.h"
#if NETSTACK_CONF_WITH_IPV6
#include "uip-ds6.h"
diff --git a/emb6/inc/apl/rest-engine/rest-engine.h b/emb6/inc/apl/rest-engine/rest-engine.h
index 2c16c2b..fc0dca5 100644
--- a/emb6/inc/apl/rest-engine/rest-engine.h
+++ b/emb6/inc/apl/rest-engine/rest-engine.h
@@ -41,7 +41,7 @@
#define REST_ENGINE_H_
-#include "clist.h"
+#include "emb6_clist.h"
#include "etimer.h"
diff --git a/emb6/inc/net/ipv6/uip-ds6-route.h b/emb6/inc/net/ipv6/uip-ds6-route.h
index 000b327..31ed0e9 100644
--- a/emb6/inc/net/ipv6/uip-ds6-route.h
+++ b/emb6/inc/net/ipv6/uip-ds6-route.h
@@ -42,7 +42,7 @@
#define UIP_DS6_ROUTE_H
#include "stimer.h"
-#include "clist.h"
+#include "emb6_clist.h"
void uip_ds6_route_init(void);
diff --git a/emb6/inc/net/rpl/rpl-private.h b/emb6/inc/net/rpl/rpl-private.h
index 9da5744..5ded041 100644
--- a/emb6/inc/net/rpl/rpl-private.h
+++ b/emb6/inc/net/rpl/rpl-private.h
@@ -39,7 +39,7 @@
#include "rpl.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "uip.h"
#include "bsp.h"
#include "ctimer.h"
diff --git a/emb6/inc/net/rpl/rpl.h b/emb6/inc/net/rpl/rpl.h
index 574ca5e..7269948 100644
--- a/emb6/inc/net/rpl/rpl.h
+++ b/emb6/inc/net/rpl/rpl.h
@@ -41,7 +41,7 @@
#include "emb6_conf.h"
#include "emb6.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "uip.h"
#include "uip-ds6.h"
#include "ctimer.h"
diff --git a/emb6/src/apl/er-coap/er-coap-observe.c b/emb6/src/apl/er-coap/er-coap-observe.c
index 57754ac..84659a9 100644
--- a/emb6/src/apl/er-coap/er-coap-observe.c
+++ b/emb6/src/apl/er-coap/er-coap-observe.c
@@ -80,7 +80,7 @@ coap_add_observer(uip_ipaddr_t *addr, uint16_t port, const uint8_t *token,
PRINTF("Adding observer (%u/%u) for /%s [0x%02X%02X]\n",
list_length(observers_list) + 1, COAP_MAX_OBSERVERS,
o->url, o->token[0], o->token[1]);
- list_add(observers_list, o);
+ emb6_list_add(observers_list, o);
}
return o;
@@ -95,7 +95,7 @@ coap_remove_observer(coap_observer_t *o)
o->token[1]);
memb_free(&observers_memb, o);
- list_remove(observers_list, o);
+ emb6_list_remove(observers_list, o);
}
/*---------------------------------------------------------------------------*/
int
diff --git a/emb6/src/apl/er-coap/er-coap-transactions.c b/emb6/src/apl/er-coap/er-coap-transactions.c
index e40f4c9..7cbf254 100644
--- a/emb6/src/apl/er-coap/er-coap-transactions.c
+++ b/emb6/src/apl/er-coap/er-coap-transactions.c
@@ -43,7 +43,7 @@
#include "timer.h"
#include "evproc.h"
#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
+++ b/emb6/src/apl/er-coap/er-coap.c
@@ -39,7 +39,7 @@
#include <string.h>
#include <stdio.h>
-#include "random.h"
+#include "emb6_random.h"
#include "er-coap.h"
#include "er-coap-transactions.h"
diff --git a/emb6/src/apl/rest-engine/rest-engine.c b/emb6/src/apl/rest-engine/rest-engine.c
index fd8d1ba..818f326 100644
--- a/emb6/src/apl/rest-engine/rest-engine.c
+++ b/emb6/src/apl/rest-engine/rest-engine.c
@@ -104,7 +104,7 @@ rest_activate_resource(resource_t *resource, char *path)
{
resource->url = path;
struct periodic_resource_s * periodic = resource->un_handler.periodic;
- list_add(restful_services, resource);
+ emb6_list_add(restful_services, resource);
PRINTF("Activating: %s\n\r", resource->url);
@@ -112,7 +112,7 @@ rest_activate_resource(resource_t *resource, char *path)
if((resource->flags & IS_PERIODIC) && periodic->periodic_handler
&& periodic->period) {
PRINTF("Periodic resource: %p (%s)\n", periodic,periodic->resource->url);
- list_add(restful_periodic_services, periodic);
+ emb6_list_add(restful_periodic_services, periodic);
}
for(periodic_resource =
diff --git a/emb6/src/mac/framer-802154.c b/emb6/src/mac/framer-802154.c
index f99486d..359ee6b 100644
--- a/emb6/src/mac/framer-802154.c
+++ b/emb6/src/mac/framer-802154.c
@@ -45,7 +45,7 @@
#include "frame802154.h"
#include "llsec802154.h"
#include "packetbuf.h"
-#include "random.h"
+#include "emb6_random.h"
diff --git a/emb6/src/mac/sicslowmac.c b/emb6/src/mac/sicslowmac.c
index 7219fa8..c741131 100644
--- a/emb6/src/mac/sicslowmac.c
+++ b/emb6/src/mac/sicslowmac.c
@@ -51,7 +51,7 @@
#include "frame802154.h"
#include "packetbuf.h"
#include "queuebuf.h"
-#include "random.h"
+#include "emb6_random.h"
#define DEBUG DEBUG_NONE
diff --git a/emb6/src/net/ipv6/multicast/roll-tm.c b/emb6/src/net/ipv6/multicast/roll-tm.c
index 8fb1717..8b36300 100644
--- a/emb6/src/net/ipv6/multicast/roll-tm.c
+++ b/emb6/src/net/ipv6/multicast/roll-tm.c
@@ -51,7 +51,7 @@
#include "roll-tm.h"
#include "bsp.h"
#include "ctimer.h"
-#include "random.h"
+#include "emb6_random.h"
//#include "dev/watchdog.h"
//#include <string.h>
diff --git a/emb6/src/net/ipv6/multicast/smrf.c b/emb6/src/net/ipv6/multicast/smrf.c
index 474c41d..9b4a3a5 100644
--- a/emb6/src/net/ipv6/multicast/smrf.c
+++ b/emb6/src/net/ipv6/multicast/smrf.c
@@ -52,7 +52,7 @@
#include "smrf.h"
#include "rpl.h"
#include "packetbuf.h"
-#include "random.h"
+#include "emb6_random.h"
//#include "net/netstack.h"
#define DEBUG DEBUG_NONE
diff --git a/emb6/src/net/ipv6/multicast/uip-mcast6-route.c b/emb6/src/net/ipv6/multicast/uip-mcast6-route.c
index aa0caff..995ff0c 100644
--- a/emb6/src/net/ipv6/multicast/uip-mcast6-route.c
+++ b/emb6/src/net/ipv6/multicast/uip-mcast6-route.c
@@ -43,7 +43,7 @@
//#include "contiki.h"
#include "emb6_conf.h"
#include "emb6.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "memb.h"
#include "uip.h"
#include "uip-mcast6-route.h"
@@ -88,7 +88,7 @@ uip_mcast6_route_add(uip_ipaddr_t *group)
if(locmcastrt == NULL) {
return NULL;
}
- list_add(mcast_route_list, locmcastrt);
+ emb6_list_add(mcast_route_list, locmcastrt);
}
/* Reaching here means we either found the prefix or allocated a new one */
@@ -106,7 +106,7 @@ uip_mcast6_route_rm(uip_mcast6_route_t *route)
locmcastrt != NULL;
locmcastrt = list_item_next(locmcastrt)) {
if(locmcastrt == route) {
- list_remove(mcast_route_list, route);
+ emb6_list_remove(mcast_route_list, route);
memb_free(&mcast_route_memb, route);
return;
}
diff --git a/emb6/src/net/ipv6/nbr-table.c b/emb6/src/net/ipv6/nbr-table.c
index 7dedece..d72c1c9 100644
--- a/emb6/src/net/ipv6/nbr-table.c
+++ b/emb6/src/net/ipv6/nbr-table.c
@@ -41,7 +41,7 @@
#include <stddef.h>
#include <string.h>
#include "memb.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "nbr-table.h"
/* List of link-layer addresses of the neighbors, used as key in the tables */
@@ -221,7 +221,7 @@ nbr_table_allocate(void)
/* Empty used map */
used_map[index_from_key(least_used_key)] = 0;
/* Remove neighbor from list */
- list_remove(nbr_table_keys, least_used_key);
+ emb6_list_remove(nbr_table_keys, least_used_key);
/* Return associated key */
return least_used_key;
}
@@ -295,7 +295,7 @@ nbr_table_add_lladdr(nbr_table_t *table, const linkaddr_t *lladdr)
}
/* Add neighbor to list */
- list_add(nbr_table_keys, key);
+ emb6_list_add(nbr_table_keys, key);
/* Get index from newly allocated neighbor */
index = index_from_key(key);
diff --git a/emb6/src/net/ipv6/uip-ds6-nbr.c b/emb6/src/net/ipv6/uip-ds6-nbr.c
index 360fdbc..53ad8da 100644
--- a/emb6/src/net/ipv6/uip-ds6-nbr.c
+++ b/emb6/src/net/ipv6/uip-ds6-nbr.c
@@ -46,7 +46,7 @@
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
-#include "clist.h"
+#include "emb6_clist.h"
#include "linkaddr.h"
#include "packetbuf.h"
#include "uip-ds6-nbr.h"
diff --git a/emb6/src/net/ipv6/uip-ds6-route.c b/emb6/src/net/ipv6/uip-ds6-route.c
index c732f78..e54a18f 100644
--- a/emb6/src/net/ipv6/uip-ds6-route.c
+++ b/emb6/src/net/ipv6/uip-ds6-route.c
@@ -42,7 +42,7 @@
#include "uip-ds6.h"
#include "uip.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "memb.h"
#include "nbr-table.h"
@@ -133,14 +133,14 @@ uip_ds6_notification_add(struct uip_ds6_notification *n,
{
if(n != NULL && c != NULL) {
n->callback = c;
- list_add(notificationlist, n);
+ emb6_list_add(notificationlist, n);
}
}
/*---------------------------------------------------------------------------*/
void
uip_ds6_notification_rm(struct uip_ds6_notification *n)
{
- list_remove(notificationlist, n);
+ emb6_list_remove(notificationlist, n);
}
#endif
/*---------------------------------------------------------------------------*/
@@ -249,7 +249,7 @@ uip_ds6_route_lookup(uip_ipaddr_t *addr)
list. The list is ordered by how recently we looked them up:
the least recently used route will be at the end of the
list - for fast lookups (assuming multiple packets to the same node). */
- list_remove(routelist, found_route);
+ emb6_list_remove(routelist, found_route);
list_push(routelist, found_route);
}
@@ -375,7 +375,7 @@ uip_ds6_route_add(uip_ipaddr_t *ipaddr, uint8_t length,
nbrr->route = r;
/* Add the route to this neighbor */
- list_add(routes->route_list, nbrr);
+ emb6_list_add(routes->route_list, nbrr);
r->neighbor_routes = routes;
num_routes++;
@@ -421,7 +421,7 @@ uip_ds6_route_rm(uip_ds6_route_t *route)
PRINTF("\n\r");
/* Remove the route from the route list */
- list_remove(routelist, route);
+ emb6_list_remove(routelist, route);
/* Find the corresponding neighbor_route and remove it. */
for(neighbor_route = list_head(route->neighbor_routes->route_list);
@@ -433,7 +433,7 @@ uip_ds6_route_rm(uip_ds6_route_t *route)
uip_debug_ipaddr_print(&route->ipaddr);
PRINTF("\n");
}
- list_remove(route->neighbor_routes->route_list, neighbor_route);
+ emb6_list_remove(route->neighbor_routes->route_list, neighbor_route);
if(list_head(route->neighbor_routes->route_list) == NULL) {
/* If this was the only route using this neighbor, remove the
neibhor from the table */
@@ -581,7 +581,7 @@ uip_ds6_defrt_rm(uip_ds6_defrt_t *defrt)
d = list_item_next(d)) {
if(d == defrt) {
PRINTF("Removing default route\n\r");
- list_remove(defaultrouterlist, defrt);
+ emb6_list_remove(defaultrouterlist, defrt);
memb_free(&defaultroutermemb, defrt);
ANNOTATE("#L %u 0\n\r", defrt->ipaddr.u8[sizeof(uip_ipaddr_t) - 1]);
#if UIP_DS6_NOTIFICATIONS
diff --git a/emb6/src/net/ipv6/uip-ds6.c b/emb6/src/net/ipv6/uip-ds6.c
index 0e2f16a..ad3f4cd 100644
--- a/emb6/src/net/ipv6/uip-ds6.c
+++ b/emb6/src/net/ipv6/uip-ds6.c
@@ -49,7 +49,7 @@
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
-#include "random.h"
+#include "emb6_random.h"
#include "uip-nd6.h"
#include "uip-ds6.h"
#include "uip-packetqueue.h"
@@ -343,7 +343,7 @@ uip_ds6_addr_add(uip_ipaddr_t *ipaddr, unsigned long vlifetime, uint8_t type)
}
#if UIP_ND6_DEF_MAXDADNS > 0
locaddr->state = ADDR_TENTATIVE;
- timer_set(&locaddr->dadtimer,
+ timer_emb6_set(&locaddr->dadtimer,
random_rand() % (UIP_ND6_MAX_RTR_SOLICITATION_DELAY *
bsp_get(E_BSP_GET_TRES)));
locaddr->dadnscount = 0;
@@ -591,7 +591,7 @@ uip_ds6_dad(uip_ds6_addr_t *addr)
if(addr->dadnscount < uip_ds6_if.maxdadns) {
uip_nd6_ns_output(NULL, NULL, &addr->ipaddr);
addr->dadnscount++;
- timer_set(&addr->dadtimer,
+ timer_emb6_set(&addr->dadtimer,
uip_ds6_if.retrans_timer / 1000 * bsp_get(E_BSP_GET_TRES));
return;
}
diff --git a/emb6/src/net/ipv6/uip-icmp6.c b/emb6/src/net/ipv6/uip-icmp6.c
index 00828a3..2d8b485 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
uip_icmp6_register_input_handler(uip_icmp6_input_handler_t *handler)
{
- list_add(input_handler_list, handler);
+ emb6_list_add(input_handler_list, handler);
}
/*---------------------------------------------------------------------------*/
static void
@@ -393,14 +393,14 @@ uip_icmp6_echo_reply_callback_add(struct uip_icmp6_echo_reply_notification *n,
{
if(n != NULL && c != NULL) {
n->callback = c;
- list_add(echo_reply_callback_list, n);
+ emb6_list_add(echo_reply_callback_list, n);
}
}
/*---------------------------------------------------------------------------*/
void
uip_icmp6_echo_reply_callback_rm(struct uip_icmp6_echo_reply_notification *n)
{
- list_remove(echo_reply_callback_list, n);
+ emb6_list_remove(echo_reply_callback_list, n);
}
/*---------------------------------------------------------------------------*/
UIP_ICMP6_HANDLER(echo_request_handler, ICMP6_ECHO_REQUEST,
diff --git a/emb6/src/net/ipv6/uip-nameserver.c b/emb6/src/net/ipv6/uip-nameserver.c
index 9701b26..4d1d6d3 100644
--- a/emb6/src/net/ipv6/uip-nameserver.c
+++ b/emb6/src/net/ipv6/uip-nameserver.c
@@ -46,7 +46,7 @@
#include "uip.h"
#include "uip-nameserver.h"
#include "bsp.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "memb.h"
#include <string.h>
@@ -113,7 +113,7 @@ uip_nameserver_update(uip_ipaddr_t *nameserver, uint32_t lifetime)
if(e == NULL) {
if((e = memb_alloc(&dnsmemb)) != NULL) {
- list_add(dns, e);
+ emb6_list_add(dns, e);
} else {
uip_nameserver_record *p;
for(e = list_head(dns), p = list_head(dns); p != NULL;
@@ -130,7 +130,7 @@ uip_nameserver_update(uip_ipaddr_t *nameserver, uint32_t lifetime)
if(e != NULL) {
if(lifetime == 0) {
memb_free(&dnsmemb, e);
- list_remove(dns, e);
+ emb6_list_remove(dns, e);
} else {
e->added = bsp_getTick();
e->lifetime = lifetime;
@@ -154,7 +154,7 @@ purge(void)
uint32_t time = bsp_getTick();
for(e = list_head(dns); e != NULL; e = list_item_next(e)) {
if(DNS_EXPIRATION(e) < time) {
- list_remove(dns, e);
+ emb6_list_remove(dns, e);
memb_free(&dnsmemb, e);
e = list_head(dns);
}
diff --git a/emb6/src/net/ipv6/uip-nd6.c b/emb6/src/net/ipv6/uip-nd6.c
index 8758a8f..f04b6b3 100644
--- a/emb6/src/net/ipv6/uip-nd6.c
+++ b/emb6/src/net/ipv6/uip-nd6.c
@@ -78,7 +78,7 @@
#include "uip-ds6.h"
#include "uip-nameserver.h"
#include "bsp.h"
-#include "random.h"
+#include "emb6_random.h"
/*------------------------------------------------------------------*/
#define DEBUG DEBUG_NONE
diff --git a/emb6/src/net/rpl/rpl-dag.c b/emb6/src/net/rpl/rpl-dag.c
index cc11eab..4a85b70 100644
--- a/emb6/src/net/rpl/rpl-dag.c
+++ b/emb6/src/net/rpl/rpl-dag.c
@@ -50,7 +50,7 @@
#if UIP_CONF_IPV6_MULTICAST
#include "uip-mcast6.h"
#endif
-#include "clist.h"
+#include "emb6_clist.h"
#include "memb.h"
#include "ctimer.h"
diff --git a/emb6/src/net/rpl/rpl-timers.c b/emb6/src/net/rpl/rpl-timers.c
index 9b235d4..439b45d 100644
--- a/emb6/src/net/rpl/rpl-timers.c
+++ b/emb6/src/net/rpl/rpl-timers.c
@@ -47,7 +47,7 @@
#if UIP_CONF_IPV6_MULTICAST
#include "uip-mcast6.h"
#endif
-#include "random.h"
+#include "emb6_random.h"
#include "ctimer.h"
#define DEBUG DEBUG_NONE
diff --git a/emb6/src/net/sicslowpan/sicslowpan.c b/emb6/src/net/sicslowpan/sicslowpan.c
index 8c909cf..79afefe 100644
--- a/emb6/src/net/sicslowpan/sicslowpan.c
+++ b/emb6/src/net/sicslowpan/sicslowpan.c
@@ -1738,7 +1738,7 @@ input(void)
sicslowpan_len = frag_size;
reass_tag = frag_tag;
- timer_set(&reass_timer, SICSLOWPAN_REASS_MAXAGE * bsp_get(E_BSP_GET_TRES));
+ timer_emb6_set(&reass_timer, SICSLOWPAN_REASS_MAXAGE * bsp_get(E_BSP_GET_TRES));
PRINTFI("sicslowpan input: INIT FRAGMENTATION (len %d, tag %d)\n\r",
sicslowpan_len, reass_tag);
linkaddr_copy(&frag_sender, packetbuf_addr(PACKETBUF_ADDR_SENDER));
diff --git a/emb6/src/tport/tcp-socket.c b/emb6/src/tport/tcp-socket.c
index 3974bad..05490f6 100644
--- a/emb6/src/tport/tcp-socket.c
+++ b/emb6/src/tport/tcp-socket.c
@@ -31,7 +31,7 @@
#include "emb6.h"
#include "bsp.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "etimer.h"
#include "tcp-socket.h"
@@ -276,7 +276,7 @@ tcp_socket_register(struct tcp_socket *s, void *ptr,
s->output_data_maxlen = output_databuf_len;
s->input_callback = input_callback;
s->event_callback = event_callback;
- list_add(socketlist, s);
+ emb6_list_add(socketlist, s);
s->listen_port = 0;
s->flags = TCP_SOCKET_FLAGS_NONE;
@@ -386,7 +386,7 @@ tcp_socket_unregister(struct tcp_socket *s)
if(s->c != NULL) {
tcp_attach(s->c, NULL);
}
- list_remove(socketlist, s);
+ emb6_list_remove(socketlist, s);
return 1;
}
/*---------------------------------------------------------------------------*/
diff --git a/emb6/src/tport/udp-socket.c b/emb6/src/tport/udp-socket.c
index be27a5f..545f6bd 100644
--- a/emb6/src/tport/udp-socket.c
+++ b/emb6/src/tport/udp-socket.c
@@ -31,7 +31,7 @@
#include "emb6.h"
#include "bsp.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "etimer.h"
#include "emb6_conf.h"
#include "tcpip.h"
diff --git a/target/bsp/bsp.c b/target/bsp/bsp.c
index 85c9976..bf266b8 100644
--- a/target/bsp/bsp.c
+++ b/target/bsp/bsp.c
@@ -63,7 +63,7 @@
#include "board_conf.h"
#include "etimer.h"
-#include "random.h"
+#include "emb6_random.h"
#include "evproc.h"
/*==============================================================================
MACROS
diff --git a/target/if/at86rf212b/at86rf212b.c b/target/if/at86rf212b/at86rf212b.c
index aba87d5..c059568 100644
--- a/target/if/at86rf212b/at86rf212b.c
+++ b/target/if/at86rf212b/at86rf212b.c
@@ -67,7 +67,7 @@
#include "ctimer.h"
#include "packetbuf.h"
-#include "ringbuffer.h"
+#include "emb6_ringbuffer.h"
/*==============================================================================
MACROS
diff --git a/utils/inc/clist.h b/utils/inc/clist.h
deleted file mode 100644
index 0e26be8..0000000
--- a/utils/inc/clist.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 2004, Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Institute nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * This file is part of the Contiki operating system.
- *
- * Author: Adam Dunkels <adam@sics.se>
- *
- * $Id: clist.h,v 1.5 2010/09/13 13:31:00 adamdunkels Exp $
- */
-
-/**
- * \addtogroup utils
- * @{ */
-/** \addtogroup lib
- @{ */
-/**
- * \defgroup list Linked list library
- *
- * The linked list library provides a set of functions for
- * manipulating linked lists.
- *
- * A linked list is made up of elements where the first element \b
- * must be a pointer. This pointer is used by the linked list library
- * to form lists of the elements.
- *
- * Lists are declared with the LIST() macro. The declaration specifies
- * the name of the list that later is used with all list functions.
- *
- * Lists can be manipulated by inserting or removing elements from
- * either sides of the list (list_push(), list_add(), list_pop(),
- * list_chop()). A specified element can also be removed from inside a
- * list with list_remove(). The head and tail of a list can be
- * extracted using list_head() and list_tail(), respectively.
- *
- * @{
- */
-
-/**
- * \file
- * Linked list manipulation routines.
- * \author Adam Dunkels <adam@sics.se>
- *
- *
- */
-
-#ifndef LIST_H_
-#define LIST_H_
-
-#define LIST_CONCAT2(s1, s2) s1##s2
-#define LIST_CONCAT(s1, s2) LIST_CONCAT2(s1, s2)
-
-/**
- * Declare a linked list.
- *
- * This macro declares a linked list with the specified \c type. The
- * type \b must be a structure (\c struct) with its first element
- * being a pointer. This pointer is used by the linked list library to
- * form the linked lists.
- *
- * The list variable is declared as static to make it easy to use in a
- * single C module without unnecessarily exporting the name to other
- * modules.
- *
- * \param name The name of the list.
- */
-#define LIST(name) \
- static void *LIST_CONCAT(name,_list) = NULL; \
- static list_t name = (list_t)&LIST_CONCAT(name,_list)
-
-/**
- * Declare a linked list inside a structure declaraction.
- *
- * This macro declares a linked list with the specified \c type. The
- * type \b must be a structure (\c struct) with its first element
- * being a pointer. This pointer is used by the linked list library to
- * form the linked lists.
- *
- * Internally, the list is defined as two items: the list itself and a
- * pointer to the list. The pointer has the name of the parameter to
- * the macro and the name of the list is a concatenation of the name
- * and the suffix "_list". The pointer must point to the list for the
- * list to work. Thus the list must be initialized before using.
- *
- * The list is initialized with the LIST_STRUCT_INIT() macro.
- *
- * \param name The name of the list.
- */
-#define LIST_STRUCT(name) \
- void *LIST_CONCAT(name,_list); \
- list_t name
-
-/**
- * Initialize a linked list that is part of a structure.
- *
- * This macro sets up the internal pointers in a list that has been
- * defined as part of a struct. This macro must be called before using
- * the list.
- *
- * \param struct_ptr A pointer to the struct
- * \param name The name of the list.
- */
-#define LIST_STRUCT_INIT(struct_ptr, name) \
- do { \
- (struct_ptr)->name = &((struct_ptr)->LIST_CONCAT(name,_list)); \
- (struct_ptr)->LIST_CONCAT(name,_list) = NULL; \
- list_init((struct_ptr)->name); \
- } while(0)
-
-/**
- * The linked list type.
- *
- */
-typedef void ** list_t;
-
-void list_init(list_t list);
-void * list_head(list_t list);
-void * list_tail(list_t list);
-void * list_pop (list_t list);
-void list_push(list_t list, void *item);
-
-void * list_chop(list_t list);
-
-void list_add(list_t list, void *item);
-void list_remove(list_t list, void *item);
-
-int list_length(list_t list);
-
-void list_copy(list_t dest, list_t src);
-
-void list_insert(list_t list, void *previtem, void *newitem);
-
-void * list_item_next(void *item);
-
-#endif /* LIST_H_ */
-
-/** @} */
-/** @} */
-/** @} */
diff --git a/utils/inc/emb6_clist.h b/utils/inc/emb6_clist.h
new file mode 100644
index 0000000..a104f29
--- /dev/null
+++ b/utils/inc/emb6_clist.h
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2004, Swedish Institute of Computer Science.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Institute nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * This file is part of the Contiki operating system.
+ *
+ * Author: Adam Dunkels <adam@sics.se>
+ *
+ * $Id: emb6_clist.h,v 1.5 2010/09/13 13:31:00 adamdunkels Exp $
+ */
+
+/**
+ * \addtogroup utils
+ * @{ */
+/** \addtogroup lib
+ @{ */
+/**
+ * \defgroup list Linked list library
+ *
+ * The linked list library provides a set of functions for
+ * manipulating linked lists.
+ *
+ * A linked list is made up of elements where the first element \b
+ * must be a pointer. This pointer is used by the linked list library
+ * to form lists of the elements.
+ *
+ * Lists are declared with the LIST() macro. The declaration specifies
+ * the name of the list that later is used with all list functions.
+ *
+ * Lists can be manipulated by inserting or removing elements from
+ * either sides of the list (list_push(), emb6_list_add(), list_pop(),
+ * list_chop()). A specified element can also be removed from inside a
+ * list with emb6_list_remove(). The head and tail of a list can be
+ * extracted using list_head() and list_tail(), respectively.
+ *
+ * @{
+ */
+
+/**
+ * \file
+ * Linked list manipulation routines.
+ * \author Adam Dunkels <adam@sics.se>
+ *
+ *
+ */
+
+#ifndef LIST_H_
+#define LIST_H_
+
+#define LIST_CONCAT2(s1, s2) s1##s2
+#define LIST_CONCAT(s1, s2) LIST_CONCAT2(s1, s2)
+
+/**
+ * Declare a linked list.
+ *
+ * This macro declares a linked list with the specified \c type. The
+ * type \b must be a structure (\c struct) with its first element
+ * being a pointer. This pointer is used by the linked list library to
+ * form the linked lists.
+ *
+ * The list variable is declared as static to make it easy to use in a
+ * single C module without unnecessarily exporting the name to other
+ * modules.
+ *
+ * \param name The name of the list.
+ */
+#define LIST(name) \
+ static void *LIST_CONCAT(name,_list) = NULL; \
+ static list_t name = (list_t)&LIST_CONCAT(name,_list)
+
+/**
+ * Declare a linked list inside a structure declaraction.
+ *
+ * This macro declares a linked list with the specified \c type. The
+ * type \b must be a structure (\c struct) with its first element
+ * being a pointer. This pointer is used by the linked list library to
+ * form the linked lists.
+ *
+ * Internally, the list is defined as two items: the list itself and a
+ * pointer to the list. The pointer has the name of the parameter to
+ * the macro and the name of the list is a concatenation of the name
+ * and the suffix "_list". The pointer must point to the list for the
+ * list to work. Thus the list must be initialized before using.
+ *
+ * The list is initialized with the LIST_STRUCT_INIT() macro.
+ *
+ * \param name The name of the list.
+ */
+#define LIST_STRUCT(name) \
+ void *LIST_CONCAT(name,_list); \
+ list_t name
+
+/**
+ * Initialize a linked list that is part of a structure.
+ *
+ * This macro sets up the internal pointers in a list that has been
+ * defined as part of a struct. This macro must be called before using
+ * the list.
+ *
+ * \param struct_ptr A pointer to the struct
+ * \param name The name of the list.
+ */
+#define LIST_STRUCT_INIT(struct_ptr, name) \
+ do { \
+ (struct_ptr)->name = &((struct_ptr)->LIST_CONCAT(name,_list)); \
+ (struct_ptr)->LIST_CONCAT(name,_list) = NULL; \
+ list_init((struct_ptr)->name); \
+ } while(0)
+
+/**
+ * The linked list type.
+ *
+ */
+typedef void ** list_t;
+
+void list_init(list_t list);
+void * list_head(list_t list);
+void * list_tail(list_t list);
+void * list_pop (list_t list);
+void list_push(list_t list, void *item);
+
+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);
+
+void list_copy(list_t dest, list_t src);
+
+void list_insert(list_t list, void *previtem, void *newitem);
+
+void * list_item_next(void *item);
+
+#endif /* LIST_H_ */
+
+/** @} */
+/** @} */
+/** @} */
diff --git a/utils/inc/emb6_random.h b/utils/inc/emb6_random.h
new file mode 100644
index 0000000..e59a500
--- /dev/null
+++ b/utils/inc/emb6_random.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2005, Swedish Institute of Computer Science
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Institute nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * This file is part of the Contiki operating system.
+ *
+ * @(#)$Id: emb6_random.h,v 1.2 2010/12/13 16:52:02 dak664 Exp $
+ */
+/**
+ * \file
+ * A brief description the file
+ */
+#ifndef RANDOM_H_
+#define RANDOM_H_
+
+/*
+ * Initialize the pseudo-random generator.
+ *
+ */
+void random_init(unsigned short seed);
+
+/*
+ * Calculate a pseudo random number between 0 and 65535.
+ *
+ * \return A pseudo-random number between 0 and 65535.
+ */
+unsigned short random_rand(void);
+
+/* In gcc int rand() uses RAND_MAX and long random() uses RANDOM_MAX */
+/* Since random_rand casts to unsigned short, we'll use this maxmimum */
+#define RANDOM_RAND_MAX 65535U
+
+#endif /* RANDOM_H_ */
diff --git a/utils/inc/emb6_ringbuffer.h b/utils/inc/emb6_ringbuffer.h
new file mode 100644
index 0000000..8b29730
--- /dev/null
+++ b/utils/inc/emb6_ringbuffer.h
@@ -0,0 +1,162 @@
+/*============================================================================*/
+/*
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2014 Anders Kalør
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/*============================================================================*/
+#include <inttypes.h>
+
+/**
+ * @file
+ * Prototypes and structures for the ring buffer module.
+ */
+
+#ifndef RINGBUFFER_H
+#define RINGBUFFER_H
+
+/**
+ * The size of a ring buffer.
+ * Due to the design only <tt> RB_SIZE-1 </tt> items
+ * can be contained in the buffer.
+ * The buffer size must be a power of two.
+ */
+#define RB_BLOCKS 8
+#define RB_CLOCK_SIZE 128
+#define RB_SIZE RB_BLOCKS * RB_CLOCK_SIZE
+
+#if (RB_SIZE & (RB_SIZE - 1)) != 0
+#error "RB_SIZE must be a power of two"
+#endif
+
+/**
+ * The type which is used to hold the size and the indicies of the buffer.
+ * Must be able to fit \c RB_SIZE .
+ */
+typedef uint16_t ringb_size_t;
+
+/**
+ * The type which is used to hold atomic size of the ring buffer.
+ * Usually it's int8_t
+ */
+typedef uint8_t ringb_atom_t;
+
+/**
+ * Used as a modulo operator as <tt> a % b = (a & (b − 1)) </tt>
+ * where \c a is a positive index in the buffer and b is the (power of two)
+ * size of the buffer.
+ */
+#define RB_MASK (RB_SIZE-1)
+
+/**
+ * Structure which holds a ring buffer. The buffer contains a buffer array
+ * as well as metadata for the ring buffer.
+ */
+typedef struct s_ringb
+{
+ /** Buffer memory. */
+ ringb_atom_t a_buf[RB_SIZE];
+ /** Index of tail. */
+ ringb_size_t sz_tail;
+ /** Index of head. */
+ ringb_size_t sz_head;
+} s_ringb_t;
+
+/**
+ * Initializes the ring buffer pointed to by <em>buffer</em>.
+ * This function can also be used to empty/reset the buffer.
+ * @param ps_buf The ring buffer to initialize.
+ */
+void ringb_init( s_ringb_t *ps_rb );
+
+/**
+ * Adds a atomic to a ring buffer.
+ * @param ps_buf The buffer in which the data should be placed.
+ * @param data The atomic to place.
+ */
+void ringb_pusha( s_ringb_t *ps_rb, ringb_atom_t data );
+
+/**
+ * Adds an array of atomics to a ring buffer.
+ * @param ps_buf The buffer in which the data should be placed.
+ * @param p_data A pointer to the array of atomics to place in the queue.
+ * @param sz_len The size of the array.
+ */
+void ringb_push( s_ringb_t *ps_rb, const ringb_atom_t* p_data,
+ ringb_size_t sz_len );
+
+/**
+ * Returns the oldest atomic in a ring buffer.
+ * @param ps_buf The buffer from which the data should be returned.
+ * @param p_data A pointer to the location at which the data should be placed.
+ * @return 1 if data was returned; 0 otherwise.
+ */
+uint8_t ringb_pulla( s_ringb_t *ps_rb, ringb_atom_t* p_data );
+
+/**
+ * Returns the <em>len</em> oldest atomics from a ring buffer.
+ * @param ps_buf The buffer from which the data should be returned.
+ * @param p_data A pointer to the array at which the data should be placed.
+ * @param sz_len The maximum number of atomics to return.
+ * @return The number of atomics returned.
+ */
+ringb_size_t ringb_pull( s_ringb_t *ps_rb, ringb_atom_t* p_data,
+ ringb_size_t sz_len );
+/**
+ * Peeks a ring buffer, i.e. returns an element without removing it.
+ * @param ps_buf The buffer from which the data should be returned.
+ * @param p_data A pointer to the location at which the data should be placed.
+ * @param index The index to peek.
+ * @return 1 if data was returned; 0 otherwise.
+ */
+uint8_t ringb_peek( s_ringb_t *ps_rb, ringb_atom_t *data, ringb_size_t index );
+
+/**
+ * Returns whether a ring buffer is empty.
+ * @param ps_buf The buffer for which it should be returned whether it is empty.
+ * @return 1 if empty; 0 otherwise.
+ */
+inline uint8_t ringb_empty( s_ringb_t* ps_rb )
+{
+ return ( ps_rb->sz_head == ps_rb->sz_tail );
+}
+
+/**
+ * Returns the number of items in a ring buffer.
+ * @param ps_buf The buffer for which the number of items should be returned.
+ * @return The number of items in the ring buffer.
+ */
+inline uint8_t ringb_full( s_ringb_t* ps_rb )
+{
+ return ( ( ps_rb->sz_head - ps_rb->sz_tail ) & RB_MASK ) == RB_MASK;
+}
+
+/**
+ * Returns whether a ring buffer is full.
+ * @param ps_buf The buffer for which it should be returned whether it is full.
+ * @return 1 if full; 0 otherwise.
+ */
+inline uint8_t ringb_items( s_ringb_t* ps_rb )
+{
+ return ( ( ps_rb->sz_head - ps_rb->sz_tail ) & RB_MASK );
+}
+
+#endif /* RINGBUFFER_H */
diff --git a/utils/inc/random.h b/utils/inc/random.h
deleted file mode 100644
index 3bab934..0000000
--- a/utils/inc/random.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2005, Swedish Institute of Computer Science
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Institute nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * This file is part of the Contiki operating system.
- *
- * @(#)$Id: random.h,v 1.2 2010/12/13 16:52:02 dak664 Exp $
- */
-/**
- * \file
- * A brief description the file
- */
-#ifndef RANDOM_H_
-#define RANDOM_H_
-
-/*
- * Initialize the pseudo-random generator.
- *
- */
-void random_init(unsigned short seed);
-
-/*
- * Calculate a pseudo random number between 0 and 65535.
- *
- * \return A pseudo-random number between 0 and 65535.
- */
-unsigned short random_rand(void);
-
-/* In gcc int rand() uses RAND_MAX and long random() uses RANDOM_MAX */
-/* Since random_rand casts to unsigned short, we'll use this maxmimum */
-#define RANDOM_RAND_MAX 65535U
-
-#endif /* RANDOM_H_ */
diff --git a/utils/inc/ringbuffer.h b/utils/inc/ringbuffer.h
deleted file mode 100644
index 8b29730..0000000
--- a/utils/inc/ringbuffer.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/*============================================================================*/
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2014 Anders Kalør
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-/*============================================================================*/
-#include <inttypes.h>
-
-/**
- * @file
- * Prototypes and structures for the ring buffer module.
- */
-
-#ifndef RINGBUFFER_H
-#define RINGBUFFER_H
-
-/**
- * The size of a ring buffer.
- * Due to the design only <tt> RB_SIZE-1 </tt> items
- * can be contained in the buffer.
- * The buffer size must be a power of two.
- */
-#define RB_BLOCKS 8
-#define RB_CLOCK_SIZE 128
-#define RB_SIZE RB_BLOCKS * RB_CLOCK_SIZE
-
-#if (RB_SIZE & (RB_SIZE - 1)) != 0
-#error "RB_SIZE must be a power of two"
-#endif
-
-/**
- * The type which is used to hold the size and the indicies of the buffer.
- * Must be able to fit \c RB_SIZE .
- */
-typedef uint16_t ringb_size_t;
-
-/**
- * The type which is used to hold atomic size of the ring buffer.
- * Usually it's int8_t
- */
-typedef uint8_t ringb_atom_t;
-
-/**
- * Used as a modulo operator as <tt> a % b = (a & (b − 1)) </tt>
- * where \c a is a positive index in the buffer and b is the (power of two)
- * size of the buffer.
- */
-#define RB_MASK (RB_SIZE-1)
-
-/**
- * Structure which holds a ring buffer. The buffer contains a buffer array
- * as well as metadata for the ring buffer.
- */
-typedef struct s_ringb
-{
- /** Buffer memory. */
- ringb_atom_t a_buf[RB_SIZE];
- /** Index of tail. */
- ringb_size_t sz_tail;
- /** Index of head. */
- ringb_size_t sz_head;
-} s_ringb_t;
-
-/**
- * Initializes the ring buffer pointed to by <em>buffer</em>.
- * This function can also be used to empty/reset the buffer.
- * @param ps_buf The ring buffer to initialize.
- */
-void ringb_init( s_ringb_t *ps_rb );
-
-/**
- * Adds a atomic to a ring buffer.
- * @param ps_buf The buffer in which the data should be placed.
- * @param data The atomic to place.
- */
-void ringb_pusha( s_ringb_t *ps_rb, ringb_atom_t data );
-
-/**
- * Adds an array of atomics to a ring buffer.
- * @param ps_buf The buffer in which the data should be placed.
- * @param p_data A pointer to the array of atomics to place in the queue.
- * @param sz_len The size of the array.
- */
-void ringb_push( s_ringb_t *ps_rb, const ringb_atom_t* p_data,
- ringb_size_t sz_len );
-
-/**
- * Returns the oldest atomic in a ring buffer.
- * @param ps_buf The buffer from which the data should be returned.
- * @param p_data A pointer to the location at which the data should be placed.
- * @return 1 if data was returned; 0 otherwise.
- */
-uint8_t ringb_pulla( s_ringb_t *ps_rb, ringb_atom_t* p_data );
-
-/**
- * Returns the <em>len</em> oldest atomics from a ring buffer.
- * @param ps_buf The buffer from which the data should be returned.
- * @param p_data A pointer to the array at which the data should be placed.
- * @param sz_len The maximum number of atomics to return.
- * @return The number of atomics returned.
- */
-ringb_size_t ringb_pull( s_ringb_t *ps_rb, ringb_atom_t* p_data,
- ringb_size_t sz_len );
-/**
- * Peeks a ring buffer, i.e. returns an element without removing it.
- * @param ps_buf The buffer from which the data should be returned.
- * @param p_data A pointer to the location at which the data should be placed.
- * @param index The index to peek.
- * @return 1 if data was returned; 0 otherwise.
- */
-uint8_t ringb_peek( s_ringb_t *ps_rb, ringb_atom_t *data, ringb_size_t index );
-
-/**
- * Returns whether a ring buffer is empty.
- * @param ps_buf The buffer for which it should be returned whether it is empty.
- * @return 1 if empty; 0 otherwise.
- */
-inline uint8_t ringb_empty( s_ringb_t* ps_rb )
-{
- return ( ps_rb->sz_head == ps_rb->sz_tail );
-}
-
-/**
- * Returns the number of items in a ring buffer.
- * @param ps_buf The buffer for which the number of items should be returned.
- * @return The number of items in the ring buffer.
- */
-inline uint8_t ringb_full( s_ringb_t* ps_rb )
-{
- return ( ( ps_rb->sz_head - ps_rb->sz_tail ) & RB_MASK ) == RB_MASK;
-}
-
-/**
- * Returns whether a ring buffer is full.
- * @param ps_buf The buffer for which it should be returned whether it is full.
- * @return 1 if full; 0 otherwise.
- */
-inline uint8_t ringb_items( s_ringb_t* ps_rb )
-{
- return ( ( ps_rb->sz_head - ps_rb->sz_tail ) & RB_MASK );
-}
-
-#endif /* RINGBUFFER_H */
diff --git a/utils/inc/timer.h b/utils/inc/timer.h
index ca34bf5..ac1e354 100644
--- a/utils/inc/timer.h
+++ b/utils/inc/timer.h
@@ -84,7 +84,7 @@
* A timer.
*
* This structure is used for declaring a timer. The timer must be set
- * with timer_set() before it can be used.
+ * with timer_emb6_set() before it can be used.
*
* \hideinitializer
*/
@@ -93,7 +93,7 @@ struct timer {
clock_time_t interval;
};
-void timer_set(struct timer *t, clock_time_t interval);
+void timer_emb6_set(struct timer *t, clock_time_t interval);
void timer_reset(struct timer *t);
void timer_restart(struct timer *t);
int timer_expired(struct timer *t);
diff --git a/utils/src/ctimer.c b/utils/src/ctimer.c
index 9ef215e..723534b 100644
--- a/utils/src/ctimer.c
+++ b/utils/src/ctimer.c
@@ -66,7 +66,7 @@
#include "evproc.h"
#include "ctimer.h"
#include "timer.h"
-#include "clist.h"
+#include "emb6_clist.h"
/*==============================================================================
LOCAL MACROS
@@ -102,7 +102,7 @@ void ctimer_refresh(c_event_t event, void * data)
pst_cTim != NULL; \
pst_cTim = pst_cTim->next) {
if(&pst_cTim->etimer == data) {
- list_remove(gp_ctimList, pst_cTim);
+ emb6_list_remove(gp_ctimList, pst_cTim);
if(pst_cTim->f != NULL) {
pst_cTim->f(pst_cTim->ptr);
}
@@ -143,7 +143,7 @@ void ctimer_set(struct ctimer *c, clock_time_t t,
c->etimer.timer.interval = t;
}
- list_add(gp_ctimList, c);
+ emb6_list_add(gp_ctimList, c);
}
/*============================================================================*/
/* ctimer_reset() */
@@ -154,8 +154,8 @@ void ctimer_reset(struct ctimer *c)
etimer_reset(&c->etimer);
}
- list_remove(gp_ctimList, c);
- list_add(gp_ctimList, c);
+ emb6_list_remove(gp_ctimList, c);
+ emb6_list_add(gp_ctimList, c);
}
/*============================================================================*/
/* ctimer_restart() */
@@ -166,8 +166,8 @@ void ctimer_restart(struct ctimer *c)
etimer_restart(&c->etimer);
}
- list_remove(gp_ctimList, c);
- list_add(gp_ctimList, c);
+ emb6_list_remove(gp_ctimList, c);
+ emb6_list_add(gp_ctimList, c);
}
/*============================================================================*/
/* ctimer_stop() */
@@ -180,7 +180,7 @@ void ctimer_stop(struct ctimer *pst_stopTim)
pst_stopTim->etimer.next = NULL;
pst_stopTim->etimer.active = TMR_NOT_ACTIVE;
}
- list_remove(gp_ctimList, pst_stopTim);
+ emb6_list_remove(gp_ctimList, pst_stopTim);
}
/*============================================================================*/
/* ctimer_expired() */
diff --git a/utils/src/etimer.c b/utils/src/etimer.c
index e29c533..59ba8d8 100644
--- a/utils/src/etimer.c
+++ b/utils/src/etimer.c
@@ -62,7 +62,7 @@
==============================================================================*/
#include "etimer.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "emb6_conf.h"
#include "emb6.h"
@@ -97,8 +97,8 @@ static char gc_init = 0;
/*============================================================================*/
static void _etimer_addTimer(struct etimer *pst_timer)
{
- list_remove(gp_etimList, pst_timer);
- list_add(gp_etimList, pst_timer);
+ emb6_list_remove(gp_etimList, pst_timer);
+ emb6_list_add(gp_etimList, pst_timer);
pst_timer->active = TMR_ACTIVE;
}
@@ -151,7 +151,7 @@ void etimer_request_poll(void)
// Generate timer expired event
evproc_putEvent(E_EVPROC_TAIL,EVENT_TYPE_TIMER_EXP,pst_tTim);
// Remove matched timer from the list
- list_remove(gp_etimList, pst_tTim);
+ emb6_list_remove(gp_etimList, pst_tTim);
// Change active flag
pst_tTim->active = TMR_NOT_ACTIVE;
} /* if */
@@ -164,7 +164,7 @@ void etimer_request_poll(void)
/*============================================================================*/
void etimer_set(struct etimer *pst_et, clock_time_t l_interval, pfn_callback_t pfn_callback)
{
- timer_set(&pst_et->timer, l_interval);
+ timer_emb6_set(&pst_et->timer, l_interval);
_etimer_addTimer(pst_et);
evproc_regCallback(EVENT_TYPE_TIMER_EXP, pfn_callback);
LOG_INFO("add new timer %p\n\r",pst_et);
@@ -244,7 +244,7 @@ clock_time_t etimer_next_expiration_time(void)
/*============================================================================*/
void etimer_stop(struct etimer *pst_et)
{
- list_remove(gp_etimList, pst_et);
+ emb6_list_remove(gp_etimList, pst_et);
pst_et->active = TMR_NOT_ACTIVE;
} /* etimer_stop() */
diff --git a/utils/src/evproc.c b/utils/src/evproc.c
index 585b027..9544f0f 100644
--- a/utils/src/evproc.c
+++ b/utils/src/evproc.c
@@ -62,7 +62,7 @@
#include "bsp.h"
#include "evproc.h"
-#include "clist.h"
+#include "emb6_clist.h"
#include "logger.h"
/*==============================================================================
diff --git a/utils/src/list.c b/utils/src/list.c
index 38d006f..270da21 100644
--- a/utils/src/list.c
+++ b/utils/src/list.c
@@ -46,7 +46,7 @@
*
*/
-#include "clist.h"
+#include "emb6_clist.h"
#define NULL 0
@@ -141,12 +141,12 @@ list_tail(list_t list)
*
*/
void
-list_add(list_t list, void *item)
+emb6_list_add(list_t list, void *item)
{
struct list *l;
/* Make sure not to add the same element twice */
- list_remove(list, item);
+ emb6_list_remove(list, item);
((struct list *)item)->next = NULL;
@@ -168,7 +168,7 @@ list_push(list_t list, void *item)
/* struct list *l;*/
/* Make sure not to add the same element twice */
- list_remove(list, item);
+ emb6_list_remove(list, item);
((struct list *)item)->next = *list;
*list = item;
@@ -238,7 +238,7 @@ list_pop(list_t list)
*/
/*---------------------------------------------------------------------------*/
void
-list_remove(list_t list, void *item)
+emb6_list_remove(list_t list, void *item)
{
struct list *l, *r;
diff --git a/utils/src/mmem.c b/utils/src/mmem.c
index 795af1d..d88471a 100644
--- a/utils/src/mmem.c
+++ b/utils/src/mmem.c
@@ -45,7 +45,7 @@
#include "mmem.h"
-#include "clist.h"
+#include "emb6_clist.h"
//#include "lib_conf.h"
#include <string.h>
@@ -89,7 +89,7 @@ mmem_alloc(struct mmem *m, unsigned int size)
/* We had enough memory so we add this memory block to the end of
the list of allocated memory blocks. */
- list_add(mmemlist, m);
+ emb6_list_add(mmemlist, m);
/* Set up the pointer so that it points to the first available byte
in the memory block. */
@@ -136,7 +136,7 @@ mmem_free(struct mmem *m)
avail_memory += m->size;
/* Remove the memory block from the list. */
- list_remove(mmemlist, m);
+ emb6_list_remove(mmemlist, m);
}
/*---------------------------------------------------------------------------*/
/**
diff --git a/utils/src/queuebuf.c b/utils/src/queuebuf.c
index 7a9f13f..809e9c1 100644
--- a/utils/src/queuebuf.c
+++ b/utils/src/queuebuf.c
@@ -128,7 +128,7 @@ static struct ctimer renew_timer;
#endif
#if QUEUEBUF_DEBUG
-#include "clist.h"
+#include "emb6_clist.h"
LIST(queuebuf_list);
#endif /* QUEUEBUF_DEBUG */
@@ -349,7 +349,7 @@ queuebuf_new_from_packetbuf(void)
buf = memb_alloc(&bufmem);
if(buf != NULL) {
#if QUEUEBUF_DEBUG
- list_add(queuebuf_list, buf);
+ emb6_list_add(queuebuf_list, buf);
buf->file = file;
buf->line = line;
buf->time = clock_time();
@@ -450,7 +450,7 @@ queuebuf_free(struct queuebuf *buf)
printf("#A q=%d\n", queuebuf_len);
#endif /* QUEUEBUF_STATS */
#if QUEUEBUF_DEBUG
- list_remove(queuebuf_list, buf);
+ emb6_list_remove(queuebuf_list, buf);
#endif /* QUEUEBUF_DEBUG */
} else if(memb_inmemb(&refbufmem, buf)) {
memb_free(&refbufmem, buf);
diff --git a/utils/src/random.c b/utils/src/random.c
index 72f5d12..00aed18 100644
--- a/utils/src/random.c
+++ b/utils/src/random.c
@@ -36,7 +36,7 @@
*/
-#include "random.h"
+#include "emb6_random.h"
#include <stdlib.h>
diff --git a/utils/src/ringbuffer.c b/utils/src/ringbuffer.c
index 5736f8f..52216c5 100644
--- a/utils/src/ringbuffer.c
+++ b/utils/src/ringbuffer.c
@@ -24,7 +24,7 @@
*/
/*============================================================================*/
-#include "ringbuffer.h"
+#include "emb6_ringbuffer.h"
/**
* @file
* Implementation of ring ac_buf functions.
diff --git a/utils/src/timer.c b/utils/src/timer.c
index 95c8426..a774c09 100644
--- a/utils/src/timer.c
+++ b/utils/src/timer.c
@@ -61,7 +61,7 @@
* \param interval The interval before the timer expires.
*
*/
-void timer_set(struct timer *t, clock_time_t interval)
+void timer_emb6_set(struct timer *t, clock_time_t interval)
{
t->interval = interval;
t->start = bsp_getTick();
@@ -71,7 +71,7 @@ void timer_set(struct timer *t, clock_time_t interval)
* Reset the timer with the same interval.
*
* This function resets the timer with the same interval that was
- * given to the timer_set() function. The start point of the interval
+ * given to the timer_emb6_set() function. The start point of the interval
* is the exact time that the timer last expired. Therefore, this
* function will cause the timer to be stable over time, unlike the
* timer_restart() function.
@@ -89,7 +89,7 @@ void timer_reset(struct timer *t)
* Restart the timer from the current point in time
*
* This function restarts a timer with the same interval that was
- * given to the timer_set() function. The timer will start at the
+ * given to the timer_emb6_set() function. The timer will start at the
* current time.
*
* \note A periodic timer will drift if this function is used to reset
--
2.7.4