X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=lib%2Fipv6.h;h=d8cb4cf53472f5ffd4f2c6cb448f89a718ff9a94;hp=1e4b873fbb6a20b40ca0e16ef4ff2c846cfd7e05;hb=96ee04b678143defa1040f2defdd3424efedea11;hpb=a88f1edf297152580a7729c6f3d274ba2bff7360 diff --git a/lib/ipv6.h b/lib/ipv6.h index 1e4b873f..d8cb4cf5 100644 --- a/lib/ipv6.h +++ b/lib/ipv6.h @@ -17,19 +17,12 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: ipv6.h,v 1.1.2.1 2003/07/07 11:13:31 guus Exp $ + $Id: ipv6.h,v 1.1.2.5 2003/07/18 13:42:35 guus Exp $ */ #ifndef __TINC_IPV6_H__ #define __TINC_IPV6_H__ -#include "config.h" - -#include -#ifdef HAVE_INTTYPES_H -#include -#endif - #ifndef AF_INET6 #define AF_INET6 10 #endif @@ -60,7 +53,14 @@ struct sockaddr_in6 { }; #endif -#ifndef HAVE_NETINET_IP6_H +#ifndef IN6_IS_ADDR_V4MAPPED +#define IN6_IS_ADDR_V4MAPPED(a) \ + ((((__const uint32_t *) (a))[0] == 0) \ + && (((__const uint32_t *) (a))[1] == 0) \ + && (((__const uint32_t *) (a))[2] == htonl (0xffff))) +#endif + +#ifndef HAVE_STRUCT_IP6_HDR struct ip6_hdr { union { struct ip6_hdrctl { @@ -74,7 +74,15 @@ struct ip6_hdr { struct in6_addr ip6_src; struct in6_addr ip6_dst; }; +#define ip6_vfc ip6_ctlun.ip6_un2_vfc +#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow +#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen +#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt +#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim +#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim +#endif +#ifndef HAVE_STRUCT_ICMP6_HDR struct icmp6_hdr { uint8_t icmp6_type; uint8_t icmp6_code; @@ -90,14 +98,18 @@ struct icmp6_hdr { #define ICMP6_DST_UNREACH_ADDR 3 #define ND_NEIGHBOR_SOLICIT 135 #define ND_NEIGHBOR_ADVERT 136 +#endif +#ifndef HAVE_STRUCT_ND_NEIGHBOR_SOLICIT struct nd_neighbor_solicit { struct icmp6_hdr nd_ns_hdr; struct in6_addr nd_ns_target; }; #define ND_OPT_SOURCE_LINKADDR 1 #define ND_OPT_TARGET_LINKADDR 2 +#endif +#ifndef HAVE_STRUCT_ND_OPT_HDR struct nd_opt_hdr { uint8_t nd_opt_type; uint8_t nd_opt_len;