RFC1213-MIB DEFINITIONS ::= BEGIN
IMPORTS
mgmt, NetworkAddress, IpAddress, Counter, Gauge,
TimeTicks
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC-1212;
mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
-- textual conventions
DisplayString ::=
OCTET STRING
PhysAddress ::=
OCTET STRING
-- groups in MIB-II
system OBJECT IDENTIFIER ::= { mib-2 1 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
at OBJECT IDENTIFIER ::= { mib-2 3 }
ip OBJECT IDENTIFIER ::= { mib-2 4 }
icmp OBJECT IDENTIFIER ::= { mib-2 5 }
tcp OBJECT IDENTIFIER ::= { mib-2 6 }
udp OBJECT IDENTIFIER ::= { mib-2 7 }
egp OBJECT IDENTIFIER ::= { mib-2 8 }
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
snmp OBJECT IDENTIFIER ::= { mib-2 11 }
-- Formale Beschreibung der einzelnen Gruppen
END
Jedes Informationsmodul wird auf ein IDL-Modul mit gleichem Identifikator (im Beispiel RFC1213-MIB) abgebildet. Der Dateiname entspricht dem Modulnamen, der um das Suffix ,,.idl`` ergänzt wird. In diese Datei werden alle den ASN.1-Makros des Moduls entsprechenden IDL-Definitionen geschrieben; sie sieht für das obige Beispiel folgendermaßen aus:
// rfc1213.idl
#ifndef RFC1213_MIB_idl
#define RFC1213_MIB_idl
#include ``SNMPMgmt.idl''
module RFC1213_MIB {
#include ``rfc1155.idl''
typedef RFC1155_SMI::TimeTicksType TimeTicksType;
typedef RFC1155_SMI::GaugeType GaugeType;
typedef RFC1155_SMI::CounterType CounterType;
typedef RFC1155_SMI::IpAddressType IpAddressType;
typedef RFC1155_SMI::NetworkAddressType NetworkAddressType;
#define mgmt RFC1155_SMI::mgmt;
const ASN1_ObjectIdentifier mib_2 = ``mgmt.1'';
const ASN1_ObjectIdentifier system = ``mib_2.1'';
const ASN1_ObjectIdentifier interfaces = ``mib_2.2'';
const ASN1_ObjectIdentifier at = ``mib_2.3'';
const ASN1_ObjectIdentifier ip = ``mib_2.4'';
const ASN1_ObjectIdentifier icmp = ``mib_2.5'';
const ASN1_ObjectIdentifier tcp = ``mib_2.6'';
const ASN1_ObjectIdentifier udp = ``mib_2.7'';
const ASN1_ObjectIdentifier egp = ``mib_2.8'';
const ASN1_ObjectIdentifier transmission = ``mib_2.10'';
const ASN1_ObjectIdentifier snmp = ``mib_2.11'';
// IDL-Beschreibung der Gruppen
}
#endif
Zu beachten ist, daß sämtliche Objektidentifikatoren als Konstanten deklariert werden; sie werden für die Adressierung der Managed Objects benötigt.