From c02a9bd7aaf1e6fbfa829ec2e1b66cefce3268c5 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 4 Dec 2011 03:42:17 +0000 Subject: [package] iwinfo: add initial hardware detection capabilities git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29421 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/iwinfo/src/iwinfo_utils.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'package/iwinfo/src/iwinfo_utils.c') diff --git a/package/iwinfo/src/iwinfo_utils.c b/package/iwinfo/src/iwinfo_utils.c index 081464aaf..b49447b07 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; +} -- cgit v1.2.3