Prusa MINI Firmware overview
ip6.h File Reference
#include "lwip/arch.h"
#include "lwip/ip6_addr.h"

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

Macro Definition Documentation

◆ IP6_HLEN

#define IP6_HLEN   40

◆ IP6_NEXTH_HOPBYHOP

#define IP6_NEXTH_HOPBYHOP   0

◆ IP6_NEXTH_TCP

#define IP6_NEXTH_TCP   6

◆ IP6_NEXTH_UDP

#define IP6_NEXTH_UDP   17

◆ IP6_NEXTH_ENCAPS

#define IP6_NEXTH_ENCAPS   41

◆ IP6_NEXTH_ROUTING

#define IP6_NEXTH_ROUTING   43

◆ IP6_NEXTH_FRAGMENT

#define IP6_NEXTH_FRAGMENT   44

◆ IP6_NEXTH_ICMP6

#define IP6_NEXTH_ICMP6   58

◆ IP6_NEXTH_NONE

#define IP6_NEXTH_NONE   59

◆ IP6_NEXTH_DESTOPTS

#define IP6_NEXTH_DESTOPTS   60

◆ IP6_NEXTH_UDPLITE

#define IP6_NEXTH_UDPLITE   136

◆ IP6_HBH_HLEN

#define IP6_HBH_HLEN   8

◆ IP6_PAD1_OPTION

#define IP6_PAD1_OPTION   0

◆ IP6_PADN_ALERT_OPTION

#define IP6_PADN_ALERT_OPTION   1

◆ IP6_ROUTER_ALERT_OPTION

#define IP6_ROUTER_ALERT_OPTION   5

◆ IP6_ROUTER_ALERT_VALUE_MLD

#define IP6_ROUTER_ALERT_VALUE_MLD   0

◆ IP6_FRAG_HLEN

#define IP6_FRAG_HLEN   8

◆ IP6_FRAG_OFFSET_MASK

#define IP6_FRAG_OFFSET_MASK   0xfff8

◆ IP6_FRAG_MORE_FLAG

#define IP6_FRAG_MORE_FLAG   0x0001

◆ IP6H_V

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

◆ IP6H_TC

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

◆ IP6H_FL

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

◆ IP6H_PLEN

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

◆ IP6H_NEXTH

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

◆ IP6H_NEXTH_P

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

◆ IP6H_HOPLIM

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

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

◆ IP6H_PLEN_SET

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

◆ IP6H_NEXTH_SET

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

◆ IP6H_HOPLIM_SET

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

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