gensnmptree(1)

HOME || NAME SYNOPSIS DESCRIPTION MIBS EXAMPLES SEE ALSO AUTHORS
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 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.
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
     snmpd(1)
AUTHORS
     Hartmut Brandt <harti@freebsd.org>