FreeBSD Manual Pages
GENSNMPTREE(1) BSD General Commands Manual GENSNMPTREE(1) NAME gensnmptree -- generate C and header files from a MIB description file SYNOPSIS gensnmptree [-dEehlt] [-I directory] [-i infile] [-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 none of the options -e, -E or are used gensnmptree reads a MIB de- scription 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 functions used in this table, the table itself and definitions for all enums. The following options are available: -d Switch on debugging. -E Extract enumerations and bit constructs. In this mode the tool emits a header file that contains for each type given on the command line a C-enum definition and a preprocessor define that may be used to map values to strings. -e gensnmptree expects MIB variable names (only the last component) on its command line. It reads a MIB specification 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. -h Print a short help page. -I directory Add the named directory to the include path just before the standard include directories. -i infile Read from the named file instead of standard input. -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 := top | top file top := tree | typedef | include tree := head elements ')' entry := head ':' index STRING elements ')' leaf := head type STRING ACCESS ')' column := head type ACCESS ')' type := BASETYPE | BASETYPE '|' subtype | enum | bits subtype := STRING enum := ENUM '(' value ')' bits := BITS '(' value ')' value := INT STRING | INT STRING value head := '(' INT STRING elements := EMPTY | elements element element := tree | leaf | column index := type | index type typedef := 'typedef' STRING type include := 'include' filespec filespec := '"' STRING '"' | '<' STRING '>' BASETYPE 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, underscores and minuses, that is not one of the keywords. The typedef directive associates a type with a single name. The include directive is replaced by the contents of the named file. EXAMPLES The following MIB description describes the system group: include "tc.def" typedef AdminStatus ENUM ( 1 up 2 down ) (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 <harti@freebsd.org> BSD May 26, 2006 BSD
NAME | SYNOPSIS | DESCRIPTION | MIBS | EXAMPLES | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gensnmptree&sektion=1&manpath=FreeBSD+7.0-RELEASE>