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.