sl@0: /** @file ../include/netinet6/in6.h sl@0: @internalComponent sl@0: */ sl@0: sl@0: /** @struct in6_addr sl@0: sl@0: IPv6 address sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @var in6_addr::__u6_addr sl@0: 128-bit IP6 address sl@0: */ sl@0: sl@0: /** @def s6_addr sl@0: sl@0: __u6_addr.__u6_addr8 sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def INET6_ADDRSTRLEN sl@0: sl@0: INTET6 address length sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @struct sockaddr_in6 sl@0: sl@0: Socket address for IPv6 sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @var sockaddr_in6::sin6_family sl@0: AF_INET6 sl@0: */ sl@0: sl@0: /** @var sockaddr_in6::sin6_port sl@0: Transport layer port X sl@0: */ sl@0: sl@0: /** @var sockaddr_in6::sin6_addr sl@0: IP6 address sl@0: */ sl@0: sl@0: /** @var sockaddr_in6::sin6_flowinfo sl@0: IP6 flow information sl@0: */ sl@0: sl@0: /** @var sockaddr_in6::sin6_scope_id sl@0: scope zone index sl@0: */ sl@0: sl@0: /** @var sockaddr_in6::sin6_len sl@0: length of this struct sl@0: */ sl@0: sl@0: sl@0: /** @def IN6ADDR_ANY_INIT sl@0: sl@0: To handle IP6 addresses sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6ADDR_LOOPBACK_INIT sl@0: sl@0: To handle IP6 addresses sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6ADDR_NODELOCAL_ALLNODES_INIT sl@0: sl@0: To handle IP6 addresses sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6ADDR_INTFACELOCAL_ALLNODES_INIT sl@0: sl@0: To handle IP6 addresses sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6ADDR_LINKLOCAL_ALLNODES_INIT sl@0: sl@0: To handle IP6 addresses sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6ADDR_LINKLOCAL_ALLROUTERS_INIT sl@0: sl@0: To handle IP6 addresses sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_ARE_ADDR_EQUAL(a, b) sl@0: sl@0: Equality. NOTE: Some of kernel programming environment (for example, openbsd or sparc) does not supply memcmp(). For userland memcmp() is preferred as it is in ANSI standard. sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_UNSPECIFIED(a) sl@0: sl@0: Unspecified sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_LOOPBACK(a) sl@0: sl@0: Loopback sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_V4COMPAT(a) sl@0: sl@0: IPv4 compatible sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_V4MAPPED(a) sl@0: sl@0: Mapped sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_LINKLOCAL(a) sl@0: sl@0: Unicast Scope. Note that we must check topmost 10 bits only, not 16 bits (see RFC2373). sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_MC_NODELOCAL(a) sl@0: sl@0: Multicast Scope sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_MC_LINKLOCAL(a) sl@0: sl@0: Multicast Scope sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_MC_SITELOCAL(a) sl@0: sl@0: Multicast Scope sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IN6_IS_ADDR_MC_ORGLOCAL(a) sl@0: sl@0: Multicast Scope sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IN6_IS_ADDR_MC_GLOBAL(a) sl@0: sl@0: Multicast Scope sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6_UNICAST_HOPS sl@0: sl@0: int; IP6 hops sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_MULTICAST_IF sl@0: sl@0: u_int; set or get IP6 multicast if sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_MULTICAST_HOPS sl@0: sl@0: int; set or get IP6 multicast hops sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_MULTICAST_LOOP sl@0: sl@0: u_int; set or get IP6 multicast loopback sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @struct ipv6_mreq sl@0: sl@0: Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_SOCKOPT_RESERVED1 sl@0: sl@0: reserved for future use sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6_JOIN_GROUP sl@0: sl@0: ip6_mreq; join a group membership sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_LEAVE_GROUP sl@0: sl@0: ip6_mreq; leave a group membership sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_PORTRANGE sl@0: sl@0: int; range to choose for unspec port sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def ICMP6_FILTER sl@0: sl@0: icmp6_filter; icmp6 filter sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6_RTHDRDSTOPTS sl@0: sl@0: ip6_dest; send dst option before rthdr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_RECVPKTINFO sl@0: sl@0: bool; recv if, dst addr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6_RECVHOPLIMIT sl@0: sl@0: bool; recv hop limit sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_RECVRTHDR sl@0: sl@0: bool; recv routing header sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6_RECVHOPOPTS sl@0: sl@0: bool; recv hop-by-hop option sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_RECVPKTINFO sl@0: sl@0: bool; recv if, dst addr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_RECVHOPLIMIT sl@0: sl@0: bool; recv hop limit sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6_RECVRTHDR sl@0: sl@0: bool; recv routing header sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6_RECVHOPOPTS sl@0: sl@0: bool; recv hop-by-hop option sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_RECVDSTOPTS sl@0: sl@0: bool; recv dst option after rthdr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_USE_MIN_MTU sl@0: sl@0: bool; send packets at the minimum MTU sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6_RECVPATHMTU sl@0: sl@0: bool; notify an according MTU sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6_PATHMTU sl@0: sl@0: mtuinfo; get the current path MTU (sopt), 4 bytes int; MTU notification (cmsg) sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_PKTINFO sl@0: sl@0: in6_pktinfo; send if, src addr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6_HOPLIMIT sl@0: sl@0: int; send hop limit sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_NEXTHOP sl@0: sl@0: sockaddr; next hop addr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6_DSTOPTS sl@0: sl@0: ip6_dest; send dst option befor rthdr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_RTHDR sl@0: sl@0: new socket options introduced in RFC3542. ip6_dest; send dst option before rthdr sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_PORTRANGE_DEFAULT sl@0: sl@0: Argument for IPV6_PORTRANGE: - which range to search when port is unspecified at bind() or connect(). default range. sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_PORTRANGE_HIGH sl@0: sl@0: Argument for IPV6_PORTRANGE: - which range to search when port is unspecified at bind() or connect()."high" - request firewall bypass sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6_PORTRANGE_LOW sl@0: sl@0: Argument for IPV6_PORTRANGE: - which range to search when port is unspecified at bind() or connect(). "low" - vouchsafe security sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6PROTO_MAXID sl@0: sl@0: Definitions for inet6 sysctl operations. sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_FORWARDING sl@0: sl@0: Names for IP sysctl objects. act as router. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_RTEXPIRE sl@0: sl@0: cloned route expiration time sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_RTMINEXPIRE sl@0: sl@0: min value for expiration time sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def IPV6CTL_RTMAXCACHE sl@0: sl@0: trigger level for dynamic expire sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_RR_PRUNE sl@0: sl@0: Names for IP sysctl objects. walk timer for router renumbering. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_USE_DEPRECATED sl@0: sl@0: Names for IP sysctl objects. use deprecated addr (RFC2462 5.5.4) sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def IPV6CTL_KAME_VERSION sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_GIF_HLIM sl@0: sl@0: Names for IP sysctl objects. default HLIM for gif encap packet. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def IPV6CTL_DEFMCASTHLIM sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_DAD_COUNT sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def IPV6CTL_AUTO_FLOWLABEL sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_KEEPFAITH sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_LOG_INTERVAL sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_HDRNESTLIMIT sl@0: sl@0: Names for IP sysctl objects. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_SENDREDIRECTS sl@0: sl@0: Names for IP sysctl objects. may send redirects when forwarding. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def IPV6CTL_DEFHLIM sl@0: sl@0: Names for IP sysctl objects. default Hop-Limit. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_MAXFRAGPACKETS sl@0: sl@0: max packets reassembly queue sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_ACCEPT_RTADV sl@0: sl@0: Names for IP sysctl objects sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_FORWSRCRT sl@0: sl@0: forward source-routed dgrams sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_STATS sl@0: sl@0: stats sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6CTL_MRTSTATS sl@0: sl@0: multicast forwarding stats sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_MRTPROTO sl@0: sl@0: multicast routing protocol sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6CTL_SOURCECHECK sl@0: sl@0: verify source route and intf sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_SOURCECHECK_LOGINT sl@0: sl@0: minimume logging interval sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_V6ONLY sl@0: sl@0: cloned route expiration time sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /** @def IPV6CTL_USETEMPADDR sl@0: sl@0: use temporary addresses (RFC3041) sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_TEMPPLTIME sl@0: sl@0: preferred lifetime for tmpaddrs sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_TEMPVLTIME sl@0: sl@0: valid lifetime for tmpaddrs sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_AUTO_LINKLOCAL sl@0: sl@0: automatic link-local addr assign sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_RIP6STATS sl@0: sl@0: raw_ip6 stats sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_PREFER_TEMPADDR sl@0: sl@0: prefer temporary addr as src sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_ADDRCTLPOLICY sl@0: sl@0: get or set address selection policy sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_MAXFRAGS sl@0: sl@0: max fragments sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: /** @def IPV6CTL_STEALTH sl@0: sl@0: New entries should be added here from current IPV6CTL_MAXID value. to define items, should talk with KAME guys first, for BSD compatibility 42-44 is already used in KAME sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: /** @def IPV6CTL_MAXID sl@0: sl@0: MAXID sl@0: sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: sl@0: sl@0: sl@0: