OpenWSN Firmware
icmpv6rpl.h File Reference
#include "opentimers.h"

Go to the source code of this file.

Data Structures

struct  icmpv6rpl_dio_ht
 Header format of a RPL DIO packet. More...
 
struct  icmpv6rpl_dao_ht
 Header format of a RPL DAO packet. More...
 
struct  icmpv6rpl_dao_transit_ht
 Header format of a RPL DAO "Transit Information" option. More...
 
struct  icmpv6rpl_dao_target_ht
 Header format of a RPL DAO "Target" option. More...
 
struct  icmpv6rpl_vars_t
 

Macros

#define TIMER_DIO_TIMEOUT   1700
 
#define TIMER_DAO_TIMEOUT   10000
 
#define MOP_DIO_A   1<<5
 
#define MOP_DIO_B   1<<4
 
#define MOP_DIO_C   1<<3
 
#define PRF_DIO_A   0<<2
 
#define PRF_DIO_B   0<<1
 
#define PRF_DIO_C   0<<0
 
#define G_DIO   1<<7
 
#define FLAG_DAO_A   0<<0
 
#define FLAG_DAO_B   0<<1
 
#define FLAG_DAO_C   0<<2
 
#define FLAG_DAO_D   0<<3
 
#define FLAG_DAO_E   0<<4
 
#define FLAG_DAO_F   0<<5
 
#define D_DAO   1<<6
 
#define K_DAO   0<<7
 
#define E_DAO_Transit_Info   0<<7
 
#define PC1_A_DAO_Transit_Info   0<<7
 
#define PC1_B_DAO_Transit_Info   1<<6
 
#define PC2_A_DAO_Transit_Info   0<<5
 
#define PC2_B_DAO_Transit_Info   0<<4
 
#define PC3_A_DAO_Transit_Info   0<<3
 
#define PC3_B_DAO_Transit_Info   0<<2
 
#define PC4_A_DAO_Transit_Info   0<<1
 
#define PC4_B_DAO_Transit_Info   0<<0
 
#define Prf_A_dio_options   0<<4
 
#define Prf_B_dio_options   0<<3
 
#define MAX_TARGET_PARENTS   0x01
 

Enumerations

enum  { OPTION_ROUTE_INFORMATION_TYPE = 0x03, OPTION_DODAG_CONFIGURATION_TYPE = 0x04, OPTION_TARGET_INFORMATION_TYPE = 0x05, OPTION_TRANSIT_INFORMATION_TYPE = 0x06 }
 

Functions

void icmpv6rpl_init (void)
 Initialize this module. More...
 
void icmpv6rpl_sendDone (OpenQueueEntry_t *msg, owerror_t error)
 Called when DIO/DAO was sent. More...
 
void icmpv6rpl_receive (OpenQueueEntry_t *msg)
 Called when RPL message received. More...
 
uint8_t icmpv6rpl_getRPLIntanceID (void)