create release branch for 8.09
[openwrt/svn-archive/archive.git] / target / linux / ifxmips / files / include / asm-mips / ifxmips / ifxmips_mei_app_ioctl.h
1 /******************************************************************************
2 **
3 ** FILE NAME : ifxmips_mei_app_ioctl.h
4 ** PROJECT : Danube
5 ** MODULES : MEI
6 **
7 ** DATE : 1 Jan 2006
8 ** AUTHOR : TC Chen
9 ** DESCRIPTION : MEI Driver
10 ** COPYRIGHT : Copyright (c) 2006
11 ** Infineon Technologies AG
12 ** Am Campeon 1-12, 85579 Neubiberg, Germany
13 **
14 ** This program is free software; you can redistribute it and/or modify
15 ** it under the terms of the GNU General Public License as published by
16 ** the Free Software Foundation; either version 2 of the License, or
17 ** (at your option) any later version.
18 **
19 ** HISTORY
20 ** $Version $Date $Author $Comment
21 *******************************************************************************/
22 #ifndef __IFXMIPS_MEI_APP_IOCTL_H
23 #define __IFXMIPS_MEI_APP_IOCTL_H
24
25 #ifdef __KERNEL__
26 #include "ifxmips_mei_ioctl.h"
27 #endif
28
29 /* Interface Name */
30 //#define INTERFACE_NAME <define the interface>
31
32 /* adslLineTable constants */
33 #define GET_ADSL_LINE_CODE 1
34
35 /* adslAtucPhysTable constants */
36 #define GET_ADSL_ATUC_PHY 4
37
38 /* adslAturPhysTable constants */
39 #define GET_ADSL_ATUR_PHY 10
40
41 /* adslAtucChanTable constants */
42 #define GET_ADSL_ATUC_CHAN_INFO 15
43
44 /* adslAturChanTable constants */
45 #define GET_ADSL_ATUR_CHAN_INFO 18
46
47 /* adslAtucPerfDataTable constants */
48 #define GET_ADSL_ATUC_PERF_DATA 21
49
50 /* adslAturPerfDataTable constants */
51 #define GET_ADSL_ATUR_PERF_DATA 40
52
53 /* adslAtucIntervalTable constants */
54 #define GET_ADSL_ATUC_INTVL_INFO 60
55
56 /* adslAturIntervalTable constants */
57 #define GET_ADSL_ATUR_INTVL_INFO 65
58
59 /* adslAtucChanPerfDataTable constants */
60 #define GET_ADSL_ATUC_CHAN_PERF_DATA 70
61
62 /* adslAturChanPerfDataTable constants */
63 #define GET_ADSL_ATUR_CHAN_PERF_DATA 90
64
65 /* adslAtucChanIntervalTable constants */
66 #define GET_ADSL_ATUC_CHAN_INTVL_INFO 110
67
68 /* adslAturChanIntervalTable constants */
69 #define GET_ADSL_ATUR_CHAN_INTVL_INFO 115
70
71 /* adslLineAlarmConfProfileTable constants */
72 #define GET_ADSL_ALRM_CONF_PROF 120
73 #define SET_ADSL_ALRM_CONF_PROF 121
74
75 /* adslAturTrap constants */
76 #define ADSL_ATUR_TRAPS 135
77
78 ////////////////// RFC-3440 //////////////
79
80 #ifdef IFXMIPS_MEI_MIB_RFC3440
81 /* adslLineExtTable */
82 #define GET_ADSL_ATUC_LINE_EXT 201
83 #define SET_ADSL_ATUC_LINE_EXT 203
84
85 /* adslAtucPerfDateExtTable */
86 #define GET_ADSL_ATUC_PERF_DATA_EXT 205
87
88 /* adslAtucIntervalExtTable */
89 #define GET_ADSL_ATUC_INTVL_EXT_INFO 221
90
91 /* adslAturPerfDataExtTable */
92 #define GET_ADSL_ATUR_PERF_DATA_EXT 225
93
94 /* adslAturIntervalExtTable */
95 #define GET_ADSL_ATUR_INTVL_EXT_INFO 233
96
97 /* adslAlarmConfProfileExtTable */
98 #define GET_ADSL_ALRM_CONF_PROF_EXT 235
99 #define SET_ADSL_ALRM_CONF_PROF_EXT 236
100
101 /* adslAturExtTrap */
102 #define ADSL_ATUR_EXT_TRAPS 240
103
104 #endif
105
106 /* The following constants are added to support the WEB related ADSL Statistics */
107
108 /* adslLineStatus constants */
109 #define GET_ADSL_LINE_STATUS 245
110
111 /* adslLineRate constants */
112 #define GET_ADSL_LINE_RATE 250
113
114 /* adslLineInformation constants */
115 #define GET_ADSL_LINE_INFO 255
116
117 /* adslNearEndPerformanceStats constants */
118 #define GET_ADSL_NEAREND_STATS 270
119
120 /* adslFarEndPerformanceStats constants */
121 #define GET_ADSL_FAREND_STATS 290
122
123 /* Sub-carrier related parameters */
124 #define GET_ADSL_LINE_INIT_STATS 150
125 #define GET_ADSL_POWER_SPECTRAL_DENSITY 151
126
127 #define IFXMIPS_MIB_LO_ATUC 295
128 #define IFXMIPS_MIB_LO_ATUR 296
129
130 #define GET_ADSL_ATUC_SUBCARRIER_STATS 297
131 #define GET_ADSL_ATUR_SUBCARRIER_STATS 298
132
133
134
135 ///////////////////////////////////////////////////////////
136 // makeCMV(Opcode, Group, Address, Index, Size, Data)
137
138 /* adslLineCode Flags */
139 #define LINE_CODE_FLAG 0x1 /* BIT 0th position */
140
141 /* adslAtucPhysTable Flags */
142 #define ATUC_PHY_SER_NUM_FLAG 0x1 /* BIT 0th position */
143 #define ATUC_PHY_SER_NUM_FLAG_MAKECMV1 makeCMV(H2D_CMV_READ, INFO, 57, 0, 12, data,TxMessage)
144 #define ATUC_PHY_SER_NUM_FLAG_MAKECMV2 makeCMV(H2D_CMV_READ, INFO, 57, 12, 4, data,TxMessage)
145
146 #define ATUC_PHY_VENDOR_ID_FLAG 0x2 /* BIT 1 */
147 #define ATUC_PHY_VENDOR_ID_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 64, 0, 4, data,TxMessage)
148
149 #define ATUC_PHY_VER_NUM_FLAG 0x4 /* BIT 2 */
150 #define ATUC_PHY_VER_NUM_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 58, 0, 8, data,TxMessage)
151
152 #define ATUC_CURR_STAT_FLAG 0x8 /* BIT 3 */
153
154 #define ATUC_CURR_OUT_PWR_FLAG 0x10 /* BIT 4 */
155 #define ATUC_CURR_OUT_PWR_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 5, 1, data,TxMessage)
156
157 #define ATUC_CURR_ATTR_FLAG 0x20 /* BIT 5 */
158 #define ATUC_CURR_ATTR_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 0, 2, data,TxMessage)
159
160
161 /* adslAturPhysTable Flags */
162 #define ATUR_PHY_SER_NUM_FLAG 0x1 /* BIT 0th position */
163 #define ATUR_PHY_SER_NUM_FLAG_MAKECMV1 makeCMV(H2D_CMV_READ, INFO, 62, 0, 12, data,TxMessage)
164 #define ATUR_PHY_SER_NUM_FLAG_MAKECMV2 makeCMV(H2D_CMV_READ, INFO, 62, 12, 4, data,TxMessage)
165
166 #define ATUR_PHY_VENDOR_ID_FLAG 0x2 /* BIT 1 */
167 #define ATUR_PHY_VENDOR_ID_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 65, 0, 4, data,TxMessage)
168
169 #define ATUR_PHY_VER_NUM_FLAG 0x4 /* BIT 2 */
170 #define ATUR_PHY_VER_NUM_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 61, 0, 8, data,TxMessage)
171
172 #define ATUR_SNRMGN_FLAG 0x8
173 #if 0 /* [ Ritesh. Use PLAM 45 0 for 0.1dB resolution rather than INFO 68 3 */
174 #define ATUR_SNRMGN_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 4, 1, data,TxMessage)
175 #else
176 #define ATUR_SNRMGN_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, PLAM_SNRMargin_0_1db, 0, 1, data, TxMessage)
177 #endif
178
179 #define ATUR_ATTN_FLAG 0x10
180 #define ATUR_ATTN_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 2, 1, data,TxMessage)
181
182 #define ATUR_CURR_STAT_FLAG 0x20 /* BIT 3 */
183
184 #define ATUR_CURR_OUT_PWR_FLAG 0x40 /* BIT 4 */
185 #define ATUR_CURR_OUT_PWR_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 5, 1, data,TxMessage)
186
187 #define ATUR_CURR_ATTR_FLAG 0x80 /* BIT 5 */
188 #define ATUR_CURR_ATTR_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 0, 2, data,TxMessage)
189
190 /* adslAtucChanTable Flags */
191 #define ATUC_CHAN_INTLV_DELAY_FLAG 0x1 /* BIT 0th position */
192 //KD #define ATUC_CHAN_INTLV_DELAY_FLAG_MAKECMV makeCMV(H2D_CMV_READ, RATE, 3, 1, 1, data,TxMessage)
193 #define ATUC_CHAN_INTLV_DELAY_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 92, 1, 1, data,TxMessage)
194
195 #define ATUC_CHAN_CURR_TX_RATE_FLAG 0x2 /* BIT 1 */
196 #define ATUC_CHAN_CURR_TX_RATE_FLAG_MAKECMV makeCMV(H2D_CMV_READ, RATE, 1, 0, 2, data,TxMessage)
197
198 #define ATUC_CHAN_PREV_TX_RATE_FLAG 0x4 /* BIT 2 */
199
200 /* adslAturChanTable Flags */
201 #define ATUR_CHAN_INTLV_DELAY_FLAG 0x1 /* BIT 0th position */
202 //KD #define ATUR_CHAN_INTLV_DELAY_FLAG_MAKECMV makeCMV(H2D_CMV_READ, RATE, 2, 1, 1, data,TxMessage)
203 #define ATUR_CHAN_INTLV_DELAY_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 93, 1, 1, data,TxMessage)
204
205 #define ATUR_CHAN_CURR_TX_RATE_FLAG 0x2 /* BIT 1 */
206 #define ATUR_CHAN_CURR_TX_RATE_FLAG_MAKECMV makeCMV(H2D_CMV_READ, RATE, 0, 0, 2, data,TxMessage)
207
208 #define ATUR_CHAN_PREV_TX_RATE_FLAG 0x4 /* BIT 2 */
209
210 #define ATUR_CHAN_CRC_BLK_LEN_FLAG 0x8 /* BIT 3 */
211
212 /* adslAtucPerfDataTable Flags */
213 #define ATUC_PERF_LOFS_FLAG 0x1 /* BIT 0th position */
214 #define ATUC_PERF_LOSS_FLAG 0x2 /* BIT 1 */
215 #define ATUC_PERF_LO_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 0, 0, 1, data,TxMessage)
216 #define ATUC_PERF_ESS_FLAG 0x4 /* BIT 2 */
217 #define ATUC_PERF_ESS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 7, 0, 1, data,TxMessage)
218 #define ATUC_PERF_INITS_FLAG 0x8 /* BIT 3 */
219 #define ATUC_PERF_VALID_INTVLS_FLAG 0x10 /* BIT 4 */
220 #define ATUC_PERF_INVALID_INTVLS_FLAG 0x20 /* BIT 5 */
221 #define ATUC_PERF_CURR_15MIN_TIME_ELAPSED_FLAG 0x40 /* BIT 6 */
222 #define ATUC_PERF_CURR_15MIN_LOFS_FLAG 0x80 /* BIT 7 */
223 #define ATUC_PERF_CURR_15MIN_LOSS_FLAG 0x100 /* BIT 8 */
224 #define ATUC_PERF_CURR_15MIN_ESS_FLAG 0x200 /* BIT 9 */
225 #define ATUC_PERF_CURR_15MIN_INIT_FLAG 0x400 /* BIT 10 */
226 #define ATUC_PERF_CURR_1DAY_TIME_ELAPSED_FLAG 0x800 /* BIT 11 */
227 #define ATUC_PERF_CURR_1DAY_LOFS_FLAG 0x1000 /* BIT 12 */
228 #define ATUC_PERF_CURR_1DAY_LOSS_FLAG 0x2000 /* BIT 13 */
229 #define ATUC_PERF_CURR_1DAY_ESS_FLAG 0x4000 /* BIT 14 */
230 #define ATUC_PERF_CURR_1DAY_INIT_FLAG 0x8000 /* BIT 15 */
231 #define ATUC_PERF_PREV_1DAY_MON_SEC_FLAG 0x10000 /* BIT 16 */
232 #define ATUC_PERF_PREV_1DAY_LOFS_FLAG 0x20000 /* BIT 17 */
233 #define ATUC_PERF_PREV_1DAY_LOSS_FLAG 0x40000 /* BIT 18 */
234 #define ATUC_PERF_PREV_1DAY_ESS_FLAG 0x80000 /* BIT 19 */
235 #define ATUC_PERF_PREV_1DAY_INITS_FLAG 0x100000 /* BIT 20 */
236
237 /* adslAturPerfDataTable Flags */
238 #define ATUR_PERF_LOFS_FLAG 0x1 /* BIT 0th position */
239 #define ATUR_PERF_LOSS_FLAG 0x2 /* BIT 1 */
240 #define ATUR_PERF_LPR_FLAG 0x4 /* BIT 2 */
241 #define ATUR_PERF_LO_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 1, 0, 1, data,TxMessage)
242 #define ATUR_PERF_ESS_FLAG 0x8 /* BIT 3 */
243 #define ATUR_PERF_ESS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 33, 0, 1, data,TxMessage)
244 #define ATUR_PERF_VALID_INTVLS_FLAG 0x10 /* BIT 4 */
245 #define ATUR_PERF_INVALID_INTVLS_FLAG 0x20 /* BIT 5 */
246 #define ATUR_PERF_CURR_15MIN_TIME_ELAPSED_FLAG 0x40 /* BIT 6 */
247 #define ATUR_PERF_CURR_15MIN_LOFS_FLAG 0x80 /* BIT 7 */
248 #define ATUR_PERF_CURR_15MIN_LOSS_FLAG 0x100 /* BIT 8 */
249 #define ATUR_PERF_CURR_15MIN_LPR_FLAG 0x200 /* BIT 9 */
250 #define ATUR_PERF_CURR_15MIN_ESS_FLAG 0x400 /* BIT 10 */
251 #define ATUR_PERF_CURR_1DAY_TIME_ELAPSED_FLAG 0x800 /* BIT 11 */
252 #define ATUR_PERF_CURR_1DAY_LOFS_FLAG 0x1000 /* BIT 12 */
253 #define ATUR_PERF_CURR_1DAY_LOSS_FLAG 0x2000 /* BIT 13 */
254 #define ATUR_PERF_CURR_1DAY_LPR_FLAG 0x4000 /* BIT 14 */
255 #define ATUR_PERF_CURR_1DAY_ESS_FLAG 0x8000 /* BIT 15 */
256 #define ATUR_PERF_PREV_1DAY_MON_SEC_FLAG 0x10000 /* BIT 16 */
257 #define ATUR_PERF_PREV_1DAY_LOFS_FLAG 0x20000 /* BIT 17 */
258 #define ATUR_PERF_PREV_1DAY_LOSS_FLAG 0x40000 /* BIT 18 */
259 #define ATUR_PERF_PREV_1DAY_LPR_FLAG 0x80000 /* BIT 19 */
260 #define ATUR_PERF_PREV_1DAY_ESS_FLAG 0x100000 /* BIT 20 */
261
262 /* adslAtucIntervalTable Flags */
263 #define ATUC_INTVL_LOF_FLAG 0x1 /* BIT 0th position */
264 #define ATUC_INTVL_LOS_FLAG 0x2 /* BIT 1 */
265 #define ATUC_INTVL_ESS_FLAG 0x4 /* BIT 2 */
266 #define ATUC_INTVL_INIT_FLAG 0x8 /* BIT 3 */
267 #define ATUC_INTVL_VALID_DATA_FLAG 0x10 /* BIT 4 */
268
269 /* adslAturIntervalTable Flags */
270 #define ATUR_INTVL_LOF_FLAG 0x1 /* BIT 0th position */
271 #define ATUR_INTVL_LOS_FLAG 0x2 /* BIT 1 */
272 #define ATUR_INTVL_LPR_FLAG 0x4 /* BIT 2 */
273 #define ATUR_INTVL_ESS_FLAG 0x8 /* BIT 3 */
274 #define ATUR_INTVL_VALID_DATA_FLAG 0x10 /* BIT 4 */
275
276 /* adslAtucChanPerfDataTable Flags */
277 #define ATUC_CHAN_RECV_BLK_FLAG 0x01 /* BIT 0th position */
278 #define ATUC_CHAN_TX_BLK_FLAG 0x02 /* BIT 1 */
279 #define ATUC_CHAN_CORR_BLK_FLAG 0x04 /* BIT 2 */
280 #define ATUC_CHAN_UNCORR_BLK_FLAG 0x08 /* BIT 3 */
281 #define ATUC_CHAN_PERF_VALID_INTVL_FLAG 0x10 /* BIT 4 */
282 #define ATUC_CHAN_PERF_INVALID_INTVL_FLAG 0x20 /* BIT 5 */
283 #define ATUC_CHAN_PERF_CURR_15MIN_TIME_ELAPSED_FLAG 0x40 /* BIT 6 */
284 #define ATUC_CHAN_PERF_CURR_15MIN_RECV_BLK_FLAG 0x80 /* BIT 7 */
285 #define ATUC_CHAN_PERF_CURR_15MIN_TX_BLK_FLAG 0x100 /* BIT 8 */
286 #define ATUC_CHAN_PERF_CURR_15MIN_CORR_BLK_FLAG 0x200 /* BIT 9 */
287 #define ATUC_CHAN_PERF_CURR_15MIN_UNCORR_BLK_FLAG 0x400 /* BIT 10 */
288 #define ATUC_CHAN_PERF_CURR_1DAY_TIME_ELAPSED_FLAG 0x800 /* BIT 11*/
289 #define ATUC_CHAN_PERF_CURR_1DAY_RECV_BLK_FLAG 0x1000 /* BIT 12 */
290 #define ATUC_CHAN_PERF_CURR_1DAY_TX_BLK_FLAG 0x2000 /* BIT 13 */
291 #define ATUC_CHAN_PERF_CURR_1DAY_CORR_BLK_FLAG 0x4000 /* BIT 14 */
292 #define ATUC_CHAN_PERF_CURR_1DAY_UNCORR_BLK_FLAG 0x8000 /* BIT 15 */
293 #define ATUC_CHAN_PERF_PREV_1DAY_MONI_SEC_FLAG 0x10000 /* BIT 16 */
294 #define ATUC_CHAN_PERF_PREV_1DAY_RECV_BLK_FLAG 0x20000 /* BIT 17 */
295 #define ATUC_CHAN_PERF_PREV_1DAY_TX_BLK_FLAG 0x40000 /* BIT 18 */
296 #define ATUC_CHAN_PERF_PREV_1DAY_CORR_BLK_FLAG 0x80000 /* BIT 19 */
297 #define ATUC_CHAN_PERF_PREV_1DAY_UNCORR_BLK_FLAG 0x100000 /* BIT 20 */
298
299
300 /* adslAturChanPerfDataTable Flags */
301 #define ATUR_CHAN_RECV_BLK_FLAG 0x01 /* BIT 0th position */
302 #define ATUR_CHAN_RECV_BLK_FLAG_MAKECMV_LSW makeCMV(H2D_CMV_READ, PLAM, 20, 0, 1, data,TxMessage)
303 #define ATUR_CHAN_RECV_BLK_FLAG_MAKECMV_MSW makeCMV(H2D_CMV_READ, PLAM, 21, 0, 1, data,TxMessage)
304 #define ATUR_CHAN_TX_BLK_FLAG 0x02 /* BIT 1 */
305 #define ATUR_CHAN_TX_BLK_FLAG_MAKECMV_LSW makeCMV(H2D_CMV_READ, PLAM, 20, 0, 1, data,TxMessage)
306 #define ATUR_CHAN_TX_BLK_FLAG_MAKECMV_MSW makeCMV(H2D_CMV_READ, PLAM, 21, 0, 1, data,TxMessage)
307 #define ATUR_CHAN_CORR_BLK_FLAG 0x04 /* BIT 2 */
308 #define ATUR_CHAN_CORR_BLK_FLAG_MAKECMV_INTL makeCMV(H2D_CMV_READ, PLAM, 3, 0, 1, data,TxMessage)
309 #define ATUR_CHAN_CORR_BLK_FLAG_MAKECMV_FAST makeCMV(H2D_CMV_READ, PLAM, 3, 1, 1, data,TxMessage)
310 #define ATUR_CHAN_UNCORR_BLK_FLAG 0x08 /* BIT 3 */
311 #define ATUR_CHAN_UNCORR_BLK_FLAG_MAKECMV_INTL makeCMV(H2D_CMV_READ, PLAM, 2, 0, 1, data,TxMessage)
312 #define ATUR_CHAN_UNCORR_BLK_FLAG_MAKECMV_FAST makeCMV(H2D_CMV_READ, PLAM, 2, 1, 1, data,TxMessage)
313 #define ATUR_CHAN_PERF_VALID_INTVL_FLAG 0x10 /* BIT 4 */
314 #define ATUR_CHAN_PERF_INVALID_INTVL_FLAG 0x20 /* BIT 5 */
315 #define ATUR_CHAN_PERF_CURR_15MIN_TIME_ELAPSED_FLAG 0x40 /* BIT 6 */
316 #define ATUR_CHAN_PERF_CURR_15MIN_RECV_BLK_FLAG 0x80 /* BIT 7 */
317 #define ATUR_CHAN_PERF_CURR_15MIN_TX_BLK_FLAG 0x100 /* BIT 8 */
318 #define ATUR_CHAN_PERF_CURR_15MIN_CORR_BLK_FLAG 0x200 /* BIT 9 */
319 #define ATUR_CHAN_PERF_CURR_15MIN_UNCORR_BLK_FLAG 0x400 /* BIT 10 */
320 #define ATUR_CHAN_PERF_CURR_1DAY_TIME_ELAPSED_FLAG 0x800 /* BIT 11 */
321 #define ATUR_CHAN_PERF_CURR_1DAY_RECV_BLK_FLAG 0x1000 /* BIT 12 */
322 #define ATUR_CHAN_PERF_CURR_1DAY_TX_BLK_FLAG 0x2000 /* BIT 13 */
323 #define ATUR_CHAN_PERF_CURR_1DAY_CORR_BLK_FLAG 0x4000 /* BIT 14 */
324 #define ATUR_CHAN_PERF_CURR_1DAY_UNCORR_BLK_FLAG 0x8000 /* BIT 15 */
325 #define ATUR_CHAN_PERF_PREV_1DAY_MONI_SEC_FLAG 0x10000 /* BIT 16 */
326 #define ATUR_CHAN_PERF_PREV_1DAY_RECV_BLK_FLAG 0x20000 /* BIT 17 */
327 #define ATUR_CHAN_PERF_PREV_1DAY_TRANS_BLK_FLAG 0x40000 /* BIT 18 */
328 #define ATUR_CHAN_PERF_PREV_1DAY_CORR_BLK_FLAG 0x80000 /* BIT 19 */
329 #define ATUR_CHAN_PERF_PREV_1DAY_UNCORR_BLK_FLAG 0x100000 /* BIT 20 */
330
331 /* adslAtucChanIntervalTable Flags */
332 #define ATUC_CHAN_INTVL_NUM_FLAG 0x1 /* BIT 0th position */
333 #define ATUC_CHAN_INTVL_RECV_BLK_FLAG 0x2 /* BIT 1 */
334 #define ATUC_CHAN_INTVL_TX_BLK_FLAG 0x4 /* BIT 2 */
335 #define ATUC_CHAN_INTVL_CORR_BLK_FLAG 0x8 /* BIT 3 */
336 #define ATUC_CHAN_INTVL_UNCORR_BLK_FLAG 0x10 /* BIT 4 */
337 #define ATUC_CHAN_INTVL_VALID_DATA_FLAG 0x20 /* BIT 5 */
338
339 /* adslAturChanIntervalTable Flags */
340 #define ATUR_CHAN_INTVL_NUM_FLAG 0x1 /* BIT 0th Position */
341 #define ATUR_CHAN_INTVL_RECV_BLK_FLAG 0x2 /* BIT 1 */
342 #define ATUR_CHAN_INTVL_TX_BLK_FLAG 0x4 /* BIT 2 */
343 #define ATUR_CHAN_INTVL_CORR_BLK_FLAG 0x8 /* BIT 3 */
344 #define ATUR_CHAN_INTVL_UNCORR_BLK_FLAG 0x10 /* BIT 4 */
345 #define ATUR_CHAN_INTVL_VALID_DATA_FLAG 0x20 /* BIT 5 */
346
347 /* adslLineAlarmConfProfileTable Flags */
348 #define ATUC_THRESH_15MIN_LOFS_FLAG 0x01 /* BIT 0th position */
349 #define ATUC_THRESH_15MIN_LOSS_FLAG 0x02 /* BIT 1 */
350 #define ATUC_THRESH_15MIN_ESS_FLAG 0x04 /* BIT 2 */
351 #define ATUC_THRESH_FAST_RATEUP_FLAG 0x08 /* BIT 3 */
352 #define ATUC_THRESH_INTERLEAVE_RATEUP_FLAG 0x10 /* BIT 4 */
353 #define ATUC_THRESH_FAST_RATEDOWN_FLAG 0x20 /* BIT 5 */
354 #define ATUC_THRESH_INTERLEAVE_RATEDOWN_FLAG 0x40 /* BIT 6 */
355 #define ATUC_INIT_FAILURE_TRAP_ENABLE_FLAG 0x80 /* BIT 7 */
356 #define ATUR_THRESH_15MIN_LOFS_FLAG 0x100 /* BIT 8 */
357 #define ATUR_THRESH_15MIN_LOSS_FLAG 0x200 /* BIT 9 */
358 #define ATUR_THRESH_15MIN_LPRS_FLAG 0x400 /* BIT 10 */
359 #define ATUR_THRESH_15MIN_ESS_FLAG 0x800 /* BIT 11 */
360 #define ATUR_THRESH_FAST_RATEUP_FLAG 0x1000 /* BIT 12 */
361 #define ATUR_THRESH_INTERLEAVE_RATEUP_FLAG 0x2000 /* BIT 13 */
362 #define ATUR_THRESH_FAST_RATEDOWN_FLAG 0x4000 /* BIT 14 */
363 #define ATUR_THRESH_INTERLEAVE_RATEDOWN_FLAG 0x8000 /* BIT 15 */
364 #define LINE_ALARM_CONF_PROFILE_ROWSTATUS_FLAG 0x10000 /* BIT 16 */
365
366
367 /* adslAturTraps Flags */
368 #define ATUC_PERF_LOFS_THRESH_FLAG 0x1 /* BIT 0th position */
369 #define ATUC_PERF_LOSS_THRESH_FLAG 0x2 /* BIT 1 */
370 #define ATUC_PERF_ESS_THRESH_FLAG 0x4 /* BIT 2 */
371 #define ATUC_RATE_CHANGE_FLAG 0x8 /* BIT 3 */
372 #define ATUR_PERF_LOFS_THRESH_FLAG 0x10 /* BIT 4 */
373 #define ATUR_PERF_LOSS_THRESH_FLAG 0x20 /* BIT 5 */
374 #define ATUR_PERF_LPRS_THRESH_FLAG 0x40 /* BIT 6 */
375 #define ATUR_PERF_ESS_THRESH_FLAG 0x80 /* BIT 7 */
376 #define ATUR_RATE_CHANGE_FLAG 0x100 /* BIT 8 */
377
378 //RFC- 3440 FLAG DEFINITIONS
379
380 #ifdef IFXMIPS_MEI_MIB_RFC3440
381 /* adslLineExtTable flags */
382 #define ATUC_LINE_TRANS_CAP_FLAG 0x1 /* BIT 0th position */
383 #define ATUC_LINE_TRANS_CAP_FLAG_MAKECMV makeCMV(H2D_CMV_READ,INFO, 67, 0, 1, data,TxMessage)
384 #define ATUC_LINE_TRANS_CONFIG_FLAG 0x2 /* BIT 1 */
385 #define ATUC_LINE_TRANS_CONFIG_FLAG_MAKECMV makeCMV(H2D_CMV_READ,INFO, 67, 0, 1, data,TxMessage)
386 #define ATUC_LINE_TRANS_CONFIG_FLAG_MAKECMV_WR makeCMV(H2D_CMV_WRITE,INFO, 67, 0, 1, data,TxMessage)
387 #define ATUC_LINE_TRANS_ACTUAL_FLAG 0x4 /* BIT 2 */
388 #define ATUC_LINE_TRANS_ACTUAL_FLAG_MAKECMV makeCMV(H2D_CMV_READ,STAT, 1, 0, 1, data,TxMessage)
389 #define LINE_GLITE_POWER_STATE_FLAG 0x8 /* BIT 3 */
390 #define LINE_GLITE_POWER_STATE_FLAG_MAKECMV makeCMV(H2D_CMV_READ,STAT, 0, 0, 1, data,TxMessage)
391
392 /* adslAtucPerfDataExtTable flags */
393 #define ATUC_PERF_STAT_FASTR_FLAG 0x1 /* BIT 0th position */
394 #define ATUC_PERF_STAT_FASTR_FLAG_MAKECMV makeCMV(H2D_CMV_READ, STAT, 0, 0, 1, data, TxMessage)
395 #define ATUC_PERF_STAT_FAILED_FASTR_FLAG 0x2 /* BIT 1 */
396 #define ATUC_PERF_STAT_FAILED_FASTR_FLAG_MAKECMV makeCMV(H2D_CMV_READ, STAT, 0, 0, 1, data, TxMessage)
397 #define ATUC_PERF_STAT_SESL_FLAG 0X4 /* BIT 2 */
398 #define ATUC_PERF_STAT_SESL_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 8, 0, 1, data, TxMessage)
399 #define ATUC_PERF_STAT_UASL_FLAG 0X8 /* BIT 3 */
400 #define ATUC_PERF_STAT_UASL_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 10, 0, 1, data, TxMessage)
401 #define ATUC_PERF_CURR_15MIN_FASTR_FLAG 0X10 /* BIT 4 */
402 #define ATUC_PERF_CURR_15MIN_FAILED_FASTR_FLAG 0X20 /* BIT 5 */
403 #define ATUC_PERF_CURR_15MIN_SESL_FLAG 0X40 /* BIT 6 */
404 #define ATUC_PERF_CURR_15MIN_UASL_FLAG 0X80 /* BIT 7 */
405 #define ATUC_PERF_CURR_1DAY_FASTR_FLAG 0X100 /* BIT 8 */
406 #define ATUC_PERF_CURR_1DAY_FAILED_FASTR_FLAG 0X200 /* BIT 9 */
407 #define ATUC_PERF_CURR_1DAY_SESL_FLAG 0X400 /* BIT 10 */
408 #define ATUC_PERF_CURR_1DAY_UASL_FLAG 0X800 /* BIT 11 */
409 #define ATUC_PERF_PREV_1DAY_FASTR_FLAG 0X1000 /* BIT 12 */
410 #define ATUC_PERF_PREV_1DAY_FAILED_FASTR_FLAG 0X2000 /* BIT 13 */
411 #define ATUC_PERF_PREV_1DAY_SESL_FLAG 0X4000 /* BIT 14 */
412 #define ATUC_PERF_PREV_1DAY_UASL_FLAG 0X8000 /* BIT 15 */
413
414 /* adslAturPerfDataExtTable */
415 #define ATUR_PERF_STAT_SESL_FLAG 0X1 /* BIT 0th position */
416 #define ATUR_PERF_STAT_SESL_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 34, 0, 1, data, TxMessage)
417 #define ATUR_PERF_STAT_UASL_FLAG 0X2 /* BIT 1 */
418 #define ATUR_PERF_STAT_UASL_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 36, 0, 1, data, TxMessage)
419 #define ATUR_PERF_CURR_15MIN_SESL_FLAG 0X4 /* BIT 2 */
420 #define ATUR_PERF_CURR_15MIN_UASL_FLAG 0X8 /* BIT 3 */
421 #define ATUR_PERF_CURR_1DAY_SESL_FLAG 0X10 /* BIT 4 */
422 #define ATUR_PERF_CURR_1DAY_UASL_FLAG 0X20 /* BIT 5 */
423 #define ATUR_PERF_PREV_1DAY_SESL_FLAG 0X40 /* BIT 6 */
424 #define ATUR_PERF_PREV_1DAY_UASL_FLAG 0X80 /* BIT 7 */
425
426 /* adslAutcIntervalExtTable flags */
427 #define ATUC_INTERVAL_FASTR_FLAG 0x1 /* Bit 0 */
428 #define ATUC_INTERVAL_FAILED_FASTR_FLAG 0x2 /* Bit 1 */
429 #define ATUC_INTERVAL_SESL_FLAG 0x4 /* Bit 2 */
430 #define ATUC_INTERVAL_UASL_FLAG 0x8 /* Bit 3 */
431
432 /* adslAturIntervalExtTable */
433 #define ATUR_INTERVAL_SESL_FLAG 0X1 /* BIT 0th position */
434 #define ATUR_INTERVAL_UASL_FLAG 0X2 /* BIT 1 */
435
436 /* adslAlarmConfProfileExtTable */
437 #define ATUC_THRESH_15MIN_FAILED_FASTR_FLAG 0X1/* BIT 0th position */
438 #define ATUC_THRESH_15MIN_SESL_FLAG 0X2 /* BIT 1 */
439 #define ATUC_THRESH_15MIN_UASL_FLAG 0X4 /* BIT 2 */
440 #define ATUR_THRESH_15MIN_SESL_FLAG 0X8 /* BIT 3 */
441 #define ATUR_THRESH_15MIN_UASL_FLAG 0X10 /* BIT 4 */
442
443 /* adslAturExtTraps */
444 #define ATUC_15MIN_FAILED_FASTR_TRAP_FLAG 0X1 /* BIT 0th position */
445 #define ATUC_15MIN_SESL_TRAP_FLAG 0X2 /* BIT 1 */
446 #define ATUC_15MIN_UASL_TRAP_FLAG 0X4 /* BIT 2 */
447 #define ATUR_15MIN_SESL_TRAP_FLAG 0X8 /* BIT 3 */
448 #define ATUR_15MIN_UASL_TRAP_FLAG 0X10 /* BIT 4 */
449
450 #endif
451
452 /* adslLineStatus Flags */
453 #define LINE_STAT_MODEM_STATUS_FLAG 0x1 /* BIT 0th position */
454 #define LINE_STAT_MODEM_STATUS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, STAT, 0, 0, 1, data, TxMessage)
455 #define LINE_STAT_MODE_SEL_FLAG 0x2 /* BIT 1 */
456 #define LINE_STAT_MODE_SEL_FLAG_MAKECMV makeCMV(H2D_CMV_READ, STAT, 1, 0, 1, data, TxMessage)
457 #define LINE_STAT_TRELLCOD_ENABLE_FLAG 0x4 /* BIT 2 */
458 #define LINE_STAT_TRELLCOD_ENABLE_FLAG_MAKECMV makeCMV(H2D_CMV_READ, OPTN, 2, 0, 1, data, TxMessage)
459 #define LINE_STAT_LATENCY_FLAG 0x8 /* BIT 3 */
460 #define LINE_STAT_LATENCY_FLAG_MAKECMV makeCMV(H2D_CMV_READ, STAT, 12, 0, 1, data, TxMessage)
461
462 /* adslLineRate Flags */
463 #define LINE_RATE_DATA_RATEDS_FLAG 0x1 /* BIT 0th position */
464 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL1_LP0_MAKECMV makeCMV(H2D_CMV_READ, RATE, 1, 0, 2, data, TxMessage)
465 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL1_LP1_MAKECMV makeCMV(H2D_CMV_READ, RATE, 1, 2, 2, data, TxMessage)
466
467
468 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_RP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 12, 0, 1, data, TxMessage)
469 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_MP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 13, 0, 1, data, TxMessage)
470 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_LP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 14, 0, 1, data, TxMessage)
471 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_TP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 15, 0, 1, data, TxMessage)
472 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_KP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 17, 0, 2, data, TxMessage)
473
474 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_RP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 12, 1, 1, data, TxMessage)
475 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_MP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 13, 1, 1, data, TxMessage)
476 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_LP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 14, 1, 1, data, TxMessage)
477 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_TP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 15, 1, 1, data, TxMessage)
478 #define LINE_RATE_DATA_RATEDS_FLAG_ADSL2_KP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 17, 2, 2, data, TxMessage)
479
480 #define LINE_RATE_DATA_RATEUS_FLAG 0x2 /* BIT 1 */
481 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL1_LP0_MAKECMV makeCMV(H2D_CMV_READ, RATE, 0, 0, 2, data, TxMessage)
482 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL1_LP1_MAKECMV makeCMV(H2D_CMV_READ, RATE, 0, 2, 2, data, TxMessage)
483
484
485 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_RP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 23, 0, 1, data, TxMessage)
486 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_MP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 24, 0, 1, data, TxMessage)
487 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_LP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 25, 0, 1, data, TxMessage)
488 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_TP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 26, 0, 1, data, TxMessage)
489 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_KP_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 28, 0, 2, data, TxMessage)
490
491 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_RP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 23, 1, 1, data, TxMessage)
492 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_MP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 24, 1, 1, data, TxMessage)
493 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_LP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 25, 1, 1, data, TxMessage)
494 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_TP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 26, 1, 1, data, TxMessage)
495 #define LINE_RATE_DATA_RATEUS_FLAG_ADSL2_KP_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 28, 2, 2, data, TxMessage)
496
497 #define LINE_RATE_ATTNDRDS_FLAG 0x4 /* BIT 2 */
498 #define LINE_RATE_ATTNDRDS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 4, 2, data, TxMessage)
499
500 #define LINE_RATE_ATTNDRUS_FLAG 0x8 /* BIT 3 */
501 #define LINE_RATE_ATTNDRUS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 4, 2, data, TxMessage)
502
503 /* adslLineInformation Flags */
504 #define LINE_INFO_INTLV_DEPTHDS_FLAG 0x1 /* BIT 0th position */
505 #define LINE_INFO_INTLV_DEPTHDS_FLAG_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 27, 0, 1, data, TxMessage)
506 #define LINE_INFO_INTLV_DEPTHDS_FLAG_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 27, 1, 1, data, TxMessage)
507 #define LINE_INFO_INTLV_DEPTHUS_FLAG 0x2 /* BIT 1 */
508 #define LINE_INFO_INTLV_DEPTHUS_FLAG_LP0_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 16, 0, 1, data, TxMessage)
509 #define LINE_INFO_INTLV_DEPTHUS_FLAG_LP1_MAKECMV makeCMV(H2D_CMV_READ, CNFG, 16, 1, 1, data, TxMessage)
510 #define LINE_INFO_LATNDS_FLAG 0x4 /* BIT 2 */
511 #define LINE_INFO_LATNDS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 1, 1, data, TxMessage)
512 #define LINE_INFO_LATNUS_FLAG 0x8 /* BIT 3 */
513 #define LINE_INFO_LATNUS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 1, 1, data, TxMessage)
514 #define LINE_INFO_SATNDS_FLAG 0x10 /* BIT 4 */
515 #define LINE_INFO_SATNDS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 2, 1, data, TxMessage)
516 #define LINE_INFO_SATNUS_FLAG 0x20 /* BIT 5 */
517 #define LINE_INFO_SATNUS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 2, 1, data, TxMessage)
518 #define LINE_INFO_SNRMNDS_FLAG 0x40 /* BIT 6 */
519 #define LINE_INFO_SNRMNDS_FLAG_ADSL1_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 3, 1, data, TxMessage)
520 #define LINE_INFO_SNRMNDS_FLAG_ADSL2_MAKECMV makeCMV(H2D_CMV_READ, RATE, 3, 0, 1, data, TxMessage)
521 #define LINE_INFO_SNRMNDS_FLAG_ADSL2PLUS_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 46, 0, 1, data, TxMessage)
522 #define LINE_INFO_SNRMNUS_FLAG 0x80 /* BIT 7 */
523 #define LINE_INFO_SNRMNUS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 3, 1, data, TxMessage)
524 #define LINE_INFO_ACATPDS_FLAG 0x100 /* BIT 8 */
525 #define LINE_INFO_ACATPDS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 68, 6, 1, data, TxMessage)
526 #define LINE_INFO_ACATPUS_FLAG 0x200 /* BIT 9 */
527 #define LINE_INFO_ACATPUS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, INFO, 69, 6, 1, data, TxMessage)
528
529 /* adslNearEndPerformanceStats Flags */
530 #define NEAREND_PERF_SUPERFRAME_FLAG_LSW_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 20, 0, 1, data, TxMessage)
531 #define NEAREND_PERF_SUPERFRAME_FLAG_MSW_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 21, 0, 1, data, TxMessage)
532 #define NEAREND_PERF_SUPERFRAME_FLAG 0x1 /* BIT 0th position */
533 #define NEAREND_PERF_LOS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 0, 0, 1, data, TxMessage)
534 #define NEAREND_PERF_LOS_FLAG 0x2 /* BIT 1 */
535 #define NEAREND_PERF_LOF_FLAG 0x4 /* BIT 2 */
536 #define NEAREND_PERF_LPR_FLAG 0x8 /* BIT 3 */
537 #define NEAREND_PERF_NCD_FLAG 0x10 /* BIT 4 */
538 #define NEAREND_PERF_LCD_FLAG 0x20 /* BIT 5 */
539 #define NEAREND_PERF_CRC_FLAG 0x40 /* BIT 6 */
540 #define NEAREND_PERF_CRC_FLAG_LP0_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 2, 0, 1, data, TxMessage)
541 #define NEAREND_PERF_CRC_FLAG_LP1_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 2, 1, 1, data, TxMessage)
542 #define NEAREND_PERF_RSCORR_FLAG_LP0_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 3, 0, 1, data, TxMessage)
543 #define NEAREND_PERF_RSCORR_FLAG_LP1_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 3, 1, 1, data, TxMessage)
544 #define NEAREND_PERF_RSCORR_FLAG 0x80 /* BIT 7 */
545 #define NEAREND_PERF_FECS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 6, 0, 1, data, TxMessage)
546 #define NEAREND_PERF_FECS_FLAG 0x100 /* BIT 8 */
547 #define NEAREND_PERF_ES_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 7, 0, 1, data, TxMessage)
548 #define NEAREND_PERF_ES_FLAG 0x200 /* BIT 9 */
549 #define NEAREND_PERF_SES_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 8, 0, 1, data, TxMessage)
550 #define NEAREND_PERF_SES_FLAG 0x400 /* BIT 10 */
551 #define NEAREND_PERF_LOSS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 9, 0, 1, data, TxMessage)
552 #define NEAREND_PERF_LOSS_FLAG 0x800 /* BIT 11 */
553 #define NEAREND_PERF_UAS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 10, 0, 1, data, TxMessage)
554 #define NEAREND_PERF_UAS_FLAG 0x1000 /* BIT 12 */
555 #define NEAREND_PERF_HECERR_FLAG_BC0_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 11, 0, 2, data, TxMessage)
556 #define NEAREND_PERF_HECERR_FLAG_BC1_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 11, 2, 2, data, TxMessage)
557 #define NEAREND_PERF_HECERR_FLAG 0x2000 /* BIT 13 */
558
559 /* adslFarEndPerformanceStats Flags */
560 #define FAREND_PERF_LOS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 1, 0, 1, data, TxMessage)
561 #define FAREND_PERF_LOS_FLAG 0x1 /* BIT 0th position */
562 #define FAREND_PERF_LOF_FLAG 0x2 /* BIT 1 */
563 #define FAREND_PERF_LPR_FLAG 0x4 /* BIT 2 */
564 #define FAREND_PERF_NCD_FLAG 0x8 /* BIT 3 */
565 #define FAREND_PERF_LCD_FLAG 0x10 /* BIT 4 */
566 #define FAREND_PERF_CRC_FLAG_LP0_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 24, 0, 1, data, TxMessage)
567 #define FAREND_PERF_CRC_FLAG_LP1_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 24, 1, 1, data, TxMessage)
568 #define FAREND_PERF_CRC_FLAG 0x20 /* BIT 5 */
569 #define FAREND_PERF_RSCORR_FLAG_LP0_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 28, 0, 1, data, TxMessage)
570 #define FAREND_PERF_RSCORR_FLAG_LP1_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 28, 1, 1, data, TxMessage)
571 #define FAREND_PERF_RSCORR_FLAG 0x40 /* BIT 6 */
572 #define FAREND_PERF_FECS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 32, 0, 1, data, TxMessage)
573 #define FAREND_PERF_FECS_FLAG 0x80 /* BIT 7 */
574 #define FAREND_PERF_ES_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 33, 0, 1, data, TxMessage)
575 #define FAREND_PERF_ES_FLAG 0x100 /* BIT 8 */
576 #define FAREND_PERF_SES_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 34, 0, 1, data, TxMessage)
577 #define FAREND_PERF_SES_FLAG 0x200 /* BIT 9 */
578 #define FAREND_PERF_LOSS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 35, 0, 1, data, TxMessage)
579 #define FAREND_PERF_LOSS_FLAG 0x400 /* BIT 10 */
580 #define FAREND_PERF_UAS_FLAG_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 36, 0, 1, data, TxMessage)
581 #define FAREND_PERF_UAS_FLAG 0x800 /* BIT 11 */
582 #define FAREND_PERF_HECERR_FLAG_BC0_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 37, 0, 2, data, TxMessage)
583 #define FAREND_PERF_HECERR_FLAG_BC1_MAKECMV makeCMV(H2D_CMV_READ, PLAM, 37, 2, 2, data, TxMessage)
584 #define FAREND_PERF_HECERR_FLAG 0x1000 /* BIT 12 */
585 // 603221:tc.chen end
586 /* TR-69 related additional parameters - defines */
587 /* Defines for struct adslATURSubcarrierInfo */
588 #define NEAREND_HLINSC 0x1
589 #define NEAREND_HLINSC_MAKECMV(mode) makeCMV(mode, INFO, 71, 2, 1, data, TxMessage)
590 #define NEAREND_HLINPS 0x2
591 #define NEAREND_HLINPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 73, idx, size, data, TxMessage)
592 #define NEAREND_HLOGMT 0x4
593 #define NEAREND_HLOGMT_MAKECMV(mode) makeCMV(mode, INFO, 80, 0, 1, data, TxMessage)
594 #define NEAREND_HLOGPS 0x8
595 #define NEAREND_HLOGPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 75, idx, size, data, TxMessage)
596 #define NEAREND_QLNMT 0x10
597 #define NEAREND_QLNMT_MAKECMV(mode) makeCMV(mode, INFO, 80, 1, 1, data, TxMessage)
598 #define NEAREND_QLNPS 0x20
599 #define NEAREND_QLNPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 77, idx, size, data, TxMessage)
600 #define NEAREND_SNRMT 0x40
601 #define NEAREND_SNRMT_MAKECMV(mode) makeCMV(mode, INFO, 80, 2, 1, data, TxMessage)
602 #define NEAREND_SNRPS 0x80
603 #define NEAREND_SNRPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 78, idx, size, data, TxMessage)
604 #define NEAREND_BITPS 0x100
605 #define NEAREND_BITPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 22, idx, size, data, TxMessage)
606 #define NEAREND_GAINPS 0x200
607 #define NEAREND_GAINPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 24, idx, size, data, TxMessage)
608
609 /* Defines for struct adslATUCSubcarrierInfo */
610 #define FAREND_HLINSC 0x1
611
612 /* As per the feedback from Knut on 21/08/2006, the cmv command of HLINSC should be INFO 70 2 */
613 #define FAREND_HLINSC_MAKECMV(mode) makeCMV(mode, INFO, 70, 2, 1, data, TxMessage)
614 #define FAREND_HLINPS 0x2
615 #define FAREND_HLINPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 72, idx, size, data, TxMessage)
616 #define FAREND_HLOGMT 0x4
617 #define FAREND_HLOGMT_MAKECMV(mode) makeCMV(mode, INFO, 79, 0, 1, data, TxMessage)
618 #define FAREND_HLOGPS 0x8
619 #define FAREND_HLOGPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 74, idx, size, data, TxMessage)
620 #define FAREND_QLNMT 0x10
621 #define FAREND_QLNMT_MAKECMV(mode) makeCMV(mode, INFO, 79, 1, 1, data, TxMessage)
622 #define FAREND_QLNPS 0x20
623 #define FAREND_QLNPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 76, idx, size, data, TxMessage)
624 #define FAREND_SNRMT 0x40
625 #define FAREND_SNRMT_MAKECMV(mode) makeCMV(mode, INFO, 79, 2, 1, data, TxMessage)
626 #define FAREND_SNRPS 0x80
627 #define FAREND_SNRPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 11, idx, size, data, TxMessage)
628 #define FAREND_SNRPS_DIAG_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 10, idx, size, data, TxMessage)
629 #define FAREND_BITPS 0x100
630 #define FAREND_BITPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 23, idx, size, data, TxMessage)
631 #define FAREND_GAINPS 0x200
632 #define FAREND_GAINPS_MAKECMV(mode,idx,size) makeCMV(mode, INFO, 25, idx, size, data, TxMessage)
633
634
635 // GET_ADSL_POWER_SPECTRAL_DENSITY
636 #define NOMPSD_US_MAKECMV makeCMV(H2D_CMV_READ, INFO, 102, 0, 1, data, TxMessage)
637 #define NOMPSD_DS_MAKECMV makeCMV(H2D_CMV_READ, INFO, 102, 1, 1, data, TxMessage)
638 #define PCB_US_MAKECMV makeCMV(H2D_CMV_READ, INFO, 102, 6, 1, data, TxMessage)
639 #define PCB_DS_MAKECMV makeCMV(H2D_CMV_READ, INFO, 102, 7, 1, data, TxMessage)
640 #define RMSGI_US_MAKECMV makeCMV(H2D_CMV_READ, INFO, 102, 10, 1, data, TxMessage)
641 #define RMSGI_DS_MAKECMV makeCMV(H2D_CMV_READ, INFO, 102, 11, 1, data, TxMessage)
642
643 /////////////////////////////////////////////////Macro Definitions ? FLAG Setting & Testing
644
645 #define SET_FLAG(flags, flag_val) ((*flags) = ((*flags) | flag_val))
646 // -- This macro sets the flags with the flag_val. Here flags is passed as a pointer
647
648 #define IS_FLAG_SET(flags, test_flag) (((*flags) & (test_flag)) == (test_flag)? test_flag:0)
649 // -- This macro verifies whether test_flag has been set in flags. Here flags is passed as a pointer
650
651
652 #define CLR_FLAG(flags, flag_bit) ((*flags) = (*flags) & (~flag_bit))
653 // -- This macro resets the specified flag_bit in the flags. Here flags is passed as a pointer
654
655
656 ////////////////////////////////////////////////DATA STRUCTURES ORGANIZATION
657
658 //Here are the data structures used for accessing mib parameters. The ioctl call includes the third parameter as a void pointer. This parameter has to be type-casted in the driver code to the corresponding structure depending upon the command type. For Ex: consider the ioctl used to get the adslLineCode type, ioctl(fd,GET_ADSL_LINE_CODE,void *struct_adslLineTableEntry). In the driver code we check on the type of the command, i.e GET_ADSL_LINE_CODE and type-cast the void pointer to struct adslLineTableEntry type.
659 //
660 #define u32 unsigned int
661 #define u16 unsigned short
662 #define s16 short
663 #define u8 unsigned char
664
665
666 typedef u32 AdslPerfTimeElapsed;
667 typedef u32 AdslPerfPrevDayCount;
668 typedef u32 PerfCurrentCount;
669 typedef u32 PerfIntervalCount;
670 typedef u32 AdslPerfCurrDayCount;
671
672
673 //ioctl(int fd, GET_ADSL_LINE_CODE, void *struct_adslLineTableEntry)
674
675 typedef struct adslLineTableEntry {
676 int ifIndex;
677 int adslLineCode;
678 u8 flags;
679 } adslLineTableEntry;
680
681 #ifdef IFXMIPS_MEI_MIB_RFC3440
682 typedef struct adslLineExtTableEntry {
683 int ifIndex;
684 u16 adslLineTransAtucCap;
685 u16 adslLineTransAtucConfig;
686 u16 adslLineTransAtucActual;
687 int adslLineGlitePowerState;
688 u32 flags;
689 }adslLineExtTableEntry;
690 #endif
691 //ioctl(int fd, GET_ADSL_ATUC_PHY, void *struct_adslAtucPhysEntry)
692 #ifndef u_char
693 #define u_char u8
694 #endif
695
696 typedef struct adslVendorId {
697 u16 country_code;
698 u_char provider_id[4]; /* Ascii characters */
699 u_char revision_info[2];
700 }adslVendorId;
701
702 typedef struct adslAtucPhysEntry {
703 int ifIndex;
704 char serial_no[32];
705 union {
706 char vendor_id[16];
707 adslVendorId vendor_info;
708 } vendor_id;
709 char version_no[16];
710 u32 status;
711 int outputPwr;
712 u32 attainableRate;
713 u8 flags;
714 } adslAtucPhysEntry;
715
716
717 //ioctl(int fd, GET_ADSL_ATUR_PHY, void *struct_adslAturPhysEntry)
718
719 typedef struct adslAturPhysEntry {
720 int ifIndex;
721 char serial_no[32];
722 union {
723 char vendor_id[16];
724 adslVendorId vendor_info;
725 } vendor_id;
726 char version_no[16];
727 int SnrMgn;
728 u32 Attn;
729 u32 status;
730 int outputPwr;
731 u32 attainableRate;
732 u8 flags;
733 } adslAturPhysEntry;
734
735
736 //ioctl(int fd, GET_ADSL_ATUC_CHAN_INFO, void *struct_adslAtucChanInfo)
737
738 typedef struct adslAtucChanInfo {
739 int ifIndex;
740 u32 interleaveDelay;
741 u32 currTxRate;
742 u32 prevTxRate;
743 u8 flags;
744 } adslAtucChanInfo;
745
746
747 //ioctl(int fd, GET_ADSL_ATUR_CHAN_INFO, void *struct_adslAturChanInfo)
748
749 typedef struct adslAturChanInfo {
750 int ifIndex;
751 u32 interleaveDelay;
752 u32 currTxRate;
753 u32 prevTxRate;
754 u32 crcBlkLen;
755 u8 flags;
756 } adslAturChanInfo;
757
758
759 //ioctl(int fd, GET_ADSL_ATUC_PERF_DATA, void *struct_atucPerfDataEntry)
760
761 typedef struct atucPerfDataEntry
762 {
763 int ifIndex;
764 u32 adslAtucPerfLofs;
765 u32 adslAtucPerfLoss;
766 u32 adslAtucPerfESs;
767 u32 adslAtucPerfInits;
768 int adslAtucPerfValidIntervals;
769 int adslAtucPerfInvalidIntervals;
770 AdslPerfTimeElapsed adslAtucPerfCurr15MinTimeElapsed;
771 PerfCurrentCount adslAtucPerfCurr15MinLofs;
772 PerfCurrentCount adslAtucPerfCurr15MinLoss;
773 PerfCurrentCount adslAtucPerfCurr15MinESs;
774 PerfCurrentCount adslAtucPerfCurr15MinInits;
775 AdslPerfTimeElapsed adslAtucPerfCurr1DayTimeElapsed;
776 AdslPerfCurrDayCount adslAtucPerfCurr1DayLofs;
777 AdslPerfCurrDayCount adslAtucPerfCurr1DayLoss;
778 AdslPerfCurrDayCount adslAtucPerfCurr1DayESs;
779 AdslPerfCurrDayCount adslAtucPerfCurr1DayInits;
780 int adslAtucPerfPrev1DayMoniSecs;
781 AdslPerfPrevDayCount adslAtucPerfPrev1DayLofs;
782 AdslPerfPrevDayCount adslAtucPerfPrev1DayLoss;
783 AdslPerfPrevDayCount adslAtucPerfPrev1DayESs;
784 AdslPerfPrevDayCount adslAtucPerfPrev1DayInits;
785 u32 flags;
786 } atucPerfDataEntry;
787
788 #ifdef IFXMIPS_MEI_MIB_RFC3440
789 typedef struct atucPerfDataExtEntry
790 {
791 int ifIndex;
792 u32 adslAtucPerfStatFastR;
793 u32 adslAtucPerfStatFailedFastR;
794 u32 adslAtucPerfStatSesL;
795 u32 adslAtucPerfStatUasL;
796 u32 adslAtucPerfCurr15MinFastR;
797 u32 adslAtucPerfCurr15MinFailedFastR;
798 u32 adslAtucPerfCurr15MinSesL;
799 u32 adslAtucPerfCurr15MinUasL;
800 u32 adslAtucPerfCurr1DayFastR;
801 u32 adslAtucPerfCurr1DayFailedFastR;
802 u32 adslAtucPerfCurr1DaySesL;
803 u32 adslAtucPerfCurr1DayUasL;
804 u32 adslAtucPerfPrev1DayFastR;
805 u32 adslAtucPerfPrev1DayFailedFastR;
806 u32 adslAtucPerfPrev1DaySesL;
807 u32 adslAtucPerfPrev1DayUasL;
808 u32 flags;
809 } atucPerfDataExtEntry;
810
811 #endif
812 //ioctl(int fd, GET_ADSL_ATUR_PERF_DATA, void *struct_aturPerfDataEntry)
813
814 typedef struct aturPerfDataEntry
815 {
816 int ifIndex;
817 u32 adslAturPerfLofs;
818 u32 adslAturPerfLoss;
819 u32 adslAturPerfLprs;
820 u32 adslAturPerfESs;
821 int adslAturPerfValidIntervals;
822 int adslAturPerfInvalidIntervals;
823 AdslPerfTimeElapsed adslAturPerfCurr15MinTimeElapsed;
824 PerfCurrentCount adslAturPerfCurr15MinLofs;
825 PerfCurrentCount adslAturPerfCurr15MinLoss;
826 PerfCurrentCount adslAturPerfCurr15MinLprs;
827 PerfCurrentCount adslAturPerfCurr15MinESs;
828 AdslPerfTimeElapsed adslAturPerfCurr1DayTimeElapsed;
829 AdslPerfCurrDayCount adslAturPerfCurr1DayLofs;
830 AdslPerfCurrDayCount adslAturPerfCurr1DayLoss;
831 AdslPerfCurrDayCount adslAturPerfCurr1DayLprs;
832 AdslPerfCurrDayCount adslAturPerfCurr1DayESs;
833 int adslAturPerfPrev1DayMoniSecs;
834 AdslPerfPrevDayCount adslAturPerfPrev1DayLofs;
835 AdslPerfPrevDayCount adslAturPerfPrev1DayLoss;
836 AdslPerfPrevDayCount adslAturPerfPrev1DayLprs;
837 AdslPerfPrevDayCount adslAturPerfPrev1DayESs;
838 u32 flags;
839 } aturPerfDataEntry;
840
841 #ifdef IFXMIPS_MEI_MIB_RFC3440
842 typedef struct aturPerfDataExtEntry
843 {
844 int ifIndex;
845 u32 adslAturPerfStatSesL;
846 u32 adslAturPerfStatUasL;
847 u32 adslAturPerfCurr15MinSesL;
848 u32 adslAturPerfCurr15MinUasL;
849 u32 adslAturPerfCurr1DaySesL;
850 u32 adslAturPerfCurr1DayUasL;
851 u32 adslAturPerfPrev1DaySesL;
852 u32 adslAturPerfPrev1DayUasL;
853 u32 flags;
854 } aturPerfDataExtEntry;
855 #endif
856 //ioctl(int fd, GET_ADSL_ATUC_INTVL_INFO, void *struct_adslAtucInvtInfo)
857
858 typedef struct adslAtucIntvlInfo {
859 int ifIndex;
860 int IntervalNumber;
861 PerfIntervalCount intervalLOF;
862 PerfIntervalCount intervalLOS;
863 PerfIntervalCount intervalES;
864 PerfIntervalCount intervalInits;
865 int intervalValidData;
866 u8 flags;
867 } adslAtucIntvlInfo;
868
869 #ifdef IFXMIPS_MEI_MIB_RFC3440
870 typedef struct adslAtucInvtlExtInfo
871 {
872 int ifIndex;
873 int IntervalNumber;
874 u32 adslAtucIntervalFastR;
875 u32 adslAtucIntervalFailedFastR;
876 u32 adslAtucIntervalSesL;
877 u32 adslAtucIntervalUasL;
878 u32 flags;
879 } adslAtucInvtlExtInfo;
880 #endif
881 //ioctl(int fd, GET_ADSL_ATUR_INTVL_INFO, void *struct_adslAturInvtlInfo)
882
883 typedef struct adslAturIntvlInfo {
884 int ifIndex;
885 int IntervalNumber;
886 PerfIntervalCount intervalLOF;
887 PerfIntervalCount intervalLOS;
888 PerfIntervalCount intervalLPR;
889 PerfIntervalCount intervalES;
890 int intervalValidData;
891 u8 flags;
892 } adslAturIntvlInfo;
893
894 #ifdef IFXMIPS_MEI_MIB_RFC3440
895 typedef struct adslAturInvtlExtInfo
896 {
897 int ifIndex;
898 int IntervalNumber;
899 u32 adslAturIntervalSesL;
900 u32 adslAturIntervalUasL;
901 u32 flags;
902 } adslAturInvtlExtInfo;
903 #endif
904 //ioctl(int fd, GET_ADSL_ATUC_CHAN_PERF_DATA, void *struct_atucChannelPerfDataEntry)
905
906 typedef struct atucChannelPerfDataEntry
907 {
908 int ifIndex;
909 u32 adslAtucChanReceivedBlks;
910 u32 adslAtucChanTransmittedBlks;
911 u32 adslAtucChanCorrectedBlks;
912 u32 adslAtucChanUncorrectBlks;
913 int adslAtucChanPerfValidIntervals;
914 int adslAtucChanPerfInvalidIntervals;
915 AdslPerfTimeElapsed adslAtucChanPerfCurr15MinTimeElapsed;
916 PerfCurrentCount adslAtucChanPerfCurr15MinReceivedBlks;
917 PerfCurrentCount adslAtucChanPerfCurr15MinTransmittedBlks;
918 PerfCurrentCount adslAtucChanPerfCurr15MinCorrectedBlks;
919 PerfCurrentCount adslAtucChanPerfCurr15MinUncorrectBlks;
920 AdslPerfTimeElapsed adslAtucChanPerfCurr1DayTimeElapsed;
921 AdslPerfCurrDayCount adslAtucChanPerfCurr1DayReceivedBlks;
922 AdslPerfCurrDayCount adslAtucChanPerfCurr1DayTransmittedBlks;
923 AdslPerfCurrDayCount adslAtucChanPerfCurr1DayCorrectedBlks;
924 AdslPerfCurrDayCount adslAtucChanPerfCurr1DayUncorrectBlks;
925 int adslAtucChanPerfPrev1DayMoniSecs;
926 AdslPerfPrevDayCount adslAtucChanPerfPrev1DayReceivedBlks;
927 AdslPerfPrevDayCount adslAtucChanPerfPrev1DayTransmittedBlks;
928 AdslPerfPrevDayCount adslAtucChanPerfPrev1DayCorrectedBlks;
929 AdslPerfPrevDayCount adslAtucChanPerfPrev1DayUncorrectBlks;
930 u32 flags;
931 }atucChannelPerfDataEntry;
932
933
934 //ioctl(int fd, GET_ADSL_ATUR_CHAN_PERF_DATA, void *struct_aturChannelPerfDataEntry)
935
936 typedef struct aturChannelPerfDataEntry
937 {
938 int ifIndex;
939 u32 adslAturChanReceivedBlks;
940 u32 adslAturChanTransmittedBlks;
941 u32 adslAturChanCorrectedBlks;
942 u32 adslAturChanUncorrectBlks;
943 int adslAturChanPerfValidIntervals;
944 int adslAturChanPerfInvalidIntervals;
945 AdslPerfTimeElapsed adslAturChanPerfCurr15MinTimeElapsed;
946 PerfCurrentCount adslAturChanPerfCurr15MinReceivedBlks;
947 PerfCurrentCount adslAturChanPerfCurr15MinTransmittedBlks;
948 PerfCurrentCount adslAturChanPerfCurr15MinCorrectedBlks;
949 PerfCurrentCount adslAturChanPerfCurr15MinUncorrectBlks;
950 AdslPerfTimeElapsed adslAturChanPerfCurr1DayTimeElapsed;
951 AdslPerfCurrDayCount adslAturChanPerfCurr1DayReceivedBlks;
952 AdslPerfCurrDayCount adslAturChanPerfCurr1DayTransmittedBlks;
953 AdslPerfCurrDayCount adslAturChanPerfCurr1DayCorrectedBlks;
954 AdslPerfCurrDayCount adslAturChanPerfCurr1DayUncorrectBlks;
955 int adslAturChanPerfPrev1DayMoniSecs;
956 AdslPerfPrevDayCount adslAturChanPerfPrev1DayReceivedBlks;
957 AdslPerfPrevDayCount adslAturChanPerfPrev1DayTransmittedBlks;
958 AdslPerfPrevDayCount adslAturChanPerfPrev1DayCorrectedBlks;
959 AdslPerfPrevDayCount adslAturChanPerfPrev1DayUncorrectBlks;
960 u32 flags;
961 } aturChannelPerfDataEntry;
962
963
964 //ioctl(int fd, GET_ADSL_ATUC_CHAN_INTVL_INFO, void *struct_adslAtucChanIntvlInfo)
965
966 typedef struct adslAtucChanIntvlInfo {
967 int ifIndex;
968 int IntervalNumber;
969 PerfIntervalCount chanIntervalRecvdBlks;
970 PerfIntervalCount chanIntervalXmitBlks;
971 PerfIntervalCount chanIntervalCorrectedBlks;
972 PerfIntervalCount chanIntervalUncorrectBlks;
973 int intervalValidData;
974 u8 flags;
975 } adslAtucChanIntvlInfo;
976
977
978 //ioctl(int fd, GET_ADSL_ATUR_CHAN_INTVL_INFO, void *struct_adslAturChanIntvlInfo)
979
980 typedef struct adslAturChanIntvlInfo {
981 int ifIndex;
982 int IntervalNumber;
983 PerfIntervalCount chanIntervalRecvdBlks;
984 PerfIntervalCount chanIntervalXmitBlks;
985 PerfIntervalCount chanIntervalCorrectedBlks;
986 PerfIntervalCount chanIntervalUncorrectBlks;
987 int intervalValidData;
988 u8 flags;
989 } adslAturChanIntvlInfo;
990
991
992 //ioctl(int fd, GET_ADSL_ALRM_CONF_PROF, void *struct_adslLineAlarmConfProfileEntry)
993 //ioctl(int fd, SET_ADSL_ALRM_CONF_PROF, void *struct_adslLineAlarmConfProfileEntry)
994
995 typedef struct adslLineAlarmConfProfileEntry
996 {
997 unsigned char adslLineAlarmConfProfileName[32];
998 int adslAtucThresh15MinLofs;
999 int adslAtucThresh15MinLoss;
1000 int adslAtucThresh15MinESs;
1001 u32 adslAtucThreshFastRateUp;
1002 u32 adslAtucThreshInterleaveRateUp;
1003 u32 adslAtucThreshFastRateDown;
1004 u32 adslAtucThreshInterleaveRateDown;
1005 int adslAtucInitFailureTrapEnable;
1006 int adslAturThresh15MinLofs;
1007 int adslAturThresh15MinLoss;
1008 int adslAturThresh15MinLprs;
1009 int adslAturThresh15MinESs;
1010 u32 adslAturThreshFastRateUp;
1011 u32 adslAturThreshInterleaveRateUp;
1012 u32 adslAturThreshFastRateDown;
1013 u32 adslAturThreshInterleaveRateDown;
1014 int adslLineAlarmConfProfileRowStatus;
1015 u32 flags;
1016 } adslLineAlarmConfProfileEntry;
1017
1018 #ifdef IFXMIPS_MEI_MIB_RFC3440
1019 typedef struct adslLineAlarmConfProfileExtEntry
1020 {
1021 u8 adslLineAlarmConfProfileExtName[32];
1022 u32 adslAtucThreshold15MinFailedFastR;
1023 u32 adslAtucThreshold15MinSesL;
1024 u32 adslAtucThreshold15MinUasL;
1025 u32 adslAturThreshold15MinSesL;
1026 u32 adslAturThreshold15MinUasL;
1027 u32 flags;
1028 } adslLineAlarmConfProfileExtEntry;
1029 #endif
1030 //TRAPS
1031
1032 /* The following Data Sturctures are added to support the WEB related parameters for ADSL Statistics */
1033 typedef struct adslLineStatus
1034 {
1035 int adslModemStatus;
1036 u32 adslModeSelected;
1037 int adslAtucThresh15MinESs;
1038 int adslTrellisCodeEnable;
1039 int adslLatency;
1040 u8 flags;
1041 } adslLineStatusInfo;
1042
1043 typedef struct adslLineRate
1044 {
1045 u32 adslDataRateds;
1046 u32 adslDataRateus;
1047 u32 adslATTNDRds;
1048 u32 adslATTNDRus;
1049 u8 flags;
1050 } adslLineRateInfo;
1051
1052 typedef struct adslLineInfo
1053 {
1054 u32 adslInterleaveDepthds;
1055 u32 adslInterleaveDepthus;
1056 u32 adslLATNds;
1057 u32 adslLATNus;
1058 u32 adslSATNds;
1059 u32 adslSATNus;
1060 int adslSNRMds;
1061 int adslSNRMus;
1062 int adslACATPds;
1063 int adslACATPus;
1064 u32 flags;
1065 } adslLineInfo;
1066
1067 typedef struct adslNearEndPerfStats
1068 {
1069 u32 adslSuperFrames;
1070 u32 adslneLOS;
1071 u32 adslneLOF;
1072 u32 adslneLPR;
1073 u32 adslneNCD;
1074 u32 adslneLCD;
1075 u32 adslneCRC;
1076 u32 adslneRSCorr;
1077 u32 adslneFECS;
1078 u32 adslneES;
1079 u32 adslneSES;
1080 u32 adslneLOSS;
1081 u32 adslneUAS;
1082 u32 adslneHECErrors;
1083 u32 flags;
1084 } adslNearEndPerfStats;
1085
1086 typedef struct adslFarEndPerfStats
1087 {
1088 u32 adslfeLOS;
1089 u32 adslfeLOF;
1090 u32 adslfeLPR;
1091 u32 adslfeNCD;
1092 u32 adslfeLCD;
1093 u32 adslfeCRC;
1094 u32 adslfeRSCorr;
1095 u32 adslfeFECS;
1096 u32 adslfeES;
1097 u32 adslfeSES;
1098 u32 adslfeLOSS;
1099 u32 adslfeUAS;
1100 u32 adslfeHECErrors;
1101 u32 flags;
1102 } adslFarEndPerfStats;
1103
1104 /* The number of tones (and hence indexes) is dependent on the ADSL mode - G.992.1, G.992.2, G.992.3, * G.992.4 and G.992.5 */
1105 typedef struct adslATURSubcarrierInfo {
1106 int ifindex;
1107 u16 HLINSCds;
1108 u16 HLINpsds[1024];/* Even index = real part; Odd Index
1109 = imaginary part for each tone */
1110 u16 HLOGMTds;
1111 u16 HLOGpsds[512];
1112 u16 QLNMTds;
1113 u16 QLNpsds[512];
1114 u16 SNRMTds;
1115 u16 SNRpsds[512];
1116 u16 BITpsds[512];
1117 s16 GAINpsds[512]; /* Signed value in 0.1dB units. i.e dB * 10.
1118 Needs to be converted into linear scale*/
1119 u16 flags;
1120 }adslATURSubcarrierInfo;
1121
1122 typedef struct adslATUCSubcarrierInfo {
1123 int ifindex;
1124 u16 HLINSCus;
1125 u16 HLINpsus[128];/* Even index = real part; Odd Index
1126 = imaginary part for each tone */
1127 u16 HLOGMTus;
1128 u16 HLOGpsus[64];
1129 u16 QLNMTus;
1130 u16 QLNpsus[64];
1131 u16 SNRMTus;
1132 u16 SNRpsus[64];
1133 u16 BITpsus[64];
1134 s16 GAINpsus[64]; /* Signed value in 0.1dB units. i.e dB * 10.
1135 Needs to be converted into linear scale*/
1136 u16 flags;
1137 }adslATUCSubcarrierInfo;
1138
1139 #ifndef u_int16
1140 #define u_int16 u16
1141 #endif
1142
1143 typedef struct adslInitStats {
1144 u_int16 FullInitializationCount;
1145 u_int16 FailedFullInitializationCount;
1146 u_int16 LINIT_Errors;
1147 u_int16 Init_Timeouts;
1148 }adslInitStats;
1149
1150 typedef struct adslPowerSpectralDensity {
1151 int ACTPSDds;
1152 int ACTPSDus;
1153 }adslPowerSpectralDensity;
1154
1155 //ioctl(int fd, ADSL_ATUR_TRAPS, void *uint16_flags)
1156 typedef union structpts {
1157 adslLineTableEntry * adslLineTableEntry_pt;
1158 adslAtucPhysEntry * adslAtucPhysEntry_pt;
1159 adslAturPhysEntry * adslAturPhysEntry_pt;
1160 adslAtucChanInfo * adslAtucChanInfo_pt;
1161 adslAturChanInfo * adslAturChanInfo_pt;
1162 atucPerfDataEntry * atucPerfDataEntry_pt;
1163 aturPerfDataEntry * aturPerfDataEntry_pt;
1164 adslAtucIntvlInfo * adslAtucIntvlInfo_pt;
1165 adslAturIntvlInfo * adslAturIntvlInfo_pt;
1166 atucChannelPerfDataEntry * atucChannelPerfDataEntry_pt;
1167 aturChannelPerfDataEntry * aturChannelPerfDataEntry_pt;
1168 adslAtucChanIntvlInfo * adslAtucChanIntvlInfo_pt;
1169 adslAturChanIntvlInfo * adslAturChanIntvlInfo_pt;
1170 adslLineAlarmConfProfileEntry * adslLineAlarmConfProfileEntry_pt;
1171 // RFC 3440
1172
1173 #ifdef IFXMIPS_MEI_MIB_RFC3440
1174 adslLineExtTableEntry * adslLineExtTableEntry_pt;
1175 atucPerfDataExtEntry * atucPerfDataExtEntry_pt;
1176 adslAtucInvtlExtInfo * adslAtucInvtlExtInfo_pt;
1177 aturPerfDataExtEntry * aturPerfDataExtEntry_pt;
1178 adslAturInvtlExtInfo * adslAturInvtlExtInfo_pt;
1179 adslLineAlarmConfProfileExtEntry * adslLineAlarmConfProfileExtEntry_pt;
1180 #endif
1181 adslLineStatusInfo * adslLineStatusInfo_pt;
1182 adslLineRateInfo * adslLineRateInfo_pt;
1183 adslLineInfo * adslLineInfo_pt;
1184 adslNearEndPerfStats * adslNearEndPerfStats_pt;
1185 adslFarEndPerfStats * adslFarEndPerfStats_pt;
1186 adslATUCSubcarrierInfo * adslATUCSubcarrierInfo_pt;
1187 adslATURSubcarrierInfo * adslATURSubcarrierInfo_pt;
1188 adslPowerSpectralDensity * adslPowerSpectralDensity_pt;
1189 }structpts;
1190
1191 #endif /* ] __IFXMIPS_MEI_APP_IOCTL_H */