1/*-
2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
--- 44 unchanged lines hidden (view full) ---
53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
58 * SUCH DAMAGE.
59 *
60 * @(#)in_var.h 8.1 (Berkeley) 6/10/93
61 * $FreeBSD: head/sys/netinet6/in6_var.h 231852 2012-02-17 02:39:58Z bz $
62 */
63
64#ifndef _NETINET6_IN6_VAR_H_
65#define _NETINET6_IN6_VAR_H_
66
67#include <sys/tree.h>
68
69#ifdef _KERNEL
--- 687 unchanged lines hidden (view full) ---
757/* Legacy KAME multicast KPIs. */
758struct in6_multi_mship *
759 in6_joingroup(struct ifnet *, struct in6_addr *, int *, int);
760int in6_leavegroup(struct in6_multi_mship *);
761
762/* flags to in6_update_ifa */
763#define IN6_IFAUPDATE_DADDELAY 0x1 /* first time to configure an address */
764
765int in6_mask2len __P((struct in6_addr *, u_char *));
766int in6_control __P((struct socket *, u_long, caddr_t, struct ifnet *,
767 struct thread *));
768int in6_update_ifa __P((struct ifnet *, struct in6_aliasreq *,
769 struct in6_ifaddr *, int));
770void in6_purgeaddr __P((struct ifaddr *));
771int in6if_do_dad __P((struct ifnet *));
772void in6_purgeif __P((struct ifnet *));
773void in6_savemkludge __P((struct in6_ifaddr *));
774void *in6_domifattach __P((struct ifnet *));
775void in6_domifdetach __P((struct ifnet *, void *));
776void in6_setmaxmtu __P((void));
777int in6_if2idlen __P((struct ifnet *));
778struct in6_ifaddr *in6ifa_ifpforlinklocal __P((struct ifnet *, int));
779struct in6_ifaddr *in6ifa_ifpwithaddr __P((struct ifnet *, struct in6_addr *));
780char *ip6_sprintf __P((char *, const struct in6_addr *));
781int in6_addr2zoneid __P((struct ifnet *, struct in6_addr *, u_int32_t *));
782int in6_matchlen __P((struct in6_addr *, struct in6_addr *));
783int in6_are_prefix_equal __P((struct in6_addr *, struct in6_addr *, int));
784void in6_prefixlen2mask __P((struct in6_addr *, int));
785int in6_prefix_ioctl __P((struct socket *, u_long, caddr_t,
786 struct ifnet *));
787int in6_prefix_add_ifid __P((int, struct in6_ifaddr *));
788void in6_prefix_remove_ifid __P((int, struct in6_ifaddr *));
789void in6_purgeprefix __P((struct ifnet *));
790void in6_ifremloop(struct ifaddr *);
791void in6_ifaddloop(struct ifaddr *);
792
793int in6_is_addr_deprecated __P((struct sockaddr_in6 *));
794int in6_src_ioctl __P((u_long, caddr_t));
795
796/*
797 * Extended API for IPv6 FIB support.
798 */
799void in6_rtredirect(struct sockaddr *, struct sockaddr *, struct sockaddr *,
800 int, struct sockaddr *, u_int);
801int in6_rtrequest(int, struct sockaddr *, struct sockaddr *,
802 struct sockaddr *, int, struct rtentry **, u_int);
803void in6_rtalloc(struct route_in6 *, u_int);
804void in6_rtalloc_ign(struct route_in6 *, u_long, u_int);
805struct rtentry *in6_rtalloc1(struct sockaddr *, int, u_long, u_int);
806#endif /* _KERNEL */
807
808#endif /* _NETINET6_IN6_VAR_H_ */
2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
--- 44 unchanged lines hidden (view full) ---
53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
58 * SUCH DAMAGE.
59 *
60 * @(#)in_var.h 8.1 (Berkeley) 6/10/93
61 * $FreeBSD: head/sys/netinet6/in6_var.h 231852 2012-02-17 02:39:58Z bz $
62 */
63
64#ifndef _NETINET6_IN6_VAR_H_
65#define _NETINET6_IN6_VAR_H_
66
67#include <sys/tree.h>
68
69#ifdef _KERNEL
--- 687 unchanged lines hidden (view full) ---
757/* Legacy KAME multicast KPIs. */
758struct in6_multi_mship *
759 in6_joingroup(struct ifnet *, struct in6_addr *, int *, int);
760int in6_leavegroup(struct in6_multi_mship *);
761
762/* flags to in6_update_ifa */
763#define IN6_IFAUPDATE_DADDELAY 0x1 /* first time to configure an address */
764
765int in6_mask2len __P((struct in6_addr *, u_char *));
766int in6_control __P((struct socket *, u_long, caddr_t, struct ifnet *,
767 struct thread *));
768int in6_update_ifa __P((struct ifnet *, struct in6_aliasreq *,
769 struct in6_ifaddr *, int));
770void in6_purgeaddr __P((struct ifaddr *));
771int in6if_do_dad __P((struct ifnet *));
772void in6_purgeif __P((struct ifnet *));
773void in6_savemkludge __P((struct in6_ifaddr *));
774void *in6_domifattach __P((struct ifnet *));
775void in6_domifdetach __P((struct ifnet *, void *));
776void in6_setmaxmtu __P((void));
777int in6_if2idlen __P((struct ifnet *));
778struct in6_ifaddr *in6ifa_ifpforlinklocal __P((struct ifnet *, int));
779struct in6_ifaddr *in6ifa_ifpwithaddr __P((struct ifnet *, struct in6_addr *));
780char *ip6_sprintf __P((char *, const struct in6_addr *));
781int in6_addr2zoneid __P((struct ifnet *, struct in6_addr *, u_int32_t *));
782int in6_matchlen __P((struct in6_addr *, struct in6_addr *));
783int in6_are_prefix_equal __P((struct in6_addr *, struct in6_addr *, int));
784void in6_prefixlen2mask __P((struct in6_addr *, int));
785int in6_prefix_ioctl __P((struct socket *, u_long, caddr_t,
786 struct ifnet *));
787int in6_prefix_add_ifid __P((int, struct in6_ifaddr *));
788void in6_prefix_remove_ifid __P((int, struct in6_ifaddr *));
789void in6_purgeprefix __P((struct ifnet *));
790void in6_ifremloop(struct ifaddr *);
791void in6_ifaddloop(struct ifaddr *);
792
793int in6_is_addr_deprecated __P((struct sockaddr_in6 *));
794int in6_src_ioctl __P((u_long, caddr_t));
795
796/*
797 * Extended API for IPv6 FIB support.
798 */
799void in6_rtredirect(struct sockaddr *, struct sockaddr *, struct sockaddr *,
800 int, struct sockaddr *, u_int);
801int in6_rtrequest(int, struct sockaddr *, struct sockaddr *,
802 struct sockaddr *, int, struct rtentry **, u_int);
803void in6_rtalloc(struct route_in6 *, u_int);
804void in6_rtalloc_ign(struct route_in6 *, u_long, u_int);
805struct rtentry *in6_rtalloc1(struct sockaddr *, int, u_long, u_int);
806#endif /* _KERNEL */
807
808#endif /* _NETINET6_IN6_VAR_H_ */