IPv6 Specific Packet Handling
[Packet Buffer]

Collaboration diagram for IPv6 Specific Packet Handling:

Defines

#define fip_packet_getFromIP6Hdr_nhOffset()   (6)
 Get the offset from the start of the IP buffer to the next header.
#define fip_packet_getFromIP6Hdr_destPtr()   (fip_packet_getIPBufPtr() + 24)
 Get a pointer to the IPv6 Destination Address.
#define fip_packet_getFromIP6Hdr_destAddr(x)   fip_packet_getFromIPBuf_Uint8Unaligned(x + 24)
 Get a single byte from the IPv6 Destination Address.
#define fip_packet_setToIP6Hdr_destAddr(x, data)   fip_packet_setToIPBuf_Uint8Unaligned(x + 24, data)
 Set a single byte to the IPv6 Destination Address.
#define fip_packet_getFromIP6Hdr_srcPtr()   (fip_packet_getIPBufPtr() + 8)
 Get a pointer to the IPv6 Source Address.
#define fip_packet_getFromIP6Hdr_srcAddr(x)   fip_packet_getFromIPBuf_Uint8Unaligned(x + 8)
 Get a single byte from the IPv6 Destination Address.
#define fip_packet_resetAddrFlags(type)
 Reset the flags associated with a certain address.
#define fip_packet_getFromIPHdr_version()   (fip_packet_getFromIPBuf_Uint8Aligned(0) & 0xF0)
 Get the IP version of this packet, equates to either FIP_IPHDR_V6 or FIP_IPHDR_V4.
#define fip_packet_getFromIP6Hdr_length()   (fip_toUint16(fip_packet_getFromIPBuf_Uint8Aligned(4), fip_packet_getFromIPBuf_Uint8Unaligned(5)))
 Get the length field of the IPv6 header.
#define fip_packet_setToIP6Hdr_length(data)   {fip_packet_setToIPBuf_Uint8Unaligned(4, fip_Uint16_getMSB(data)); fip_packet_setToIPBuf_Uint8Unaligned(5, fip_Uint16_getLSB(data));}
 Set the length field in the IPv6 header, Handles conversion to network order.
#define fip_packet_setToIP6Hdr_nextHeader(data)   (fip_packet_setToIPBuf_Uint8Unaligned(6, data))
 Set the next header field in the IPv6 Header.
#define fip_packet_setToIP6Hdr_hopLimit(data)   (fip_packet_setToIPBuf_Uint8Unaligned(7, data))
 Set the hop limit field in the IPv6 Header.

Functions

void fip_packet_copyToIP6Hdr_destAddr (const uint8_t *const address)
 Copies 16 bytes from the pointer to the IPv6 Destination Address and resets all associated flags containing attributes about the address.
void fip_packet_setToIP6Hdr_srcAddrUnspecified (void)
 Sets the IPv6 Source Address as the Unspecified Address.
void fip_packet_setToIP6Hdr_destAddrAllNodes (void)
 Sets the IPv6 Destination Address as the All Nodes Address.
void fip_packet_setToIP6Hdr_destAddrAllRouters (void)
 Sets the IPv6 Destination Address as the All Routers Address.
void fip_packet_copyToIP6Hdr_srcAddr (const uint8_t *const address)
 Copies 16 bytes from the pointer to the IPv6 Source Address and resets all associated flags containing attributes about the address .

Define Documentation

#define fip_packet_getFromIP6Hdr_destAddr (  )     fip_packet_getFromIPBuf_Uint8Unaligned(x + 24)

Get a single byte from the IPv6 Destination Address.

Parameters:
x Offset of the byte to get.

Referenced by fip_isDestUnspecified(), and fip_sixlowpanhc_compress().

 
#define fip_packet_getFromIP6Hdr_destPtr (  )     (fip_packet_getIPBufPtr() + 24)

 
#define fip_packet_getFromIP6Hdr_length (  )     (fip_toUint16(fip_packet_getFromIPBuf_Uint8Aligned(4), fip_packet_getFromIPBuf_Uint8Unaligned(5)))

Get the length field of the IPv6 header.

Referenced by fip_ip_process().

 
#define fip_packet_getFromIP6Hdr_nhOffset (  )     (6)

Get the offset from the start of the IP buffer to the next header.

#define fip_packet_getFromIP6Hdr_srcAddr (  )     fip_packet_getFromIPBuf_Uint8Unaligned(x + 8)

Get a single byte from the IPv6 Destination Address.

Parameters:
x Offset of the byte to get.

Referenced by fip_isSrcUnspecified().

 
#define fip_packet_getFromIP6Hdr_srcPtr (  )     (fip_packet_getIPBufPtr() + 8)

Get a pointer to the IPv6 Source Address.

WARNING: If you change the IP address with this function, you need to reset the associated flags. It is better to use the fip_packet_copyToIP6Hdr_srcAddr() function.

Referenced by fip_icmp6_process(), fip_ip_send(), fip_ipUtils_checksum_pseudo6hdr(), fip_nd6_processLLAO(), fip_nd6_processRA(), fip_packet_activeResponsePacket(), fip_packet_copyToIP6Hdr_srcAddr(), fip_packet_setToIP6Hdr_srcAddrUnspecified(), and fip_sixlowpanhc_compress().

#define fip_packet_setToIP6Hdr_destAddr ( x,
data   )     fip_packet_setToIPBuf_Uint8Unaligned(x + 24, data)

Set a single byte to the IPv6 Destination Address.

WARNING: If you change the IP address with this function, you need to reset the associated flags. It is better to use the fip_packet_copyToIP6Hdr_destAddr() function.

Parameters:
x Offset of the byte to set.
data Byte to set

Referenced by fip_nd6_generateNS(), fip_packet_setToIP6Hdr_destAddrAllNodes(), and fip_packet_setToIP6Hdr_destAddrAllRouters().


Function Documentation

void fip_packet_copyToIP6Hdr_destAddr ( const uint8_t *const   address  ) 

Copies 16 bytes from the pointer to the IPv6 Destination Address and resets all associated flags containing attributes about the address.

Parameters:
address Pointer to address to copy from

References fip_packet_getFromIP6Hdr_destPtr, and fip_packet_resetAddrFlags.

Referenced by fip_icmp6_generateEchoRequest(), and fip_nd6_generateNS().

void fip_packet_copyToIP6Hdr_srcAddr ( const uint8_t *const   address  ) 

Copies 16 bytes from the pointer to the IPv6 Source Address and resets all associated flags containing attributes about the address .

Parameters:
address Pointer to address to copy from

References fip_packet_getFromIP6Hdr_srcPtr, and fip_packet_resetAddrFlags.

Referenced by fip_if6_selectSrcAddress(), fip_nd6_generateNS(), fip_nd6_generateRA(), fip_nd6_generateRS(), fip_nd6_periodicUnicast(), and fip_nd6_processNS().


Generated on Wed Dec 8 13:00:47 2010 for FIP by  doxygen 1.5.7.1