summaryrefslogtreecommitdiffstats
path: root/lspcidrake.c
blob: 4bb987f7503247eed5666ea5f0583537ab16da17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libldetect.h"

void pci_printit(struct pciusb_entries entries) {
  int i;
  for (i = 0; i < entries.nb; i++) {
    struct pciusb_entry e = entries.entries[i];
    printf("%-16s: %s", e.module ? e.module : "unknown", e.text);
    if (e.class) {
      const char *class = pci_class2text(e.class);
      if (strcmp(class, "NOT_DEFINED") != 0) printf(" [%s]", class);
    }
    printf("\n");
  }
}

void usb_printit(struct pciusb_entries entries) {
  int i;
  for (i = 0; i < entries.nb; i++) {
    struct pciusb_entry e = entries.entries[i];
    printf("%-16s: %s", e.module ? e.module : "unknown", e.text);
    if (e.class) printf(" [%s]", usb_class2text(e.class));
    printf("\n");
  }
}

int main(int argc, char **argv) {
  {
    struct pciusb_entries entries = pci_probe(0);
    pci_printit(entries);
    pciusb_free(entries);
  }
  {
    struct pciusb_entries entries = usb_probe();
    usb_printit(entries);
    pciusb_free(entries);
  }
  exit(0);
}