return 1;
}
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+#elif defined(BSD_VNSTAT)
if (readifaddrs(inface) == 1) {
ifinfo.timestamp = time(NULL);
return 1;
return 0;
}
-int getiflist(iflist **ifl, int getspeed)
+int getiflist(iflist **ifl, const int getspeed)
{
- char temp[64];
#if defined(__linux__) || defined(CHECK_VNSTAT)
+ return getiflist_linux(ifl, getspeed);
+#elif defined(BSD_VNSTAT)
+ return getiflist_bsd(ifl, getspeed);
+#endif
+}
+
+#if defined(__linux__) || defined(CHECK_VNSTAT)
+int getiflist_linux(iflist **ifl, const int getspeed)
+{
+ char temp[64];
char interface[32];
FILE *fp;
DIR *dp;
struct dirent *di;
char procline[512];
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
- struct ifaddrs *ifap, *ifa;
-#endif
-#if defined(__linux__) || defined(CHECK_VNSTAT)
if ((fp = fopen(PROCNETDEV, "r")) != NULL) {
/* make list of interfaces */
}
}
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+ return 0;
+}
+#elif defined(BSD_VNSTAT)
+int getiflist_bsd(iflist **ifl, const int getspeed)
+{
+ char temp[64];
+ struct ifaddrs *ifap, *ifa;
+
if (getifaddrs(&ifap) >= 0) {
/* make list of interfaces */
return 1;
}
-#endif
-
return 0;
}
+#endif
int readproc(const char *iface)
{
return 1;
}
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+#if defined(BSD_VNSTAT)
int getifdata(const char *iface, struct if_data *ifd)
{
struct ifaddrs *ifap, *ifa;
uint32_t getifspeed(const char *iface)
{
uint64_t speed = 0;
+
#if defined(__linux__)
FILE *fp;
}
fclose(fp);
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+#elif defined(BSD_VNSTAT)
struct if_data ifd;
}
#endif
+
if (debug)
printf("getifspeed: \"%s\": %" PRIu64 "\n", iface, speed);
#include "iflist.h"
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+#if defined(BSD_VNSTAT)
#include <net/if.h>
#endif
int getifinfo(const char *iface);
int getifliststring(char **ifacelist, int showspeed);
int getiflist(iflist **ifl, int getspeed);
+#if defined(__linux__) || defined(CHECK_VNSTAT)
+int getiflist_linux(iflist **ifl, const int getspeed);
+#elif defined(BSD_VNSTAT)
+int getiflist_bsd(iflist **ifl, const int getspeed);
+#endif
int readproc(const char *iface);
int readsysclassnet(const char *iface);
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+#if defined(BSD_VNSTAT)
int getifdata(const char *iface, struct if_data *ifd);
int readifaddrs(const char *iface);
#endif
-#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__APPLE__) && !defined(__FreeBSD_kernel__)
+#if !defined(BSD_VNSTAT)
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-id-macro"
result = strtoull(statline + 6, (char **)NULL, 0);
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
+#elif defined(BSD_VNSTAT)
struct timeval btm;
size_t len = sizeof(btm);
int mib[2] = {CTL_KERN, KERN_BOOTTIME};