OpenWSN Firmware
iphc.h File Reference
#include "openwsn.h"

Go to the source code of this file.

Data Structures

struct  ipv6_header_iht
 
struct  ipv6_hopbyhop_iht
 IPv6 hop-by-hop option. More...
 
struct  rpl_option_ht
 RPL Option header type. More...
 

Macros

#define IPHC_DEFAULT_HOP_LIMIT   65
 
#define IPv6HOP_HDR_LEN   3
 

Enumerations

enum  IPHC_enums {
  IPHC_DISPATCH = 5, IPHC_TF = 3, IPHC_NH = 2, IPHC_HLIM = 0,
  IPHC_CID = 7, IPHC_SAC = 6, IPHC_SAM = 4, IPHC_M = 3,
  IPHC_DAC = 2, IPHC_DAM = 0
}
 
enum  IPHC_DISPATCH_enums { IPHC_DISPATCH_IPHC = 3 }
 
enum  IPHC_TF_enums { IPHC_TF_4B = 0, IPHC_TF_3B = 1, IPHC_TF_1B = 2, IPHC_TF_ELIDED = 3 }
 
enum  IPHC_NH_enums { IPHC_NH_INLINE = 0, IPHC_NH_COMPRESSED = 1 }
 
enum  NHC_enums { NHC_IPv6EXT_MASK = 0xf0, NHC_IPv6EXT_ID = 0xe0, NHC_UDP_MASK = 0xf8, NHC_UDP_ID = 0xf0 }
 
enum  NHC_IPv6HOP_enums { NHC_IPv6HOP_MASK = 0x0e, NHC_IPv6HOP_VAL = 0x0e, NHC_HOP_NH_MASK = 0x01 }
 
enum  NHC_UDP_enums { NHC_UDP_C_MASK = 0x40, NHC_UDP_PORTS_MASK = 0x03 }
 
enum  NHC_UDP_PORTS_enums { NHC_UDP_PORTS_INLINE = 0, NHC_UDP_PORTS_16S_8D = 1, NHC_UDP_PORTS_8S_8D = 2, NHC_UDP_PORTS_4S_4D = 3 }
 
enum  IPHC_HLIM_enums { IPHC_HLIM_INLINE = 0, IPHC_HLIM_1 = 1, IPHC_HLIM_64 = 2, IPHC_HLIM_255 = 3 }
 
enum  IPHC_CID_enums { IPHC_CID_NO = 0, IPHC_CID_YES = 1 }
 
enum  IPHC_SAC_enums { IPHC_SAC_STATELESS = 0, IPHC_SAC_STATEFUL = 1 }
 
enum  IPHC_SAM_enums { IPHC_SAM_128B = 0, IPHC_SAM_64B = 1, IPHC_SAM_16B = 2, IPHC_SAM_ELIDED = 3 }
 
enum  IPHC_M_enums { IPHC_M_NO = 0, IPHC_M_YES = 1 }
 
enum  IPHC_DAC_enums { IPHC_DAC_STATELESS = 0, IPHC_DAC_STATEFUL = 1 }
 
enum  IPHC_DAM_enums { IPHC_DAM_128B = 0, IPHC_DAM_64B = 1, IPHC_DAM_16B = 2, IPHC_DAM_ELIDED = 3 }
 

Functions

END_PACK void iphc_init (void)
 
owerror_t iphc_sendFromForwarding (OpenQueueEntry_t *msg, ipv6_header_iht *ipv6_header, rpl_option_ht *rpl_option, uint32_t *flow_label, uint8_t fw_SendOrfw_Rcv)
 
owerror_t iphc_sendFromBridge (OpenQueueEntry_t *msg)
 
void iphc_sendDone (OpenQueueEntry_t *msg, owerror_t error)
 
void iphc_receive (OpenQueueEntry_t *msg)