OpenWSN Firmware
iphc.c File Reference
#include "openwsn.h"
#include "iphc.h"
#include "packetfunctions.h"
#include "idmanager.h"
#include "openserial.h"
#include "sixtop.h"
#include "forwarding.h"
#include "neighbors.h"
#include "openbridge.h"

Functions

owerror_t iphc_prependIPv6Header (OpenQueueEntry_t *msg, uint8_t tf, uint32_t value_flowLabel, bool nh, uint8_t value_nextHeader, uint8_t hlim, uint8_t value_hopLimit, bool cid, bool sac, uint8_t sam, bool m, bool dac, uint8_t dam, open_addr_t *value_dest, open_addr_t *value_src, uint8_t fw_SendOrfw_Rcv)
 Prepend an IPv6 header to a message. More...
 
void iphc_retrieveIPv6Header (OpenQueueEntry_t *msg, ipv6_header_iht *ipv6_header)
 Retrieve an IPv6 header from a message. More...
 
void iphc_prependIPv6HopByHopHeader (OpenQueueEntry_t *msg, uint8_t nextheader, uint8_t nh, rpl_option_ht *rpl_option)
 Prepend an IPv6 hop-by-hop header to a message. More...
 
void iphc_retrieveIPv6HopByHopHeader (OpenQueueEntry_t *msg, ipv6_hopbyhop_iht *hopbyhop_header, rpl_option_ht *rpl_option)
 Retrieve an IPv6 hop-by-hop header from a message. More...
 
void iphc_init ()
 
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)
 

Function Documentation

owerror_t iphc_prependIPv6Header ( OpenQueueEntry_t msg,
uint8_t  tf,
uint32_t  value_flowLabel,
bool  nh,
uint8_t  value_nextHeader,
uint8_t  hlim,
uint8_t  value_hopLimit,
bool  cid,
bool  sac,
uint8_t  sam,
bool  m,
bool  dac,
uint8_t  dam,
open_addr_t value_dest,
open_addr_t value_src,
uint8_t  fw_SendOrfw_Rcv 
)

Prepend an IPv6 header to a message.

void iphc_prependIPv6HopByHopHeader ( OpenQueueEntry_t msg,
uint8_t  nextheader,
uint8_t  nh,
rpl_option_ht rpl_option 
)

Prepend an IPv6 hop-by-hop header to a message.

Note
The field are written in reverse order.
Parameters
[in,out]msgThe message to prepend the header to.
[in]nextheaderThe next header value to use.
[in]nhWhether the next header is inline or compressed.
[in]rpl_optionThe RPL option to include.
void iphc_retrieveIPv6Header ( OpenQueueEntry_t msg,
ipv6_header_iht ipv6_header 
)

Retrieve an IPv6 header from a message.

void iphc_retrieveIPv6HopByHopHeader ( OpenQueueEntry_t msg,
ipv6_hopbyhop_iht hopbyhop_header,
rpl_option_ht rpl_option 
)

Retrieve an IPv6 hop-by-hop header from a message.

Parameters
[in,out]msgThe message to retrieve the header from.
[out]hopbyhop_headerPointer to the structure to hold the retrieved hop-by-hop option.
[out]rpl_optionPointer to the structure to hold the retrieved RPL option.