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