[doc] Give files a common structure by placing license first (partial)
Followed by doxyen file and group tags. This patch is only a first attempt to make provide a clean structure, many more files require rework, too.
This commit is contained in:
parent
b0206e2f58
commit
85b494c16b
|
@ -1,17 +1,3 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* The program handler, used for loading programs and starting the
|
|
||||||
* screensaver.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*
|
|
||||||
* 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.
|
* Copyright (c) 2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -46,6 +32,20 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* The program handler, used for loading programs and starting the
|
||||||
|
* screensaver.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*
|
||||||
|
* 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 <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup shell
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -41,6 +36,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup shell
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "shell.h"
|
#include "shell.h"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
/** \addtogroup servreghack
|
|
||||||
* @{ */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010, Swedish Institute of Computer Science.
|
* Copyright (c) 2010, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -40,6 +37,9 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \addtogroup servreghack
|
||||||
|
* @{ */
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "contiki-lib.h"
|
#include "contiki-lib.h"
|
||||||
#include "contiki-net.h"
|
#include "contiki-net.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.
|
* Copyright (c) 2010, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -60,6 +37,29 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \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
|
#ifndef SERVREG_HACK_H
|
||||||
#define SERVREG_HACK_H
|
#define SERVREG_HACK_H
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup shell
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup shell
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "contiki-lib.h"
|
#include "contiki-lib.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.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -57,6 +37,26 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \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_
|
#ifndef SHELL_H_
|
||||||
#define SHELL_H_
|
#define SHELL_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup cfs
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, Swedish Institute of Computer Science
|
* Copyright (c) 2008, Swedish Institute of Computer Science
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -35,6 +30,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup cfs
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef CFS_COFFEE_H
|
#ifndef CFS_COFFEE_H
|
||||||
#define CFS_COFFEE_H
|
#define CFS_COFFEE_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 <adam@sics.se>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -55,6 +31,31 @@
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* CFS header file.
|
||||||
|
* \author
|
||||||
|
* Adam Dunkels <adam@sics.se>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef CFS_H_
|
||||||
#define CFS_H_
|
#define CFS_H_
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup ctk
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* CTK screen drawing module interface, ctk-draw.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*
|
|
||||||
* 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.
|
* Copyright (c) 2002-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -48,6 +32,22 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup ctk
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* CTK screen drawing module interface, ctk-draw.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*
|
||||||
|
* 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_
|
#ifndef CTK_DRAW_H_
|
||||||
#define CTK_DRAW_H_
|
#define CTK_DRAW_H_
|
||||||
|
|
||||||
|
|
|
@ -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 <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002-2003, Adam Dunkels.
|
* Copyright (c) 2002-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -47,6 +32,21 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* The Contiki Toolkit CTK, the Contiki GUI.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup ctk CTK graphical user interface
|
||||||
|
*
|
||||||
|
* The Contiki Toolkit (CTK) provides the graphical user interface for
|
||||||
|
* the Contiki system.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
|
@ -1,17 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup ctk
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* CTK header file.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*
|
|
||||||
* The CTK header file contains functioin declarations and definitions
|
|
||||||
* of CTK structures and macros.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002-2003, Adam Dunkels.
|
* Copyright (c) 2002-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -46,6 +32,20 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* CTK header file.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*
|
||||||
|
* The CTK header file contains functioin declarations and definitions
|
||||||
|
* of CTK structures and macros.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup ctk
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef CTK_H_
|
#ifndef CTK_H_
|
||||||
#define CTK_H_
|
#define CTK_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 <adam@sics.se>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Copyright (c) 2004 Swedish Institute of Computer Science.
|
/* Copyright (c) 2004 Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -50,6 +28,27 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* EEPROM functions.
|
||||||
|
* \author Adam Dunkels <adam@sics.se>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef EEPROM_H_
|
||||||
#define EEPROM_H_
|
#define EEPROM_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.
|
* Copyright (c) 2005, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -54,6 +40,20 @@
|
||||||
* Nicolas Tsiftes <nvt@sics.se>
|
* Nicolas Tsiftes <nvt@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef RADIO_H_
|
||||||
#define RADIO_H_
|
#define RADIO_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 <adam@sics.se>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, Swedish Institute of Computer Science
|
* Copyright (c) 2005, Swedish Institute of Computer Science
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -51,6 +29,29 @@
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Header file for the CRC16 calculcation
|
||||||
|
* \author
|
||||||
|
* Adam Dunkels <adam@sics.se>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** \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_
|
#ifndef CRC16_H_
|
||||||
#define CRC16_H_
|
#define CRC16_H_
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup list
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Linked list library implementation.
|
|
||||||
*
|
|
||||||
* \author Adam Dunkels <adam@sics.se>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -44,6 +31,20 @@
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Linked list library implementation.
|
||||||
|
*
|
||||||
|
* \author Adam Dunkels <adam@sics.se>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup list
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "lib/list.h"
|
#include "lib/list.h"
|
||||||
|
|
||||||
#define NULL 0
|
#define NULL 0
|
||||||
|
|
|
@ -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 <adam@sics.se>
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -65,6 +31,38 @@
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Linked list manipulation routines.
|
||||||
|
* \author Adam Dunkels <adam@sics.se>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** \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_
|
#ifndef LIST_H_
|
||||||
#define LIST_H_
|
#define LIST_H_
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,3 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* PETSCII/ASCII conversion functions.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*
|
|
||||||
* 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.
|
* Copyright (c) 2002, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -46,6 +31,22 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* PETSCII/ASCII conversion functions.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*
|
||||||
|
* 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_
|
#ifndef PETSCIICONV_H_
|
||||||
#define PETSCIICONV_H_
|
#define PETSCIICONV_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.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +37,20 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \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_
|
#ifndef RINGBUF_H_
|
||||||
#define RINGBUF_H_
|
#define RINGBUF_H_
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup trickle-timer
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Trickle timer library implementation.
|
|
||||||
* \author
|
|
||||||
* George Oikonomou - <oikonomou@users.sourceforge.net>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, George Oikonomou - <oikonomou@users.sourceforge.net>
|
* Copyright (c) 2012, George Oikonomou - <oikonomou@users.sourceforge.net>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -40,6 +28,19 @@
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Trickle timer library implementation.
|
||||||
|
* \author
|
||||||
|
* George Oikonomou - <oikonomou@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup trickle-timer
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki-conf.h"
|
#include "contiki-conf.h"
|
||||||
#include "lib/trickle-timer.h"
|
#include "lib/trickle-timer.h"
|
||||||
#include "sys/ctimer.h"
|
#include "sys/ctimer.h"
|
||||||
|
|
|
@ -1,3 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2012, George Oikonomou - <oikonomou@users.sourceforge.net>
|
||||||
|
* 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 - <oikonomou@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
/** \addtogroup lib
|
/** \addtogroup lib
|
||||||
* @{ */
|
* @{ */
|
||||||
|
|
||||||
|
@ -29,45 +68,6 @@
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Trickle timer library header file.
|
|
||||||
*
|
|
||||||
* \author
|
|
||||||
* George Oikonomou - <oikonomou@users.sourceforge.net>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (c) 2012, George Oikonomou - <oikonomou@users.sourceforge.net>
|
|
||||||
* 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_
|
#ifndef TRICKLE_TIMER_H_
|
||||||
#define TRICKLE_TIMER_H_
|
#define TRICKLE_TIMER_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 <adam@sics.se>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \addtogroup loader
|
* \addtogroup loader
|
||||||
* @{
|
* @{
|
||||||
|
@ -32,45 +72,6 @@
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Header file for the Contiki ELF loader.
|
|
||||||
* \author
|
|
||||||
* Adam Dunkels <adam@sics.se>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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_
|
#ifndef ELFLOADER_H_
|
||||||
#define ELFLOADER_H_
|
#define ELFLOADER_H_
|
||||||
|
|
||||||
|
|
|
@ -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 <adam@dunkels.com>
|
|
||||||
* \author Robert Quattlebaum <darco@deepdarc.com>
|
|
||||||
*
|
|
||||||
* 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.
|
* Copyright (c) 2002-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -62,6 +31,37 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* DNS host name to IP address resolver.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
* \author Robert Quattlebaum <darco@deepdarc.com>
|
||||||
|
*
|
||||||
|
* 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/tcpip.h"
|
||||||
#include "net/ip/resolv.h"
|
#include "net/ip/resolv.h"
|
||||||
#include "net/ip/uip-udp-packet.h"
|
#include "net/ip/uip-udp-packet.h"
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* uIP DNS resolver code header file.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002-2003, Adam Dunkels.
|
* Copyright (c) 2002-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -36,6 +30,13 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* uIP DNS resolver code header file.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef RESOLV_H_
|
#ifndef RESOLV_H_
|
||||||
#define RESOLV_H_
|
#define RESOLV_H_
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup simple-udp
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Swedish Institute of Computer Science.
|
* Copyright (c) 2011, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -43,6 +37,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup simple-udp
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki-net.h"
|
#include "contiki-net.h"
|
||||||
#include "net/ip/simple-udp.h"
|
#include "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.
|
* Copyright (c) 2011, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* 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
|
#ifndef SIMPLE_UDP_H
|
||||||
#define SIMPLE_UDP_H
|
#define SIMPLE_UDP_H
|
||||||
|
|
||||||
|
|
|
@ -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 <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, Adam Dunkels.
|
* Copyright (c) 2001, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -56,6 +31,31 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* SLIP protocol implementation
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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
|
* This is a generic implementation of the SLIP protocol over an RS232
|
||||||
* (serial) device.
|
* (serial) device.
|
||||||
|
|
|
@ -1,14 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup slip
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* SLIP header file.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, Adam Dunkels.
|
* Copyright (c) 2001, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +31,17 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* SLIP header file.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup slip
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef SLIPDEV_H_
|
#ifndef SLIPDEV_H_
|
||||||
#define SLIPDEV_H_
|
#define SLIPDEV_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 <adam@sics.se>
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com> (IPv6 related code)
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com> (IPv6 related code)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -63,6 +31,39 @@
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Header for the Contiki/uIP interface.
|
||||||
|
* \author Adam Dunkels <adam@sics.se>
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com> (IPv6 related code)
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com> (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_
|
#ifndef TCPIP_H_
|
||||||
#define TCPIP_H_
|
#define TCPIP_H_
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,3 @@
|
||||||
|
|
||||||
/**
|
|
||||||
* \addtogroup uip
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Header file for the uIP TCP/IP stack.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com> (IPv6 related code)
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com> (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.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +31,24 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Header file for the uIP TCP/IP stack.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com> (IPv6 related code)
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com> (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_
|
#ifndef UIP_H_
|
||||||
#define UIP_H_
|
#define UIP_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 <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, Adam Dunkels.
|
* Copyright (c) 2001, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -57,6 +31,32 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Declarations of architecture specific functions.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef UIP_ARCH_H_
|
||||||
#define UIP_ARCH_H_
|
#define UIP_ARCH_H_
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,3 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Various uIP library functions.
|
|
||||||
* \author
|
|
||||||
* Adam Dunkels <adam@sics.se>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, Adam Dunkels.
|
* Copyright (c) 2002, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -39,6 +31,15 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Various uIP library functions.
|
||||||
|
* \author
|
||||||
|
* Adam Dunkels <adam@sics.se>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef UIPLIB_H_
|
#ifndef UIPLIB_H_
|
||||||
#define UIPLIB_H_
|
#define UIPLIB_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 <adam@dunkels.com>
|
|
||||||
*
|
|
||||||
* 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.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -61,6 +31,36 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Configuration options for uIP.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*
|
||||||
|
* 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_
|
#ifndef UIPOPT_H_
|
||||||
#define UIPOPT_H_
|
#define UIPOPT_H_
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uipfw
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* uIP packet forwarding header file.
|
|
||||||
* \author Adam Dunkels <adam@sics.se>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +31,18 @@
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* uIP packet forwarding header file.
|
||||||
|
* \author Adam Dunkels <adam@sics.se>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uipfw
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef UIP_FW_H_
|
#ifndef UIP_FW_H_
|
||||||
#define UIP_FW_H_
|
#define UIP_FW_H_
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,3 @@
|
||||||
#define DEBUG_PRINTF(...) /*printf(__VA_ARGS__)*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \addtogroup uip
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* The uIP TCP/IP stack code.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003, Adam Dunkels.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -44,6 +31,19 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* The uIP TCP/IP stack code.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define DEBUG_PRINTF(...) /*printf(__VA_ARGS__)*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* uIP is a small implementation of the IP, UDP and TCP protocols (as
|
* uIP is a small implementation of the IP, UDP and TCP protocols (as
|
||||||
* well as some basic ICMP stuff). The implementation couples the IP,
|
* well as some basic ICMP stuff). The implementation couples the IP,
|
||||||
|
|
|
@ -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 <adam@dunkels.com>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003, Adam Dunkels.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -57,6 +31,31 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Implementation of the ARP Address Resolution Protocol.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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 "net/ipv4/uip_arp.h"
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \addtogroup uiparp
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Macros and definitions for the ARP module.
|
|
||||||
* \author Adam Dunkels <adam@dunkels.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003, Adam Dunkels.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -48,6 +31,22 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Macros and definitions for the ARP module.
|
||||||
|
* \author Adam Dunkels <adam@dunkels.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uiparp
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef UIP_ARP_H_
|
#ifndef UIP_ARP_H_
|
||||||
#define UIP_ARP_H_
|
#define UIP_ARP_H_
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup sicslowpan
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -33,6 +29,7 @@
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file
|
* \file
|
||||||
* 6lowpan implementation (RFC4944 and draft-ietf-6lowpan-hc-06)
|
* 6lowpan implementation (RFC4944 and draft-ietf-6lowpan-hc-06)
|
||||||
|
@ -46,6 +43,11 @@
|
||||||
* \author Joel Hoglund <joel@sics.se>
|
* \author Joel Hoglund <joel@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup sicslowpan
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FOR HC-06 COMPLIANCE TODO:
|
* FOR HC-06 COMPLIANCE TODO:
|
||||||
* -Add compression options to UDP, currently only supports
|
* -Add compression options to UDP, currently only supports
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup sicslowpan
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -34,6 +29,7 @@
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file
|
* \file
|
||||||
* Header file for the 6lowpan implementation
|
* Header file for the 6lowpan implementation
|
||||||
|
@ -45,6 +41,11 @@
|
||||||
* \author Julien Abeille <jabeille@cisco.com>
|
* \author Julien Abeille <jabeille@cisco.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup sicslowpan
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef SICSLOWPAN_H_
|
#ifndef SICSLOWPAN_H_
|
||||||
#define SICSLOWPAN_H_
|
#define SICSLOWPAN_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Swedish Institute of Computer Science.
|
* Copyright (c) 2013, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -43,6 +38,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Swedish Institute of Computer Science.
|
* Copyright (c) 2013, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -43,6 +38,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef UIP_DS6_NEIGHBOR_H_
|
#ifndef UIP_DS6_NEIGHBOR_H_
|
||||||
#define UIP_DS6_NEIGHBOR_H_
|
#define UIP_DS6_NEIGHBOR_H_
|
||||||
|
|
||||||
|
|
|
@ -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 <mdurvy@cisco.com>
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com>
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -40,6 +27,21 @@
|
||||||
* SUCH DAMAGE.
|
* 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 <mdurvy@cisco.com>
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
|
@ -1,15 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* ICMPv6 echo request and error messages (RFC 4443)
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com>
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003, Adam Dunkels.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +30,18 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* ICMPv6 echo request and error messages (RFC 4443)
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com>
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "net/ipv6/uip-ds6.h"
|
#include "net/ipv6/uip-ds6.h"
|
||||||
#include "net/ipv6/uip-icmp6.h"
|
#include "net/ipv6/uip-icmp6.h"
|
||||||
|
|
|
@ -1,15 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* ICMPv6 echo request and error messages (RFC 4443)
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com>
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +30,17 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* ICMPv6 echo request and error messages (RFC 4443)
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com>
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef ICMP6_H_
|
#ifndef ICMP6_H_
|
||||||
#define ICMP6_H_
|
#define ICMP6_H_
|
||||||
|
|
|
@ -1,15 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Neighbor discovery (RFC 4861)
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -68,6 +56,18 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Neighbor discovery (RFC 4861)
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "net/ipv6/uip-icmp6.h"
|
#include "net/ipv6/uip-icmp6.h"
|
||||||
#include "net/ipv6/uip-nd6.h"
|
#include "net/ipv6/uip-nd6.h"
|
||||||
|
|
|
@ -1,15 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* Neighbor discovery (RFC 4861)
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com>
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +30,18 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* Neighbor discovery (RFC 4861)
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com>
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef UIP_ND6_H_
|
#ifndef UIP_ND6_H_
|
||||||
#define UIP_ND6_H_
|
#define UIP_ND6_H_
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup uip6
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
* The uIP TCP/IPv6 stack code.
|
|
||||||
*
|
|
||||||
* \author Adam Dunkels <adam@sics.se>
|
|
||||||
* \author Julien Abeille <jabeille@cisco.com> (IPv6 related code)
|
|
||||||
* \author Mathilde Durvy <mdurvy@cisco.com> (IPv6 related code)
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003, Adam Dunkels.
|
* Copyright (c) 2001-2003, Adam Dunkels.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -44,6 +31,20 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* The uIP TCP/IPv6 stack code.
|
||||||
|
*
|
||||||
|
* \author Adam Dunkels <adam@sics.se>
|
||||||
|
* \author Julien Abeille <jabeille@cisco.com> (IPv6 related code)
|
||||||
|
* \author Mathilde Durvy <mdurvy@cisco.com> (IPv6 related code)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup uip6
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* uIP is a small implementation of the IP, UDP and TCP protocols (as
|
* uIP is a small implementation of the IP, UDP and TCP protocols (as
|
||||||
* well as some basic ICMP stuff). The implementation couples the IP,
|
* well as some basic ICMP stuff). The implementation couples the IP,
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup linkaddr
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup linkaddr
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/linkaddr.h"
|
#include "net/linkaddr.h"
|
||||||
#include <string.h>
|
#include <string.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.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -51,6 +37,20 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup linkaddr Rime addresses
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* The linkaddr module is an abstract representation of addresses in
|
||||||
|
* Rime.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef LINKADDR_H_
|
#ifndef LINKADDR_H_
|
||||||
#define LINKADDR_H_
|
#define LINKADDR_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec802154
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -43,6 +38,11 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec802154
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/llsec/anti-replay.h"
|
#include "net/llsec/anti-replay.h"
|
||||||
#include "net/packetbuf.h"
|
#include "net/packetbuf.h"
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec802154
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec802154
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef ANTI_REPLAY_H
|
#ifndef ANTI_REPLAY_H
|
||||||
#define ANTI_REPLAY_H
|
#define ANTI_REPLAY_H
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec802154
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec802154
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/llsec/ccm-star.h"
|
#include "net/llsec/ccm-star.h"
|
||||||
#include "net/llsec/llsec802154.h"
|
#include "net/llsec/llsec802154.h"
|
||||||
#include "net/packetbuf.h"
|
#include "net/packetbuf.h"
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec802154
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec802154
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef CCM_STAR_H_
|
#ifndef CCM_STAR_H_
|
||||||
#define CCM_STAR_H_
|
#define CCM_STAR_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.
|
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -55,6 +37,24 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef LLSEC_H_
|
||||||
#define LLSEC_H_
|
#define LLSEC_H_
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \defgroup llsec802154
|
|
||||||
*
|
|
||||||
* Common functionality of 802.15.4-compliant llsec_drivers.
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +37,19 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup llsec802154
|
||||||
|
*
|
||||||
|
* Common functionality of 802.15.4-compliant llsec_drivers.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef LLSEC802154_H_
|
#ifndef LLSEC802154_H_
|
||||||
#define LLSEC802154_H_
|
#define LLSEC802154_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup noncoresec
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup noncoresec
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/llsec/noncoresec/noncoresec.h"
|
#include "net/llsec/noncoresec/noncoresec.h"
|
||||||
#include "net/llsec/anti-replay.h"
|
#include "net/llsec/anti-replay.h"
|
||||||
#include "net/llsec/llsec802154.h"
|
#include "net/llsec/llsec802154.h"
|
||||||
|
|
|
@ -1,16 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \defgroup noncoresec
|
|
||||||
*
|
|
||||||
* Noncompromise-resilient 802.15.4 security
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
* Copyright (c) 2014, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +37,19 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup noncoresec
|
||||||
|
*
|
||||||
|
* Noncompromise-resilient 802.15.4 security
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef NONCORESEC_H_
|
#ifndef NONCORESEC_H_
|
||||||
#define NONCORESEC_H_
|
#define NONCORESEC_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup nullsec
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup nullsec
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/llsec/nullsec.h"
|
#include "net/llsec/nullsec.h"
|
||||||
#include "net/mac/frame802154.h"
|
#include "net/mac/frame802154.h"
|
||||||
#include "net/netstack.h"
|
#include "net/netstack.h"
|
||||||
|
|
|
@ -1,16 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup llsec
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \defgroup nullsec
|
|
||||||
*
|
|
||||||
* Insecure link layer security driver.
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
* Copyright (c) 2013, Hasso-Plattner-Institut.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +37,19 @@
|
||||||
* Konrad Krentz <konrad.krentz@gmail.com>
|
* Konrad Krentz <konrad.krentz@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup llsec
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup nullsec
|
||||||
|
*
|
||||||
|
* Insecure link layer security driver.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef NULLSEC_H_
|
#ifndef NULLSEC_H_
|
||||||
#define NULLSEC_H_
|
#define NULLSEC_H_
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,7 @@
|
||||||
* \brief This file is where the main functions that relate to frame
|
* \brief This file is where the main functions that relate to frame
|
||||||
* manipulation will reside.
|
* manipulation will reside.
|
||||||
*/
|
*/
|
||||||
/**
|
|
||||||
* \addtogroup frame802154
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
/**
|
/**
|
||||||
* \file
|
* \file
|
||||||
* \brief 802.15.4 frame creation and parsing functions
|
* \brief 802.15.4 frame creation and parsing functions
|
||||||
|
@ -61,6 +58,11 @@
|
||||||
* frame.
|
* frame.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup frame802154
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "sys/cc.h"
|
#include "sys/cc.h"
|
||||||
#include "net/mac/frame802154.h"
|
#include "net/mac/frame802154.h"
|
||||||
#include "net/llsec/llsec802154.h"
|
#include "net/llsec/llsec802154.h"
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup packetbuf
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup packetbuf
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "contiki-net.h"
|
#include "contiki-net.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -49,6 +37,18 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup packetbuf Rime buffer management
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* The packetbuf module does Rime's buffer management.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef PACKETBUF_H_
|
#ifndef PACKETBUF_H_
|
||||||
#define PACKETBUF_H_
|
#define PACKETBUF_H_
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup packetqueue
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2009, Swedish Institute of Computer Science.
|
* Copyright (c) 2009, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -41,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup packetqueue
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "sys/ctimer.h"
|
#include "sys/ctimer.h"
|
||||||
#include "net/packetqueue.h"
|
#include "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.
|
* Copyright (c) 2009, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +37,19 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup packetqueue Packet queue
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* The packetqueue module handles a list of queued packets.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef PACKETQUEUE_H_
|
#ifndef PACKETQUEUE_H_
|
||||||
#define PACKETQUEUE_H_
|
#define PACKETQUEUE_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimequeuebuf
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimequeuebuf
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki-net.h"
|
#include "contiki-net.h"
|
||||||
#if WITH_SWAP
|
#if WITH_SWAP
|
||||||
#include "cfs/cfs.h"
|
#include "cfs/cfs.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -50,6 +37,19 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup rimequeuebuf Rime queue buffer management
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* The queuebuf module handles buffers that are queued.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef QUEUEBUF_H_
|
#ifndef QUEUEBUF_H_
|
||||||
#define QUEUEBUF_H_
|
#define QUEUEBUF_H_
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimeabc
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
* Copyright (c) 2004, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -45,6 +39,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimeabc
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki-net.h"
|
#include "contiki-net.h"
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -47,6 +29,7 @@
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file
|
* \file
|
||||||
* Header file for the Rime module Anonymous BroadCast (abc)
|
* Header file for the Rime module Anonymous BroadCast (abc)
|
||||||
|
@ -54,6 +37,24 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef ABC_H_
|
||||||
#define ABC_H_
|
#define ABC_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimeannouncement
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimeannouncement
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/rime/announcement.h"
|
#include "net/rime/announcement.h"
|
||||||
#include "lib/list.h"
|
#include "lib/list.h"
|
||||||
#include "sys/cc.h"
|
#include "sys/cc.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.
|
* Copyright (c) 2008, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -63,6 +37,32 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef ANNOUNCEMENT_H_
|
||||||
#define ANNOUNCEMENT_H_
|
#define 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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -56,6 +37,25 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef BROADCAST_ANNOUNCEMENT_H_
|
||||||
#define BROADCAST_ANNOUNCEMENT_H_
|
#define BROADCAST_ANNOUNCEMENT_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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -62,6 +37,31 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef BROADCAST_H_
|
||||||
#define BROADCAST_H_
|
#define BROADCAST_H_
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimelinkestimate
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010, Swedish Institute of Computer Science.
|
* Copyright (c) 2010, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -41,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimelinkestimate
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/rime/collect.h"
|
#include "net/rime/collect.h"
|
||||||
#include "net/rime/collect-link-estimate.h"
|
#include "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.
|
* Copyright (c) 2010, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -51,6 +37,22 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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
|
#ifndef COLLECT_LINK_ESTIMATE_H
|
||||||
#define COLLECT_LINK_ESTIMATE_H
|
#define COLLECT_LINK_ESTIMATE_H
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimeneighbor
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimeneighbor
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdio.h>
|
#include <stdio.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -48,6 +37,19 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef COLLECT_NEIGHBOR_H_
|
||||||
#define COLLECT_NEIGHBOR_H_
|
#define COLLECT_NEIGHBOR_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimecollect
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimecollect
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "net/netstack.h"
|
#include "net/netstack.h"
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.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.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -56,6 +37,25 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef COLLECT_H_
|
||||||
#define COLLECT_H_
|
#define COLLECT_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimeipolite
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimeipolite
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
#include "net/rime/ipolite.h"
|
#include "net/rime/ipolite.h"
|
||||||
#include "lib/random.h"
|
#include "lib/random.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 <adam@sics.se>
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \addtogroup rime
|
* \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 <adam@sics.se>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef IPOLITE_H_
|
#ifndef IPOLITE_H_
|
||||||
#define IPOLITE_H_
|
#define IPOLITE_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimemesh
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimemesh
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
#include "net/rime/route.h"
|
#include "net/rime/route.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.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -58,6 +37,27 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef MESH_H_
|
||||||
#define MESH_H_
|
#define MESH_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rime
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
#include "net/rime/multihop.h"
|
#include "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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -67,6 +37,36 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef MULTIHOP_H_
|
||||||
#define MULTIHOP_H_
|
#define MULTIHOP_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimeneighbordiscovery
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimeneighbordiscovery
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -56,6 +37,25 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef NEIGHBOR_DISCOVERY_H_
|
||||||
#define NEIGHBOR_DISCOVERY_H_
|
#define NEIGHBOR_DISCOVERY_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimenetflood
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimenetflood
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/rime/netflood.h"
|
#include "net/rime/netflood.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -71,6 +37,40 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef NETFLOOD_H_
|
||||||
#define NETFLOOD_H_
|
#define NETFLOOD_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimepoliteannouncement
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimepoliteannouncement
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
|
|
||||||
#include "lib/list.h"
|
#include "lib/list.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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -56,6 +37,25 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef POLITE_ANNOUNCEMENT_H_
|
||||||
#define POLITE_ANNOUNCEMENT_H_
|
#define POLITE_ANNOUNCEMENT_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimepolite
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimepolite
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
#include "net/rime/polite.h"
|
#include "net/rime/polite.h"
|
||||||
#include "lib/random.h"
|
#include "lib/random.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 <adam@sics.se>
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \addtogroup rime
|
* \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 <adam@sics.se>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef POLITE_H_
|
#ifndef POLITE_H_
|
||||||
#define POLITE_H_
|
#define POLITE_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rime
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#define DEBUG 0
|
#define DEBUG 0
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rime
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef RIME_H_
|
#ifndef RIME_H_
|
||||||
#define RIME_H_
|
#define RIME_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimermh
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimermh
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
#include "net/rime/rmh.h"
|
#include "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.
|
* Copyright (c) 2006, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -62,6 +37,31 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef RMH_H_
|
||||||
#define RMH_H_
|
#define RMH_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup routediscovery
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup routediscovery
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
#include "net/rime/route.h"
|
#include "net/rime/route.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.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -54,6 +37,23 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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_
|
#ifndef ROUTE_DISCOVERY_H_
|
||||||
#define ROUTE_DISCOVERY_H_
|
#define ROUTE_DISCOVERY_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rimeroute
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rimeroute
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "lib/list.h"
|
#include "lib/list.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.
|
* Copyright (c) 2005, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -48,6 +37,18 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rime
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup rimeroute Rime route table
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* The route module handles the route table in Rime.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef ROUTE_H_
|
#ifndef ROUTE_H_
|
||||||
#define ROUTE_H_
|
#define ROUTE_H_
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
/**
|
|
||||||
* \addtogroup rudolph0
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
* Copyright (c) 2007, Swedish Institute of Computer Science.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -42,6 +37,11 @@
|
||||||
* Adam Dunkels <adam@sics.se>
|
* Adam Dunkels <adam@sics.se>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \addtogroup rudolph0
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
#include <stddef.h> /* for offsetof */
|
#include <stddef.h> /* for offsetof */
|
||||||
|
|
||||||
#include "net/rime/rime.h"
|
#include "net/rime/rime.h"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue