From 3a46885c17ba051ced802e3d35b9ddc6bf10edf6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 12 Apr 2004 13:58:11 +0000 Subject: preparation for 0.24 git-svn-id: file:///home/lennart/svn/public/ifplugd/trunk@109 2bf48fe7-cfc1-0310-909f-d9042e1e0fef --- src/interface.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/interface.c') diff --git a/src/interface.c b/src/interface.c index d277612..6007172 100644 --- a/src/interface.c +++ b/src/interface.c @@ -163,6 +163,25 @@ interface_status_t interface_detect_beat_ethtool(int fd, char *iface) { return edata.data ? IFSTATUS_UP : IFSTATUS_DOWN; } +interface_status_t interface_detect_beat_iff(int fd, char *iface) { + + struct ifreq ifr; + + if (interface_auto_up) + interface_up(fd, iface); + + memset(&ifr, 0, sizeof(ifr)); + strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)-1); + + if (ioctl(fd, SIOCGIFFLAGS, &ifr) == -1) { + if (interface_do_message) + daemon_log(LOG_ERR, "SIOCGIFFLAGS failed: %s", strerror(errno)); + + return IFSTATUS_ERR; + } + + return ifr.ifr_flags & IFF_RUNNING ? IFSTATUS_UP : IFSTATUS_DOWN; +} static int get_wlan_qual_old(char *iface) { FILE *f; -- cgit