summaryrefslogtreecommitdiffhomepage
path: root/contrib/package/iwinfo/src/iwinfo_madwifi.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-10-19 20:58:48 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-10-19 20:58:48 +0000
commit5039b43e953c16c8510ff89b2c90470882ec55c3 (patch)
treeaebe491e91803460e74e697e6a41ece5533e60d5 /contrib/package/iwinfo/src/iwinfo_madwifi.c
parent687861c498f15b76eed192401911c0b00c714597 (diff)
libiwinfo: implement hwmodelist()
Diffstat (limited to 'contrib/package/iwinfo/src/iwinfo_madwifi.c')
-rw-r--r--contrib/package/iwinfo/src/iwinfo_madwifi.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/package/iwinfo/src/iwinfo_madwifi.c b/contrib/package/iwinfo/src/iwinfo_madwifi.c
index 5289f42e0f..aad4b42576 100644
--- a/contrib/package/iwinfo/src/iwinfo_madwifi.c
+++ b/contrib/package/iwinfo/src/iwinfo_madwifi.c
@@ -886,6 +886,33 @@ int madwifi_get_countrylist(const char *ifname, char *buf, int *len)
return 0;
}
+int madwifi_get_hwmodelist(const char *ifname, int *buf)
+{
+ char chans[IWINFO_BUFSIZE] = { 0 };
+ struct iwinfo_freqlist_entry *e = NULL;
+ int len = 0;
+
+ if( !madwifi_get_freqlist(ifname, &chans, &len) )
+ {
+ for( e = (struct iwinfo_freqlist_entry *)chans; e->channel; e++ )
+ {
+ if( e->channel <= 14 )
+ {
+ *buf |= IWINFO_80211_B;
+ *buf |= IWINFO_80211_G;
+ }
+ else
+ {
+ *buf |= IWINFO_80211_A;
+ }
+ }
+
+ return 0;
+ }
+
+ return -1;
+}
+
int madwifi_get_mbssid_support(const char *ifname, int *buf)
{
/* We assume that multi bssid is always possible */