SNMP Manager Programmer's Guide

Using the MIB Compiler
SNMP Manager Programmer’s Guide–134249
3-3
-nametree
generates an output file containing C code defining an array of structures that your
manager can use for OID-to-name conversion and vice versa. The file is compiled
into the manager, so the manager must be re-compiled whenever you want it to
handle additional MIB objects using the -nametree output. The following example
shows the beginning of the -nametree file generated for objects in MIB modules in
RFC 1213 and RFC 1514:
struct nametree {
unsigned long number;
struct nametree *parent;
struct nametree *sibling;
struct nametree *children;
char *name;
unsigned char type;
};
extern struct nametree mibt[];
extern int mibt_entries;
#if defined(C_CODE)
struct nametree mibt[] = {
/* asn # parent siblings children name type */
/* 0 */
{ 1, 0, 0, &mibt[ 1], "iso", 0 },
{ 3, &mibt[ 0], 0, &mibt[ 2], "org", 0 },
{ 6, &mibt[ 1], 0, &mibt[ 3], "dod", 0 },
{ 1, &mibt[ 2], 0, &mibt[ 4], "internet", 0 },
{ 1, &mibt[ 3], &mibt[ 5], 0, "directory", 0 },
{ 2, &mibt[ 3], &mibt[446], &mibt[ 6], "mgmt", 0 },
{ 1, &mibt[ 5], 0, &mibt[ 7], "mib-2", 0 },
{ 1, &mibt[ 6], &mibt[ 15], &mibt[ 8], "system", 0 },
{ 1, &mibt[ 7], &mibt[ 9], 0, "sysDescr", VT_STRING },
{ 2, &mibt[ 7], &mibt[ 10], 0, "sysObjectID", VT_OBJECT },
/* 10 */
{ 3, &mibt[ 7], &mibt[ 11], 0, "sysUpTime", VT_TIMETICKS },
{ 4, &mibt[ 7], &mibt[ 12], 0, "sysContact", VT_STRING },
{ 5, &mibt[ 7], &mibt[ 13], 0, "sysName", VT_STRING },
{ 6, &mibt[ 7], &mibt[ 14], 0, "sysLocation", VT_STRING },
{ 7, &mibt[ 7], 0, 0, "sysServices", VT_NUMBER },
{ 2, &mibt[ 6], &mibt[ 79], &mibt[ 16], "interfaces", 0 },
{ 1, &mibt[ 15], &mibt[ 17], 0, "ifNumber", VT_NUMBER },
{ 2, &mibt[ 15], 0, &mibt[ 18], "ifTable", 0 },
{ 1, &mibt[ 17], 0, &mibt[ 19], "ifEntry", 0 },
{ 1, &mibt[ 18], &mibt[ 20], 0, "ifIndex", VT_NUMBER },
/* 20 */