summaryrefslogtreecommitdiffstats
path: root/generate_pciclass.pl
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2000-12-15 15:19:16 +0000
committerPascal Rigaux <pixel@mandriva.com>2000-12-15 15:19:16 +0000
commit58dab80c5625896156e4d31fb39778556c88eb32 (patch)
tree372c912b71a146260e12a13205fa44c0c3378fa3 /generate_pciclass.pl
parent1e92adca428885ca5ec4a47a07cf25106c33974d (diff)
downloadldetect-58dab80c5625896156e4d31fb39778556c88eb32.tar
ldetect-58dab80c5625896156e4d31fb39778556c88eb32.tar.gz
ldetect-58dab80c5625896156e4d31fb39778556c88eb32.tar.bz2
ldetect-58dab80c5625896156e4d31fb39778556c88eb32.tar.xz
ldetect-58dab80c5625896156e4d31fb39778556c88eb32.zip
creation
Diffstat (limited to 'generate_pciclass.pl')
-rw-r--r--generate_pciclass.pl26
1 files changed, 26 insertions, 0 deletions
diff --git a/generate_pciclass.pl b/generate_pciclass.pl
new file mode 100644
index 0000000..c879615
--- /dev/null
+++ b/generate_pciclass.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl
+
+print q(/* This auto-generated from <pci.h>, don't modify! */
+
+struct {
+ unsigned short id;
+ const char *name;
+} pciclasses[] = {
+);
+
+/^#define PCI_CLASS_(\w+)\s+(0x\w{4})/ and print qq( { $2, "$1" },\n) while <>;
+
+print '
+};
+
+int nb_pciclasses = sizeof(pciclasses) / sizeof(*pciclasses);
+
+extern const char *pci_class2text(unsigned short class) {
+ int i;
+ for (i = 0; i < nb_pciclasses; i++)
+ if (pciclasses[i].id == class) return pciclasses[i].name;
+
+ return pci_class2text(0);
+}
+
+';