diff options
Diffstat (limited to 'net/gkrellmwireless/files/patch-wireless.c')
-rw-r--r-- | net/gkrellmwireless/files/patch-wireless.c | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/net/gkrellmwireless/files/patch-wireless.c b/net/gkrellmwireless/files/patch-wireless.c deleted file mode 100644 index 90f5d306b2d5..000000000000 --- a/net/gkrellmwireless/files/patch-wireless.c +++ /dev/null @@ -1,107 +0,0 @@ ---- wireless.c.orig 2001-09-09 16:25:40.000000000 +0200 -+++ wireless.c 2008-03-18 12:10:36.000000000 +0100 -@@ -94,6 +94,37 @@ - - static int - find_wi_card(void) { -+ int s, ret; -+ ret = FALSE; -+ -+#if defined(__FreeBSD__) && __FreeBSD_version >= 600034 -+ struct ifaddrs *res = NULL, *ifa = NULL; -+ struct ifmediareq ifmr; -+ -+ if (getifaddrs(&res)) -+ return ret; -+ -+ if ((s = socket(PF_INET, SOCK_DGRAM, 0)) < 0) { -+ freeifaddrs(res); -+ return ret; -+ } -+ -+ for (ifa = res; ifa; ifa = ifa->ifa_next) { -+ memset(&ifmr, 0, sizeof(ifmr)); -+ strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name)); -+ if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) -+ continue; -+ if (!(ifmr.ifm_status & IFM_AVALID)) -+ continue; -+ if (IFM_TYPE(ifmr.ifm_active) != IFM_IEEE80211) -+ continue; -+ if (found_wcard(ifa->ifa_name) != NULL) -+ ret = TRUE; -+ } -+ -+ freeifaddrs(res); -+ -+#else - /* possible interfaces */ - char interfaces[][4] = {"wi0","wi1","wi2"}; - -@@ -101,9 +132,8 @@ - struct wi_req wreq; - /* interface request struct */ - struct ifreq ifr; -- int s,i,ret; -+ int i; - -- ret = FALSE; - /* open a socket for ioctl's */ - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) return ret; - -@@ -126,7 +156,7 @@ - - if(found_wcard(interfaces[i]) != NULL) ret = TRUE; - } -- -+#endif - close(s); - return ret; - } -@@ -174,11 +204,36 @@ - - static int - get_wi_link_quality(wcard_t *card, float *quality, float *level, float *noise) { -+ int s; -+#if defined(__FreeBSD__) && __FreeBSD_version >= 600034 -+ uint8_t buf[24 * 1024]; -+ struct ieee80211req ireq; -+ struct ieee80211req_scan_result *sr; -+ -+ if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) return FALSE; -+ -+ memset(&ireq, 0, sizeof(ireq)); -+ strncpy(ireq.i_name, card->ifname, sizeof(ireq.i_name)); -+ ireq.i_type = IEEE80211_IOC_SCAN_RESULTS; -+ ireq.i_data = buf; -+ ireq.i_len = sizeof(buf); -+ if (ioctl(s, SIOCG80211, &ireq) < 0) { -+ close(s); -+ return FALSE; -+ } -+ close(s); -+ if (ireq.i_len < sizeof(struct ieee80211req_scan_result)) -+ return FALSE; -+ -+ sr = (struct ieee80211req_scan_result *) buf; -+ *quality = sr->isr_intval; -+ *level = sr->isr_rssi; -+ *noise = sr->isr_noise; -+#else - /* wireless info request struct */ - struct wi_req wreq; - /* interface request struct */ - struct ifreq ifr; -- int s; - - /* open a socket for ioctl's */ - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) return FALSE; -@@ -207,6 +262,8 @@ - *level = wreq.wi_val[1]; - *noise = wreq.wi_val[2]; - -+#endif -+ - return TRUE; - } - |