gensnmptree

Command: man perldoc info search(apropos)  


GENSNMPTREE(1) FreeBSD General Commands Manual GENSNMPTREE(1)

NAME
gensnmptree -- generate C and header files from a MIB description file

SYNOPSIS
gensnmptree [-helt] [-p prefix] [name ...]

DESCRIPTION
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 bsnmpd(1) daemon
or for module writers. The second form may be used by SNMP client pro-
gram 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 bsnmpd(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 three C
preprocessor defines on its standard output:

OIDX_name This define can be used to initialize a struct asn_oid in
the following way:

const struct asn_oid oid_sysDescr = OIDX_sysDescr;

OIDLEN_name is the length of the OID.

OID_name is the last component 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
bootstrapping bsnmpd(1).

-t Instead of normal output print the resulting tree.

-p prefix Prefix the file names and the table name with prefix.

MIBS
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.

EXAMPLES
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)
))
)
)
)
)

SEE ALSO
bsnmpd(1)

AUTHORS
Hartmut Brandt <hartiATfreebsd.org>

FreeBSD 6.2 February 27, 2006 FreeBSD 6.2

Copyright ©2006 TheBestISP.com