The friendly Operating System for the Internet of Things
nhdp.h File Reference

Interface for core functionality of NHDP. More...

Detailed Description

Author
Fabian Nack nack@.nosp@m.inf..nosp@m.fu-be.nosp@m.rlin.nosp@m..de

Definition in file nhdp.h.

#include "timex.h"
#include "xtimer.h"
#include "kernel_types.h"
#include "nhdp_metric.h"
#include "rfc5444/rfc5444_writer.h"
#include "debug.h"
+ Include dependency graph for nhdp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nhdp_if_entry_t
 MANET interface representation. More...
 

Macros

#define ENABLE_DEBUG   (0)
 Definition for RIOTs debugging option.
 
NHDP protocol macros
#define MANET_PORT   (269)
 Well-known MANET port from RFC 5498.
 
#define NHDP_STACK_SIZE   (THREAD_STACKSIZE_DEFAULT + THREAD_EXTRA_STACKSIZE_PRINTF)
 Stack size for NHDP thread.
 
#define NHDP_WR_MSG_BUF_SIZE   (256)
 Buffer size in bytes for NHDP writer's msg buffer.
 
#define NHDP_WR_TLV_BUF_SIZE   (512)
 Buffer size in bytes for NHDP writer's tlv buffer.
 
#define NHDP_MSG_QUEUE_SIZE   (16)
 Queue size for msg queue of NHDP.
 
#define NHDP_MAX_RFC5444_PACKET_SZ   (128)
 Maximum size of handled RFC5444 packets.
 
#define NHDP_DEFAULT_HELLO_INT_MS   (2000)
 Default hello interval in milliseconds.
 
#define NHDP_DEFAULT_HOLD_TIME_MS   (3 * NHDP_DEFAULT_HELLO_INT_MS)
 Default hold time in milliseconds.
 
#define NHDP_INITIAL_PENDING   (0)
 Initial pending flag value for new link tuples. More...
 
#define NHDP_HP_MAXJITTER_MS   (200)
 Maximum jitter for nhdp messages in milliseconds.
 
#define NHDP_L_HOLD_TIME_MS   (NHDP_DEFAULT_HOLD_TIME_MS)
 
#define NHDP_N_HOLD_TIME_MS   (NHDP_DEFAULT_HOLD_TIME_MS)
 
#define NHDP_I_HOLD_TIME_MS   (NHDP_DEFAULT_HOLD_TIME_MS)
 

Enumerations

enum  nhdp_address_type_t { AF_CC110X = AF_MAX + 3 }
 Additional address types for link layer operation.
 

Functions

void nhdp_init (void)
 Initialize NHDP for operation. More...
 
kernel_pid_t nhdp_start (void)
 Start NHDP's operational thread. More...
 
int nhdp_register_if_default (kernel_pid_t if_pid, uint8_t *addr, size_t addr_size, uint8_t addr_type, uint16_t max_pl_size)
 Register an interface for NHDP operation with default values. More...
 
int nhdp_register_if (kernel_pid_t if_pid, uint8_t *addr, size_t addr_size, uint8_t addr_type, uint16_t max_pl_size, uint16_t hello_int_ms, uint16_t val_time_ms)
 Register an interface for NHDP operation. More...
 
int nhdp_register_non_manet_if (kernel_pid_t if_pid, uint8_t *addr, size_t addr_size, uint8_t addr_type)
 Register a non MANET interface in NHDP. More...
 
int nhdp_add_address (kernel_pid_t if_pid, uint8_t *addr, size_t addr_size, uint8_t addr_type)
 Register an additional address for an interface in NHDP. More...