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