1*df6ad731Slogwang /* $FreeBSD$ */ 2*df6ad731Slogwang 3*df6ad731Slogwang /* 4*df6ad731Slogwang * Copyright (c) 1995, 1999 5*df6ad731Slogwang * Berkeley Software Design, Inc. All rights reserved. 6*df6ad731Slogwang * 7*df6ad731Slogwang * Redistribution and use in source and binary forms, with or without 8*df6ad731Slogwang * modification, are permitted provided that the following conditions 9*df6ad731Slogwang * are met: 10*df6ad731Slogwang * 1. Redistributions of source code must retain the above copyright 11*df6ad731Slogwang * notice, this list of conditions and the following disclaimer. 12*df6ad731Slogwang * 13*df6ad731Slogwang * THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND 14*df6ad731Slogwang * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*df6ad731Slogwang * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*df6ad731Slogwang * ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE 17*df6ad731Slogwang * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*df6ad731Slogwang * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*df6ad731Slogwang * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*df6ad731Slogwang * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*df6ad731Slogwang * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*df6ad731Slogwang * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*df6ad731Slogwang * SUCH DAMAGE. 24*df6ad731Slogwang * 25*df6ad731Slogwang * BSDI ifaddrs.h,v 2.5 2000/02/23 14:51:59 dab Exp 26*df6ad731Slogwang */ 27*df6ad731Slogwang 28*df6ad731Slogwang #ifndef _COMPAT_IFADDRS_H_ 29*df6ad731Slogwang #define _COMPAT_IFADDRS_H_ 30*df6ad731Slogwang 31*df6ad731Slogwang struct ifaddrs { 32*df6ad731Slogwang struct ifaddrs *ifa_next; 33*df6ad731Slogwang char *ifa_name; 34*df6ad731Slogwang unsigned int ifa_flags; 35*df6ad731Slogwang struct sockaddr *ifa_addr; 36*df6ad731Slogwang struct sockaddr *ifa_netmask; 37*df6ad731Slogwang struct sockaddr *ifa_dstaddr; 38*df6ad731Slogwang void *ifa_data; 39*df6ad731Slogwang }; 40*df6ad731Slogwang 41*df6ad731Slogwang /* 42*df6ad731Slogwang * This may have been defined in <net/if.h>. Note that if <net/if.h> is 43*df6ad731Slogwang * to be included it must be included before this header file. 44*df6ad731Slogwang */ 45*df6ad731Slogwang #ifndef ifa_broadaddr 46*df6ad731Slogwang #define ifa_broadaddr ifa_dstaddr /* broadcast address interface */ 47*df6ad731Slogwang #endif 48*df6ad731Slogwang 49*df6ad731Slogwang struct ifmaddrs { 50*df6ad731Slogwang struct ifmaddrs *ifma_next; 51*df6ad731Slogwang struct sockaddr *ifma_name; 52*df6ad731Slogwang struct sockaddr *ifma_addr; 53*df6ad731Slogwang struct sockaddr *ifma_lladdr; 54*df6ad731Slogwang }; 55*df6ad731Slogwang 56*df6ad731Slogwang extern int getifaddrs(struct ifaddrs **); 57*df6ad731Slogwang extern void freeifaddrs(struct ifaddrs *); 58*df6ad731Slogwang extern int getifmaddrs(struct ifmaddrs **); 59*df6ad731Slogwang extern void freeifmaddrs(struct ifmaddrs *); 60*df6ad731Slogwang 61*df6ad731Slogwang #endif 62