4 Copyright (c) 2002 Broadcom Corporation
6 No portions of this material may be reproduced in any form without the
10 Irvine, California 92619
11 All information contained in this document is Broadcom Corporation
12 company private, proprietary, and trade secret.
16 /****************************************************************************
21 * SNMP object identifiers for ADSL MIB and other related MIBs
23 * Copyright (c) 1993-1998 AltoCom, Inc. All rights reserved.
24 * Authors: Ilya Stomakhin
28 * $Id: AdslMibDef.h,v 1.22 2006/04/03 15:30:27 ovandewi Exp $
30 * $Log: AdslMibDef.h,v $
31 * Revision 1.22 2006/04/03 15:30:27 ovandewi
32 * fix structure name and types
34 * Revision 1.20 2006/03/31 20:26:36 dadityan
37 * Revision 1.19 2005/08/11 15:08:38 ilyas
38 * Added string scrambling checking and AnnexL/M submodes display
40 * Revision 1.18 2005/04/01 21:57:42 ilyas
41 * Added definition for PwmClock (ADSL driver)
43 * Revision 1.17 2004/07/27 19:24:40 ilyas
44 * Added AnnexM configuration option
46 * Revision 1.16 2004/06/04 18:56:01 ilyas
47 * Added counter for ADSL2 framing and performance
49 * Revision 1.15 2004/05/25 16:15:04 ilyas
50 * Added ADSL2 framing status
52 * Revision 1.14 2004/03/31 19:09:48 ilyas
53 * Added ADSL2+ modulation control
55 * Revision 1.13 2004/03/03 20:14:05 ilyas
56 * Merged changes for ADSL2+ from ADSL driver
58 * Revision 1.12 2003/10/17 21:02:12 ilyas
59 * Added more data for ADSL2
61 * Revision 1.11 2003/10/14 00:55:27 ilyas
62 * Added UAS, LOSS, SES error seconds counters.
63 * Support for 512 tones (AnnexI)
65 * Revision 1.10 2003/09/29 18:39:51 ilyas
66 * Added new definitions for AnnexI
68 * Revision 1.9 2003/07/18 19:14:34 ilyas
69 * Merged with ADSL driver
71 * Revision 1.8 2003/07/08 18:34:16 ilyas
72 * Added fields to adsl configuration structure
74 * Revision 1.7 2003/03/25 00:07:00 ilyas
75 * Added "long" BERT supprt
77 * Revision 1.6 2003/02/27 07:10:52 ilyas
78 * Added more configuration and status parameters (for EFNT)
80 * Revision 1.5 2003/01/23 20:29:37 ilyas
81 * Added structure for ADSL PHY configuration command
83 * Revision 1.4 2002/11/13 21:32:49 ilyas
84 * Added adjustK support for Centillium non-standard framing mode
86 * Revision 1.3 2002/10/31 01:35:50 ilyas
87 * Fixed size of K for S=1/2
89 * Revision 1.2 2002/10/05 03:28:31 ilyas
90 * Added extra definitions for Linux and VxWorks drivers.
91 * Added definitions for SelfTest support
93 * Revision 1.1 2002/07/20 00:51:41 ilyas
94 * Merged witchanges made for VxWorks/Linux driver.
96 * Revision 1.1 2001/12/21 22:39:30 ilyas
97 * Added support for ADSL MIB data objects (RFC2662)
100 *****************************************************************************/
102 #ifndef AdslMibDefHeader
103 #define AdslMibDefHeader
105 #if defined(__cplusplus)
111 ** ADSL configuration parameters
115 #define kAdslCfgModMask (0x00000007 | 0x0000F000)
116 #define kAdslCfgModAny 0x00000000
118 #define kAdslCfgModGdmtOnly 0x00000001
119 #define kAdslCfgModGliteOnly 0x00000002
120 #define kAdslCfgModT1413Only 0x00000004
121 #define kAdslCfgModAnnexIOnly 0x00000004
122 #define kAdslCfgModAdsl2Only 0x00001000
123 #define kAdslCfgModAdsl2pOnly 0x00002000
125 #define kAdslCfgBitmapMask 0x00000018
126 #define kAdslCfgDBM 0x00000000
127 #define kAdslCfgFBM 0x00000008
128 #define kAdslCfgFBMSoL 0x00000010
130 #define kAdslCfgLinePairMask 0x00000020
131 #define kAdslCfgLineInnerPair 0x00000000
132 #define kAdslCfgLineOuterPair 0x00000020
134 #define kAdslCfgCentilliumCRCWorkAroundMask 0x00000040
135 #define kAdslCfgCentilliumCRCWorkAroundDisabled 0x00000000
136 #define kAdslCfgCentilliumCRCWorkAroundEnabled 0x00000040
138 #define kAdslCfgExtraData 0x00000080
139 #define kAdslCfgTrellisMask (0x00000100 | kAdslCfgExtraData)
140 #define kAdslCfgTrellisOn (0x00000100 | kAdslCfgExtraData)
141 #define kAdslCfgTrellisOff (0 | kAdslCfgExtraData)
142 #define kAdslCfgExtraMask 0xFFFFFF80
144 #define kAdslCfgLOSMonitoringMask 0x00000200
145 #define kAdslCfgLOSMonitoringOff 0x00000200
146 #define kAdslCfgLOSMonitoringOn 0x00000000
148 #define kAdslCfgMarginMonitoringMask 0x00000400
149 #define kAdslCfgMarginMonitoringOn 0x00000400
150 #define kAdslCfgMarginMonitoringOff 0x00000000
152 #define kAdslCfgDemodCapMask 0x00000800
153 #define kAdslCfgDemodCapOn 0x00000800
154 #define kAdslCfgDemodCapOff 0x00000000
156 /* Flags 0x00001000 - 0x00008000 are reserved for modulation (see above) */
158 /* Upstream mode flags 0x00010000 - 0x00030000 */
160 #define kAdslCfgUpstreamModeMask 0x00030000
161 #define kAdslCfgUpstreamMax 0x00000000
162 #define kAdslCfgUpstreamSingle 0x00010000
163 #define kAdslCfgUpstreamDouble 0x00020000
164 #define kAdslCfgUpstreamTriple 0x00030000
166 #define kAdslCfgNoSpectrumOverlap 0x00040000
168 /* Pwm sync clock configuration */
170 #define kAdslCfgPwmSyncClockMask 0x00080000
171 #define kAdslCfgPwmSyncClockOn 0x00080000
172 #define kAdslCfgPwmSyncClockOff 0x00000000
174 #define kAdslCfgDemodCap2Mask 0x00100000
175 #define kAdslCfgDemodCap2On 0x00100000
176 #define kAdslCfgDemodCap2Off 0x00000000
178 #define kAdslCfgDefaultTrainingMargin -1
179 #define kAdslCfgDefaultShowtimeMargin -1
180 #define kAdslCfgDefaultLOMTimeThld -1
182 /* ADSL2 parameters */
184 #define kAdsl2CfgReachExOn 0x00000001
185 #define kAdsl2CfgAnnexMEnabled 0x00000002
187 #define kAdsl2CfgAnnexMPsdShift 2
188 #define kAdsl2CfgAnnexMPsdBits 12
189 #define kAdsl2CfgAnnexMPsdMask (0xFFF << kAdsl2CfgAnnexMPsdShift)
191 #if (((1 << kAdsl2CfgAnnexMPsdBits) - 1) != (kAdsl2CfgAnnexMPsdMask >> kAdsl2CfgAnnexMPsdShift))
192 #error Inconsistent kAdsl2CfgAnnexM definitions
195 #define kAdsl2CfgAnnexMUp32 (0x00000001 << kAdsl2CfgAnnexMPsdShift)
196 #define kAdsl2CfgAnnexMUp36 (0x00000002 << kAdsl2CfgAnnexMPsdShift)
197 #define kAdsl2CfgAnnexMUp40 (0x00000004 << kAdsl2CfgAnnexMPsdShift)
198 #define kAdsl2CfgAnnexMUp44 (0x00000008 << kAdsl2CfgAnnexMPsdShift)
199 #define kAdsl2CfgAnnexMUp48 (0x00000010 << kAdsl2CfgAnnexMPsdShift)
200 #define kAdsl2CfgAnnexMUp52 (0x00000020 << kAdsl2CfgAnnexMPsdShift)
201 #define kAdsl2CfgAnnexMUp56 (0x00000040 << kAdsl2CfgAnnexMPsdShift)
202 #define kAdsl2CfgAnnexMUp60 (0x00000080 << kAdsl2CfgAnnexMPsdShift)
203 #define kAdsl2CfgAnnexMUp64 (0x00000100 << kAdsl2CfgAnnexMPsdShift)
204 #define kAdsl2CfgAnnexMCustomPsd (0x00000200 << kAdsl2CfgAnnexMPsdShift)
206 #define kAdsl2CfgAnnexLShift (2 + kAdsl2CfgAnnexMPsdBits)
207 #define kAdsl2CfgAnnexLMask (0x7 << kAdsl2CfgAnnexLShift)
209 #define kAdsl2CfgAnnexLUpWide (0x00000001 << kAdsl2CfgAnnexLShift)
210 #define kAdsl2CfgAnnexLUpNarrow (0x00000002 << kAdsl2CfgAnnexLShift)
211 #define kAdsl2CfgAnnexLDnOvlap (0x00000004 << kAdsl2CfgAnnexLShift)
213 typedef struct _adslCfgProfile {
214 long adslAnnexCParam;
215 long adslAnnexAParam;
216 long adslTrainingMarginQ4;
217 long adslShowtimeMarginQ4;
218 long adslLOMTimeThldSec;
219 long adslDemodCapMask;
220 long adslDemodCapValue;
222 long adslPwmSyncClockFreq;
223 long adslHsModeSwitchTime;
224 long adslDemodCap2Mask;
225 long adslDemodCap2Value;
230 ** ADSL PHY configuration
234 typedef struct _adslPhyCfg {
241 ** ADSL version info parameters
245 #define kAdslVersionStringSize 32
247 #define kAdslTypeUnknown 0
248 #define kAdslTypeAnnexA 1
249 #define kAdslTypeAnnexB 2
250 #define kAdslTypeAnnexC 3
251 #define kAdslTypeSADSL 4
253 typedef struct _adslVersionInfo {
254 unsigned short phyType;
255 unsigned short phyMjVerNum;
256 unsigned short phyMnVerNum;
257 char phyVerStr[kAdslVersionStringSize];
258 unsigned short drvMjVerNum;
259 unsigned short drvMnVerNum;
260 char drvVerStr[kAdslVersionStringSize];
265 ** ADSL self-test parameters
269 #define kAdslSelfTestLMEM 0x00000001
270 #define kAdslSelfTestSDRAM 0x00000002
271 #define kAdslSelfTestAFE 0x00000004
272 #define kAdslSelfTestQproc 0x00000008
273 #define kAdslSelfTestRS 0x00000010
274 #define kAdslSelfTestHostDma 0x00000020
276 #define kAdslSelfTestAll ((kAdslSelfTestHostDma - 1) | kAdslSelfTestHostDma)
278 #define kAdslSelfTestInProgress 0x40000000
279 #define kAdslSelfTestCompleted 0x80000000
281 /* MIB OID's for ADSL objects */
283 #define kOidMaxObjLen 80
286 #define kOidAdslInterleave 124
287 #define kOidAdslFast 125
289 #define kOidAdslPrivate 255
290 #define kOidAdslPrivatePartial 254
292 #define kAdslMibAnnexAToneNum 256
293 #define kAdslMibToneNum kAdslMibAnnexAToneNum
294 #define kAdslMibMaxToneNum kAdslMibAnnexAToneNum*2*2
296 #define kOidAdslPrivSNR 1
297 #define kOidAdslPrivBitAlloc 2
298 #define kOidAdslPrivGain 3
299 #define kOidAdslPrivShowtimeMargin 4
300 #define kOidAdslPrivChanCharLin 5
301 #define kOidAdslPrivChanCharLog 6
302 #define kOidAdslPrivQuietLineNoise 7
303 #ifdef ADSL_MIBOBJ_PLN
304 #define kOidAdslPrivPLNDurationBins 8
305 #define kOidAdslPrivPLNIntrArvlBins 9
306 #define kOidAdslPrivPLNValueps 10
307 #define kOidAdslPrivPLNThldCntps 11
308 #define kOidAdslPrivPLNDurationHist 12
309 #define kOidAdslPrivPLNIntrArvlHist 13
311 #define kOidAdslPrivNLDistNoise 14
312 #define kOidAdslPrivExtraInfo 255
314 #define kOidAdslLine 1
315 #define kOidAdslMibObjects 1
317 #define kOidAdslLineTable 1
318 #define kOidAdslLineEntry 1
319 #define kOidAdslLineCoding 1
320 #define kOidAdslLineType 2
321 #define kOidAdslLineSpecific 3
322 #define kOidAdslLineConfProfile 4
323 #define kOidAdslLineAlarmConfProfile 5
325 #define kOidAdslAtucPhysTable 2
326 #define kOidAdslAturPhysTable 3
327 #define kOidAdslPhysEntry 1
328 #define kOidAdslPhysInvSerialNumber 1
329 #define kOidAdslPhysInvVendorID 2
330 #define kOidAdslPhysInvVersionNumber 3
331 #define kOidAdslPhysCurrSnrMgn 4
332 #define kOidAdslPhysCurrAtn 5
333 #define kOidAdslPhysCurrStatus 6
334 #define kOidAdslPhysCurrOutputPwr 7
335 #define kOidAdslPhysCurrAttainableRate 8
337 #define kOidAdslAtucChanTable 4
338 #define kOidAdslAturChanTable 5
339 #define kOidAdslChanEntry 1
340 #define kOidAdslChanInterleaveDelay 1
341 #define kOidAdslChanCurrTxRate 2
342 #define kOidAdslChanPrevTxRate 3
343 #define kOidAdslChanCrcBlockLength 4
345 #define kOidAdslAtucPerfDataTable 6
346 #define kOidAdslAturPerfDataTable 7
347 #define kOidAdslPerfDataEntry 1
348 #define kOidAdslPerfLofs 1
349 #define kOidAdslPerfLoss 2
350 #define kOidAdslPerfLprs 3
351 #define kOidAdslPerfESs 4
352 #define kOidAdslPerfValidIntervals 5
353 #define kOidAdslPerfInvalidIntervals 6
354 #define kOidAdslPerfCurr15MinTimeElapsed 7
355 #define kOidAdslPerfCurr15MinLofs 8
356 #define kOidAdslPerfCurr15MinLoss 9
357 #define kOidAdslPerfCurr15MinLprs 10
358 #define kOidAdslPerfCurr15MinESs 11
359 #define kOidAdslPerfCurr1DayTimeElapsed 12
360 #define kOidAdslPerfCurr1DayLofs 13
361 #define kOidAdslPerfCurr1DayLoss 14
362 #define kOidAdslPerfCurr1DayLprs 15
363 #define kOidAdslPerfCurr1DayESs 16
364 #define kOidAdslPerfPrev1DayMoniSecs 17
365 #define kOidAdslPerfPrev1DayLofs 18
366 #define kOidAdslPerfPrev1DayLoss 19
367 #define kOidAdslPerfPrev1DayLprs 20
368 #define kOidAdslPerfPrev1DayESs 21
370 #define kOidAdslAtucPerfIntervalTable 8
371 #define kOidAdslAturPerfIntervalTable 9
372 #define kOidAdslPerfIntervalEntry 1
373 #define kOidAdslIntervalNumber 1
374 #define kOidAdslIntervalLofs 2
375 #define kOidAdslIntervalLoss 3
376 #define kOidAdslIntervalLprs 4
377 #define kOidAdslIntervalESs 5
378 #define kOidAdslIntervalValidData 6
380 #define kOidAdslAtucChanPerfTable 10
381 #define kOidAdslAturChanPerfTable 11
382 #define kOidAdslChanPerfEntry 1
383 #define kOidAdslChanReceivedBlks 1
384 #define kOidAdslChanTransmittedBlks 2
385 #define kOidAdslChanCorrectedBlks 3
386 #define kOidAdslChanUncorrectBlks 4
387 #define kOidAdslChanPerfValidIntervals 5
388 #define kOidAdslChanPerfInvalidIntervals 6
389 #define kOidAdslChanPerfCurr15MinTimeElapsed 7
390 #define kOidAdslChanPerfCurr15MinReceivedBlks 8
391 #define kOidAdslChanPerfCurr15MinTransmittedBlks 9
392 #define kOidAdslChanPerfCurr15MinCorrectedBlks 10
393 #define kOidAdslChanPerfCurr15MinUncorrectBlks 11
394 #define kOidAdslChanPerfCurr1DayTimeElapsed 12
395 #define kOidAdslChanPerfCurr1DayReceivedBlks 13
396 #define kOidAdslChanPerfCurr1DayTransmittedBlks 14
397 #define kOidAdslChanPerfCurr1DayCorrectedBlks 15
398 #define kOidAdslChanPerfCurr1DayUncorrectBlks 16
399 #define kOidAdslChanPerfPrev1DayMoniSecs 17
400 #define kOidAdslChanPerfPrev1DayReceivedBlks 18
401 #define kOidAdslChanPerfPrev1DayTransmittedBlks 19
402 #define kOidAdslChanPerfPrev1DayCorrectedBlks 20
403 #define kOidAdslChanPerfPrev1DayUncorrectBlks 21
405 #define kOidAdslAtucChanIntervalTable 12
406 #define kOidAdslAturChanIntervalTable 13
407 #define kOidAdslChanIntervalEntry 1
408 #define kOidAdslChanIntervalNumber 1
409 #define kOidAdslChanIntervalReceivedBlks 2
410 #define kOidAdslChanIntervalTransmittedBlks 3
411 #define kOidAdslChanIntervalCorrectedBlks 4
412 #define kOidAdslChanIntervalUncorrectBlks 5
413 #define kOidAdslChanIntervalValidData 6
415 #define kOidAtmMibObjects 1
416 #define kOidAtmTcTable 4
417 #define kOidAtmTcEntry 1
418 #define kOidAtmOcdEvents 1
419 #define kOidAtmAlarmState 2
421 /* Adsl Channel coding */
423 #define kAdslRcvDir 0
424 #define kAdslXmtDir 1
426 #define kAdslRcvActive (1 << kAdslRcvDir)
427 #define kAdslXmtActive (1 << kAdslXmtDir)
429 #define kAdslIntlChannel 0
430 #define kAdslFastChannel 1
432 #define kAdslTrellisOff 0
433 #define kAdslTrellisOn 1
434 #define kAdsl2TrellisRxEnabled 0x1
435 #define kAdsl2TrellisTxEnabled 0x2
437 /* AnnexC modulation and bitmap types for the field (adslConnection.modType) */
439 #define kAdslModMask 0x7
441 #define kAdslModGdmt 0
442 #define kAdslModT1413 1
443 #define kAdslModGlite 2
444 #define kAdslModAnnexI 3
445 #define kAdslModAdsl2 4
446 #define kAdslModAdsl2p 5
447 #define kAdslModReAdsl2 6
449 #define kAdslBitmapShift 3
450 #define kAdslBitmapMask kAdslCfgBitmapMask
451 #define kAdslDBM (0 << kAdslBitmapShift)
452 #define kAdslFBM (1 << kAdslBitmapShift)
453 #define kAdslFBMSoL (2 << kAdslBitmapShift)
455 #define kAdslUpstreamModeShift 5
456 #define kAdslUpstreamModeMask (3 << kAdslUpstreamModeShift)
457 #define kAdslUpstreamModeSingle (0 << kAdslUpstreamModeShift)
458 #define kAdslUpstreamModeDouble (1 << kAdslUpstreamModeShift)
459 #define kAdslUpstreamModeTriple (2 << kAdslUpstreamModeShift)
461 /* AdslLineCodingType definitions */
463 #define kAdslLineCodingOther 1
464 #define kAdslLineCodingDMT 2
465 #define kAdslLineCodingCAP 3
466 #define kAdslLineCodingQAM 4
468 /* AdslLineType definitions */
470 #define kAdslLineTypeNoChannel 1
471 #define kAdslLineTypeFastOnly 2
472 #define kAdslLineTypeIntlOnly 3
473 #define kAdslLineTypeFastOrIntl 4
474 #define kAdslLineTypeFastAndIntl 5
476 typedef struct _adslLineEntry {
477 unsigned char adslLineCoding;
478 unsigned char adslLineType;
482 /* AdslPhys status definitions */
484 #define kAdslPhysStatusNoDefect (1 << 0)
485 #define kAdslPhysStatusLOF (1 << 1) /* lossOfFraming (not receiving valid frame) */
486 #define kAdslPhysStatusLOS (1 << 2) /* lossOfSignal (not receiving signal) */
487 #define kAdslPhysStatusLPR (1 << 3) /* lossOfPower */
488 #define kAdslPhysStatusLOSQ (1 << 4) /* lossOfSignalQuality */
489 #define kAdslPhysStatusLOM (1 << 5) /* lossOfMargin */
491 #define kAdslPhysVendorIdLen 8
492 #define kAdslPhysSerialNumLen 32
493 #define kAdslPhysVersionNumLen 32
495 typedef struct _adslPhysEntry {
499 long adslCurrOutputPwr;
500 long adslCurrAttainableRate;
502 long adslHlinScaleFactor;
503 long adslLDCompleted;
504 char adslVendorID[kAdslPhysVendorIdLen];
507 typedef struct _adslFullPhysEntry {
508 char adslSerialNumber[kAdslPhysSerialNumLen];
509 char adslVendorID[kAdslPhysVendorIdLen];
510 char adslVersionNumber[kAdslPhysVersionNumLen];
514 long adslCurrOutputPwr;
515 long adslCurrAttainableRate;
517 long adslHlinScaleFactor;
520 /* Adsl channel entry definitions */
522 typedef struct _adslChanEntry {
523 unsigned long adslChanIntlDelay;
524 unsigned long adslChanCurrTxRate;
525 unsigned long adslChanPrevTxRate;
526 unsigned long adslChanCrcBlockLength;
529 /* Adsl performance data definitions */
531 typedef struct _adslPerfCounters {
532 unsigned long adslLofs;
533 unsigned long adslLoss;
534 unsigned long adslLols; /* Loss of Link failures (ATUC only) */
535 unsigned long adslLprs;
536 unsigned long adslESs; /* Count of Errored Seconds */
537 unsigned long adslInits; /* Count of Line initialization attempts (ATUC only) */
538 unsigned long adslUAS; /* Count of Unavailable Seconds */
539 unsigned long adslSES; /* Count of Severely Errored Seconds */
540 unsigned long adslLOSS; /* Count of LOS seconds */
541 unsigned long adslFECs; /* Count of FEC seconds */
542 unsigned long adslLCDS; /* Count of LCD Errored Seconds */
545 typedef struct _adslFailureCounters {
546 unsigned long adslRetr; /* Count of total retrains */
547 unsigned long adslRetrLof; /* Count of retrains due to LOF */
548 unsigned long adslRetrLos; /* Count of retrains due to LOS */
549 unsigned long adslRetrLpr; /* Count of retrains due to LPR */
550 unsigned long adslRetrLom; /* Count of retrains due to LOM */
551 unsigned long adslInitErr; /* Count of training failures */
552 unsigned long adslInitTo; /* Count of training timeouts */
553 unsigned long adslLineSearch; /* Count of line search inits */
554 } adslFailureCounters;
556 typedef struct _adslPerfDataEntry {
557 adslPerfCounters perfTotal;
558 adslPerfCounters perfSinceShowTime;
559 unsigned long adslPerfValidIntervals;
560 unsigned long adslPerfInvalidIntervals;
561 adslPerfCounters perfCurr15Min;
562 unsigned long adslPerfCurr15MinTimeElapsed;
563 adslPerfCounters perfCurr1Day;
564 unsigned long adslPerfCurr1DayTimeElapsed;
565 adslPerfCounters perfPrev1Day;
566 unsigned long adslAturPerfPrev1DayMoniSecs;
567 adslFailureCounters failTotal;
568 adslFailureCounters failSinceShowTime;
571 #define kAdslMibPerfIntervals 4
573 /* Adsl channel performance data definitions */
575 typedef struct _adslChanCounters {
576 unsigned long adslChanReceivedBlks;
577 unsigned long adslChanTransmittedBlks;
578 unsigned long adslChanCorrectedBlks;
579 unsigned long adslChanUncorrectBlks;
582 typedef struct _adslChanPerfDataEntry {
583 adslChanCounters perfTotal;
584 unsigned long adslChanPerfValidIntervals;
585 unsigned long adslChanPerfInvalidIntervals;
586 adslChanCounters perfCurr15Min;
587 unsigned long adslPerfCurr15MinTimeElapsed;
588 adslChanCounters perfCurr1Day;
589 unsigned long adslPerfCurr1DayTimeElapsed;
590 adslChanCounters perfPrev1Day;
591 unsigned long adslAturPerfPrev1DayMoniSecs;
592 } adslChanPerfDataEntry;
595 typedef struct _adslNonLinearityData{
596 unsigned short maxCriticalDistNoise;
597 unsigned short distAffectedBits;
598 } adslNonLinearityData;
600 #ifdef ADSL_MIBOBJ_PLN
601 typedef struct _adslPLNDataEntry {
603 unsigned long PLNThldBB;
604 unsigned long PLNThldPerTone;
606 char PLNNbIntArrBins;
607 unsigned long PLNPerToneCounter;
608 unsigned long PLNBBCounter;
613 #define kAdslMibChanPerfIntervals 4
615 /* Adsl trap threshold definitions */
617 #define kAdslEventLinkChange 0x001
618 #define kAdslEventRateChange 0x002
619 #define kAdslEventLofThresh 0x004
620 #define kAdslEventLosThresh 0x008
621 #define kAdslEventLprThresh 0x010
622 #define kAdslEventESThresh 0x020
623 #define kAdslEventFastUpThresh 0x040
624 #define kAdslEventIntlUpThresh 0x080
625 #define kAdslEventFastDownThresh 0x100
626 #define kAdslEventIntlDwonThresh 0x200
628 typedef struct _adslThreshCounters {
629 unsigned long adslThreshLofs;
630 unsigned long adslThreshLoss;
631 unsigned long adslThreshLols; /* Loss of Link failures (ATUC only) */
632 unsigned long adslThreshLprs;
633 unsigned long adslThreshESs;
634 unsigned long adslThreshFastRateUp;
635 unsigned long adslThreshIntlRateUp;
636 unsigned long adslThreshFastRateDown;
637 unsigned long adslThreshIntlRateDown;
638 } adslThreshCounters;
641 /* Atm PHY performance data definitions */
643 #define kAtmPhyStateNoAlarm 1
644 #define kAtmPhyStateLcdFailure 2
646 typedef struct _atmPhyDataEntrty {
647 unsigned long atmInterfaceOCDEvents;
648 unsigned long atmInterfaceTCAlarmState;
651 typedef struct _adslBertResults {
652 unsigned long bertTotalBits;
653 unsigned long bertErrBits;
661 typedef struct _adslBertStatusEx {
662 unsigned long bertSecTotal;
663 unsigned long bertSecElapsed;
664 unsigned long bertSecCur;
669 typedef struct _adslDataConnectionInfo {
671 unsigned char S, R, D;
672 } adslDataConnectionInfo;
674 typedef struct _adslConnectionInfo {
675 unsigned char chType; /* fast or interleaved */
676 unsigned char modType; /* modulation type: G.DMT or T1.413 */
677 unsigned char trellisCoding; /* off(0) or on(1) */
678 adslDataConnectionInfo rcvInfo;
679 adslDataConnectionInfo xmtInfo;
680 unsigned char trellisCoding2;
681 } adslConnectionInfo;
683 typedef struct _adsl2DataConnectionInfo {
695 } adsl2DataConnectionInfo;
697 /* ADSL2 connection parameters */
699 #define kAdsl2ModeAnnexMask 0xF
701 #define kAdsl2ModeAnnexMUp32 1
702 #define kAdsl2ModeAnnexMUp36 2
703 #define kAdsl2ModeAnnexMUp40 3
704 #define kAdsl2ModeAnnexMUp44 4
705 #define kAdsl2ModeAnnexMUp48 5
706 #define kAdsl2ModeAnnexMUp52 6
707 #define kAdsl2ModeAnnexMUp56 7
708 #define kAdsl2ModeAnnexMUp60 8
709 #define kAdsl2ModeAnnexMUp64 9
711 #define kAdsl2ModeAnnexLShift 4
712 #define kAdsl2ModeAnnexLMask (0x3 << kAdsl2ModeAnnexLShift)
714 #define kAdsl2ModeAnnexLUpMask (0x00000001 << kAdsl2ModeAnnexLShift)
715 #define kAdsl2ModeAnnexLUpWide (0x00000000 << kAdsl2ModeAnnexLShift)
716 #define kAdsl2ModeAnnexLUpNarrow (0x00000001 << kAdsl2ModeAnnexLShift)
718 #define kAdsl2ModeAnnexLDnMask (0x00000002 << kAdsl2ModeAnnexLShift)
719 #define kAdsl2ModeAnnexLDnNonOvlap (0x00000000 << kAdsl2ModeAnnexLShift)
720 #define kAdsl2ModeAnnexLDnOvlap (0x00000002 << kAdsl2ModeAnnexLShift)
722 typedef struct _adsl2ConnectionInfo {
726 unsigned char pwrState; /* Lx state: x = 0..3 */
727 adsl2DataConnectionInfo rcv2Info;
728 adsl2DataConnectionInfo xmt2Info;
729 } adsl2ConnectionInfo;
731 typedef struct _adslConnectionDataStat {
733 unsigned long cntRSCor;
734 unsigned long cntRSUncor;
736 unsigned long cntSFErr;
737 } adslConnectionDataStat;
739 typedef struct _adslConnectionStat {
740 adslConnectionDataStat rcvStat;
741 adslConnectionDataStat xmtStat;
742 } adslConnectionStat;
744 typedef struct _atmConnectionDataStat {
745 unsigned long cntHEC;
746 unsigned long cntOCD;
747 unsigned long cntLCD;
749 unsigned long cntCellTotal;
750 unsigned long cntCellData;
751 unsigned long cntCellDrop;
752 unsigned long cntBitErrs;
753 } atmConnectionDataStat;
755 typedef struct _atmConnectionStat {
756 atmConnectionDataStat rcvStat;
757 atmConnectionDataStat xmtStat;
760 #define kAdslFramingModeMask 0x0F
761 #define kAtmFramingModeMask 0xF0
762 #define kAtmHeaderCompression 0x80
766 typedef struct _adslDiagModeData {
772 long hlinScaleFactor;
775 /* AdslMibGetObjectValue return codes */
777 #define kAdslMibStatusSuccess 0
778 #define kAdslMibStatusFailure -1
779 #define kAdslMibStatusNoObject -2
780 #define kAdslMibStatusObjectInvalid -3
781 #define kAdslMibStatusBufferTooSmall -4
782 #define kAdslMibStatusLastError -4
784 /* Adsl training codes */
786 #define kAdslTrainingIdle 0
787 #define kAdslTrainingG994 1
788 #define kAdslTrainingG992Started 2
789 #define kAdslTrainingG992ChanAnalysis 3
790 #define kAdslTrainingG992Exchange 4
791 #define kAdslTrainingConnected 5
793 /* Global info structure */
795 typedef struct _adslMibInfo {
796 adslLineEntry adslLine;
797 adslPhysEntry adslPhys;
798 adslChanEntry adslChanIntl;
799 adslChanEntry adslChanFast;
800 adslPerfDataEntry adslPerfData;
801 adslPerfCounters adslPerfIntervals[kAdslMibPerfIntervals];
802 adslChanPerfDataEntry adslChanIntlPerfData;
803 adslChanPerfDataEntry adslChanFastPerfData;
804 adslChanCounters adslChanIntlPerfIntervals[kAdslMibChanPerfIntervals];
805 adslChanCounters adslChanFastPerfIntervals[kAdslMibChanPerfIntervals];
807 adslThreshCounters adslAlarm;
809 atmPhyDataEntrty adslChanIntlAtmPhyData;
810 atmPhyDataEntrty adslChanFastAtmPhyData;
812 adslBertResults adslBertRes;
814 adslConnectionInfo adslConnection;
815 adslConnectionStat adslStat;
816 adslConnectionStat adslStatSincePowerOn;
817 unsigned char adslTrainingState;
818 atmConnectionStat atmStat;
819 atmConnectionStat atmStatSincePowerOn;
821 adslFullPhysEntry adslAtucPhys;
822 unsigned char adslRxNonStdFramingAdjustK;
823 unsigned char adslFramingMode;
824 adslBertStatusEx adslBertStatus;
827 adslDiagModeData adslDiag;
828 adsl2ConnectionInfo adsl2Info;
829 adslPerfCounters adslTxPerfTotal;
830 adslPerfCounters adslTxPerfLast15Min;
831 adslPerfCounters adslTxPerfLast1Day;
832 adslNonLinearityData adslNonLinData;
833 #ifdef ADSL_MIBOBJ_PLN
834 adslPLNDataEntry adslPLNData;
838 #if defined(__cplusplus)
842 #endif /* AdslMibDefHeader */