10 #ifndef __INET_IPV6_H__
11 #define __INET_IPV6_H__
16 #define IPv6_ADDR_SIZE 16
18 #define IPv6_HDR_SIZE 40
19 #define IPv6_FRAGMENT_HDR_SIZE 8
30 uint32_t ip6h_vc_flow;
43 unsigned char ip6e_nxt;
44 unsigned char ip6e_len;
61 uint8_t ip6r0_segleft;
62 uint8_t ip6r0_reserved;
63 uint8_t ip6r0_slmap[3];
71 uint8_t ip6f_reserved;
76 #define IP6F_OFF_MASK 0xfff8
77 #define IP6F_RESERVED_MASK 0x0006
78 #define IP6F_MORE_FRAG 0x0001
85 static inline bool in6_addr_is_linklocal(
const ws_in6_addr *a)
87 return (a->bytes[0] == 0xfe) && ((a->bytes[1] & 0xc0) == 0x80);
90 static inline bool in6_addr_is_sitelocal(
const ws_in6_addr *a)
92 return (a->bytes[0] == 0xfe) && ((a->bytes[1] & 0xc0) == 0xc0);
98 static inline bool in6_addr_is_multicast(
const ws_in6_addr *a)
100 return a->bytes[0] == 0xff;
Definition: inet_ipv6.h:21
Definition: inet_ipv6.h:42
Definition: inet_ipv6.h:69
Definition: inet_ipv6.h:57
Definition: inet_ipv6.h:48
Definition: inet_ipv6.h:29