gensnmptree(1)
HOME ||
NAME
SYNOPSIS
DESCRIPTION
MIBS
EXAMPLES
SEE ALSO
AUTHORS
gensnmptree -- generate C and header files from a MIB description file
gensnmptree [-helt] [-p prefix] [name ...]
The gensnmptree utility is used to either generate C language tables and
header files from a MIB description or to numeric OIDs from MIB descrip-
tions. The first form is used only for maintaining the snmpd(1) daemon or
for module writers. The second form may be used by SNMP client program
writers.
If the -e option is not used gensnmptree reads a MIB description from its
standard input and creates two files: a C-file prefixtree.c containing a
table used by snmpd(1) during PDU processing and a header file
prefixtree.h containing appropriate declarations of the callback func-
tions used in this table and the table itself.
If the -e option is specified gensnmptree expects MIB variable names
(only the last component) on its command line. It reads a MIB specifica-
tion from standard input and for each MIB variable name emits two C pre-
processor defines on its standard output. One define OID_name can be used
as an array initialized to initialize a struct asn_oid. The other define
OIDLEN_name contains the length of the OID.
The options are as follows:
-h Print a short help page.
-e Enter extract mode.
-l Generate local preprocessor includes. This is used for boot-
strapping snmpd(1).
-t Instead of normal output print the resulting tree.
-p prefix Prefix the file names and the table name with prefix.
The syntax of the MIB description file can formally be specified as fol-
lows:
file := tree | tree file
tree := head elements ')'
entry := head ':' index STRING elements ')'
leaf := head TYPE STRING ACCESS ')'
column := head TYPE ACCESS ')'
head := '(' INT STRING
elements := EMPTY | elements element
element := tree | leaf
index := TYPE | index TYPE
TYPE specifies a SNMP data type and may be one of
+o NULL
+o INTEGER
+o INTEGER32 (same as INTEGER)
+o UNSIGNED32 (same as GAUGE)
+o OCTETSTRING
+o IPADDRESS
+o OID
+o TIMETICKS
+o COUNTER
+o GAUGE
+o COUNTER64
ACCESS specifies the accessibility of the MIB variable (which operation
can be performed) and is one of
+o GET
+o SET
INT is a decimal integer and STRING is any string starting with a letter
or underscore and consisting of letters, digits and underscores, that is
not one of the keywords.
The following MIB description describes the system group:
(1 internet
(2 mgmt
(1 mibII
(1 system
(1 sysDescr OCTETSTRING op_system_group GET)
(2 sysObjectId OID op_system_group GET)
(3 sysUpTime TIMETICKS op_system_group GET)
(4 sysContact OCTETSTRING op_system_group GET SET)
(5 sysName OCTETSTRING op_system_group GET SET)
(6 sysLocation OCTETSTRING op_system_group GET SET)
(7 sysServices INTEGER op_system_group GET)
(8 sysORLastChange TIMETICKS op_system_group GET)
(9 sysORTable
(1 sysOREntry : INTEGER op_or_table
(1 sysORIndex INTEGER)
(2 sysORID OID GET)
(3 sysORDescr OCTETSTRING GET)
(4 sysORUpTime TIMETICKS GET)
))
)
)
)
)
snmpd(1)
Hartmut Brandt <harti@freebsd.org>