ramips: add support for the Senao/EnGenius ESR-9753 board
[openwrt.git] / package / iwinfo / src / iwinfo_madwifi.c
index 50793c4..732cfe5 100644 (file)
@@ -1060,20 +1060,59 @@ int madwifi_get_hardware_id(const char *ifname, char *buf)
        return 0;
 }
 
-int madwifi_get_hardware_name(const char *ifname, char *buf)
+static const struct iwinfo_hardware_entry *
+madwifi_get_hardware_entry(const char *ifname)
 {
        struct iwinfo_hardware_id id;
-       struct iwinfo_hardware_entry *hw;
 
        if (madwifi_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);
+int madwifi_get_hardware_name(const char *ifname, char *buf)
+{
+       char vendor[64];
+       char device[64];
+       const struct iwinfo_hardware_entry *hw;
+
+       if (!(hw = madwifi_get_hardware_entry(ifname)))
+       {
+               madwifi_proc_file(ifname, "dev_vendor", vendor, sizeof(vendor));
+               madwifi_proc_file(ifname, "dev_name",   device, sizeof(device));
+
+               if (vendor[0] && device[0])
+                       sprintf(buf, "%s %s", vendor, device);
+               else
+                       sprintf(buf, "Generic Atheros");
+       }
        else
-               sprintf(buf, "Generic Atheros");
+       {
+               sprintf(buf, "%s %s", hw->vendor_name, hw->device_name);
+       }
+
+       return 0;
+}
+
+int madwifi_get_txpower_offset(const char *ifname, int *buf)
+{
+       const struct iwinfo_hardware_entry *hw;
+
+       if (!(hw = madwifi_get_hardware_entry(ifname)))
+               return -1;
+
+       *buf = hw->txpower_offset;
+       return 0;
+}
+
+int madwifi_get_frequency_offset(const char *ifname, int *buf)
+{
+       const struct iwinfo_hardware_entry *hw;
+
+       if (!(hw = madwifi_get_hardware_entry(ifname)))
+               return -1;
 
+       *buf = hw->frequency_offset;
        return 0;
 }
This page took 0.023496 seconds and 4 git commands to generate.