summaryrefslogtreecommitdiffstats
path: root/generate_usbclass.pl
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-09-13 13:41:11 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-09-13 13:41:11 +0000
commita25e48640b4d11cdb4d83cb878af082a00df59b9 (patch)
tree30efb75a523539baee9d0df3af92549f3c45f2a6 /generate_usbclass.pl
parent30b8e72afa22a7ff5a72370e4dc0cfbe0a329ada (diff)
downloadldetect-a25e48640b4d11cdb4d83cb878af082a00df59b9.tar
ldetect-a25e48640b4d11cdb4d83cb878af082a00df59b9.tar.gz
ldetect-a25e48640b4d11cdb4d83cb878af082a00df59b9.tar.bz2
ldetect-a25e48640b4d11cdb4d83cb878af082a00df59b9.tar.xz
ldetect-a25e48640b4d11cdb4d83cb878af082a00df59b9.zip
use the sub-category for usb probing
Diffstat (limited to 'generate_usbclass.pl')
-rwxr-xr-xgenerate_usbclass.pl11
1 files changed, 7 insertions, 4 deletions
diff --git a/generate_usbclass.pl b/generate_usbclass.pl
index 63206c8..50fe13b 100755
--- a/generate_usbclass.pl
+++ b/generate_usbclass.pl
@@ -3,7 +3,7 @@
print q(/* This auto-generated from <usb.h>, don't modify! */
struct {
- unsigned short id;
+ unsigned long id;
const char *name;
} usbclasses[] = {
);
@@ -11,9 +11,12 @@ struct {
while (<>) {
chomp;
if (/^C\s+(\d+)\s+(.*)/) {
- ($cat, $descr) = ($1, $2);
+ ($cat, $cat_descr) = ($1, $2);
+ } elsif (/^\t(\d+)\s+(.*)/ && defined $cat) {
+ ($sub, $sub_descr) = ($1, $2);
+ $sub =~ /^\d\d$/ or die "bad line $.: sub category number badly formatted ($_)\n";
} elsif (/^\t\t(\d+)\s+(.*)/ && defined $cat) {
- print qq(/* $. */ { 0x$cat$1, "$descr|$2" },\n);
+ print qq(/* $. */ { 0x$cat$sub$1, "$cat_descr|$sub_descr|$2" },\n);
} elsif (/^\S/) {
undef $cat;
}
@@ -24,7 +27,7 @@ print '
int nb_usbclasses = sizeof(usbclasses) / sizeof(*usbclasses);
-extern const char *usb_class2text(unsigned short class) {
+extern const char *usb_class2text(unsigned long class) {
int i;
for (i = 0; i < nb_usbclasses; i++)
if (usbclasses[i].id == class) return usbclasses[i].name;