diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2011-12-04 20:37:01 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2011-12-04 20:37:01 +0000 |
commit | 3a9d303059a1689ad9ff856e430fef04bd3fb7f5 (patch) | |
tree | b17658b91c9b0e70814987b4deb882da2a416ff7 /package/iwinfo/src/iwinfo_nl80211.c | |
parent | 33750dc3e93e6d2279b9f39ce7c46e8a1e1f1c48 (diff) | |
download | upstream-3a9d303059a1689ad9ff856e430fef04bd3fb7f5.tar.gz upstream-3a9d303059a1689ad9ff856e430fef04bd3fb7f5.tar.bz2 upstream-3a9d303059a1689ad9ff856e430fef04bd3fb7f5.zip |
iwinfo: expose txpower and frequency offset information
SVN-Revision: 29425
Diffstat (limited to 'package/iwinfo/src/iwinfo_nl80211.c')
-rw-r--r-- | package/iwinfo/src/iwinfo_nl80211.c | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/package/iwinfo/src/iwinfo_nl80211.c b/package/iwinfo/src/iwinfo_nl80211.c index d3726821fc..4b8b37daa8 100644 --- a/package/iwinfo/src/iwinfo_nl80211.c +++ b/package/iwinfo/src/iwinfo_nl80211.c @@ -1634,20 +1634,47 @@ int nl80211_get_hardware_id(const char *ifname, char *buf) return wext_get_hardware_id(ifname, buf); } -int nl80211_get_hardware_name(const char *ifname, char *buf) +static const struct iwinfo_hardware_entry * +nl80211_get_hardware_entry(const char *ifname) { struct iwinfo_hardware_id id; - struct iwinfo_hardware_entry *hw; if (nl80211_get_hardware_id(ifname, (char *)&id)) - return -1; + return NULL; - hw = iwinfo_hardware(&id); + return iwinfo_hardware(&id); +} - if (hw) - sprintf(buf, "%s %s", hw->vendor_name, hw->device_name); - else +int nl80211_get_hardware_name(const char *ifname, char *buf) +{ + const struct iwinfo_hardware_entry *hw; + + if (!(hw = nl80211_get_hardware_entry(ifname))) sprintf(buf, "Generic MAC80211"); + else + sprintf(buf, "%s %s", hw->vendor_name, hw->device_name); + + return 0; +} + +int nl80211_get_txpower_offset(const char *ifname, int *buf) +{ + const struct iwinfo_hardware_entry *hw; + + if (!(hw = nl80211_get_hardware_entry(ifname))) + return -1; + + *buf = hw->txpower_offset; + return 0; +} + +int nl80211_get_frequency_offset(const char *ifname, int *buf) +{ + const struct iwinfo_hardware_entry *hw; + + if (!(hw = nl80211_get_hardware_entry(ifname))) + return -1; + *buf = hw->frequency_offset; return 0; } |