3 Copyright 2004 Broadcom Corp. All Rights Reserved.
5 This program is free software; you can distribute it and/or modify it
6 under the terms of the GNU General Public License (Version 2) as
7 published by the Free Software Foundation.
9 This program is distributed in the hope it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
20 /****************************************************************************
25 * SNMP object identifiers for ADSL MIB and other related MIBs
27 * Copyright (c) 1993-1998 AltoCom, Inc. All rights reserved.
28 * Authors: Ilya Stomakhin
32 * $Id: AdslMibDef.h,v 1.3 2006/11/27 07:27:12 swda Exp $
34 * $Log: AdslMibDef.h,v $
35 * Revision 1.3 2006/11/27 07:27:12 swda
36 * Integrate ADSL2+ new Annex A CPE PHY A2pB022c and driver A2x020c
38 * Revision 1.22 2006/04/03 15:30:27 ovandewi
39 * fix structure name and types
41 * Revision 1.20 2006/03/31 20:26:36 dadityan
44 * Revision 1.19 2005/08/11 15:08:38 ilyas
45 * Added string scrambling checking and AnnexL/M submodes display
47 * Revision 1.18 2005/04/01 21:57:42 ilyas
48 * Added definition for PwmClock (ADSL driver)
50 * Revision 1.17 2004/07/27 19:24:40 ilyas
51 * Added AnnexM configuration option
53 * Revision 1.16 2004/06/04 18:56:01 ilyas
54 * Added counter for ADSL2 framing and performance
56 * Revision 1.15 2004/05/25 16:15:04 ilyas
57 * Added ADSL2 framing status
59 * Revision 1.14 2004/03/31 19:09:48 ilyas
60 * Added ADSL2+ modulation control
62 * Revision 1.13 2004/03/03 20:14:05 ilyas
63 * Merged changes for ADSL2+ from ADSL driver
65 * Revision 1.12 2003/10/17 21:02:12 ilyas
66 * Added more data for ADSL2
68 * Revision 1.11 2003/10/14 00:55:27 ilyas
69 * Added UAS, LOSS, SES error seconds counters.
70 * Support for 512 tones (AnnexI)
72 * Revision 1.10 2003/09/29 18:39:51 ilyas
73 * Added new definitions for AnnexI
75 * Revision 1.9 2003/07/18 19:14:34 ilyas
76 * Merged with ADSL driver
78 * Revision 1.8 2003/07/08 18:34:16 ilyas
79 * Added fields to adsl configuration structure
81 * Revision 1.7 2003/03/25 00:07:00 ilyas
82 * Added "long" BERT supprt
84 * Revision 1.6 2003/02/27 07:10:52 ilyas
85 * Added more configuration and status parameters (for EFNT)
87 * Revision 1.5 2003/01/23 20:29:37 ilyas
88 * Added structure for ADSL PHY configuration command
90 * Revision 1.4 2002/11/13 21:32:49 ilyas
91 * Added adjustK support for Centillium non-standard framing mode
93 * Revision 1.3 2002/10/31 01:35:50 ilyas
94 * Fixed size of K for S=1/2
96 * Revision 1.2 2002/10/05 03:28:31 ilyas
97 * Added extra definitions for Linux and VxWorks drivers.
98 * Added definitions for SelfTest support
100 * Revision 1.1 2002/07/20 00:51:41 ilyas
101 * Merged witchanges made for VxWorks/Linux driver.
103 * Revision 1.1 2001/12/21 22:39:30 ilyas
104 * Added support for ADSL MIB data objects (RFC2662)
107 *****************************************************************************/
109 #ifndef AdslMibDefHeader
110 #define AdslMibDefHeader
112 #if defined(__cplusplus)
118 ** ADSL configuration parameters
122 #define kAdslCfgModMask (0x00000007 | 0x0000F000)
123 #define kAdslCfgModAny 0x00000000
125 #define kAdslCfgModGdmtOnly 0x00000001
126 #define kAdslCfgModGliteOnly 0x00000002
127 #define kAdslCfgModT1413Only 0x00000004
128 #define kAdslCfgModAnnexIOnly 0x00000004
129 #define kAdslCfgModAdsl2Only 0x00001000
130 #define kAdslCfgModAdsl2pOnly 0x00002000
132 #define kAdslCfgBitmapMask 0x00000018
133 #define kAdslCfgDBM 0x00000000
134 #define kAdslCfgFBM 0x00000008
135 #define kAdslCfgFBMSoL 0x00000010
137 #define kAdslCfgLinePairMask 0x00000020
138 #define kAdslCfgLineInnerPair 0x00000000
139 #define kAdslCfgLineOuterPair 0x00000020
141 #define kAdslCfgCentilliumCRCWorkAroundMask 0x00000040
142 #define kAdslCfgCentilliumCRCWorkAroundDisabled 0x00000000
143 #define kAdslCfgCentilliumCRCWorkAroundEnabled 0x00000040
145 #define kAdslCfgExtraData 0x00000080
146 #define kAdslCfgTrellisMask (0x00000100 | kAdslCfgExtraData)
147 #define kAdslCfgTrellisOn (0x00000100 | kAdslCfgExtraData)
148 #define kAdslCfgTrellisOff (0 | kAdslCfgExtraData)
149 #define kAdslCfgExtraMask 0xFFFFFF80
151 #define kAdslCfgLOSMonitoringMask 0x00000200
152 #define kAdslCfgLOSMonitoringOff 0x00000200
153 #define kAdslCfgLOSMonitoringOn 0x00000000
155 #define kAdslCfgMarginMonitoringMask 0x00000400
156 #define kAdslCfgMarginMonitoringOn 0x00000400
157 #define kAdslCfgMarginMonitoringOff 0x00000000
159 #define kAdslCfgDemodCapMask 0x00000800
160 #define kAdslCfgDemodCapOn 0x00000800
161 #define kAdslCfgDemodCapOff 0x00000000
163 /* Flags 0x00001000 - 0x00008000 are reserved for modulation (see above) */
165 /* Upstream mode flags 0x00010000 - 0x00030000 */
167 #define kAdslCfgUpstreamModeMask 0x00030000
168 #define kAdslCfgUpstreamMax 0x00000000
169 #define kAdslCfgUpstreamSingle 0x00010000
170 #define kAdslCfgUpstreamDouble 0x00020000
171 #define kAdslCfgUpstreamTriple 0x00030000
173 #define kAdslCfgNoSpectrumOverlap 0x00040000
175 /* Pwm sync clock configuration */
177 #define kAdslCfgPwmSyncClockMask 0x00080000
178 #define kAdslCfgPwmSyncClockOn 0x00080000
179 #define kAdslCfgPwmSyncClockOff 0x00000000
181 #define kAdslCfgDemodCap2Mask 0x00100000
182 #define kAdslCfgDemodCap2On 0x00100000
183 #define kAdslCfgDemodCap2Off 0x00000000
185 #define kAdslCfgDefaultTrainingMargin -1
186 #define kAdslCfgDefaultShowtimeMargin -1
187 #define kAdslCfgDefaultLOMTimeThld -1
189 /* ADSL2 parameters */
191 #define kAdsl2CfgReachExOn 0x00000001
192 #define kAdsl2CfgAnnexMEnabled 0x00000002
194 #define kAdsl2CfgAnnexMPsdShift 2
195 #define kAdsl2CfgAnnexMPsdBits 12
196 #define kAdsl2CfgAnnexMPsdMask (0xFFF << kAdsl2CfgAnnexMPsdShift)
198 #if (((1 << kAdsl2CfgAnnexMPsdBits) - 1) != (kAdsl2CfgAnnexMPsdMask >> kAdsl2CfgAnnexMPsdShift))
199 #error Inconsistent kAdsl2CfgAnnexM definitions
202 #define kAdsl2CfgAnnexMUp32 (0x00000001 << kAdsl2CfgAnnexMPsdShift)
203 #define kAdsl2CfgAnnexMUp36 (0x00000002 << kAdsl2CfgAnnexMPsdShift)
204 #define kAdsl2CfgAnnexMUp40 (0x00000004 << kAdsl2CfgAnnexMPsdShift)
205 #define kAdsl2CfgAnnexMUp44 (0x00000008 << kAdsl2CfgAnnexMPsdShift)
206 #define kAdsl2CfgAnnexMUp48 (0x00000010 << kAdsl2CfgAnnexMPsdShift)
207 #define kAdsl2CfgAnnexMUp52 (0x00000020 << kAdsl2CfgAnnexMPsdShift)
208 #define kAdsl2CfgAnnexMUp56 (0x00000040 << kAdsl2CfgAnnexMPsdShift)
209 #define kAdsl2CfgAnnexMUp60 (0x00000080 << kAdsl2CfgAnnexMPsdShift)
210 #define kAdsl2CfgAnnexMUp64 (0x00000100 << kAdsl2CfgAnnexMPsdShift)
211 #define kAdsl2CfgAnnexMCustomPsd (0x00000200 << kAdsl2CfgAnnexMPsdShift)
213 #define kAdsl2CfgAnnexLShift (2 + kAdsl2CfgAnnexMPsdBits)
214 #define kAdsl2CfgAnnexLMask (0x7 << kAdsl2CfgAnnexLShift)
216 #define kAdsl2CfgAnnexLUpWide (0x00000001 << kAdsl2CfgAnnexLShift)
217 #define kAdsl2CfgAnnexLUpNarrow (0x00000002 << kAdsl2CfgAnnexLShift)
218 #define kAdsl2CfgAnnexLDnOvlap (0x00000004 << kAdsl2CfgAnnexLShift)
220 typedef struct _adslCfgProfile {
221 long adslAnnexCParam;
222 long adslAnnexAParam;
223 long adslTrainingMarginQ4;
224 long adslShowtimeMarginQ4;
225 long adslLOMTimeThldSec;
226 long adslDemodCapMask;
227 long adslDemodCapValue;
229 long adslPwmSyncClockFreq;
230 long adslHsModeSwitchTime;
231 long adslDemodCap2Mask;
232 long adslDemodCap2Value;
237 ** ADSL PHY configuration
241 typedef struct _adslPhyCfg {
248 ** ADSL version info parameters
252 #define kAdslVersionStringSize 32
254 #define kAdslTypeUnknown 0
255 #define kAdslTypeAnnexA 1
256 #define kAdslTypeAnnexB 2
257 #define kAdslTypeAnnexC 3
258 #define kAdslTypeSADSL 4
260 typedef struct _adslVersionInfo {
261 unsigned short phyType;
262 unsigned short phyMjVerNum;
263 unsigned short phyMnVerNum;
264 char phyVerStr[kAdslVersionStringSize];
265 unsigned short drvMjVerNum;
266 unsigned short drvMnVerNum;
267 char drvVerStr[kAdslVersionStringSize];
272 ** ADSL self-test parameters
276 #define kAdslSelfTestLMEM 0x00000001
277 #define kAdslSelfTestSDRAM 0x00000002
278 #define kAdslSelfTestAFE 0x00000004
279 #define kAdslSelfTestQproc 0x00000008
280 #define kAdslSelfTestRS 0x00000010
281 #define kAdslSelfTestHostDma 0x00000020
283 #define kAdslSelfTestAll ((kAdslSelfTestHostDma - 1) | kAdslSelfTestHostDma)
285 #define kAdslSelfTestInProgress 0x40000000
286 #define kAdslSelfTestCompleted 0x80000000
288 /* MIB OID's for ADSL objects */
290 #define kOidMaxObjLen 80
293 #define kOidAdslInterleave 124
294 #define kOidAdslFast 125
296 #define kOidAdslPrivate 255
297 #define kOidAdslPrivatePartial 254
299 #define kAdslMibAnnexAToneNum 256
300 #define kAdslMibToneNum kAdslMibAnnexAToneNum
301 #define kAdslMibMaxToneNum kAdslMibAnnexAToneNum*2*2
303 #define kOidAdslPrivSNR 1
304 #define kOidAdslPrivBitAlloc 2
305 #define kOidAdslPrivGain 3
306 #define kOidAdslPrivShowtimeMargin 4
307 #define kOidAdslPrivChanCharLin 5
308 #define kOidAdslPrivChanCharLog 6
309 #define kOidAdslPrivQuietLineNoise 7
310 #ifdef ADSL_MIBOBJ_PLN
311 #define kOidAdslExtraPLNInfo 11
312 #define kOidAdslExtraPLNData 12
314 #define kOidAdslExtraPLNDataThldBB 1
315 #define kOidAdslExtraPLNDataThldPerTone 2
316 #define kOidAdslExtraPLNDataPLNState 3
317 #define kOidAdslExtraPLNDataNbDurBins 4
318 #define kOidAdslExtraPLNDataNbIntArrBins 5
319 #define kOidAdslExtraPLNDataUpdate 6
320 #define kOidAdslPrivPLNDurationBins 8
321 #define kOidAdslPrivPLNIntrArvlBins 9
322 #define kOidAdslPrivPLNValueps 10
323 #define kOidAdslPrivPLNThldCntps 11
324 #define kOidAdslPrivPLNDurationHist 12
325 #define kOidAdslPrivPLNIntrArvlHist 13
327 #define kOidAdslPrivNLDistNoise 14
328 #define kOidAdslPrivExtraInfo 255
329 #define kOidAdslExtraNLInfo 10
331 #define kOidAdslLine 1
332 #define kOidAdslMibObjects 1
334 #define kOidAdslLineTable 1
335 #define kOidAdslLineEntry 1
336 #define kOidAdslLineCoding 1
337 #define kOidAdslLineType 2
338 #define kOidAdslLineSpecific 3
339 #define kOidAdslLineConfProfile 4
340 #define kOidAdslLineAlarmConfProfile 5
342 #define kOidAdslAtucPhysTable 2
343 #define kOidAdslAturPhysTable 3
344 #define kOidAdslPhysEntry 1
345 #define kOidAdslPhysInvSerialNumber 1
346 #define kOidAdslPhysInvVendorID 2
347 #define kOidAdslPhysInvVersionNumber 3
348 #define kOidAdslPhysCurrSnrMgn 4
349 #define kOidAdslPhysCurrAtn 5
350 #define kOidAdslPhysCurrStatus 6
351 #define kOidAdslPhysCurrOutputPwr 7
352 #define kOidAdslPhysCurrAttainableRate 8
354 #define kOidAdslAtucChanTable 4
355 #define kOidAdslAturChanTable 5
356 #define kOidAdslChanEntry 1
357 #define kOidAdslChanInterleaveDelay 1
358 #define kOidAdslChanCurrTxRate 2
359 #define kOidAdslChanPrevTxRate 3
360 #define kOidAdslChanCrcBlockLength 4
362 #define kOidAdslAtucPerfDataTable 6
363 #define kOidAdslAturPerfDataTable 7
364 #define kOidAdslPerfDataEntry 1
365 #define kOidAdslPerfLofs 1
366 #define kOidAdslPerfLoss 2
367 #define kOidAdslPerfLprs 3
368 #define kOidAdslPerfESs 4
369 #define kOidAdslPerfValidIntervals 5
370 #define kOidAdslPerfInvalidIntervals 6
371 #define kOidAdslPerfCurr15MinTimeElapsed 7
372 #define kOidAdslPerfCurr15MinLofs 8
373 #define kOidAdslPerfCurr15MinLoss 9
374 #define kOidAdslPerfCurr15MinLprs 10
375 #define kOidAdslPerfCurr15MinESs 11
376 #define kOidAdslPerfCurr1DayTimeElapsed 12
377 #define kOidAdslPerfCurr1DayLofs 13
378 #define kOidAdslPerfCurr1DayLoss 14
379 #define kOidAdslPerfCurr1DayLprs 15
380 #define kOidAdslPerfCurr1DayESs 16
381 #define kOidAdslPerfPrev1DayMoniSecs 17
382 #define kOidAdslPerfPrev1DayLofs 18
383 #define kOidAdslPerfPrev1DayLoss 19
384 #define kOidAdslPerfPrev1DayLprs 20
385 #define kOidAdslPerfPrev1DayESs 21
387 #define kOidAdslAtucPerfIntervalTable 8
388 #define kOidAdslAturPerfIntervalTable 9
389 #define kOidAdslPerfIntervalEntry 1
390 #define kOidAdslIntervalNumber 1
391 #define kOidAdslIntervalLofs 2
392 #define kOidAdslIntervalLoss 3
393 #define kOidAdslIntervalLprs 4
394 #define kOidAdslIntervalESs 5
395 #define kOidAdslIntervalValidData 6
397 #define kOidAdslAtucChanPerfTable 10
398 #define kOidAdslAturChanPerfTable 11
399 #define kOidAdslChanPerfEntry 1
400 #define kOidAdslChanReceivedBlks 1
401 #define kOidAdslChanTransmittedBlks 2
402 #define kOidAdslChanCorrectedBlks 3
403 #define kOidAdslChanUncorrectBlks 4
404 #define kOidAdslChanPerfValidIntervals 5
405 #define kOidAdslChanPerfInvalidIntervals 6
406 #define kOidAdslChanPerfCurr15MinTimeElapsed 7
407 #define kOidAdslChanPerfCurr15MinReceivedBlks 8
408 #define kOidAdslChanPerfCurr15MinTransmittedBlks 9
409 #define kOidAdslChanPerfCurr15MinCorrectedBlks 10
410 #define kOidAdslChanPerfCurr15MinUncorrectBlks 11
411 #define kOidAdslChanPerfCurr1DayTimeElapsed 12
412 #define kOidAdslChanPerfCurr1DayReceivedBlks 13
413 #define kOidAdslChanPerfCurr1DayTransmittedBlks 14
414 #define kOidAdslChanPerfCurr1DayCorrectedBlks 15
415 #define kOidAdslChanPerfCurr1DayUncorrectBlks 16
416 #define kOidAdslChanPerfPrev1DayMoniSecs 17
417 #define kOidAdslChanPerfPrev1DayReceivedBlks 18
418 #define kOidAdslChanPerfPrev1DayTransmittedBlks 19
419 #define kOidAdslChanPerfPrev1DayCorrectedBlks 20
420 #define kOidAdslChanPerfPrev1DayUncorrectBlks 21
422 #define kOidAdslAtucChanIntervalTable 12
423 #define kOidAdslAturChanIntervalTable 13
424 #define kOidAdslChanIntervalEntry 1
425 #define kOidAdslChanIntervalNumber 1
426 #define kOidAdslChanIntervalReceivedBlks 2
427 #define kOidAdslChanIntervalTransmittedBlks 3
428 #define kOidAdslChanIntervalCorrectedBlks 4
429 #define kOidAdslChanIntervalUncorrectBlks 5
430 #define kOidAdslChanIntervalValidData 6
432 #define kOidAtmMibObjects 1
433 #define kOidAtmTcTable 4
434 #define kOidAtmTcEntry 1
435 #define kOidAtmOcdEvents 1
436 #define kOidAtmAlarmState 2
438 /* Adsl Channel coding */
440 #define kAdslRcvDir 0
441 #define kAdslXmtDir 1
443 #define kAdslRcvActive (1 << kAdslRcvDir)
444 #define kAdslXmtActive (1 << kAdslXmtDir)
446 #define kAdslIntlChannel 0
447 #define kAdslFastChannel 1
449 #define kAdslTrellisOff 0
450 #define kAdslTrellisOn 1
451 #define kAdsl2TrellisRxEnabled 0x1
452 #define kAdsl2TrellisTxEnabled 0x2
454 /* AnnexC modulation and bitmap types for the field (adslConnection.modType) */
456 #define kAdslModMask 0x7
458 #define kAdslModGdmt 0
459 #define kAdslModT1413 1
460 #define kAdslModGlite 2
461 #define kAdslModAnnexI 3
462 #define kAdslModAdsl2 4
463 #define kAdslModAdsl2p 5
464 #define kAdslModReAdsl2 6
466 #define kAdslBitmapShift 3
467 #define kAdslBitmapMask kAdslCfgBitmapMask
468 #define kAdslDBM (0 << kAdslBitmapShift)
469 #define kAdslFBM (1 << kAdslBitmapShift)
470 #define kAdslFBMSoL (2 << kAdslBitmapShift)
472 #define kAdslUpstreamModeShift 5
473 #define kAdslUpstreamModeMask (3 << kAdslUpstreamModeShift)
474 #define kAdslUpstreamModeSingle (0 << kAdslUpstreamModeShift)
475 #define kAdslUpstreamModeDouble (1 << kAdslUpstreamModeShift)
476 #define kAdslUpstreamModeTriple (2 << kAdslUpstreamModeShift)
478 /* AdslLineCodingType definitions */
480 #define kAdslLineCodingOther 1
481 #define kAdslLineCodingDMT 2
482 #define kAdslLineCodingCAP 3
483 #define kAdslLineCodingQAM 4
485 /* AdslLineType definitions */
487 #define kAdslLineTypeNoChannel 1
488 #define kAdslLineTypeFastOnly 2
489 #define kAdslLineTypeIntlOnly 3
490 #define kAdslLineTypeFastOrIntl 4
491 #define kAdslLineTypeFastAndIntl 5
493 typedef struct _adslLineEntry {
494 unsigned char adslLineCoding;
495 unsigned char adslLineType;
499 /* AdslPhys status definitions */
501 #define kAdslPhysStatusNoDefect (1 << 0)
502 #define kAdslPhysStatusLOF (1 << 1) /* lossOfFraming (not receiving valid frame) */
503 #define kAdslPhysStatusLOS (1 << 2) /* lossOfSignal (not receiving signal) */
504 #define kAdslPhysStatusLPR (1 << 3) /* lossOfPower */
505 #define kAdslPhysStatusLOSQ (1 << 4) /* lossOfSignalQuality */
506 #define kAdslPhysStatusLOM (1 << 5) /* lossOfMargin */
508 #define kAdslPhysVendorIdLen 8
509 #define kAdslPhysSerialNumLen 32
510 #define kAdslPhysVersionNumLen 32
512 typedef struct _adslPhysEntry {
516 long adslCurrOutputPwr;
517 long adslCurrAttainableRate;
519 long adslHlinScaleFactor;
520 long adslLDCompleted;
521 char adslVendorID[kAdslPhysVendorIdLen];
524 typedef struct _adslFullPhysEntry {
525 char adslSerialNumber[kAdslPhysSerialNumLen];
526 char adslVendorID[kAdslPhysVendorIdLen];
527 char adslVersionNumber[kAdslPhysVersionNumLen];
531 long adslCurrOutputPwr;
532 long adslCurrAttainableRate;
534 long adslHlinScaleFactor;
537 /* Adsl channel entry definitions */
539 typedef struct _adslChanEntry {
540 unsigned long adslChanIntlDelay;
541 unsigned long adslChanCurrTxRate;
542 unsigned long adslChanPrevTxRate;
543 unsigned long adslChanCrcBlockLength;
546 /* Adsl performance data definitions */
548 typedef struct _adslPerfCounters {
549 unsigned long adslLofs;
550 unsigned long adslLoss;
551 unsigned long adslLols; /* Loss of Link failures (ATUC only) */
552 unsigned long adslLprs;
553 unsigned long adslESs; /* Count of Errored Seconds */
554 unsigned long adslInits; /* Count of Line initialization attempts (ATUC only) */
555 unsigned long adslUAS; /* Count of Unavailable Seconds */
556 unsigned long adslSES; /* Count of Severely Errored Seconds */
557 unsigned long adslLOSS; /* Count of LOS seconds */
558 unsigned long adslFECs; /* Count of FEC seconds */
559 unsigned long adslLCDS; /* Count of LCD Errored Seconds */
562 typedef struct _adslFailureCounters {
563 unsigned long adslRetr; /* Count of total retrains */
564 unsigned long adslRetrLof; /* Count of retrains due to LOF */
565 unsigned long adslRetrLos; /* Count of retrains due to LOS */
566 unsigned long adslRetrLpr; /* Count of retrains due to LPR */
567 unsigned long adslRetrLom; /* Count of retrains due to LOM */
568 unsigned long adslInitErr; /* Count of training failures */
569 unsigned long adslInitTo; /* Count of training timeouts */
570 unsigned long adslLineSearch; /* Count of line search inits */
571 } adslFailureCounters;
573 typedef struct _adslPerfDataEntry {
574 adslPerfCounters perfTotal;
575 adslPerfCounters perfSinceShowTime;
576 unsigned long adslPerfValidIntervals;
577 unsigned long adslPerfInvalidIntervals;
578 adslPerfCounters perfCurr15Min;
579 unsigned long adslPerfCurr15MinTimeElapsed;
580 adslPerfCounters perfCurr1Day;
581 unsigned long adslPerfCurr1DayTimeElapsed;
582 adslPerfCounters perfPrev1Day;
583 unsigned long adslAturPerfPrev1DayMoniSecs;
584 adslFailureCounters failTotal;
585 adslFailureCounters failSinceShowTime;
586 long lastRetrainReason;
587 long lastShowtimeDropReason;
590 #define kAdslMibPerfIntervals 4
592 /* Adsl channel performance data definitions */
594 typedef struct _adslChanCounters {
595 unsigned long adslChanReceivedBlks;
596 unsigned long adslChanTransmittedBlks;
597 unsigned long adslChanCorrectedBlks;
598 unsigned long adslChanUncorrectBlks;
601 typedef struct _adslChanPerfDataEntry {
602 adslChanCounters perfTotal;
603 unsigned long adslChanPerfValidIntervals;
604 unsigned long adslChanPerfInvalidIntervals;
605 adslChanCounters perfCurr15Min;
606 unsigned long adslPerfCurr15MinTimeElapsed;
607 adslChanCounters perfCurr1Day;
608 unsigned long adslPerfCurr1DayTimeElapsed;
609 adslChanCounters perfPrev1Day;
610 unsigned long adslAturPerfPrev1DayMoniSecs;
611 } adslChanPerfDataEntry;
614 typedef struct _adslNonLinearityData{
615 unsigned short maxCriticalDistNoise;
616 unsigned short distAffectedBits;
617 } adslNonLinearityData;
619 #ifdef ADSL_MIBOBJ_PLN
620 typedef struct _adslPLNDataEntry {
622 unsigned long PLNThldBB;
623 unsigned long PLNThldPerTone;
625 char PLNNbIntArrBins;
626 unsigned long PLNPerToneCounter;
627 unsigned long PLNBBCounter;
633 #define kAdslMibChanPerfIntervals 4
635 /* Adsl trap threshold definitions */
637 #define kAdslEventLinkChange 0x001
638 #define kAdslEventRateChange 0x002
639 #define kAdslEventLofThresh 0x004
640 #define kAdslEventLosThresh 0x008
641 #define kAdslEventLprThresh 0x010
642 #define kAdslEventESThresh 0x020
643 #define kAdslEventFastUpThresh 0x040
644 #define kAdslEventIntlUpThresh 0x080
645 #define kAdslEventFastDownThresh 0x100
646 #define kAdslEventIntlDwonThresh 0x200
648 typedef struct _adslThreshCounters {
649 unsigned long adslThreshLofs;
650 unsigned long adslThreshLoss;
651 unsigned long adslThreshLols; /* Loss of Link failures (ATUC only) */
652 unsigned long adslThreshLprs;
653 unsigned long adslThreshESs;
654 unsigned long adslThreshFastRateUp;
655 unsigned long adslThreshIntlRateUp;
656 unsigned long adslThreshFastRateDown;
657 unsigned long adslThreshIntlRateDown;
658 } adslThreshCounters;
661 /* Atm PHY performance data definitions */
663 #define kAtmPhyStateNoAlarm 1
664 #define kAtmPhyStateLcdFailure 2
666 typedef struct _atmPhyDataEntrty {
667 unsigned long atmInterfaceOCDEvents;
668 unsigned long atmInterfaceTCAlarmState;
671 typedef struct _adslBertResults {
672 unsigned long bertTotalBits;
673 unsigned long bertErrBits;
681 typedef struct _adslBertStatusEx {
682 unsigned long bertSecTotal;
683 unsigned long bertSecElapsed;
684 unsigned long bertSecCur;
689 typedef struct _adslDataConnectionInfo {
691 unsigned char S, R, D;
692 } adslDataConnectionInfo;
694 typedef struct _adslConnectionInfo {
695 unsigned char chType; /* fast or interleaved */
696 unsigned char modType; /* modulation type: G.DMT or T1.413 */
697 unsigned char trellisCoding; /* off(0) or on(1) */
698 adslDataConnectionInfo rcvInfo;
699 adslDataConnectionInfo xmtInfo;
700 unsigned char trellisCoding2;
701 } adslConnectionInfo;
703 typedef struct _adsl2DataConnectionInfo {
715 } adsl2DataConnectionInfo;
717 /* ADSL2 connection parameters */
719 #define kAdsl2ModeAnnexMask 0xF
721 #define kAdsl2ModeAnnexMUp32 1
722 #define kAdsl2ModeAnnexMUp36 2
723 #define kAdsl2ModeAnnexMUp40 3
724 #define kAdsl2ModeAnnexMUp44 4
725 #define kAdsl2ModeAnnexMUp48 5
726 #define kAdsl2ModeAnnexMUp52 6
727 #define kAdsl2ModeAnnexMUp56 7
728 #define kAdsl2ModeAnnexMUp60 8
729 #define kAdsl2ModeAnnexMUp64 9
731 #define kAdsl2ModeAnnexLShift 4
732 #define kAdsl2ModeAnnexLMask (0x3 << kAdsl2ModeAnnexLShift)
734 #define kAdsl2ModeAnnexLUpMask (0x00000001 << kAdsl2ModeAnnexLShift)
735 #define kAdsl2ModeAnnexLUpWide (0x00000000 << kAdsl2ModeAnnexLShift)
736 #define kAdsl2ModeAnnexLUpNarrow (0x00000001 << kAdsl2ModeAnnexLShift)
738 #define kAdsl2ModeAnnexLDnMask (0x00000002 << kAdsl2ModeAnnexLShift)
739 #define kAdsl2ModeAnnexLDnNonOvlap (0x00000000 << kAdsl2ModeAnnexLShift)
740 #define kAdsl2ModeAnnexLDnOvlap (0x00000002 << kAdsl2ModeAnnexLShift)
742 typedef struct _adsl2ConnectionInfo {
746 unsigned char pwrState; /* Lx state: x = 0..3 */
747 adsl2DataConnectionInfo rcv2Info;
748 adsl2DataConnectionInfo xmt2Info;
749 } adsl2ConnectionInfo;
751 typedef struct _adslConnectionDataStat {
753 unsigned long cntRSCor;
754 unsigned long cntRSUncor;
756 unsigned long cntSFErr;
757 } adslConnectionDataStat;
759 typedef struct _adslConnectionStat {
760 adslConnectionDataStat rcvStat;
761 adslConnectionDataStat xmtStat;
762 } adslConnectionStat;
764 typedef struct _atmConnectionDataStat {
765 unsigned long cntHEC;
766 unsigned long cntOCD;
767 unsigned long cntLCD;
769 unsigned long cntCellTotal;
770 unsigned long cntCellData;
771 unsigned long cntCellDrop;
772 unsigned long cntBitErrs;
773 } atmConnectionDataStat;
775 typedef struct _atmConnectionStat {
776 atmConnectionDataStat rcvStat;
777 atmConnectionDataStat xmtStat;
780 #define kAdslFramingModeMask 0x0F
781 #define kAtmFramingModeMask 0xF0
782 #define kAtmHeaderCompression 0x80
786 typedef struct _adslDiagModeData {
792 long hlinScaleFactor;
795 /* AdslMibGetObjectValue return codes */
797 #define kAdslMibStatusSuccess 0
798 #define kAdslMibStatusFailure -1
799 #define kAdslMibStatusNoObject -2
800 #define kAdslMibStatusObjectInvalid -3
801 #define kAdslMibStatusBufferTooSmall -4
802 #define kAdslMibStatusLastError -4
804 /* Adsl training codes */
806 #define kAdslTrainingIdle 0
807 #define kAdslTrainingG994 1
808 #define kAdslTrainingG992Started 2
809 #define kAdslTrainingG992ChanAnalysis 3
810 #define kAdslTrainingG992Exchange 4
811 #define kAdslTrainingConnected 5
813 /* Global info structure */
815 typedef struct _adslMibInfo {
816 adslLineEntry adslLine;
817 adslPhysEntry adslPhys;
818 adslChanEntry adslChanIntl;
819 adslChanEntry adslChanFast;
820 adslPerfDataEntry adslPerfData;
821 adslPerfCounters adslPerfIntervals[kAdslMibPerfIntervals];
822 adslChanPerfDataEntry adslChanIntlPerfData;
823 adslChanPerfDataEntry adslChanFastPerfData;
824 adslChanCounters adslChanIntlPerfIntervals[kAdslMibChanPerfIntervals];
825 adslChanCounters adslChanFastPerfIntervals[kAdslMibChanPerfIntervals];
827 adslThreshCounters adslAlarm;
829 atmPhyDataEntrty adslChanIntlAtmPhyData;
830 atmPhyDataEntrty adslChanFastAtmPhyData;
832 adslBertResults adslBertRes;
834 adslConnectionInfo adslConnection;
835 adslConnectionStat adslStat;
836 adslConnectionStat adslStatSincePowerOn;
837 unsigned char adslTrainingState;
838 atmConnectionStat atmStat;
839 atmConnectionStat atmStatSincePowerOn;
841 adslFullPhysEntry adslAtucPhys;
842 unsigned char adslRxNonStdFramingAdjustK;
843 unsigned char adslFramingMode;
844 adslBertStatusEx adslBertStatus;
847 adslDiagModeData adslDiag;
848 adsl2ConnectionInfo adsl2Info;
849 adslPerfCounters adslTxPerfTotal;
850 adslPerfCounters adslTxPerfLast15Min;
851 adslPerfCounters adslTxPerfLast1Day;
852 adslNonLinearityData adslNonLinData;
853 #ifdef ADSL_MIBOBJ_PLN
854 adslPLNDataEntry adslPLNData;
858 #if defined(__cplusplus)
862 #endif /* AdslMibDefHeader */