summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2008-02-17 23:31:53 +0100
committerMartin Mares <mj@ucw.cz>2008-02-17 23:31:53 +0100
commit91d4213f1745507d0802bc54de0e9f2c5345f066 (patch)
treeb8013d744083d39a4113748cd45be7470b23b70f
parent8d2739f86ae889ae01960e92d9321f6e979f5906 (diff)
downloadpciutils-91d4213f1745507d0802bc54de0e9f2c5345f066.tar.gz
Example: Add lookup of names.
-rw-r--r--example.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/example.c b/example.c
index 1e3509f..9b24951 100644
--- a/example.c
+++ b/example.c
@@ -14,6 +14,7 @@ int main(void)
struct pci_access *pacc;
struct pci_dev *dev;
unsigned int c;
+ char namebuf[1024], *name;
pacc = pci_alloc(); /* Get the pci_access structure */
/* Set all options you want -- here we stick with the defaults */
@@ -23,9 +24,13 @@ int main(void)
{
pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS); /* Fill in header info we need */
c = pci_read_byte(dev, PCI_INTERRUPT_PIN); /* Read config register directly */
- printf("%04x:%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d (pin %d) base0=%lx\n",
+ printf("%04x:%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d (pin %d) base0=%lx",
dev->domain, dev->bus, dev->dev, dev->func, dev->vendor_id, dev->device_id,
dev->device_class, dev->irq, c, (long) dev->base_addr[0]);
+
+ /* Look up and print the full name of the device */
+ name = pci_lookup_name(pacc, namebuf, sizeof(namebuf), PCI_LOOKUP_DEVICE, dev->vendor_id, dev->device_id);
+ printf(" (%s)\n", name);
}
pci_cleanup(pacc); /* Close everything */
return 0;