ConOpSys V2970  P004.07
ANVILEX control operating system
Classes | Macros | Typedefs | Variables
ip6.h File Reference
#include "lwip/arch.h"
#include "lwip/ip6_addr.h"
Include dependency graph for 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_opt_hdr
 
struct  ip6_hbh_hdr
 
struct  ip6_dest_hdr
 
struct  ip6_rout_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 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)
 
#define IP6_PAD1_OPTION   0
 
#define IP6_PADN_OPTION   1
 
#define IP6_ROUTER_ALERT_OPTION   5
 
#define IP6_JUMBO_OPTION   194
 
#define IP6_HOME_ADDRESS_OPTION   201
 
#define IP6_ROUTER_ALERT_DLEN   2
 
#define IP6_ROUTER_ALERT_VALUE_MLD   0
 
#define IP6_OPT_HLEN   2
 
#define IP6_OPT_TYPE_ACTION(hdr)   ((((hdr)->_opt_type) >> 6) & 0x3)
 
#define IP6_OPT_TYPE_CHANGE(hdr)   ((((hdr)->_opt_type) >> 5) & 0x1)
 
#define IP6_OPT_TYPE(hdr)   ((hdr)->_opt_type)
 
#define IP6_OPT_DLEN(hdr)   ((hdr)->_opt_dlen)
 
#define IP6_HBH_HLEN   2
 
#define IP6_HBH_NEXTH(hdr)   ((hdr)->_nexth)
 
#define IP6_DEST_HLEN   2
 
#define IP6_DEST_NEXTH(hdr)   ((hdr)->_nexth)
 
#define IP6_ROUT_TYPE2   2
 
#define IP6_ROUT_RPL   3
 
#define IP6_ROUT_NEXTH(hdr)   ((hdr)->_nexth)
 
#define IP6_ROUT_TYPE(hdr)   ((hdr)->_routing_type)
 
#define IP6_ROUT_SEG_LEFT(hdr)   ((hdr)->_segments_left)
 
#define IP6_FRAG_HLEN   8
 
#define IP6_FRAG_OFFSET_MASK   0xfff8
 
#define IP6_FRAG_MORE_FLAG   0x0001
 
#define IP6_FRAG_NEXTH(hdr)   ((hdr)->_nexth)
 
#define IP6_FRAG_MBIT(hdr)   (lwip_ntohs((hdr)->_fragment_offset) & 0x1)
 
#define IP6_FRAG_ID(hdr)   (lwip_ntohl((hdr)->_identification))
 

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

Macro Definition Documentation

◆ IP6_DEST_HLEN

#define IP6_DEST_HLEN   2

◆ IP6_DEST_NEXTH

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

◆ IP6_FRAG_HLEN

#define IP6_FRAG_HLEN   8

◆ IP6_FRAG_ID

#define IP6_FRAG_ID (   hdr)    (lwip_ntohl((hdr)->_identification))

◆ IP6_FRAG_MBIT

#define IP6_FRAG_MBIT (   hdr)    (lwip_ntohs((hdr)->_fragment_offset) & 0x1)

◆ IP6_FRAG_MORE_FLAG

#define IP6_FRAG_MORE_FLAG   0x0001

◆ IP6_FRAG_NEXTH

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

◆ IP6_FRAG_OFFSET_MASK

#define IP6_FRAG_OFFSET_MASK   0xfff8

◆ IP6_HBH_HLEN

#define IP6_HBH_HLEN   2

◆ IP6_HBH_NEXTH

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

◆ IP6_HLEN

#define IP6_HLEN   40

◆ IP6_HOME_ADDRESS_OPTION

#define IP6_HOME_ADDRESS_OPTION   201

◆ IP6_JUMBO_OPTION

#define IP6_JUMBO_OPTION   194

◆ IP6_NEXTH_DESTOPTS

#define IP6_NEXTH_DESTOPTS   60

◆ IP6_NEXTH_ENCAPS

#define IP6_NEXTH_ENCAPS   41

◆ IP6_NEXTH_FRAGMENT

#define IP6_NEXTH_FRAGMENT   44

◆ IP6_NEXTH_HOPBYHOP

#define IP6_NEXTH_HOPBYHOP   0

◆ IP6_NEXTH_ICMP6

#define IP6_NEXTH_ICMP6   58

◆ IP6_NEXTH_NONE

#define IP6_NEXTH_NONE   59

◆ IP6_NEXTH_ROUTING

#define IP6_NEXTH_ROUTING   43

◆ IP6_NEXTH_TCP

#define IP6_NEXTH_TCP   6

◆ IP6_NEXTH_UDP

#define IP6_NEXTH_UDP   17

◆ IP6_NEXTH_UDPLITE

#define IP6_NEXTH_UDPLITE   136

◆ IP6_OPT_DLEN

#define IP6_OPT_DLEN (   hdr)    ((hdr)->_opt_dlen)

◆ IP6_OPT_HLEN

#define IP6_OPT_HLEN   2

◆ IP6_OPT_TYPE

#define IP6_OPT_TYPE (   hdr)    ((hdr)->_opt_type)

◆ IP6_OPT_TYPE_ACTION

#define IP6_OPT_TYPE_ACTION (   hdr)    ((((hdr)->_opt_type) >> 6) & 0x3)

◆ IP6_OPT_TYPE_CHANGE

#define IP6_OPT_TYPE_CHANGE (   hdr)    ((((hdr)->_opt_type) >> 5) & 0x1)

◆ IP6_PAD1_OPTION

#define IP6_PAD1_OPTION   0

◆ IP6_PADN_OPTION

#define IP6_PADN_OPTION   1

◆ IP6_ROUT_NEXTH

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

◆ IP6_ROUT_RPL

#define IP6_ROUT_RPL   3

◆ IP6_ROUT_SEG_LEFT

#define IP6_ROUT_SEG_LEFT (   hdr)    ((hdr)->_segments_left)

◆ IP6_ROUT_TYPE

#define IP6_ROUT_TYPE (   hdr)    ((hdr)->_routing_type)

◆ IP6_ROUT_TYPE2

#define IP6_ROUT_TYPE2   2

◆ IP6_ROUTER_ALERT_DLEN

#define IP6_ROUTER_ALERT_DLEN   2

◆ IP6_ROUTER_ALERT_OPTION

#define IP6_ROUTER_ALERT_OPTION   5

◆ IP6_ROUTER_ALERT_VALUE_MLD

#define IP6_ROUTER_ALERT_VALUE_MLD   0

◆ IP6H_FL

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

◆ IP6H_HOPLIM

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

◆ IP6H_HOPLIM_SET

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

◆ IP6H_NEXTH

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

◆ IP6H_NEXTH_P

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

◆ IP6H_NEXTH_SET

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

◆ IP6H_PLEN

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

◆ IP6H_PLEN_SET

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

◆ IP6H_TC

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

◆ IP6H_V

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

◆ 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)))

Typedef Documentation

◆ ip6_addr_p_t

typedef typedefPACK_STRUCT_END struct ip6_addr_packed ip6_addr_p_t

Variable Documentation

◆ PACK_STRUCT_STRUCT

PACK_STRUCT_BEGIN struct ip6_frag_hdr PACK_STRUCT_STRUCT