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 241916 2012-10-22 21:49:56Z delphij $ |
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(struct in6_addr *, u_char *); 766int in6_control(struct socket *, u_long, caddr_t, struct ifnet *, 767 struct thread *); 768int in6_update_ifa(struct ifnet *, struct in6_aliasreq *, 769 struct in6_ifaddr *, int); 770void in6_purgeaddr(struct ifaddr *); 771int in6if_do_dad(struct ifnet *); 772void in6_purgeif(struct ifnet *); 773void in6_savemkludge(struct in6_ifaddr *); 774void *in6_domifattach(struct ifnet *); 775void in6_domifdetach(struct ifnet *, void *); 776void in6_setmaxmtu(void); 777int in6_if2idlen(struct ifnet *); 778struct in6_ifaddr *in6ifa_ifpforlinklocal(struct ifnet *, int); 779struct in6_ifaddr *in6ifa_ifpwithaddr(struct ifnet *, struct in6_addr *); 780char *ip6_sprintf(char *, const struct in6_addr *); 781int in6_addr2zoneid(struct ifnet *, struct in6_addr *, u_int32_t *); 782int in6_matchlen(struct in6_addr *, struct in6_addr *); 783int in6_are_prefix_equal(struct in6_addr *, struct in6_addr *, int); 784void in6_prefixlen2mask(struct in6_addr *, int); 785int in6_prefix_ioctl(struct socket *, u_long, caddr_t, 786 struct ifnet *); 787int in6_prefix_add_ifid(int, struct in6_ifaddr *); 788void in6_prefix_remove_ifid(int, struct in6_ifaddr *); 789void in6_purgeprefix(struct ifnet *); |
790void in6_ifremloop(struct ifaddr *); 791void in6_ifaddloop(struct ifaddr *); 792 |
793int in6_is_addr_deprecated(struct sockaddr_in6 *); 794int in6_src_ioctl(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_ */ |