The Pedigree Project 0.1
Classes | Macros | Typedefs | Variables
ip6.h File Reference
#include "lwip/arch.h"
#include "lwip/ip6_addr.h"
+ Include dependency graph for prot/ip6.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ip6_addr_packed
 
struct  ip6_hdr
 
struct  ip6_hbh_hdr
 
struct  ip6_frag_hdr
 

Macros

#define IP6_HLEN   40
 
#define IP6_NEXTH_HOPBYHOP   0
 
#define IP6_NEXTH_TCP   6
 
#define IP6_NEXTH_UDP   17
 
#define IP6_NEXTH_ENCAPS   41
 
#define IP6_NEXTH_ROUTING   43
 
#define IP6_NEXTH_FRAGMENT   44
 
#define IP6_NEXTH_ICMP6   58
 
#define IP6_NEXTH_NONE   59
 
#define IP6_NEXTH_DESTOPTS   60
 
#define IP6_NEXTH_UDPLITE   136
 
#define IP6_HBH_HLEN   8
 
#define IP6_PAD1_OPTION   0
 
#define IP6_PADN_ALERT_OPTION   1
 
#define IP6_ROUTER_ALERT_OPTION   5
 
#define IP6_ROUTER_ALERT_VALUE_MLD   0
 
#define IP6_FRAG_HLEN   8
 
#define IP6_FRAG_OFFSET_MASK   0xfff8
 
#define IP6_FRAG_MORE_FLAG   0x0001
 
#define IP6H_V(hdr)   ((lwip_ntohl((hdr)->_v_tc_fl) >> 28) & 0x0f)
 
#define IP6H_TC(hdr)   ((lwip_ntohl((hdr)->_v_tc_fl) >> 20) & 0xff)
 
#define IP6H_FL(hdr)   (lwip_ntohl((hdr)->_v_tc_fl) & 0x000fffff)
 
#define IP6H_PLEN(hdr)   (lwip_ntohs((hdr)->_plen))
 
#define IP6H_NEXTH(hdr)   ((hdr)->_nexth)
 
#define IP6H_NEXTH_P(hdr)   ((u8_t *)(hdr) + 6)
 
#define IP6H_HOPLIM(hdr)   ((hdr)->_hoplim)
 
#define IP6H_VTCFL_SET(hdr, v, tc, fl)   (hdr)->_v_tc_fl = (lwip_htonl((((u32_t)(v)) << 28) | (((u32_t)(tc)) << 20) | (fl)))
 
#define IP6H_PLEN_SET(hdr, plen)   (hdr)->_plen = lwip_htons(plen)
 
#define IP6H_NEXTH_SET(hdr, nexth)   (hdr)->_nexth = (nexth)
 
#define IP6H_HOPLIM_SET(hdr, hl)   (hdr)->_hoplim = (u8_t)(hl)
 

Typedefs

typedef typedefPACK_STRUCT_END struct ip6_addr_packed ip6_addr_p_t
 

Variables

PACK_STRUCT_BEGIN struct ip6_addr_packed PACK_STRUCT_STRUCT
 

Detailed Description

IPv6 protocol definitions

Definition in file prot/ip6.h.

Macro Definition Documentation

◆ IP6_FRAG_HLEN

#define IP6_FRAG_HLEN   8

Definition at line 149 of file prot/ip6.h.

◆ IP6_FRAG_MORE_FLAG

#define IP6_FRAG_MORE_FLAG   0x0001

Definition at line 151 of file prot/ip6.h.

◆ IP6_FRAG_OFFSET_MASK

#define IP6_FRAG_OFFSET_MASK   0xfff8

Definition at line 150 of file prot/ip6.h.

◆ IP6_HBH_HLEN

#define IP6_HBH_HLEN   8

Definition at line 118 of file prot/ip6.h.

◆ IP6_HLEN

#define IP6_HLEN   40

Definition at line 81 of file prot/ip6.h.

◆ IP6_NEXTH_DESTOPTS

#define IP6_NEXTH_DESTOPTS   60

Definition at line 91 of file prot/ip6.h.

◆ IP6_NEXTH_ENCAPS

#define IP6_NEXTH_ENCAPS   41

Definition at line 86 of file prot/ip6.h.

◆ IP6_NEXTH_FRAGMENT

#define IP6_NEXTH_FRAGMENT   44

Definition at line 88 of file prot/ip6.h.

◆ IP6_NEXTH_HOPBYHOP

#define IP6_NEXTH_HOPBYHOP   0

Definition at line 83 of file prot/ip6.h.

◆ IP6_NEXTH_ICMP6

#define IP6_NEXTH_ICMP6   58

Definition at line 89 of file prot/ip6.h.

◆ IP6_NEXTH_NONE

#define IP6_NEXTH_NONE   59

Definition at line 90 of file prot/ip6.h.

◆ IP6_NEXTH_ROUTING

#define IP6_NEXTH_ROUTING   43

Definition at line 87 of file prot/ip6.h.

◆ IP6_NEXTH_TCP

#define IP6_NEXTH_TCP   6

Definition at line 84 of file prot/ip6.h.

◆ IP6_NEXTH_UDP

#define IP6_NEXTH_UDP   17

Definition at line 85 of file prot/ip6.h.

◆ IP6_NEXTH_UDPLITE

#define IP6_NEXTH_UDPLITE   136

Definition at line 92 of file prot/ip6.h.

◆ IP6_PAD1_OPTION

#define IP6_PAD1_OPTION   0

Definition at line 119 of file prot/ip6.h.

◆ IP6_PADN_ALERT_OPTION

#define IP6_PADN_ALERT_OPTION   1

Definition at line 120 of file prot/ip6.h.

◆ IP6_ROUTER_ALERT_OPTION

#define IP6_ROUTER_ALERT_OPTION   5

Definition at line 121 of file prot/ip6.h.

◆ IP6_ROUTER_ALERT_VALUE_MLD

#define IP6_ROUTER_ALERT_VALUE_MLD   0

Definition at line 122 of file prot/ip6.h.

◆ IP6H_FL

#define IP6H_FL (   hdr)    (lwip_ntohl((hdr)->_v_tc_fl) & 0x000fffff)

Definition at line 173 of file prot/ip6.h.

◆ IP6H_HOPLIM

#define IP6H_HOPLIM (   hdr)    ((hdr)->_hoplim)

Definition at line 177 of file prot/ip6.h.

◆ IP6H_HOPLIM_SET

#define IP6H_HOPLIM_SET (   hdr,
  hl 
)    (hdr)->_hoplim = (u8_t)(hl)

Definition at line 182 of file prot/ip6.h.

◆ IP6H_NEXTH

#define IP6H_NEXTH (   hdr)    ((hdr)->_nexth)

Definition at line 175 of file prot/ip6.h.

◆ IP6H_NEXTH_P

#define IP6H_NEXTH_P (   hdr)    ((u8_t *)(hdr) + 6)

Definition at line 176 of file prot/ip6.h.

◆ IP6H_NEXTH_SET

#define IP6H_NEXTH_SET (   hdr,
  nexth 
)    (hdr)->_nexth = (nexth)

Definition at line 181 of file prot/ip6.h.

◆ IP6H_PLEN

#define IP6H_PLEN (   hdr)    (lwip_ntohs((hdr)->_plen))

Definition at line 174 of file prot/ip6.h.

◆ IP6H_PLEN_SET

#define IP6H_PLEN_SET (   hdr,
  plen 
)    (hdr)->_plen = lwip_htons(plen)

Definition at line 180 of file prot/ip6.h.

◆ IP6H_TC

#define IP6H_TC (   hdr)    ((lwip_ntohl((hdr)->_v_tc_fl) >> 20) & 0xff)

Definition at line 172 of file prot/ip6.h.

◆ IP6H_V

#define IP6H_V (   hdr)    ((lwip_ntohl((hdr)->_v_tc_fl) >> 28) & 0x0f)

Definition at line 171 of file prot/ip6.h.

◆ IP6H_VTCFL_SET

#define IP6H_VTCFL_SET (   hdr,
  v,
  tc,
  fl 
)    (hdr)->_v_tc_fl = (lwip_htonl((((u32_t)(v)) << 28) | (((u32_t)(tc)) << 20) | (fl)))

Definition at line 179 of file prot/ip6.h.

Typedef Documentation

◆ ip6_addr_p_t

typedef typedefPACK_STRUCT_END struct ip6_addr_packed ip6_addr_p_t

Definition at line 79 of file prot/ip6.h.