Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
GENSNMPTREE(1)          FreeBSD General Commands Manual         GENSNMPTREE(1)

     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
     descriptions.  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
     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 bsnmpd(1) during PDU processing and a header file
     prefixtree.h containing appropriate declarations of the callback
     functions 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
     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 =

     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.

     The syntax of the MIB description file can formally be specified as

           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)


     Hartmut Brandt <>

FreeBSD 11.0-PRERELEASE        February 27, 2006       FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help