162606Sitojun/*	$FreeBSD$	*/
262606Sitojun
362606Sitojun/*
462606Sitojun * Copyright (c) 1995, 1999
562606Sitojun *	Berkeley Software Design, Inc.  All rights reserved.
662606Sitojun *
762606Sitojun * Redistribution and use in source and binary forms, with or without
862606Sitojun * modification, are permitted provided that the following conditions
962606Sitojun * are met:
1062606Sitojun * 1. Redistributions of source code must retain the above copyright
1162606Sitojun *    notice, this list of conditions and the following disclaimer.
1262606Sitojun *
1362606Sitojun * THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND
1462606Sitojun * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1562606Sitojun * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1662606Sitojun * ARE DISCLAIMED.  IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE
1762606Sitojun * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1862606Sitojun * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1962606Sitojun * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2062606Sitojun * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2162606Sitojun * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2262606Sitojun * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2362606Sitojun * SUCH DAMAGE.
2462606Sitojun *
2562606Sitojun *	BSDI ifaddrs.h,v 2.5 2000/02/23 14:51:59 dab Exp
2662606Sitojun */
2762606Sitojun
2862606Sitojun#ifndef	_IFADDRS_H_
2962606Sitojun#define	_IFADDRS_H_
3062606Sitojun
3162606Sitojunstruct ifaddrs {
3262606Sitojun	struct ifaddrs  *ifa_next;
3362606Sitojun	char		*ifa_name;
34250887Sed	unsigned int	 ifa_flags;
3562606Sitojun	struct sockaddr	*ifa_addr;
3662606Sitojun	struct sockaddr	*ifa_netmask;
3762606Sitojun	struct sockaddr	*ifa_dstaddr;
3862606Sitojun	void		*ifa_data;
3962606Sitojun};
4062606Sitojun
4162606Sitojun/*
4262606Sitojun * This may have been defined in <net/if.h>.  Note that if <net/if.h> is
4362606Sitojun * to be included it must be included before this header file.
4462606Sitojun */
4562606Sitojun#ifndef	ifa_broadaddr
4662606Sitojun#define	ifa_broadaddr	ifa_dstaddr	/* broadcast address interface */
4762606Sitojun#endif
4862606Sitojun
49122687Sbmsstruct ifmaddrs {
50122687Sbms	struct ifmaddrs	*ifma_next;
51122687Sbms	struct sockaddr	*ifma_name;
52122687Sbms	struct sockaddr	*ifma_addr;
53122687Sbms	struct sockaddr	*ifma_lladdr;
54122687Sbms};
55122687Sbms
5662606Sitojun#include <sys/cdefs.h>
5762606Sitojun
5862606Sitojun__BEGIN_DECLS
5993032Simpextern int getifaddrs(struct ifaddrs **);
6093032Simpextern void freeifaddrs(struct ifaddrs *);
61122687Sbmsextern int getifmaddrs(struct ifmaddrs **);
62122687Sbmsextern void freeifmaddrs(struct ifmaddrs *);
6362606Sitojun__END_DECLS
6462606Sitojun
6562606Sitojun#endif
66