summaryrefslogtreecommitdiff
path: root/lib/mlibc/options/linux/include/ifaddrs.h
blob: 2604e3e83ddb446bfa0e79ebcdc53fcabb907fce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

#ifndef  _IFADDRS_H
#define  _IFADDRS_H

#ifdef __cplusplus
extern "C" {
#endif

#include <netinet/in.h>
#include <sys/socket.h>

// Struct definitions taken from musl
struct ifaddrs {
	struct ifaddrs *ifa_next;
	char *ifa_name;
	unsigned ifa_flags;
	struct sockaddr *ifa_addr;
	struct sockaddr *ifa_netmask;
	struct sockaddr *ifa_broadaddr;
	struct sockaddr *ifa_dstaddr;
	void *ifa_data;
};

#ifndef __MLIBC_ABI_ONLY

int getifaddrs(struct ifaddrs **);
void freeifaddrs(struct ifaddrs *);

#endif /* !__MLIBC_ABI_ONLY */

#ifdef __cplusplus
}
#endif

#endif // _IFADDRS_H