diff options
author | Lennart Poettering <lennart@poettering.net> | 2003-10-13 17:40:45 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2003-10-13 17:40:45 +0000 |
commit | f350c50a1a059489666ce31f33153771626182ea (patch) | |
tree | 23487b9aefaaf0ad95e4f45b89205f76812463ec /src/interface.c | |
parent | 866bc8fd59b7134b800faad565ed00b2e3b09b36 (diff) |
Large commit
git-svn-id: file:///home/lennart/svn/public/aeswepd/trunk@20 022f378f-78c4-0310-b860-d162c87e6274
Diffstat (limited to 'src/interface.c')
-rw-r--r-- | src/interface.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/interface.c b/src/interface.c index 4f1605a..b33472c 100644 --- a/src/interface.c +++ b/src/interface.c @@ -64,47 +64,3 @@ void interface_close(struct interface *i) { free(i); } - -int interface_is_assoc(struct interface *i, struct hw_addr *ap) { - struct hw_addr ap2; - struct iwreq req; - struct iw_statistics q; - - assert(i); - - if (ap) - memset(ap->addr, 0, ETH_ALEN); - - memset(&req, 0, sizeof(req)); - strncpy(req.ifr_ifrn.ifrn_name, i->name, IFNAMSIZ); - - if (ioctl(i->fd, SIOCGIWAP, &req) < 0) { - daemon_log(LOG_ERR, "Failed to get AP address\n"); - return -1; - } - - memcpy(ap2.addr, &(req.u.ap_addr.sa_data), ETH_ALEN); - - if (!is_assoc_ap(&ap2)) - return 0; - - memset(&req, 0, sizeof(req)); - strncpy(req.ifr_ifrn.ifrn_name, i->name, IFNAMSIZ); - - req.u.data.pointer = (caddr_t) &q; - req.u.data.length = sizeof(q); - req.u.data.flags = 1; - - if (ioctl(i->fd, SIOCGIWSTATS, &req) < 0) { - daemon_log(LOG_ERR, "Failed to get interface quality\n"); - return -1; - } - - if (q.qual.qual <= 0) - return 0; - - if (ap) - memcpy(ap->addr, ap2.addr, ETH_ALEN); - - return 1; -} |