return [ [ PciIds::Address::new( "PC/$addr" ), "Subsystem vendor $addr does not exist" ] ];
}
+sub subName( $ ) {
+ my( $self ) = @_;
+ return 'Subsystems' if $self->get() =~ /^PC\/....\/..../;
+ return 'Devices' if $self->get() =~ /^PC\/..../;
+ die "Can not happend\n";
+}
+
1;
} else {
$prefix = 'Device class';
}
- #TODO Other levels? Are the names OK?
return $prefix.' '.$_;
}
return 'pci_class';
}
+sub subName( $ ) {
+ my( $self ) = @_;
+ return 'Program interfaces' if $self->get() =~ /PD\/..\/../;
+ return 'Device subclasses' if $self->get() =~ /PD\/../;
+ die "Can not happen\n";
+}
+
1;
sub defaultRestrict( $ ) {
my( $self ) = @_;
- if( $self->get() =~ /PC/ ) {
+ if( $self->get() =~ /^PC/ ) {
return "0";
} else {
return "";
sub defaultRestrictList( $ ) {
my( $self ) = @_;
- if( $self->get() =~ /PC/ ) {
+ if( $self->get() =~ /^PC/ ) {
my @result;
for(my $i = '0'; $i < '10'; ++ $i ) {
push @result, $i;
}
}
+sub subName( $ ) {
+ my( $self ) = @_;
+ if( $self->get() =~ /^PC/ ) {
+ return 'Vendors';
+ } else {
+ return 'Device classes';
+ }
+}
+
1;
print "</div>\n" if( $diss );
}
unless( $address->leaf() ) {
- print "<h2>Sub-items</h2>\n";
+ print "<h2>".encode( $address->subName() )."</h2>\n";
my $restricts = $address->defaultRestrictList();
if( scalar @{$restricts} ) {
print "<p>";