[go: up one dir, main page]

File: sonet-mib.h

package info (click to toggle)
scli 0.3.1-3.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,872 kB
  • ctags: 8,627
  • sloc: ansic: 32,657; sh: 7,388; makefile: 321
file content (280 lines) | stat: -rw-r--r-- 11,281 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
/*							-- DO NOT EDIT --
 * Generated by smidump version 0.4.3:
 *   smidump -f scli \
 *     --scli-include='sonetMediumEntry|sonetSection' SONET-MIB
 *
 * Derived from SONET-MIB:
 *   The MIB module to describe SONET/SDH interface objects.
 *   
 *   Copyright (C) The Internet Society (2003).  This version
 *   of this MIB module is part of RFC 3592;  see the RFC
 *   itself for full legal notices.
 *
 * Revision 2003-08-11 00:00:
 *   The key changes made to this MIB module
 *   since its publication in RFC 2558
 *   are as follows.
 *   
 *   (1) Corrected typographical error
 *       (bellcore1991(2) in sonetSESthresholdSet)
 *   
 *   (2) Added support for sts192cSTM64(6) and
 *       sts768cSTM256(7) in sonetPathCurrentWidth
 *   
 *   (3) Corrected description of the applicability
 *       of VTs for SDH for improved accuracy
 *   
 *   (4) Added clarification in the SES description that
 *       CV counts should be frozen during SESs
 *   
 *   (5) Corrected typographical errors:
 *       - Line Alarm Indication Signal description of the
 *         Terminology section (20.5 --> 2.5 seconds)
 *       - In the Terminology section
 *         sonetSESThresholdSet  --> sonetSESthresholdSet
 *       
 *
 * Revision 1998-10-19 00:00:
 *   The RFC 2558 version of this MIB module.
 *   
 *   
 *   
 *   
 *   
 *   The key changes made to this MIB module
 *   since its initial publication in RFC 1595
 *   are as follows.
 *   
 *   (1) The MODULE-IDENTITY has been updated to reflect the
 *       changes to the MIB.
 *   
 *   (2) Where applicable, the textual conventions
 *       PerfCurrentCount and PerfIntervalCount from
 *       PerfHist-TC-MIB have been used in place of Gauge32.
 *   
 *   (3) An agent now has the option to delay updates to
 *       the various performance counts in lieu of performing
 *       retroactive adjustments upon entering into or exiting
 *       from unavailable time. This implementation option is
 *       described in Appendix A of this memo.
 *   
 *   (4) In order to make the SONET-MIB more useful for
 *       circuit provisioning, the formerly read-only objects
 *       sonetMediumType, sonetMediumLineCoding,
 *       sonetMediumLineType, and sonetMediumCircuitIdentifier
 *       have been given a MAX-ACCESS of read-write. The
 *       MIN-ACCESS remains read-only.
 *   
 *   (5) The DESCRIPTION clause for sonetMediumTimeElapsed has
 *       been updated to describe its behaviour if the duration
 *       of the current interval exceeds the maximum value.
 *   
 *   (6) The DESCRIPTION clause for sonetMediumValidIntervals
 *       has been updated to describe its behaviour when some
 *       intervals may be unavailable, and the object
 *       sonetMediumInvalidIntervals has been added to keep
 *       count of the number of missing intervals (if any).
 *   
 *   (7) The object sonetMediumLoopbackConfig has been added
 *       to enable or disable loopback configurations.
 *   
 *   (8) Because the error count thresholds for declaring
 *       severely errored seconds that are specified in ANSI
 *       T1.231-1993, ITU-T G.826-1995, and ANSI T1.231-1997
 *       are all different from each other and from the thresholds
 *       specified in RFC 1595, an enumerated INTEGER object
 *       sonetSESthresholdSet has been added to allow an agent
 *       to specify which threshold set is in use. Text has
 *       been added to Section 3 stating that if this object is
 *       not implemented the thresholds specified in RFC 1595
 *       should be assumed, and the table containing those
 *       thresholds has been moved to Appendix B of this memo.
 *   
 *   
 *   
 *   (9) A column with SYNTAX TruthValue has been added to each
 *       interval table.  The purpose of the additional column
 *       is to indicate, for each interval, whether the data
 *       is valid in the sense intended by ANSI T1.231 clause
 *       9.1.2.2 [T1.231a][T1.231b]. The objects in question are:
 *   
 *           sonetSectionIntervalValidData
 *           sonetLineIntervalValidData
 *           sonetFarEndLineIntervalValidData
 *           sonetPathIntervalValidData
 *           sonetFarEndPathIntervalValidData
 *           sonetVTIntervalValidData
 *           sonetFarEndVTIntervalValidData
 *   
 *   (10) The ranges for sonetPathCurrentStatus and
 *       sonetVTCurrentStatus have been made consistent
 *       with the DESCRIPTION clauses.
 *   
 *   (11) The conformance information has been updated. Previous
 *       conformance information from RFC 1595 has been
 *       deprecated. Some typographical errors in the deprecated
 *       section have been corrected in order to prevent
 *       MIB compilation errors.
 *
 * Revision 1994-01-03 00:00:
 *   The RFC 1595 version of this MIB module.
 *
 * $Id: sonet-mib.h 1787 2006-02-21 20:45:55Z schoenw $
 */

#ifndef _SONET_MIB_H_
#define _SONET_MIB_H_

#include "gsnmp.h"

G_BEGIN_DECLS

/*
 * Tables to map enumerations to strings and vice versa.
 */

#define SONET_MIB_SONETMEDIUMTYPE_SONET 1
#define SONET_MIB_SONETMEDIUMTYPE_SDH   2

extern GNetSnmpEnum const sonet_mib_enums_sonetMediumType[];

#define SONET_MIB_SONETMEDIUMLINECODING_SONETMEDIUMOTHER 1
#define SONET_MIB_SONETMEDIUMLINECODING_SONETMEDIUMB3ZS  2
#define SONET_MIB_SONETMEDIUMLINECODING_SONETMEDIUMCMI   3
#define SONET_MIB_SONETMEDIUMLINECODING_SONETMEDIUMNRZ   4
#define SONET_MIB_SONETMEDIUMLINECODING_SONETMEDIUMRZ    5

extern GNetSnmpEnum const sonet_mib_enums_sonetMediumLineCoding[];

#define SONET_MIB_SONETMEDIUMLINETYPE_SONETOTHER           1
#define SONET_MIB_SONETMEDIUMLINETYPE_SONETSHORTSINGLEMODE 2
#define SONET_MIB_SONETMEDIUMLINETYPE_SONETLONGSINGLEMODE  3
#define SONET_MIB_SONETMEDIUMLINETYPE_SONETMULTIMODE       4
#define SONET_MIB_SONETMEDIUMLINETYPE_SONETCOAX            5
#define SONET_MIB_SONETMEDIUMLINETYPE_SONETUTP             6

extern GNetSnmpEnum const sonet_mib_enums_sonetMediumLineType[];


/*
 * C type definitions for SONET-MIB::sonetMediumEntry.
 */

#define SONET_MIB_SONETMEDIUMTYPE              (1 << 0) 
#define SONET_MIB_SONETMEDIUMTIMEELAPSED       (1 << 1) 
#define SONET_MIB_SONETMEDIUMVALIDINTERVALS    (1 << 2) 
#define SONET_MIB_SONETMEDIUMLINECODING        (1 << 3) 
#define SONET_MIB_SONETMEDIUMLINETYPE          (1 << 4) 
#define SONET_MIB_SONETMEDIUMCIRCUITIDENTIFIER (1 << 5) 
#define SONET_MIB_SONETMEDIUMINVALIDINTERVALS  (1 << 6) 
#define SONET_MIB_SONETMEDIUMLOOPBACKCONFIG    (1 << 7) 

typedef struct {
    gint32   ifIndex;                           /* ro IF-MIB::InterfaceIndex */
    gint32   *sonetMediumType;                  /* rw */
    gint32   *sonetMediumTimeElapsed;           /* ro */
    gint32   *sonetMediumValidIntervals;        /* ro */
    gint32   *sonetMediumLineCoding;            /* rw */
    gint32   *sonetMediumLineType;              /* rw */
    guchar   *sonetMediumCircuitIdentifier;     /* rw */
#define SONET_MIB_SONETMEDIUMCIRCUITIDENTIFIERMINLENGTH 0
#define SONET_MIB_SONETMEDIUMCIRCUITIDENTIFIERMAXLENGTH 255
    guint16  _sonetMediumCircuitIdentifierLength;
    gint32   *sonetMediumInvalidIntervals;      /* ro */
    guchar   *sonetMediumLoopbackConfig;        /* rw */
#define SONET_MIB_SONETMEDIUMLOOPBACKCONFIGMINLENGTH 0
#define SONET_MIB_SONETMEDIUMLOOPBACKCONFIGMAXLENGTH 1
    guint16  _sonetMediumLoopbackConfigLength;
} sonet_mib_sonetMediumEntry_t;

extern void
sonet_mib_get_sonetMediumTable(GNetSnmp *s, sonet_mib_sonetMediumEntry_t ***sonetMediumEntry, gint64 mask);

extern void
sonet_mib_free_sonetMediumTable(sonet_mib_sonetMediumEntry_t **sonetMediumEntry);

extern sonet_mib_sonetMediumEntry_t *
sonet_mib_new_sonetMediumEntry(void);

extern void
sonet_mib_get_sonetMediumEntry(GNetSnmp *s, sonet_mib_sonetMediumEntry_t **sonetMediumEntry, gint32 ifIndex, gint64 mask);

extern void
sonet_mib_set_sonetMediumEntry(GNetSnmp *s, sonet_mib_sonetMediumEntry_t *sonetMediumEntry, gint64 mask);

extern void
sonet_mib_free_sonetMediumEntry(sonet_mib_sonetMediumEntry_t *sonetMediumEntry);

/*
 * C type definitions for SONET-MIB::sonetSectionCurrentEntry.
 */

#define SONET_MIB_SONETSECTIONCURRENTSTATUS (1 << 0) 
#define SONET_MIB_SONETSECTIONCURRENTESS    (1 << 1) 
#define SONET_MIB_SONETSECTIONCURRENTSESS   (1 << 2) 
#define SONET_MIB_SONETSECTIONCURRENTSEFSS  (1 << 3) 
#define SONET_MIB_SONETSECTIONCURRENTCVS    (1 << 4) 

typedef struct {
    gint32   ifIndex;                        /* ro IF-MIB::InterfaceIndex */
    gint32   *sonetSectionCurrentStatus;     /* ro */
    guint32  *sonetSectionCurrentESs;        /* ro PerfHist-TC-MIB::PerfCurrentCount */
    guint32  *sonetSectionCurrentSESs;       /* ro PerfHist-TC-MIB::PerfCurrentCount */
    guint32  *sonetSectionCurrentSEFSs;      /* ro PerfHist-TC-MIB::PerfCurrentCount */
    guint32  *sonetSectionCurrentCVs;        /* ro PerfHist-TC-MIB::PerfCurrentCount */
} sonet_mib_sonetSectionCurrentEntry_t;

extern void
sonet_mib_get_sonetSectionCurrentTable(GNetSnmp *s, sonet_mib_sonetSectionCurrentEntry_t ***sonetSectionCurrentEntry, gint64 mask);

extern void
sonet_mib_free_sonetSectionCurrentTable(sonet_mib_sonetSectionCurrentEntry_t **sonetSectionCurrentEntry);

extern sonet_mib_sonetSectionCurrentEntry_t *
sonet_mib_new_sonetSectionCurrentEntry(void);

extern void
sonet_mib_get_sonetSectionCurrentEntry(GNetSnmp *s, sonet_mib_sonetSectionCurrentEntry_t **sonetSectionCurrentEntry, gint32 ifIndex, gint64 mask);

extern void
sonet_mib_free_sonetSectionCurrentEntry(sonet_mib_sonetSectionCurrentEntry_t *sonetSectionCurrentEntry);

/*
 * C type definitions for SONET-MIB::sonetSectionIntervalEntry.
 */

#define SONET_MIB_SONETSECTIONINTERVALESS       (1 << 0) 
#define SONET_MIB_SONETSECTIONINTERVALSESS      (1 << 1) 
#define SONET_MIB_SONETSECTIONINTERVALSEFSS     (1 << 2) 
#define SONET_MIB_SONETSECTIONINTERVALCVS       (1 << 3) 
#define SONET_MIB_SONETSECTIONINTERVALVALIDDATA (1 << 4) 

typedef struct {
    gint32   ifIndex;                            /* ro IF-MIB::InterfaceIndex */
    gint32   sonetSectionIntervalNumber;         /* na */
    guint32  *sonetSectionIntervalESs;           /* ro PerfHist-TC-MIB::PerfIntervalCount */
    guint32  *sonetSectionIntervalSESs;          /* ro PerfHist-TC-MIB::PerfIntervalCount */
    guint32  *sonetSectionIntervalSEFSs;         /* ro PerfHist-TC-MIB::PerfIntervalCount */
    guint32  *sonetSectionIntervalCVs;           /* ro PerfHist-TC-MIB::PerfIntervalCount */
    gint32   *sonetSectionIntervalValidData;     /* ro SNMPv2-TC::TruthValue */
} sonet_mib_sonetSectionIntervalEntry_t;

extern void
sonet_mib_get_sonetSectionIntervalTable(GNetSnmp *s, sonet_mib_sonetSectionIntervalEntry_t ***sonetSectionIntervalEntry, gint64 mask);

extern void
sonet_mib_free_sonetSectionIntervalTable(sonet_mib_sonetSectionIntervalEntry_t **sonetSectionIntervalEntry);

extern sonet_mib_sonetSectionIntervalEntry_t *
sonet_mib_new_sonetSectionIntervalEntry(void);

extern void
sonet_mib_get_sonetSectionIntervalEntry(GNetSnmp *s, sonet_mib_sonetSectionIntervalEntry_t **sonetSectionIntervalEntry, gint32 ifIndex, gint32 sonetSectionIntervalNumber, gint64 mask);

extern void
sonet_mib_free_sonetSectionIntervalEntry(sonet_mib_sonetSectionIntervalEntry_t *sonetSectionIntervalEntry);


G_END_DECLS

#endif /* _SONET_MIB_H_ */