|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
### Eclipse Workspace Patch 1.0
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
#P lsvpd-new
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
Add ids file lookup to runtime.
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
Currently the pci.ids and usb.ids files are located by the Makefile
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
and the location defined by the build. This presents a problem when
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
the build system has the files in a different location from the host.
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
This patch addresses this problem by moving the logic to locate the
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
ids files into the vpdupdate code.
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
Signed-off-by: Eric B Munson <ebmunson@us.ibm.com>
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
---
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
Index: src/include/devicelookup.hpp
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
RCS file: /cvsroot/lsvpd/lsvpd-new/src/include/devicelookup.hpp,v
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
retrieving revision 1.1
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
diff -u -r1.1 devicelookup.hpp
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
--- src/include/devicelookup.hpp 18 Feb 2008 19:45:54 -0000 1.1
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+++ src/include/devicelookup.hpp 16 Oct 2009 09:35:42 -0000
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -58,7 +58,11 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
void fillManus( ifstream& idFile );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ static void findIdsPrefix( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
public:
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ static string idsPrefix;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
DeviceLookup( ifstream& idFile );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
~DeviceLookup( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
const Manufacturer* getManufacturer( int id ) const;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -99,8 +103,8 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
const string& getName( int manID, int devID, int subID )const;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
- static const string PCI_ID_FILE;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
- static const string USB_ID_FILE;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ static string getPciIds( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ static string getUsbIds( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
};
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
}
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
Index: src/internal/sys_interface/sysfstreecollector.cpp
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
RCS file: /cvsroot/lsvpd/lsvpd-new/src/internal/sys_interface/sysfstreecollector.cpp,v
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
retrieving revision 1.11
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
diff -u -r1.11 sysfstreecollector.cpp
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
--- src/internal/sys_interface/sysfstreecollector.cpp 16 Mar 2009 13:24:48 -0000 1.11
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+++ src/internal/sys_interface/sysfstreecollector.cpp 16 Oct 2009 09:35:43 -0000
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -77,7 +77,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
mPciTable = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
mUsbTable = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
- id.open( DeviceLookup::PCI_ID_FILE.c_str( ), ios::in );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ id.open( DeviceLookup::getPciIds( ).c_str( ), ios::in );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
if( id )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
{
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
mPciTable = new DeviceLookup( id );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -91,7 +91,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
LOG_ERR );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
}
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
- id.open( DeviceLookup::USB_ID_FILE.c_str( ), ios::in );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ id.open( DeviceLookup::getUsbIds( ).c_str( ), ios::in );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
if( id )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
{
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
mUsbTable = new DeviceLookup( id );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
Index: src/internal/devicelookup.cpp
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
RCS file: /cvsroot/lsvpd/lsvpd-new/src/internal/devicelookup.cpp,v
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
retrieving revision 1.2
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
diff -u -r1.2 devicelookup.cpp
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
--- src/internal/devicelookup.cpp 18 Feb 2008 19:45:54 -0000 1.2
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+++ src/internal/devicelookup.cpp 16 Oct 2009 09:35:43 -0000
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -27,6 +27,8 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
#include <libvpd-2/vpdexception.hpp>
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
#include <libvpd-2/lsvpd.hpp>
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+#include <sys/stat.h>
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
* The Manufacturer object will store the id and name of a single manufacturer
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
* entry from the pci.ids file. It will also store a hash_map of devices
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -34,8 +36,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
namespace lsvpd
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
{
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
- const string DeviceLookup::PCI_ID_FILE( PCI_IDS );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
- const string DeviceLookup::USB_ID_FILE( USB_IDS );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
DeviceLookup::DeviceLookup( ifstream& pciID )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
{
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
@@ -119,4 +119,45 @@
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
const Device* d = m->getDevice( devID );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
return (d->getSubDevice( subID ))->getName( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
}
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ void DeviceLookup::findIdsPrefix( )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ // There are 6 potential locations for the ids files:
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ // /usr/share, /usr/local/share, /usr/share/misc,
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ // /usr/local/share/misc, /usr/share/hwdata,
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ // and /usr/local/share/hwdata
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ struct stat buf;
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ if ( !stat( "/usr/share/pci.ids", &buf ) )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::idsPrefix = "/usr/share";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ else if ( !stat( "/usr/local/share/pci.ids", &buf ) )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::idsPrefix = "/usr/local/share";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ else if ( !stat( "/usr/share/misc/pci.ids", &buf ) )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::idsPrefix = "/usr/share/misc";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ else if ( !stat( "/usr/local/share/misc/pci.ids", &buf ) )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::idsPrefix = "/usr/local/share/misc";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ else if ( !stat( "/usr/share/hwdata/pci.ids", &buf ) )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::idsPrefix = "/usr/share/hwdata";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ else if ( !stat( "/usr/local/share/hwdata/pci.ids", &buf ) )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::idsPrefix = "/usr/local/share/hwdata";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ string DeviceLookup::getPciIds( )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ if ( DeviceLookup::idsPrefix == "" )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ DeviceLookup::findIdsPrefix( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ return DeviceLookup::idsPrefix + "/pci.ids";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ string DeviceLookup::getUsbIds( )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ if ( DeviceLookup::idsPrefix == "" )
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ findIdsPrefix( );
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ return DeviceLookup::idsPrefix + "/usb.ids";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
+ string DeviceLookup::idsPrefix = "";
|
|
![](https://seccdn.libravatar.org/avatar/35fa62a38a61043f6a368693c4aa3579f5723fd9516c35a5ec3ae722c4c181b6?s=16&d=retro) |
ac51452 |
}
|