Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / test / dumps / corba / SNMPv2_MIB.idl
1 /*                                                      -- DO NOT EDIT --
2  * Generated by smidump version 0.4.8:
3  *   smidump -f corba SNMPv2-MIB
4  *
5  * Derived from SNMPv2-MIB:
6  *   The MIB module for SNMP entities.
7  *   
8  *   Copyright (C) The Internet Society (2002). This
9  *   version of this MIB module is part of RFC 3418;
10  *   see the RFC itself for full legal notices.
11  *
12  * Revision 2002-10-16 00:00:
13  *   This revision of this MIB module was published as
14  *   RFC 3418.
15  *
16  * Revision 1995-11-09 00:00:
17  *   This revision of this MIB module was published as
18  *   RFC 1907.
19  *
20  * Revision 1993-04-01 00:00:
21  *   The initial revision of this MIB module was published
22  *   as RFC 1450.
23  *
24  * $Id: SNMPv2_MIB.idl 8090 2008-04-18 12:56:29Z strauss $
25  */
26
27 #ifndef _SNMPv2_MIB_IDL_
28 #define _SNMPv2_MIB_IDL_
29
30 #include <ASN1Types.idl>
31 #include <SNMPMgmt.idl>
32 #include <SNMPv2_SMI.idl>
33 #include <SNMPv2_TC.idl>
34
35 module SNMPv2_MIB {
36
37     typedef SNMPv2_SMI::Counter32Type Counter32Type;
38     typedef SNMPv2_SMI::Integer32Type Integer32Type;
39     typedef SNMPv2_SMI::TimeTicksType TimeTicksType;
40     typedef SNMPv2_TC::DisplayStringType DisplayStringType;
41     typedef SNMPv2_TC::TestAndIncrType TestAndIncrType;
42     typedef SNMPv2_TC::TimeStampType TimeStampType;
43
44     const string moduleIdentity = "snmpMIB";
45     const ASN1_ObjectIdentifier snmpMIB = "::SNMPv2_MIB::snmpMIB";
46
47     /*
48              The MIB module for SNMP entities.
49              
50              Copyright (C) The Internet Society (2002). This
51              version of this MIB module is part of RFC 3418;
52              see the RFC itself for full legal notices.
53
54     LAST-UPDATED:   200210160000Z
55
56     ORGANIZATION:
57             "IETF SNMPv3 Working Group"
58
59     CONTACT-INFO:
60             "WG-EMail:   snmpv3@lists.tislabs.com
61              Subscribe:  snmpv3-request@lists.tislabs.com
62              
63              Co-Chair:   Russ Mundy
64                          Network Associates Laboratories
65              postal:     15204 Omega Drive, Suite 300
66                          Rockville, MD 20850-4601
67                          USA
68              EMail:      mundy@tislabs.com
69              phone:      +1 301 947-7107
70              
71              Co-Chair:   David Harrington
72                          Enterasys Networks
73              postal:     35 Industrial Way
74                          P. O. Box 5005
75                          Rochester, NH 03866-5005
76                          USA
77              EMail:      dbh@enterasys.com
78              phone:      +1 603 337-2614
79              
80              Editor:     Randy Presuhn
81                          BMC Software, Inc.
82              postal:     2141 North First Street
83                          San Jose, CA 95131
84                          USA
85              EMail:      randy_presuhn@bmc.com
86              phone:      +1 408 546-1006"
87
88     REVISION:       "200210160000Z"
89     REVISION-DESCRIPTION:
90             "This revision of this MIB module was published as
91              RFC 3418."
92
93     REVISION:       "199511090000Z"
94     REVISION-DESCRIPTION:
95             "This revision of this MIB module was published as
96              RFC 1907."
97
98     REVISION:       "199304010000Z"
99     REVISION-DESCRIPTION:
100             "The initial revision of this MIB module was published
101              as RFC 1450."
102
103     */
104
105     typedef ASN1_OctetString SysDescrType; 
106
107     typedef ASN1_OctetString SysContactType; 
108
109     typedef ASN1_OctetString SysNameType; 
110
111     typedef ASN1_OctetString SysLocationType; 
112
113     typedef ASN1_Integer SysServicesType; 
114
115     typedef ASN1_Integer SysORIndexType; 
116
117     typedef ASN1_Integer SnmpEnableAuthenTrapsType; 
118     const SnmpEnableAuthenTrapsType SnmpEnableAuthenTrapsType_enabled = 1;
119     const SnmpEnableAuthenTrapsType SnmpEnableAuthenTrapsType_disabled = 2;
120     const string SnmpEnableAuthenTrapsType_NameNumberList = "enabled (1) , disabled (2)";
121
122     interface system : SNMPMgmt::SmiEntry {
123
124         /*
125              A textual description of the entity.  This value should
126              include the full name and version identification of
127              the system's hardware type, software operating-system,
128              and networking software.
129         */
130         readonly attribute SysDescrType sysDescr;
131
132         /*
133              The vendor's authoritative identification of the
134              network management subsystem contained in the entity.
135              This value is allocated within the SMI enterprises
136              subtree (1.3.6.1.4.1) and provides an easy and
137              unambiguous means for determining `what kind of box' is
138              being managed.  For example, if vendor `Flintstones,
139              Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
140              it could assign the identifier 1.3.6.1.4.1.424242.1.1
141              to its `Fred Router'.
142         */
143         readonly attribute ASN1_ObjectIdentifier sysObjectID;
144
145         /*
146              The time (in hundredths of a second) since the
147              network management portion of the system was last
148              re-initialized.
149         */
150         readonly attribute TimeTicksType sysUpTime;
151
152         /*
153              The textual identification of the contact person for
154              this managed node, together with information on how
155              to contact this person.  If no contact information is
156              known, the value is the zero-length string.
157         */
158         attribute SysContactType sysContact;
159
160         /*
161              An administratively-assigned name for this managed
162              node.  By convention, this is the node's fully-qualified
163              domain name.  If the name is unknown, the value is
164              the zero-length string.
165         */
166         attribute SysNameType sysName;
167
168         /*
169              The physical location of this node (e.g., 'telephone
170              closet, 3rd floor').  If the location is unknown, the
171              value is the zero-length string.
172         */
173         attribute SysLocationType sysLocation;
174
175         /*
176              A value which indicates the set of services that this
177              entity may potentially offer.  The value is a sum.
178              
179              
180              
181              This sum initially takes the value zero. Then, for
182              each layer, L, in the range 1 through 7, that this node
183              performs transactions for, 2 raised to (L - 1) is added
184              to the sum.  For example, a node which performs only
185              routing functions would have a value of 4 (2^(3-1)).
186              In contrast, a node which is a host offering application
187              services would have a value of 72 (2^(4-1) + 2^(7-1)).
188              Note that in the context of the Internet suite of
189              protocols, values should be calculated accordingly:
190              
191                   layer      functionality
192                     1        physical (e.g., repeaters)
193                     2        datalink/subnetwork (e.g., bridges)
194                     3        internet (e.g., supports the IP)
195                     4        end-to-end  (e.g., supports the TCP)
196                     7        applications (e.g., supports the SMTP)
197              
198              For systems including OSI protocols, layers 5 and 6
199              may also be counted.
200         */
201         readonly attribute SysServicesType sysServices;
202
203         /*
204              The value of sysUpTime at the time of the most recent
205              change in state or value of any instance of sysORID.
206         */
207         readonly attribute TimeStampType sysORLastChange;
208
209         /*
210              The (conceptual) table listing the capabilities of
211              the local SNMP application acting as a command
212              responder with respect to various MIB modules.
213              SNMP entities having dynamically-configurable support
214              of MIB modules will have a dynamically-varying number
215              of conceptual rows.
216         */
217         SNMPMgmt::SmiTableIterator get_sysORTable();
218     };
219
220
221     /*
222              An entry (conceptual row) in the sysORTable.
223     */
224     interface sysOREntry : SNMPMgmt::SmiEntry {
225
226         const string IndexVarList = "sysORIndex";
227
228         /*
229              An authoritative identification of a capabilities
230              statement with respect to various MIB modules supported
231              by the local SNMP application acting as a command
232              responder.
233         */
234         readonly attribute ASN1_ObjectIdentifier sysORID;
235
236         /*
237              A textual description of the capabilities identified
238              by the corresponding instance of sysORID.
239         */
240         readonly attribute DisplayStringType sysORDescr;
241
242         /*
243              The value of sysUpTime at the time this conceptual
244              row was last instantiated.
245         */
246         readonly attribute TimeStampType sysORUpTime;
247     };
248
249     interface snmp : SNMPMgmt::SmiEntry {
250
251         /*
252              The total number of messages delivered to the SNMP
253              entity from the transport service.
254         */
255         readonly attribute Counter32Type snmpInPkts;
256
257         /*
258              The total number of SNMP messages which were delivered
259              to the SNMP entity and were for an unsupported SNMP
260              version.
261         */
262         readonly attribute Counter32Type snmpInBadVersions;
263
264         /*
265              The total number of community-based SNMP messages (for
266              example,  SNMPv1) delivered to the SNMP entity which
267              used an SNMP community name not known to said entity.
268              Also, implementations which authenticate community-based
269              SNMP messages using check(s) in addition to matching
270              the community name (for example, by also checking
271              whether the message originated from a transport address
272              allowed to use a specified community name) MAY include
273              in this value the number of messages which failed the
274              additional check(s).  It is strongly RECOMMENDED that
275              
276              
277              
278              the documentation for any security model which is used
279              to authenticate community-based SNMP messages specify
280              the precise conditions that contribute to this value.
281         */
282         readonly attribute Counter32Type snmpInBadCommunityNames;
283
284         /*
285              The total number of community-based SNMP messages (for
286              example, SNMPv1) delivered to the SNMP entity which
287              represented an SNMP operation that was not allowed for
288              the SNMP community named in the message.  The precise
289              conditions under which this counter is incremented
290              (if at all) depend on how the SNMP entity implements
291              its access control mechanism and how its applications
292              interact with that access control mechanism.  It is
293              strongly RECOMMENDED that the documentation for any
294              access control mechanism which is used to control access
295              to and visibility of MIB instrumentation specify the
296              precise conditions that contribute to this value.
297         */
298         readonly attribute Counter32Type snmpInBadCommunityUses;
299
300         /*
301              The total number of ASN.1 or BER errors encountered by
302              the SNMP entity when decoding received SNMP messages.
303         */
304         readonly attribute Counter32Type snmpInASNParseErrs;
305
306         /*
307              Indicates whether the SNMP entity is permitted to
308              generate authenticationFailure traps.  The value of this
309              object overrides any configuration information; as such,
310              it provides a means whereby all authenticationFailure
311              traps may be disabled.
312              
313              Note that it is strongly recommended that this object
314              be stored in non-volatile memory so that it remains
315              constant across re-initializations of the network
316              management system.
317         */
318         attribute SnmpEnableAuthenTrapsType snmpEnableAuthenTraps;
319
320         /*
321              The total number of Confirmed Class PDUs (such as
322              GetRequest-PDUs, GetNextRequest-PDUs,
323              GetBulkRequest-PDUs, SetRequest-PDUs, and
324              InformRequest-PDUs) delivered to the SNMP entity which
325              were silently dropped because the size of a reply
326              containing an alternate Response Class PDU (such as a
327              Response-PDU) with an empty variable-bindings field
328              was greater than either a local constraint or the
329              maximum message size associated with the originator of
330              the request.
331         */
332         readonly attribute Counter32Type snmpSilentDrops;
333
334         /*
335              The total number of Confirmed Class PDUs
336              (such as GetRequest-PDUs, GetNextRequest-PDUs,
337              GetBulkRequest-PDUs, SetRequest-PDUs, and
338              InformRequest-PDUs) delivered to the SNMP entity which
339              were silently dropped because the transmission of
340              the (possibly translated) message to a proxy target
341              failed in a manner (other than a time-out) such that
342              no Response Class PDU (such as a Response-PDU) could
343              be returned.
344         */
345         readonly attribute Counter32Type snmpProxyDrops;
346     };
347
348     interface snmpTrap : SNMPMgmt::SmiEntry {
349     };
350
351     interface snmpSet : SNMPMgmt::SmiEntry {
352
353         /*
354              An advisory lock used to allow several cooperating
355              command generator applications to coordinate their
356              use of the SNMP set operation.
357              
358              This object is used for coarse-grain coordination.
359              To achieve fine-grain coordination, one or more similar
360              objects might be defined within each MIB group, as
361              appropriate.
362         */
363         attribute TestAndIncrType snmpSetSerialNo;
364     };
365
366     /* typed push event communication */
367     interface Notifications : SNMPMgmt::Notifications {
368
369         /*
370              A coldStart trap signifies that the SNMP entity,
371              supporting a notification originator application, is
372              reinitializing itself and that its configuration may
373              have been altered.
374         */
375         void coldStart (
376             in CosNaming::Name src_entry_name,
377             in CORBA::ScopedName event_type,
378             in ASN1_GeneralizedTime event_time
379         );
380
381         /*
382              A warmStart trap signifies that the SNMP entity,
383              supporting a notification originator application,
384              is reinitializing itself such that its configuration
385              is unaltered.
386         */
387         void warmStart (
388             in CosNaming::Name src_entry_name,
389             in CORBA::ScopedName event_type,
390             in ASN1_GeneralizedTime event_time
391         );
392
393         /*
394              An authenticationFailure trap signifies that the SNMP
395              entity has received a protocol message that is not
396              properly authenticated.  While all implementations
397              of SNMP entities MAY be capable of generating this
398              trap, the snmpEnableAuthenTraps object indicates
399              whether this trap will be generated.
400         */
401         void authenticationFailure (
402             in CosNaming::Name src_entry_name,
403             in CORBA::ScopedName event_type,
404             in ASN1_GeneralizedTime event_time
405         );
406     };
407
408     /* typed pull event communication */
409     interface PullNotifications : SNMPMgmt::PullNotifications {
410
411         /*
412              A coldStart trap signifies that the SNMP entity,
413              supporting a notification originator application, is
414              reinitializing itself and that its configuration may
415              have been altered.
416         */
417         void pull_coldStart (
418             out CosNaming::Name src_entry_name,
419             out CORBA::ScopedName event_type,
420             out ASN1_GeneralizedTime event_time
421         );
422         boolean try_coldStart (
423             out CosNaming::Name src_entry_name,
424             out CORBA::ScopedName event_type,
425             out ASN1_GeneralizedTime event_time
426         );
427
428         /*
429              A warmStart trap signifies that the SNMP entity,
430              supporting a notification originator application,
431              is reinitializing itself such that its configuration
432              is unaltered.
433         */
434         void pull_warmStart (
435             out CosNaming::Name src_entry_name,
436             out CORBA::ScopedName event_type,
437             out ASN1_GeneralizedTime event_time
438         );
439         boolean try_warmStart (
440             out CosNaming::Name src_entry_name,
441             out CORBA::ScopedName event_type,
442             out ASN1_GeneralizedTime event_time
443         );
444
445         /*
446              An authenticationFailure trap signifies that the SNMP
447              entity has received a protocol message that is not
448              properly authenticated.  While all implementations
449              of SNMP entities MAY be capable of generating this
450              trap, the snmpEnableAuthenTraps object indicates
451              whether this trap will be generated.
452         */
453         void pull_authenticationFailure (
454             out CosNaming::Name src_entry_name,
455             out CORBA::ScopedName event_type,
456             out ASN1_GeneralizedTime event_time
457         );
458         boolean try_authenticationFailure (
459             out CosNaming::Name src_entry_name,
460             out CORBA::ScopedName event_type,
461             out ASN1_GeneralizedTime event_time
462         );
463     };
464
465     interface SmiEntryFactory : SNMPMgmt::GenericFactory {
466
467         system create_system (
468             in SysContactType sysContact,
469             in SysNameType sysName,
470             in SysLocationType sysLocation
471         ) raises (
472             SNMPMgmt::AlreadyExists,
473             CosLifeCycle::InvalidCriteria,
474             CosLifeCycle::CannotMeetCriteria
475         );
476
477         snmp create_snmp (
478             in SnmpEnableAuthenTrapsType snmpEnableAuthenTraps
479         ) raises (
480             SNMPMgmt::AlreadyExists,
481             CosLifeCycle::InvalidCriteria,
482             CosLifeCycle::CannotMeetCriteria
483         );
484
485         snmpSet create_snmpSet (
486             in TestAndIncrType snmpSetSerialNo
487         ) raises (
488             SNMPMgmt::AlreadyExists,
489             CosLifeCycle::InvalidCriteria,
490             CosLifeCycle::CannotMeetCriteria
491         );
492     };
493
494 };
495
496 #endif /* !_SNMPv2_MIB_IDL_ */