diff options
author | Dexter Morgan <dmorgan@mageia.org> | 2011-06-02 20:49:50 +0000 |
---|---|---|
committer | Dexter Morgan <dmorgan@mageia.org> | 2011-06-02 20:49:50 +0000 |
commit | db5a94788a783a716de6c79e23f2e45093aca398 (patch) | |
tree | f0448c53425509d4272a355f120cb7249d4d58e8 /generate_pciclass.pl | |
download | ldetect-db5a94788a783a716de6c79e23f2e45093aca398.tar ldetect-db5a94788a783a716de6c79e23f2e45093aca398.tar.gz ldetect-db5a94788a783a716de6c79e23f2e45093aca398.tar.bz2 ldetect-db5a94788a783a716de6c79e23f2e45093aca398.tar.xz ldetect-db5a94788a783a716de6c79e23f2e45093aca398.zip |
Branch for updatesdistro/mga1
Diffstat (limited to 'generate_pciclass.pl')
-rw-r--r-- | generate_pciclass.pl | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/generate_pciclass.pl b/generate_pciclass.pl new file mode 100644 index 0000000..948431d --- /dev/null +++ b/generate_pciclass.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl + +print q(/* This auto-generated from <pci.h>, don't modify! */ + +static struct { + unsigned short id; + const char *name; +} classes[] = { +); + +/^#define PCI_CLASS_(\w+)\s+(0x\w{4})/ and print qq( { $2, "$1" },\n) while <>; + +print ' +}; + +static int nb_classes = sizeof(classes) / sizeof(*classes); + +#pragma GCC visibility push(default) +extern const char *pci_class2text(unsigned long class_id) { + int i; + for (i = 0; i < nb_classes; i++) + if (classes[i].id == class_id) return classes[i].name; + + return pci_class2text(0); +} +#pragma GCC visibility pop + +'; |