summaryrefslogtreecommitdiff
path: root/local/mib2c.genhtml.conf
diff options
context:
space:
mode:
Diffstat (limited to 'local/mib2c.genhtml.conf')
-rw-r--r--local/mib2c.genhtml.conf370
1 files changed, 370 insertions, 0 deletions
diff --git a/local/mib2c.genhtml.conf b/local/mib2c.genhtml.conf
new file mode 100644
index 0000000..b0f6284
--- /dev/null
+++ b/local/mib2c.genhtml.conf
@@ -0,0 +1,370 @@
+##
+## USAGE:
+## mib2c -c mib2c.genhtml.conf STARTINGNODE
+##
+## Optional extra arguments:
+##
+## -S cssfile=file.css (specifies an alternate CSS style
+## file to include in the output)
+##
+##
+## try to strip leading white space from text
+##
+@define DO_FORMATED_TEXT@
+@startperl@
+ my ($s) = ($vars{'x'} =~ /\n(\s+)/);
+ $vars{'x'} =~ s/^$s//gm;
+ 0;
+@endperl@
+<pre>
+$x
+</pre>
+@enddefine@
+##
+## print a description clause (include TC info and references
+##
+@define DO_DESCR@
+<td>
+@if "$i.perltype" ne "$i.syntax"@
+<p>
+@eval $tmpsyn = "$i.syntax"@
+@perleval if (!defined($TCS{$vars{'tmpsyn'}})) { $TCS{$vars{'tmpsyn'}} = $vars{'i'}; }; 0;@
+Note: this object is based on the <a href="#$i.syntax"> $i.syntax TEXTUAL-CONVENTION</a>.
+</p>
+@end@
+@eval $x = "$i.description"@
+@calldefine DO_FORMATED_TEXT@
+##@startperl@
+## my ($s) = ($vars{'x'} =~ /\n(\s+)/);
+## $vars{'x'} =~ s/^$s//gm;
+## 0;
+##@endperl@
+##<pre>
+##$x
+##</pre>
+@if "$i.reference" ne ""@
+@eval $x = "$i.reference"@
+<p><i>Also see Reference:
+@calldefine DO_FORMATED_TEXT@
+</i></p>
+@end@
+</td>
+@enddefine@
+##
+## print information (a row) about a given node
+##
+@define NODE_INFO@
+@if ("$i.status" eq "Current")@
+ <td>
+@else@
+ <td class="deprecated">
+@end@
+<a name="$i" />
+@eval $tmpi = "$i.parent"@
+@if "$doindexstuff" ne "" && "$tmpi.parent" ne "$t"@
+(external from $tmpi.parent)
+@else@
+$i.subid
+@end@
+<br /><b>$i</b>
+
+</td><td>
+##
+## print the data type
+##
+@if ("$i.status" ne "Current")@
+<font color="red">DEPRECATED</font><br />
+@end@
+ $i.perltype
+##
+## print range information
+##
+ @if "$i.ranges"@
+ @if "$i.perltype" eq 'OCTETSTR' || "$i.perltype" eq 'OBJECTID'@
+ <br />Legal Lengths:
+ @else@
+ <br />Legal values:
+ @end@
+ @eval $tmpdidit = 0@
+ @foreach $st $end range $i@
+ @if "$tmpdidit" == "1"@
+ ,
+ @end@
+ @if "$st" eq "$end"@
+ $st
+ @else@
+ $st .. $end
+ @end@
+ @eval $tmpdidit = 1@
+ @end@
+ @end@
+##
+## check for TC vs non-TC cases
+##
+ @if "$i.perltype" ne "$i.syntax"@
+ <br>
+ @eval $tmpsyn = "$i.syntax"@
+ @perleval if (!defined($TCS{$vars{'tmpsyn'}})) { $TCS{$vars{'tmpsyn'}} = $vars{'i'}; }; 0;@
+ <a href="#$i.syntax">$i.syntax</a>
+ @if $i.enums@
+ <br>(ENUM list below)
+ @end@
+ @else@
+ @if $i.enums@
+ <table class="enum">
+ <tr><th>Value</th><th>Label/Meaning</th></tr>
+ @foreach $e $v enum@
+ <tr><td>$v</td><td>$e</td></tr>
+ @end@
+ </table>
+ @end@
+ @end@
+
+ </td><td>$i.access</td>
+ @if !"$dont_do_oids"@
+ <td>$i.objectID</td>
+ @end@
+ @calldefine DO_DESCR@
+@enddefine@
+@open ${name}.html@
+<head>
+ <title>MIB information for $name</title>
+<style type="text/css">
+@if "$cssfile" ne ""@
+@startperl@
+open(CSS,$vars{'cssfile'});
+while(<CSS>) {
+ mib2c_output($_);
+}
+close(CSS);
+0;
+@endperl@
+@else@
+<!--
+h2{background:#bbeebb}
+h3{background:#ccccee}
+table {
+ border: 1px;
+ background: #dddddd;
+ style: outset;
+}
+th {
+ border: 1px;
+ border: solid;
+ border-style: outset;
+ background: #bbbbbb;
+}
+td {
+ border: 1px;
+ border: solid;
+ border-style: inset;
+}
+table.enums {
+ background: #cccccc;
+}
+table.deprecated {
+ background: #ffdddd;
+}
+td.deprecated {
+ background: #ffdddd;
+}
+.label {
+ border-style: outset;
+ background: #bbbbbb;
+}
+-->
+@end@
+</style>
+</head>
+<body bgcolor="#ffffff">
+<h2>INTRODUCTION</h2>
+<ul>
+<p>
+This is a summary of information regarding objects below the <b>$name</b>
+MIB object, which is defined within the <b>$name.module</b> MIB
+document as <b>$name.objectID</b>.
+</p>
+</ul>
+##
+## Table of contents
+##
+<h2>TABLE OF CONTENTS</h2>
+<ul>
+@foreach $Current stuff Current Deprecated@
+<h3><a href="#objects_$Current">$Current Objects</a></h3>
+<ul>
+@if "$Current" eq "Current"@
+<li><a href="#scalar_current">Scalars</a></li>
+@else@
+<li><a href="#scalar_notcurrent">Deprecated Scalars</a></li>
+@end@
+@foreach $t table@
+@if ("$Current" eq "Current" && "$t.status" eq "Current") || ("$Current" ne "Current" && "$t.status" ne "Current")@
+ <li><a href="#$t">$t</a></li>
+@end@
+@end@
+</ul>
+@end@
+<h3><a href="#notifications">Notifications</a></h3>
+<h3><a href="#textconventions">Textual Conventions</a></h3>
+<h3><a href="#treeview">Tree-based view</a></h3>
+</ul>
+##
+## Start of definitions
+##
+@foreach $Current stuff Current Deprecated@
+<a name="objects_$Current" />
+@if "$Current" ne "Current"@
+ @eval $namestring = "notcurrent"@
+ <hr />
+ <h1><font color="red">DEPRECATED OR OBSOLETE OR HISTORIC OBJECTS</font></h1>
+ <br>
+ <table class="deprecated"><tr><td>
+@else@
+ @eval $namestring = "current"@
+@end@
+<a name="scalar_$namestring" />
+<h2>SCALAR OBJECTS</h2>
+<ul>
+<table>
+<tr><th>Name</th><th>Type</th><th>Access</th><th>OID</th><th>Description</th></tr>
+@foreach $i scalar@
+ @if ("$Current" eq "Current" && "$i.status" eq "Current") || ("$Current" ne "Current" && "$i.status" ne "Current")@
+ <tr>
+ @calldefine NODE_INFO@
+ </tr>
+ @end@
+@end@
+</table>
+</ul>
+
+<h2>TABLE OBJECTS</h2>
+@eval $dont_do_oids = 1@
+@foreach $t table@
+@if ("$Current" eq "Current" && "$t.status" eq "Current") || ("$Current" ne "Current" && "$t.status" ne "Current")@
+<a name="$t" /><h3>Table $t</h3>
+<ul>
+ <table>
+ <tr><td class="label">Table Name</td><td>$t</td></tr>
+ <tr><td class="label">In MIB</td><td>$t.module</td></tr>
+ <tr><td class="label">Registered at OID</td><td>$t.objectID</td></tr>
+ <tr><td class="label">Table Description</td>
+@eval $i ="$t"@
+@calldefine DO_DESCR@
+</tr>
+ @eval $tmpx = $t@
+ @perleval $vars{'tmpx'} =~ s/Table/Entry/; 0;@
+@eval $i = "$tmpx"@
+<tr><td class="label"><a name="$tmpx" />Row Description</td>
+@calldefine DO_DESCR@
+</tr>
+ </table>
+
+ <h4>$t Indexes:</h4>
+
+<table>
+<tr class="label"><th>Name</th><th>Type</th><th>Access</th><th>Description</th></tr>
+@foreach $i index@
+ <tr>
+ @calldefine NODE_INFO@
+ </tr>
+@end@
+</table>
+
+ <h4>Other $t Columns:</h4>
+<table>
+<tr class="label"><th>Name</th><th>Type</th><th>Access</th><th>Description</th></tr>
+@foreach $i nonindex@
+ <tr>
+ @calldefine NODE_INFO@
+ </tr>
+@end@
+</table>
+</ul>
+@end@
+@end@
+@end@
+
+<br>
+ </table>
+<hr />
+<a name="notifications" />
+<h2>NOTIFICATIONS</h2>
+<ul>
+<p>
+@foreach $i notifications@
+<a name="$i" /><h3>Notification: $i</h3>
+
+ <table>
+ <tr><td class="label">Notification Name</td><td>$i</td></tr>
+ <tr><td class="label">In MIB</td><td>$i.module</td></tr>
+ <tr><td class="label">Registered at OID</td><td>$i.objectID</td></tr>
+ <tr><td class="label">Notification Description</td>
+@calldefine DO_DESCR@
+ </tr>
+ <tr> <td class="label">Mandatory<br />Objects</td><td>
+ <table>
+ @foreach $v varbinds@
+ <tr><td><a href="#$v">$v</a></td></tr>
+ @end@
+ </table></td></tr>
+ </table>
+@end@
+</ul>
+
+
+<br>
+<hr />
+<a name="textconventions" />
+<h2>TEXTUAL CONVENTIONS</h2>
+<ul>
+<p>
+These TEXTUAL-CONVENTIONS are used in other parts of the document
+above. They are SNMP's way of defining a datatype that is used
+repeatedly by other MIB objects. Any implementation implementing
+objects that use one of these definitions must follow its DESCRIPTION
+clause as well as the DESCRIPTION clause of the object itself.
+</p>
+@startperl@
+mib2c_output("<table>");
+mib2c_output("<tr class=\"label\"><th>Name</th><th>Type</th><th>Description</th></tr>\n");
+map {
+ my $desc = $SNMP::MIB{$TCS{$_}}{'TCDescription'};
+ my ($s) = ($desc =~ /\n(\s+)/);
+ $desc =~ s/^$s//gm;
+ mib2c_output("<tr><td><a name=\"$_\">$_</td><td>");
+ mib2c_output($SNMP::MIB{$TCS{$_}}{'type'});
+ my @enumkeys = keys(%{$SNMP::MIB{$TCS{$_}}{'enums'}});
+ if ($#enumkeys > -1) {
+ mib2c_output("<table class=\"enums\">");
+ mib2c_output("<tr><th>Value</th><th>Label/Meaning</th></tr>");
+ foreach $k (sort { $SNMP::MIB{$TCS{$_}}{'enums'}{$a} <=>
+ $SNMP::MIB{$TCS{$_}}{'enums'}{$b} } @enumkeys) {
+ mib2c_output("<tr><td>$SNMP::MIB{$TCS{$_}}{'enums'}{$k}</td><td>$k</td></tr>");
+ }
+ mib2c_output("</table>");
+ }
+ mib2c_output("</td><td><pre>$desc</pre></td></tr>\n");
+} keys(%TCS);
+mib2c_output("</table>");
+0;
+@endperl@
+</ul>
+
+<a name="treeview" />
+<h2>TREE VIEW</h2>
+@eval $mod = "$name.module"@
+<p>Tree view generated by running: <b>snmptranslate -Tp $mod::$name</b></p>
+<pre>
+@startperl@
+open(TREE,"snmptranslate -Tp $vars{mod}::$vars{name}|");
+while(<TREE>) {
+ s/(\+-- .*\s)(\w+)(\(\d+\))$/$1<a href="#$2">$2<\/a>$3/;
+ s/\+--(\w+)/+--<a href="#$1">$1<\/a>/;
+ s/Textual Convention: (\w+)/Textual Convention: <a href="#$1">$1<\/a>/;
+ mib2c_output($_);
+}
+close(TREE);
+return 0;
+@endperl@
+</pre>