summaryrefslogtreecommitdiff
path: root/include/ifaddrs.h
diff options
context:
space:
mode:
authorrofl0r <retnyg@gmx.net>2013-04-05 19:26:51 +0200
committerrofl0r <retnyg@gmx.net>2013-04-05 19:36:51 +0200
commit202db37a6f2cc43c06467473d9970677f6997ce3 (patch)
tree12ed3ea01404fbc875f845b7d4ea5e4bb7d9c6f1 /include/ifaddrs.h
parent5ffe4940507110f6d0220496cdfc411b8b89aa3d (diff)
downloadmusl-202db37a6f2cc43c06467473d9970677f6997ce3.tar.gz
add getifaddrs
supports ipv4 and ipv6, but not the "extended" usage where usage statistics and other info are assigned to ifa_data members of duplicate entries with AF_PACKET family.
Diffstat (limited to 'include/ifaddrs.h')
-rw-r--r--include/ifaddrs.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/ifaddrs.h b/include/ifaddrs.h
new file mode 100644
index 00000000..96b5ae90
--- /dev/null
+++ b/include/ifaddrs.h
@@ -0,0 +1,31 @@
+#ifndef _IFADDRS_H
+#define _IFADDRS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
+#include <netinet/in.h>
+
+struct ifaddrs {
+ struct ifaddrs *ifa_next;
+ char *ifa_name;
+ unsigned ifa_flags;
+ struct sockaddr *ifa_addr;
+ struct sockaddr *ifa_netmask;
+ union {
+ struct sockaddr *ifu_broadaddr;
+ struct sockaddr *ifu_dstaddr;
+ } ifa_ifu;
+ void *ifa_data;
+};
+#define ifa_broadaddr ifa_ifu.ifu_broadaddr
+#define ifa_dstaddr ifa_ifu.ifu_dstaddr
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+