diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-12-04 03:42:17 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-12-04 03:42:17 +0000 |
commit | c02a9bd7aaf1e6fbfa829ec2e1b66cefce3268c5 (patch) | |
tree | a6a2ff8f2ef405ee8a79e1e5ba92689d9d485512 /package/iwinfo/src/iwinfo_utils.c | |
parent | ec376e8870e7adc1b6fb76913cf007b336e7f546 (diff) |
[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.c | 26 |
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; +} |