Root/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
642typedef u32 AdslPerfTimeElapsed;
643typedef u32 AdslPerfPrevDayCount;
644typedef u32 PerfCurrentCount;
645typedef u32 PerfIntervalCount;
646typedef u32 AdslPerfCurrDayCount;
647
648
649//ioctl(int fd, GET_ADSL_LINE_CODE, void *struct_adslLineTableEntry)
650
651typedef struct adslLineTableEntry {
652    int ifIndex;
653    int adslLineCode;
654    u8 flags;
655} adslLineTableEntry;
656
657#ifdef AMAZON_MEI_MIB_RFC3440
658typedef 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
669typedef struct adslVendorId {
670    u16 country_code;
671    u_char provider_id[4]; /* Ascii characters */
672    u_char revision_info[2];
673}adslVendorId;
674
675
676typedef 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
694typedef 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
713typedef 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
724typedef 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
736typedef 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
764typedef 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
789typedef 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
817typedef 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
833typedef 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
845typedef 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
858typedef 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
870typedef 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
881typedef 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
911typedef 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
941typedef 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
955typedef 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
970typedef 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
994typedef 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 */
1009typedef struct adslLineStatus
1010 {
1011    int adslModemStatus;
1012    u32 adslModeSelected;
1013    int adslAtucThresh15MinESs;
1014    int adslTrellisCodeEnable;
1015    int adslLatency;
1016    u8 flags;
1017 } adslLineStatusInfo;
1018
1019typedef struct adslLineRate
1020 {
1021    u32 adslDataRateds;
1022    u32 adslDataRateus;
1023    u32 adslATTNDRds;
1024    u32 adslATTNDRus;
1025    u8 flags;
1026 } adslLineRateInfo;
1027
1028typedef 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
1043typedef 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
1062typedef 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 */
1082typedef 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
1098typedef 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
1118typedef struct adslInitStats {
1119    u_int16 FullInitializationCount;
1120    u_int16 FailedFullInitializationCount;
1121    u_int16 LINIT_Errors;
1122    u_int16 Init_Timeouts;
1123}adslInitStats;
1124
1125typedef struct adslPowerSpectralDensity {
1126    int ACTPSDds;
1127    int ACTPSDus;
1128}adslPowerSpectralDensity;
1129
1130
1131//ioctl(int fd, ADSL_ATUR_TRAPS, void *uint16_flags)
1132typedef 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 */
1170

Archive Download this file



interactive