xref: /aosp_15_r20/external/musl/include/ifaddrs.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #ifndef _IFADDRS_H
2*c9945492SAndroid Build Coastguard Worker #define _IFADDRS_H
3*c9945492SAndroid Build Coastguard Worker 
4*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
5*c9945492SAndroid Build Coastguard Worker extern "C" {
6*c9945492SAndroid Build Coastguard Worker #endif
7*c9945492SAndroid Build Coastguard Worker 
8*c9945492SAndroid Build Coastguard Worker #include <features.h>
9*c9945492SAndroid Build Coastguard Worker #include <netinet/in.h>
10*c9945492SAndroid Build Coastguard Worker #include <sys/socket.h>
11*c9945492SAndroid Build Coastguard Worker 
12*c9945492SAndroid Build Coastguard Worker struct ifaddrs {
13*c9945492SAndroid Build Coastguard Worker 	struct ifaddrs *ifa_next;
14*c9945492SAndroid Build Coastguard Worker 	char *ifa_name;
15*c9945492SAndroid Build Coastguard Worker 	unsigned ifa_flags;
16*c9945492SAndroid Build Coastguard Worker 	struct sockaddr *ifa_addr;
17*c9945492SAndroid Build Coastguard Worker 	struct sockaddr *ifa_netmask;
18*c9945492SAndroid Build Coastguard Worker 	union {
19*c9945492SAndroid Build Coastguard Worker 		struct sockaddr *ifu_broadaddr;
20*c9945492SAndroid Build Coastguard Worker 		struct sockaddr *ifu_dstaddr;
21*c9945492SAndroid Build Coastguard Worker 	} ifa_ifu;
22*c9945492SAndroid Build Coastguard Worker 	void *ifa_data;
23*c9945492SAndroid Build Coastguard Worker };
24*c9945492SAndroid Build Coastguard Worker #define ifa_broadaddr ifa_ifu.ifu_broadaddr
25*c9945492SAndroid Build Coastguard Worker #define ifa_dstaddr ifa_ifu.ifu_dstaddr
26*c9945492SAndroid Build Coastguard Worker 
27*c9945492SAndroid Build Coastguard Worker void freeifaddrs(struct ifaddrs *);
28*c9945492SAndroid Build Coastguard Worker int getifaddrs(struct ifaddrs **);
29*c9945492SAndroid Build Coastguard Worker 
30*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
31*c9945492SAndroid Build Coastguard Worker }
32*c9945492SAndroid Build Coastguard Worker #endif
33*c9945492SAndroid Build Coastguard Worker 
34*c9945492SAndroid Build Coastguard Worker #endif
35*c9945492SAndroid Build Coastguard Worker 
36