Google




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


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

Man(1) output converted with man2html