gensnmptree man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

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

     -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
	   ·   NULL
	   ·   INTEGER
	   ·   INTEGER32 (same as INTEGER)
	   ·   UNSIGNED32 (same as GAUGE)
	   ·   OCTETSTRING
	   ·   IPADDRESS
	   ·   OID
	   ·   TIMETICKS
	   ·   COUNTER
	   ·   GAUGE
	   ·   COUNTER64

     ACCESS specifies the accessibility of the MIB variable (which operation
     can be performed) and is one of
	   ·   GET
	   ·   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
[top]

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
...................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net