ipv6.h File Reference

IPv6 definitions for systems which do not support IPv6. More...

#include <isc/int.h>
#include <isc/platform.h>

Go to the source code of this file.

Data Structures

struct  in6_addr
struct  sockaddr_in6

Defines

#define ISC_IPV6_H   1
#define LWRES_IPV6_H   1
#define s6_addr   _S6_un._S6_u8
#define s6_addr8   _S6_un._S6_u8
#define s6_addr16   _S6_un._S6_u16
#define s6_addr32   _S6_un._S6_u32
#define IN6ADDR_ANY_INIT   {{{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }}}
#define IN6ADDR_LOOPBACK_INIT   {{{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }}}
#define IN6_IS_ADDR_UNSPECIFIED(a)
 Unspecified.
#define IN6_IS_ADDR_LOOPBACK(a)
 Loopback.
#define IN6_IS_ADDR_V4COMPAT(a)
 IPv4 compatible.
#define IN6_IS_ADDR_V4MAPPED(a)
 Mapped.
#define IN6_IS_ADDR_MULTICAST(a)   ((a)->s6_addr8[0] == 0xffU)
 Multicast.
#define IN6_IS_ADDR_LINKLOCAL(a)   (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80))
 Unicast link / site local.
#define IN6_IS_ADDR_SITELOCAL(a)   (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0))

Variables

LIBISC_EXTERNAL_DATA struct
in6_addr 
in6addr_any
LIBISC_EXTERNAL_DATA struct
in6_addr 
in6addr_loopback


Detailed Description

IPv6 definitions for systems which do not support IPv6.

Definition in file ipv6.h.


Define Documentation

#define ISC_IPV6_H   1

Definition at line 21 of file ipv6.h.

#define LWRES_IPV6_H   1

Also define LWRES_IPV6_H to keep it from being included if liblwres is being used, or redefinition errors will occur.

Definition at line 27 of file ipv6.h.

#define s6_addr   _S6_un._S6_u8

Definition at line 70 of file ipv6.h.

#define s6_addr8   _S6_un._S6_u8

Definition at line 71 of file ipv6.h.

#define s6_addr16   _S6_un._S6_u16

Definition at line 72 of file ipv6.h.

#define s6_addr32   _S6_un._S6_u32

Definition at line 73 of file ipv6.h.

#define IN6ADDR_ANY_INIT   {{{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }}}

Definition at line 75 of file ipv6.h.

#define IN6ADDR_LOOPBACK_INIT   {{{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }}}

Definition at line 76 of file ipv6.h.

#define IN6_IS_ADDR_UNSPECIFIED (  ) 

Value:

(((a)->s6_addr32[0] == 0) &&    \
         ((a)->s6_addr32[1] == 0) &&    \
         ((a)->s6_addr32[2] == 0) &&    \
         ((a)->s6_addr32[3] == 0))
Unspecified.

Definition at line 101 of file ipv6.h.

#define IN6_IS_ADDR_LOOPBACK (  ) 

Value:

(((a)->s6_addr32[0] == 0) &&    \
         ((a)->s6_addr32[1] == 0) &&    \
         ((a)->s6_addr32[2] == 0) &&    \
         ((a)->s6_addr32[3] == htonl(1)))
Loopback.

Definition at line 110 of file ipv6.h.

Referenced by is_insecure().

#define IN6_IS_ADDR_V4COMPAT (  ) 

Value:

(((a)->s6_addr32[0] == 0) &&    \
         ((a)->s6_addr32[1] == 0) &&    \
         ((a)->s6_addr32[2] == 0) &&    \
         ((a)->s6_addr32[3] != 0) &&    \
         ((a)->s6_addr32[3] != htonl(1)))
IPv4 compatible.

Definition at line 119 of file ipv6.h.

Referenced by possibly_mark().

#define IN6_IS_ADDR_V4MAPPED (  ) 

Value:

(((a)->s6_addr32[0] == 0) &&          \
         ((a)->s6_addr32[1] == 0) &&          \
         ((a)->s6_addr32[2] == htonl(0x0000ffff)))
Mapped.

Definition at line 129 of file ipv6.h.

Referenced by dns_acl_match2(), dns_zone_notifyreceive(), isc_netaddr_fromv4mapped(), isc_sockaddr_hash(), notify_send_toaddr(), and possibly_mark().

#define IN6_IS_ADDR_MULTICAST (  )     ((a)->s6_addr8[0] == 0xffU)

Multicast.

Definition at line 137 of file ipv6.h.

Referenced by isc_netaddr_ismulticast(), and process_cmsg().

#define IN6_IS_ADDR_LINKLOCAL (  )     (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80))

Unicast link / site local.

Definition at line 143 of file ipv6.h.

Referenced by client_request(), get_addr(), isc_netaddr_islinklocal(), and isc_netscope_pton().

#define IN6_IS_ADDR_SITELOCAL (  )     (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0))

Definition at line 145 of file ipv6.h.

Referenced by isc_netaddr_issitelocal().


Variable Documentation

LIBISC_EXTERNAL_DATA struct in6_addr in6addr_any

Definition at line 26 of file ipv6.c.

Referenced by do_scan(), internal_current4(), isc_netaddr_any6(), and isc_sockaddr_any6().

LIBISC_EXTERNAL_DATA struct in6_addr in6addr_loopback

Definition at line 27 of file ipv6.c.

Referenced by ns_controls_configure().


Generated on Tue Apr 28 17:41:15 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha