diff --git a/core/net/rime.h b/core/net/rime.h new file mode 100644 index 000000000..c6683e3a3 --- /dev/null +++ b/core/net/rime.h @@ -0,0 +1,100 @@ +/** + * \defgroup rime Rime - a Lightweight Layered Communication Stack for + * Contiki + * + * Rime is a communication stack for Contiki that consists of a number + * of modules that individually are very simple, but together form a + * feature-rich communication stack. + * + * Rime modules: + * + * abc: Anonymous link-local BroadCast + * ibc: Identified link-local BroadCast + * uc: link-local UniCast + * suc: Stubborn link-local UniCast + * ruc: Reliable link-local UniCast + * sibc: Stubborn Identified link-local BroadCast + * + * sabc: Stubborn Anonymous link-local BroadCast + * nf: Network Flooding + * @{ + */ + +/* + * Copyright (c) 2006, 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: rime.h,v 1.1 2007/03/15 21:24:11 adamdunkels Exp $ + */ + +/** + * \file + * A brief description of what this file is. + * \author + * Adam Dunkels + */ + +#ifndef __RIME_H__ +#define __RIME_H__ + +#include "net/rime/ruc.h" +#include "net/rime/sibc.h" +#include "net/rime/nf.h" +#include "net/rime/mesh.h" +#include "net/rime/tree.h" +#include "net/rime/ctimer.h" + +#include "net/rime/rimebuf.h" + +#include "net/rime/rime-types.h" + +#include "net/rime/channel-assignments.h" + +#include "net/rime/rime-debug.h" + +void rime_init(void); +void rime_input(void); + +/** + * \brief Rime calls this function to send out a packet + * + * This function must be implemented by the driver running + * below Rime. It is called by abRime to send out a + * packet. The packet is consecutive in the rimebuf. A + * pointer to the first byte of the packet is obtained + * with the rimebuf_hdrptr() function. The length of the + * packet to send is obtained with the rimebuf_totlen() + * function. + * + * The driver, which typically is a MAC protocol, may + * queue the packet by using the queuebuf functions. + */ +void rime_driver_send(void); + +#endif /* __RIME_H__ */ diff --git a/core/net/rime/abc.c b/core/net/rime/abc.c index aac765d63..71f27b51b 100644 --- a/core/net/rime/abc.c +++ b/core/net/rime/abc.c @@ -30,7 +30,7 @@ * * Author: Adam Dunkels * - * $Id: abc.c,v 1.3 2007/03/15 10:01:04 adamdunkels Exp $ + * $Id: abc.c,v 1.4 2007/03/15 21:24:11 adamdunkels Exp $ */ /** @@ -75,7 +75,7 @@ abc_send(struct abc_conn *c) hdr->channel = c->channel; rimebuf_compact(); - abc_driver_send(); + rime_driver_send(); return 1; } return 0; diff --git a/core/net/rime/abc.h b/core/net/rime/abc.h index 02ccf0331..c3216d43a 100644 --- a/core/net/rime/abc.h +++ b/core/net/rime/abc.h @@ -28,7 +28,7 @@ * * This file is part of the Contiki operating system. * - * $Id: abc.h,v 1.4 2007/03/15 10:01:04 adamdunkels Exp $ + * $Id: abc.h,v 1.5 2007/03/15 21:24:29 adamdunkels Exp $ */ /** @@ -105,22 +105,5 @@ int abc_send(struct abc_conn *c); */ void abc_input_packet(void); -/** - * \brief This function, which must be implemented by the driver, is called to send out a packet - * - * This function is implemented by the driver running - * below abc and is called by abc to send out a - * packet. The packet is contained in the rimebuf. The - * packet is consecutive in the rimebuf and a pointer to - * the first byte is gotten from the rimebuf_hdrptr() - * function. The length of the packet to send is gotten - * with the rimebuf_totlen() function. - * - * The driver, which typically is a MAC protocol, may - * queue the packet by using the queuebuf functions. - * - */ -void abc_driver_send(void); - #endif /* __BC_H__ */ /** @} */ diff --git a/core/net/rime/rime.c b/core/net/rime/rime.c index 548ab0822..6ff8bd3e6 100644 --- a/core/net/rime/rime.c +++ b/core/net/rime/rime.c @@ -28,7 +28,7 @@ * * This file is part of the Contiki operating system. * - * $Id: rime.c,v 1.2 2007/03/15 19:43:07 adamdunkels Exp $ + * $Id: rime.c,v 1.3 2007/03/15 21:24:11 adamdunkels Exp $ */ /** @@ -52,7 +52,7 @@ rime_init(void) } /*---------------------------------------------------------------------------*/ void -rime_input_packet(void) +rime_input(void) { abc_input_packet(); }