diff --git a/apps/program-handler/program-handler.c b/apps/program-handler/program-handler.c index 2af8ca5a4..4173d7c04 100644 --- a/apps/program-handler/program-handler.c +++ b/apps/program-handler/program-handler.c @@ -1,17 +1,3 @@ -/** - * \file - * The program handler, used for loading programs and starting the - * screensaver. - * \author Adam Dunkels - * - * The Contiki program handler is responsible for the Contiki menu and - * the desktop icons, as well as for loading programs and displaying a - * dialog with a message telling which program that is loading. - * - * The program handler also is responsible for starting the - * screensaver when the CTK detects that it should be started. - */ - /* * Copyright (c) 2003, Adam Dunkels. * All rights reserved. @@ -46,6 +32,20 @@ * */ +/** + * \file + * The program handler, used for loading programs and starting the + * screensaver. + * \author Adam Dunkels + * + * The Contiki program handler is responsible for the Contiki menu and + * the desktop icons, as well as for loading programs and displaying a + * dialog with a message telling which program that is loading. + * + * The program handler also is responsible for starting the + * screensaver when the CTK detects that it should be started. + */ + #include #include diff --git a/apps/serial-shell/serial-shell.c b/apps/serial-shell/serial-shell.c index bba7f54f4..96383bdb7 100644 --- a/apps/serial-shell/serial-shell.c +++ b/apps/serial-shell/serial-shell.c @@ -1,8 +1,3 @@ -/** - * \addtogroup shell - * @{ - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -41,6 +36,11 @@ * Adam Dunkels */ +/** + * \addtogroup shell + * @{ + */ + #include "contiki.h" #include "shell.h" diff --git a/apps/servreg-hack/servreg-hack.c b/apps/servreg-hack/servreg-hack.c index 3242433c6..190d01d04 100644 --- a/apps/servreg-hack/servreg-hack.c +++ b/apps/servreg-hack/servreg-hack.c @@ -1,6 +1,3 @@ -/** \addtogroup servreghack - * @{ */ - /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -40,6 +37,9 @@ * Adam Dunkels */ +/** \addtogroup servreghack + * @{ */ + #include "contiki.h" #include "contiki-lib.h" #include "contiki-net.h" diff --git a/apps/servreg-hack/servreg-hack.h b/apps/servreg-hack/servreg-hack.h index 11fc70eec..b24590f90 100644 --- a/apps/servreg-hack/servreg-hack.h +++ b/apps/servreg-hack/servreg-hack.h @@ -1,26 +1,3 @@ -/** \addtogroup apps - * @{ */ - -/** - * \defgroup servreghack A service registration and diseemination hack - * @{ - * - * This application is a quick'n'dirty hack for registering, - * disseminating, and looking up services. A service is identified by - * an 8-bit integer between 1 and 255. Integers below 128 are reserved - * for system services. - * - * A service is registered with the function - * servreg_hack_register(). Registered services will be transmitted to - * all neighbors that run the servreg-hack application. These will in - * turn resend the registration to their neighbors. - * - * Services from neighbors are stored in a local table. Services - * stored in the table can be looked up using a combination of the - * servreg_hack_list() and servreg_hack_item_match() functions. - * - */ - /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -60,6 +37,29 @@ * Adam Dunkels */ +/** \addtogroup apps + * @{ */ + +/** + * \defgroup servreghack A service registration and diseemination hack + * @{ + * + * This application is a quick'n'dirty hack for registering, + * disseminating, and looking up services. A service is identified by + * an 8-bit integer between 1 and 255. Integers below 128 are reserved + * for system services. + * + * A service is registered with the function + * servreg_hack_register(). Registered services will be transmitted to + * all neighbors that run the servreg-hack application. These will in + * turn resend the registration to their neighbors. + * + * Services from neighbors are stored in a local table. Services + * stored in the table can be looked up using a combination of the + * servreg_hack_list() and servreg_hack_item_match() functions. + * + */ + #ifndef SERVREG_HACK_H #define SERVREG_HACK_H diff --git a/apps/shell/shell.c b/apps/shell/shell.c index 4f4d74efa..62bf7a4d7 100644 --- a/apps/shell/shell.c +++ b/apps/shell/shell.c @@ -1,8 +1,3 @@ -/** - * \addtogroup shell - * @{ - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup shell + * @{ + */ + #include "contiki.h" #include "contiki-lib.h" diff --git a/apps/shell/shell.h b/apps/shell/shell.h index 750cee02f..ea383deb8 100644 --- a/apps/shell/shell.h +++ b/apps/shell/shell.h @@ -1,23 +1,3 @@ -/** \addtogroup apps - * @{ */ - -/** - * \defgroup shell The Contiki shell - * @{ - * - * The Contiki shell provides both interactive and batch processing - * for Contiki. - * - * The shell consists of two parts: the shell application and a shell - * back-end. The shell application contains all the logic of the - * shell, whereas the shell back-end provides I/O for the - * shell. Examples of shell back-ends are a serial I/O shell back-end, - * that allows the shell to operate over a serial connection, and a - * telnet server back-end, that allows the shell to operate over a - * TCP/IP telnet connection. - * - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -57,6 +37,26 @@ * Adam Dunkels */ +/** \addtogroup apps + * @{ */ + +/** + * \defgroup shell The Contiki shell + * @{ + * + * The Contiki shell provides both interactive and batch processing + * for Contiki. + * + * The shell consists of two parts: the shell application and a shell + * back-end. The shell application contains all the logic of the + * shell, whereas the shell back-end provides I/O for the + * shell. Examples of shell back-ends are a serial I/O shell back-end, + * that allows the shell to operate over a serial connection, and a + * telnet server back-end, that allows the shell to operate over a + * TCP/IP telnet connection. + * + */ + #ifndef SHELL_H_ #define SHELL_H_ diff --git a/core/cfs/cfs-coffee.h b/core/cfs/cfs-coffee.h index 4e2fb52d9..a227792a1 100644 --- a/core/cfs/cfs-coffee.h +++ b/core/cfs/cfs-coffee.h @@ -1,8 +1,3 @@ -/** - * \addtogroup cfs - * @{ - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science * All rights reserved. @@ -35,6 +30,11 @@ * */ +/** + * \addtogroup cfs + * @{ + */ + #ifndef CFS_COFFEE_H #define CFS_COFFEE_H diff --git a/core/cfs/cfs.h b/core/cfs/cfs.h index 5b22e0931..a0426b9ff 100644 --- a/core/cfs/cfs.h +++ b/core/cfs/cfs.h @@ -1,27 +1,3 @@ -/** - * \addtogroup sys - * @{ - */ - -/** - * \defgroup cfs The Contiki file system interface - * - * The Contiki file system interface (CFS) defines an abstract API for - * reading directories and for reading and writing files. The CFS API - * is intentionally simple. The CFS API is modeled after the POSIX - * file API, and slightly simplified. - * - * @{ - */ - -/** - * \file - * CFS header file. - * \author - * Adam Dunkels - * - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -55,6 +31,31 @@ * Author: Adam Dunkels * */ + +/** + * \file + * CFS header file. + * \author + * Adam Dunkels + * + */ + +/** + * \addtogroup sys + * @{ + */ + +/** + * \defgroup cfs The Contiki file system interface + * + * The Contiki file system interface (CFS) defines an abstract API for + * reading directories and for reading and writing files. The CFS API + * is intentionally simple. The CFS API is modeled after the POSIX + * file API, and slightly simplified. + * + * @{ + */ + #ifndef CFS_H_ #define CFS_H_ diff --git a/core/ctk/ctk-draw.h b/core/ctk/ctk-draw.h index ed3c0d493..388596cea 100644 --- a/core/ctk/ctk-draw.h +++ b/core/ctk/ctk-draw.h @@ -1,19 +1,3 @@ -/** - * \addtogroup ctk - * @{ - */ - -/** - * \file - * CTK screen drawing module interface, ctk-draw. - * \author Adam Dunkels - * - * This file contains the interface for the ctk-draw module.The - * ctk-draw module takes care of the actual screen drawing for CTK by - * implementing a handful of functions that are called by CTK. - * - */ - /* * Copyright (c) 2002-2003, Adam Dunkels. * All rights reserved. @@ -48,6 +32,22 @@ * */ +/** + * \addtogroup ctk + * @{ + */ + +/** + * \file + * CTK screen drawing module interface, ctk-draw. + * \author Adam Dunkels + * + * This file contains the interface for the ctk-draw module.The + * ctk-draw module takes care of the actual screen drawing for CTK by + * implementing a handful of functions that are called by CTK. + * + */ + #ifndef CTK_DRAW_H_ #define CTK_DRAW_H_ diff --git a/core/ctk/ctk.c b/core/ctk/ctk.c index 9bba40fe9..5da963b19 100644 --- a/core/ctk/ctk.c +++ b/core/ctk/ctk.c @@ -1,18 +1,3 @@ -/** - * \defgroup ctk CTK graphical user interface - * - * The Contiki Toolkit (CTK) provides the graphical user interface for - * the Contiki system. - * - * @{ - */ - -/** - * \file - * The Contiki Toolkit CTK, the Contiki GUI. - * \author Adam Dunkels - */ - /* * Copyright (c) 2002-2003, Adam Dunkels. * All rights reserved. @@ -47,6 +32,21 @@ * */ +/** + * \file + * The Contiki Toolkit CTK, the Contiki GUI. + * \author Adam Dunkels + */ + +/** + * \defgroup ctk CTK graphical user interface + * + * The Contiki Toolkit (CTK) provides the graphical user interface for + * the Contiki system. + * + * @{ + */ + #include #include "contiki.h" diff --git a/core/ctk/ctk.h b/core/ctk/ctk.h index 5d58a7e56..0cbef830d 100644 --- a/core/ctk/ctk.h +++ b/core/ctk/ctk.h @@ -1,17 +1,3 @@ -/** - * \addtogroup ctk - * @{ - */ - -/** - * \file - * CTK header file. - * \author Adam Dunkels - * - * The CTK header file contains functioin declarations and definitions - * of CTK structures and macros. - */ - /* * Copyright (c) 2002-2003, Adam Dunkels. * All rights reserved. @@ -46,6 +32,20 @@ * */ +/** + * \file + * CTK header file. + * \author Adam Dunkels + * + * The CTK header file contains functioin declarations and definitions + * of CTK structures and macros. + */ + +/** + * \addtogroup ctk + * @{ + */ + #ifndef CTK_H_ #define CTK_H_ diff --git a/core/dev/eeprom.h b/core/dev/eeprom.h index 8ff90ff1c..0a57117be 100644 --- a/core/dev/eeprom.h +++ b/core/dev/eeprom.h @@ -1,25 +1,3 @@ -/** - * \addtogroup dev - * @{ - */ - -/** - * \defgroup eeprom EEPROM API - * - * The EEPROM API defines a common interface for EEPROM access on - * Contiki platforms. - * - * A platform with EEPROM support must implement this API. - * - * @{ - */ - -/** - * \file - * EEPROM functions. - * \author Adam Dunkels - */ - /* Copyright (c) 2004 Swedish Institute of Computer Science. * All rights reserved. * @@ -50,6 +28,27 @@ * */ +/** + * \file + * EEPROM functions. + * \author Adam Dunkels + */ + +/** + * \addtogroup dev + * @{ + */ + +/** + * \defgroup eeprom EEPROM API + * + * The EEPROM API defines a common interface for EEPROM access on + * Contiki platforms. + * + * A platform with EEPROM support must implement this API. + * + * @{ + */ #ifndef EEPROM_H_ #define EEPROM_H_ diff --git a/core/dev/radio.h b/core/dev/radio.h index 99ab240b1..5cd8fb264 100644 --- a/core/dev/radio.h +++ b/core/dev/radio.h @@ -1,17 +1,3 @@ -/** - * \addtogroup dev - * @{ - */ - -/** - * \defgroup radio Radio API - * - * The radio API module defines a set of functions that a radio device - * driver must implement. - * - * @{ - */ - /* * Copyright (c) 2005, Swedish Institute of Computer Science. * All rights reserved. @@ -54,6 +40,20 @@ * Nicolas Tsiftes */ +/** + * \addtogroup dev + * @{ + */ + +/** + * \defgroup radio Radio API + * + * The radio API module defines a set of functions that a radio device + * driver must implement. + * + * @{ + */ + #ifndef RADIO_H_ #define RADIO_H_ diff --git a/core/lib/crc16.h b/core/lib/crc16.h index ad1f785c8..03aa94ea7 100644 --- a/core/lib/crc16.h +++ b/core/lib/crc16.h @@ -1,25 +1,3 @@ -/** \addtogroup lib - * @{ */ - -/** - * \defgroup crc16 Cyclic Redundancy Check 16 (CRC16) calculation - * - * The Cyclic Redundancy Check 16 is a hash function that produces a - * checksum that is used to detect errors in transmissions. The CRC16 - * calculation module is an iterative CRC calculator that can be used - * to cumulatively update a CRC checksum for every incoming byte. - * - * @{ - */ - -/** - * \file - * Header file for the CRC16 calculcation - * \author - * Adam Dunkels - * - */ - /* * Copyright (c) 2005, Swedish Institute of Computer Science * All rights reserved. @@ -51,6 +29,29 @@ * This file is part of the Contiki operating system. * */ + +/** + * \file + * Header file for the CRC16 calculcation + * \author + * Adam Dunkels + * + */ + +/** \addtogroup lib + * @{ */ + +/** + * \defgroup crc16 Cyclic Redundancy Check 16 (CRC16) calculation + * + * The Cyclic Redundancy Check 16 is a hash function that produces a + * checksum that is used to detect errors in transmissions. The CRC16 + * calculation module is an iterative CRC calculator that can be used + * to cumulatively update a CRC checksum for every incoming byte. + * + * @{ + */ + #ifndef CRC16_H_ #define CRC16_H_ diff --git a/core/lib/list.c b/core/lib/list.c index b8d4942d0..401da617e 100644 --- a/core/lib/list.c +++ b/core/lib/list.c @@ -1,16 +1,3 @@ -/** - * \addtogroup list - * @{ - */ - -/** - * \file - * Linked list library implementation. - * - * \author Adam Dunkels - * - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -44,6 +31,20 @@ * Author: Adam Dunkels * */ + +/** + * \file + * Linked list library implementation. + * + * \author Adam Dunkels + * + */ + +/** + * \addtogroup list + * @{ + */ + #include "lib/list.h" #define NULL 0 diff --git a/core/lib/list.h b/core/lib/list.h index 48e51401e..0624682a2 100644 --- a/core/lib/list.h +++ b/core/lib/list.h @@ -1,37 +1,3 @@ -/** \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 - * - * - */ - - - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -65,6 +31,38 @@ * Author: Adam Dunkels * */ + +/** + * \file + * Linked list manipulation routines. + * \author Adam Dunkels + * + */ + +/** \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. + * + * @{ + */ + #ifndef LIST_H_ #define LIST_H_ diff --git a/core/lib/petsciiconv.h b/core/lib/petsciiconv.h index 87e9c916d..ba6b5ef5c 100644 --- a/core/lib/petsciiconv.h +++ b/core/lib/petsciiconv.h @@ -1,18 +1,3 @@ -/** - * \file - * PETSCII/ASCII conversion functions. - * \author Adam Dunkels - * - * The Commodore based Contiki targets all have a special character - * encoding called PETSCII which differs from the ASCII encoding that - * normally is used for representing characters. - * - * \note For targets that do not use PETSCII encoding the C compiler - * define WITH_ASCII should be used to avoid the PETSCII converting - * functions. - * - */ - /* * Copyright (c) 2002, Adam Dunkels. * All rights reserved. @@ -46,6 +31,22 @@ * * */ + +/** + * \file + * PETSCII/ASCII conversion functions. + * \author Adam Dunkels + * + * The Commodore based Contiki targets all have a special character + * encoding called PETSCII which differs from the ASCII encoding that + * normally is used for representing characters. + * + * \note For targets that do not use PETSCII encoding the C compiler + * define WITH_ASCII should be used to avoid the PETSCII converting + * functions. + * + */ + #ifndef PETSCIICONV_H_ #define PETSCIICONV_H_ diff --git a/core/lib/ringbuf.h b/core/lib/ringbuf.h index d1445519a..f49acc2eb 100644 --- a/core/lib/ringbuf.h +++ b/core/lib/ringbuf.h @@ -1,16 +1,3 @@ -/** \addtogroup lib - * @{ */ - -/** - * \defgroup ringbuf Ring buffer library - * @{ - * - * The ring buffer library implements ring (circular) buffer where - * bytes can be read and written independently. A ring buffer is - * particularly useful in device drivers where data can come in - * through interrupts. - * - */ /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -50,6 +37,20 @@ * Adam Dunkels */ +/** \addtogroup lib + * @{ */ + +/** + * \defgroup ringbuf Ring buffer library + * @{ + * + * The ring buffer library implements ring (circular) buffer where + * bytes can be read and written independently. A ring buffer is + * particularly useful in device drivers where data can come in + * through interrupts. + * + */ + #ifndef RINGBUF_H_ #define RINGBUF_H_ diff --git a/core/lib/trickle-timer.c b/core/lib/trickle-timer.c index 97a620767..2b88f60ef 100644 --- a/core/lib/trickle-timer.c +++ b/core/lib/trickle-timer.c @@ -1,15 +1,3 @@ -/** - * \addtogroup trickle-timer - * @{ - */ - -/** - * \file - * Trickle timer library implementation. - * \author - * George Oikonomou - - */ - /* * Copyright (c) 2012, George Oikonomou - * All rights reserved. @@ -40,6 +28,19 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */ + +/** + * \file + * Trickle timer library implementation. + * \author + * George Oikonomou - + */ + +/** + * \addtogroup trickle-timer + * @{ + */ + #include "contiki-conf.h" #include "lib/trickle-timer.h" #include "sys/ctimer.h" diff --git a/core/lib/trickle-timer.h b/core/lib/trickle-timer.h index b1cf765bc..bf56cea53 100644 --- a/core/lib/trickle-timer.h +++ b/core/lib/trickle-timer.h @@ -1,3 +1,42 @@ +/* + * Copyright (c) 2012, George Oikonomou - + * 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 copyright holder 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 COPYRIGHT HOLDERS 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 + * COPYRIGHT HOLDER 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. + */ + +/** + * \file + * Trickle timer library header file. + * + * \author + * George Oikonomou - + */ + /** \addtogroup lib * @{ */ @@ -29,45 +68,6 @@ * @{ */ - -/** - * \file - * Trickle timer library header file. - * - * \author - * George Oikonomou - - */ - -/* - * Copyright (c) 2012, George Oikonomou - - * 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 copyright holder 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 COPYRIGHT HOLDERS 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 - * COPYRIGHT HOLDER 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. - */ #ifndef TRICKLE_TIMER_H_ #define TRICKLE_TIMER_H_ diff --git a/core/loader/elfloader.h b/core/loader/elfloader.h index 6c144c271..9588ac33f 100644 --- a/core/loader/elfloader.h +++ b/core/loader/elfloader.h @@ -1,3 +1,43 @@ +/* + * 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. + * + */ + +/** + * \file + * Header file for the Contiki ELF loader. + * \author + * Adam Dunkels + * + */ + /** * \addtogroup loader * @{ @@ -32,45 +72,6 @@ * @{ */ -/** - * \file - * Header file for the Contiki ELF loader. - * \author - * Adam Dunkels - * - */ - -/* - * 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. - * - */ #ifndef ELFLOADER_H_ #define ELFLOADER_H_ diff --git a/core/net/ip/resolv.c b/core/net/ip/resolv.c index 6dd3da88a..e860cee56 100644 --- a/core/net/ip/resolv.c +++ b/core/net/ip/resolv.c @@ -1,34 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - -/** - * \defgroup uipdns uIP hostname resolver functions - * @{ - * - * The uIP DNS resolver functions are used to lookup a hostname and - * map it to a numerical IP address. It maintains a list of resolved - * hostnames that can be queried with the resolv_lookup() - * function. New hostnames can be resolved using the resolv_query() - * function. - * - * The event resolv_event_found is posted when a hostname has been - * resolved. It is up to the receiving process to determine if the - * correct hostname has been found by calling the resolv_lookup() - * function with the hostname. - */ - -/** - * \file - * DNS host name to IP address resolver. - * \author Adam Dunkels - * \author Robert Quattlebaum - * - * This file implements a DNS host name to IP address resolver, - * as well as an MDNS responder and resolver. - */ - /* * Copyright (c) 2002-2003, Adam Dunkels. * All rights reserved. @@ -62,6 +31,37 @@ * */ +/** + * \file + * DNS host name to IP address resolver. + * \author Adam Dunkels + * \author Robert Quattlebaum + * + * This file implements a DNS host name to IP address resolver, + * as well as an MDNS responder and resolver. + */ + +/** + * \addtogroup uip + * @{ + */ + +/** + * \defgroup uipdns uIP hostname resolver functions + * @{ + * + * The uIP DNS resolver functions are used to lookup a hostname and + * map it to a numerical IP address. It maintains a list of resolved + * hostnames that can be queried with the resolv_lookup() + * function. New hostnames can be resolved using the resolv_query() + * function. + * + * The event resolv_event_found is posted when a hostname has been + * resolved. It is up to the receiving process to determine if the + * correct hostname has been found by calling the resolv_lookup() + * function with the hostname. + */ + #include "net/ip/tcpip.h" #include "net/ip/resolv.h" #include "net/ip/uip-udp-packet.h" diff --git a/core/net/ip/resolv.h b/core/net/ip/resolv.h index 6ef6d6ef0..cf1fef7e0 100644 --- a/core/net/ip/resolv.h +++ b/core/net/ip/resolv.h @@ -1,9 +1,3 @@ -/** - * \file - * uIP DNS resolver code header file. - * \author Adam Dunkels - */ - /* * Copyright (c) 2002-2003, Adam Dunkels. * All rights reserved. @@ -36,6 +30,13 @@ * * */ + +/** + * \file + * uIP DNS resolver code header file. + * \author Adam Dunkels + */ + #ifndef RESOLV_H_ #define RESOLV_H_ diff --git a/core/net/ip/simple-udp.c b/core/net/ip/simple-udp.c index d375b96f1..8ecd0aaa1 100644 --- a/core/net/ip/simple-udp.c +++ b/core/net/ip/simple-udp.c @@ -1,9 +1,3 @@ -/** - * \addtogroup simple-udp - * @{ - */ - - /* * Copyright (c) 2011, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +37,11 @@ * */ +/** + * \addtogroup simple-udp + * @{ + */ + #include "contiki-net.h" #include "net/ip/simple-udp.h" diff --git a/core/net/ip/simple-udp.h b/core/net/ip/simple-udp.h index 89ef91ef5..a0d578a46 100644 --- a/core/net/ip/simple-udp.h +++ b/core/net/ip/simple-udp.h @@ -1,18 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - - -/** - * \defgroup simple-udp - * - * The default Contiki UDP API is difficult to use. The simple-udp - * module provides a significantly simpler API. - * - * @{ - */ - /* * Copyright (c) 2011, Swedish Institute of Computer Science. * All rights reserved. @@ -52,6 +37,21 @@ * */ +/** + * \addtogroup uip + * @{ + */ + + +/** + * \defgroup simple-udp + * + * The default Contiki UDP API is difficult to use. The simple-udp + * module provides a significantly simpler API. + * + * @{ + */ + #ifndef SIMPLE_UDP_H #define SIMPLE_UDP_H diff --git a/core/net/ip/slipdev.c b/core/net/ip/slipdev.c index a75f524bf..caab454ac 100644 --- a/core/net/ip/slipdev.c +++ b/core/net/ip/slipdev.c @@ -1,28 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - -/** - * \defgroup slip Serial Line IP (SLIP) protocol - * @{ - * - * The SLIP protocol is a very simple way to transmit IP packets over - * a serial line. It does not provide any framing or error control, - * and is therefore not very widely used today. - * - * This SLIP implementation requires two functions for accessing the - * serial device: slipdev_char_poll() and slipdev_char_put(). These - * must be implemented specifically for the system on which the SLIP - * protocol is to be run. - */ - -/** - * \file - * SLIP protocol implementation - * \author Adam Dunkels - */ - /* * Copyright (c) 2001, Adam Dunkels. * All rights reserved. @@ -56,6 +31,31 @@ * */ +/** + * \file + * SLIP protocol implementation + * \author Adam Dunkels + */ + +/** + * \addtogroup uip + * @{ + */ + +/** + * \defgroup slip Serial Line IP (SLIP) protocol + * @{ + * + * The SLIP protocol is a very simple way to transmit IP packets over + * a serial line. It does not provide any framing or error control, + * and is therefore not very widely used today. + * + * This SLIP implementation requires two functions for accessing the + * serial device: slipdev_char_poll() and slipdev_char_put(). These + * must be implemented specifically for the system on which the SLIP + * protocol is to be run. + */ + /* * This is a generic implementation of the SLIP protocol over an RS232 * (serial) device. diff --git a/core/net/ip/slipdev.h b/core/net/ip/slipdev.h index 105461a59..5486facc6 100644 --- a/core/net/ip/slipdev.h +++ b/core/net/ip/slipdev.h @@ -1,14 +1,3 @@ -/** - * \addtogroup slip - * @{ - */ - -/** - * \file - * SLIP header file. - * \author Adam Dunkels - */ - /* * Copyright (c) 2001, Adam Dunkels. * All rights reserved. @@ -42,6 +31,17 @@ * */ +/** + * \file + * SLIP header file. + * \author Adam Dunkels + */ + +/** + * \addtogroup slip + * @{ + */ + #ifndef SLIPDEV_H_ #define SLIPDEV_H_ diff --git a/core/net/ip/tcpip.h b/core/net/ip/tcpip.h index dcc1ad19a..fc053bcf1 100644 --- a/core/net/ip/tcpip.h +++ b/core/net/ip/tcpip.h @@ -1,35 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - -/** - * \defgroup tcpip The Contiki/uIP interface - * @{ - * - * TCP/IP support in Contiki is implemented using the uIP TCP/IP - * stack. For sending and receiving data, Contiki uses the functions - * provided by the uIP module, but Contiki adds a set of functions for - * connection management. The connection management functions make - * sure that the uIP TCP/IP connections are connected to the correct - * process. - * - * Contiki also includes an optional protosocket library that provides - * an API similar to the BSD socket API. - * - * \sa \ref uip "The uIP TCP/IP stack" - * \sa \ref psock "Protosockets library" - * - */ - -/** - * \file - * Header for the Contiki/uIP interface. - * \author Adam Dunkels - * \author Mathilde Durvy (IPv6 related code) - * \author Julien Abeille (IPv6 related code) - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -63,6 +31,39 @@ * Author: Adam Dunkels * */ + +/** + * \file + * Header for the Contiki/uIP interface. + * \author Adam Dunkels + * \author Mathilde Durvy (IPv6 related code) + * \author Julien Abeille (IPv6 related code) + */ + +/** + * \addtogroup uip + * @{ + */ + +/** + * \defgroup tcpip The Contiki/uIP interface + * @{ + * + * TCP/IP support in Contiki is implemented using the uIP TCP/IP + * stack. For sending and receiving data, Contiki uses the functions + * provided by the uIP module, but Contiki adds a set of functions for + * connection management. The connection management functions make + * sure that the uIP TCP/IP connections are connected to the correct + * process. + * + * Contiki also includes an optional protosocket library that provides + * an API similar to the BSD socket API. + * + * \sa \ref uip "The uIP TCP/IP stack" + * \sa \ref psock "Protosockets library" + * + */ + #ifndef TCPIP_H_ #define TCPIP_H_ diff --git a/core/net/ip/uip.h b/core/net/ip/uip.h index 7557584b8..9412416f1 100644 --- a/core/net/ip/uip.h +++ b/core/net/ip/uip.h @@ -1,22 +1,3 @@ - -/** - * \addtogroup uip - * @{ - */ - -/** - * \file - * Header file for the uIP TCP/IP stack. - * \author Adam Dunkels - * \author Julien Abeille (IPv6 related code) - * \author Mathilde Durvy (IPv6 related code) - * - * The uIP TCP/IP stack header file contains definitions for a number - * of C macros that are used by uIP programs as well as internal uIP - * structures, TCP/IP header structures and function declarations. - * - */ - /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -50,6 +31,24 @@ * */ +/** + * \addtogroup uip + * @{ + */ + +/** + * \file + * Header file for the uIP TCP/IP stack. + * \author Adam Dunkels + * \author Julien Abeille (IPv6 related code) + * \author Mathilde Durvy (IPv6 related code) + * + * The uIP TCP/IP stack header file contains definitions for a number + * of C macros that are used by uIP programs as well as internal uIP + * structures, TCP/IP header structures and function declarations. + * + */ + #ifndef UIP_H_ #define UIP_H_ diff --git a/core/net/ip/uip_arch.h b/core/net/ip/uip_arch.h index b4849bb5d..a27548519 100644 --- a/core/net/ip/uip_arch.h +++ b/core/net/ip/uip_arch.h @@ -1,29 +1,3 @@ -/** - * \addtogroup uip - * {@ - */ - -/** - * \defgroup uiparch Architecture specific uIP functions - * @{ - * - * The functions in the architecture specific module implement the IP - * check sum and 32-bit additions. - * - * The IP checksum calculation is the most computationally expensive - * operation in the TCP/IP stack and it therefore pays off to - * implement this in efficient assembler. The purpose of the uip-arch - * module is to let the checksum functions to be implemented in - * architecture specific assembler. - * - */ - -/** - * \file - * Declarations of architecture specific functions. - * \author Adam Dunkels - */ - /* * Copyright (c) 2001, Adam Dunkels. * All rights reserved. @@ -57,6 +31,32 @@ * */ +/** + * \file + * Declarations of architecture specific functions. + * \author Adam Dunkels + */ + +/** + * \addtogroup uip + * {@ + */ + +/** + * \defgroup uiparch Architecture specific uIP functions + * @{ + * + * The functions in the architecture specific module implement the IP + * check sum and 32-bit additions. + * + * The IP checksum calculation is the most computationally expensive + * operation in the TCP/IP stack and it therefore pays off to + * implement this in efficient assembler. The purpose of the uip-arch + * module is to let the checksum functions to be implemented in + * architecture specific assembler. + * + */ + #ifndef UIP_ARCH_H_ #define UIP_ARCH_H_ diff --git a/core/net/ip/uiplib.h b/core/net/ip/uiplib.h index 5f053df5d..4ef55b93e 100644 --- a/core/net/ip/uiplib.h +++ b/core/net/ip/uiplib.h @@ -1,11 +1,3 @@ -/** - * \file - * Various uIP library functions. - * \author - * Adam Dunkels - * - */ - /* * Copyright (c) 2002, Adam Dunkels. * All rights reserved. @@ -39,6 +31,15 @@ * * */ + +/** + * \file + * Various uIP library functions. + * \author + * Adam Dunkels + * + */ + #ifndef UIPLIB_H_ #define UIPLIB_H_ diff --git a/core/net/ip/uipopt.h b/core/net/ip/uipopt.h index abf223647..b78da452e 100644 --- a/core/net/ip/uipopt.h +++ b/core/net/ip/uipopt.h @@ -1,33 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - -/** - * \defgroup uipopt Configuration options for uIP - * @{ - * - * uIP is configured using the per-project configuration file - * "uipopt.h". This file contains all compile-time options for uIP and - * should be tweaked to match each specific project. The uIP - * distribution contains a documented example "uipopt.h" that can be - * copied and modified for each project. - * - * \note Contiki does not use the uipopt.h file to configure uIP, but - * uses a per-port uip-conf.h file that should be edited instead. - */ - -/** - * \file - * Configuration options for uIP. - * \author Adam Dunkels - * - * This file is used for tweaking various configuration options for - * uIP. You should make a copy of this file into one of your project's - * directories instead of editing this example "uipopt.h" file that - * comes with the uIP distribution. - */ - /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -61,6 +31,36 @@ * */ +/** + * \file + * Configuration options for uIP. + * \author Adam Dunkels + * + * This file is used for tweaking various configuration options for + * uIP. You should make a copy of this file into one of your project's + * directories instead of editing this example "uipopt.h" file that + * comes with the uIP distribution. + */ + +/** + * \addtogroup uip + * @{ + */ + +/** + * \defgroup uipopt Configuration options for uIP + * @{ + * + * uIP is configured using the per-project configuration file + * "uipopt.h". This file contains all compile-time options for uIP and + * should be tweaked to match each specific project. The uIP + * distribution contains a documented example "uipopt.h" that can be + * copied and modified for each project. + * + * \note Contiki does not use the uipopt.h file to configure uIP, but + * uses a per-port uip-conf.h file that should be edited instead. + */ + #ifndef UIPOPT_H_ #define UIPOPT_H_ diff --git a/core/net/ipv4/uip-fw.h b/core/net/ipv4/uip-fw.h index 8f86241e6..b1cc76881 100644 --- a/core/net/ipv4/uip-fw.h +++ b/core/net/ipv4/uip-fw.h @@ -1,14 +1,3 @@ -/** - * \addtogroup uipfw - * @{ - */ - -/** - * \file - * uIP packet forwarding header file. - * \author Adam Dunkels - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +31,18 @@ * Author: Adam Dunkels * */ + +/** + * \file + * uIP packet forwarding header file. + * \author Adam Dunkels + */ + +/** + * \addtogroup uipfw + * @{ + */ + #ifndef UIP_FW_H_ #define UIP_FW_H_ diff --git a/core/net/ipv4/uip.c b/core/net/ipv4/uip.c index aaff1c20f..c28595ea2 100644 --- a/core/net/ipv4/uip.c +++ b/core/net/ipv4/uip.c @@ -1,16 +1,3 @@ -#define DEBUG_PRINTF(...) /*printf(__VA_ARGS__)*/ - -/** - * \addtogroup uip - * @{ - */ - -/** - * \file - * The uIP TCP/IP stack code. - * \author Adam Dunkels - */ - /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -44,6 +31,19 @@ * */ +/** + * \file + * The uIP TCP/IP stack code. + * \author Adam Dunkels + */ + +/** + * \addtogroup uip + * @{ + */ + +#define DEBUG_PRINTF(...) /*printf(__VA_ARGS__)*/ + /* * uIP is a small implementation of the IP, UDP and TCP protocols (as * well as some basic ICMP stuff). The implementation couples the IP, diff --git a/core/net/ipv4/uip_arp.c b/core/net/ipv4/uip_arp.c index 87145f598..5abad8b40 100644 --- a/core/net/ipv4/uip_arp.c +++ b/core/net/ipv4/uip_arp.c @@ -1,29 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - -/** - * \defgroup uiparp uIP Address Resolution Protocol - * @{ - * - * The Address Resolution Protocol ARP is used for mapping between IP - * addresses and link level addresses such as the Ethernet MAC - * addresses. ARP uses broadcast queries to ask for the link level - * address of a known IP address and the host which is configured with - * the IP address for which the query was meant, will respond with its - * link level address. - * - * \note This ARP implementation only supports Ethernet. - */ - -/** - * \file - * Implementation of the ARP Address Resolution Protocol. - * \author Adam Dunkels - * - */ - /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -57,7 +31,32 @@ * */ +/** + * \file + * Implementation of the ARP Address Resolution Protocol. + * \author Adam Dunkels + * + */ +/** + * \addtogroup uip + * @{ + */ + +/** + * \defgroup uiparp uIP Address Resolution Protocol + * @{ + * + * The Address Resolution Protocol ARP is used for mapping between IP + * addresses and link level addresses such as the Ethernet MAC + * addresses. ARP uses broadcast queries to ask for the link level + * address of a known IP address and the host which is configured with + * the IP address for which the query was meant, will respond with its + * link level address. + * + * \note This ARP implementation only supports Ethernet. + */ + #include "net/ipv4/uip_arp.h" #include diff --git a/core/net/ipv4/uip_arp.h b/core/net/ipv4/uip_arp.h index 16892bf14..af9e51567 100644 --- a/core/net/ipv4/uip_arp.h +++ b/core/net/ipv4/uip_arp.h @@ -1,20 +1,3 @@ -/** - * \addtogroup uip - * @{ - */ - -/** - * \addtogroup uiparp - * @{ - */ - -/** - * \file - * Macros and definitions for the ARP module. - * \author Adam Dunkels - */ - - /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -48,6 +31,22 @@ * */ +/** + * \file + * Macros and definitions for the ARP module. + * \author Adam Dunkels + */ + +/** + * \addtogroup uip + * @{ + */ + +/** + * \addtogroup uiparp + * @{ + */ + #ifndef UIP_ARP_H_ #define UIP_ARP_H_ diff --git a/core/net/ipv6/sicslowpan.c b/core/net/ipv6/sicslowpan.c index 6211041b3..18c8f7732 100644 --- a/core/net/ipv6/sicslowpan.c +++ b/core/net/ipv6/sicslowpan.c @@ -1,7 +1,3 @@ -/** - * \addtogroup sicslowpan - * @{ - */ /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -33,6 +29,7 @@ * This file is part of the Contiki operating system. * */ + /** * \file * 6lowpan implementation (RFC4944 and draft-ietf-6lowpan-hc-06) @@ -46,6 +43,11 @@ * \author Joel Hoglund */ +/** + * \addtogroup sicslowpan + * @{ + */ + /** * FOR HC-06 COMPLIANCE TODO: * -Add compression options to UDP, currently only supports diff --git a/core/net/ipv6/sicslowpan.h b/core/net/ipv6/sicslowpan.h index 84f1265c6..a46229b02 100644 --- a/core/net/ipv6/sicslowpan.h +++ b/core/net/ipv6/sicslowpan.h @@ -1,8 +1,3 @@ -/** - * \addtogroup sicslowpan - * @{ - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -34,6 +29,7 @@ * This file is part of the Contiki operating system. * */ + /** * \file * Header file for the 6lowpan implementation @@ -45,6 +41,11 @@ * \author Julien Abeille */ +/** + * \addtogroup sicslowpan + * @{ + */ + #ifndef SICSLOWPAN_H_ #define SICSLOWPAN_H_ diff --git a/core/net/ipv6/uip-ds6-nbr.c b/core/net/ipv6/uip-ds6-nbr.c index a4f42b3b9..d6ca16a4d 100644 --- a/core/net/ipv6/uip-ds6-nbr.c +++ b/core/net/ipv6/uip-ds6-nbr.c @@ -1,8 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - /* * Copyright (c) 2013, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +38,11 @@ * */ +/** + * \addtogroup uip6 + * @{ + */ + #include #include #include diff --git a/core/net/ipv6/uip-ds6-nbr.h b/core/net/ipv6/uip-ds6-nbr.h index cd9bb7545..5627f03aa 100644 --- a/core/net/ipv6/uip-ds6-nbr.h +++ b/core/net/ipv6/uip-ds6-nbr.h @@ -1,8 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - /* * Copyright (c) 2013, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +38,11 @@ * */ +/** + * \addtogroup uip6 + * @{ + */ + #ifndef UIP_DS6_NEIGHBOR_H_ #define UIP_DS6_NEIGHBOR_H_ diff --git a/core/net/ipv6/uip-ds6.c b/core/net/ipv6/uip-ds6.c index 4a191caf9..644a3952d 100644 --- a/core/net/ipv6/uip-ds6.c +++ b/core/net/ipv6/uip-ds6.c @@ -1,16 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - -/** - * \file - * IPv6 data structures handling functions. - * Comprises part of the Neighbor discovery (RFC 4861) - * and auto configuration (RFC 4862) state machines. - * \author Mathilde Durvy - * \author Julien Abeille - */ /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -40,6 +27,21 @@ * SUCH DAMAGE. * */ + +/** + * \file + * IPv6 data structures handling functions. + * Comprises part of the Neighbor discovery (RFC 4861) + * and auto configuration (RFC 4862) state machines. + * \author Mathilde Durvy + * \author Julien Abeille + */ + +/** + * \addtogroup uip6 + * @{ + */ + #include #include #include diff --git a/core/net/ipv6/uip-icmp6.c b/core/net/ipv6/uip-icmp6.c index 05fe8c9c6..a3d78ee39 100644 --- a/core/net/ipv6/uip-icmp6.c +++ b/core/net/ipv6/uip-icmp6.c @@ -1,15 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - -/** - * \file - * ICMPv6 echo request and error messages (RFC 4443) - * \author Julien Abeille - * \author Mathilde Durvy - */ - /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -42,6 +30,18 @@ * */ +/** + * \file + * ICMPv6 echo request and error messages (RFC 4443) + * \author Julien Abeille + * \author Mathilde Durvy + */ + +/** + * \addtogroup uip6 + * @{ + */ + #include #include "net/ipv6/uip-ds6.h" #include "net/ipv6/uip-icmp6.h" diff --git a/core/net/ipv6/uip-icmp6.h b/core/net/ipv6/uip-icmp6.h index 53dfc2315..525f8766d 100644 --- a/core/net/ipv6/uip-icmp6.h +++ b/core/net/ipv6/uip-icmp6.h @@ -1,15 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - -/** - * \file - * ICMPv6 echo request and error messages (RFC 4443) - * \author Julien Abeille - * \author Mathilde Durvy - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +30,17 @@ * */ +/** + * \file + * ICMPv6 echo request and error messages (RFC 4443) + * \author Julien Abeille + * \author Mathilde Durvy + */ + +/** + * \addtogroup uip6 + * @{ + */ #ifndef ICMP6_H_ #define ICMP6_H_ diff --git a/core/net/ipv6/uip-nd6.c b/core/net/ipv6/uip-nd6.c index 460df6aeb..2731bb045 100644 --- a/core/net/ipv6/uip-nd6.c +++ b/core/net/ipv6/uip-nd6.c @@ -1,15 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - -/** - * \file - * Neighbor discovery (RFC 4861) - * \author Mathilde Durvy - * \author Julien Abeille - */ - /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. @@ -68,6 +56,18 @@ * */ +/** + * \file + * Neighbor discovery (RFC 4861) + * \author Mathilde Durvy + * \author Julien Abeille + */ + +/** + * \addtogroup uip6 + * @{ + */ + #include #include "net/ipv6/uip-icmp6.h" #include "net/ipv6/uip-nd6.h" diff --git a/core/net/ipv6/uip-nd6.h b/core/net/ipv6/uip-nd6.h index b3ee3a1d5..4be5d1741 100644 --- a/core/net/ipv6/uip-nd6.h +++ b/core/net/ipv6/uip-nd6.h @@ -1,15 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - -/** - * \file - * Neighbor discovery (RFC 4861) - * \author Julien Abeille - * \author Mathilde Durvy - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +30,18 @@ * */ +/** + * \file + * Neighbor discovery (RFC 4861) + * \author Julien Abeille + * \author Mathilde Durvy + */ + +/** + * \addtogroup uip6 + * @{ + */ + #ifndef UIP_ND6_H_ #define UIP_ND6_H_ diff --git a/core/net/ipv6/uip6.c b/core/net/ipv6/uip6.c index 05d0457d9..0ee1d3102 100644 --- a/core/net/ipv6/uip6.c +++ b/core/net/ipv6/uip6.c @@ -1,16 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ - -/** - * \file - * The uIP TCP/IPv6 stack code. - * - * \author Adam Dunkels - * \author Julien Abeille (IPv6 related code) - * \author Mathilde Durvy (IPv6 related code) - */ /* * Copyright (c) 2001-2003, Adam Dunkels. * All rights reserved. @@ -44,6 +31,20 @@ * */ +/** + * \file + * The uIP TCP/IPv6 stack code. + * + * \author Adam Dunkels + * \author Julien Abeille (IPv6 related code) + * \author Mathilde Durvy (IPv6 related code) + */ + +/** + * \addtogroup uip6 + * @{ + */ + /* * uIP is a small implementation of the IP, UDP and TCP protocols (as * well as some basic ICMP stuff). The implementation couples the IP, diff --git a/core/net/linkaddr.c b/core/net/linkaddr.c index ebe5a5108..51b8b19ef 100644 --- a/core/net/linkaddr.c +++ b/core/net/linkaddr.c @@ -1,8 +1,3 @@ -/** - * \addtogroup linkaddr - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup linkaddr + * @{ + */ + #include "net/linkaddr.h" #include diff --git a/core/net/linkaddr.h b/core/net/linkaddr.h index 06f4c34cb..e2a4bfc4f 100644 --- a/core/net/linkaddr.h +++ b/core/net/linkaddr.h @@ -1,17 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup linkaddr Rime addresses - * @{ - * - * The linkaddr module is an abstract representation of addresses in - * Rime. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -51,6 +37,20 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup linkaddr Rime addresses + * @{ + * + * The linkaddr module is an abstract representation of addresses in + * Rime. + * + */ + #ifndef LINKADDR_H_ #define LINKADDR_H_ diff --git a/core/net/llsec/anti-replay.c b/core/net/llsec/anti-replay.c index 0500f7a87..45168ef57 100644 --- a/core/net/llsec/anti-replay.c +++ b/core/net/llsec/anti-replay.c @@ -1,8 +1,3 @@ -/** - * \addtogroup llsec802154 - * @{ - */ - /* * Copyright (c) 2014, Hasso-Plattner-Institut. * All rights reserved. @@ -43,6 +38,11 @@ * Konrad Krentz */ +/** + * \addtogroup llsec802154 + * @{ + */ + #include "net/llsec/anti-replay.h" #include "net/packetbuf.h" diff --git a/core/net/llsec/anti-replay.h b/core/net/llsec/anti-replay.h index 637243660..2f8e7b2d8 100644 --- a/core/net/llsec/anti-replay.h +++ b/core/net/llsec/anti-replay.h @@ -1,8 +1,3 @@ -/** - * \addtogroup llsec802154 - * @{ - */ - /* * Copyright (c) 2014, Hasso-Plattner-Institut. * All rights reserved. @@ -42,6 +37,11 @@ * Konrad Krentz */ +/** + * \addtogroup llsec802154 + * @{ + */ + #ifndef ANTI_REPLAY_H #define ANTI_REPLAY_H diff --git a/core/net/llsec/ccm-star.c b/core/net/llsec/ccm-star.c index 42e220761..faf79ba28 100644 --- a/core/net/llsec/ccm-star.c +++ b/core/net/llsec/ccm-star.c @@ -1,8 +1,3 @@ -/** - * \addtogroup llsec802154 - * @{ - */ - /* * Copyright (c) 2013, Hasso-Plattner-Institut. * All rights reserved. @@ -42,6 +37,11 @@ * Konrad Krentz */ +/** + * \addtogroup llsec802154 + * @{ + */ + #include "net/llsec/ccm-star.h" #include "net/llsec/llsec802154.h" #include "net/packetbuf.h" diff --git a/core/net/llsec/ccm-star.h b/core/net/llsec/ccm-star.h index fd413c33e..89a486075 100644 --- a/core/net/llsec/ccm-star.h +++ b/core/net/llsec/ccm-star.h @@ -1,8 +1,3 @@ -/** - * \addtogroup llsec802154 - * @{ - */ - /* * Copyright (c) 2013, Hasso-Plattner-Institut. * All rights reserved. @@ -42,6 +37,11 @@ * Konrad Krentz */ +/** + * \addtogroup llsec802154 + * @{ + */ + #ifndef CCM_STAR_H_ #define CCM_STAR_H_ diff --git a/core/net/llsec/llsec.h b/core/net/llsec/llsec.h index 3953cd549..7b3c8a1b2 100644 --- a/core/net/llsec/llsec.h +++ b/core/net/llsec/llsec.h @@ -1,21 +1,3 @@ -/** - * \ingroup net - * \defgroup llsec Link Layer Security - * - * Layer for implementing link layer security. - * - * NETSTACK_LLSEC sits in between NETSTACK_MAC and NETSTACK_NETWORK - * protocols. All NETSTACK_MAC protocols invoke NETSTACK_LLSEC.input() - * for incoming packets. Likewise, all NETSTACK_NETWORK protocols - * invoke NETSTACK_LLSEC.send(...) for outgoing packets. - * - * The bootstrap function of llsec_drivers can be used to defer the start - * of upper layers so as to bootstrap pairwise keys. Only contiki-sky-main.c - * supports this at the moment. - * - * @{ - */ - /* * Copyright (c) 2013, Hasso-Plattner-Institut. * All rights reserved. @@ -55,6 +37,24 @@ * Konrad Krentz */ +/** + * \ingroup net + * \defgroup llsec Link Layer Security + * + * Layer for implementing link layer security. + * + * NETSTACK_LLSEC sits in between NETSTACK_MAC and NETSTACK_NETWORK + * protocols. All NETSTACK_MAC protocols invoke NETSTACK_LLSEC.input() + * for incoming packets. Likewise, all NETSTACK_NETWORK protocols + * invoke NETSTACK_LLSEC.send(...) for outgoing packets. + * + * The bootstrap function of llsec_drivers can be used to defer the start + * of upper layers so as to bootstrap pairwise keys. Only contiki-sky-main.c + * supports this at the moment. + * + * @{ + */ + #ifndef LLSEC_H_ #define LLSEC_H_ diff --git a/core/net/llsec/llsec802154.h b/core/net/llsec/llsec802154.h index 4a9b8eee8..b8eb93121 100644 --- a/core/net/llsec/llsec802154.h +++ b/core/net/llsec/llsec802154.h @@ -1,16 +1,3 @@ -/** - * \addtogroup llsec - * @{ - */ - -/** - * \defgroup llsec802154 - * - * Common functionality of 802.15.4-compliant llsec_drivers. - * - * @{ - */ - /* * Copyright (c) 2013, Hasso-Plattner-Institut. * All rights reserved. @@ -50,6 +37,19 @@ * Konrad Krentz */ +/** + * \addtogroup llsec + * @{ + */ + +/** + * \defgroup llsec802154 + * + * Common functionality of 802.15.4-compliant llsec_drivers. + * + * @{ + */ + #ifndef LLSEC802154_H_ #define LLSEC802154_H_ diff --git a/core/net/llsec/noncoresec/noncoresec.c b/core/net/llsec/noncoresec/noncoresec.c index 853628e5c..8935d3375 100644 --- a/core/net/llsec/noncoresec/noncoresec.c +++ b/core/net/llsec/noncoresec/noncoresec.c @@ -1,8 +1,3 @@ -/** - * \addtogroup noncoresec - * @{ - */ - /* * Copyright (c) 2014, Hasso-Plattner-Institut. * All rights reserved. @@ -42,6 +37,11 @@ * Konrad Krentz */ +/** + * \addtogroup noncoresec + * @{ + */ + #include "net/llsec/noncoresec/noncoresec.h" #include "net/llsec/anti-replay.h" #include "net/llsec/llsec802154.h" diff --git a/core/net/llsec/noncoresec/noncoresec.h b/core/net/llsec/noncoresec/noncoresec.h index 9f7f6383e..493ff5ce5 100644 --- a/core/net/llsec/noncoresec/noncoresec.h +++ b/core/net/llsec/noncoresec/noncoresec.h @@ -1,16 +1,3 @@ -/** - * \addtogroup llsec - * @{ - */ - -/** - * \defgroup noncoresec - * - * Noncompromise-resilient 802.15.4 security - * - * @{ - */ - /* * Copyright (c) 2014, Hasso-Plattner-Institut. * All rights reserved. @@ -50,6 +37,19 @@ * Konrad Krentz */ +/** + * \addtogroup llsec + * @{ + */ + +/** + * \defgroup noncoresec + * + * Noncompromise-resilient 802.15.4 security + * + * @{ + */ + #ifndef NONCORESEC_H_ #define NONCORESEC_H_ diff --git a/core/net/llsec/nullsec.c b/core/net/llsec/nullsec.c index 040e9ed76..f419cd7f7 100644 --- a/core/net/llsec/nullsec.c +++ b/core/net/llsec/nullsec.c @@ -1,8 +1,3 @@ -/** - * \addtogroup nullsec - * @{ - */ - /* * Copyright (c) 2013, Hasso-Plattner-Institut. * All rights reserved. @@ -42,6 +37,11 @@ * Konrad Krentz */ +/** + * \addtogroup nullsec + * @{ + */ + #include "net/llsec/nullsec.h" #include "net/mac/frame802154.h" #include "net/netstack.h" diff --git a/core/net/llsec/nullsec.h b/core/net/llsec/nullsec.h index df592e985..2682bd343 100644 --- a/core/net/llsec/nullsec.h +++ b/core/net/llsec/nullsec.h @@ -1,16 +1,3 @@ -/** - * \addtogroup llsec - * @{ - */ - -/** - * \defgroup nullsec - * - * Insecure link layer security driver. - * - * @{ - */ - /* * Copyright (c) 2013, Hasso-Plattner-Institut. * All rights reserved. @@ -50,6 +37,19 @@ * Konrad Krentz */ +/** + * \addtogroup llsec + * @{ + */ + +/** + * \defgroup nullsec + * + * Insecure link layer security driver. + * + * @{ + */ + #ifndef NULLSEC_H_ #define NULLSEC_H_ diff --git a/core/net/mac/frame802154.c b/core/net/mac/frame802154.c index d98be6269..5e216260b 100644 --- a/core/net/mac/frame802154.c +++ b/core/net/mac/frame802154.c @@ -49,10 +49,7 @@ * \brief This file is where the main functions that relate to frame * manipulation will reside. */ -/** - * \addtogroup frame802154 - * @{ -*/ + /** * \file * \brief 802.15.4 frame creation and parsing functions @@ -61,6 +58,11 @@ * frame. */ +/** + * \addtogroup frame802154 + * @{ +*/ + #include "sys/cc.h" #include "net/mac/frame802154.h" #include "net/llsec/llsec802154.h" diff --git a/core/net/packetbuf.c b/core/net/packetbuf.c index 2248936d6..e67c8cf12 100644 --- a/core/net/packetbuf.c +++ b/core/net/packetbuf.c @@ -1,8 +1,3 @@ -/** - * \addtogroup packetbuf - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup packetbuf + * @{ + */ + #include #include "contiki-net.h" diff --git a/core/net/packetbuf.h b/core/net/packetbuf.h index 17abc5709..2bfffd2dd 100644 --- a/core/net/packetbuf.h +++ b/core/net/packetbuf.h @@ -1,15 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup packetbuf Rime buffer management - * @{ - * - * The packetbuf module does Rime's buffer management. - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -49,6 +37,18 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup packetbuf Rime buffer management + * @{ + * + * The packetbuf module does Rime's buffer management. + */ + #ifndef PACKETBUF_H_ #define PACKETBUF_H_ diff --git a/core/net/packetqueue.c b/core/net/packetqueue.c index 1cf1c694f..1ca491c7f 100644 --- a/core/net/packetqueue.c +++ b/core/net/packetqueue.c @@ -1,7 +1,3 @@ -/** - * \addtogroup packetqueue - * @{ - */ /* * Copyright (c) 2009, Swedish Institute of Computer Science. * All rights reserved. @@ -41,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup packetqueue + * @{ + */ + #include "sys/ctimer.h" #include "net/packetqueue.h" diff --git a/core/net/packetqueue.h b/core/net/packetqueue.h index 941313dc8..5ec581a6c 100644 --- a/core/net/packetqueue.h +++ b/core/net/packetqueue.h @@ -1,16 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup packetqueue Packet queue - * @{ - * - * The packetqueue module handles a list of queued packets. - * - */ - /* * Copyright (c) 2009, Swedish Institute of Computer Science. * All rights reserved. @@ -50,6 +37,19 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup packetqueue Packet queue + * @{ + * + * The packetqueue module handles a list of queued packets. + * + */ + #ifndef PACKETQUEUE_H_ #define PACKETQUEUE_H_ diff --git a/core/net/queuebuf.c b/core/net/queuebuf.c index fa06561ef..c7dc7fe47 100644 --- a/core/net/queuebuf.c +++ b/core/net/queuebuf.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimequeuebuf - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimequeuebuf + * @{ + */ + #include "contiki-net.h" #if WITH_SWAP #include "cfs/cfs.h" diff --git a/core/net/queuebuf.h b/core/net/queuebuf.h index e5a66a917..89e9aba29 100644 --- a/core/net/queuebuf.h +++ b/core/net/queuebuf.h @@ -1,16 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimequeuebuf Rime queue buffer management - * @{ - * - * The queuebuf module handles buffers that are queued. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -50,6 +37,19 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimequeuebuf Rime queue buffer management + * @{ + * + * The queuebuf module handles buffers that are queued. + * + */ + #ifndef QUEUEBUF_H_ #define QUEUEBUF_H_ diff --git a/core/net/rime/abc.c b/core/net/rime/abc.c index e0e40f0e1..338b6a045 100644 --- a/core/net/rime/abc.c +++ b/core/net/rime/abc.c @@ -1,9 +1,3 @@ -/** - * \addtogroup rimeabc - * @{ - */ - - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -45,6 +39,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeabc + * @{ + */ + #include "contiki-net.h" #include "net/rime/rime.h" diff --git a/core/net/rime/abc.h b/core/net/rime/abc.h index 19eebe053..8e2b1d86b 100644 --- a/core/net/rime/abc.h +++ b/core/net/rime/abc.h @@ -1,21 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimeabc Anonymous best-effort local area broadcast - * @{ - * - * The abc module sends packets to all local area neighbors. The abc - * module adds no headers to outgoing packets. - * - * \section channels Channels - * - * The abc module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -47,6 +29,7 @@ * This file is part of the Contiki operating system. * */ + /** * \file * Header file for the Rime module Anonymous BroadCast (abc) @@ -54,6 +37,24 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeabc Anonymous best-effort local area broadcast + * @{ + * + * The abc module sends packets to all local area neighbors. The abc + * module adds no headers to outgoing packets. + * + * \section channels Channels + * + * The abc module uses 1 channel. + * + */ + #ifndef ABC_H_ #define ABC_H_ diff --git a/core/net/rime/announcement.c b/core/net/rime/announcement.c index d4e4b57e2..f00c80649 100644 --- a/core/net/rime/announcement.c +++ b/core/net/rime/announcement.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimeannouncement - * @{ - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeannouncement + * @{ + */ + #include "net/rime/announcement.h" #include "lib/list.h" #include "sys/cc.h" diff --git a/core/net/rime/announcement.h b/core/net/rime/announcement.h index e59d964f5..759ab8b08 100644 --- a/core/net/rime/announcement.h +++ b/core/net/rime/announcement.h @@ -1,29 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimeannouncement Announcements - * @{ - * - * The Announcement primitive does local area announcements. An - * announcement is an (ID, value) tuple that is disseminated to local - * area neighbors. An application or protocol can explicitly listen to - * announcements from neighbors. When an announcement is heard, a - * callback is invoked. - * - * Announcements can be used for a variety of network mechanisms such - * as neighbor discovery, node-level service discovery, or routing - * metric dissemination. - * - * Application programs and protocols register announcements with the - * announcement module. An announcement back-end, implemented by the - * system, takes care of sending out announcements over the radio, as - * well as collecting announcements heard from neighbors. - * - */ - /* * Copyright (c) 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -63,6 +37,32 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeannouncement Announcements + * @{ + * + * The Announcement primitive does local area announcements. An + * announcement is an (ID, value) tuple that is disseminated to local + * area neighbors. An application or protocol can explicitly listen to + * announcements from neighbors. When an announcement is heard, a + * callback is invoked. + * + * Announcements can be used for a variety of network mechanisms such + * as neighbor discovery, node-level service discovery, or routing + * metric dissemination. + * + * Application programs and protocols register announcements with the + * announcement module. An announcement back-end, implemented by the + * system, takes care of sending out announcements over the radio, as + * well as collecting announcements heard from neighbors. + * + */ + #ifndef ANNOUNCEMENT_H_ #define ANNOUNCEMENT_H_ diff --git a/core/net/rime/broadcast-announcement.h b/core/net/rime/broadcast-announcement.h index f78007cd6..371c84fc9 100644 --- a/core/net/rime/broadcast-announcement.h +++ b/core/net/rime/broadcast-announcement.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimebroadcastannouncement Broadcast announcement - * @{ - * - * The broadcast announcement module implements a periodic explicit - * announcement. THe module announces the announcements that have been - * registered with the \ref rimeannouncement "announcement module". - * - * \section channels Channels - * - * The broadcast announcement module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimebroadcastannouncement Broadcast announcement + * @{ + * + * The broadcast announcement module implements a periodic explicit + * announcement. THe module announces the announcements that have been + * registered with the \ref rimeannouncement "announcement module". + * + * \section channels Channels + * + * The broadcast announcement module uses 1 channel. + * + */ + #ifndef BROADCAST_ANNOUNCEMENT_H_ #define BROADCAST_ANNOUNCEMENT_H_ diff --git a/core/net/rime/broadcast.h b/core/net/rime/broadcast.h index eb264d46b..c4e427405 100644 --- a/core/net/rime/broadcast.h +++ b/core/net/rime/broadcast.h @@ -1,28 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimeibc Best-effort local area broadcast - * @{ - * - * The broadcast module sends packets to all local area neighbors with an a - * header that identifies the sender. - * - * The broadcast module sends a packet to all local neighbors. The - * module adds the single-hop sender address as a packet attribute to - * outgoing packets. All Rime primitives that need the identity of - * the sender in the outgoing packets use the broadcast primitive, - * either directly or indirectly through any of the other - * communication primitives that are based on the broadcast primitive. - * - * \section channels Channels - * - * The broadcast module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -62,6 +37,31 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeibc Best-effort local area broadcast + * @{ + * + * The broadcast module sends packets to all local area neighbors with an a + * header that identifies the sender. + * + * The broadcast module sends a packet to all local neighbors. The + * module adds the single-hop sender address as a packet attribute to + * outgoing packets. All Rime primitives that need the identity of + * the sender in the outgoing packets use the broadcast primitive, + * either directly or indirectly through any of the other + * communication primitives that are based on the broadcast primitive. + * + * \section channels Channels + * + * The broadcast module uses 1 channel. + * + */ + #ifndef BROADCAST_H_ #define BROADCAST_H_ diff --git a/core/net/rime/collect-link-estimate.c b/core/net/rime/collect-link-estimate.c index 92a722a58..4cf97cbf5 100644 --- a/core/net/rime/collect-link-estimate.c +++ b/core/net/rime/collect-link-estimate.c @@ -1,7 +1,3 @@ -/** - * \addtogroup rimelinkestimate - * @{ - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -41,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimelinkestimate + * @{ + */ + #include "net/rime/collect.h" #include "net/rime/collect-link-estimate.h" diff --git a/core/net/rime/collect-link-estimate.h b/core/net/rime/collect-link-estimate.h index c7b0cc73b..d833770e1 100644 --- a/core/net/rime/collect-link-estimate.h +++ b/core/net/rime/collect-link-estimate.h @@ -1,17 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ -/** - * \defgroup rimelinkestimate Link estimate management - * - * The link estimate module is used for computing estimations of link - * quality. It computes a quality index for links, based on - * information about how many times a packet has been transmitted, as - * well as information about incoming packets. The link estimate - * module exposes an interface that provides functions that are called - * for incoming and outgoing packets. - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -51,6 +37,22 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimelinkestimate Link estimate management + * + * The link estimate module is used for computing estimations of link + * quality. It computes a quality index for links, based on + * information about how many times a packet has been transmitted, as + * well as information about incoming packets. The link estimate + * module exposes an interface that provides functions that are called + * for incoming and outgoing packets. + */ + #ifndef COLLECT_LINK_ESTIMATE_H #define COLLECT_LINK_ESTIMATE_H diff --git a/core/net/rime/collect-neighbor.c b/core/net/rime/collect-neighbor.c index 0a3759052..dae9289ea 100644 --- a/core/net/rime/collect-neighbor.c +++ b/core/net/rime/collect-neighbor.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimeneighbor - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeneighbor + * @{ + */ + #include #include diff --git a/core/net/rime/collect-neighbor.h b/core/net/rime/collect-neighbor.h index 056819325..804420a32 100644 --- a/core/net/rime/collect-neighbor.h +++ b/core/net/rime/collect-neighbor.h @@ -1,14 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ -/** - * \defgroup rimeneighbor Collect neighbor management - * @{ - * - * The neighbor module manages the neighbor table that is used by the - * Collect module. - */ /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -48,6 +37,19 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeneighbor Collect neighbor management + * @{ + * + * The neighbor module manages the neighbor table that is used by the + * Collect module. + */ + #ifndef COLLECT_NEIGHBOR_H_ #define COLLECT_NEIGHBOR_H_ diff --git a/core/net/rime/collect.c b/core/net/rime/collect.c index 5cffa59f1..aa858e905 100644 --- a/core/net/rime/collect.c +++ b/core/net/rime/collect.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimecollect - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimecollect + * @{ + */ + #include "contiki.h" #include "net/netstack.h" #include "net/rime/rime.h" diff --git a/core/net/rime/collect.h b/core/net/rime/collect.h index f9e21a129..176e4b9ab 100644 --- a/core/net/rime/collect.h +++ b/core/net/rime/collect.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimecollect Tree-based hop-by-hop reliable data collection - * @{ - * - * The collect module implements a hop-by-hop reliable data collection - * mechanism. - * - * \section channels Channels - * - * The collect module uses 2 channels; one for neighbor discovery and one - * for data packets. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimecollect Tree-based hop-by-hop reliable data collection + * @{ + * + * The collect module implements a hop-by-hop reliable data collection + * mechanism. + * + * \section channels Channels + * + * The collect module uses 2 channels; one for neighbor discovery and one + * for data packets. + * + */ + #ifndef COLLECT_H_ #define COLLECT_H_ diff --git a/core/net/rime/ipolite.c b/core/net/rime/ipolite.c index 0ea19b160..00eaf2daf 100644 --- a/core/net/rime/ipolite.c +++ b/core/net/rime/ipolite.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimeipolite - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeipolite + * @{ + */ + #include "net/rime/rime.h" #include "net/rime/ipolite.h" #include "lib/random.h" diff --git a/core/net/rime/ipolite.h b/core/net/rime/ipolite.h index 2297eeb75..c76505913 100644 --- a/core/net/rime/ipolite.h +++ b/core/net/rime/ipolite.h @@ -1,3 +1,42 @@ +/* + * Copyright (c) 2007, 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. + * + */ + +/** + * \file + * Header file for Ipolite best effort local Broadcast (ipolite) + * \author + * Adam Dunkels + */ + /** * \addtogroup rime * @{ @@ -51,45 +90,6 @@ * */ -/* - * Copyright (c) 2007, 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. - * - */ - -/** - * \file - * Header file for Ipolite best effort local Broadcast (ipolite) - * \author - * Adam Dunkels - */ - #ifndef IPOLITE_H_ #define IPOLITE_H_ diff --git a/core/net/rime/mesh.c b/core/net/rime/mesh.c index 4fd70d485..25ea280dd 100644 --- a/core/net/rime/mesh.c +++ b/core/net/rime/mesh.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimemesh - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimemesh + * @{ + */ + #include "contiki.h" #include "net/rime/rime.h" #include "net/rime/route.h" diff --git a/core/net/rime/mesh.h b/core/net/rime/mesh.h index fbda4584a..35a009366 100644 --- a/core/net/rime/mesh.h +++ b/core/net/rime/mesh.h @@ -1,24 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimemesh Mesh routing - * @{ - * - * The mesh module sends packets using multi-hop routing to a specified - * receiver somewhere in the network. - * - * - * \section channels Channels - * - * The mesh module uses 3 channel; one for the multi-hop forwarding - * (\ref rimemultihop "multihop") and two for the route disovery (\ref - * routediscovery "route-discovery"). - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -58,6 +37,27 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimemesh Mesh routing + * @{ + * + * The mesh module sends packets using multi-hop routing to a specified + * receiver somewhere in the network. + * + * + * \section channels Channels + * + * The mesh module uses 3 channel; one for the multi-hop forwarding + * (\ref rimemultihop "multihop") and two for the route disovery (\ref + * routediscovery "route-discovery"). + * + */ + #ifndef MESH_H_ #define MESH_H_ diff --git a/core/net/rime/multihop.c b/core/net/rime/multihop.c index 59886bf80..5837c41df 100644 --- a/core/net/rime/multihop.c +++ b/core/net/rime/multihop.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + #include "contiki.h" #include "net/rime/rime.h" #include "net/rime/multihop.h" diff --git a/core/net/rime/multihop.h b/core/net/rime/multihop.h index e951de9a9..bf1bf8c44 100644 --- a/core/net/rime/multihop.h +++ b/core/net/rime/multihop.h @@ -1,33 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimemultihop Best-effort multihop forwarding - * @{ - * - * The multihop module implements a multihop forwarding mechanism. Routes - * must have already been setup with the route_add() function. Setting - * up routes is done with another Rime module such as the \ref - * routediscovery "route-discovery module". - * - * The multihop sends a packet to an identified node in the network by - * using multi-hop forwarding at each node in the network. The - * application or protocol that uses the multihop primitive supplies a - * routing function for selecting the next-hop neighbor. If the - * multihop primitive is requested to send a packet for which no - * suitable next hop neighbor is found, the caller is immediately - * notified of this and may choose to initiate a route discovery - * process. - * - * - * \section channels Channels - * - * The multihop module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -67,6 +37,36 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimemultihop Best-effort multihop forwarding + * @{ + * + * The multihop module implements a multihop forwarding mechanism. Routes + * must have already been setup with the route_add() function. Setting + * up routes is done with another Rime module such as the \ref + * routediscovery "route-discovery module". + * + * The multihop sends a packet to an identified node in the network by + * using multi-hop forwarding at each node in the network. The + * application or protocol that uses the multihop primitive supplies a + * routing function for selecting the next-hop neighbor. If the + * multihop primitive is requested to send a packet for which no + * suitable next hop neighbor is found, the caller is immediately + * notified of this and may choose to initiate a route discovery + * process. + * + * + * \section channels Channels + * + * The multihop module uses 1 channel. + * + */ + #ifndef MULTIHOP_H_ #define MULTIHOP_H_ diff --git a/core/net/rime/neighbor-discovery.c b/core/net/rime/neighbor-discovery.c index a2d00586e..fe2f52288 100644 --- a/core/net/rime/neighbor-discovery.c +++ b/core/net/rime/neighbor-discovery.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimeneighbordiscovery - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeneighbordiscovery + * @{ + */ + #include "contiki.h" #include "net/rime/rime.h" diff --git a/core/net/rime/neighbor-discovery.h b/core/net/rime/neighbor-discovery.h index 5e4c6dd78..113ec1418 100644 --- a/core/net/rime/neighbor-discovery.h +++ b/core/net/rime/neighbor-discovery.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimeneighbordiscovery Neighbor discovery - * @{ - * - * The neighbor-discovery module implements a periodic neighbor - * discovery mechanism. A callback is invoked for every incoming - * neighbor discovery message. - * - * \section channels Channels - * - * The neighbor-discovery module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeneighbordiscovery Neighbor discovery + * @{ + * + * The neighbor-discovery module implements a periodic neighbor + * discovery mechanism. A callback is invoked for every incoming + * neighbor discovery message. + * + * \section channels Channels + * + * The neighbor-discovery module uses 1 channel. + * + */ + #ifndef NEIGHBOR_DISCOVERY_H_ #define NEIGHBOR_DISCOVERY_H_ diff --git a/core/net/rime/netflood.c b/core/net/rime/netflood.c index fedcd8eef..a8eff282d 100644 --- a/core/net/rime/netflood.c +++ b/core/net/rime/netflood.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimenetflood - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimenetflood + * @{ + */ + #include "net/rime/netflood.h" #include diff --git a/core/net/rime/netflood.h b/core/net/rime/netflood.h index 357d4408b..5c791f086 100644 --- a/core/net/rime/netflood.h +++ b/core/net/rime/netflood.h @@ -1,37 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimenetflood Best-effort network flooding - * @{ - * - * The netflood module does best-effort flooding. - * - * The netflood primitive sends a single packet to all nodes in the - * network. The netflood primitive uses polite broadcasts at every hop - * to reduce the number of redundant transmissions. The netflood - * primitive does not perform retransmissions of flooded packets and - * packets are not tagged with version numbers. Instead, the netflood - * primitive sets the end-to-end sender and end-to-end packet ID - * attributes on the packets it sends. A forwarding node saves the - * end-to-end sender and packet ID of the last packet it forwards and - * does not forward a packet if it has the same end-to-end sender and - * packet ID as the last packet. This reduces the risk of routing - * loops, but does not eliminate them entirely as the netflood - * primitive saves the attributes of the latest packet seen only. - * Therefore, the netflood primitive also uses the time to live - * attribute, which is decreased by one before forwarding a packet. - * If the time to live reaches zero, the primitive does not forward - * the packet. -* - * \section channels Channels - * - * The netflood module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -71,6 +37,40 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimenetflood Best-effort network flooding + * @{ + * + * The netflood module does best-effort flooding. + * + * The netflood primitive sends a single packet to all nodes in the + * network. The netflood primitive uses polite broadcasts at every hop + * to reduce the number of redundant transmissions. The netflood + * primitive does not perform retransmissions of flooded packets and + * packets are not tagged with version numbers. Instead, the netflood + * primitive sets the end-to-end sender and end-to-end packet ID + * attributes on the packets it sends. A forwarding node saves the + * end-to-end sender and packet ID of the last packet it forwards and + * does not forward a packet if it has the same end-to-end sender and + * packet ID as the last packet. This reduces the risk of routing + * loops, but does not eliminate them entirely as the netflood + * primitive saves the attributes of the latest packet seen only. + * Therefore, the netflood primitive also uses the time to live + * attribute, which is decreased by one before forwarding a packet. + * If the time to live reaches zero, the primitive does not forward + * the packet. + * + * \section channels Channels + * + * The netflood module uses 1 channel. + * + */ + #ifndef NETFLOOD_H_ #define NETFLOOD_H_ diff --git a/core/net/rime/polite-announcement.c b/core/net/rime/polite-announcement.c index faf6f3c5b..1383eaf43 100644 --- a/core/net/rime/polite-announcement.c +++ b/core/net/rime/polite-announcement.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimepoliteannouncement - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimepoliteannouncement + * @{ + */ + #include "contiki.h" #include "lib/list.h" diff --git a/core/net/rime/polite-announcement.h b/core/net/rime/polite-announcement.h index 3cc0769e6..c3af5d814 100644 --- a/core/net/rime/polite-announcement.h +++ b/core/net/rime/polite-announcement.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimepoliteannouncement Polite announcement - * @{ - * - * The polite announcement module implements a periodic explicit - * announcement. THe module announces the announcements that have been - * registered with the \ref rimeannouncement "announcement module". - * - * \section channels Channels - * - * The polite announcement module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimepoliteannouncement Polite announcement + * @{ + * + * The polite announcement module implements a periodic explicit + * announcement. THe module announces the announcements that have been + * registered with the \ref rimeannouncement "announcement module". + * + * \section channels Channels + * + * The polite announcement module uses 1 channel. + * + */ + #ifndef POLITE_ANNOUNCEMENT_H_ #define POLITE_ANNOUNCEMENT_H_ diff --git a/core/net/rime/polite.c b/core/net/rime/polite.c index 2d8ea44bc..531ae6228 100644 --- a/core/net/rime/polite.c +++ b/core/net/rime/polite.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimepolite - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimepolite + * @{ + */ + #include "net/rime/rime.h" #include "net/rime/polite.h" #include "lib/random.h" diff --git a/core/net/rime/polite.h b/core/net/rime/polite.h index e521c3e6c..82e6e911b 100644 --- a/core/net/rime/polite.h +++ b/core/net/rime/polite.h @@ -1,3 +1,42 @@ +/* + * Copyright (c) 2007, 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. + * + */ + +/** + * \file + * Header file for Polite Anonymous best effort local Broadcast (polite) + * \author + * Adam Dunkels + */ + /** * \addtogroup rime * @{ @@ -51,45 +90,6 @@ * */ -/* - * Copyright (c) 2007, 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. - * - */ - -/** - * \file - * Header file for Polite Anonymous best effort local Broadcast (polite) - * \author - * Adam Dunkels - */ - #ifndef POLITE_H_ #define POLITE_H_ diff --git a/core/net/rime/rime.c b/core/net/rime/rime.c index 0117b4988..e4b2e524d 100644 --- a/core/net/rime/rime.c +++ b/core/net/rime/rime.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + #define DEBUG 0 #if DEBUG #include diff --git a/core/net/rime/rime.h b/core/net/rime/rime.h index 14d79ee49..dbabe0a26 100644 --- a/core/net/rime/rime.h +++ b/core/net/rime/rime.h @@ -1,8 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + #ifndef RIME_H_ #define RIME_H_ diff --git a/core/net/rime/rmh.c b/core/net/rime/rmh.c index 9cfc06a5f..cc5614a61 100644 --- a/core/net/rime/rmh.c +++ b/core/net/rime/rmh.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimermh - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimermh + * @{ + */ + #include "contiki.h" #include "net/rime/rime.h" #include "net/rime/rmh.h" diff --git a/core/net/rime/rmh.h b/core/net/rime/rmh.h index a76be1b89..f7d7786a6 100644 --- a/core/net/rime/rmh.h +++ b/core/net/rime/rmh.h @@ -1,28 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimermh Reliable multihop forwarding - * @{ - * - * The rmh module implements a multihop forwarding mechanism. Routes - * must have already been setup with the route_add() function. Setting - * up routes is done with another Rime module such as the \ref - * routediscovery "route-discovery module". - * - * The hop-by-hop reliable multi-hop unciast primitive is similar to - * the best-effot multi-hop unicast primitive except that it uses the - * reliable single-hop primitive for the communication between two - * single-hop neighbors. - * - * \section channels Channels - * - * The rmh module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -62,6 +37,31 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimermh Reliable multihop forwarding + * @{ + * + * The rmh module implements a multihop forwarding mechanism. Routes + * must have already been setup with the route_add() function. Setting + * up routes is done with another Rime module such as the \ref + * routediscovery "route-discovery module". + * + * The hop-by-hop reliable multi-hop unciast primitive is similar to + * the best-effot multi-hop unicast primitive except that it uses the + * reliable single-hop primitive for the communication between two + * single-hop neighbors. + * + * \section channels Channels + * + * The rmh module uses 1 channel. + * + */ + #ifndef RMH_H_ #define RMH_H_ diff --git a/core/net/rime/route-discovery.c b/core/net/rime/route-discovery.c index 7e212568b..21afceaa9 100644 --- a/core/net/rime/route-discovery.c +++ b/core/net/rime/route-discovery.c @@ -1,8 +1,3 @@ -/** - * \addtogroup routediscovery - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup routediscovery + * @{ + */ + #include "contiki.h" #include "net/rime/rime.h" #include "net/rime/route.h" diff --git a/core/net/rime/route-discovery.h b/core/net/rime/route-discovery.h index a483a18cc..f1ac6fd3a 100644 --- a/core/net/rime/route-discovery.h +++ b/core/net/rime/route-discovery.h @@ -1,20 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup routediscovery Rime route discovery protocol - * @{ - * - * The route-discovery module does route discovery for Rime. - * - * \section channels Channels - * - * The ibc module uses 2 channels; one for the flooded route request - * packets and one for the unicast route replies. - * - */ /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -54,6 +37,23 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup routediscovery Rime route discovery protocol + * @{ + * + * The route-discovery module does route discovery for Rime. + * + * \section channels Channels + * + * The ibc module uses 2 channels; one for the flooded route request + * packets and one for the unicast route replies. + * + */ #ifndef ROUTE_DISCOVERY_H_ #define ROUTE_DISCOVERY_H_ diff --git a/core/net/rime/route.c b/core/net/rime/route.c index ec9079718..2a51d12c6 100644 --- a/core/net/rime/route.c +++ b/core/net/rime/route.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimeroute - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeroute + * @{ + */ + #include #include "lib/list.h" diff --git a/core/net/rime/route.h b/core/net/rime/route.h index 5f4cee70b..d8b35ce7a 100644 --- a/core/net/rime/route.h +++ b/core/net/rime/route.h @@ -1,14 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ -/** - * \defgroup rimeroute Rime route table - * @{ - * - * The route module handles the route table in Rime. - */ - /* * Copyright (c) 2005, Swedish Institute of Computer Science. * All rights reserved. @@ -48,6 +37,18 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeroute Rime route table + * @{ + * + * The route module handles the route table in Rime. + */ + #ifndef ROUTE_H_ #define ROUTE_H_ diff --git a/core/net/rime/rudolph0.c b/core/net/rime/rudolph0.c index d1f7d876f..9582430b4 100644 --- a/core/net/rime/rudolph0.c +++ b/core/net/rime/rudolph0.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rudolph0 - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rudolph0 + * @{ + */ + #include /* for offsetof */ #include "net/rime/rime.h" diff --git a/core/net/rime/rudolph0.h b/core/net/rime/rudolph0.h index 68e50d7df..21ac1c086 100644 --- a/core/net/rime/rudolph0.h +++ b/core/net/rime/rudolph0.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rudolph0 Single-hop reliable bulk data transfer (rudolph0) - * @{ - * - * The rudolph0 module implements a single-hop reliable bulk data - * transfer mechanism. - * - * \section channels Channels - * - * The rudolph0 module uses 2 channels; one for data packets and one - * for NACK and repair packets. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rudolph0 Single-hop reliable bulk data transfer (rudolph0) + * @{ + * + * The rudolph0 module implements a single-hop reliable bulk data + * transfer mechanism. + * + * \section channels Channels + * + * The rudolph0 module uses 2 channels; one for data packets and one + * for NACK and repair packets. + * + */ + #ifndef RUDOLPH0_H_ #define RUDOLPH0_H_ diff --git a/core/net/rime/rudolph1.c b/core/net/rime/rudolph1.c index daba3c236..b1cbc8441 100644 --- a/core/net/rime/rudolph1.c +++ b/core/net/rime/rudolph1.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rudolph1 - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rudolph1 + * @{ + */ + #include #include /* for offsetof */ diff --git a/core/net/rime/rudolph1.h b/core/net/rime/rudolph1.h index ce49f356a..6b487bbe9 100644 --- a/core/net/rime/rudolph1.h +++ b/core/net/rime/rudolph1.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rudolph1 Multi-hop reliable bulk data transfer (rudolph1) - * @{ - * - * The rudolph1 module implements a multi-hop reliable bulk data - * transfer mechanism. - * - * \section channels Channels - * - * The rudolph1 module uses 2 channels; one for data transmissions and - * one for NACKs and repair packets. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rudolph1 Multi-hop reliable bulk data transfer (rudolph1) + * @{ + * + * The rudolph1 module implements a multi-hop reliable bulk data + * transfer mechanism. + * + * \section channels Channels + * + * The rudolph1 module uses 2 channels; one for data transmissions and + * one for NACKs and repair packets. + * + */ + #ifndef RUDOLPH1_H_ #define RUDOLPH1_H_ diff --git a/core/net/rime/rudolph2.c b/core/net/rime/rudolph2.c index 593fea3fc..e8cfac35e 100644 --- a/core/net/rime/rudolph2.c +++ b/core/net/rime/rudolph2.c @@ -1,14 +1,3 @@ -/* XXX todo: add timeout so that hops_from_sink is reset to MAX - after a while. */ - -/* XXX todo: use a ctimer to drive peridodic transmission: the current - way does not work if a queuebuf cannot be allocated. */ - -/** - * \addtogroup rudolph2 - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -48,6 +37,17 @@ * Adam Dunkels */ +/** + * \addtogroup rudolph2 + * @{ + */ + +/* XXX todo: add timeout so that hops_from_sink is reset to MAX + after a while. */ + +/* XXX todo: use a ctimer to drive peridodic transmission: the current + way does not work if a queuebuf cannot be allocated. */ + #include #include /* for offsetof */ diff --git a/core/net/rime/rudolph2.h b/core/net/rime/rudolph2.h index 1c85d0810..6afe5506e 100644 --- a/core/net/rime/rudolph2.h +++ b/core/net/rime/rudolph2.h @@ -1,22 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rudolph2 Single-hop reliable bulk data transfer (rudolph2) - * @{ - * - * The rudolph2 module implements a single-hop reliable bulk data - * transfer mechanism. - * - * \section channels Channels - * - * The rudolph2 module uses 2 channels; one for data packets and one - * for NACK and repair packets. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -56,6 +37,25 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rudolph2 Single-hop reliable bulk data transfer (rudolph2) + * @{ + * + * The rudolph2 module implements a single-hop reliable bulk data + * transfer mechanism. + * + * \section channels Channels + * + * The rudolph2 module uses 2 channels; one for data packets and one + * for NACK and repair packets. + * + */ + #ifndef RUDOLPH2_H_ #define RUDOLPH2_H_ diff --git a/core/net/rime/runicast.c b/core/net/rime/runicast.c index 89d9ca0fe..4dc1abeec 100644 --- a/core/net/rime/runicast.c +++ b/core/net/rime/runicast.c @@ -1,9 +1,3 @@ -/** - * \addtogroup rimerunicast - * @{ - */ - - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimerunicast + * @{ + */ + #include "net/rime/runicast.h" #include "net/rime/rime.h" #include diff --git a/core/net/rime/runicast.h b/core/net/rime/runicast.h index 61084764a..a3b55a5e6 100644 --- a/core/net/rime/runicast.h +++ b/core/net/rime/runicast.h @@ -1,41 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimerunicast Single-hop reliable unicast - * @{ - * - * The reliable single-hop unicast primitive (runicast) reliably sends - * a packet to a single-hop neighbor. The runicast primitive uses - * acknowledgements and retransmissions to ensure that the neighbor - * successfully receives the packet. When the receiver has - * acknowledged the packet, the ruc module notifies the sending - * application via a callback. The ruc primitive uses the stubborn - * single-hop unicast primitive to do retransmissions. Thus, the ruc - * primitive does not have to manage the details of setting up timers - * and doing retransmissions, but can concentrate on dealing with - * acknowledgements. - * - * The runicast primitive adds two packet attributes: the single-hop - * packet type and the single-hop packet ID. The runicast primitive - * uses the packet ID attribute as a sequence number for matching - * acknowledgement packets to the corresponding data packets. - * - * The application or protocol that uses the runicast primitive can - * specify the maximum number of transmissions that the ruc module - * should attempt before the packet times out. If a packet times out, - * the application or protocol that sent the packet is notified with a - * callback. - * - * - * \section channels Channels - * - * The runicast module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -75,6 +37,44 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimerunicast Single-hop reliable unicast + * @{ + * + * The reliable single-hop unicast primitive (runicast) reliably sends + * a packet to a single-hop neighbor. The runicast primitive uses + * acknowledgements and retransmissions to ensure that the neighbor + * successfully receives the packet. When the receiver has + * acknowledged the packet, the ruc module notifies the sending + * application via a callback. The ruc primitive uses the stubborn + * single-hop unicast primitive to do retransmissions. Thus, the ruc + * primitive does not have to manage the details of setting up timers + * and doing retransmissions, but can concentrate on dealing with + * acknowledgements. + * + * The runicast primitive adds two packet attributes: the single-hop + * packet type and the single-hop packet ID. The runicast primitive + * uses the packet ID attribute as a sequence number for matching + * acknowledgement packets to the corresponding data packets. + * + * The application or protocol that uses the runicast primitive can + * specify the maximum number of transmissions that the ruc module + * should attempt before the packet times out. If a packet times out, + * the application or protocol that sent the packet is notified with a + * callback. + * + * + * \section channels Channels + * + * The runicast module uses 1 channel. + * + */ + #ifndef RUNICAST_H_ #define RUNICAST_H_ diff --git a/core/net/rime/stbroadcast.c b/core/net/rime/stbroadcast.c index 970d69bc3..7f10813c1 100644 --- a/core/net/rime/stbroadcast.c +++ b/core/net/rime/stbroadcast.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimestbroadcast - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +38,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimestbroadcast + * @{ + */ + #include "net/rime/stbroadcast.h" #include "net/rime/rime.h" #include diff --git a/core/net/rime/stbroadcast.h b/core/net/rime/stbroadcast.h index 6d7f175ee..2c04dc273 100644 --- a/core/net/rime/stbroadcast.h +++ b/core/net/rime/stbroadcast.h @@ -1,23 +1,3 @@ -/** - * \addtogroup rime - * @{ -*/ - -/** - * \defgroup rimestbroadcast Stubborn best-effort local area broadcast - * @{ - * - * The stbroadcast module provides stubborn anonymous best-effort local area - * broadcast. A message sent with the stbroadcast module is repeated until - * either the message is canceled or a new message is sent. Messages - * sent with the stbroadcast module are not identified with a sender ID. - * - * \section channels Channels - * - * The stbroadcast module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -57,6 +37,26 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ +*/ + +/** + * \defgroup rimestbroadcast Stubborn best-effort local area broadcast + * @{ + * + * The stbroadcast module provides stubborn anonymous best-effort local area + * broadcast. A message sent with the stbroadcast module is repeated until + * either the message is canceled or a new message is sent. Messages + * sent with the stbroadcast module are not identified with a sender ID. + * + * \section channels Channels + * + * The stbroadcast module uses 1 channel. + * + */ + #ifndef STBROADCAST_H_ #define STBROADCAST_H_ diff --git a/core/net/rime/stunicast.c b/core/net/rime/stunicast.c index 5c7f22eb8..75b406e9a 100644 --- a/core/net/rime/stunicast.c +++ b/core/net/rime/stunicast.c @@ -1,8 +1,3 @@ -/** - * \addtogroup rimestunicast - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimestunicast + * @{ + */ + #include "net/rime/stunicast.h" #include "net/rime/rime.h" #include diff --git a/core/net/rime/stunicast.h b/core/net/rime/stunicast.h index afe6157ec..cac93cc84 100644 --- a/core/net/rime/stunicast.h +++ b/core/net/rime/stunicast.h @@ -1,35 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimestunicast Stubborn unicast - * @{ - * - * The stubborn single-hop unicast primitive (stunicast) repeatedly - * sends a packet to a single-hop neighbor using the unicast - * primitive. The stunicast primitive sends and resends the packet - * until an upper layer primitive or protocol cancels the - * transmission. While it is possible for applications and protocols - * that use Rime to use the stubborn single-hop unicast primitive - * directly, the stunicast primitive is primarily used by the reliable - * single-hop unicast (runicast) primitive. - * - * Before the stunicast primitive sends a packet, it allocates a queue - * buffer, to which the application data and packet attributes is - * copied, and sets a timer. When the timer expires, the stunicast - * primitive copies the queue buffer to the Rime buffer and sends the - * packet using the unicast primitive. The stunicast primitive sets the - * number of retransmissions for a packet as a packet attribute on - * outgoing packets. - * - * \section channels Channels - * - * The stunicast module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -69,6 +37,38 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimestunicast Stubborn unicast + * @{ + * + * The stubborn single-hop unicast primitive (stunicast) repeatedly + * sends a packet to a single-hop neighbor using the unicast + * primitive. The stunicast primitive sends and resends the packet + * until an upper layer primitive or protocol cancels the + * transmission. While it is possible for applications and protocols + * that use Rime to use the stubborn single-hop unicast primitive + * directly, the stunicast primitive is primarily used by the reliable + * single-hop unicast (runicast) primitive. + * + * Before the stunicast primitive sends a packet, it allocates a queue + * buffer, to which the application data and packet attributes is + * copied, and sets a timer. When the timer expires, the stunicast + * primitive copies the queue buffer to the Rime buffer and sends the + * packet using the unicast primitive. The stunicast primitive sets the + * number of retransmissions for a packet as a packet attribute on + * outgoing packets. + * + * \section channels Channels + * + * The stunicast module uses 1 channel. + * + */ + #ifndef STUNICAST_H_ #define STUNICAST_H_ diff --git a/core/net/rime/timesynch.c b/core/net/rime/timesynch.c index a7835e133..d9ff03c2d 100644 --- a/core/net/rime/timesynch.c +++ b/core/net/rime/timesynch.c @@ -1,9 +1,3 @@ -/** - * \addtogroup timesynch - * @{ - */ - - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup timesynch + * @{ + */ + #include "contiki.h" #include "lib/random.h" #include "net/rime/rime.h" diff --git a/core/net/rime/timesynch.h b/core/net/rime/timesynch.h index a17af5064..7e7f83df1 100644 --- a/core/net/rime/timesynch.h +++ b/core/net/rime/timesynch.h @@ -1,30 +1,3 @@ -/** - * \addtogroup sys - * @{ - */ - -/** - * \defgroup timesynch Implicit network time synchronization - * @{ - * - * This crude and simple network time synchronization module - * synchronizes clocks of all nodes in a network. The time - * synchronization is implicit in that no explicit time - * synchronization messages are sent: the module relies on the - * underlying network device driver to timestamp all radio messages, - * both outgoing and incoming. The code currently only works on the - * Tmote Sky platform and the cc2420 driver. - * - * Every node has an authority level, which is included in every - * outgoing packet. If a message is received from a node with higher - * authority (lower authority number), the node adjusts its clock - * towards the clock of the sending node. - * - * The timesynch module is implemented as a meta-MAC protocol, so that - * the module is invoked for every incoming packet. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -64,6 +37,33 @@ * Adam Dunkels */ +/** + * \addtogroup sys + * @{ + */ + +/** + * \defgroup timesynch Implicit network time synchronization + * @{ + * + * This crude and simple network time synchronization module + * synchronizes clocks of all nodes in a network. The time + * synchronization is implicit in that no explicit time + * synchronization messages are sent: the module relies on the + * underlying network device driver to timestamp all radio messages, + * both outgoing and incoming. The code currently only works on the + * Tmote Sky platform and the cc2420 driver. + * + * Every node has an authority level, which is included in every + * outgoing packet. If a message is received from a node with higher + * authority (lower authority number), the node adjusts its clock + * towards the clock of the sending node. + * + * The timesynch module is implemented as a meta-MAC protocol, so that + * the module is invoked for every incoming packet. + * + */ + #ifndef TIMESYNCH_H_ #define TIMESYNCH_H_ diff --git a/core/net/rime/trickle.c b/core/net/rime/trickle.c index 3a9bf4158..c72d01ab8 100644 --- a/core/net/rime/trickle.c +++ b/core/net/rime/trickle.c @@ -1,8 +1,3 @@ -/** - * \addtogroup trickle - * @{ - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup trickle + * @{ + */ + #include "net/rime/trickle.h" #include "lib/random.h" diff --git a/core/net/rime/trickle.h b/core/net/rime/trickle.h index 4dc0fdd0f..5a33bec32 100644 --- a/core/net/rime/trickle.h +++ b/core/net/rime/trickle.h @@ -1,20 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup trickle Reliable single-source multi-hop flooding - * @{ - * - * The trickle module sends a single packet to all nodes on the network. - * - * \section channels Channels - * - * The trickle module uses 1 channel. - * - */ - /* * Copyright (c) 2007, Swedish Institute of Computer Science. * All rights reserved. @@ -54,6 +37,23 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup trickle Reliable single-source multi-hop flooding + * @{ + * + * The trickle module sends a single packet to all nodes on the network. + * + * \section channels Channels + * + * The trickle module uses 1 channel. + * + */ + #ifndef TRICKLE_H_ #define TRICKLE_H_ diff --git a/core/net/rime/unicast.c b/core/net/rime/unicast.c index fa2493a31..14242db08 100644 --- a/core/net/rime/unicast.c +++ b/core/net/rime/unicast.c @@ -1,9 +1,3 @@ - -/** - * \addtogroup rimeuc - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -43,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup rimeuc + * @{ + */ + #include "net/rime/rime.h" #include "net/rime/unicast.h" #include diff --git a/core/net/rime/unicast.h b/core/net/rime/unicast.h index b1c069d0e..9b0e06db7 100644 --- a/core/net/rime/unicast.h +++ b/core/net/rime/unicast.h @@ -1,25 +1,3 @@ -/** - * \addtogroup rime - * @{ - */ - -/** - * \defgroup rimeuc Single-hop unicast - * @{ - * - * The unicast module sends a packet to an identified single-hop - * neighbor. The unicast primitive uses the broadcast primitive and - * adds the single-hop receiver address attribute to the outgoing - * packets. For incoming packets, the unicast module inspects the - * single-hop receiver address attribute and discards the packet if - * the address does not match the address of the node. - * - * \section channels Channels - * - * The unicast module uses 1 channel. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -59,6 +37,28 @@ * Adam Dunkels */ +/** + * \addtogroup rime + * @{ + */ + +/** + * \defgroup rimeuc Single-hop unicast + * @{ + * + * The unicast module sends a packet to an identified single-hop + * neighbor. The unicast primitive uses the broadcast primitive and + * adds the single-hop receiver address attribute to the outgoing + * packets. For incoming packets, the unicast module inspects the + * single-hop receiver address attribute and discards the packet if + * the address does not match the address of the node. + * + * \section channels Channels + * + * The unicast module uses 1 channel. + * + */ + #ifndef UNICAST_H_ #define UNICAST_H_ diff --git a/core/net/rpl/rpl-dag.c b/core/net/rpl/rpl-dag.c index 81515a11c..3869fdc7e 100644 --- a/core/net/rpl/rpl-dag.c +++ b/core/net/rpl/rpl-dag.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -33,6 +29,7 @@ * This file is part of the Contiki operating system. * */ + /** * \file * Logic for Directed Acyclic Graphs in RPL. @@ -41,6 +38,10 @@ * Contributors: George Oikonomou (multicast) */ +/** + * \addtogroup uip6 + * @{ + */ #include "contiki.h" #include "net/rpl/rpl-private.h" diff --git a/core/net/rpl/rpl-ext-header.c b/core/net/rpl/rpl-ext-header.c index c0a5b3afc..dde2777f9 100644 --- a/core/net/rpl/rpl-ext-header.c +++ b/core/net/rpl/rpl-ext-header.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2009, Swedish Institute of Computer Science. * All rights reserved. @@ -32,6 +28,7 @@ * * This file is part of the Contiki operating system. */ + /** * \file * Management of extension headers for ContikiRPL. @@ -42,6 +39,11 @@ * Nicolas Tsiftes . */ +/** + * \addtogroup uip6 + * @{ + */ + #include "net/ip/uip.h" #include "net/ip/tcpip.h" #include "net/ipv6/uip-ds6.h" diff --git a/core/net/rpl/rpl-icmp6.c b/core/net/rpl/rpl-icmp6.c index 6f5dbd1b2..d80180155 100644 --- a/core/net/rpl/rpl-icmp6.c +++ b/core/net/rpl/rpl-icmp6.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -33,6 +29,7 @@ * This file is part of the Contiki operating system. * */ + /** * \file * ICMP6 I/O for RPL control messages. @@ -43,6 +40,11 @@ * George Oikonomou (multicast) */ +/** + * \addtogroup uip6 + * @{ + */ + #include "net/ip/tcpip.h" #include "net/ip/uip.h" #include "net/ipv6/uip-ds6.h" diff --git a/core/net/rpl/rpl-mrhof.c b/core/net/rpl/rpl-mrhof.c index e66a4d0f5..2d4c2109e 100644 --- a/core/net/rpl/rpl-mrhof.c +++ b/core/net/rpl/rpl-mrhof.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -33,6 +29,7 @@ * This file is part of the Contiki operating system. * */ + /** * \file * The Minimum Rank with Hysteresis Objective Function (MRHOF) @@ -44,6 +41,11 @@ * \author Joakim Eriksson , Nicolas Tsiftes */ +/** + * \addtogroup uip6 + * @{ + */ + #include "net/rpl/rpl-private.h" #include "net/nbr-table.h" diff --git a/core/net/rpl/rpl-of0.c b/core/net/rpl/rpl-of0.c index dc0bae47f..0ad1d710e 100644 --- a/core/net/rpl/rpl-of0.c +++ b/core/net/rpl/rpl-of0.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -32,6 +28,7 @@ * * This file is part of the Contiki operating system. */ + /** * \file * An implementation of RPL's objective function 0. @@ -39,6 +36,11 @@ * \author Joakim Eriksson , Nicolas Tsiftes */ +/** + * \addtogroup uip6 + * @{ + */ + #include "net/rpl/rpl-private.h" #define DEBUG DEBUG_NONE diff --git a/core/net/rpl/rpl-timers.c b/core/net/rpl/rpl-timers.c index d8dc68c3f..1926d3495 100644 --- a/core/net/rpl/rpl-timers.c +++ b/core/net/rpl/rpl-timers.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2010, Swedish Institute of Computer Science. * All rights reserved. @@ -32,6 +28,7 @@ * * This file is part of the Contiki operating system. */ + /** * \file * RPL timer management. @@ -39,6 +36,11 @@ * \author Joakim Eriksson , Nicolas Tsiftes */ +/** + * \addtogroup uip6 + * @{ + */ + #include "contiki-conf.h" #include "net/rpl/rpl-private.h" #include "net/ipv6/multicast/uip-mcast6.h" diff --git a/core/net/rpl/rpl.c b/core/net/rpl/rpl.c index 3e7863c06..d54cb5327 100644 --- a/core/net/rpl/rpl.c +++ b/core/net/rpl/rpl.c @@ -1,7 +1,3 @@ -/** - * \addtogroup uip6 - * @{ - */ /* * Copyright (c) 2009, Swedish Institute of Computer Science. * All rights reserved. @@ -32,6 +28,7 @@ * * This file is part of the Contiki operating system. */ + /** * \file * ContikiRPL, an implementation of RPL: IPv6 Routing Protocol @@ -40,6 +37,11 @@ * \author Joakim Eriksson , Nicolas Tsiftes */ +/** + * \addtogroup uip6 + * @{ + */ + #include "net/ip/uip.h" #include "net/ip/tcpip.h" #include "net/ipv6/uip-ds6.h" diff --git a/core/sys/arg.c b/core/sys/arg.c index 080dea9bb..090034380 100644 --- a/core/sys/arg.c +++ b/core/sys/arg.c @@ -1,34 +1,3 @@ -/** - * \file - * Argument buffer for passing arguments when starting processes - * \author Adam Dunkels - */ - -/** - * \addtogroup sys - * @{ - */ - -/** - * \defgroup arg Argument buffer - * @{ - * - * The argument buffer can be used when passing an argument from an - * exiting process to a process that has not been created yet. Since - * the exiting process will have exited when the new process is - * started, the argument cannot be passed in any of the processes' - * addres spaces. In such situations, the argument buffer can be used. - * - * The argument buffer is statically allocated in memory and is - * globally accessible to all processes. - * - * An argument buffer is allocated with the arg_alloc() function and - * deallocated with the arg_free() function. The arg_free() function - * is designed so that it can take any pointer, not just an argument - * buffer pointer. If the pointer to arg_free() is not an argument - * buffer, the function does nothing. - */ - /* * Copyright (c) 2003, Adam Dunkels. * All rights reserved. @@ -63,6 +32,37 @@ * */ +/** + * \file + * Argument buffer for passing arguments when starting processes + * \author Adam Dunkels + */ + +/** + * \addtogroup sys + * @{ + */ + +/** + * \defgroup arg Argument buffer + * @{ + * + * The argument buffer can be used when passing an argument from an + * exiting process to a process that has not been created yet. Since + * the exiting process will have exited when the new process is + * started, the argument cannot be passed in any of the processes' + * addres spaces. In such situations, the argument buffer can be used. + * + * The argument buffer is statically allocated in memory and is + * globally accessible to all processes. + * + * An argument buffer is allocated with the arg_alloc() function and + * deallocated with the arg_free() function. The arg_free() function + * is designed so that it can take any pointer, not just an argument + * buffer pointer. If the pointer to arg_free() is not an argument + * buffer, the function does nothing. + */ + #include "contiki.h" #include "sys/arg.h" diff --git a/core/sys/cc.h b/core/sys/cc.h index 2fd9c2208..53a5af4db 100644 --- a/core/sys/cc.h +++ b/core/sys/cc.h @@ -1,13 +1,3 @@ -/** - * \file - * Default definitions of C compiler quirk work-arounds. - * \author Adam Dunkels - * - * This file is used for making use of extra functionality of some C - * compilers used for Contiki, and defining work-arounds for various - * quirks and problems with some other C compilers. - */ - /* * Copyright (c) 2003, Adam Dunkels. * All rights reserved. @@ -41,6 +31,17 @@ * * */ + +/** + * \file + * Default definitions of C compiler quirk work-arounds. + * \author Adam Dunkels + * + * This file is used for making use of extra functionality of some C + * compilers used for Contiki, and defining work-arounds for various + * quirks and problems with some other C compilers. + */ + #ifndef CC_H_ #define CC_H_ diff --git a/core/sys/clock.h b/core/sys/clock.h index bbf5988ee..46232273e 100644 --- a/core/sys/clock.h +++ b/core/sys/clock.h @@ -1,3 +1,37 @@ +/* + * 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 + * + */ + /** \addtogroup sys * @{ */ @@ -32,39 +66,6 @@ * @{ */ -/* - * 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 - * - */ #ifndef CLOCK_H_ #define CLOCK_H_ diff --git a/core/sys/compower.c b/core/sys/compower.c index b920c3e70..02a0f3c4c 100644 --- a/core/sys/compower.c +++ b/core/sys/compower.c @@ -1,8 +1,3 @@ -/** - * \addtogroup compower - * @{ - */ - /* * Copyright (c) 2009, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup compower + * @{ + */ + #include "contiki-conf.h" #include "sys/energest.h" #include "sys/compower.h" diff --git a/core/sys/compower.h b/core/sys/compower.h index 202065eb3..03d984193 100644 --- a/core/sys/compower.h +++ b/core/sys/compower.h @@ -1,17 +1,3 @@ -/** \addtogroup sys - * @{ */ - -/** - * \defgroup compower Communication power accounting - * @{ - * - * The compower module accumulates power consumption information and - * attributes it to communication activities. Examples of - * communication activities are packet transmission, packet reception, - * and idle listening. - * - */ - /* * Copyright (c) 2009, Swedish Institute of Computer Science. * All rights reserved. @@ -51,6 +37,20 @@ * Adam Dunkels */ +/** \addtogroup sys + * @{ */ + +/** + * \defgroup compower Communication power accounting + * @{ + * + * The compower module accumulates power consumption information and + * attributes it to communication activities. Examples of + * communication activities are packet transmission, packet reception, + * and idle listening. + * + */ + #ifndef COMPOWER_H_ #define COMPOWER_H_ diff --git a/core/sys/ctimer.c b/core/sys/ctimer.c index e6090a9a8..ebf5dba89 100644 --- a/core/sys/ctimer.c +++ b/core/sys/ctimer.c @@ -1,8 +1,3 @@ -/** - * \addtogroup ctimer - * @{ - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -42,6 +37,11 @@ * Adam Dunkels */ +/** + * \addtogroup ctimer + * @{ + */ + #include "sys/ctimer.h" #include "contiki.h" #include "lib/list.h" diff --git a/core/sys/ctimer.h b/core/sys/ctimer.h index 27311ddfb..bebe8a532 100644 --- a/core/sys/ctimer.h +++ b/core/sys/ctimer.h @@ -1,17 +1,3 @@ -/** - * \addtogroup sys - * @{ - */ - -/** - * \defgroup ctimer Callback timer - * @{ - * - * The ctimer module provides a timer mechanism that calls a specified - * C function when a ctimer expires. - * - */ - /* * Copyright (c) 2006, Swedish Institute of Computer Science. * All rights reserved. @@ -51,6 +37,20 @@ * Adam Dunkels */ +/** + * \addtogroup sys + * @{ + */ + +/** + * \defgroup ctimer Callback timer + * @{ + * + * The ctimer module provides a timer mechanism that calls a specified + * C function when a ctimer expires. + * + */ + #ifndef CTIMER_H_ #define CTIMER_H_ diff --git a/core/sys/dsc.h b/core/sys/dsc.h index 5c3994741..ad7632390 100644 --- a/core/sys/dsc.h +++ b/core/sys/dsc.h @@ -1,30 +1,3 @@ -/** - * \file - * Declaration of the DSC program description structure. - * \author Adam Dunkels - * - */ - -/** - * \addtogroup loader - * @{ - */ - -/** - * \page dsc The program description structure - * - * The Contiki DSC structure is used for describing programs. It - * includes a string describing the program, the name of the program - * file on disk (or a pointer to the programs initialization function - * for systems without disk support), a bitmap icon and a text version - * of the same icon. - * - * The DSC is saved into a file which can be loaded by programs such - * as the "Directory" application which reads all DSC files on disk - * and presents the icons and descriptions in a window. - * - */ - /* * Copyright (c) 2003, Adam Dunkels. * All rights reserved. @@ -58,6 +31,34 @@ * * */ + +/** + * \file + * Declaration of the DSC program description structure. + * \author Adam Dunkels + * + */ + +/** + * \addtogroup loader + * @{ + */ + +/** + * \page dsc The program description structure + * + * The Contiki DSC structure is used for describing programs. It + * includes a string describing the program, the name of the program + * file on disk (or a pointer to the programs initialization function + * for systems without disk support), a bitmap icon and a text version + * of the same icon. + * + * The DSC is saved into a file which can be loaded by programs such + * as the "Directory" application which reads all DSC files on disk + * and presents the icons and descriptions in a window. + * + */ + #ifndef DSC_H_ #define DSC_H_ diff --git a/core/sys/etimer.c b/core/sys/etimer.c index 34917aa93..719401115 100644 --- a/core/sys/etimer.c +++ b/core/sys/etimer.c @@ -1,15 +1,3 @@ -/** - * \addtogroup etimer - * @{ - */ - -/** - * \file - * Event timer library implementation. - * \author - * Adam Dunkels - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -44,6 +32,18 @@ * */ +/** + * \addtogroup etimer + * @{ + */ + +/** + * \file + * Event timer library implementation. + * \author + * Adam Dunkels + */ + #include "contiki-conf.h" #include "sys/etimer.h" diff --git a/core/sys/etimer.h b/core/sys/etimer.h index 10452dc2a..b1f57b01a 100644 --- a/core/sys/etimer.h +++ b/core/sys/etimer.h @@ -1,31 +1,3 @@ -/** \addtogroup sys - * @{ */ - -/** - * \defgroup etimer Event timers - * - * Event timers provides a way to generate timed events. An event - * timer will post an event to the process that set the timer when the - * event timer expires. - * - * An event timer is declared as a \c struct \c etimer and all access - * to the event timer is made by a pointer to the declared event - * timer. - * - * \sa \ref timer "Simple timer library" - * \sa \ref clock "Clock library" (used by the timer library) - * - * @{ - */ - - -/** - * \file - * Event timer header file. - * \author - * Adam Dunkels - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -59,6 +31,34 @@ * Author: Adam Dunkels * */ + +/** + * \file + * Event timer header file. + * \author + * Adam Dunkels + */ + +/** \addtogroup sys + * @{ */ + +/** + * \defgroup etimer Event timers + * + * Event timers provides a way to generate timed events. An event + * timer will post an event to the process that set the timer when the + * event timer expires. + * + * An event timer is declared as a \c struct \c etimer and all access + * to the event timer is made by a pointer to the declared event + * timer. + * + * \sa \ref timer "Simple timer library" + * \sa \ref clock "Clock library" (used by the timer library) + * + * @{ + */ + #ifndef ETIMER_H_ #define ETIMER_H_ diff --git a/core/sys/loader.h b/core/sys/loader.h index e54629aff..7d2e264c6 100644 --- a/core/sys/loader.h +++ b/core/sys/loader.h @@ -1,23 +1,3 @@ -/** \addtogroup sys - * @{ - */ - -/** - * \defgroup loader The Contiki program loader - * - * The Contiki program loader is an abstract interface for loading and - * starting programs. - * - * @{ - */ - -/** - * \file - * Default definitions and error values for the Contiki program loader. - * \author Adam Dunkels - * - */ - /* * Copyright (c) 2003, Adam Dunkels. * All rights reserved. @@ -51,6 +31,27 @@ * * */ + +/** + * \file + * Default definitions and error values for the Contiki program loader. + * \author Adam Dunkels + * + */ + +/** \addtogroup sys + * @{ + */ + +/** + * \defgroup loader The Contiki program loader + * + * The Contiki program loader is an abstract interface for loading and + * starting programs. + * + * @{ + */ + #ifndef LOADER_H_ #define LOADER_H_ diff --git a/core/sys/rtimer.c b/core/sys/rtimer.c index 282c8d86b..cf96a17bf 100644 --- a/core/sys/rtimer.c +++ b/core/sys/rtimer.c @@ -1,17 +1,3 @@ -/** - * \addtogroup rt - * @{ - */ - -/** - * \file - * Implementation of the architecture-agnostic parts of the real-time timer module. - * \author - * Adam Dunkels - * - */ - - /* * Copyright (c) 2005, Swedish Institute of Computer Science * All rights reserved. @@ -44,6 +30,19 @@ * */ +/** + * \file + * Implementation of the architecture-agnostic parts of the real-time timer module. + * \author + * Adam Dunkels + * + */ + +/** + * \addtogroup rt + * @{ + */ + #include "sys/rtimer.h" #include "contiki.h" diff --git a/core/sys/rtimer.h b/core/sys/rtimer.h index 7f393947d..11dde5fa1 100644 --- a/core/sys/rtimer.h +++ b/core/sys/rtimer.h @@ -1,23 +1,3 @@ -/** \addtogroup sys - * @{ */ - -/** - * \defgroup rt Real-time task scheduling - * - * The real-time module handles the scheduling and execution of - * real-time tasks (with predictable execution times). - * - * @{ - */ - -/** - * \file - * Header file for the real-time timer module. - * \author - * Adam Dunkels - * - */ - /* * Copyright (c) 2005, Swedish Institute of Computer Science * All rights reserved. @@ -49,6 +29,27 @@ * This file is part of the Contiki operating system. * */ + +/** + * \file + * Header file for the real-time timer module. + * \author + * Adam Dunkels + * + */ + +/** \addtogroup sys + * @{ */ + +/** + * \defgroup rt Real-time task scheduling + * + * The real-time module handles the scheduling and execution of + * real-time tasks (with predictable execution times). + * + * @{ + */ + #ifndef RTIMER_H_ #define RTIMER_H_ diff --git a/core/sys/stimer.c b/core/sys/stimer.c index 0e13651d8..86545f59e 100644 --- a/core/sys/stimer.c +++ b/core/sys/stimer.c @@ -1,15 +1,3 @@ -/** - * \addtogroup stimer - * @{ - */ - -/** - * \file - * Timer of seconds library implementation. - * \author - * Adam Dunkels , Nicolas Tsiftes - */ - /* * Copyright (c) 2004, 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -44,6 +32,18 @@ * */ +/** + * \file + * Timer of seconds library implementation. + * \author + * Adam Dunkels , Nicolas Tsiftes + */ + +/** + * \addtogroup stimer + * @{ + */ + #include "contiki-conf.h" #include "sys/clock.h" #include "sys/stimer.h" diff --git a/core/sys/stimer.h b/core/sys/stimer.h index 3615fc58c..6ef7db5de 100644 --- a/core/sys/stimer.h +++ b/core/sys/stimer.h @@ -1,37 +1,3 @@ -/** \addtogroup sys - * @{ */ - -/** - * \defgroup stimer Seconds timer library - * - * The stimer library provides functions for setting, resetting and - * restarting timers, and for checking if a timer has expired. An - * application must "manually" check if its timers have expired; this - * is not done automatically. - * - * A timer is declared as a \c struct \c stimer and all access to the - * timer is made by a pointer to the declared timer. - * - * \note The stimer library is not able to post events when a timer - * expires. The \ref etimer "Event timers" should be used for this - * purpose. - * - * \note The stimer library uses the \ref clock "Clock library" to - * measure time. Intervals should be specified in the seconds. - * - * \sa \ref etimer "Event timers" - * - * @{ - */ - - -/** - * \file - * Second timer library header file. - * \author - * Adam Dunkels , Nicolas Tsiftes - */ - /* * Copyright (c) 2004, 2008, Swedish Institute of Computer Science. * All rights reserved. @@ -65,6 +31,40 @@ * Author: Adam Dunkels , Nicolas Tsiftes * */ + +/** + * \file + * Second timer library header file. + * \author + * Adam Dunkels , Nicolas Tsiftes + */ + +/** \addtogroup sys + * @{ */ + +/** + * \defgroup stimer Seconds timer library + * + * The stimer library provides functions for setting, resetting and + * restarting timers, and for checking if a timer has expired. An + * application must "manually" check if its timers have expired; this + * is not done automatically. + * + * A timer is declared as a \c struct \c stimer and all access to the + * timer is made by a pointer to the declared timer. + * + * \note The stimer library is not able to post events when a timer + * expires. The \ref etimer "Event timers" should be used for this + * purpose. + * + * \note The stimer library uses the \ref clock "Clock library" to + * measure time. Intervals should be specified in the seconds. + * + * \sa \ref etimer "Event timers" + * + * @{ + */ + #ifndef STIMER_H_ #define STIMER_H_ diff --git a/core/sys/timer.c b/core/sys/timer.c index d13b61f98..ea0710911 100644 --- a/core/sys/timer.c +++ b/core/sys/timer.c @@ -1,15 +1,3 @@ -/** - * \addtogroup timer - * @{ - */ - -/** - * \file - * Timer library implementation. - * \author - * Adam Dunkels - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -44,6 +32,18 @@ * */ +/** + * \file + * Timer library implementation. + * \author + * Adam Dunkels + */ + +/** + * \addtogroup timer + * @{ + */ + #include "contiki-conf.h" #include "sys/clock.h" #include "sys/timer.h" diff --git a/core/sys/timer.h b/core/sys/timer.h index 06a25524c..969137507 100644 --- a/core/sys/timer.h +++ b/core/sys/timer.h @@ -1,42 +1,3 @@ -/** \addtogroup sys - * @{ */ - -/** - * \defgroup timer Timer library - * - * The Contiki kernel does not provide support for timed - * events. Rather, an application that wants to use timers needs to - * explicitly use the timer library. - * - * The timer library provides functions for setting, resetting and - * restarting timers, and for checking if a timer has expired. An - * application must "manually" check if its timers have expired; this - * is not done automatically. - * - * A timer is declared as a \c struct \c timer and all access to the - * timer is made by a pointer to the declared timer. - * - * \note The timer library is not able to post events when a timer - * expires. The \ref etimer "Event timers" should be used for this - * purpose. - * - * \note The timer library uses the \ref clock "Clock library" to - * measure time. Intervals should be specified in the format used by - * the clock library. - * - * \sa \ref etimer "Event timers" - * - * @{ - */ - - -/** - * \file - * Timer library header file. - * \author - * Adam Dunkels - */ - /* * Copyright (c) 2004, Swedish Institute of Computer Science. * All rights reserved. @@ -70,6 +31,45 @@ * Author: Adam Dunkels * */ + +/** + * \file + * Timer library header file. + * \author + * Adam Dunkels + */ + +/** \addtogroup sys + * @{ */ + +/** + * \defgroup timer Timer library + * + * The Contiki kernel does not provide support for timed + * events. Rather, an application that wants to use timers needs to + * explicitly use the timer library. + * + * The timer library provides functions for setting, resetting and + * restarting timers, and for checking if a timer has expired. An + * application must "manually" check if its timers have expired; this + * is not done automatically. + * + * A timer is declared as a \c struct \c timer and all access to the + * timer is made by a pointer to the declared timer. + * + * \note The timer library is not able to post events when a timer + * expires. The \ref etimer "Event timers" should be used for this + * purpose. + * + * \note The timer library uses the \ref clock "Clock library" to + * measure time. Intervals should be specified in the format used by + * the clock library. + * + * \sa \ref etimer "Event timers" + * + * @{ + */ + #ifndef TIMER_H_ #define TIMER_H_