dahdi-linux/drivers/dahdi/xpp/param_doc

41 lines
982 B
Plaintext
Raw Normal View History

#! /usr/bin/perl -w
use strict;
#
# Extract parameter documentation from *.ko files.
# Assumes that parameter description include the default
# value in the format we use in our DEF_PARM() macro
#
@ARGV || die "Usage: $0 module.ko....\n";
my $modinfo = '/sbin/modinfo';
my @mod_params;
foreach my $file (glob "@ARGV") {
undef @mod_params;
print "$file:\n";
open(F, "$modinfo '$file' |") || die;
while(<F>) {
chomp;
next unless s/^parm:\s*//;
my ($name, $description) = split(/:/, $_, 2);
# Extract type
$description =~ s/\s*\(([^)]+)\)$//;
my $type = $1;
# Extract default value
$description =~ s/\s*\[default\s+([^]]+)\]$//;
my $default = $1;
push(@mod_params, {
NAME => $name,
TYPE => $type,
DEFVAL => $default,
DESC => $description,
});
}
# Print sorted list
foreach my $p (sort { $a->{NAME} cmp $b->{NAME} } @mod_params) {
printf "\t%-8s %-22s = %-20s %s\n", $p->{TYPE}, $p->{NAME}, $p->{DEFVAL}, $p->{DESC};
}
close F || die;
}