aboutsummaryrefslogtreecommitdiffstats
path: root/package/iwinfo/src/iwinfo_utils.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-12-04 03:42:17 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-12-04 03:42:17 +0000
commitcf716c04e697f13d8fd6373a76a5ba57f540f64e (patch)
treea6a2ff8f2ef405ee8a79e1e5ba92689d9d485512 /package/iwinfo/src/iwinfo_utils.c
parent0f2f3e734d6a4460e2002a0a98136c92ebb8450f (diff)
downloadupstream-cf716c04e697f13d8fd6373a76a5ba57f540f64e.tar.gz
upstream-cf716c04e697f13d8fd6373a76a5ba57f540f64e.tar.bz2
upstream-cf716c04e697f13d8fd6373a76a5ba57f540f64e.zip
[package] iwinfo: add initial hardware detection capabilities
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29421 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/iwinfo/src/iwinfo_utils.c')
-rw-r--r--package/iwinfo/src/iwinfo_utils.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/package/iwinfo/src/iwinfo_utils.c b/package/iwinfo/src/iwinfo_utils.c
index 081464aafa..b49447b072 100644
--- a/package/iwinfo/src/iwinfo_utils.c
+++ b/package/iwinfo/src/iwinfo_utils.c
@@ -124,3 +124,29 @@ void iwinfo_close(void)
if( ioctl_socket > -1 )
close(ioctl_socket);
}
+
+struct iwinfo_hardware_entry * iwinfo_hardware(struct iwinfo_hardware_id *id)
+{
+ const struct iwinfo_hardware_entry *e;
+
+ for (e = IWINFO_HARDWARE_ENTRIES; e->vendor_name; e++)
+ {
+ if ((e->vendor_id != 0xffff) && (e->vendor_id != id->vendor_id))
+ continue;
+
+ if ((e->device_id != 0xffff) && (e->device_id != id->device_id))
+ continue;
+
+ if ((e->subsystem_vendor_id != 0xffff) &&
+ (e->subsystem_vendor_id != id->subsystem_vendor_id))
+ continue;
+
+ if ((e->subsystem_device_id != 0xffff) &&
+ (e->subsystem_device_id != id->subsystem_device_id))
+ continue;
+
+ return e;
+ }
+
+ return NULL;
+}