:man| Alphabetical   Categories   About us 
 
GENSNMPTREE (1) | General commands | Unix Manual Pages | :man

NAME

gensnmptree - "generate C and header files from a MIB description file"

CONTENTS

Synopsis
Description
Mibs
Examples
See Also
Authors

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 descriptions. 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 prefix tree.c containing a table used by snmpd(1) during PDU processing and a header file prefix tree.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 two C preprocessor 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 bootstrapping 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 follows:
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

  • 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 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

 
Created by Blin Media, 2008-2013