aboutsummaryrefslogtreecommitdiffstats
path: root/libglouglou/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'libglouglou/utils.c')
-rw-r--r--libglouglou/utils.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libglouglou/utils.c b/libglouglou/utils.c
index 2c17eb0..2b56270 100644
--- a/libglouglou/utils.c
+++ b/libglouglou/utils.c
@@ -15,6 +15,8 @@
#include <pwd.h>
#include <grp.h>
#include <string.h>
+#include <pcap.h>
+#include <dnet.h>
#include "libglouglou.h"
@@ -198,3 +200,18 @@ droppriv(char *user, int do_chroot, char *chroot_path)
endpwent();
}
+char *
+get_iface(char *ip) {
+ struct addr dst;
+ struct intf_entry entry;
+ char *iface;
+
+ intf = intf_open();
+ addr_aton(ip, &dst);
+ if (intf_get_dst(intf, &entry, &dst) < 0)
+ return NULL;
+ iface = addr_ntoa(&entry.intf_addr);
+ intf_close(intf);
+
+ return iface;
+}