4f503d79451245d14438aab04b60297e6629e107
[bcm963xx.git] / bcmdrivers / broadcom / include / bcm963xx / AdslMibDef.h
1 /*
2 <:copyright-broadcom 
3  
4  Copyright (c) 2002 Broadcom Corporation 
5  All Rights Reserved 
6  No portions of this material may be reproduced in any form without the 
7  written permission of: 
8           Broadcom Corporation 
9           16215 Alton Parkway 
10           Irvine, California 92619 
11  All information contained in this document is Broadcom Corporation 
12  company private, proprietary, and trade secret. 
13  
14 :>
15 */
16 /****************************************************************************
17  *
18  * AdslMibOid.h 
19  *
20  * Description:
21  *      SNMP object identifiers for ADSL MIB and other related MIBs
22  *
23  * Copyright (c) 1993-1998 AltoCom, Inc. All rights reserved.
24  * Authors: Ilya Stomakhin
25  *
26  * $Revision: 1.17 $
27  *
28  * $Id: AdslMibDef.h,v 1.17 2004/07/27 19:24:40 ilyas Exp $
29  *
30  * $Log: AdslMibDef.h,v $
31  * Revision 1.17  2004/07/27 19:24:40  ilyas
32  * Added AnnexM configuration option
33  *
34  * Revision 1.16  2004/06/04 18:56:01  ilyas
35  * Added counter for ADSL2 framing and performance
36  *
37  * Revision 1.15  2004/05/25 16:15:04  ilyas
38  * Added ADSL2 framing status
39  *
40  * Revision 1.14  2004/03/31 19:09:48  ilyas
41  * Added ADSL2+ modulation control
42  *
43  * Revision 1.13  2004/03/03 20:14:05  ilyas
44  * Merged changes for ADSL2+ from ADSL driver
45  *
46  * Revision 1.12  2003/10/17 21:02:12  ilyas
47  * Added more data for ADSL2
48  *
49  * Revision 1.11  2003/10/14 00:55:27  ilyas
50  * Added UAS, LOSS, SES error seconds counters.
51  * Support for 512 tones (AnnexI)
52  *
53  * Revision 1.10  2003/09/29 18:39:51  ilyas
54  * Added new definitions for AnnexI
55  *
56  * Revision 1.9  2003/07/18 19:14:34  ilyas
57  * Merged with ADSL driver
58  *
59  * Revision 1.8  2003/07/08 18:34:16  ilyas
60  * Added fields to adsl configuration structure
61  *
62  * Revision 1.7  2003/03/25 00:07:00  ilyas
63  * Added "long" BERT supprt
64  *
65  * Revision 1.6  2003/02/27 07:10:52  ilyas
66  * Added more configuration and status parameters (for EFNT)
67  *
68  * Revision 1.5  2003/01/23 20:29:37  ilyas
69  * Added structure for ADSL PHY configuration command
70  *
71  * Revision 1.4  2002/11/13 21:32:49  ilyas
72  * Added adjustK support for Centillium non-standard framing mode
73  *
74  * Revision 1.3  2002/10/31 01:35:50  ilyas
75  * Fixed size of K for S=1/2
76  *
77  * Revision 1.2  2002/10/05 03:28:31  ilyas
78  * Added extra definitions for Linux and VxWorks drivers.
79  * Added definitions for SelfTest support
80  *
81  * Revision 1.1  2002/07/20 00:51:41  ilyas
82  * Merged witchanges made for VxWorks/Linux driver.
83  *
84  * Revision 1.1  2001/12/21 22:39:30  ilyas
85  * Added support for ADSL MIB data objects (RFC2662)
86  *
87  *
88  *****************************************************************************/
89
90 #ifndef AdslMibDefHeader
91 #define AdslMibDefHeader
92
93 #if defined(__cplusplus)
94 extern "C" {
95 #endif
96
97 /* 
98 **
99 **              ADSL configuration parameters 
100 **
101 */
102
103 #define kAdslCfgModMask                                         (0x00000007 | 0x0000F000)
104 #define kAdslCfgModAny                                          0x00000000
105
106 #define kAdslCfgModGdmtOnly                                     0x00000001
107 #define kAdslCfgModGliteOnly                            0x00000002
108 #define kAdslCfgModT1413Only                            0x00000004
109 #define kAdslCfgModAnnexIOnly                           0x00000004
110 #define kAdslCfgModAdsl2Only                            0x00001000
111 #define kAdslCfgModAdsl2pOnly                           0x00002000
112
113 #define kAdslCfgBitmapMask                                      0x00000018
114 #define kAdslCfgDBM                                                     0x00000000
115 #define kAdslCfgFBM                                                     0x00000008
116 #define kAdslCfgFBMSoL                                          0x00000010
117
118 #define kAdslCfgLinePairMask                            0x00000020
119 #define kAdslCfgLineInnerPair                           0x00000000
120 #define kAdslCfgLineOuterPair                           0x00000020
121
122 #define kAdslCfgCentilliumCRCWorkAroundMask                     0x00000040
123 #define kAdslCfgCentilliumCRCWorkAroundDisabled         0x00000000
124 #define kAdslCfgCentilliumCRCWorkAroundEnabled          0x00000040
125
126 #define kAdslCfgExtraData                                       0x00000080
127 #define kAdslCfgTrellisMask                                     (0x00000100 | kAdslCfgExtraData)
128 #define kAdslCfgTrellisOn                                       (0x00000100 | kAdslCfgExtraData)
129 #define kAdslCfgTrellisOff                                      (0 | kAdslCfgExtraData)
130 #define kAdslCfgExtraMask                                       0xFFFFFF80
131
132 #define kAdslCfgLOSMonitoringMask                       0x00000200
133 #define kAdslCfgLOSMonitoringOff                        0x00000200
134 #define kAdslCfgLOSMonitoringOn                         0x00000000
135
136 #define kAdslCfgMarginMonitoringMask            0x00000400
137 #define kAdslCfgMarginMonitoringOn                      0x00000400
138 #define kAdslCfgMarginMonitoringOff                     0x00000000
139
140 #define kAdslCfgDemodCapMask                            0x00000800
141 #define kAdslCfgDemodCapOn                                      0x00000800
142 #define kAdslCfgDemodCapOff                                     0x00000000
143
144 /* Flags 0x00001000 - 0x00008000 are reserved for modulation (see above) */
145
146 /* Upstream mode flags 0x00010000 - 0x00030000 */
147
148 #define kAdslCfgUpstreamModeMask                        0x00030000
149 #define kAdslCfgUpstreamMax                                     0x00000000
150 #define kAdslCfgUpstreamSingle                          0x00010000
151 #define kAdslCfgUpstreamDouble                          0x00020000
152 #define kAdslCfgUpstreamTriple                          0x00030000
153
154 #define kAdslCfgNoSpectrumOverlap                       0x00040000
155
156 /* Pwm sync clock configuration */
157
158 #define kAdslCfgPwmSyncClockMask                        0x00080000
159 #define kAdslCfgPwmSyncClockOn                          0x00080000
160 #define kAdslCfgPwmSyncClockOff                         0x00000000
161
162 #define kAdslCfgDefaultTrainingMargin           -1
163 #define kAdslCfgDefaultShowtimeMargin           -1
164 #define kAdslCfgDefaultLOMTimeThld                      -1
165
166 /* ADSL2 parameters */
167
168 #define kAdsl2CfgReachExOn                                      0x00000001
169 #define kAdsl2CfgAnnexMEnabled                          0x00000002
170
171 typedef struct _adslCfgProfile {
172         long            adslAnnexCParam;
173         long            adslAnnexAParam;
174         long            adslTrainingMarginQ4;
175         long            adslShowtimeMarginQ4;
176         long            adslLOMTimeThldSec;
177         long            adslDemodCapMask;
178         long            adslDemodCapValue;
179         long            adsl2Param;
180         long            adslPwmSyncClockFreq;
181 } adslCfgProfile;
182
183 /* 
184 **
185 **              ADSL PHY configuration
186 **
187 */
188
189 typedef struct _adslPhyCfg {
190         long            demodCapMask;
191         long            demodCap;
192 } adslPhyCfg;
193
194 /* 
195 **
196 **              ADSL version info parameters 
197 **
198 */
199
200 #define kAdslVersionStringSize                          32
201
202 #define kAdslTypeUnknown                                        0
203 #define kAdslTypeAnnexA                                         1
204 #define kAdslTypeAnnexB                                         2
205 #define kAdslTypeAnnexC                                         3
206 #define kAdslTypeSADSL                                          4
207
208 typedef struct _adslVersionInfo {
209         unsigned short  phyType;
210         unsigned short  phyMjVerNum;
211         unsigned short  phyMnVerNum;
212         char                    phyVerStr[kAdslVersionStringSize];
213         unsigned short  drvMjVerNum;
214         unsigned short  drvMnVerNum;
215         char                    drvVerStr[kAdslVersionStringSize];
216 } adslVersionInfo;
217
218 /* 
219 **
220 **              ADSL self-test parameters 
221 **
222 */
223
224 #define kAdslSelfTestLMEM                                       0x00000001
225 #define kAdslSelfTestSDRAM                                      0x00000002
226 #define kAdslSelfTestAFE                                        0x00000004
227 #define kAdslSelfTestQproc                                      0x00000008
228 #define kAdslSelfTestRS                                         0x00000010
229 #define kAdslSelfTestHostDma                            0x00000020
230
231 #define kAdslSelfTestAll                                        ((kAdslSelfTestHostDma - 1) | kAdslSelfTestHostDma)
232
233 #define kAdslSelfTestInProgress                         0x40000000
234 #define kAdslSelfTestCompleted                          0x80000000
235
236 /* MIB OID's for ADSL objects */
237
238 #define kOidMaxObjLen                                           80
239
240 #define kOidAdsl                                                        94
241 #define kOidAdslInterleave                                      124
242 #define kOidAdslFast                                            125
243 #define kOidAtm                                                         37
244 #define kOidAdslPrivate                                         255
245 #define kOidAdslPrivatePartial                          254
246
247 #define kAdslMibAnnexAToneNum                           256
248 #define kAdslMibToneNum                                         kAdslMibAnnexAToneNum
249 #define kAdslMibMaxToneNum                                      kAdslMibAnnexAToneNum*2*2
250
251 #define kOidAdslPrivSNR                                         1
252 #define kOidAdslPrivBitAlloc                            2
253 #define kOidAdslPrivGain                                        3
254 #define kOidAdslPrivShowtimeMargin                      4
255 #define kOidAdslPrivChanCharLin                         5
256 #define kOidAdslPrivChanCharLog                         6
257 #define kOidAdslPrivQuietLineNoise                      7
258 #define kOidAdslPrivExtraInfo                           255
259
260 #define kOidAdslLine                                            1
261 #define kOidAdslMibObjects                                      1
262
263 #define kOidAdslLineTable                                       1
264 #define kOidAdslLineEntry                                       1
265 #define kOidAdslLineCoding                                      1
266 #define kOidAdslLineType                                        2
267 #define kOidAdslLineSpecific                        3
268 #define kOidAdslLineConfProfile                         4
269 #define kOidAdslLineAlarmConfProfile            5
270
271 #define kOidAdslAtucPhysTable                           2
272 #define kOidAdslAturPhysTable                           3
273 #define kOidAdslPhysEntry                                       1
274 #define kOidAdslPhysInvSerialNumber             1
275 #define kOidAdslPhysInvVendorID             2
276 #define kOidAdslPhysInvVersionNumber            3
277 #define kOidAdslPhysCurrSnrMgn                  4
278 #define kOidAdslPhysCurrAtn                     5
279 #define kOidAdslPhysCurrStatus                  6
280 #define kOidAdslPhysCurrOutputPwr               7
281 #define kOidAdslPhysCurrAttainableRate          8
282
283 #define kOidAdslAtucChanTable                           4
284 #define kOidAdslAturChanTable                           5
285 #define kOidAdslChanEntry                                       1
286 #define kOidAdslChanInterleaveDelay                     1
287 #define kOidAdslChanCurrTxRate                          2
288 #define kOidAdslChanPrevTxRate                  3
289 #define kOidAdslChanCrcBlockLength              4
290
291 #define kOidAdslAtucPerfDataTable                       6
292 #define kOidAdslAturPerfDataTable                       7
293 #define kOidAdslPerfDataEntry                           1
294 #define kOidAdslPerfLofs                        1
295 #define kOidAdslPerfLoss                        2
296 #define kOidAdslPerfLprs                        3
297 #define kOidAdslPerfESs                         4
298 #define kOidAdslPerfValidIntervals          5
299 #define kOidAdslPerfInvalidIntervals            6
300 #define kOidAdslPerfCurr15MinTimeElapsed        7
301 #define kOidAdslPerfCurr15MinLofs               8
302 #define kOidAdslPerfCurr15MinLoss               9
303 #define kOidAdslPerfCurr15MinLprs               10
304 #define kOidAdslPerfCurr15MinESs                11
305 #define kOidAdslPerfCurr1DayTimeElapsed     12
306 #define kOidAdslPerfCurr1DayLofs                13
307 #define kOidAdslPerfCurr1DayLoss                14
308 #define kOidAdslPerfCurr1DayLprs                15
309 #define kOidAdslPerfCurr1DayESs                 16
310 #define kOidAdslPerfPrev1DayMoniSecs            17
311 #define kOidAdslPerfPrev1DayLofs                18
312 #define kOidAdslPerfPrev1DayLoss            19
313 #define kOidAdslPerfPrev1DayLprs                20
314 #define kOidAdslPerfPrev1DayESs                 21
315
316 #define kOidAdslAtucPerfIntervalTable           8
317 #define kOidAdslAturPerfIntervalTable           9
318 #define kOidAdslPerfIntervalEntry                       1
319 #define kOidAdslIntervalNumber                          1
320 #define kOidAdslIntervalLofs                            2
321 #define kOidAdslIntervalLoss                            3
322 #define kOidAdslIntervalLprs                            4
323 #define kOidAdslIntervalESs                                     5
324 #define kOidAdslIntervalValidData                       6
325
326 #define kOidAdslAtucChanPerfTable                                       10
327 #define kOidAdslAturChanPerfTable                                       11
328 #define kOidAdslChanPerfEntry                                           1
329 #define kOidAdslChanReceivedBlks                        1
330 #define kOidAdslChanTransmittedBlks                     2
331 #define kOidAdslChanCorrectedBlks                       3
332 #define kOidAdslChanUncorrectBlks                       4
333 #define kOidAdslChanPerfValidIntervals                  5
334 #define kOidAdslChanPerfInvalidIntervals                6
335 #define kOidAdslChanPerfCurr15MinTimeElapsed            7
336 #define kOidAdslChanPerfCurr15MinReceivedBlks           8
337 #define kOidAdslChanPerfCurr15MinTransmittedBlks        9
338 #define kOidAdslChanPerfCurr15MinCorrectedBlks          10
339 #define kOidAdslChanPerfCurr15MinUncorrectBlks          11
340 #define kOidAdslChanPerfCurr1DayTimeElapsed             12
341 #define kOidAdslChanPerfCurr1DayReceivedBlks            13
342 #define kOidAdslChanPerfCurr1DayTransmittedBlks         14
343 #define kOidAdslChanPerfCurr1DayCorrectedBlks           15
344 #define kOidAdslChanPerfCurr1DayUncorrectBlks           16
345 #define kOidAdslChanPerfPrev1DayMoniSecs                17
346 #define kOidAdslChanPerfPrev1DayReceivedBlks            18
347 #define kOidAdslChanPerfPrev1DayTransmittedBlks         19
348 #define kOidAdslChanPerfPrev1DayCorrectedBlks           20
349 #define kOidAdslChanPerfPrev1DayUncorrectBlks           21
350
351 #define kOidAdslAtucChanIntervalTable                           12
352 #define kOidAdslAturChanIntervalTable                           13
353 #define kOidAdslChanIntervalEntry                                       1
354 #define kOidAdslChanIntervalNumber                                      1
355 #define kOidAdslChanIntervalReceivedBlks                2
356 #define kOidAdslChanIntervalTransmittedBlks             3
357 #define kOidAdslChanIntervalCorrectedBlks               4
358 #define kOidAdslChanIntervalUncorrectBlks               5
359 #define kOidAdslChanIntervalValidData                   6
360
361 #define kOidAtmMibObjects               1
362 #define kOidAtmTcTable                  4
363 #define kOidAtmTcEntry                  1
364 #define kOidAtmOcdEvents                1
365 #define kOidAtmAlarmState               2
366
367 /* Adsl Channel coding */
368
369 #define kAdslRcvDir                     0
370 #define kAdslXmtDir                     1
371
372 #define kAdslRcvActive          (1 << kAdslRcvDir)
373 #define kAdslXmtActive          (1 << kAdslXmtDir)
374
375 #define kAdslIntlChannel        0
376 #define kAdslFastChannel        1
377
378 #define kAdslTrellisOff         0
379 #define kAdslTrellisOn          1
380
381 /* AnnexC modulation and bitmap types for the field (adslConnection.modType) */
382
383 #define kAdslModMask            0x7
384
385 #define kAdslModGdmt            0
386 #define kAdslModT1413           1
387 #define kAdslModGlite           2
388 #define kAdslModAnnexI          3
389 #define kAdslModAdsl2           4
390 #define kAdslModAdsl2p          5
391 #define kAdslModReAdsl2         6
392
393 #define kAdslBitmapShift        3
394 #define kAdslBitmapMask         kAdslCfgBitmapMask
395 #define kAdslDBM                    (0 << kAdslBitmapShift)
396 #define kAdslFBM                    (1 << kAdslBitmapShift)
397 #define kAdslFBMSoL                     (2 << kAdslBitmapShift)
398
399 #define kAdslUpstreamModeShift          5
400 #define kAdslUpstreamModeMask           (3 << kAdslUpstreamModeShift)
401 #define kAdslUpstreamModeSingle         (0 << kAdslUpstreamModeShift)
402 #define kAdslUpstreamModeDouble         (1 << kAdslUpstreamModeShift)
403 #define kAdslUpstreamModeTriple         (2 << kAdslUpstreamModeShift)
404
405 /* AdslLineCodingType definitions */
406
407 #define kAdslLineCodingOther            1
408 #define kAdslLineCodingDMT                      2
409 #define kAdslLineCodingCAP                      3
410 #define kAdslLineCodingQAM                      4
411
412 /* AdslLineType definitions */
413
414 #define kAdslLineTypeNoChannel          1
415 #define kAdslLineTypeFastOnly           2
416 #define kAdslLineTypeIntlOnly           3
417 #define kAdslLineTypeFastOrIntl         4
418 #define kAdslLineTypeFastAndIntl        5
419
420 typedef struct _adslLineEntry {
421         unsigned char   adslLineCoding;
422         unsigned char   adslLineType;
423 } adslLineEntry;
424
425
426 /* AdslPhys status definitions */
427
428 #define kAdslPhysStatusNoDefect         (1 << 0)
429 #define kAdslPhysStatusLOF                      (1 << 1)        /* lossOfFraming (not receiving valid frame) */
430 #define kAdslPhysStatusLOS                      (1 << 2)        /* lossOfSignal (not receiving signal) */
431 #define kAdslPhysStatusLPR                      (1 << 3)        /* lossOfPower */
432 #define kAdslPhysStatusLOSQ                     (1 << 4)        /* lossOfSignalQuality */
433 #define kAdslPhysStatusLOM                      (1 << 5)        /* lossOfMargin */
434
435 typedef struct _adslPhysEntry {
436         long            adslCurrSnrMgn;
437         long            adslCurrAtn;
438         long            adslCurrStatus;
439         long            adslCurrOutputPwr;
440         long            adslCurrAttainableRate;
441 } adslPhysEntry;
442
443 #define kAdslPhysVendorIdLen            8
444 #define kAdslPhysSerialNumLen           32
445 #define kAdslPhysVersionNumLen          32
446
447 typedef struct _adslFullPhysEntry {
448         char            adslSerialNumber[kAdslPhysSerialNumLen];
449         char            adslVendorID[kAdslPhysVendorIdLen];
450         char            adslVersionNumber[kAdslPhysVersionNumLen];
451         long            adslCurrSnrMgn;
452         long            adslCurrAtn;
453         long            adslCurrStatus;
454         long            adslCurrOutputPwr;
455         long            adslCurrAttainableRate;
456 } adslFullPhysEntry;
457
458 /* Adsl channel entry definitions */
459
460 typedef struct _adslChanEntry {
461     unsigned long               adslChanIntlDelay;
462         unsigned long           adslChanCurrTxRate;
463         unsigned long           adslChanPrevTxRate;
464         unsigned long           adslChanCrcBlockLength;
465 } adslChanEntry;
466
467 /* Adsl performance data definitions */
468
469 typedef struct _adslPerfCounters {
470         unsigned long           adslLofs;
471         unsigned long           adslLoss;
472         unsigned long           adslLols;       /* Loss of Link failures (ATUC only) */
473         unsigned long           adslLprs;
474         unsigned long           adslESs;        /* Count of Errored Seconds */
475         unsigned long           adslInits;      /* Count of Line initialization attempts (ATUC only) */
476         unsigned long           adslUAS;        /* Count of Unavailable Seconds */
477         unsigned long           adslSES;        /* Count of Severely Errored Seconds */
478         unsigned long           adslLOSS;       /* Count of LOS seconds */
479         unsigned long           adslFECs;       /* Count of FEC seconds  */
480 } adslPerfCounters;
481
482 typedef struct _adslPerfDataEntry {
483         adslPerfCounters        perfTotal;
484         unsigned long                           adslPerfValidIntervals;
485         unsigned long                           adslPerfInvalidIntervals;
486         adslPerfCounters        perfCurr15Min;
487         unsigned long                           adslPerfCurr15MinTimeElapsed;
488         adslPerfCounters        perfCurr1Day;
489         unsigned long                           adslPerfCurr1DayTimeElapsed;
490         adslPerfCounters        perfPrev1Day;
491         unsigned long                           adslAturPerfPrev1DayMoniSecs;
492 } adslPerfDataEntry;
493
494 #define kAdslMibPerfIntervals           4
495
496 /* Adsl channel performance data definitions */
497
498 typedef struct _adslChanCounters {
499         unsigned long           adslChanReceivedBlks;
500         unsigned long           adslChanTransmittedBlks;
501         unsigned long           adslChanCorrectedBlks;
502         unsigned long           adslChanUncorrectBlks;
503 } adslChanCounters;
504
505 typedef struct _adslChanPerfDataEntry {
506         adslChanCounters        perfTotal;
507         unsigned long                           adslChanPerfValidIntervals;
508         unsigned long                           adslChanPerfInvalidIntervals;
509         adslChanCounters        perfCurr15Min;
510         unsigned long                           adslPerfCurr15MinTimeElapsed;
511         adslChanCounters        perfCurr1Day;
512         unsigned long                           adslPerfCurr1DayTimeElapsed;
513         adslChanCounters        perfPrev1Day;
514         unsigned long                           adslAturPerfPrev1DayMoniSecs;
515 } adslChanPerfDataEntry;
516
517 #define kAdslMibChanPerfIntervals       4
518
519 /* Adsl trap threshold definitions */
520
521 #define kAdslEventLinkChange            0x001
522 #define kAdslEventRateChange            0x002
523 #define kAdslEventLofThresh                     0x004
524 #define kAdslEventLosThresh                     0x008
525 #define kAdslEventLprThresh                     0x010
526 #define kAdslEventESThresh                      0x020
527 #define kAdslEventFastUpThresh          0x040
528 #define kAdslEventIntlUpThresh          0x080
529 #define kAdslEventFastDownThresh        0x100
530 #define kAdslEventIntlDwonThresh        0x200
531
532 typedef struct _adslThreshCounters {
533         unsigned long           adslThreshLofs;
534         unsigned long           adslThreshLoss;
535         unsigned long           adslThreshLols; /* Loss of Link failures (ATUC only) */
536         unsigned long           adslThreshLprs;
537         unsigned long           adslThreshESs;
538         unsigned long           adslThreshFastRateUp;
539         unsigned long           adslThreshIntlRateUp;
540         unsigned long           adslThreshFastRateDown;
541         unsigned long           adslThreshIntlRateDown;
542 } adslThreshCounters;
543
544
545 /* Atm PHY performance data definitions */
546
547 #define kAtmPhyStateNoAlarm                     1
548 #define kAtmPhyStateLcdFailure          2
549
550 typedef struct _atmPhyDataEntrty {
551         unsigned long           atmInterfaceOCDEvents;
552         unsigned long           atmInterfaceTCAlarmState;
553 } atmPhyDataEntrty;
554
555 typedef struct _adslBertResults {
556         unsigned long           bertTotalBits;
557         unsigned long           bertErrBits;
558 } adslBertResults;
559
560 typedef struct {
561         unsigned long           cntHi;
562         unsigned long           cntLo;
563 } cnt64;
564
565 typedef struct _adslBertStatusEx {
566         unsigned long           bertSecTotal;
567         unsigned long           bertSecElapsed;
568         unsigned long           bertSecCur;
569         cnt64                           bertTotalBits;
570         cnt64                           bertErrBits;
571 } adslBertStatusEx;
572
573 typedef struct _adslDataConnectionInfo {
574         unsigned short          K;
575         unsigned char           S, R, D;
576 } adslDataConnectionInfo;
577
578 typedef struct _adslConnectionInfo {
579         unsigned char                   chType;                         /* fast or interleaved */
580         unsigned char                   modType;                        /* modulation type: G.DMT or T1.413 */
581         unsigned char                   trellisCoding;          /* off(0) or on(1) */
582         adslDataConnectionInfo  rcvInfo;
583         adslDataConnectionInfo  xmtInfo;
584 } adslConnectionInfo;
585
586 typedef struct _adsl2DataConnectionInfo {
587         unsigned char           Nlp;
588         unsigned char           Nbc;
589         unsigned char           MSGlp;
590         unsigned short          MSGc;
591
592         unsigned long           L;
593         unsigned short          M;
594         unsigned short          T;
595         unsigned short          D;
596         unsigned short          R;
597         unsigned short          B;
598 } adsl2DataConnectionInfo;
599
600 typedef struct _adsl2ConnectionInfo {
601         long                                    adsl2Mode;
602         long                                    rcvRate;
603         long                                    xmtRate;
604         unsigned char                   pwrState;                       /* Lx state: x = 0..3 */
605         adsl2DataConnectionInfo rcv2Info;
606         adsl2DataConnectionInfo xmt2Info;
607 } adsl2ConnectionInfo;
608
609 typedef struct _adslConnectionDataStat {
610         unsigned long                   cntRS;  
611         unsigned long                   cntRSCor;       
612         unsigned long                   cntRSUncor;     
613         unsigned long                   cntSF;  
614         unsigned long                   cntSFErr;       
615 } adslConnectionDataStat;
616
617 typedef struct _adslConnectionStat {
618         adslConnectionDataStat  rcvStat;
619         adslConnectionDataStat  xmtStat;
620 } adslConnectionStat;
621
622 typedef struct _atmConnectionDataStat {
623         unsigned long                   cntHEC;
624         unsigned long                   cntOCD;
625         unsigned long                   cntLCD;
626         unsigned long                   cntES;
627         unsigned long                   cntCellTotal;
628         unsigned long                   cntCellData;
629         unsigned long                   cntCellDrop;
630         unsigned long                   cntBitErrs;
631 } atmConnectionDataStat;
632
633 typedef struct _atmConnectionStat {
634         atmConnectionDataStat   rcvStat;
635         atmConnectionDataStat   xmtStat;
636 } atmConnectionStat;
637
638 #define kAdslFramingModeMask                    0x0F
639 #define kAtmFramingModeMask                             0xF0
640 #define kAtmHeaderCompression                   0x80
641
642 /* ADSL2 data */
643
644 typedef struct _adslDiagModeData {
645         long                                    loopAttn;
646         long                                    signalAttn;
647         long                                    snrMargin;
648         long                                    attnDataRate;
649         long                                    actXmtPower;
650         long                                    hlinScaleFactor;
651 } adslDiagModeData;
652
653 /* AdslMibGetObjectValue return codes */
654
655 #define kAdslMibStatusSuccess                   0
656 #define kAdslMibStatusFailure                   -1
657 #define kAdslMibStatusNoObject                  -2
658 #define kAdslMibStatusObjectInvalid             -3
659 #define kAdslMibStatusBufferTooSmall    -4
660 #define kAdslMibStatusLastError                 -4
661
662 /* Adsl training codes */
663
664 #define kAdslTrainingIdle                               0
665 #define kAdslTrainingG994                               1
666 #define kAdslTrainingG992Started                2
667 #define kAdslTrainingG992ChanAnalysis   3
668 #define kAdslTrainingG992Exchange               4
669 #define kAdslTrainingConnected                  5
670
671 /* Global info structure */
672
673 typedef struct _adslMibInfo {
674         adslLineEntry                   adslLine;
675         adslPhysEntry                   adslPhys;
676         adslChanEntry                   adslChanIntl;
677         adslChanEntry                   adslChanFast;
678         adslPerfDataEntry               adslPerfData;
679         adslPerfCounters                adslPerfIntervals[kAdslMibPerfIntervals];
680         adslChanPerfDataEntry   adslChanIntlPerfData;
681         adslChanPerfDataEntry   adslChanFastPerfData;
682         adslChanCounters                adslChanIntlPerfIntervals[kAdslMibChanPerfIntervals];
683         adslChanCounters                adslChanFastPerfIntervals[kAdslMibChanPerfIntervals];
684
685         adslThreshCounters              adslAlarm;
686
687         atmPhyDataEntrty                adslChanIntlAtmPhyData;
688         atmPhyDataEntrty                adslChanFastAtmPhyData;
689
690         adslBertResults                 adslBertRes;
691
692         adslConnectionInfo              adslConnection;
693         adslConnectionStat              adslStat;
694         unsigned char                   adslTrainingState;
695         atmConnectionStat               atmStat;
696
697         adslFullPhysEntry               adslAtucPhys;
698         unsigned char                   adslRxNonStdFramingAdjustK;
699         unsigned char                   adslFramingMode;
700         adslBertStatusEx                adslBertStatus;
701         long                                    afeRxPgaGainQ1;
702
703         adslDiagModeData                adslDiag;
704         adsl2ConnectionInfo             adsl2Info;
705         adslPerfCounters                adslTxPerfTotal;
706 } adslMibInfo;
707
708 #if defined(__cplusplus)
709 }
710 #endif
711
712 #endif  /* AdslMibDefHeader */