#else
NULL,
#endif
+#ifdef PCI_HAVE_PM_DARWIN_DEVICE
+ &pm_darwin,
+#else
+ NULL,
+#endif
};
void *
}
char *
-pci_strdup(struct pci_access *a, char *s)
+pci_strdup(struct pci_access *a, const char *s)
{
int len = strlen(s) + 1;
char *t = pci_malloc(a, len);
{
}
+int
+pci_lookup_method(char *name)
+{
+ int i;
+
+ for (i=0; i<PCI_ACCESS_MAX; i++)
+ if (pci_methods[i] && !strcmp(pci_methods[i]->name, name))
+ return i;
+ return -1;
+}
+
+char *
+pci_get_method_name(int index)
+{
+ if (index < 0 || index >= PCI_ACCESS_MAX)
+ return NULL;
+ else if (!pci_methods[index])
+ return "";
+ else
+ return pci_methods[index]->name;
+}
+
struct pci_access *
pci_alloc(void)
{
pci_define_param(a, "net.cache_name", "~/.pciids-cache", "Name of the ID cache file");
a->id_lookup_mode = PCI_LOOKUP_CACHE;
#endif
- for(i=0; i<PCI_ACCESS_MAX; i++)
+#ifdef PCI_HAVE_HWDB
+ pci_define_param(a, "hwdb.disable", "0", "Do not look up names in UDEV's HWDB if non-zero");
+#endif
+ for (i=0; i<PCI_ACCESS_MAX; i++)
if (pci_methods[i] && pci_methods[i]->config)
pci_methods[i]->config(a);
return a;
else
{
unsigned int i;
- for(i=0; i<PCI_ACCESS_MAX; i++)
+ for (i=0; i<PCI_ACCESS_MAX; i++)
if (pci_methods[i])
{
a->debug("Trying method %d...", i);
{
struct pci_dev *d, *e;
- for(d=a->devices; d; d=e)
+ for (d=a->devices; d; d=e)
{
e = d->next;
pci_free_dev(d);