From 69947536fb6208ffaef0d04126c541dda7f5d39d Mon Sep 17 00:00:00 2001
From: Yalu Zhang <yalu.zhang@iopsys.eu>
Date: Wed, 10 Apr 2019 11:22:09 +0200
Subject: [PATCH] Synchronize with UGW-8.1.1: Remove src/include/mcat3.0/

---
 .../mcat3.0/drv_dsl_cpe_vrx_msg_config_pmd.h  | 3635 -----------
 .../mcat3.0/drv_dsl_cpe_vrx_msg_const.h       |  611 --
 .../mcat3.0/drv_dsl_cpe_vrx_msg_dmt_scope.h   |  571 --
 .../mcat3.0/drv_dsl_cpe_vrx_msg_ghs_status.h  | 5422 -----------------
 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_olr.h | 3875 ------------
 .../mcat3.0/drv_dsl_cpe_vrx_msg_perf_pmd.h    | 1674 -----
 .../mcat3.0/drv_dsl_cpe_vrx_msg_tc_counters.h | 2195 -------
 7 files changed, 17983 deletions(-)
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_config_pmd.h
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_const.h
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_dmt_scope.h
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_ghs_status.h
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_olr.h
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_perf_pmd.h
 delete mode 100644 src/include/mcat3.0/drv_dsl_cpe_vrx_msg_tc_counters.h

diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_config_pmd.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_config_pmd.h
deleted file mode 100644
index b39b581..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_config_pmd.h
+++ /dev/null
@@ -1,3635 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_CONFIG_PMD_H_
-#define _DRV_DSL_CPE_VRX_MSG_CONFIG_PMD_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _CONFIG_PMD_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Message Specific Constants Definition section ----- */
-#define ACK_ModemFSM_StateGet_RESET_STATE 0
-#define ACK_ModemFSM_StateGet_READY_STATE 1
-#define ACK_ModemFSM_StateGet_FAIL_STATE 2
-#define ACK_ModemFSM_StateGet_DIAG_COMPLETE_STATE 3
-#define ACK_ModemFSM_StateGet_GHS_STATE 5
-#define ACK_ModemFSM_StateGet_FULLINIT_STATE 6
-#define ACK_ModemFSM_StateGet_STEADY_STATE_TC_NOSYNC 7
-#define ACK_ModemFSM_StateGet_STEADY_STATE_TC_SYNC 8
-#define ACK_ModemFSM_StateGet_DIAGMODE_STATE 9
-#define ACK_ModemFSM_StateGet_T1413_STATE 14
-#define ACK_ModemFSM_StateGet_PRE_FAIL_STATE 15
-#define ACK_ModemFSM_StateGet_GHS_BONDING_CLR_STATE 16
-#define ACK_ModemFSM_StateGet_MFD_STATE 18
-#define ACK_ModemFSM_StateGet_MFD_COMPLETE_STATE 19
-#define ACK_ModemFSM_StateGet_TEST_STATE 240
-#define ACK_ModemFSM_StateGet_L0 0
-#define ACK_ModemFSM_StateGet_L2 2
-#define ACK_ModemFSM_StateGet_L3 3
-#define EVT_ModemFSM_StateGet_RESET_STATE 0
-#define EVT_ModemFSM_StateGet_READY_STATE 1
-#define EVT_ModemFSM_StateGet_FAIL_STATE 2
-#define EVT_ModemFSM_StateGet_DIAG_COMPLETE_STATE 3
-#define EVT_ModemFSM_StateGet_GHS_STATE 5
-#define EVT_ModemFSM_StateGet_FULLINIT_STATE 6
-#define EVT_ModemFSM_StateGet_STEADY_STATE_TC_NOSYNC 7
-#define EVT_ModemFSM_StateGet_STEADY_STATE_TC_SYNC 8
-#define EVT_ModemFSM_StateGet_DIAGMODE_STATE 9
-#define EVT_ModemFSM_StateGet_T1413_STATE 14
-#define EVT_ModemFSM_StateGet_PRE_FAIL_STATE 15
-#define EVT_ModemFSM_StateGet_GHS_BONDING_CLR_STATE 16
-#define EVT_ModemFSM_StateGet_MFD_STATE 18
-#define EVT_ModemFSM_StateGet_MFD_COMPLETE_STATE 19
-#define EVT_ModemFSM_StateGet_TEST_STATE 240
-#define EVT_ModemFSM_StateGet_L0 0
-#define EVT_ModemFSM_StateGet_L2 2
-#define EVT_ModemFSM_StateGet_L3 3
-#define EVT_ModemReady_MRERR_OK 0x0
-#define EVT_ModemReady_MRWARN_OK 0x0
-#define CMD_ModemFSM_StateSet_LINKRES 0
-#define CMD_ModemFSM_StateSet_LINKINI 2
-#define CMD_ModemFSM_StateSet_TERMINATE 4
-#define CMD_ModemFSM_StateSet_TESTSTA 8
-#define CMD_ModemFSM_StateSet_MFD 9
-#define ALM_ModemFSM_FailReasonGet_S_OK 0x0
-#define ALM_ModemFSM_FailReasonGet_S_CODESWAP 0x1
-#define ALM_ModemFSM_FailReasonGet_S_MINRATE_DS 0x4
-#define ALM_ModemFSM_FailReasonGet_S_INIT 0x5
-#define ALM_ModemFSM_FailReasonGet_S_MODE 0x6
-#define ALM_ModemFSM_FailReasonGet_S_TIMEOUT 0x9
-#define ALM_ModemFSM_FailReasonGet_S_XDSL_MODE 0xA
-#define ALM_ModemFSM_FailReasonGet_S_PORT_MODE 0xB
-#define ALM_ModemFSM_FailReasonGet_S_T1413_MODE 0xC
-#define ALM_ModemFSM_FailReasonGet_S_GFAST_MODE 0xD
-#define ALM_ModemFSM_FailReasonGet_S_FW_RETRY 0xE
-#define ALM_ModemFSM_FailReasonGet_S_FW_HYBRID 0xF
-#define ALM_ModemFSM_FailReasonGet_S_LOS 0x10
-#define ALM_ModemFSM_FailReasonGet_S_LOF 0x11
-#define ALM_ModemFSM_FailReasonGet_S_LPR 0x12
-#define ALM_ModemFSM_FailReasonGet_S_LOM 0x13
-#define ALM_ModemFSM_FailReasonGet_S_FAST_LOS 0x14
-#define ALM_ModemFSM_FailReasonGet_S_ESE 0x15
-#define ALM_ModemFSM_FailReasonGet_S_SESX 0x16
-#define ALM_ModemFSM_FailReasonGet_S_ESX 0x17
-#define ALM_ModemFSM_FailReasonGet_S_OOS0 0x18
-#define ALM_ModemFSM_FailReasonGet_S_LCD0 0x20
-#define ALM_ModemFSM_FailReasonGet_S_NCD0 0x22
-#define ALM_ModemFSM_FailReasonGet_S_CRC_DS 0x24
-#define ALM_ModemFSM_FailReasonGet_S_PP_DRIVER 0x25
-#define ALM_ModemFSM_FailReasonGet_S_INTENDED_LOCAL_SHUTDOWN 0x26
-#define ALM_ModemFSM_FailReasonGet_S_HW 0x27
-#define ALM_ModemFSM_FailReasonGet_S_CALIBRATION 0x28
-#define ALM_ModemFSM_FailReasonGet_S_PP_CLOCK_NEW 0x29
-#define ALM_ModemFSM_FailReasonGet_E_OK 0x0
-#define ALM_ModemFSM_FailReasonGet_E_CONFIG 0x1
-#define ALM_ModemFSM_FailReasonGet_E_NOTFEASIBLE 0x2
-#define ALM_ModemFSM_FailReasonGet_E_COMM 0x3
-#define ALM_ModemFSM_FailReasonGet_E_COMMCRC 0x4
-#define ALM_ModemFSM_FailReasonGet_E_NOPEER 0x5
-#define ALM_ModemFSM_FailReasonGet_E_CHIPSET 0x6
-#define ALM_ModemFSM_FailReasonGet_E_UNKNOWN 0x7
-#define ALM_ModemFSM_FailReasonGet_E_RESERVED 0x8
-#define ALM_ModemFSM_FailReasonGet_E_SHOWTIME_NE 0x10
-#define ALM_ModemFSM_FailReasonGet_E_SHOWTIME_FE 0x11
-#define ACK_ModemFSM_FailReasonGet_S_OK 0x0
-#define ACK_ModemFSM_FailReasonGet_S_CODESWAP 0x1
-#define ACK_ModemFSM_FailReasonGet_S_MINRATE_DS 0x4
-#define ACK_ModemFSM_FailReasonGet_S_INIT 0x5
-#define ACK_ModemFSM_FailReasonGet_S_MODE 0x6
-#define ACK_ModemFSM_FailReasonGet_S_TIMEOUT 0x9
-#define ACK_ModemFSM_FailReasonGet_S_XDSL_MODE 0xA
-#define ACK_ModemFSM_FailReasonGet_S_PORT_MODE 0xB
-#define ACK_ModemFSM_FailReasonGet_S_T1413_MODE 0xC
-#define ACK_ModemFSM_FailReasonGet_S_GFAST_MODE 0xD
-#define ACK_ModemFSM_FailReasonGet_S_FW_RETRY 0xE
-#define ACK_ModemFSM_FailReasonGet_S_FW_HYBRID 0xF
-#define ACK_ModemFSM_FailReasonGet_S_LOS 0x10
-#define ACK_ModemFSM_FailReasonGet_S_LOF 0x11
-#define ACK_ModemFSM_FailReasonGet_S_LPR 0x12
-#define ACK_ModemFSM_FailReasonGet_S_LOM 0x13
-#define ACK_ModemFSM_FailReasonGet_S_FAST_LOS 0x14
-#define ACK_ModemFSM_FailReasonGet_S_ESE 0x15
-#define ACK_ModemFSM_FailReasonGet_S_SESX 0x16
-#define ACK_ModemFSM_FailReasonGet_S_ESX 0x17
-#define ACK_ModemFSM_FailReasonGet_S_OOS0 0x18
-#define ACK_ModemFSM_FailReasonGet_S_LCD0 0x20
-#define ACK_ModemFSM_FailReasonGet_S_NCD0 0x22
-#define ACK_ModemFSM_FailReasonGet_S_CRC_DS 0x24
-#define ACK_ModemFSM_FailReasonGet_S_PP_DRIVER 0x25
-#define ACK_ModemFSM_FailReasonGet_S_INTENDED_LOCAL_SHUTDOWN 0x26
-#define ACK_ModemFSM_FailReasonGet_S_HW 0x27
-#define ACK_ModemFSM_FailReasonGet_S_CALIBRATION 0x28
-#define ACK_ModemFSM_FailReasonGet_S_PP_CLOCK_NEW 0x29
-#define ACK_ModemFSM_FailReasonGet_E_OK 0x0
-#define ACK_ModemFSM_FailReasonGet_E_CONFIG 0x1
-#define ACK_ModemFSM_FailReasonGet_E_NOTFEASIBLE 0x2
-#define ACK_ModemFSM_FailReasonGet_E_COMM 0x3
-#define ACK_ModemFSM_FailReasonGet_E_COMMCRC 0x4
-#define ACK_ModemFSM_FailReasonGet_E_NOPEER 0x5
-#define ACK_ModemFSM_FailReasonGet_E_CHIPSET 0x6
-#define ACK_ModemFSM_FailReasonGet_E_UNKNOWN 0x7
-#define ACK_ModemFSM_FailReasonGet_E_RESERVED 0x8
-#define ACK_ModemFSM_FailReasonGet_E_SHOWTIME_NE 0x10
-#define ACK_ModemFSM_FailReasonGet_E_SHOWTIME_FE 0x11
-#define ACK_TxL3RequestStatusGet_L3PENDING 0
-#define ACK_TxL3RequestStatusGet_L3REJECTED 1
-#define ACK_TxL3RequestStatusGet_L3ACCEPTED 2
-#define ACK_TxL3RequestStatusGet_L3FAIL 3
-#define ACK_TxL3ReqFailReasonGet_BUSY 0x01
-#define ACK_TxL3ReqFailReasonGet_INVALID 0x02
-#define ACK_TxL3ReqFailReasonGet_STATE_NOT_DESIRED 0x03
-#define ACK_TxL3ReqFailReasonGet_NOT_L0 0x50
-#define ACK_TxL3ReqFailReasonGet_TIMEOUT 0x90
-#define CMD_ModemFSM_Freeze_FREEZE_OFF 0
-#define CMD_ModemFSM_Freeze_PERIODIC 1
-#define CMD_ModemFSM_Freeze_RP_CHDISC2 2
-#define CMD_ModemFSM_Freeze_MEDLEY 4
-#define CMD_ModemFSM_Freeze_SHOWTIME 8
-#define CMD_ModemFSM_Freeze_SHOWTIME_GI1 16
-#define ACK_FW_ImageInfoGet_STANDALONE 0x0
-#define ACK_FW_ImageInfoGet_COMBINED 0x1
-#define ACK_FW_ImageInfoGet_VDSL_FW 0x0
-#define ACK_FW_ImageInfoGet_ADSL_FW 0x1
-#define ACK_FW_ImageInfoGet_CPE_FW 0x1
-#define CMD_APS_Status_Set_1PORT 1
-#define CMD_APS_Status_Set_2PORT 2
-#define CMD_APS_Status_Set_APIDEF 0
-#define CMD_APS_Status_Set_ADSL 1
-#define CMD_APS_Status_Set_VDSL 2
-#define CMD_APS_Status_Set_FAST 3
-#define CMD_APS_Status_Set_AUTO 0
-#define CMD_APS_Status_Set_STANDARD 1
-#define CMD_APS_Status_Set_NONSTANDARD 2
-#define CMD_APS_Status_Set_GHSMODE 1
-#define CMD_APS_Status_Set_T1413MODE 2
-#define CMD_BearerCh0_DS_Set_FV 21
-#define CMD_BearerCh0_DS_Set_MAX_BER3 0
-#define CMD_BearerCh0_DS_Set_MAX_BER5 1
-#define CMD_BearerCh0_DS_Set_MAX_BER7 2
-#define ACK_BearerCh0_DS_Set_FV 21
-#define CMD_BearerCh0_US_Set_FV 21
-#define CMD_BearerCh0_US_Set_MAX_BER3 0
-#define CMD_BearerCh0_US_Set_MAX_BER5 1
-#define CMD_BearerCh0_US_Set_MAX_BER7 2
-#define ACK_BearerCh0_US_Set_FV 21
-#define CMD_InitPolicySet_MAX_NETRATE 0x0
-#define CMD_InitPolicySet_MAX_INP 0x1
-#define CMD_ErasureControlSet_MAX_NETRATE 0x0
-#define CMD_ErasureControlSet_MAX_INP 0x1
-#define CMD_Misc_ConfigSet_GHSMODE 0x0
-#define CMD_Misc_ConfigSet_T1413MODE 0x1
-#define CMD_OperatorSelect_TELCO_OFF 0
-#define CMD_OperatorSelect_TELCO_DTAG 1
-#define CMD_OperatorSelect_TELCO_BT 2
-#define CMD_OperatorSelect_TELCO_TS 3
-#define CMD_OperatorSelect_TELCO_FT 4
-#define CMD_OperatorSelect_TELCO_KPN 5
-#define CMD_OperatorSelect_TELCO_TELIA 6
-#define CMD_OperatorSelect_TELCO_FIBERHOME 7
-#define CMD_OperatorSelect_TELCO_CT 8
-#define CMD_OperatorSelect_TELCO_TW 9
-#define CMD_OperatorSelect_TELCO_VODAFONE 10
-#define CMD_OperatorSelect_TELCO_CN 11
-#define CMD_OperatorSelect_TELCO_OTE 12
-#define CMD_OperatorSelect_TELCO_TELMEX 13
-#define CMD_OperatorSelect_TELCO_ATT 14
-#define CMD_OperatorSelect_TELCO_SWISSCOM 15
-#define CMD_OperatorSelect_TELCO_NETGEAR 16
-#define ACK_OperatorSelectionGet_TELCO_OFF 0
-#define ACK_OperatorSelectionGet_TELCO_DTAG 1
-#define ACK_OperatorSelectionGet_TELCO_BT 2
-#define ACK_OperatorSelectionGet_TELCO_TS 3
-#define ACK_OperatorSelectionGet_TELCO_FT 4
-#define ACK_OperatorSelectionGet_TELCO_KPN 5
-#define ACK_OperatorSelectionGet_TELCO_TELIA 6
-#define ACK_OperatorSelectionGet_TELCO_FIBERHOME 7
-#define ACK_OperatorSelectionGet_TELCO_CT 8
-#define ACK_OperatorSelectionGet_TELCO_TW 9
-#define ACK_OperatorSelectionGet_TELCO_VODAFONE 10
-#define ACK_OperatorSelectionGet_TELCO_CN 11
-#define ACK_OperatorSelectionGet_TELCO_OTE 12
-#define ACK_OperatorSelectionGet_TELCO_TELMEX 13
-#define ACK_OperatorSelectionGet_TELCO_ATT 14
-#define ACK_OperatorSelectionGet_TELCO_SWISSCOM 15
-#define ACK_OperatorSelectionGet_TELCO_NETGEAR 16
-/* ----- Message Specific Constants Definition section (End) ----- */
-
-/** Message ID for CMD_ModemFSM_StateGet */
-#define CMD_MODEMFSM_STATEGET 0x0002
-
-/**
-   Requests information about the current state of the modem state-machine.The
-   command can be sent in all states of the modem state machine (see Figure 2).
-*/
-typedef struct CMD_ModemFSM_StateGet CMD_ModemFSM_StateGet_t;
-
-/** Message ID for ACK_ModemFSM_StateGet */
-#define ACK_MODEMFSM_STATEGET 0x0002
-
-/**
-   Returns information about the current state of the modem state-machine.
-*/
-typedef struct ACK_ModemFSM_StateGet ACK_ModemFSM_StateGet_t;
-
-/** Message ID for EVT_ModemFSM_StateGet */
-#define EVT_MODEMFSM_STATEGET 0x0002
-
-/**
-   Returns information about the current state of the modem state-machine. This
-   message is sent autonomously, if the modem enters a new state and reporting
-   is enabled for that state (see CMD_ModemFSM_EventConfigure).
-*/
-typedef struct EVT_ModemFSM_StateGet EVT_ModemFSM_StateGet_t;
-
-/** Message ID for EVT_ModemReady */
-#define EVT_MODEMREADY 0xFF02
-
-/**
-   Autonomous message indicating that the modem online code was reached and that
-   initialization was completed. The management entity may not perform any
-   query-response messaging until the EVT_ModemReady message is received. Its
-   generation cannot be disabled. If it is not received this indicates a
-   problem, possibly with the boot sequence. If the message is received, it
-   contains a result code that may also indicate that an error was detected by
-   the firmware during initialization.
-*/
-typedef struct EVT_ModemReady EVT_ModemReady_t;
-
-/** Message ID for CMD_ModemFSM_StateSet */
-#define CMD_MODEMFSM_STATESET 0x0041
-
-/**
-   Controls state transitions of the modem state-machine.
-*/
-typedef struct CMD_ModemFSM_StateSet CMD_ModemFSM_StateSet_t;
-
-/** Message ID for ACK_ModemFSM_StateSet */
-#define ACK_MODEMFSM_STATESET 0x0041
-
-/**
-   Acknowledgement for message CMD_ModemFSM_StateSet
-*/
-typedef struct ACK_ModemFSM_StateSet ACK_ModemFSM_StateSet_t;
-
-/** Message ID for ALM_ModemFSM_FailReasonGet */
-#define ALM_MODEMFSM_FAILREASONGET 0x0502
-
-/**
-   Reports failure information after entering FAIL state. This message is sent
-   autonomously without host request after entrance into FAIL was indicated by
-   EVT_ModemFSM_StateGet. Both messages are generated only if enabled with
-   CMD_ModemFSM_EventConfigure (common Bit E8 "FAIL").
-*/
-typedef struct ALM_ModemFSM_FailReasonGet ALM_ModemFSM_FailReasonGet_t;
-
-/** Message ID for CMD_ModemFSM_FailReasonGet */
-#define CMD_MODEMFSM_FAILREASONGET 0x0502
-
-/**
-   Requests failure information after entering FAIL state.
-*/
-typedef struct CMD_ModemFSM_FailReasonGet CMD_ModemFSM_FailReasonGet_t;
-
-/** Message ID for ACK_ModemFSM_FailReasonGet */
-#define ACK_MODEMFSM_FAILREASONGET 0x0502
-
-/**
-   Returns failure information after entering FAIL state.
-*/
-typedef struct ACK_ModemFSM_FailReasonGet ACK_ModemFSM_FailReasonGet_t;
-
-/** Message ID for CMD_ModemFSM_OptionsSet */
-#define CMD_MODEMFSM_OPTIONSSET 0x0449
-
-/**
-   Configuration of options for the modem state machine.
-*/
-typedef struct CMD_ModemFSM_OptionsSet CMD_ModemFSM_OptionsSet_t;
-
-/** Message ID for ACK_ModemFSM_OptionsSet */
-#define ACK_MODEMFSM_OPTIONSSET 0x0449
-
-/**
-   Acknowledgement to CMD_ModemFSM_OptionsSet.
-*/
-typedef struct ACK_ModemFSM_OptionsSet ACK_ModemFSM_OptionsSet_t;
-
-/** Message ID for CMD_ModemOptionsSet */
-#define CMD_MODEMOPTIONSSET 0x0062
-
-/**
-   Configuration of options for the modem state machine.
-*/
-typedef struct CMD_ModemOptionsSet CMD_ModemOptionsSet_t;
-
-/** Message ID for ACK_ModemOptionsSet */
-#define ACK_MODEMOPTIONSSET 0x0062
-
-/**
-   Acknowledgement to CMD_ModemOptionsSet.
-*/
-typedef struct ACK_ModemOptionsSet ACK_ModemOptionsSet_t;
-
-/** Message ID for CMD_ModemFSM_EventConfigure */
-#define CMD_MODEMFSM_EVENTCONFIGURE 0x0049
-
-/**
-   Sets options for the modem state-machine. Enables/Disables autonomous
-   messages for specific state transitions (EVT_ModemFSM_StateGet). The EVT
-   message is generated after entering the particular state listed in the
-   parameter description of the enable bits.
-*/
-typedef struct CMD_ModemFSM_EventConfigure CMD_ModemFSM_EventConfigure_t;
-
-/** Message ID for ACK_ModemFSM_EventConfigure */
-#define ACK_MODEMFSM_EVENTCONFIGURE 0x0049
-
-/**
-   Acknowledgement for CMD_ModemFSM_EventConfigure. (Enabling/Disabling EVENT
-   messages (EVTs) for specific state transitions.)
-*/
-typedef struct ACK_ModemFSM_EventConfigure ACK_ModemFSM_EventConfigure_t;
-
-/** Message ID for CMD_FailuresNE_AlarmConfigure */
-#define CMD_FAILURESNE_ALARMCONFIGURE 0x0149
-
-/**
-   Enables/Disables the generation of ALARM messages (ALM) for specific near-end
-   line failures. If the corresponding Enable bit for a line failure is set,
-   then the modem firmware will send an autonomous message ALM_LineFailureNE_Get
-   if this failure occurs.
-*/
-typedef struct CMD_FailuresNE_AlarmConfigure CMD_FailuresNE_AlarmConfigure_t;
-
-/** Message ID for ACK_FailuresNE_AlarmConfigure */
-#define ACK_FAILURESNE_ALARMCONFIGURE 0x0149
-
-/**
-   Acknowledgement to CMD_FailuresNE_AlarmConfigure.
-*/
-typedef struct ACK_FailuresNE_AlarmConfigure ACK_FailuresNE_AlarmConfigure_t;
-
-/** Message ID for CMD_FailuresFE_AlarmConfigure */
-#define CMD_FAILURESFE_ALARMCONFIGURE 0x0249
-
-/**
-   Enables/Disables the generation of ALARM messages (ALM) for specific far-end
-   line failures. If the corresponding Enable bit for a line failure is set,
-   then the modem firmware will send an autonomous message ALM_LineFailureFE_Get
-   if this failure occurs.
-*/
-typedef struct CMD_FailuresFE_AlarmConfigure CMD_FailuresFE_AlarmConfigure_t;
-
-/** Message ID for ACK_FailuresFE_AlarmConfigure */
-#define ACK_FAILURESFE_ALARMCONFIGURE 0x0249
-
-/**
-   Acknowledgement to CMD_FailuresFE_AlarmConfigure.
-*/
-typedef struct ACK_FailuresFE_AlarmConfigure ACK_FailuresFE_AlarmConfigure_t;
-
-/** Message ID for CMD_ReInitNE_Configure */
-#define CMD_REINITNE_CONFIGURE 0x0549
-
-/**
-   Configures re-initialization triggers for near-end failure conditions in
-   modem state STEADY STATE transmission (see Figure 1). This command is
-   accepted in RESET state only.
-*/
-typedef struct CMD_ReInitNE_Configure CMD_ReInitNE_Configure_t;
-
-/** Message ID for ACK_ReInitNE_Configure */
-#define ACK_REINITNE_CONFIGURE 0x0549
-
-/**
-   Acknowledgment to CMD_ReInitNE_Configure (Configuration of re-initialization
-   triggers for near-end failures).
-*/
-typedef struct ACK_ReInitNE_Configure ACK_ReInitNE_Configure_t;
-
-/** Message ID for CMD_ReinitThreshConfigure */
-#define CMD_REINITTHRESHCONFIGURE 0x1E62
-
-/**
-   Configuration of reinitialization trigger definitions.
-*/
-typedef struct CMD_ReinitThreshConfigure CMD_ReinitThreshConfigure_t;
-
-/** Message ID for ACK_ReinitThreshConfigure */
-#define ACK_REINITTHRESHCONFIGURE 0x1E62
-
-/**
-   Acknowledgement for the message ACK_ReinitThreshConfigure.
-*/
-typedef struct ACK_ReinitThreshConfigure ACK_ReinitThreshConfigure_t;
-
-/** Message ID for CMD_ShutdownRequest */
-#define CMD_SHUTDOWNREQUEST 0x0341
-
-/**
-   Triggers a shutdown request, either as "L3 orderly shutdown" towards the
-   remote side or as "locally forced shutdown" to the DSL-FW without sending a
-   request to the remote side.After an "L3 orderly shutdown" request was
-   accepted by the CO, the following shall happen: The CPE-Host forces L3 entry
-   with transition to RESET state by applying CMD_ModemFSM_StateGet.A "locally
-   forced shutdown" always results in exiting Showtime.
-*/
-typedef struct CMD_ShutdownRequest CMD_ShutdownRequest_t;
-
-/** Message ID for ACK_ShutdownRequest */
-#define ACK_SHUTDOWNREQUEST 0x0341
-
-/**
-   Acknowledgement for CMD_ShutdownRequest.
-*/
-typedef struct ACK_ShutdownRequest ACK_ShutdownRequest_t;
-
-/** Message ID for CMD_RxL3RequestStatusGet */
-#define CMD_RXL3REQUESTSTATUSGET 0x0402
-
-/**
-   Requests information about L3 orderly shutdown requests initiated from the
-   remote side.Applying CMD_RxL3RequestStatusGet allows the host to determine
-   whether a near-end LOS or LOM failure is due to an L3 shutdown or an
-   unexpected line failure.
-*/
-typedef struct CMD_RxL3RequestStatusGet CMD_RxL3RequestStatusGet_t;
-
-/** Message ID for ACK_RxL3RequestStatusGet */
-#define ACK_RXL3REQUESTSTATUSGET 0x0402
-
-/**
-   Acknowledgement for CMD_RxL3RequestStatusGet.As long as the modem is in L0
-   (Showtime), an ATU-R will automatically respond to any L3 request from the
-   ATU-C by sending an accept message.  If the ATU-R is in L2 mode when it
-   receives the request, it will send a reject message. Upon receiving an
-   acceptance, the remote side should enter L3 state and shut off its
-   transmitter.
-*/
-typedef struct ACK_RxL3RequestStatusGet ACK_RxL3RequestStatusGet_t;
-
-/** Message ID for CMD_TxL3RequestStatusGet */
-#define CMD_TXL3REQUESTSTATUSGET 0x1402
-
-/**
-   Requests the status of a near-end initiated L3 shutdown request. If the
-   remote side accepted the request, in ADSL the host will force L3 entry using
-   CMD_ModemFSM_StateSet.
-*/
-typedef struct CMD_TxL3RequestStatusGet CMD_TxL3RequestStatusGet_t;
-
-/** Message ID for ACK_TxL3RequestStatusGet */
-#define ACK_TXL3REQUESTSTATUSGET 0x1402
-
-/**
-   Acknowledgement for CMD_TxL3RequestStatusGet.
-*/
-typedef struct ACK_TxL3RequestStatusGet ACK_TxL3RequestStatusGet_t;
-
-/** Message ID for CMD_TxL3ReqFailReasonGet */
-#define CMD_TXL3REQFAILREASONGET 0x1502
-
-/**
-   Requests the fail reason of a failed near-end initiated L3 request. (see also
-   ACK_TxL3RequestStatusGet)
-*/
-typedef struct CMD_TxL3ReqFailReasonGet CMD_TxL3ReqFailReasonGet_t;
-
-/** Message ID for ACK_TxL3ReqFailReasonGet */
-#define ACK_TXL3REQFAILREASONGET 0x1502
-
-/**
-   Reports the fail reason of a near-end initiated L3 request, as response to
-   CMD_TxL3ReqFailReasonGet.
-*/
-typedef struct ACK_TxL3ReqFailReasonGet ACK_TxL3ReqFailReasonGet_t;
-
-/** Message ID for CMD_ModemFSM_Freeze */
-#define CMD_MODEMFSM_FREEZE 0x2C44
-
-/**
-   The message selects and enables one of several points during the
-   initialization process where -after a normal link start had been triggered-
-   the modem FSM "freezes". Freezing means the CO can be disconnected from the
-   line and still the CPE continues transmitting the signal of the current
-   phase. To exit from the freeze a state transition to RESET state has to be
-   triggered. In case of a Showtime Freeze the reinit-triggers do not have any
-   effect.
-*/
-typedef struct CMD_ModemFSM_Freeze CMD_ModemFSM_Freeze_t;
-
-/** Message ID for ACK_ModemFSM_Freeze */
-#define ACK_MODEMFSM_FREEZE 0x2C44
-
-/**
-   Acknowledgement for message CMD_ModemFSM_Freeze.
-*/
-typedef struct ACK_ModemFSM_Freeze ACK_ModemFSM_Freeze_t;
-
-/** Message ID for CMD_FW_ImageInfoGet */
-#define CMD_FW_IMAGEINFOGET 0xD103
-
-/**
-   Requests information about the loaded FW image. This info is used e.g. for
-   swapping between ADSL and VDSL.
-*/
-typedef struct CMD_FW_ImageInfoGet CMD_FW_ImageInfoGet_t;
-
-/** Message ID for ACK_FW_ImageInfoGet */
-#define ACK_FW_IMAGEINFOGET 0xD103
-
-/**
-   Provides the information about the FW image requested by CMD_FW_ImageInfoGet
-*/
-typedef struct ACK_FW_ImageInfoGet ACK_FW_ImageInfoGet_t;
-
-/** Message ID for CMD_APS_Status_Set */
-#define CMD_APS_STATUS_SET 0x2062
-
-/**
-   The message informs the FW about the status of SW parameters relevant for the
-   multimode state machine (APS). This can be used to trace the APS behaviour
-   with FW tools. The message does not influence the APS behaviour.
-*/
-typedef struct CMD_APS_Status_Set CMD_APS_Status_Set_t;
-
-/** Message ID for ACK_APS_Status_Set */
-#define ACK_APS_STATUS_SET 0x2062
-
-/**
-   Acknowledgement for message CMD_APS_Status_Set.
-*/
-typedef struct ACK_APS_Status_Set ACK_APS_Status_Set_t;
-
-/** Message ID for CMD_XTSE_Configure */
-#define CMD_XTSE_CONFIGURE 0x0045
-
-/**
-   Configuration of the VTU Transmission System Enabling (XTSE).Configures the
-   transmission system coding types to be supported on the line (VDSL flavour
-   and annex support).(References: Section 7.3.1.1.1 of G.997.1 and G.994.1 Amd4
-   [10] Tables "Standard information field - SPar(1) coding")
-*/
-typedef struct CMD_XTSE_Configure CMD_XTSE_Configure_t;
-
-/** Message ID for ACK_XTSE_Configure */
-#define ACK_XTSE_CONFIGURE 0x0045
-
-/**
-   Acknowledgement for message CMD_XTSE_Configure.
-*/
-typedef struct ACK_XTSE_Configure ACK_XTSE_Configure_t;
-
-/** Message ID for CMD_BandControl_US_Set */
-#define CMD_BANDCONTROL_US_SET 0x2548
-
-/**
-   Controls the upstream band usage.The message can only be used for DMTscope
-   tests without handshake and training phases.
-*/
-typedef struct CMD_BandControl_US_Set CMD_BandControl_US_Set_t;
-
-/** Message ID for ACK_BandControl_US_Set */
-#define ACK_BANDCONTROL_US_SET 0x2548
-
-/**
-   Acknowledgement for message CMD_BandControl_US_Set.
-*/
-typedef struct ACK_BandControl_US_Set ACK_BandControl_US_Set_t;
-
-/** Message ID for CMD_PSD_Set */
-#define CMD_PSD_SET 0x2348
-
-/**
-   Configuration of PSD and Power parameters. Only used for DMTscope tests
-   without handshake and training phases.
-*/
-typedef struct CMD_PSD_Set CMD_PSD_Set_t;
-
-/** Message ID for ACK_PSD_Set */
-#define ACK_PSD_SET 0x2348
-
-/**
-   Acknowledgement for the message CMD_PSD_Set.
-*/
-typedef struct ACK_PSD_Set ACK_PSD_Set_t;
-
-/** Message ID for CMD_PSD_BreakpointsTxUS_Set */
-#define CMD_PSD_BREAKPOINTSTXUS_SET 0x2848
-
-/**
-   Specifies the maximum upstream transmit PSD by means of breakpoints.To be
-   used only for DMTscope tests without handshake and training phases.
-*/
-typedef struct CMD_PSD_BreakpointsTxUS_Set CMD_PSD_BreakpointsTxUS_Set_t;
-
-/** Message ID for ACK_PSD_BreakpointsTxUS_Set */
-#define ACK_PSD_BREAKPOINTSTXUS_SET 0x2848
-
-/**
-   Acknowledgement for the message CMD_PSD_BreakpointsTxUS_Set.
-*/
-typedef struct ACK_PSD_BreakpointsTxUS_Set ACK_PSD_BreakpointsTxUS_Set_t;
-
-/** Message ID for  CMD_PSD_Calibration_DS_Set */
-#define  CMD_PSD_CALIBRATION_DS_SET 0x5748
-
-/**
-   Sends downstream calibration information for "per-tone" test parameters. It
-   is effective for Loop Diagnostic Mode (DELT) and Showtime. It is the
-   responsibility of the manufacturer to provide the data.
-*/
-typedef struct  CMD_PSD_Calibration_DS_Set CMD_PSD_Calibration_DS_Set_t;
-
-/** Message ID for ACK_PSD_Calibration_DS_Set */
-#define ACK_PSD_CALIBRATION_DS_SET 0x5748
-
-/**
-   Acknowledgement for the message CMD_PSD_Calibration_DS_Set.
-*/
-typedef struct ACK_PSD_Calibration_DS_Set ACK_PSD_Calibration_DS_Set_t;
-
-/** Message ID for  CMD_PSD_Calibration_US_Set */
-#define  CMD_PSD_CALIBRATION_US_SET 0x5848
-
-/**
-   Sends upstream calibration information for the upstream transmit PSD. It is
-   effective for loop diagnostic mode (DELT) and Showtime. It is the
-   responsibility of the manufacturer to provide the data.
-*/
-typedef struct  CMD_PSD_Calibration_US_Set CMD_PSD_Calibration_US_Set_t;
-
-/** Message ID for ACK_PSD_Calibration_US_Set */
-#define ACK_PSD_CALIBRATION_US_SET 0x5848
-
-/**
-   Acknowledgement for the message CMD_PSD_Calibration_US_Set.
-*/
-typedef struct ACK_PSD_Calibration_US_Set ACK_PSD_Calibration_US_Set_t;
-
-/** Message ID for CMD_PSD_OptionsSet */
-#define CMD_PSD_OPTIONSSET 0x0262
-
-/**
-   Configuration of PSD related options.
-*/
-typedef struct CMD_PSD_OptionsSet CMD_PSD_OptionsSet_t;
-
-/** Message ID for ACK_PSD_OptionsSet */
-#define ACK_PSD_OPTIONSSET 0x0262
-
-/**
-   Acknowledgement to CMD_PSD_OptionsSet.
-*/
-typedef struct ACK_PSD_OptionsSet ACK_PSD_OptionsSet_t;
-
-/** Message ID for CMD_UPBO_KL0Get */
-#define CMD_UPBO_KL0GET 0xD603
-
-/**
-   Requests the electrical loop length estimate kl0.
-*/
-typedef struct CMD_UPBO_KL0Get CMD_UPBO_KL0Get_t;
-
-/** Message ID for ACK_UPBO_KL0Get */
-#define ACK_UPBO_KL0GET 0xD603
-
-/**
-   Delivers the data requested by CMD_UPBO_KL0Get.(Section 7.5.1.23 of G.997.1
-   [11])
-*/
-typedef struct ACK_UPBO_KL0Get ACK_UPBO_KL0Get_t;
-
-/** Message ID for CMD_PBO_AELEM_Status_Get */
-#define CMD_PBO_AELEM_STATUS_GET 0xEA03
-
-/**
-   Requests status parameters for the Upstream  Power  Back-Off  (UPBO)
-   alternative  electrical  length  estimation  method (AELEM).
-*/
-typedef struct CMD_PBO_AELEM_Status_Get CMD_PBO_AELEM_Status_Get_t;
-
-/** Message ID for ACK_PBO_AELEM_Status_Get */
-#define ACK_PBO_AELEM_STATUS_GET 0xEA03
-
-/**
-   Upstream  Power  Back-Off  (UPBO)  status  parameters  for  the  alternative
-   electrical  length  estimation  method (AELEM) are reported.
-*/
-typedef struct ACK_PBO_AELEM_Status_Get ACK_PBO_AELEM_Status_Get_t;
-
-/** Message ID for CMD_NoiseMarginDeltaSet */
-#define CMD_NOISEMARGINDELTASET 0x1C45
-
-/**
-   Configuration of a target noise margin delta, which is added to the target
-   noise margin value configured at the CO (and in case of the CPE received from
-   there). The resulting value is then taken as target noise margin, e.g. for
-   bit loading.
-*/
-typedef struct CMD_NoiseMarginDeltaSet CMD_NoiseMarginDeltaSet_t;
-
-/** Message ID for ACK_NoiseMarginDeltaSet */
-#define ACK_NOISEMARGINDELTASET 0x1C45
-
-/**
-   Acknowledgement for the message CMD_NoiseMarginDeltaSet.
-*/
-typedef struct ACK_NoiseMarginDeltaSet ACK_NoiseMarginDeltaSet_t;
-
-/** Message ID for CMD_BearerCh0_DS_Set */
-#define CMD_BEARERCH0_DS_SET 0x0048
-
-/**
-   Sets parameters for downstream bearer channel 0 (Chapters 7.3.2.1-5 of
-   G.997.1 [11]). Bearer channel configuration at the CPE is optional and just
-   used to further limit the parameters usually configured at the CO.The mode,
-   ATM or PTM, is selected with the configuration controls "ATMControl" and
-   "PTMControl" in Parameter 2. Exactly one of them must be enabled, not both!
-*/
-typedef struct CMD_BearerCh0_DS_Set CMD_BearerCh0_DS_Set_t;
-
-/** Message ID for ACK_BearerCh0_DS_Set */
-#define ACK_BEARERCH0_DS_SET 0x0048
-
-/**
-   Acknowledgement for CMD_BearerCh0_DS_Set. (Configuration of bearer channel
-   0).
-*/
-typedef struct ACK_BearerCh0_DS_Set ACK_BearerCh0_DS_Set_t;
-
-/** Message ID for CMD_BearerCh0_US_Set */
-#define CMD_BEARERCH0_US_SET 0x0248
-
-/**
-   Sets parameters for upstream bearer channel 0 (Chapters 7.3.2.1-5 of G.997.1
-   [11]). Bearer channel configuration at the CPE is optional and just used to
-   further limit the parameters usually configured at the CO.The mode, ATM or
-   PTM, is selected with the configuration controls "ATMControl" and
-   "PTMControl" in Parameter 2. Exactly one of them must be enabled, not both!
-*/
-typedef struct CMD_BearerCh0_US_Set CMD_BearerCh0_US_Set_t;
-
-/** Message ID for ACK_BearerCh0_US_Set */
-#define ACK_BEARERCH0_US_SET 0x0248
-
-/**
-   Acknowledgement for CMD_BearerCh0_US_Set. (Configuration of bearer channel
-   0).
-*/
-typedef struct ACK_BearerCh0_US_Set ACK_BearerCh0_US_Set_t;
-
-/** Message ID for CMD_InitPolicySet */
-#define CMD_INITPOLICYSET 0x1A45
-
-/**
-   The message selects the channel initialization policy (CIPOLICY) to be
-   applied for the tranceiver configuration. (Section 7.3.2.10 of G.997.1)In
-   ADSL mode, the message is applicable only for ADSL2/2+ (Section 7.10.3 of
-   G.992.3 Amd 3). The standard defines the parameter for the CO only. Here, the
-   message is applied at the ADSL-CPE, then it overrides the policy given by the
-   CO!
-*/
-typedef struct CMD_InitPolicySet CMD_InitPolicySet_t;
-
-/** Message ID for ACK_InitPolicySet */
-#define ACK_INITPOLICYSET 0x1A45
-
-/**
-   Acknowledgment for message CMD_InitPolicySet.
-*/
-typedef struct ACK_InitPolicySet ACK_InitPolicySet_t;
-
-/** Message ID for CMD_ErasureControlSet */
-#define CMD_ERASURECONTROLSET 0x0162
-
-/**
-   Configuration of options for the modem state machine.
-*/
-typedef struct CMD_ErasureControlSet CMD_ErasureControlSet_t;
-
-/** Message ID for ACK_ErasureControlSet */
-#define ACK_ERASURECONTROLSET 0x0162
-
-/**
-   Acknowledgement to CMD_ErasureControlSet.
-*/
-typedef struct ACK_ErasureControlSet ACK_ErasureControlSet_t;
-
-/** Message ID for CMD_Misc_ConfigSet */
-#define CMD_MISC_CONFIGSET 0x3A48
-
-/**
-   Performs some miscellaneous chip set configurations.
-*/
-typedef struct CMD_Misc_ConfigSet CMD_Misc_ConfigSet_t;
-
-/** Message ID for ACK_Misc_ConfigSet */
-#define ACK_MISC_CONFIGSET 0x3A48
-
-/**
-   This is the acknowledgement for ACK_Misc_ConfigSet.
-*/
-typedef struct ACK_Misc_ConfigSet ACK_Misc_ConfigSet_t;
-
-/** Message ID for CMD_OperationOptionsSet */
-#define CMD_OPERATIONOPTIONSSET 0x0D62
-
-/**
-   Performs some miscellaneous chip set configurations.
-*/
-typedef struct CMD_OperationOptionsSet CMD_OperationOptionsSet_t;
-
-/** Message ID for ACK_OperationOptionsSet */
-#define ACK_OPERATIONOPTIONSSET 0x0D62
-
-/**
-   This is the acknowledgement for CMD_OperationOptionsSet.
-*/
-typedef struct ACK_OperationOptionsSet ACK_OperationOptionsSet_t;
-
-/** Message ID for CMD_OperatorSelect */
-#define CMD_OPERATORSELECT 0x1562
-
-/**
-   The message selects a DSL operator. The information is used to configure
-   operator specific settings inside the DSL firmware.
-*/
-typedef struct CMD_OperatorSelect CMD_OperatorSelect_t;
-
-/** Message ID for ACK_OperatorSelect */
-#define ACK_OPERATORSELECT 0x1562
-
-/**
-   This is the acknowledgement for ACK_OperatorSelect.
-*/
-typedef struct ACK_OperatorSelect ACK_OperatorSelect_t;
-
-/** Message ID for CMD_OperatorSelectionGet */
-#define CMD_OPERATORSELECTIONGET 0x1522
-
-/**
-   The message reads back the selected DSL operator, as selected by
-   ACK_OperatorSelect.
-*/
-typedef struct CMD_OperatorSelectionGet CMD_OperatorSelectionGet_t;
-
-/** Message ID for ACK_OperatorSelectionGet */
-#define ACK_OPERATORSELECTIONGET 0x1522
-
-/**
-   The message provides the selected DSL operator.
-*/
-typedef struct ACK_OperatorSelectionGet ACK_OperatorSelectionGet_t;
-
-/** Message ID for CMD_TestOptionsSet */
-#define CMD_TESTOPTIONSSET 0x1C44
-
-/**
-   The messages configures settings for test modes.
-*/
-typedef struct CMD_TestOptionsSet CMD_TestOptionsSet_t;
-
-/** Message ID for ACK_TestOptionsSet */
-#define ACK_TESTOPTIONSSET 0x1C44
-
-/**
-   This is the acknowledgement for CMD_TestOptionsSet.
-*/
-typedef struct ACK_TestOptionsSet ACK_TestOptionsSet_t;
-
-/** Message ID for CMD_ClockSet */
-#define CMD_CLOCKSET 0x0F62
-
-/**
-   Sets the PPE clock.
-*/
-typedef struct CMD_ClockSet CMD_ClockSet_t;
-
-/** Message ID for ACK_ClockSet */
-#define ACK_CLOCKSET 0x0F62
-
-/**
-   This is the acknowledgement for CMD_ClockSet.
-*/
-typedef struct ACK_ClockSet ACK_ClockSet_t;
-
-/** Message ID for CMD_PLL_ClockSet */
-#define CMD_PLL_CLOCKSET 0x1962
-
-/**
-   Sets an offset for the PLL frequency compared to the crystals rated nominal
-   frequency of 36 MHz. This allows e.g. to finetune the handshake tone
-   frequencies to exactly match the standard values.
-*/
-typedef struct CMD_PLL_ClockSet CMD_PLL_ClockSet_t;
-
-/** Message ID for ACK_PLL_ClockSet */
-#define ACK_PLL_CLOCKSET 0x1962
-
-/**
-   This is the acknowledgement for CMD_PLL_ClockSet.
-*/
-typedef struct ACK_PLL_ClockSet ACK_PLL_ClockSet_t;
-
-/**
-   Requests information about the current state of the modem state-machine.The
-   command can be sent in all states of the modem state machine (see Figure 2).
-*/
-struct CMD_ModemFSM_StateGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the current state of the modem state-machine.
-*/
-struct ACK_ModemFSM_StateGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Modem Status */
-   DSL_uint16_t ModemState;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Line Power Management State */
-   DSL_uint16_t LxState : 2;
-   /** Last HS State or SOC Message */
-   DSL_uint16_t State_HsOrSoc;
-   /** RX Signal */
-   DSL_uint16_t RxSignal;
-   /** TX Signal */
-   DSL_uint16_t TxSignal;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Modem Status */
-   DSL_uint16_t ModemState;
-   /** Line Power Management State */
-   DSL_uint16_t LxState : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Last HS State or SOC Message */
-   DSL_uint16_t State_HsOrSoc;
-   /** RX Signal */
-   DSL_uint16_t RxSignal;
-   /** TX Signal */
-   DSL_uint16_t TxSignal;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the current state of the modem state-machine. This
-   message is sent autonomously, if the modem enters a new state and reporting
-   is enabled for that state (see CMD_ModemFSM_EventConfigure).
-*/
-struct EVT_ModemFSM_StateGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Modem Status */
-   DSL_uint16_t ModemState;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Line Power Management State */
-   DSL_uint16_t LxState : 2;
-   /** Last HS State or SOC Message */
-   DSL_uint16_t State_HsOrSoc;
-   /** RX Signal */
-   DSL_uint16_t RxSignal;
-   /** TX Signal */
-   DSL_uint16_t TxSignal;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Modem Status */
-   DSL_uint16_t ModemState;
-   /** Line Power Management State */
-   DSL_uint16_t LxState : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Last HS State or SOC Message */
-   DSL_uint16_t State_HsOrSoc;
-   /** RX Signal */
-   DSL_uint16_t RxSignal;
-   /** TX Signal */
-   DSL_uint16_t TxSignal;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Autonomous message indicating that the modem online code was reached and that
-   initialization was completed. The management entity may not perform any
-   query-response messaging until the EVT_ModemReady message is received. Its
-   generation cannot be disabled. If it is not received this indicates a
-   problem, possibly with the boot sequence. If the message is received, it
-   contains a result code that may also indicate that an error was detected by
-   the firmware during initialization.
-*/
-struct EVT_ModemReady
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Error Code */
-   DSL_uint8_t ErrorCode;
-   /** Warning Code */
-   DSL_uint8_t WarningCode;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Warning Code */
-   DSL_uint8_t WarningCode;
-   /** Error Code */
-   DSL_uint8_t ErrorCode;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Controls state transitions of the modem state-machine.
-*/
-struct CMD_ModemFSM_StateSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 12;
-   /** Link Control */
-   DSL_uint16_t LinkControl : 4;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Link Control */
-   DSL_uint16_t LinkControl : 4;
-   /** Reserved */
-   DSL_uint16_t Res0 : 12;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_ModemFSM_StateSet
-*/
-struct ACK_ModemFSM_StateSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports failure information after entering FAIL state. This message is sent
-   autonomously without host request after entrance into FAIL was indicated by
-   EVT_ModemFSM_StateGet. Both messages are generated only if enabled with
-   CMD_ModemFSM_EventConfigure (common Bit E8 "FAIL").
-*/
-struct ALM_ModemFSM_FailReasonGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** System Sub Error Code */
-   DSL_uint8_t SubErrorCode;
-   /** System Error Code */
-   DSL_uint8_t ErrorCode;
-   /** Failure State Information */
-   DSL_uint16_t FW_FailCode;
-   /** Reserved */
-   DSL_uint16_t Res0[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** System Error Code */
-   DSL_uint8_t ErrorCode;
-   /** System Sub Error Code */
-   DSL_uint8_t SubErrorCode;
-   /** Failure State Information */
-   DSL_uint16_t FW_FailCode;
-   /** Reserved */
-   DSL_uint16_t Res0[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests failure information after entering FAIL state.
-*/
-struct CMD_ModemFSM_FailReasonGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns failure information after entering FAIL state.
-*/
-struct ACK_ModemFSM_FailReasonGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** System Sub Error Code */
-   DSL_uint8_t SubErrorCode;
-   /** System Error Code */
-   DSL_uint8_t ErrorCode;
-   /** Failure State Information */
-   DSL_uint16_t FW_FailCode;
-   /** Reserved */
-   DSL_uint16_t Res0[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** System Error Code */
-   DSL_uint8_t ErrorCode;
-   /** System Sub Error Code */
-   DSL_uint8_t SubErrorCode;
-   /** Failure State Information */
-   DSL_uint16_t FW_FailCode;
-   /** Reserved */
-   DSL_uint16_t Res0[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of options for the modem state machine.
-*/
-struct CMD_ModemFSM_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 5;
-   /** L2 Extensions of G.992.3 Amd4 (2011), (ADSL only), Bit 10 */
-   DSL_uint16_t E10 : 1;
-   /** L2 Automatic Exit (ADSL only), Bit 9 */
-   DSL_uint16_t E9 : 1;
-   /** L2 Low-Power Mode Enable (ADSL only), Bit 8 */
-   DSL_uint16_t E8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 5;
-   /** Loop Diagnostic Mode Control, Bit 2 */
-   DSL_uint16_t E2 : 1;
-   /** Reserved 0 */
-   DSL_uint16_t E1 : 1;
-   /** Automatic Re-Start Control, Bit 0 */
-   DSL_uint16_t E0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Automatic Re-Start Control, Bit 0 */
-   DSL_uint16_t E0 : 1;
-   /** Reserved 0 */
-   DSL_uint16_t E1 : 1;
-   /** Loop Diagnostic Mode Control, Bit 2 */
-   DSL_uint16_t E2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 5;
-   /** L2 Low-Power Mode Enable (ADSL only), Bit 8 */
-   DSL_uint16_t E8 : 1;
-   /** L2 Automatic Exit (ADSL only), Bit 9 */
-   DSL_uint16_t E9 : 1;
-   /** L2 Extensions of G.992.3 Amd4 (2011), (ADSL only), Bit 10 */
-   DSL_uint16_t E10 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 5;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_ModemFSM_OptionsSet.
-*/
-struct ACK_ModemFSM_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of options for the modem state machine.
-*/
-struct CMD_ModemOptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 10;
-   /** Steady-State Algorithm Control, Bit5 */
-   DSL_uint16_t Trellis : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** AELEM Control (VDSL only), Bit 3 */
-   DSL_uint16_t enableAelem : 1;
-   /** Short Init Control (ADSL only), Bit 2 */
-   DSL_uint16_t shortInit : 1;
-   /** US Virtual Noise Support, Bit 1 */
-   DSL_uint16_t enableVN_US : 1;
-   /** DS Virtual Noise Support, Bit 0 */
-   DSL_uint16_t enableVN_DS : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** DS Virtual Noise Support, Bit 0 */
-   DSL_uint16_t enableVN_DS : 1;
-   /** US Virtual Noise Support, Bit 1 */
-   DSL_uint16_t enableVN_US : 1;
-   /** Short Init Control (ADSL only), Bit 2 */
-   DSL_uint16_t shortInit : 1;
-   /** AELEM Control (VDSL only), Bit 3 */
-   DSL_uint16_t enableAelem : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Steady-State Algorithm Control, Bit5 */
-   DSL_uint16_t Trellis : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 10;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_ModemOptionsSet.
-*/
-struct ACK_ModemOptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets options for the modem state-machine. Enables/Disables autonomous
-   messages for specific state transitions (EVT_ModemFSM_StateGet). The EVT
-   message is generated after entering the particular state listed in the
-   parameter description of the enable bits.
-*/
-struct CMD_ModemFSM_EventConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Enable Bit 15 */
-   DSL_uint16_t E15 : 1;
-   /** Enable Bit 14 */
-   DSL_uint16_t E14 : 1;
-   /** Enable Bit 13 */
-   DSL_uint16_t E13 : 1;
-   /** Enable Bit 12 */
-   DSL_uint16_t E12 : 1;
-   /** Enable Bit 11 */
-   DSL_uint16_t E11 : 1;
-   /** Enable Bit 10 */
-   DSL_uint16_t E10 : 1;
-   /** Enable Bit 9 */
-   DSL_uint16_t E9 : 1;
-   /** Enable Bit 8 */
-   DSL_uint16_t E8 : 1;
-   /** Enable Bit 7 */
-   DSL_uint16_t E7 : 1;
-   /** Enable Bit 6 */
-   DSL_uint16_t E6 : 1;
-   /** Enable Bit 5 */
-   DSL_uint16_t E5 : 1;
-   /** Enable Bit 4 */
-   DSL_uint16_t E4 : 1;
-   /** Enable Bit 3 */
-   DSL_uint16_t E3 : 1;
-   /** Enable Bit 2 */
-   DSL_uint16_t E2 : 1;
-   /** Enable Bit 1 (ADSL only) */
-   DSL_uint16_t E1 : 1;
-   /** Enable Bit 0 */
-   DSL_uint16_t E0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Enable Bit 0 */
-   DSL_uint16_t E0 : 1;
-   /** Enable Bit 1 (ADSL only) */
-   DSL_uint16_t E1 : 1;
-   /** Enable Bit 2 */
-   DSL_uint16_t E2 : 1;
-   /** Enable Bit 3 */
-   DSL_uint16_t E3 : 1;
-   /** Enable Bit 4 */
-   DSL_uint16_t E4 : 1;
-   /** Enable Bit 5 */
-   DSL_uint16_t E5 : 1;
-   /** Enable Bit 6 */
-   DSL_uint16_t E6 : 1;
-   /** Enable Bit 7 */
-   DSL_uint16_t E7 : 1;
-   /** Enable Bit 8 */
-   DSL_uint16_t E8 : 1;
-   /** Enable Bit 9 */
-   DSL_uint16_t E9 : 1;
-   /** Enable Bit 10 */
-   DSL_uint16_t E10 : 1;
-   /** Enable Bit 11 */
-   DSL_uint16_t E11 : 1;
-   /** Enable Bit 12 */
-   DSL_uint16_t E12 : 1;
-   /** Enable Bit 13 */
-   DSL_uint16_t E13 : 1;
-   /** Enable Bit 14 */
-   DSL_uint16_t E14 : 1;
-   /** Enable Bit 15 */
-   DSL_uint16_t E15 : 1;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_ModemFSM_EventConfigure. (Enabling/Disabling EVENT
-   messages (EVTs) for specific state transitions.)
-*/
-struct ACK_ModemFSM_EventConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables the generation of ALARM messages (ALM) for specific near-end
-   line failures. If the corresponding Enable bit for a line failure is set,
-   then the modem firmware will send an autonomous message ALM_LineFailureNE_Get
-   if this failure occurs.
-*/
-struct CMD_FailuresNE_AlarmConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** Enable Bit 13 */
-   DSL_uint16_t E13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** Enable Bit3 */
-   DSL_uint16_t E3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Enable Bit1 */
-   DSL_uint16_t E1 : 1;
-   /** Enable Bit0 */
-   DSL_uint16_t E0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Enable Bit0 */
-   DSL_uint16_t E0 : 1;
-   /** Enable Bit1 */
-   DSL_uint16_t E1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Enable Bit3 */
-   DSL_uint16_t E3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** Enable Bit 13 */
-   DSL_uint16_t E13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_FailuresNE_AlarmConfigure.
-*/
-struct ACK_FailuresNE_AlarmConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables the generation of ALARM messages (ALM) for specific far-end
-   line failures. If the corresponding Enable bit for a line failure is set,
-   then the modem firmware will send an autonomous message ALM_LineFailureFE_Get
-   if this failure occurs.
-*/
-struct CMD_FailuresFE_AlarmConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 12;
-   /** Enable Bit3 */
-   DSL_uint16_t E3 : 1;
-   /** Enable Bit2 */
-   DSL_uint16_t E2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Enable Bit0 */
-   DSL_uint16_t E0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Enable Bit0 */
-   DSL_uint16_t E0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Enable Bit2 */
-   DSL_uint16_t E2 : 1;
-   /** Enable Bit3 */
-   DSL_uint16_t E3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 12;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_FailuresFE_AlarmConfigure.
-*/
-struct ACK_FailuresFE_AlarmConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configures re-initialization triggers for near-end failure conditions in
-   modem state STEADY STATE transmission (see Figure 1). This command is
-   accepted in RESET state only.
-*/
-struct CMD_ReInitNE_Configure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** ESE */
-   DSL_uint16_t E13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** OOS BC0 */
-   DSL_uint16_t E10 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** NCD BC0 */
-   DSL_uint16_t E8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 1;
-   /** LCD BC0 */
-   DSL_uint16_t E6 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 2;
-   /** LOM */
-   DSL_uint16_t E3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 1;
-   /** LOF */
-   DSL_uint16_t E1 : 1;
-   /** LOS */
-   DSL_uint16_t E0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 14;
-   /** ESx */
-   DSL_uint16_t F1 : 1;
-   /** SESx */
-   DSL_uint16_t F0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** LOS */
-   DSL_uint16_t E0 : 1;
-   /** LOF */
-   DSL_uint16_t E1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 1;
-   /** LOM */
-   DSL_uint16_t E3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 2;
-   /** LCD BC0 */
-   DSL_uint16_t E6 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 1;
-   /** NCD BC0 */
-   DSL_uint16_t E8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** OOS BC0 */
-   DSL_uint16_t E10 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** ESE */
-   DSL_uint16_t E13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** SESx */
-   DSL_uint16_t F0 : 1;
-   /** ESx */
-   DSL_uint16_t F1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgment to CMD_ReInitNE_Configure (Configuration of re-initialization
-   triggers for near-end failures).
-*/
-struct ACK_ReInitNE_Configure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of reinitialization trigger definitions.
-*/
-struct CMD_ReinitThreshConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SESx Reinit Period */
-   DSL_uint16_t SESxPeriod;
-   /** LOM Persistency Time for Reinit */
-   DSL_uint16_t LomRiPeriod;
-   /** ESx Reinit Period */
-   DSL_uint16_t ESxPeriod;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SESx Reinit Period */
-   DSL_uint16_t SESxPeriod;
-   /** LOM Persistency Time for Reinit */
-   DSL_uint16_t LomRiPeriod;
-   /** ESx Reinit Period */
-   DSL_uint16_t ESxPeriod;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message ACK_ReinitThreshConfigure.
-*/
-struct ACK_ReinitThreshConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Triggers a shutdown request, either as "L3 orderly shutdown" towards the
-   remote side or as "locally forced shutdown" to the DSL-FW without sending a
-   request to the remote side.After an "L3 orderly shutdown" request was
-   accepted by the CO, the following shall happen: The CPE-Host forces L3 entry
-   with transition to RESET state by applying CMD_ModemFSM_StateGet.A "locally
-   forced shutdown" always results in exiting Showtime.
-*/
-struct CMD_ShutdownRequest
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Locally Forced Shutdown */
-   DSL_uint16_t ForcedShutdown : 1;
-   /** L3 Orderly Shutdown Request */
-   DSL_uint16_t L3shutdown : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** L3 Orderly Shutdown Request */
-   DSL_uint16_t L3shutdown : 1;
-   /** Locally Forced Shutdown */
-   DSL_uint16_t ForcedShutdown : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_ShutdownRequest.
-*/
-struct ACK_ShutdownRequest
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about L3 orderly shutdown requests initiated from the
-   remote side.Applying CMD_RxL3RequestStatusGet allows the host to determine
-   whether a near-end LOS or LOM failure is due to an L3 shutdown or an
-   unexpected line failure.
-*/
-struct CMD_RxL3RequestStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_RxL3RequestStatusGet.As long as the modem is in L0
-   (Showtime), an ATU-R will automatically respond to any L3 request from the
-   ATU-C by sending an accept message.  If the ATU-R is in L2 mode when it
-   receives the request, it will send a reject message. Upon receiving an
-   acceptance, the remote side should enter L3 state and shut off its
-   transmitter.
-*/
-struct ACK_RxL3RequestStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** L3 Request Response */
-   DSL_uint16_t L3ReqResponse : 1;
-   /** L3 Request Received */
-   DSL_uint16_t L3ReqReceived : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** L3 Request Received */
-   DSL_uint16_t L3ReqReceived : 1;
-   /** L3 Request Response */
-   DSL_uint16_t L3ReqResponse : 1;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the status of a near-end initiated L3 shutdown request. If the
-   remote side accepted the request, in ADSL the host will force L3 entry using
-   CMD_ModemFSM_StateSet.
-*/
-struct CMD_TxL3RequestStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_TxL3RequestStatusGet.
-*/
-struct ACK_TxL3RequestStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Status L3 Request */
-   DSL_uint16_t L3ReqStatus : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Status L3 Request */
-   DSL_uint16_t L3ReqStatus : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the fail reason of a failed near-end initiated L3 request. (see also
-   ACK_TxL3RequestStatusGet)
-*/
-struct CMD_TxL3ReqFailReasonGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the fail reason of a near-end initiated L3 request, as response to
-   CMD_TxL3ReqFailReasonGet.
-*/
-struct ACK_TxL3ReqFailReasonGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 8;
-   /** L3 Fail Reason */
-   DSL_uint8_t L3FailReason;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** L3 Fail Reason */
-   DSL_uint8_t L3FailReason;
-   /** Reserved */
-   DSL_uint16_t Res0 : 8;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message selects and enables one of several points during the
-   initialization process where -after a normal link start had been triggered-
-   the modem FSM "freezes". Freezing means the CO can be disconnected from the
-   line and still the CPE continues transmitting the signal of the current
-   phase. To exit from the freeze a state transition to RESET state has to be
-   triggered. In case of a Showtime Freeze the reinit-triggers do not have any
-   effect.
-*/
-struct CMD_ModemFSM_Freeze
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Freeze Points */
-   DSL_uint16_t FreezePoint;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Freeze Points */
-   DSL_uint16_t FreezePoint;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_ModemFSM_Freeze.
-*/
-struct ACK_ModemFSM_Freeze
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the loaded FW image. This info is used e.g. for
-   swapping between ADSL and VDSL.
-*/
-struct CMD_FW_ImageInfoGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the information about the FW image requested by CMD_FW_ImageInfoGet
-*/
-struct ACK_FW_ImageInfoGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** Site */
-   DSL_uint16_t imageType : 1;
-   /** DSL mode */
-   DSL_uint16_t dslMode : 1;
-   /** Site */
-   DSL_uint16_t location : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Site */
-   DSL_uint16_t location : 1;
-   /** DSL mode */
-   DSL_uint16_t dslMode : 1;
-   /** Site */
-   DSL_uint16_t imageType : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message informs the FW about the status of SW parameters relevant for the
-   multimode state machine (APS). This can be used to trace the APS behaviour
-   with FW tools. The message does not influence the APS behaviour.
-*/
-struct CMD_APS_Status_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Port Mode */
-   DSL_uint16_t DualPortMode;
-   /** NextMode */
-   DSL_uint16_t NextMode;
-   /** Remember Function */
-   DSL_uint16_t bRemember;
-   /** Activation Sequence */
-   DSL_uint16_t ActSeq;
-   /** Activation Start Mode (ADSL only) */
-   DSL_uint16_t ActMode;
-   /** nRetry  */
-   DSL_uint16_t nRetry;
-   /** nFwRetry  */
-   DSL_uint16_t nFwRetry;
-   /** nGhsRetry  */
-   DSL_uint16_t nGhsRetry;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Port Mode */
-   DSL_uint16_t DualPortMode;
-   /** NextMode */
-   DSL_uint16_t NextMode;
-   /** Remember Function */
-   DSL_uint16_t bRemember;
-   /** Activation Sequence */
-   DSL_uint16_t ActSeq;
-   /** Activation Start Mode (ADSL only) */
-   DSL_uint16_t ActMode;
-   /** nRetry  */
-   DSL_uint16_t nRetry;
-   /** nFwRetry  */
-   DSL_uint16_t nFwRetry;
-   /** nGhsRetry  */
-   DSL_uint16_t nGhsRetry;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_APS_Status_Set.
-*/
-struct ACK_APS_Status_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of the VTU Transmission System Enabling (XTSE).Configures the
-   transmission system coding types to be supported on the line (VDSL flavour
-   and annex support).(References: Section 7.3.1.1.1 of G.997.1 and G.994.1 Amd4
-   [10] Tables "Standard information field - SPar(1) coding")
-*/
-struct CMD_XTSE_Configure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ADSL Mode-Bit15: G.992.5, Annex A */
-   DSL_uint16_t A15 : 1;
-   /** ADSL Mode-Bit14: G.992.5, Annex B */
-   DSL_uint16_t A14 : 1;
-   /** ADSL Mode-Bit13: G.992.3, Annex M */
-   DSL_uint16_t A13 : 1;
-   /** ADSL Mode-Bit12: G.992.3, Annex L, US Mask2 */
-   DSL_uint16_t A12 : 1;
-   /** ADSL Mode-Bit11: G.992.3, Annex L, US Mask1 */
-   DSL_uint16_t A11 : 1;
-   /** ADSL Mode-Bit10: G.992.2, Annex A */
-   DSL_uint16_t A10 : 1;
-   /** ADSL Mode-Bit9: G.992.3, Annex B */
-   DSL_uint16_t A9 : 1;
-   /** ADSL Mode-Bit8: G.992.3, Annex A */
-   DSL_uint16_t A8 : 1;
-   /** ADSL Mode-Bit7: G.992.5, Annex J */
-   DSL_uint16_t A7 : 1;
-   /** ADSL Mode-Bit6: G.992.5, Annex I */
-   DSL_uint16_t A6 : 1;
-   /** ADSL Mode-Bit5: G.992.3, Annex J */
-   DSL_uint16_t A5 : 1;
-   /** ADSL Mode-Bit4: G.992.3, Annex I */
-   DSL_uint16_t A4 : 1;
-   /** ADSL Mode-Bit3: G.992.1, Annex B */
-   DSL_uint16_t A3 : 1;
-   /** ADSL Mode-Bit2: G.992.1, Annex A */
-   DSL_uint16_t A2 : 1;
-   /** ADSL Mode-Bit1: G.992.5, Annex M */
-   DSL_uint16_t A1 : 1;
-   /** ADSL Mode-Bit0: T1.413 */
-   DSL_uint16_t A0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** Bit8: G.FAST */
-   DSL_uint16_t F8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 5;
-   /** VDSL Mode-Bit2: VDSL2 */
-   DSL_uint16_t V2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ADSL Mode-Bit0: T1.413 */
-   DSL_uint16_t A0 : 1;
-   /** ADSL Mode-Bit1: G.992.5, Annex M */
-   DSL_uint16_t A1 : 1;
-   /** ADSL Mode-Bit2: G.992.1, Annex A */
-   DSL_uint16_t A2 : 1;
-   /** ADSL Mode-Bit3: G.992.1, Annex B */
-   DSL_uint16_t A3 : 1;
-   /** ADSL Mode-Bit4: G.992.3, Annex I */
-   DSL_uint16_t A4 : 1;
-   /** ADSL Mode-Bit5: G.992.3, Annex J */
-   DSL_uint16_t A5 : 1;
-   /** ADSL Mode-Bit6: G.992.5, Annex I */
-   DSL_uint16_t A6 : 1;
-   /** ADSL Mode-Bit7: G.992.5, Annex J */
-   DSL_uint16_t A7 : 1;
-   /** ADSL Mode-Bit8: G.992.3, Annex A */
-   DSL_uint16_t A8 : 1;
-   /** ADSL Mode-Bit9: G.992.3, Annex B */
-   DSL_uint16_t A9 : 1;
-   /** ADSL Mode-Bit10: G.992.2, Annex A */
-   DSL_uint16_t A10 : 1;
-   /** ADSL Mode-Bit11: G.992.3, Annex L, US Mask1 */
-   DSL_uint16_t A11 : 1;
-   /** ADSL Mode-Bit12: G.992.3, Annex L, US Mask2 */
-   DSL_uint16_t A12 : 1;
-   /** ADSL Mode-Bit13: G.992.3, Annex M */
-   DSL_uint16_t A13 : 1;
-   /** ADSL Mode-Bit14: G.992.5, Annex B */
-   DSL_uint16_t A14 : 1;
-   /** ADSL Mode-Bit15: G.992.5, Annex A */
-   DSL_uint16_t A15 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 2;
-   /** VDSL Mode-Bit2: VDSL2 */
-   DSL_uint16_t V2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 5;
-   /** Bit8: G.FAST */
-   DSL_uint16_t F8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_XTSE_Configure.
-*/
-struct ACK_XTSE_Configure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Controls the upstream band usage.The message can only be used for DMTscope
-   tests without handshake and training phases.
-*/
-struct CMD_BandControl_US_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of Upstream Bands */
-   DSL_uint8_t NumBandsUS;
-   /** Band Descriptor US */
-   VRX_ToneIndex_t band[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Upstream Bands */
-   DSL_uint8_t NumBandsUS;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Band Descriptor US */
-   VRX_ToneIndex_t band[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_BandControl_US_Set.
-*/
-struct ACK_BandControl_US_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of PSD and Power parameters. Only used for DMTscope tests
-   without handshake and training phases.
-*/
-struct CMD_PSD_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** MAXNOMPSDus */
-   DSL_uint16_t MAXNOMPSDus;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** MAXNOMATPus */
-   DSL_uint16_t MAXNOMATPus;
-   /** Reserved */
-   DSL_uint16_t Res2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** MAXNOMPSDus */
-   DSL_uint16_t MAXNOMPSDus;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** MAXNOMATPus */
-   DSL_uint16_t MAXNOMATPus;
-   /** Reserved */
-   DSL_uint16_t Res2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_PSD_Set.
-*/
-struct ACK_PSD_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Specifies the maximum upstream transmit PSD by means of breakpoints.To be
-   used only for DMTscope tests without handshake and training phases.
-*/
-struct CMD_PSD_BreakpointsTxUS_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of Breakpoints */
-   DSL_uint8_t NumBreakPts;
-   /** Breakpoint Descriptor TxPSDus */
-   VRX_PSDbreak_t breakpoint[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint8_t NumBreakPts;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Breakpoint Descriptor TxPSDus */
-   VRX_PSDbreak_t breakpoint[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_PSD_BreakpointsTxUS_Set.
-*/
-struct ACK_PSD_BreakpointsTxUS_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sends downstream calibration information for "per-tone" test parameters. It
-   is effective for Loop Diagnostic Mode (DELT) and Showtime. It is the
-   responsibility of the manufacturer to provide the data.
-*/
-struct  CMD_PSD_Calibration_DS_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint16_t NumBreakPts;
-   /** Breakpoint Descriptor RxPSD Compensation */
-   VRX_PSD_CompBreak_t breakpoint[16];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint16_t NumBreakPts;
-   /** Breakpoint Descriptor RxPSD Compensation */
-   VRX_PSD_CompBreak_t breakpoint[16];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_PSD_Calibration_DS_Set.
-*/
-struct ACK_PSD_Calibration_DS_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sends upstream calibration information for the upstream transmit PSD. It is
-   effective for loop diagnostic mode (DELT) and Showtime. It is the
-   responsibility of the manufacturer to provide the data.
-*/
-struct  CMD_PSD_Calibration_US_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint16_t NumBreakPts;
-   /** Breakpoint Descriptor TxPSD Compensation */
-   VRX_PSD_CompBreak_t breakpoint[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint16_t NumBreakPts;
-   /** Breakpoint Descriptor TxPSD Compensation */
-   VRX_PSD_CompBreak_t breakpoint[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_PSD_Calibration_US_Set.
-*/
-struct ACK_PSD_Calibration_US_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of PSD related options.
-*/
-struct CMD_PSD_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** US TSSI Control, Bit 0 */
-   DSL_uint16_t useTssiUS : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** US TSSI Control, Bit 0 */
-   DSL_uint16_t useTssiUS : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_PSD_OptionsSet.
-*/
-struct ACK_PSD_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the electrical loop length estimate kl0.
-*/
-struct CMD_UPBO_KL0Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the data requested by CMD_UPBO_KL0Get.(Section 7.5.1.23 of G.997.1
-   [11])
-*/
-struct ACK_UPBO_KL0Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Kl0 Estimate VTU-R */
-   DSL_uint16_t kl0_EstimR;
-   /** Kl0 Estimate VTU-O */
-   DSL_uint16_t kl0_EstimO;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Kl0 Estimate VTU-R */
-   DSL_uint16_t kl0_EstimR;
-   /** Kl0 Estimate VTU-O */
-   DSL_uint16_t kl0_EstimO;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests status parameters for the Upstream  Power  Back-Off  (UPBO)
-   alternative  electrical  length  estimation  method (AELEM).
-*/
-struct CMD_PBO_AELEM_Status_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Upstream  Power  Back-Off  (UPBO)  status  parameters  for  the  alternative
-   electrical  length  estimation  method (AELEM) are reported.
-*/
-struct ACK_PBO_AELEM_Status_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** AELE-MODE Used */
-   DSL_uint16_t AeleMode;
-   /** Kl0 Estimate per Band VTU-R */
-   DSL_uint16_t Kl0EstimRPb[4];
-   /** Final Kl0 per Band VTU-O */
-   DSL_uint16_t Kl0EstimOPb[4];
-   /** UPBOELMT */
-   DSL_uint16_t UpboElmt;
-   /** RXTHRSHDS */
-   DSL_int16_t RxThreshDs;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** AELE-MODE Used */
-   DSL_uint16_t AeleMode;
-   /** Kl0 Estimate per Band VTU-R */
-   DSL_uint16_t Kl0EstimRPb[4];
-   /** Final Kl0 per Band VTU-O */
-   DSL_uint16_t Kl0EstimOPb[4];
-   /** UPBOELMT */
-   DSL_uint16_t UpboElmt;
-   /** RXTHRSHDS */
-   DSL_int16_t RxThreshDs;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of a target noise margin delta, which is added to the target
-   noise margin value configured at the CO (and in case of the CPE received from
-   there). The resulting value is then taken as target noise margin, e.g. for
-   bit loading.
-*/
-struct CMD_NoiseMarginDeltaSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Target Noise Margin Delta DS */
-   DSL_int16_t deltaTARSNRMds;
-   /** Reserved (VDSL only) */
-   DSL_uint16_t Res0 : 14;
-   /** Reserved (VDSL only) */
-   DSL_uint16_t Res1 : 1;
-   /** Reserved (VDSL only) */
-   DSL_uint16_t Res2 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Target Noise Margin Delta DS */
-   DSL_int16_t deltaTARSNRMds;
-   /** Reserved (VDSL only) */
-   DSL_uint16_t Res2 : 1;
-   /** Reserved (VDSL only) */
-   DSL_uint16_t Res1 : 1;
-   /** Reserved (VDSL only) */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_NoiseMarginDeltaSet.
-*/
-struct ACK_NoiseMarginDeltaSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets parameters for downstream bearer channel 0 (Chapters 7.3.2.1-5 of
-   G.997.1 [11]). Bearer channel configuration at the CPE is optional and just
-   used to further limit the parameters usually configured at the CO.The mode,
-   ATM or PTM, is selected with the configuration controls "ATMControl" and
-   "PTMControl" in Parameter 2. Exactly one of them must be enabled, not both!
-*/
-struct CMD_BearerCh0_DS_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** Reserved (STM) */
-   DSL_uint16_t Res1 : 1;
-   /** ATM Configuration Control */
-   DSL_uint16_t ATMControl : 1;
-   /** PTM Configuration Control */
-   DSL_uint16_t PTMControl : 1;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** Minimum Data Rate BC0 PTM DS, LSW */
-   DSL_uint16_t minRate0_PTMds_LSW;
-   /** Minimum Data Rate BC0 PTM DS, MSW */
-   DSL_uint16_t minRate0_PTMds_MSW;
-   /** Maximum Data Rate BC0 PTM DS, LSW */
-   DSL_uint16_t maxRate0_PTMds_LSW;
-   /** Maximum Data Rate BC0 PTM DS, MSW */
-   DSL_uint16_t maxRate0_PTMds_MSW;
-   /** Minimum Reserved Data Rate BC0 PTM DS, LSW */
-   DSL_uint16_t minResRate0_PTMds_LSW;
-   /** Minimum Reserved Data Rate BC0 PTM DS, MSW */
-   DSL_uint16_t minResRate0_PTMds_MSW;
-   /** Reserved */
-   DSL_uint8_t Res3;
-   /** Maximum Interleaving Delay BC0 PTM DS */
-   DSL_uint8_t maxDelay0_PTMds;
-   /** Reserved */
-   DSL_uint16_t Res4 : 4;
-   /** OPTIONAL CIPOLICY 2, BC0 PTM DS */
-   DSL_uint16_t CIPolicy2_PTMds : 1;
-   /** OPTIONAL CIPOLICY 1, BC0 PTM DS */
-   DSL_uint16_t CIPolicy1_PTMds : 1;
-   /** "SHORT PACKETS" OPTION BC0 PTM DS */
-   DSL_uint16_t ShortPacket_PTMds : 1;
-   /** "PRE-EMPTION" OPTION BC0 PTM DS */
-   DSL_uint16_t Preempt_PTMds : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 6;
-   /** Maximum BER BC0 PTM DS */
-   DSL_uint16_t BER_PTMds : 2;
-   /** Reserved */
-   DSL_uint16_t Res6 : 4;
-   /** Minimum INP BC0 PTM DS */
-   DSL_uint16_t minINP_PTMds : 12;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Minimum Data Rate BC0 ATM DS, LSW */
-   DSL_uint16_t minRate0_ATMds_LSW;
-   /** Minimum Data Rate BC0 ATM DS, MSW */
-   DSL_uint16_t minRate0_ATMds_MSW;
-   /** Maximum Data Rate BC0 ATM DS, LSW */
-   DSL_uint16_t maxRate0_ATMds_LSW;
-   /** Maximum Data Rate BC0 ATM DS, MSW */
-   DSL_uint16_t maxRate0_ATMds_MSW;
-   /** Minimum Reserved Data Rate BC0 ATM DS, LSW */
-   DSL_uint16_t minResRate0_ATMds_LSW;
-   /** Minimum Reserved Data Rate BC0 ATM DS, MSW */
-   DSL_uint16_t minResRate0_ATMds_MSW;
-   /** Reserved */
-   DSL_uint8_t Res8;
-   /** Maximum Interleaving Delay BC0 ATM DS */
-   DSL_uint8_t maxDelay0_ATMds;
-   /** Reserved */
-   DSL_uint16_t Res9 : 4;
-   /** OPTIONAL CIPOLICY 2, BC0 ATM DS */
-   DSL_uint16_t CIPolicy2_ATMds : 1;
-   /** OPTIONAL CIPOLICY 1, BC0 ATM DS */
-   DSL_uint16_t CIPolicy1_ATMds : 1;
-   /** Reserved */
-   DSL_uint16_t Res10 : 8;
-   /** Maximum BER BC0 ATM DS */
-   DSL_uint16_t BER_ATMds : 2;
-   /** Reserved */
-   DSL_uint16_t Res11 : 4;
-   /** Minimum INP BC0 ATM DS */
-   DSL_uint16_t minINP_ATMds : 12;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PTM Configuration Control */
-   DSL_uint16_t PTMControl : 1;
-   /** ATM Configuration Control */
-   DSL_uint16_t ATMControl : 1;
-   /** Reserved (STM) */
-   DSL_uint16_t Res1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** Minimum Data Rate BC0 PTM DS, LSW */
-   DSL_uint16_t minRate0_PTMds_LSW;
-   /** Minimum Data Rate BC0 PTM DS, MSW */
-   DSL_uint16_t minRate0_PTMds_MSW;
-   /** Maximum Data Rate BC0 PTM DS, LSW */
-   DSL_uint16_t maxRate0_PTMds_LSW;
-   /** Maximum Data Rate BC0 PTM DS, MSW */
-   DSL_uint16_t maxRate0_PTMds_MSW;
-   /** Minimum Reserved Data Rate BC0 PTM DS, LSW */
-   DSL_uint16_t minResRate0_PTMds_LSW;
-   /** Minimum Reserved Data Rate BC0 PTM DS, MSW */
-   DSL_uint16_t minResRate0_PTMds_MSW;
-   /** Maximum Interleaving Delay BC0 PTM DS */
-   DSL_uint8_t maxDelay0_PTMds;
-   /** Reserved */
-   DSL_uint8_t Res3;
-   /** Maximum BER BC0 PTM DS */
-   DSL_uint16_t BER_PTMds : 2;
-   /** Reserved */
-   DSL_uint16_t Res5 : 6;
-   /** "PRE-EMPTION" OPTION BC0 PTM DS */
-   DSL_uint16_t Preempt_PTMds : 1;
-   /** "SHORT PACKETS" OPTION BC0 PTM DS */
-   DSL_uint16_t ShortPacket_PTMds : 1;
-   /** OPTIONAL CIPOLICY 1, BC0 PTM DS */
-   DSL_uint16_t CIPolicy1_PTMds : 1;
-   /** OPTIONAL CIPOLICY 2, BC0 PTM DS */
-   DSL_uint16_t CIPolicy2_PTMds : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 4;
-   /** Minimum INP BC0 PTM DS */
-   DSL_uint16_t minINP_PTMds : 12;
-   /** Reserved */
-   DSL_uint16_t Res6 : 4;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Minimum Data Rate BC0 ATM DS, LSW */
-   DSL_uint16_t minRate0_ATMds_LSW;
-   /** Minimum Data Rate BC0 ATM DS, MSW */
-   DSL_uint16_t minRate0_ATMds_MSW;
-   /** Maximum Data Rate BC0 ATM DS, LSW */
-   DSL_uint16_t maxRate0_ATMds_LSW;
-   /** Maximum Data Rate BC0 ATM DS, MSW */
-   DSL_uint16_t maxRate0_ATMds_MSW;
-   /** Minimum Reserved Data Rate BC0 ATM DS, LSW */
-   DSL_uint16_t minResRate0_ATMds_LSW;
-   /** Minimum Reserved Data Rate BC0 ATM DS, MSW */
-   DSL_uint16_t minResRate0_ATMds_MSW;
-   /** Maximum Interleaving Delay BC0 ATM DS */
-   DSL_uint8_t maxDelay0_ATMds;
-   /** Reserved */
-   DSL_uint8_t Res8;
-   /** Maximum BER BC0 ATM DS */
-   DSL_uint16_t BER_ATMds : 2;
-   /** Reserved */
-   DSL_uint16_t Res10 : 8;
-   /** OPTIONAL CIPOLICY 1, BC0 ATM DS */
-   DSL_uint16_t CIPolicy1_ATMds : 1;
-   /** OPTIONAL CIPOLICY 2, BC0 ATM DS */
-   DSL_uint16_t CIPolicy2_ATMds : 1;
-   /** Reserved */
-   DSL_uint16_t Res9 : 4;
-   /** Minimum INP BC0 ATM DS */
-   DSL_uint16_t minINP_ATMds : 12;
-   /** Reserved */
-   DSL_uint16_t Res11 : 4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_BearerCh0_DS_Set. (Configuration of bearer channel
-   0).
-*/
-struct ACK_BearerCh0_DS_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets parameters for upstream bearer channel 0 (Chapters 7.3.2.1-5 of G.997.1
-   [11]). Bearer channel configuration at the CPE is optional and just used to
-   further limit the parameters usually configured at the CO.The mode, ATM or
-   PTM, is selected with the configuration controls "ATMControl" and
-   "PTMControl" in Parameter 2. Exactly one of them must be enabled, not both!
-*/
-struct CMD_BearerCh0_US_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** Reserved (STM) */
-   DSL_uint16_t Res1 : 1;
-   /** ATM Configuration Control */
-   DSL_uint16_t ATMControl : 1;
-   /** PTM Configuration Control */
-   DSL_uint16_t PTMControl : 1;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** Minimum Data Rate BC0 PTM US, LSW */
-   DSL_uint16_t minRate0_PTMus_LSW;
-   /** Minimum Data Rate BC0 PTM US, MSW */
-   DSL_uint16_t minRate0_PTMus_MSW;
-   /** Maximum Data Rate BC0 PTM US, LSW */
-   DSL_uint16_t maxRate0_PTMus_LSW;
-   /** Maximum Data Rate BC0 PTM US, MSW */
-   DSL_uint16_t maxRate0_PTMus_MSW;
-   /** Minimum Reserved Data Rate BC0 PTM US, LSW */
-   DSL_uint16_t minResRate0_PTMus_LSW;
-   /** Minimum Reserved Data Rate BC0 PTM US, MSW */
-   DSL_uint16_t minResRate0_PTMus_MSW;
-   /** Reserved */
-   DSL_uint8_t Res3;
-   /** Maximum Interleaving Delay BC0 PTM US */
-   DSL_uint8_t maxDelay0_PTMus;
-   /** Reserved */
-   DSL_uint16_t Res4 : 4;
-   /** OPTIONAL CIPOLICY 2, BC0 PTM US */
-   DSL_uint16_t CIPolicy2_PTMus : 1;
-   /** OPTIONAL CIPOLICY 1, BC0 PTM US */
-   DSL_uint16_t CIPolicy1_PTMus : 1;
-   /** "SHORT PACKETS" OPTION BC0 PTM US */
-   DSL_uint16_t ShortPacket_PTMus : 1;
-   /** "PRE-EMPTION" OPTION BC0 PTM US */
-   DSL_uint16_t Preempt_PTMus : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 6;
-   /** Maximum BER BC0 PTM US */
-   DSL_uint16_t BER_PTMus : 2;
-   /** Reserved */
-   DSL_uint16_t Res6 : 4;
-   /** Minimum INP BC0 PTM US */
-   DSL_uint16_t minINP_PTMus : 12;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Minimum Data Rate BC0 ATM US, LSW */
-   DSL_uint16_t minRate0_ATMus_LSW;
-   /** Minimum Data Rate BC0 ATM US, MSW */
-   DSL_uint16_t minRate0_ATMus_MSW;
-   /** Maximum Data Rate BC0 ATM US, LSW */
-   DSL_uint16_t maxRate0_ATMus_LSW;
-   /** Maximum Data Rate BC0 ATM US, MSW */
-   DSL_uint16_t maxRate0_ATMus_MSW;
-   /** Minimum Reserved Data Rate BC0 ATM US, LSW */
-   DSL_uint16_t minResRate0_ATMus_LSW;
-   /** Minimum Reserved Data Rate BC0 ATM US, MSW */
-   DSL_uint16_t minResRate0_ATMus_MSW;
-   /** Reserved */
-   DSL_uint8_t Res8;
-   /** Maximum Interleaving Delay BC0 ATM US */
-   DSL_uint8_t maxDelay0_ATMus;
-   /** Reserved */
-   DSL_uint16_t Res9 : 4;
-   /** OPTIONAL CIPOLICY 1, BC0 ATM US */
-   DSL_uint16_t CIPolicy2_ATMus : 1;
-   /** OPTIONAL CIPOLICY 2, BC0 ATM US */
-   DSL_uint16_t CIPolicy1_ATMus : 1;
-   /** Reserved */
-   DSL_uint16_t Res10 : 8;
-   /** Maximum BER BC0 ATM US */
-   DSL_uint16_t BER_ATMus : 2;
-   /** Reserved */
-   DSL_uint16_t Res11 : 4;
-   /** Minimum INP BC0 ATM US */
-   DSL_uint16_t minINP_ATMus : 12;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PTM Configuration Control */
-   DSL_uint16_t PTMControl : 1;
-   /** ATM Configuration Control */
-   DSL_uint16_t ATMControl : 1;
-   /** Reserved (STM) */
-   DSL_uint16_t Res1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** Minimum Data Rate BC0 PTM US, LSW */
-   DSL_uint16_t minRate0_PTMus_LSW;
-   /** Minimum Data Rate BC0 PTM US, MSW */
-   DSL_uint16_t minRate0_PTMus_MSW;
-   /** Maximum Data Rate BC0 PTM US, LSW */
-   DSL_uint16_t maxRate0_PTMus_LSW;
-   /** Maximum Data Rate BC0 PTM US, MSW */
-   DSL_uint16_t maxRate0_PTMus_MSW;
-   /** Minimum Reserved Data Rate BC0 PTM US, LSW */
-   DSL_uint16_t minResRate0_PTMus_LSW;
-   /** Minimum Reserved Data Rate BC0 PTM US, MSW */
-   DSL_uint16_t minResRate0_PTMus_MSW;
-   /** Maximum Interleaving Delay BC0 PTM US */
-   DSL_uint8_t maxDelay0_PTMus;
-   /** Reserved */
-   DSL_uint8_t Res3;
-   /** Maximum BER BC0 PTM US */
-   DSL_uint16_t BER_PTMus : 2;
-   /** Reserved */
-   DSL_uint16_t Res5 : 6;
-   /** "PRE-EMPTION" OPTION BC0 PTM US */
-   DSL_uint16_t Preempt_PTMus : 1;
-   /** "SHORT PACKETS" OPTION BC0 PTM US */
-   DSL_uint16_t ShortPacket_PTMus : 1;
-   /** OPTIONAL CIPOLICY 1, BC0 PTM US */
-   DSL_uint16_t CIPolicy1_PTMus : 1;
-   /** OPTIONAL CIPOLICY 2, BC0 PTM US */
-   DSL_uint16_t CIPolicy2_PTMus : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 4;
-   /** Minimum INP BC0 PTM US */
-   DSL_uint16_t minINP_PTMus : 12;
-   /** Reserved */
-   DSL_uint16_t Res6 : 4;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Minimum Data Rate BC0 ATM US, LSW */
-   DSL_uint16_t minRate0_ATMus_LSW;
-   /** Minimum Data Rate BC0 ATM US, MSW */
-   DSL_uint16_t minRate0_ATMus_MSW;
-   /** Maximum Data Rate BC0 ATM US, LSW */
-   DSL_uint16_t maxRate0_ATMus_LSW;
-   /** Maximum Data Rate BC0 ATM US, MSW */
-   DSL_uint16_t maxRate0_ATMus_MSW;
-   /** Minimum Reserved Data Rate BC0 ATM US, LSW */
-   DSL_uint16_t minResRate0_ATMus_LSW;
-   /** Minimum Reserved Data Rate BC0 ATM US, MSW */
-   DSL_uint16_t minResRate0_ATMus_MSW;
-   /** Maximum Interleaving Delay BC0 ATM US */
-   DSL_uint8_t maxDelay0_ATMus;
-   /** Reserved */
-   DSL_uint8_t Res8;
-   /** Maximum BER BC0 ATM US */
-   DSL_uint16_t BER_ATMus : 2;
-   /** Reserved */
-   DSL_uint16_t Res10 : 8;
-   /** OPTIONAL CIPOLICY 2, BC0 ATM US */
-   DSL_uint16_t CIPolicy1_ATMus : 1;
-   /** OPTIONAL CIPOLICY 1, BC0 ATM US */
-   DSL_uint16_t CIPolicy2_ATMus : 1;
-   /** Reserved */
-   DSL_uint16_t Res9 : 4;
-   /** Minimum INP BC0 ATM US */
-   DSL_uint16_t minINP_ATMus : 12;
-   /** Reserved */
-   DSL_uint16_t Res11 : 4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_BearerCh0_US_Set. (Configuration of bearer channel
-   0).
-*/
-struct ACK_BearerCh0_US_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message selects the channel initialization policy (CIPOLICY) to be
-   applied for the tranceiver configuration. (Section 7.3.2.10 of G.997.1)In
-   ADSL mode, the message is applicable only for ADSL2/2+ (Section 7.10.3 of
-   G.992.3 Amd 3). The standard defines the parameter for the CO only. Here, the
-   message is applied at the ADSL-CPE, then it overrides the policy given by the
-   CO!
-*/
-struct CMD_InitPolicySet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Reserved for Init Policy BC1 */
-   DSL_uint16_t Res1 : 1;
-   /** Init Policy BC0 */
-   DSL_uint16_t policy0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Init Policy BC0 */
-   DSL_uint16_t policy0 : 1;
-   /** Reserved for Init Policy BC1 */
-   DSL_uint16_t Res1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgment for message CMD_InitPolicySet.
-*/
-struct ACK_InitPolicySet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of options for the modem state machine.
-*/
-struct CMD_ErasureControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** "Trust-Me"-Bit, Bit 2 (ADSL only) */
-   DSL_uint16_t trustMe : 1;
-   /** Erasure Policy, Bit 1 */
-   DSL_uint16_t erasurePolicy : 1;
-   /** Reserved, Bit0 */
-   DSL_uint16_t Res1 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved, Bit0 */
-   DSL_uint16_t Res1 : 1;
-   /** Erasure Policy, Bit 1 */
-   DSL_uint16_t erasurePolicy : 1;
-   /** "Trust-Me"-Bit, Bit 2 (ADSL only) */
-   DSL_uint16_t trustMe : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_ErasureControlSet.
-*/
-struct ACK_ErasureControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Performs some miscellaneous chip set configurations.
-*/
-struct CMD_Misc_ConfigSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** TPS-TC Type Event Enable */
-   DSL_uint16_t TcTypeEvt : 1;
-   /** Hlog Invalidation */
-   DSL_uint16_t HlogValidation : 1;
-   /** Short CLR for ADSL2+ */
-   DSL_uint16_t ShortClrA2p : 1;
-   /** Short CLR for ADSL2 */
-   DSL_uint16_t ShortClrA2 : 1;
-   /** Short CLR for ADSL1 */
-   DSL_uint16_t ShortClrA1 : 1;
-   /** INP Protection Improvement (VDSL only) */
-   DSL_uint16_t FrameParams : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Activation Start Mode (ADSL only) */
-   DSL_uint16_t StartMode : 1;
-   /** Non-standard GHS-ANSI Activation (ADSL only) */
-   DSL_uint16_t GhsAnsiSeq : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Non-standard GHS-ANSI Activation (ADSL only) */
-   DSL_uint16_t GhsAnsiSeq : 1;
-   /** Activation Start Mode (ADSL only) */
-   DSL_uint16_t StartMode : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** INP Protection Improvement (VDSL only) */
-   DSL_uint16_t FrameParams : 1;
-   /** Short CLR for ADSL1 */
-   DSL_uint16_t ShortClrA1 : 1;
-   /** Short CLR for ADSL2 */
-   DSL_uint16_t ShortClrA2 : 1;
-   /** Short CLR for ADSL2+ */
-   DSL_uint16_t ShortClrA2p : 1;
-   /** Hlog Invalidation */
-   DSL_uint16_t HlogValidation : 1;
-   /** TPS-TC Type Event Enable */
-   DSL_uint16_t TcTypeEvt : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for ACK_Misc_ConfigSet.
-*/
-struct ACK_Misc_ConfigSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Performs some miscellaneous chip set configurations.
-*/
-struct CMD_OperationOptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** VRX_ENABLE, Fixed value */
-   DSL_uint16_t Mfd : 1;
-   /** Enhanced Upstream Framing (ADSL-Only) */
-   DSL_uint16_t UsFramingExt : 1;
-   /** NTR (currently VDSL-Only) */
-   DSL_uint16_t Ntr : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** NTR (currently VDSL-Only) */
-   DSL_uint16_t Ntr : 1;
-   /** Enhanced Upstream Framing (ADSL-Only) */
-   DSL_uint16_t UsFramingExt : 1;
-   /** VRX_ENABLE, Fixed value */
-   DSL_uint16_t Mfd : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_OperationOptionsSet.
-*/
-struct ACK_OperationOptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message selects a DSL operator. The information is used to configure
-   operator specific settings inside the DSL firmware.
-*/
-struct CMD_OperatorSelect
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** DSL Operator Selection */
-   DSL_uint16_t DslOperator;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** DSL Operator Selection */
-   DSL_uint16_t DslOperator;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for ACK_OperatorSelect.
-*/
-struct ACK_OperatorSelect
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message reads back the selected DSL operator, as selected by
-   ACK_OperatorSelect.
-*/
-struct CMD_OperatorSelectionGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message provides the selected DSL operator.
-*/
-struct ACK_OperatorSelectionGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Selected DSL Operator */
-   DSL_uint16_t DslOperator;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Selected DSL Operator */
-   DSL_uint16_t DslOperator;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The messages configures settings for test modes.
-*/
-struct CMD_TestOptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 11;
-   /** ATTNDR Improved Method Support (VDSL only) */
-   DSL_uint16_t AttndrImproved : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** US Finegain Control */
-   DSL_uint16_t FgainControlUs : 1;
-   /** DS Finegain Control */
-   DSL_uint16_t FgainControlDs : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** DS Finegain Control */
-   DSL_uint16_t FgainControlDs : 1;
-   /** US Finegain Control */
-   DSL_uint16_t FgainControlUs : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** ATTNDR Improved Method Support (VDSL only) */
-   DSL_uint16_t AttndrImproved : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 11;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_TestOptionsSet.
-*/
-struct ACK_TestOptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the PPE clock.
-*/
-struct CMD_ClockSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 11;
-   /** Clock Change Trigger */
-   DSL_uint16_t ppeClkSet : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** PPE Clock */
-   DSL_uint16_t ppeClock : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PPE Clock */
-   DSL_uint16_t ppeClock : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** Clock Change Trigger */
-   DSL_uint16_t ppeClkSet : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 11;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_ClockSet.
-*/
-struct ACK_ClockSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets an offset for the PLL frequency compared to the crystals rated nominal
-   frequency of 36 MHz. This allows e.g. to finetune the handshake tone
-   frequencies to exactly match the standard values.
-*/
-struct CMD_PLL_ClockSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PLL Clock Offset in ppm */
-   DSL_int16_t pllClockOffset;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PLL Clock Offset in ppm */
-   DSL_int16_t pllClockOffset;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_PLL_ClockSet.
-*/
-struct ACK_PLL_ClockSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_CONFIG_PMD_H_*/
diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_const.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_const.h
deleted file mode 100644
index 9803f22..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_const.h
+++ /dev/null
@@ -1,611 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_CONST_H_
-#define _DRV_DSL_CPE_VRX_MSG_CONST_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _CONST_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Common Constants Definition section ----- */
-/** Disable a functionality or state */
-#define VRX_DISABLE 0
-/** Enable a functionality or state */
-#define VRX_ENABLE 1
-/** Disable a functionality or state */
-#define VRX_DISABLE_N 1
-/** Enable a functionality or state */
-#define VRX_ENABLE_N 0
-/** Logical value TRUE */
-#define VRX_TRUE 1
-/** Logical value FALSE */
-#define VRX_FALSE 0
-/** Functionality is supported */
-#define SUPPORTED 1
-/** Functionality is not supported */
-#define NOT_SUPPORTED 0
-/** Counter value is below threshold */
-#define CNTR_OK 0
-/** Counter threshold met or exceeded */
-#define CNTR_THRESH_HIT 1
-/** Fixed Value of 0; Used for numbering parameters (like Array Index number or Length number) */
-#define FV0 0
-/** Fixed Value of 1; Used for numbering parameters (like Array Index number or Length number) */
-#define FV1 1
-/** Fixed Value of 2; Used for numbering parameters (like Array Index number or Length number) */
-#define FV2 2
-/** Fixed Value of 3; Used for numbering parameters (like Array Index number or Length number) */
-#define FV3 3
-/** Fixed Value of 4; Used for numbering parameters (like Array Index number or Length number) */
-#define FV4 4
-/** Fixed Value of 5; Used for numbering parameters (like Array Index number or Length number) */
-#define FV5 5
-/** Fixed Value of 6; Used for numbering parameters (like Array Index number or Length number) */
-#define FV6 6
-/** Fixed Value of 7; Used for numbering parameters (like Array Index number or Length number) */
-#define FV7 7
-/** Fixed Value of 8; Used for numbering parameters (like Array Index number or Length number) */
-#define FV8 8
-/** Fixed Value of 9; Used for numbering parameters (like Array Index number or Length number) */
-#define FV9 9
-/** Fixed Value of 10; Used for numbering parameters (like Array Index number or Length number) */
-#define FV10 10
-/** Fixed Value of 11; Used for numbering parameters (like Array Index number or Length number) */
-#define FV11 11
-/** Fixed Value of 12; Used for numbering parameters (like Array Index number or Length number) */
-#define FV12 12
-/** Fixed Value of 13; Used for numbering parameters (like Array Index number or Length number) */
-#define FV13 13
-/** Fixed Value of 15; Used for numbering parameters (like Array Index number or Length number) */
-#define FV15 15
-/** Fixed Value of 16; Used for numbering parameters (like Array Index number or Length number) */
-#define FV16 16
-/** Fixed Value of 17; Used for numbering parameters (like Array Index number or Length number) */
-#define FV17 17
-/** Fixed Value of 20; Used for numbering parameters (like Array Index number or Length number) */
-#define FV20 20
-/** Fixed Value of 32; Used for numbering parameters (like Array Index number or Length number) */
-#define FV32 32
-/** Fixed Value of 127; Used for numbering parameters (like Array Index number or Length number) */
-#define FV127 127
-/** Fixed Value of 128; Used for numbering parameters (like Array Index number or Length number) */
-#define FV128 128
-/** Fixed Value of 256; Used for numbering parameters (like Array Index number or Length number) */
-#define FV256 256
-/** Link 0 is selected */
-#define LINK0 0x0
-/** Link 1 is selected */
-#define LINK1 0x1
-/** No Failure */
-#define VRX_OK 0x0
-/** Failure */
-#define VRX_FAIL 0x1
-/** EOC Failure */
-#define VRX_EOCFAIL 0x2
-/** Request was rejected */
-#define VRX_REJECTED 0x1
-/* ----- Common Constants Definition section (End) ----- */
-/* ----- Message Specific Constants Definition section ----- */
-/* ----- Message Specific Constants Definition section (End) ----- */
-/**
-
-*/
-typedef struct VRX_BAT_TableEntry VRX_BAT_TableEntry_t;
-
-/**
-
-*/
-typedef struct VRX_ToneIndex VRX_ToneIndex_t;
-
-/**
-
-*/
-typedef struct VRX_PSDbreak VRX_PSDbreak_t;
-
-/**
-
-*/
-typedef struct VRX_PSD_TxDS VRX_PSD_TxDS_t;
-
-/**
-
-*/
-typedef struct VRX_PSDbreak2 VRX_PSDbreak2_t;
-
-/**
-
-*/
-typedef struct VRX_PSD_CompBreak VRX_PSD_CompBreak_t;
-
-/**
-
-*/
-typedef struct VRX_RxRef2PSD VRX_RxRef2PSD_t;
-
-/**
-
-*/
-typedef struct VRX_LineStatus_pb VRX_LineStatus_pb_t;
-
-/**
-
-*/
-typedef struct VRX_TSSIbreak VRX_TSSIbreak_t;
-
-/**
-
-*/
-typedef struct VRX_TSSI VRX_TSSI_t;
-
-/**
-
-*/
-typedef struct VRX_QLN_NE VRX_QLN_NE_t;
-
-/**
-
-*/
-typedef struct VRX_TestParam VRX_TestParam_t;
-
-/**
-
-*/
-typedef struct VRX_SNR VRX_SNR_t;
-
-/**
-
-*/
-typedef struct VRX_HLIN VRX_HLIN_t;
-
-/**
-
-*/
-typedef struct VRX_ClearEOC VRX_ClearEOC_t;
-
-/**
-
-*/
-typedef struct VRX_UER VRX_UER_t;
-
-/**
-
-*/
-typedef struct VRX_TIME VRX_TIME_t;
-
-/**
-
-*/
-typedef struct VRX_ATMcell VRX_ATMcell_t;
-
-/**
-
-*/
-struct VRX_BAT_TableEntry
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Bit Allocation */
-   DSL_uint8_t data_01;
-   /** Bit Allocation */
-   DSL_uint8_t data_00;
-#else
-   /** Bit Allocation */
-   DSL_uint8_t data_00;
-   /** Bit Allocation */
-   DSL_uint8_t data_01;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_ToneIndex
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** First Tone Index */
-   DSL_uint16_t first;
-   /** Last Tone Index */
-   DSL_uint16_t last;
-#else
-   /** First Tone Index */
-   DSL_uint16_t first;
-   /** Last Tone Index */
-   DSL_uint16_t last;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_PSDbreak
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex;
-   /** PSD Level of Breakpoint */
-   DSL_uint16_t level;
-   /** Reserved */
-   DSL_uint16_t Res0;
-#else
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex;
-   /** PSD Level of Breakpoint */
-   DSL_uint16_t level;
-   /** Reserved */
-   DSL_uint16_t Res0;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_PSD_TxDS
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of Breakpoints */
-   DSL_uint8_t NumBreakPts;
-   /** Breakpoint Descriptor TxPSDds */
-   VRX_PSDbreak_t breakpoint[48];
-#else
-   /** Number of Breakpoints */
-   DSL_uint8_t NumBreakPts;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Breakpoint Descriptor TxPSDds */
-   VRX_PSDbreak_t breakpoint[48];
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_PSDbreak2
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex;
-   /** PSD Level of Breakpoint */
-   DSL_uint16_t level;
-#else
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex;
-   /** PSD Level of Breakpoint */
-   DSL_uint16_t level;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_PSD_CompBreak
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex;
-   /** Compensation Level of Breakpoint */
-   DSL_int16_t level;
-#else
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex;
-   /** Compensation Level of Breakpoint */
-   DSL_int16_t level;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_RxRef2PSD
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** UPBO RxRefPSD Parameter "a" */
-   DSL_int16_t a;
-   /** UPBO RxRefPSD Parameter "b" */
-   DSL_int16_t b;
-#else
-   /** UPBO RxRefPSD Parameter "a" */
-   DSL_int16_t a;
-   /** UPBO RxRefPSD Parameter "b" */
-   DSL_int16_t b;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_LineStatus_pb
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** LATN per Band */
-   DSL_uint16_t LATNpb;
-   /** SATN per Band */
-   DSL_uint16_t SATNpb;
-   /** SNRM per Band */
-   DSL_uint16_t SNRMpb;
-#else
-   /** LATN per Band */
-   DSL_uint16_t LATNpb;
-   /** SATN per Band */
-   DSL_uint16_t SATNpb;
-   /** SNRM per Band */
-   DSL_uint16_t SNRMpb;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_TSSIbreak
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Supported Set Status */
-   DSL_uint16_t supset : 1;
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex : 15;
-   /** Transmit Spectrum Shaping Value of Breakpoint */
-   DSL_uint16_t level;
-#else
-   /** Tone Index of Breakpoint */
-   DSL_uint16_t toneIndex : 15;
-   /** Supported Set Status */
-   DSL_uint16_t supset : 1;
-   /** Transmit Spectrum Shaping Value of Breakpoint */
-   DSL_uint16_t level;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_TSSI
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Number of breakpoints */
-   DSL_uint16_t Num;
-   /** TSSI breakpoints */
-   VRX_TSSIbreak_t TSSIbrkp[64];
-#else
-   /** Number of breakpoints */
-   DSL_uint16_t Num;
-   /** TSSI breakpoints */
-   VRX_TSSIbreak_t TSSIbrkp[64];
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_QLN_NE
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** QLN per Subcarrier Group */
-   DSL_uint8_t qln_01;
-   /** QLN per Subcarrier Group */
-   DSL_uint8_t qln_00;
-#else
-   /** QLN per Subcarrier Group */
-   DSL_uint8_t qln_00;
-   /** QLN per Subcarrier Group */
-   DSL_uint8_t qln_01;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_TestParam
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** HLOG per Subcarrier Group */
-   DSL_uint16_t hlog;
-   /** SNR per Subcarrier Group */
-   DSL_uint8_t snr;
-   /** QLN per Subcarrier Group */
-   DSL_uint8_t qln;
-#else
-   /** HLOG per Subcarrier Group */
-   DSL_uint16_t hlog;
-   /** QLN per Subcarrier Group */
-   DSL_uint8_t qln;
-   /** SNR per Subcarrier Group */
-   DSL_uint8_t snr;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_SNR
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** SNR per Subcarrier Group */
-   DSL_uint8_t snr_01;
-   /** SNR per Subcarrier Group */
-   DSL_uint8_t snr_00;
-#else
-   /** SNR per Subcarrier Group */
-   DSL_uint8_t snr_00;
-   /** SNR per Subcarrier Group */
-   DSL_uint8_t snr_01;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_HLIN
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** HLIN per Subcarrier Group, Real Part */
-   DSL_int16_t hlin_real;
-   /** HLIN per Subcarrier Group, Imaginary Part */
-   DSL_int16_t hlin_imag;
-#else
-   /** HLIN per Subcarrier Group, Real Part */
-   DSL_int16_t hlin_real;
-   /** HLIN per Subcarrier Group, Imaginary Part */
-   DSL_int16_t hlin_imag;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_ClearEOC
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Reserved  */
-   DSL_uint16_t Res0 : 6;
-   /** Length of the Clear EOC Message  */
-   DSL_uint16_t Length : 10;
-   /** Protocol Identifier */
-   DSL_uint16_t ProtIdent;
-   /** Clear EOC data field */
-   DSL_uint8_t Data[508];
-#else
-   /** Length of the Clear EOC Message  */
-   DSL_uint16_t Length : 10;
-   /** Reserved  */
-   DSL_uint16_t Res0 : 6;
-   /** Protocol Identifier */
-   DSL_uint16_t ProtIdent;
-   /** Clear EOC data field */
-   DSL_uint8_t Data[508];
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_UER
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** UERps Real Part, LSW */
-   DSL_uint16_t UER_Real_LSW;
-   /** UERps Real Part, MSW */
-   DSL_uint16_t UER_Real_MSW;
-   /** UERps Imaginary Part, LSW */
-   DSL_uint16_t UER_Imag_LSW;
-   /** UERps Imaginary Part, MSW */
-   DSL_uint16_t UER_Imag_MSW;
-#else
-   /** UERps Real Part, LSW */
-   DSL_uint16_t UER_Real_LSW;
-   /** UERps Real Part, MSW */
-   DSL_uint16_t UER_Real_MSW;
-   /** UERps Imaginary Part, LSW */
-   DSL_uint16_t UER_Imag_LSW;
-   /** UERps Imaginary Part, MSW */
-   DSL_uint16_t UER_Imag_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_TIME
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Hours */
-   DSL_uint8_t hours;
-   /** Minutes */
-   DSL_uint8_t minutes;
-   /** Seconds */
-   DSL_uint8_t seconds;
-   /** Reserved */
-   DSL_uint8_t Res0;
-#else
-   /** Minutes */
-   DSL_uint8_t minutes;
-   /** Hours */
-   DSL_uint8_t hours;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Seconds */
-   DSL_uint8_t seconds;
-#endif
-} __PACKED__ ;
-
-
-/**
-
-*/
-struct VRX_ATMcell
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** ATM cell (53 bytes) */
-   DSL_uint8_t ATMcell[53];
-   /** Reserved */
-   DSL_uint8_t Res0[3];
-#else
-   /** ATM cell (53 bytes) */
-   DSL_uint8_t ATMcell[53];
-   /** Reserved */
-   DSL_uint8_t Res0[3];
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_CONST_H_*/
diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_dmt_scope.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_dmt_scope.h
deleted file mode 100644
index c882223..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_dmt_scope.h
+++ /dev/null
@@ -1,571 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_DMT_SCOPE_H_
-#define _DRV_DSL_CPE_VRX_MSG_DMT_SCOPE_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _DMT_SCOPE_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Message Specific Constants Definition section ----- */
-#define CMD_TEST_AFE_LoopControl_NO_LOOP 0x0
-#define CMD_TEST_AFE_LoopControl_ALOOP 0x1
-#define CMD_TEST_TxControlSet_SEND_QUIET 0
-#define CMD_TEST_TxControlSet_SEND_REVERB 1
-#define CMD_TEST_TxControlSet_SEND_SEGUE 2
-#define CMD_TEST_TxControlSet_SEND_MEDLEY 3
-#define CMD_TEST_RxControlSet_MEASURE_PSD 14
-#define CMD_TEST_RxControlSet_FDQ_TRAINING 16
-#define CMD_TEST_RxControlSet_MEASURE_SNR 17
-#define CMD_TEST_RxControlSet_PGA_TRAINING 19
-#define CMD_TEST_RxPSD_MeasureModeSet_AVERAGE 0x0
-#define CMD_TEST_RxPSD_MeasureModeSet_PEAKHOLD 0x1
-#define CMD_TEST_RxPSD_MeasureModeSet_BOTTOMHOLD 0x2
-#define CMD_TEST_RxGainControl_DEFGAIN 0x0
-#define CMD_TEST_RxGainControl_MAXGAIN 0x1
-/* ----- Message Specific Constants Definition section (End) ----- */
-
-/** Message ID for CMD_TEST_AFE_LoopControl */
-#define CMD_TEST_AFE_LOOPCONTROL 0x0156
-
-/**
-   This message can be used to enable or disable the (analog) loop within the
-   Analog Front-End (AFE) to loop back data from the transmit to the receive
-   part.
-*/
-typedef struct CMD_TEST_AFE_LoopControl CMD_TEST_AFE_LoopControl_t;
-
-/** Message ID for ACK_TEST_AFE_LoopControl */
-#define ACK_TEST_AFE_LOOPCONTROL 0x0156
-
-/**
-   This message acknowledges the message CMD_TEST_AFE_LoopControl.For TEST state
-   only!
-*/
-typedef struct ACK_TEST_AFE_LoopControl ACK_TEST_AFE_LoopControl_t;
-
-/** Message ID for CMD_TEST_TxControlSet */
-#define CMD_TEST_TXCONTROLSET 0x0844
-
-/**
-   The message controls the transmit signal in TEST state. Each setting is valid
-   until either another value is set with this message that requires the
-   previous setting to be overwritten or until TEST state is left.
-*/
-typedef struct CMD_TEST_TxControlSet CMD_TEST_TxControlSet_t;
-
-/** Message ID for ACK_TEST_TxControlSet */
-#define ACK_TEST_TXCONTROLSET 0x0844
-
-/**
-   Acknowledgement for message CMD_TEST_TxControlSet.
-*/
-typedef struct ACK_TEST_TxControlSet ACK_TEST_TxControlSet_t;
-
-/** Message ID for CMD_TEST_CarrierMaskingTxSet */
-#define CMD_TEST_CARRIERMASKINGTXSET 0x0256
-
-/**
-   Masks out every 100th subcarrier starting from an arbitrary index number
-   1...99.The carrier-mask is applied to signals in the frequency domain ("Send
-   REVERB" and "Send MEDLEY"). The signal must be activated before!
-*/
-typedef struct CMD_TEST_CarrierMaskingTxSet CMD_TEST_CarrierMaskingTxSet_t;
-
-/** Message ID for ACK_TEST_CarrierMaskingTxSet */
-#define ACK_TEST_CARRIERMASKINGTXSET 0x0256
-
-/**
-   Acknowledgement for message CMD_TEST_CarrierMaskingTxSet.
-*/
-typedef struct ACK_TEST_CarrierMaskingTxSet ACK_TEST_CarrierMaskingTxSet_t;
-
-/** Message ID for CMD_TEST_RxControlSet */
-#define CMD_TEST_RXCONTROLSET 0x0944
-
-/**
-   The message triggers measurements of the receive signal.
-*/
-typedef struct CMD_TEST_RxControlSet CMD_TEST_RxControlSet_t;
-
-/** Message ID for ACK_TEST_RxControlSet */
-#define ACK_TEST_RXCONTROLSET 0x0944
-
-/**
-   Acknowledgement for message CMD_TEST_RxControlSet.
-*/
-typedef struct ACK_TEST_RxControlSet ACK_TEST_RxControlSet_t;
-
-/** Message ID for CMD_TEST_RxPSD_TableEntriesGet */
-#define CMD_TEST_RXPSD_TABLEENTRIESGET 0x5403
-
-/**
-   The message requests information about the receive PSD per subcarrier
-   available at the near-end side, which means for downstream direction at the
-   CPE. It is the hosts responsibility to select the tone indices accordingly.
-*/
-typedef struct CMD_TEST_RxPSD_TableEntriesGet CMD_TEST_RxPSD_TableEntriesGet_t;
-
-/** Message ID for ACK_TEST_RxPSD_TableEntriesGet */
-#define ACK_TEST_RXPSD_TABLEENTRIESGET 0x5403
-
-/**
-   Returns information about the receive PSD per subcarrier available at the
-   near-end side, which means for downstream direction at the CPE.
-*/
-typedef struct ACK_TEST_RxPSD_TableEntriesGet ACK_TEST_RxPSD_TableEntriesGet_t;
-
-/** Message ID for CMD_TEST_RxPSD_Calibrate */
-#define CMD_TEST_RXPSD_CALIBRATE 0x0356
-
-/**
-   Sets the board specific calibration factor necessary to calculate the
-   absolute PSD value per subcarrier.Attention: The command needs to be applied
-   only once after power-up for a calibration value determined according to the
-   sequence described below ("Getting the calibration value:"). Applying the
-   command a second time requires another determination of the calibration value
-   too, because the shift is always relative to the current values.
-*/
-typedef struct CMD_TEST_RxPSD_Calibrate CMD_TEST_RxPSD_Calibrate_t;
-
-/** Message ID for ACK_TEST_RxPSD_Calibrate */
-#define ACK_TEST_RXPSD_CALIBRATE 0x0356
-
-/**
-   Acknowledgement to CMD_TEST_RxPSD_Calibrate.
-*/
-typedef struct ACK_TEST_RxPSD_Calibrate ACK_TEST_RxPSD_Calibrate_t;
-
-/** Message ID for CMD_TEST_RxPSD_MeasureModeSet */
-#define CMD_TEST_RXPSD_MEASUREMODESET 0x0456
-
-/**
-   Configures options for the measurement of the PSD value per subcarrier.
-*/
-typedef struct CMD_TEST_RxPSD_MeasureModeSet CMD_TEST_RxPSD_MeasureModeSet_t;
-
-/** Message ID for ACK_TEST_RxPSD_MeasureModeSet */
-#define ACK_TEST_RXPSD_MEASUREMODESET 0x0456
-
-/**
-   Acknowledgement to CMD_TEST_RxPSD_MeasureModeSet.
-*/
-typedef struct ACK_TEST_RxPSD_MeasureModeSet ACK_TEST_RxPSD_MeasureModeSet_t;
-
-/** Message ID for CMD_TEST_RxGainControl */
-#define CMD_TEST_RXGAINCONTROL 0x0556
-
-/**
-   Sets the gains in the receive path (AGC, ACE, PREFI).
-*/
-typedef struct CMD_TEST_RxGainControl CMD_TEST_RxGainControl_t;
-
-/** Message ID for ACK_TEST_RxGainControl */
-#define ACK_TEST_RXGAINCONTROL 0x0556
-
-/**
-   Acknowledgement to CMD_TEST_RxGainControl.
-*/
-typedef struct ACK_TEST_RxGainControl ACK_TEST_RxGainControl_t;
-
-/**
-   This message can be used to enable or disable the (analog) loop within the
-   Analog Front-End (AFE) to loop back data from the transmit to the receive
-   part.
-*/
-struct CMD_TEST_AFE_LoopControl
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** AFE Loop Control */
-   DSL_uint32_t loopControl;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** AFE Loop Control */
-   DSL_uint32_t loopControl;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message acknowledges the message CMD_TEST_AFE_LoopControl.For TEST state
-   only!
-*/
-struct ACK_TEST_AFE_LoopControl
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message controls the transmit signal in TEST state. Each setting is valid
-   until either another value is set with this message that requires the
-   previous setting to be overwritten or until TEST state is left.
-*/
-struct CMD_TEST_TxControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TEST State's Transmit Signal Control */
-   DSL_uint16_t TxControl;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TEST State's Transmit Signal Control */
-   DSL_uint16_t TxControl;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_TEST_TxControlSet.
-*/
-struct ACK_TEST_TxControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Masks out every 100th subcarrier starting from an arbitrary index number
-   1...99.The carrier-mask is applied to signals in the frequency domain ("Send
-   REVERB" and "Send MEDLEY"). The signal must be activated before!
-*/
-struct CMD_TEST_CarrierMaskingTxSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** First Masked Tone */
-   DSL_uint32_t MaskTone0;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** First Masked Tone */
-   DSL_uint32_t MaskTone0;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_TEST_CarrierMaskingTxSet.
-*/
-struct ACK_TEST_CarrierMaskingTxSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message triggers measurements of the receive signal.
-*/
-struct CMD_TEST_RxControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TEST State's Receive Control */
-   DSL_uint16_t RxControl;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TEST State's Receive Control */
-   DSL_uint16_t RxControl;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_TEST_RxControlSet.
-*/
-struct ACK_TEST_RxControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message requests information about the receive PSD per subcarrier
-   available at the near-end side, which means for downstream direction at the
-   CPE. It is the hosts responsibility to select the tone indices accordingly.
-*/
-struct CMD_TEST_RxPSD_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the receive PSD per subcarrier available at the
-   near-end side, which means for downstream direction at the CPE.
-*/
-struct ACK_TEST_RxPSD_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Receive PSD */
-   DSL_uint16_t PSDps[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Receive PSD */
-   DSL_uint16_t PSDps[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the board specific calibration factor necessary to calculate the
-   absolute PSD value per subcarrier.Attention: The command needs to be applied
-   only once after power-up for a calibration value determined according to the
-   sequence described below ("Getting the calibration value:"). Applying the
-   command a second time requires another determination of the calibration value
-   too, because the shift is always relative to the current values.
-*/
-struct CMD_TEST_RxPSD_Calibrate
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RxPSD Calibration Value */
-   DSL_uint32_t calibration;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RxPSD Calibration Value */
-   DSL_uint32_t calibration;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_TEST_RxPSD_Calibrate.
-*/
-struct ACK_TEST_RxPSD_Calibrate
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configures options for the measurement of the PSD value per subcarrier.
-*/
-struct CMD_TEST_RxPSD_MeasureModeSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RxPSD Measurement Mode */
-   DSL_uint32_t MeasureMode;
-   /** Number of Frames */
-   DSL_uint32_t numOfFrames;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RxPSD Measurement Mode */
-   DSL_uint32_t MeasureMode;
-   /** Number of Frames */
-   DSL_uint32_t numOfFrames;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_TEST_RxPSD_MeasureModeSet.
-*/
-struct ACK_TEST_RxPSD_MeasureModeSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the gains in the receive path (AGC, ACE, PREFI).
-*/
-struct CMD_TEST_RxGainControl
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Rx Gain Level */
-   DSL_uint32_t RxGainLevel;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Rx Gain Level */
-   DSL_uint32_t RxGainLevel;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_TEST_RxGainControl.
-*/
-struct ACK_TEST_RxGainControl
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_DMT_SCOPE_H_*/
diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_ghs_status.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_ghs_status.h
deleted file mode 100644
index 8d70918..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_ghs_status.h
+++ /dev/null
@@ -1,5422 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_GHS_STATUS_H_
-#define _DRV_DSL_CPE_VRX_MSG_GHS_STATUS_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _GHS_STATUS_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Message Specific Constants Definition section ----- */
-#define ACK_T1413_RevNo_O_Get_T1413REV1 0x0
-#define ACK_T1413_RevNo_O_Get_T1413REV2 0x1
-#define ACK_T1413_RevNo_R_Get_T1413REV1 0x0
-#define ACK_T1413_RevNo_R_Get_T1413REV2 0x1
-#define CMD_RFI_BandControlGet_FV 33
-#define ACK_RFI_BandControlGet_FV 33
-#define CMD_LineStatusPerBandDS_Get_FV 25
-#define ACK_LineStatusPerBandDS_Get_FV 25
-#define CMD_LineStatusPerBandUS_Get_FV 25
-#define ACK_LineStatusPerBandUS_Get_FV 25
-#define CMD_PSD_BreakpointsUS_Get_FV 97
-#define ACK_PSD_BreakpointsUS_Get_FV 97
-#define CMD_BearerChsDS_Get_FV 18
-#define ACK_BearerChsDS_Get_FV 18
-#define CMD_BearerChsUS_Get_FV 18
-#define ACK_BearerChsUS_Get_FV 18
-#define CMD_FrameDataExt2DS_Get_FV 42
-#define ACK_FrameDataExt2DS_Get_FV 42
-#define CMD_FrameDataExt2US_Get_FV 42
-#define ACK_FrameDataExt2US_Get_FV 42
-#define ACK_HybridGet_POTS 0x1
-#define ACK_HybridGet_ISDN_B 0x2
-#define ACK_HybridGet_ISDN_BJ 0x3
-#define ACK_HybridGet_UNIVERSAL 0x4
-#define ACK_MFD_ResultsGet_NONLNF 0x0
-#define ACK_MFD_ResultsGet_NLNFTRIGGERED 0x1
-#define ACK_MFD_ResultsGet_NLNFSTARTED 0x2
-#define ACK_MFD_ResultsGet_NLNFDONE 0x3
-#define ACK_MFD_ResultsGet_NORANGE 0x0
-#define ACK_MFD_ResultsGet_SHORTRANGE 0x1
-#define ACK_MFD_ResultsGet_MIDRANGE 0x2
-#define ACK_MFD_ResultsGet_LONGRANGE 0x3
-#define ACK_MFD_ResultsGet_READY 0x1
-#define ACK_MFD_ResultsGet_NOT_READY 0x0
-/* ----- Message Specific Constants Definition section (End) ----- */
-
-/** Message ID for CMD_HS_ToneGroupSet */
-#define CMD_HS_TONEGROUPSET 0x2D48
-
-/**
-   Selects one or more groups of tones to be used during the handshake phase.
-   (See G.994.1 Amendment 2 [8], Table 1/G.994.1).
-*/
-typedef struct CMD_HS_ToneGroupSet CMD_HS_ToneGroupSet_t;
-
-/** Message ID for ACK_HS_ToneGroupSet */
-#define ACK_HS_TONEGROUPSET 0x2D48
-
-/**
-   Acknowledgement to CMD_HS_ToneGroupSet.
-*/
-typedef struct ACK_HS_ToneGroupSet ACK_HS_ToneGroupSet_t;
-
-/** Message ID for CMD_HS_VDSL2ProfileControl */
-#define CMD_HS_VDSL2PROFILECONTROL 0x2C48
-
-/**
-   Configures the profile settings to be used for the handshake phase. (See
-   G.994.1 Amendment 4 [10], NPAR(3) coding).
-*/
-typedef struct CMD_HS_VDSL2ProfileControl CMD_HS_VDSL2ProfileControl_t;
-
-/** Message ID for ACK_HS_VDSL2ProfileControl */
-#define ACK_HS_VDSL2PROFILECONTROL 0x2C48
-
-/**
-   Acknowledgement to CMD_HS_VDSL2ProfileControl.
-*/
-typedef struct ACK_HS_VDSL2ProfileControl ACK_HS_VDSL2ProfileControl_t;
-
-/** Message ID for CMD_HS_StandardInfoFE_VDSL2Get */
-#define CMD_HS_STANDARDINFOFE_VDSL2GET 0xCC03
-
-/**
-   Requests the VDSL2 far-end Standard Info (See G.994.1 Amendment 4 [10],
-   NPAR(3) coding).
-*/
-typedef struct CMD_HS_StandardInfoFE_VDSL2Get CMD_HS_StandardInfoFE_VDSL2Get_t;
-
-/** Message ID for ACK_HS_StandardInfoFE_VDSL2Get */
-#define ACK_HS_STANDARDINFOFE_VDSL2GET 0xCC03
-
-/**
-   Delivers the VDSL2 far-end info as requested by
-   CMD_HS_StandardInfoFE_VDSL2Get (see G.994.1 Amendment 4 [10], NPAR(3)
-   coding).
-*/
-typedef struct ACK_HS_StandardInfoFE_VDSL2Get ACK_HS_StandardInfoFE_VDSL2Get_t;
-
-/** Message ID for CMD_HS_SelectedProfileVDSL2Get */
-#define CMD_HS_SELECTEDPROFILEVDSL2GET 0xCD03
-
-/**
-   Requests the actual selected VDSL2 Profile (See G.994.1 Amendment 4 [10],
-   NPAR(3) coding).
-*/
-typedef struct CMD_HS_SelectedProfileVDSL2Get CMD_HS_SelectedProfileVDSL2Get_t;
-
-/** Message ID for ACK_HS_SelectedProfileVDSL2Get */
-#define ACK_HS_SELECTEDPROFILEVDSL2GET 0xCD03
-
-/**
-   Provides the actual selected VDSL2 Profile as requested by
-   CMD_HS_SelectedProfileVDSL2Get (see G.994.1 Amendment 4 [10], NPAR(3)
-   coding).
-*/
-typedef struct ACK_HS_SelectedProfileVDSL2Get ACK_HS_SelectedProfileVDSL2Get_t;
-
-/** Message ID for CMD_HS_StandardInfoFE_SPAR1Get */
-#define CMD_HS_STANDARDINFOFE_SPAR1GET 0xCB03
-
-/**
-   Requests the handshake information about the far-end operating mode (See
-   G.994.1 [6] and Amendments 1-4 [7]-[10], standard information fields- SPAR(1)
-   coding).
-*/
-typedef struct CMD_HS_StandardInfoFE_SPAR1Get CMD_HS_StandardInfoFE_SPAR1Get_t;
-
-/** Message ID for ACK_HS_StandardInfoFE_SPAR1Get */
-#define ACK_HS_STANDARDINFOFE_SPAR1GET 0xCB03
-
-/**
-   Provides the handshake information about the far-end operating mode (See
-   G.994.1 [6] and Amendments 1-4 [7]-[10], Standard information field - SPAR(1)
-   coding). The bit numbering per octet below follows the standard (starting
-   with "1").
-*/
-typedef struct ACK_HS_StandardInfoFE_SPAR1Get ACK_HS_StandardInfoFE_SPAR1Get_t;
-
-/** Message ID for CMD_SysVendorID_R_Set */
-#define CMD_SYSVENDORID_R_SET 0x3C43
-
-/**
-   Sets the in System Vendor ID at the xTU-R. (Section 7.4.4 of G.997.1 [11])
-*/
-typedef struct CMD_SysVendorID_R_Set CMD_SysVendorID_R_Set_t;
-
-/** Message ID for ACK_SysVendorID_R_Set */
-#define ACK_SYSVENDORID_R_SET 0x3C43
-
-/**
-   Acknowledgement to CMD_SysVendorID_R_Set.
-*/
-typedef struct ACK_SysVendorID_R_Set ACK_SysVendorID_R_Set_t;
-
-/** Message ID for CMD_SysVendorVersionNum_R_Set */
-#define CMD_SYSVENDORVERSIONNUM_R_SET 0x3D43
-
-/**
-   Sets the system vendor version number at the xTU-R. (Section 7.4.6 of G.997.1
-   [11])
-*/
-typedef struct CMD_SysVendorVersionNum_R_Set CMD_SysVendorVersionNum_R_Set_t;
-
-/** Message ID for ACK_SysVendorVersionNum_R_Set */
-#define ACK_SYSVENDORVERSIONNUM_R_SET 0x3D43
-
-/**
-   Acknowledgement to CMD_SysVendorVersionNum_R_Set.
-*/
-typedef struct ACK_SysVendorVersionNum_R_Set ACK_SysVendorVersionNum_R_Set_t;
-
-/** Message ID for CMD_SysVendorSerialNum_R_Set */
-#define CMD_SYSVENDORSERIALNUM_R_SET 0x3E43
-
-/**
-   Sets the system vendor serial number at the xTU-R. (Section 7.4.8 of G.997.1
-   [11])
-*/
-typedef struct CMD_SysVendorSerialNum_R_Set CMD_SysVendorSerialNum_R_Set_t;
-
-/** Message ID for ACK_SysVendorSerialNum_R_Set */
-#define ACK_SYSVENDORSERIALNUM_R_SET 0x3E43
-
-/**
-   Acknowledgement to CMD_SysVendorSerialNum_R_Set.
-*/
-typedef struct ACK_SysVendorSerialNum_R_Set ACK_SysVendorSerialNum_R_Set_t;
-
-/** Message ID for CMD_AuxInventoryInfo_R_Set */
-#define CMD_AUXINVENTORYINFO_R_SET 0x4343
-
-/**
-   Sets auxiliary inventory information at the VTU-R (Section 11.2.3.2.4 of
-   G993.2 [5]).
-*/
-typedef struct CMD_AuxInventoryInfo_R_Set CMD_AuxInventoryInfo_R_Set_t;
-
-/** Message ID for ACK_AuxInventoryInfo_R_Set */
-#define ACK_AUXINVENTORYINFO_R_SET 0x4343
-
-/**
-   Acknowledgement to CMD_AuxInventoryInfo_R_Set.
-*/
-typedef struct ACK_AuxInventoryInfo_R_Set ACK_AuxInventoryInfo_R_Set_t;
-
-/** Message ID for CMD_VendorID_O_Get */
-#define CMD_VENDORID_O_GET 0x4003
-
-/**
-   Requests the xTU-C Vendor ID. (Section 7.4.1 of G.997.1 [11])
-*/
-typedef struct CMD_VendorID_O_Get CMD_VendorID_O_Get_t;
-
-/** Message ID for ACK_VendorID_O_Get */
-#define ACK_VENDORID_O_GET 0x4003
-
-/**
-   Provides the xTU-C Vendor ID as requested by CMD_VendorID_O_Get.
-*/
-typedef struct ACK_VendorID_O_Get ACK_VendorID_O_Get_t;
-
-/** Message ID for CMD_VendorID_R_Get */
-#define CMD_VENDORID_R_GET 0x4103
-
-/**
-   Requests the xTU-R Vendor ID. (Section 7.4.2 of G.997.1 [11])
-*/
-typedef struct CMD_VendorID_R_Get CMD_VendorID_R_Get_t;
-
-/** Message ID for ACK_VendorID_R_Get */
-#define ACK_VENDORID_R_GET 0x4103
-
-/**
-   Provides the xTU-R Vendor ID as requested by CMD_VendorID_R_Get.
-*/
-typedef struct ACK_VendorID_R_Get ACK_VendorID_R_Get_t;
-
-/** Message ID for CMD_SysVendorID_O_Get */
-#define CMD_SYSVENDORID_O_GET 0x3803
-
-/**
-   Requests the xTU-C System Vendor ID. (Section 7.4.3 of G.997.1 [11])
-*/
-typedef struct CMD_SysVendorID_O_Get CMD_SysVendorID_O_Get_t;
-
-/** Message ID for ACK_SysVendorID_O_Get */
-#define ACK_SYSVENDORID_O_GET 0x3803
-
-/**
-   Delivers the xTU-C System Vendor ID as requested by CMD_SysVendorID_O_Get.
-*/
-typedef struct ACK_SysVendorID_O_Get ACK_SysVendorID_O_Get_t;
-
-/** Message ID for CMD_SysVendorID_R_Get */
-#define CMD_SYSVENDORID_R_GET 0x3C03
-
-/**
-   Requests the xTU-R System Vendor ID. (Section 7.4.4 of G.997.1 [11])
-*/
-typedef struct CMD_SysVendorID_R_Get CMD_SysVendorID_R_Get_t;
-
-/** Message ID for ACK_SysVendorID_R_Get */
-#define ACK_SYSVENDORID_R_GET 0x3C03
-
-/**
-   Delivers the xTU-R System Vendor ID as requested by CMD_SysVendorID_R_Get.
-*/
-typedef struct ACK_SysVendorID_R_Get ACK_SysVendorID_R_Get_t;
-
-/** Message ID for CMD_SysVendorVersionNumO_Get */
-#define CMD_SYSVENDORVERSIONNUMO_GET 0x3A03
-
-/**
-   Requests the xTU-C system vendor version number. (Section 7.4.5 of G.997.1
-   [11])
-*/
-typedef struct CMD_SysVendorVersionNumO_Get CMD_SysVendorVersionNumO_Get_t;
-
-/** Message ID for ACK_SysVendorVersionNum_O_Get */
-#define ACK_SYSVENDORVERSIONNUM_O_GET 0x3A03
-
-/**
-   Delivers the xTU-C system vendor version number as requested by
-   CMD_SysVendorVersionNumO_Get.
-*/
-typedef struct ACK_SysVendorVersionNum_O_Get ACK_SysVendorVersionNum_O_Get_t;
-
-/** Message ID for CMD_SysVendorVersionNum_R_Get */
-#define CMD_SYSVENDORVERSIONNUM_R_GET 0x3D03
-
-/**
-   Requests the xTU-R system vendor version number. (Section 7.4.6 of G.997.1
-   [11])
-*/
-typedef struct CMD_SysVendorVersionNum_R_Get CMD_SysVendorVersionNum_R_Get_t;
-
-/** Message ID for ACK_SysVendorVersionNum_R_Get */
-#define ACK_SYSVENDORVERSIONNUM_R_GET 0x3D03
-
-/**
-   Delivers the xTU-R system vendor version number as requested by
-   CMD_SysVendorVersionNum_R_Get.
-*/
-typedef struct ACK_SysVendorVersionNum_R_Get ACK_SysVendorVersionNum_R_Get_t;
-
-/** Message ID for CMD_SysVendorSerialNum_O_Get */
-#define CMD_SYSVENDORSERIALNUM_O_GET 0x3903
-
-/**
-   Requests the xTU-C system vendor serial number. (Section 7.4.7 of G.997.1
-   [11])
-*/
-typedef struct CMD_SysVendorSerialNum_O_Get CMD_SysVendorSerialNum_O_Get_t;
-
-/** Message ID for ACK_SysVendorSerialNum_O_Get */
-#define ACK_SYSVENDORSERIALNUM_O_GET 0x3903
-
-/**
-   Delivers the xTU-C system vendor serial number as requested by
-   CMD_SysVendorSerialNum_O_Get.
-*/
-typedef struct ACK_SysVendorSerialNum_O_Get ACK_SysVendorSerialNum_O_Get_t;
-
-/** Message ID for CMD_SysVendorSerialNum_R_Get */
-#define CMD_SYSVENDORSERIALNUM_R_GET 0x3E03
-
-/**
-   Requests the xTU-R system vendor serial number. (Section 7.4.8 of G.997.1
-   [11])
-*/
-typedef struct CMD_SysVendorSerialNum_R_Get CMD_SysVendorSerialNum_R_Get_t;
-
-/** Message ID for ACK_SysVendorSerialNum_R_Get */
-#define ACK_SYSVENDORSERIALNUM_R_GET 0x3E03
-
-/**
-   Delivers the xTU-R system vendor version number as requested by
-   CMD_SysVendorSerialNum_R_Get.
-*/
-typedef struct ACK_SysVendorSerialNum_R_Get ACK_SysVendorSerialNum_R_Get_t;
-
-/** Message ID for CMD_AuxInventoryInfo_O_Get */
-#define CMD_AUXINVENTORYINFO_O_GET 0x4203
-
-/**
-   Requests VTU-O auxiliary inventory information (Section 11.2.3.2.4 of G993.2
-   [5]).
-*/
-typedef struct CMD_AuxInventoryInfo_O_Get CMD_AuxInventoryInfo_O_Get_t;
-
-/** Message ID for ACK_AuxInventoryInfo_O_Get */
-#define ACK_AUXINVENTORYINFO_O_GET 0x4203
-
-/**
-   Delivers the VTU-O auxiliary inventory information as requested by
-   CMD_AuxInventoryInfo_O_Get.
-*/
-typedef struct ACK_AuxInventoryInfo_O_Get ACK_AuxInventoryInfo_O_Get_t;
-
-/** Message ID for CMD_AuxInventoryInfo_R_Get */
-#define CMD_AUXINVENTORYINFO_R_GET 0x4303
-
-/**
-   Requests VTU-R auxiliary inventory information (Section 11.2.3.2.4 of G993.2
-   [5]).
-*/
-typedef struct CMD_AuxInventoryInfo_R_Get CMD_AuxInventoryInfo_R_Get_t;
-
-/** Message ID for ACK_AuxInventoryInfo_R_Get */
-#define ACK_AUXINVENTORYINFO_R_GET 0x4303
-
-/**
-   Delivers the VTU-R auxiliary inventory information as requested by
-   CMD_AuxInventoryInfo_R_Get.
-*/
-typedef struct ACK_AuxInventoryInfo_R_Get ACK_AuxInventoryInfo_R_Get_t;
-
-/** Message ID for CMD_T1413_VendorID_O_Get */
-#define CMD_T1413_VENDORID_O_GET 0x7C03
-
-/**
-   Requests the ATU-C's T1.413 Vendor identification. (Section 9.6.4.2 of ANSI
-   T1.413 [16])
-*/
-typedef struct CMD_T1413_VendorID_O_Get CMD_T1413_VendorID_O_Get_t;
-
-/** Message ID for ACK_T1413_VendorID_O_Get */
-#define ACK_T1413_VENDORID_O_GET 0x7C03
-
-/**
-   Delivers the ATU-C's T1.413 vendor identification number.
-*/
-typedef struct ACK_T1413_VendorID_O_Get ACK_T1413_VendorID_O_Get_t;
-
-/** Message ID for CMD_T1413_VendorID_R_Get */
-#define CMD_T1413_VENDORID_R_GET 0x7D03
-
-/**
-   Requests the ATU-R's T1.413 Vendor identification. (Section 9.6.4.2 of ANSI
-   T1.413 [16])
-*/
-typedef struct CMD_T1413_VendorID_R_Get CMD_T1413_VendorID_R_Get_t;
-
-/** Message ID for ACK_T1413_VendorID_R_Get */
-#define ACK_T1413_VENDORID_R_GET 0x7D03
-
-/**
-   Reports the ATU-R's T1.413 vendor identification number.
-*/
-typedef struct ACK_T1413_VendorID_R_Get ACK_T1413_VendorID_R_Get_t;
-
-/** Message ID for CMD_T1413_RevNo_O_Get */
-#define CMD_T1413_REVNO_O_GET 0x7E03
-
-/**
-   Requests the xTU-C's T1.413 revision number. (Section 9.6.4.3 of ANSI T1.413
-   [16])
-*/
-typedef struct CMD_T1413_RevNo_O_Get CMD_T1413_RevNo_O_Get_t;
-
-/** Message ID for ACK_T1413_RevNo_O_Get */
-#define ACK_T1413_REVNO_O_GET 0x7E03
-
-/**
-   Delivers the xTU-C's T1.413 revision number.
-*/
-typedef struct ACK_T1413_RevNo_O_Get ACK_T1413_RevNo_O_Get_t;
-
-/** Message ID for CMD_T1413_RevNo_R_Get */
-#define CMD_T1413_REVNO_R_GET 0x7F03
-
-/**
-   Requests the xTU-R's T1.413 revision number. (Section 9.7.6.2 of ANSI T1.413
-   [16])
-*/
-typedef struct CMD_T1413_RevNo_R_Get CMD_T1413_RevNo_R_Get_t;
-
-/** Message ID for ACK_T1413_RevNo_R_Get */
-#define ACK_T1413_REVNO_R_GET 0x7F03
-
-/**
-   Delivers the xTU-R's T1.413 revision number.
-*/
-typedef struct ACK_T1413_RevNo_R_Get ACK_T1413_RevNo_R_Get_t;
-
-/** Message ID for CMD_T1413_VendorRevNo_O_Get */
-#define CMD_T1413_VENDORREVNO_O_GET 0x8003
-
-/**
-   Requests the xTU-C's T1.413 vendor revision number. (Section 9.6.4.4 of ANSI
-   T1.413 [16])
-*/
-typedef struct CMD_T1413_VendorRevNo_O_Get CMD_T1413_VendorRevNo_O_Get_t;
-
-/** Message ID for ACK_T1413_VendorRevNo_O_Get */
-#define ACK_T1413_VENDORREVNO_O_GET 0x8003
-
-/**
-   Delivers the xTU-C's T1.413 vendor revision number.
-*/
-typedef struct ACK_T1413_VendorRevNo_O_Get ACK_T1413_VendorRevNo_O_Get_t;
-
-/** Message ID for CMD_T1413_VendorRevNo_R_Get */
-#define CMD_T1413_VENDORREVNO_R_GET 0x8103
-
-/**
-   Requests the xTU-R's T1.413 vendor revision number. (Section 9.7.6.3 of ANSI
-   T1.413 [16])
-*/
-typedef struct CMD_T1413_VendorRevNo_R_Get CMD_T1413_VendorRevNo_R_Get_t;
-
-/** Message ID for ACK_T1413_VendorRevNo_R_Get */
-#define ACK_T1413_VENDORREVNO_R_GET 0x8103
-
-/**
-   Delivers the xTU-R's T1.413 vendor revision number.
-*/
-typedef struct ACK_T1413_VendorRevNo_R_Get ACK_T1413_VendorRevNo_R_Get_t;
-
-/** Message ID for CMD_XTSE_StatusGet */
-#define CMD_XTSE_STATUSGET 0x0102
-
-/**
-   Requests the transmission system in use on the line (DSL flavour). (Section
-   7.5.1.1. of G.997.1 [11]) See note at ACK_XTSE_StatusGet about the expected
-   behaviour.
-*/
-typedef struct CMD_XTSE_StatusGet CMD_XTSE_StatusGet_t;
-
-/** Message ID for ACK_XTSE_StatusGet */
-#define ACK_XTSE_STATUSGET 0x0102
-
-/**
-   Reports the transmission system mode in use as requested by
-   CMD_XTSE_StatusGet.The information is set by the FW after mode select (MS)
-   during the handshake phase or during T1.413 state. Before mode selection the
-   value "0" is reported (=none), after selection of a common mode exactly this
-   single mode must be indicated. If there is a common mode but it requires
-   another FW to be loaded (e.g. ADSL instead of VDSL), this does not happen
-   ("0" is reported ), then the FW goes to FAIL state and indicates a specific
-   suberror code (S_XDSL_MODE). If there is no common mode, "0" is to be
-   reported (here modem enters FAIL state).
-*/
-typedef struct ACK_XTSE_StatusGet ACK_XTSE_StatusGet_t;
-
-/** Message ID for CMD_BandControl_DS_Get */
-#define CMD_BANDCONTROL_DS_GET 0xC803
-
-/**
-   Reads the used downstream band configuration.
-*/
-typedef struct CMD_BandControl_DS_Get CMD_BandControl_DS_Get_t;
-
-/** Message ID for ACK_BandControl_DS_Get */
-#define ACK_BANDCONTROL_DS_GET 0xC803
-
-/**
-   Acknowledgement for message CMD_BandControl_DS_Get.
-*/
-typedef struct ACK_BandControl_DS_Get ACK_BandControl_DS_Get_t;
-
-/** Message ID for CMD_BandControl_US_Get */
-#define CMD_BANDCONTROL_US_GET 0xC903
-
-/**
-   Reads the used upstream band configuration.
-*/
-typedef struct CMD_BandControl_US_Get CMD_BandControl_US_Get_t;
-
-/** Message ID for ACK_BandControl_US_Get */
-#define ACK_BANDCONTROL_US_GET 0xC903
-
-/**
-   Acknowledgement for message CMD_BandControl_US_Get.
-*/
-typedef struct ACK_BandControl_US_Get ACK_BandControl_US_Get_t;
-
-/** Message ID for CMD_RFI_BandControlGet */
-#define CMD_RFI_BANDCONTROLGET 0xCA03
-
-/**
-   Reads the RFI band configuration.
-*/
-typedef struct CMD_RFI_BandControlGet CMD_RFI_BandControlGet_t;
-
-/** Message ID for ACK_RFI_BandControlGet */
-#define ACK_RFI_BANDCONTROLGET 0xCA03
-
-/**
-   Acknowledgement for message CMD_RFI_BandControlGet.
-*/
-typedef struct ACK_RFI_BandControlGet ACK_RFI_BandControlGet_t;
-
-/** Message ID for CMD_LineStatusDS_Get */
-#define CMD_LINESTATUSDS_GET 0x4403
-
-/**
-   This message requests data about the line status (like noise margin) for
-   downstream direction.
-*/
-typedef struct CMD_LineStatusDS_Get CMD_LineStatusDS_Get_t;
-
-/** Message ID for ACK_LineStatusDS_Get */
-#define ACK_LINESTATUSDS_GET 0x4403
-
-/**
-   The message delivers the line status data for downstream direction requested
-   by CMD_LineStatusDS_Get.
-*/
-typedef struct ACK_LineStatusDS_Get ACK_LineStatusDS_Get_t;
-
-/** Message ID for CMD_LineStatusUS_Get */
-#define CMD_LINESTATUSUS_GET 0x4503
-
-/**
-   This message requests data about the upstream line status (like noise
-   margin).
-*/
-typedef struct CMD_LineStatusUS_Get CMD_LineStatusUS_Get_t;
-
-/** Message ID for ACK_LineStatusUS_Get */
-#define ACK_LINESTATUSUS_GET 0x4503
-
-/**
-   The message delivers the line status data for upstream direction requested by
-   CMD_LineStatusUS_Get.
-*/
-typedef struct ACK_LineStatusUS_Get ACK_LineStatusUS_Get_t;
-
-/** Message ID for CMD_LineStatusPerBandDS_Get */
-#define CMD_LINESTATUSPERBANDDS_GET 0xD203
-
-/**
-   This message requests data about the line status (noise margin, line
-   attenuation and signal attenuation) for downstream direction in a "per band"
-   granularity.
-*/
-typedef struct CMD_LineStatusPerBandDS_Get CMD_LineStatusPerBandDS_Get_t;
-
-/** Message ID for ACK_LineStatusPerBandDS_Get */
-#define ACK_LINESTATUSPERBANDDS_GET 0xD203
-
-/**
-   The message delivers the line status data (line attenuation, signal
-   attenuation and noise margin) for downstream direction in a "per band"
-   granularity as requested by CMD_LineStatusPerBandDS_Get.
-*/
-typedef struct ACK_LineStatusPerBandDS_Get ACK_LineStatusPerBandDS_Get_t;
-
-/** Message ID for CMD_LineStatusPerBandUS_Get */
-#define CMD_LINESTATUSPERBANDUS_GET 0xD303
-
-/**
-   This message requests data about the line status (noise margin, line - and
-   signal attenuation) for upstream direction in a "per band" granularity.
-*/
-typedef struct CMD_LineStatusPerBandUS_Get CMD_LineStatusPerBandUS_Get_t;
-
-/** Message ID for ACK_LineStatusPerBandUS_Get */
-#define ACK_LINESTATUSPERBANDUS_GET 0xD303
-
-/**
-   The message delivers the line status data (line attenuation, signal
-   attenuation and noise margin) for upstream direction in a "per band"
-   granularity as requested by CMD_LineStatusPerBandUS_Get.
-*/
-typedef struct ACK_LineStatusPerBandUS_Get ACK_LineStatusPerBandUS_Get_t;
-
-/** Message ID for CMD_AttndrStatusGet */
-#define CMD_ATTNDRSTATUSGET 0xF003
-
-/**
-   Requests parameters used for the calculation of the downstream attainable net
-   data rate (ATTNDRds).
-*/
-typedef struct CMD_AttndrStatusGet CMD_AttndrStatusGet_t;
-
-/** Message ID for ACK_AttndrStatusGet */
-#define ACK_ATTNDRSTATUSGET 0xF003
-
-/**
-   Delivers the data requested by CMD_AttndrStatusGet.(Section 7.5.1.41 of
-   G.997.1 [12]).
-*/
-typedef struct ACK_AttndrStatusGet ACK_AttndrStatusGet_t;
-
-/** Message ID for CMD_PSD_BreakpointsDS_Get */
-#define CMD_PSD_BREAKPOINTSDS_GET 0xD403
-
-/**
-   Requests the breakpoints of the actual PSD for the downstream direction. PSDs
-   consisting of more than 42 PSD breakpoints must be read with 2 messages due
-   to the the mailbox size. (The first parameter in the retrieved data structure
-   contains the "Number of Breakpoints" parameter.)
-*/
-typedef struct CMD_PSD_BreakpointsDS_Get CMD_PSD_BreakpointsDS_Get_t;
-
-/** Message ID for ACK_PSD_BreakpointsDS_Get */
-#define ACK_PSD_BREAKPOINTSDS_GET 0xD403
-
-/**
-   Delivers the breakpoints of the actual PSD for the downstream direction as
-   requested by CMD_PSD_BreakpointsDS_Get.
-*/
-typedef struct ACK_PSD_BreakpointsDS_Get ACK_PSD_BreakpointsDS_Get_t;
-
-/** Message ID for CMD_PSD_BreakpointsUS_Get */
-#define CMD_PSD_BREAKPOINTSUS_GET 0xD503
-
-/**
-   Requests the breakpoints of the actual PSD for the upstream direction.
-*/
-typedef struct CMD_PSD_BreakpointsUS_Get CMD_PSD_BreakpointsUS_Get_t;
-
-/** Message ID for ACK_PSD_BreakpointsUS_Get */
-#define ACK_PSD_BREAKPOINTSUS_GET 0xD503
-
-/**
-   Delivers the breakpoints of the actual PSD for the upstream direction as
-   requested by CMD_PSD_BreakpointsUS_Get.
-*/
-typedef struct ACK_PSD_BreakpointsUS_Get ACK_PSD_BreakpointsUS_Get_t;
-
-/** Message ID for CMD_TssiDS_VDSL2_Get */
-#define CMD_TSSIDS_VDSL2_GET 0x2803
-
-/**
-   The Downstream TSSI Breakpoints are specified by the transmitter (VTU-O) and
-   communicated to the receiver (VTU-R) via the O-PRM message.   The TSSI
-   Breakpoints are used to shape the O-P-TEQ signal. This message provides read
-   only access to the DS TSSI Breakpoints. The DS TSSI Breakpoints are not
-   configurable via messages.
-*/
-typedef struct CMD_TssiDS_VDSL2_Get CMD_TssiDS_VDSL2_Get_t;
-
-/** Message ID for ACK_TssiDS_VDSL2_Get */
-#define ACK_TSSIDS_VDSL2_GET 0x2803
-
-/**
-   This is the acknowledgement of CMD_TssiDS_VDSL2_Get.
-*/
-typedef struct ACK_TssiDS_VDSL2_Get ACK_TssiDS_VDSL2_Get_t;
-
-/** Message ID for CMD_TssiUS_VDSL2_Get */
-#define CMD_TSSIUS_VDSL2_GET 0x2903
-
-/**
-   The Upstream TSSI Breakpoints are specified by the transmitter (VTU-R) and
-   communicated to the receiver (VTU-O) via the R-PRM message.   The TSSI
-   Breakpoints are used to shape the R-P-TEQ signal.  The TSSI Breakpoints can
-   be read only but are not configurable via messages.
-*/
-typedef struct CMD_TssiUS_VDSL2_Get CMD_TssiUS_VDSL2_Get_t;
-
-/** Message ID for ACK_TssiUS_VDSL2_Get */
-#define ACK_TSSIUS_VDSL2_GET 0x2903
-
-/**
-   This is the acknowledgement of CMD_TssiUS_VDSL2_Get.
-*/
-typedef struct ACK_TssiUS_VDSL2_Get ACK_TssiUS_VDSL2_Get_t;
-
-/** Message ID for CMD_ADSL_PCB_Get */
-#define CMD_ADSL_PCB_GET 0x000E
-
-/**
-   Reads the actual power cutback value.
-*/
-typedef struct CMD_ADSL_PCB_Get CMD_ADSL_PCB_Get_t;
-
-/** Message ID for ACK_ADSL_PCB_Get */
-#define ACK_ADSL_PCB_GET 0x000E
-
-/**
-   Provides the actual power cutback values requested with CMD_ADSL_PCB_Get.
-*/
-typedef struct ACK_ADSL_PCB_Get ACK_ADSL_PCB_Get_t;
-
-/** Message ID for CMD_ActualPSD_Get */
-#define CMD_ACTUALPSD_GET 0xD803
-
-/**
-   Requests the PSD and power parameter values actually used by the firmware.
-*/
-typedef struct CMD_ActualPSD_Get CMD_ActualPSD_Get_t;
-
-/** Message ID for ACK_ActualPSD_Get */
-#define ACK_ACTUALPSD_GET 0xD803
-
-/**
-   Provides actually used PSD and power parameters as requested by
-   CMD_ActualPSD_Get.
-*/
-typedef struct ACK_ActualPSD_Get ACK_ActualPSD_Get_t;
-
-/** Message ID for CMD_ADSL_MJ_UsMaskGet */
-#define CMD_ADSL_MJ_USMASKGET 0x1802
-
-/**
-   Requests the actually used ADSL upstream mask for ADSL2/2+ Annexes M and J.
-   To be applied only in combination with G.992.3/5 Annex M support in
-   ACK_XTSE_StatusGet.
-*/
-typedef struct CMD_ADSL_MJ_UsMaskGet CMD_ADSL_MJ_UsMaskGet_t;
-
-/** Message ID for ACK_ADSL_MJ_UsMaskGet */
-#define ACK_ADSL_MJ_USMASKGET 0x1802
-
-/**
-   Provides the actually used ADSL upstream mask for ADSL2/2+ Annexes M and J.
-*/
-typedef struct ACK_ADSL_MJ_UsMaskGet ACK_ADSL_MJ_UsMaskGet_t;
-
-/** Message ID for CMD_PSDMASK_DS_Get */
-#define CMD_PSDMASK_DS_GET 0xF203
-
-/**
-   Reports the downstream transmit PSD mask (PSDMASKds) which is received from
-   CO with O-SIGNATURE message.
-*/
-typedef struct CMD_PSDMASK_DS_Get CMD_PSDMASK_DS_Get_t;
-
-/** Message ID for ACK_PSDMASK_DS_Get */
-#define ACK_PSDMASK_DS_GET 0xF203
-
-/**
-   Reports the downstream transmit PSD mask (PSDMASKds) for both passbands and
-   stopbands, which is received from CO with O-SIGNATURE message. (Format is now
-   as absolute value without the offset.)
-*/
-typedef struct ACK_PSDMASK_DS_Get ACK_PSDMASK_DS_Get_t;
-
-/** Message ID for CMD_RxPSD_TableEntriesGet */
-#define CMD_RXPSD_TABLEENTRIESGET 0x5403
-
-/**
-   The message requests information about the receive PSD per subcarrier
-   available at the near-end side, which means for downstream direction at the
-   CPE. It is the hosts responsibility to select the tone indices accordingly.In
-   Showtime the message reports the receive PSD measured in Channel Discovery
-   phase after the final hybrid training (no Showtime update).
-*/
-typedef struct CMD_RxPSD_TableEntriesGet CMD_RxPSD_TableEntriesGet_t;
-
-/** Message ID for ACK_RxPSD_TableEntriesGet */
-#define ACK_RXPSD_TABLEENTRIESGET 0x5403
-
-/**
-   Returns information about the receive PSD per subcarrier available at the
-   near-end side, which means for downstream direction at the CPE.In Showtime
-   the message reports the receive PSD measured in Channel Discovery phase after
-   the final hybrid training (no Showtime update).
-*/
-typedef struct ACK_RxPSD_TableEntriesGet ACK_RxPSD_TableEntriesGet_t;
-
-/** Message ID for CMD_BearerChsDS_Get */
-#define CMD_BEARERCHSDS_GET 0x0106
-
-/**
-   Requests status information for the downstream bearer channels.
-*/
-typedef struct CMD_BearerChsDS_Get CMD_BearerChsDS_Get_t;
-
-/** Message ID for ACK_BearerChsDS_Get */
-#define ACK_BEARERCHSDS_GET 0x0106
-
-/**
-   Delivers status information for the downstream bearer channels. **: The terms
-   "LP0/Interleaved Path" and "LP1/Fast Path" below refer to the terminology
-   used in ITU DSL standards [1],[2], [3], [5] which means:- LP0 or LP1 in case
-   of VDSL2, ADSL2/2+- "Interleaved Path" or "Fast Path" in case of ADSL1/ADSL1
-   Lite.Attention: In VRX Device1 the "LP1/Fast Path" parameters are populated
-   only in ADSL1 and ADSL1 Lilte mode with selected fast path.
-*/
-typedef struct ACK_BearerChsDS_Get ACK_BearerChsDS_Get_t;
-
-/** Message ID for CMD_BearerChsUS_Get */
-#define CMD_BEARERCHSUS_GET 0x0006
-
-/**
-   Requests status information for the upstream bearer channels.
-*/
-typedef struct CMD_BearerChsUS_Get CMD_BearerChsUS_Get_t;
-
-/** Message ID for ACK_BearerChsUS_Get */
-#define ACK_BEARERCHSUS_GET 0x0006
-
-/**
-   Delivers status information for the upstream bearer channels. **: The terms
-   "LP0/Interleaved Path" and "LP1/Fast Path" below refer to the terminology
-   used in ITU DSL standards [1],[2], [3], [5] which means:- LP0 or LP1 in case
-   of VDSL2, ADSL2/2+- "Interleaved Path" or "Fast Path" in case of ADSL1/ADSL1
-   Lite.Attention: In VRX Device1 the "LP1/Fast Path" parameters are populated
-   only in ADSL1 and ADSL1 Lite mode with selected fast path.
-*/
-typedef struct ACK_BearerChsUS_Get ACK_BearerChsUS_Get_t;
-
-/** Message ID for CMD_FrameDataExt2DS_Get */
-#define CMD_FRAMEDATAEXT2DS_GET 0x2203
-
-/**
-   Requests an extended set of VDSL2 framing parameters for the downstream
-   direction.
-*/
-typedef struct CMD_FrameDataExt2DS_Get CMD_FrameDataExt2DS_Get_t;
-
-/** Message ID for ACK_FrameDataExt2DS_Get */
-#define ACK_FRAMEDATAEXT2DS_GET 0x2203
-
-/**
-   Delivers an extended set of VDSL2 framing parameters for the downstream
-   direction requested by CMD_FrameDataExt2DS_Get. (Sections 7.5.2.6 of G.997.1
-   and 9.5 & 9.6 of G.993.2 [5])
-*/
-typedef struct ACK_FrameDataExt2DS_Get ACK_FrameDataExt2DS_Get_t;
-
-/** Message ID for CMD_FrameDataExt2US_Get */
-#define CMD_FRAMEDATAEXT2US_GET 0x2303
-
-/**
-   Requests an extended set of VDSL2 framing parameters for the upstream
-   direction.
-*/
-typedef struct CMD_FrameDataExt2US_Get CMD_FrameDataExt2US_Get_t;
-
-/** Message ID for ACK_FrameDataExt2US_Get */
-#define ACK_FRAMEDATAEXT2US_GET 0x2303
-
-/**
-   Delivers an extended set of VDSL2 framing parameters for the upstream
-   direction requested by CMD_FrameDataExt2US_Get. (Sections 7.5.2.6 of G.997.1
-   and 9.5 & 9.6 of G.993.2 [5])
-*/
-typedef struct ACK_FrameDataExt2US_Get ACK_FrameDataExt2US_Get_t;
-
-/** Message ID for CMD_ADSL_FrameDataDS_LP0Get */
-#define CMD_ADSL_FRAMEDATADS_LP0GET 0x010E
-
-/**
-   Requests ADSL framing parameters for the downstream direction, latency path
-   0/Interleaved Path.
-*/
-typedef struct CMD_ADSL_FrameDataDS_LP0Get CMD_ADSL_FrameDataDS_LP0Get_t;
-
-/** Message ID for ACK_ADSL_FrameDataDS_LP0Get */
-#define ACK_ADSL_FRAMEDATADS_LP0GET 0x010E
-
-/**
-   Delivers the ADSL framing parameters for the downstream direction,
-   LP0/Interleaved path, as requested by CMD_ADSL_FrameDataDS_LP0Get. (Sections
-   7.5 & 7.6 of G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-typedef struct ACK_ADSL_FrameDataDS_LP0Get ACK_ADSL_FrameDataDS_LP0Get_t;
-
-/** Message ID for CMD_ADSL_FrameDataUS_LP0Get */
-#define CMD_ADSL_FRAMEDATAUS_LP0GET 0x020E
-
-/**
-   Requests ADSL framing parameters for the upstream direction, latency path
-   0/Interleaved path.
-*/
-typedef struct CMD_ADSL_FrameDataUS_LP0Get CMD_ADSL_FrameDataUS_LP0Get_t;
-
-/** Message ID for ACK_ADSL_FrameDataUS_LP0Get */
-#define ACK_ADSL_FRAMEDATAUS_LP0GET 0x020E
-
-/**
-   Delivers the ADSL framing parameters for the upstream direction, latency path
-   0/Interleaved path, as requested by CMD_ADSL_FrameDataUS_LP0Get. (Sections
-   7.5 & 7.6 of G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-typedef struct ACK_ADSL_FrameDataUS_LP0Get ACK_ADSL_FrameDataUS_LP0Get_t;
-
-/** Message ID for CMD_ADSL_FrameDataDS_LP1Get */
-#define CMD_ADSL_FRAMEDATADS_LP1GET 0x030E
-
-/**
-   Requests ADSL framing parameters for the downstream direction, latency path 1
-   (LP1)/ Fast path.In VRX Rev. 1.x to be used for ADSL1, "fast path" only.
-*/
-typedef struct CMD_ADSL_FrameDataDS_LP1Get CMD_ADSL_FrameDataDS_LP1Get_t;
-
-/** Message ID for ACK_ADSL_FrameDataDS_LP1Get */
-#define ACK_ADSL_FRAMEDATADS_LP1GET 0x030E
-
-/**
-   Delivers the ADSL framing parameters for the downstream direction, LP1/Fast
-   path, as requested by CMD_ADSL_FrameDataDS_LP1Get. (Sections 7.5 & 7.6 of
-   G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-typedef struct ACK_ADSL_FrameDataDS_LP1Get ACK_ADSL_FrameDataDS_LP1Get_t;
-
-/** Message ID for CMD_ADSL_FrameDataUS_LP1Get */
-#define CMD_ADSL_FRAMEDATAUS_LP1GET 0x040E
-
-/**
-   Requests ADSL framing parameters for the upstream direction, latency path 1
-   (LP1)/Fast path.In VRX Rev. 1.x to be used for ADSL1, "fast path" only.
-*/
-typedef struct CMD_ADSL_FrameDataUS_LP1Get CMD_ADSL_FrameDataUS_LP1Get_t;
-
-/** Message ID for ACK_ADSL_FrameDataUS_LP1Get */
-#define ACK_ADSL_FRAMEDATAUS_LP1GET 0x040E
-
-/**
-   Delivers the ADSL framing parameters for the upstream direction, LP1/Fast
-   path, as requested by CMD_ADSL_FrameDataUS_LP1Get. (Sections 7.5 & 7.6 of
-   G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-typedef struct ACK_ADSL_FrameDataUS_LP1Get ACK_ADSL_FrameDataUS_LP1Get_t;
-
-/** Message ID for CMD_HybridGet */
-#define CMD_HYBRIDGET 0x0922
-
-/**
-   Reads the connected hybrid type.
-*/
-typedef struct CMD_HybridGet CMD_HybridGet_t;
-
-/** Message ID for ACK_HybridGet */
-#define ACK_HYBRIDGET 0x0922
-
-/**
-   Contains the connected hybrid type.
-*/
-typedef struct ACK_HybridGet ACK_HybridGet_t;
-
-/** Message ID for CMD_PilotTonesGet */
-#define CMD_PILOTTONESGET 0x0322
-
-/**
-   Requests the pilot tones used in Showtime.
-*/
-typedef struct CMD_PilotTonesGet CMD_PilotTonesGet_t;
-
-/** Message ID for ACK_PilotTonesGet */
-#define ACK_PILOTTONESGET 0x0322
-
-/**
-   Provides the Showtime pilot tones as requested by CMD_PilotTonesGet.
-*/
-typedef struct ACK_PilotTonesGet ACK_PilotTonesGet_t;
-
-/** Message ID for CMD_MFD_ResultsGet */
-#define CMD_MFD_RESULTSGET 0x1022
-
-/**
-   Requests the results of the micro filter detection (MFD) function. Valid
-   information in Showtime and FAIL will be available only if the microfilter
-   detection mechanism has been run before.
-*/
-typedef struct CMD_MFD_ResultsGet CMD_MFD_ResultsGet_t;
-
-/** Message ID for ACK_MFD_ResultsGet */
-#define ACK_MFD_RESULTSGET 0x1022
-
-/**
-   Reports the results of the micro filter detection (MFD) function.
-*/
-typedef struct ACK_MFD_ResultsGet ACK_MFD_ResultsGet_t;
-
-/** Message ID for CMD_MFD_LooplengthGet */
-#define CMD_MFD_LOOPLENGTHGET 0x1122
-
-/**
-   Requests the loop length estimates done by the microfilter detection
-   function.In Showtime the data are always available.The availability of data
-   is indicated by the flag TrainingLoopLengthReady in ACK_MFD_ResultsGet.In
-   Showtime the data are always available.
-*/
-typedef struct CMD_MFD_LooplengthGet CMD_MFD_LooplengthGet_t;
-
-/** Message ID for ACK_MFD_LooplengthGet */
-#define ACK_MFD_LOOPLENGTHGET 0x1122
-
-/**
-   Reports the loop length estimates done by the microfilter detection (MFD)
-   function.
-*/
-typedef struct ACK_MFD_LooplengthGet ACK_MFD_LooplengthGet_t;
-
-/** Message ID for CMD_MFD_HybridInfoGet */
-#define CMD_MFD_HYBRIDINFOGET 0x1222
-
-/**
-   Requests hybrid information used by the microfilter detection function.In
-   Showtime the data are always available.The availability of data is indicated
-   by the flag TrainingHybridInfoReady in ACK_MFD_ResultsGet. In Showtime the
-   data are always available.
-*/
-typedef struct CMD_MFD_HybridInfoGet CMD_MFD_HybridInfoGet_t;
-
-/** Message ID for ACK_MFD_HybridInfoGet */
-#define ACK_MFD_HYBRIDINFOGET 0x1222
-
-/**
-   Reports the hybrid information used by the microfilter detection function.
-*/
-typedef struct ACK_MFD_HybridInfoGet ACK_MFD_HybridInfoGet_t;
-
-/**
-   Selects one or more groups of tones to be used during the handshake phase.
-   (See G.994.1 Amendment 2 [8], Table 1/G.994.1).
-*/
-struct CMD_HS_ToneGroupSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** Tone Group 8: CAR_SET_V43I */
-   DSL_uint16_t Group8 : 1;
-   /** Tone Group 7: CAR_SET_V43P */
-   DSL_uint16_t Group7 : 1;
-   /** Tone Group 6: CAR_SET_V43 */
-   DSL_uint16_t Group6 : 1;
-   /** Tone Group 5: CAR_SET_J43 */
-   DSL_uint16_t Group5 : 1;
-   /** Tone Group 4: CAR_SET_C43 */
-   DSL_uint16_t Group4 : 1;
-   /** Tone Group 3: CAR_SET_B43C */
-   DSL_uint16_t Group3 : 1;
-   /** Tone Group 2: CAR_SET_B43 */
-   DSL_uint16_t Group2 : 1;
-   /** Tone Group 1: CAR_SET_A43C */
-   DSL_uint16_t Group1 : 1;
-   /** Tone Group 0: CAR_SET_A43 */
-   DSL_uint16_t Group0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Tone Group 0: CAR_SET_A43 */
-   DSL_uint16_t Group0 : 1;
-   /** Tone Group 1: CAR_SET_A43C */
-   DSL_uint16_t Group1 : 1;
-   /** Tone Group 2: CAR_SET_B43 */
-   DSL_uint16_t Group2 : 1;
-   /** Tone Group 3: CAR_SET_B43C */
-   DSL_uint16_t Group3 : 1;
-   /** Tone Group 4: CAR_SET_C43 */
-   DSL_uint16_t Group4 : 1;
-   /** Tone Group 5: CAR_SET_J43 */
-   DSL_uint16_t Group5 : 1;
-   /** Tone Group 6: CAR_SET_V43 */
-   DSL_uint16_t Group6 : 1;
-   /** Tone Group 7: CAR_SET_V43P */
-   DSL_uint16_t Group7 : 1;
-   /** Tone Group 8: CAR_SET_V43I */
-   DSL_uint16_t Group8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_HS_ToneGroupSet.
-*/
-struct ACK_HS_ToneGroupSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configures the profile settings to be used for the handshake phase. (See
-   G.994.1 Amendment 4 [10], NPAR(3) coding).
-*/
-struct CMD_HS_VDSL2ProfileControl
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** 35b, Profile Support Bit 8 */
-   DSL_uint16_t profileSup8 : 1;
-   /** 30a, Profile Support Bit 7 */
-   DSL_uint16_t profileSup7 : 1;
-   /** 17a, Profile Support Bit 6 */
-   DSL_uint16_t profileSup6 : 1;
-   /** 12b, Profile Support Bit 5 */
-   DSL_uint16_t profileSup5 : 1;
-   /** 12a, Profile Support Bit 4 */
-   DSL_uint16_t profileSup4 : 1;
-   /** 8d, Profile Support Bit 3 */
-   DSL_uint16_t profileSup3 : 1;
-   /** 8c, Profile Support Bit 2 */
-   DSL_uint16_t profileSup2 : 1;
-   /** 8b, Profile Support Bit 1 */
-   DSL_uint16_t profileSup1 : 1;
-   /** 8a, Profile Support Bit 0 */
-   DSL_uint16_t profileSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** 35b, Profile Preferred Bit 8 */
-   DSL_uint16_t profilePref8 : 1;
-   /** 30a, Profile Preferred Bit 7 */
-   DSL_uint16_t profilePref7 : 1;
-   /** 17a, Profile Preferred Bit 6 */
-   DSL_uint16_t profilePref6 : 1;
-   /** 12b, Profile Preferred Bit 5 */
-   DSL_uint16_t profilePref5 : 1;
-   /** 12a, Profile Preferred Bit 4 */
-   DSL_uint16_t profilePref4 : 1;
-   /** 8d, Profile Preferred Bit 3 */
-   DSL_uint16_t profilePref3 : 1;
-   /** 8c, Profile Preferred Bit 2 */
-   DSL_uint16_t profilePref2 : 1;
-   /** 8b, Profile Preferred Bit 1 */
-   DSL_uint16_t profilePref1 : 1;
-   /** 8a, Profile Preferred Bit 0 */
-   DSL_uint16_t profilePref0 : 1;
-   /** ADLU-56, Annex A US0 PSDs Supported Bit 15 */
-   DSL_uint16_t A_US0PsdSup15 : 1;
-   /** ADLU-52, Annex A US0 PSDs Supported Bit 14 */
-   DSL_uint16_t A_US0PsdSup14 : 1;
-   /** ADLU-48, Annex A US0 PSDs Supported Bit 13 */
-   DSL_uint16_t A_US0PsdSup13 : 1;
-   /** ADLU-44, Annex A US0 PSDs Supported Bit 12 */
-   DSL_uint16_t A_US0PsdSup12 : 1;
-   /** ADLU-40, Annex A US0 PSDs Supported Bit 11 */
-   DSL_uint16_t A_US0PsdSup11 : 1;
-   /** ADLU-36, Annex A US0 PSDs Supported Bit 10 */
-   DSL_uint16_t A_US0PsdSup10 : 1;
-   /** ADLU-32, Annex A US0 PSDs Supported Bit 9 */
-   DSL_uint16_t A_US0PsdSup9 : 1;
-   /** EU-64, Annex A US0 PSDs Supported Bit 8 */
-   DSL_uint16_t A_US0PsdSup8 : 1;
-   /** EU-60, Annex A US0 PSDs Supported Bit 7 */
-   DSL_uint16_t A_US0PsdSup7 : 1;
-   /** EU-56, Annex A US0 PSDs Supported Bit 6 */
-   DSL_uint16_t A_US0PsdSup6 : 1;
-   /** EU-52, Annex A US0 PSDs Supported Bit 5 */
-   DSL_uint16_t A_US0PsdSup5 : 1;
-   /** EU-48, Annex A US0 PSDs Supported Bit 4 */
-   DSL_uint16_t A_US0PsdSup4 : 1;
-   /** EU-44, Annex A US0 PSDs Supported Bit 3 */
-   DSL_uint16_t A_US0PsdSup3 : 1;
-   /** EU-40, Annex A US0 PSDs Supported Bit 2 */
-   DSL_uint16_t A_US0PsdSup2 : 1;
-   /** EU-36, Annex A US0 PSDs Supported Bit 1 */
-   DSL_uint16_t A_US0PsdSup1 : 1;
-   /** EU-32, Annex A US0 PSDs Supported Bit 0 */
-   DSL_uint16_t A_US0PsdSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 10;
-   /** ADLU-128, Annex A US0 PSDs Supported Bit 21 */
-   DSL_uint16_t A_US0PsdSup21 : 1;
-   /** EU-128, Annex A US0 PSDs Supported Bit 20 */
-   DSL_uint16_t A_US0PsdSup20 : 1;
-   /** 17a Profile, Annex A US0 PSDs Supported Bit 19 */
-   DSL_uint16_t A_US0PsdSup19 : 1;
-   /** 12b Profile, Annex A US0 PSDs Supported Bit 18 */
-   DSL_uint16_t A_US0PsdSup18 : 1;
-   /** ADLU-64, Annex A US0 PSDs Supported Bit 17 */
-   DSL_uint16_t A_US0PsdSup17 : 1;
-   /** ADLU-60, Annex A US0 PSDs Supported Bit 16 */
-   DSL_uint16_t A_US0PsdSup16 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3[2];
-   /** Reserved */
-   DSL_uint16_t Res4 : 11;
-   /** 17a Profile, Annex B US0 PSDs Supported Bit 4 */
-   DSL_uint16_t B_US0PsdSup4 : 1;
-   /** 12b Profile, Annex B US0 PSDs Supported Bit 3 */
-   DSL_uint16_t B_US0PsdSup3 : 1;
-   /** US0 In 120 to 276 kHz, Annex B US0 PSDs Supported Bit 2 */
-   DSL_uint16_t B_US0PsdSup2 : 1;
-   /** US0 In 25 to 276 kHz, Annex B US0 PSDs Supported Bit 1 */
-   DSL_uint16_t B_US0PsdSup1 : 1;
-   /** US0 In 25 to 138 kHz, Annex B US0 PSDs Supported Bit 0 */
-   DSL_uint16_t B_US0PsdSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5;
-   /** Reserved */
-   DSL_uint16_t Res6 : 2;
-   /** 17a Profile, Annex C US0 PSDs Supported Bit 13 */
-   DSL_uint16_t C_US0PsdSup13 : 1;
-   /** 12b Profile, Annex C US0 PSDs Supported Bit 12 */
-   DSL_uint16_t C_US0PsdSup12 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 6;
-   /** US0 In 25 to 276 kHz, Annex C US0 PSDs Supported Bit 5 */
-   DSL_uint16_t C_US0PsdSup5 : 1;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 4 */
-   DSL_uint16_t C_US0PsdSup4 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 2;
-   /** US0 In 25 to 276kHz, Annex C US0 PSDs Supported Bit 1 */
-   DSL_uint16_t C_US0PsdSup1 : 1;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 0 */
-   DSL_uint16_t C_US0PsdSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res9;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** 8a, Profile Support Bit 0 */
-   DSL_uint16_t profileSup0 : 1;
-   /** 8b, Profile Support Bit 1 */
-   DSL_uint16_t profileSup1 : 1;
-   /** 8c, Profile Support Bit 2 */
-   DSL_uint16_t profileSup2 : 1;
-   /** 8d, Profile Support Bit 3 */
-   DSL_uint16_t profileSup3 : 1;
-   /** 12a, Profile Support Bit 4 */
-   DSL_uint16_t profileSup4 : 1;
-   /** 12b, Profile Support Bit 5 */
-   DSL_uint16_t profileSup5 : 1;
-   /** 17a, Profile Support Bit 6 */
-   DSL_uint16_t profileSup6 : 1;
-   /** 30a, Profile Support Bit 7 */
-   DSL_uint16_t profileSup7 : 1;
-   /** 35b, Profile Support Bit 8 */
-   DSL_uint16_t profileSup8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** 8a, Profile Preferred Bit 0 */
-   DSL_uint16_t profilePref0 : 1;
-   /** 8b, Profile Preferred Bit 1 */
-   DSL_uint16_t profilePref1 : 1;
-   /** 8c, Profile Preferred Bit 2 */
-   DSL_uint16_t profilePref2 : 1;
-   /** 8d, Profile Preferred Bit 3 */
-   DSL_uint16_t profilePref3 : 1;
-   /** 12a, Profile Preferred Bit 4 */
-   DSL_uint16_t profilePref4 : 1;
-   /** 12b, Profile Preferred Bit 5 */
-   DSL_uint16_t profilePref5 : 1;
-   /** 17a, Profile Preferred Bit 6 */
-   DSL_uint16_t profilePref6 : 1;
-   /** 30a, Profile Preferred Bit 7 */
-   DSL_uint16_t profilePref7 : 1;
-   /** 35b, Profile Preferred Bit 8 */
-   DSL_uint16_t profilePref8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** EU-32, Annex A US0 PSDs Supported Bit 0 */
-   DSL_uint16_t A_US0PsdSup0 : 1;
-   /** EU-36, Annex A US0 PSDs Supported Bit 1 */
-   DSL_uint16_t A_US0PsdSup1 : 1;
-   /** EU-40, Annex A US0 PSDs Supported Bit 2 */
-   DSL_uint16_t A_US0PsdSup2 : 1;
-   /** EU-44, Annex A US0 PSDs Supported Bit 3 */
-   DSL_uint16_t A_US0PsdSup3 : 1;
-   /** EU-48, Annex A US0 PSDs Supported Bit 4 */
-   DSL_uint16_t A_US0PsdSup4 : 1;
-   /** EU-52, Annex A US0 PSDs Supported Bit 5 */
-   DSL_uint16_t A_US0PsdSup5 : 1;
-   /** EU-56, Annex A US0 PSDs Supported Bit 6 */
-   DSL_uint16_t A_US0PsdSup6 : 1;
-   /** EU-60, Annex A US0 PSDs Supported Bit 7 */
-   DSL_uint16_t A_US0PsdSup7 : 1;
-   /** EU-64, Annex A US0 PSDs Supported Bit 8 */
-   DSL_uint16_t A_US0PsdSup8 : 1;
-   /** ADLU-32, Annex A US0 PSDs Supported Bit 9 */
-   DSL_uint16_t A_US0PsdSup9 : 1;
-   /** ADLU-36, Annex A US0 PSDs Supported Bit 10 */
-   DSL_uint16_t A_US0PsdSup10 : 1;
-   /** ADLU-40, Annex A US0 PSDs Supported Bit 11 */
-   DSL_uint16_t A_US0PsdSup11 : 1;
-   /** ADLU-44, Annex A US0 PSDs Supported Bit 12 */
-   DSL_uint16_t A_US0PsdSup12 : 1;
-   /** ADLU-48, Annex A US0 PSDs Supported Bit 13 */
-   DSL_uint16_t A_US0PsdSup13 : 1;
-   /** ADLU-52, Annex A US0 PSDs Supported Bit 14 */
-   DSL_uint16_t A_US0PsdSup14 : 1;
-   /** ADLU-56, Annex A US0 PSDs Supported Bit 15 */
-   DSL_uint16_t A_US0PsdSup15 : 1;
-   /** ADLU-60, Annex A US0 PSDs Supported Bit 16 */
-   DSL_uint16_t A_US0PsdSup16 : 1;
-   /** ADLU-64, Annex A US0 PSDs Supported Bit 17 */
-   DSL_uint16_t A_US0PsdSup17 : 1;
-   /** 12b Profile, Annex A US0 PSDs Supported Bit 18 */
-   DSL_uint16_t A_US0PsdSup18 : 1;
-   /** 17a Profile, Annex A US0 PSDs Supported Bit 19 */
-   DSL_uint16_t A_US0PsdSup19 : 1;
-   /** EU-128, Annex A US0 PSDs Supported Bit 20 */
-   DSL_uint16_t A_US0PsdSup20 : 1;
-   /** ADLU-128, Annex A US0 PSDs Supported Bit 21 */
-   DSL_uint16_t A_US0PsdSup21 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 10;
-   /** Reserved */
-   DSL_uint16_t Res3[2];
-   /** US0 In 25 to 138 kHz, Annex B US0 PSDs Supported Bit 0 */
-   DSL_uint16_t B_US0PsdSup0 : 1;
-   /** US0 In 25 to 276 kHz, Annex B US0 PSDs Supported Bit 1 */
-   DSL_uint16_t B_US0PsdSup1 : 1;
-   /** US0 In 120 to 276 kHz, Annex B US0 PSDs Supported Bit 2 */
-   DSL_uint16_t B_US0PsdSup2 : 1;
-   /** 12b Profile, Annex B US0 PSDs Supported Bit 3 */
-   DSL_uint16_t B_US0PsdSup3 : 1;
-   /** 17a Profile, Annex B US0 PSDs Supported Bit 4 */
-   DSL_uint16_t B_US0PsdSup4 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 11;
-   /** Reserved */
-   DSL_uint16_t Res5;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 0 */
-   DSL_uint16_t C_US0PsdSup0 : 1;
-   /** US0 In 25 to 276kHz, Annex C US0 PSDs Supported Bit 1 */
-   DSL_uint16_t C_US0PsdSup1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 2;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 4 */
-   DSL_uint16_t C_US0PsdSup4 : 1;
-   /** US0 In 25 to 276 kHz, Annex C US0 PSDs Supported Bit 5 */
-   DSL_uint16_t C_US0PsdSup5 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 6;
-   /** 12b Profile, Annex C US0 PSDs Supported Bit 12 */
-   DSL_uint16_t C_US0PsdSup12 : 1;
-   /** 17a Profile, Annex C US0 PSDs Supported Bit 13 */
-   DSL_uint16_t C_US0PsdSup13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 2;
-   /** Reserved */
-   DSL_uint16_t Res9;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_HS_VDSL2ProfileControl.
-*/
-struct ACK_HS_VDSL2ProfileControl
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the VDSL2 far-end Standard Info (See G.994.1 Amendment 4 [10],
-   NPAR(3) coding).
-*/
-struct CMD_HS_StandardInfoFE_VDSL2Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the VDSL2 far-end info as requested by
-   CMD_HS_StandardInfoFE_VDSL2Get (see G.994.1 Amendment 4 [10], NPAR(3)
-   coding).
-*/
-struct ACK_HS_StandardInfoFE_VDSL2Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** 35b, Profile Support Bit 8 */
-   DSL_uint16_t profileSup8 : 1;
-   /** 30a, Profile Support Bit 7 */
-   DSL_uint16_t profileSup7 : 1;
-   /** 17a, Profile Support Bit 6 */
-   DSL_uint16_t profileSup6 : 1;
-   /** 12b, Profile Support Bit 5 */
-   DSL_uint16_t profileSup5 : 1;
-   /** 12a, Profile Support Bit 4 */
-   DSL_uint16_t profileSup4 : 1;
-   /** 8d, Profile Support Bit 3 */
-   DSL_uint16_t profileSup3 : 1;
-   /** 8c, Profile Support Bit 2 */
-   DSL_uint16_t profileSup2 : 1;
-   /** 8b, Profile Support Bit 1 */
-   DSL_uint16_t profileSup1 : 1;
-   /** 8a, Profile Support Bit 0 */
-   DSL_uint16_t profileSup0 : 1;
-   /** ADLU-56, Annex A US0 PSDs Supported Bit 15 */
-   DSL_uint16_t A_US0PsdSup15 : 1;
-   /** ADLU-52, Annex A US0 PSDs Supported Bit 14 */
-   DSL_uint16_t A_US0PsdSup14 : 1;
-   /** ADLU-48, Annex A US0 PSDs Supported Bit 13 */
-   DSL_uint16_t A_US0PsdSup13 : 1;
-   /** ADLU-44, Annex A US0 PSDs Supported Bit 12 */
-   DSL_uint16_t A_US0PsdSup12 : 1;
-   /** ADLU-40, Annex A US0 PSDs Supported Bit 11 */
-   DSL_uint16_t A_US0PsdSup11 : 1;
-   /** ADLU-36, Annex A US0 PSDs Supported Bit 10 */
-   DSL_uint16_t A_US0PsdSup10 : 1;
-   /** ADLU-32, Annex A US0 PSDs Supported Bit 9 */
-   DSL_uint16_t A_US0PsdSup9 : 1;
-   /** EU-64, Annex A US0 PSDs Supported Bit 8 */
-   DSL_uint16_t A_US0PsdSup8 : 1;
-   /** EU-60, Annex A US0 PSDs Supported Bit 7 */
-   DSL_uint16_t A_US0PsdSup7 : 1;
-   /** EU-56, Annex A US0 PSDs Supported Bit 6 */
-   DSL_uint16_t A_US0PsdSup6 : 1;
-   /** EU-52, Annex A US0 PSDs Supported Bit 5 */
-   DSL_uint16_t A_US0PsdSup5 : 1;
-   /** EU-48, Annex A US0 PSDs Supported Bit 4 */
-   DSL_uint16_t A_US0PsdSup4 : 1;
-   /** EU-44, Annex A US0 PSDs Supported Bit 3 */
-   DSL_uint16_t A_US0PsdSup3 : 1;
-   /** EU-40, Annex A US0 PSDs Supported Bit 2 */
-   DSL_uint16_t A_US0PsdSup2 : 1;
-   /** EU-36, Annex A US0 PSDs Supported Bit 1 */
-   DSL_uint16_t A_US0PsdSup1 : 1;
-   /** EU-32, Annex A US0 PSDs Supported Bit 0 */
-   DSL_uint16_t A_US0PsdSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 10;
-   /** ADLU-128 Annex A US0 PSDs Supported Bit 21 */
-   DSL_uint16_t A_US0PsdSup21 : 1;
-   /** EU-128, Annex A US0 PSDs Supported Bit 20 */
-   DSL_uint16_t A_US0PsdSup20 : 1;
-   /** 17a Profile, Annex A US0 PSDs Supported Bit 19 */
-   DSL_uint16_t A_US0PsdSup19 : 1;
-   /** 12b Profile, Annex A US0 PSDs Supported Bit 18 */
-   DSL_uint16_t A_US0PsdSup18 : 1;
-   /** ADLU-64, Annex A US0 PSDs Supported Bit 17 */
-   DSL_uint16_t A_US0PsdSup17 : 1;
-   /** ADLU-60, Annex A US0 PSDs Supported Bit 16 */
-   DSL_uint16_t A_US0PsdSup16 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 11;
-   /** 17a Profile, Annex B US0 PSDs Supported Bit 4 */
-   DSL_uint16_t B_US0PsdSup4 : 1;
-   /** 12b Profile, Annex B US0 PSDs Supported Bit 3 */
-   DSL_uint16_t B_US0PsdSup3 : 1;
-   /** US0 In 138 to 276 kHz, Annex B US0 PSDs Supported Bit 2 */
-   DSL_uint16_t B_US0PsdSup2 : 1;
-   /** US0 In 25 to 276 kHz, Annex B US0 PSDs Supported Bit 1 */
-   DSL_uint16_t B_US0PsdSup1 : 1;
-   /** US0 In 25 to 138 kHz, Annex B US0 PSDs Supported Bit 0 */
-   DSL_uint16_t B_US0PsdSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 2;
-   /** 17a Profile, Annex C US0 PSDs Supported Bit 13 */
-   DSL_uint16_t C_US0PsdSup13 : 1;
-   /** 12b Profile, Annex C US0 PSDs Supported Bit 12 */
-   DSL_uint16_t C_US0PsdSup12 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 6;
-   /** US0 In 25 to 276 kHz, Annex C US0 PSDs Supported Bit 5 */
-   DSL_uint16_t C_US0PsdSup5 : 1;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 4 */
-   DSL_uint16_t C_US0PsdSup4 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 2;
-   /** US0 In 25 to 276kHz, Annex C US0 PSDs Supported Bit 1 */
-   DSL_uint16_t C_US0PsdSup1 : 1;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 0 */
-   DSL_uint16_t C_US0PsdSup0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 7;
-   /** G.998.4 Anx DSupported Bit 8 (VDSL only) */
-   DSL_uint16_t RtxExtMemSup8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 2;
-   /** O-P-VECTOR1 Flag Tones Only, Supported Bit 5 (VDSL only) */
-   DSL_uint16_t OpVect1FlagTonesSup5 : 1;
-   /** Extended O-P-VECTOR1, Supported Bit 4 (VDSL only) */
-   DSL_uint16_t ExtOpVect1Sup4 : 1;
-   /** Upstream FDPS, Supported Bit 3 (VDSL only) */
-   DSL_uint16_t FdpsUsSup3 : 1;
-   /** Pilot Sequence Length Multiple of 4, Supported Bit 2 (VDSL only) */
-   DSL_uint16_t PilotLen4xSup2 : 1;
-   /** Upstream Vectoring Supported Bit 1 (VDSL only) */
-   DSL_uint16_t VectUsSup1 : 1;
-   /** Downstream Vectoring Supported Bit 0 (VDSL only) */
-   DSL_uint16_t VectDsSup0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** 8a, Profile Support Bit 0 */
-   DSL_uint16_t profileSup0 : 1;
-   /** 8b, Profile Support Bit 1 */
-   DSL_uint16_t profileSup1 : 1;
-   /** 8c, Profile Support Bit 2 */
-   DSL_uint16_t profileSup2 : 1;
-   /** 8d, Profile Support Bit 3 */
-   DSL_uint16_t profileSup3 : 1;
-   /** 12a, Profile Support Bit 4 */
-   DSL_uint16_t profileSup4 : 1;
-   /** 12b, Profile Support Bit 5 */
-   DSL_uint16_t profileSup5 : 1;
-   /** 17a, Profile Support Bit 6 */
-   DSL_uint16_t profileSup6 : 1;
-   /** 30a, Profile Support Bit 7 */
-   DSL_uint16_t profileSup7 : 1;
-   /** 35b, Profile Support Bit 8 */
-   DSL_uint16_t profileSup8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** EU-32, Annex A US0 PSDs Supported Bit 0 */
-   DSL_uint16_t A_US0PsdSup0 : 1;
-   /** EU-36, Annex A US0 PSDs Supported Bit 1 */
-   DSL_uint16_t A_US0PsdSup1 : 1;
-   /** EU-40, Annex A US0 PSDs Supported Bit 2 */
-   DSL_uint16_t A_US0PsdSup2 : 1;
-   /** EU-44, Annex A US0 PSDs Supported Bit 3 */
-   DSL_uint16_t A_US0PsdSup3 : 1;
-   /** EU-48, Annex A US0 PSDs Supported Bit 4 */
-   DSL_uint16_t A_US0PsdSup4 : 1;
-   /** EU-52, Annex A US0 PSDs Supported Bit 5 */
-   DSL_uint16_t A_US0PsdSup5 : 1;
-   /** EU-56, Annex A US0 PSDs Supported Bit 6 */
-   DSL_uint16_t A_US0PsdSup6 : 1;
-   /** EU-60, Annex A US0 PSDs Supported Bit 7 */
-   DSL_uint16_t A_US0PsdSup7 : 1;
-   /** EU-64, Annex A US0 PSDs Supported Bit 8 */
-   DSL_uint16_t A_US0PsdSup8 : 1;
-   /** ADLU-32, Annex A US0 PSDs Supported Bit 9 */
-   DSL_uint16_t A_US0PsdSup9 : 1;
-   /** ADLU-36, Annex A US0 PSDs Supported Bit 10 */
-   DSL_uint16_t A_US0PsdSup10 : 1;
-   /** ADLU-40, Annex A US0 PSDs Supported Bit 11 */
-   DSL_uint16_t A_US0PsdSup11 : 1;
-   /** ADLU-44, Annex A US0 PSDs Supported Bit 12 */
-   DSL_uint16_t A_US0PsdSup12 : 1;
-   /** ADLU-48, Annex A US0 PSDs Supported Bit 13 */
-   DSL_uint16_t A_US0PsdSup13 : 1;
-   /** ADLU-52, Annex A US0 PSDs Supported Bit 14 */
-   DSL_uint16_t A_US0PsdSup14 : 1;
-   /** ADLU-56, Annex A US0 PSDs Supported Bit 15 */
-   DSL_uint16_t A_US0PsdSup15 : 1;
-   /** ADLU-60, Annex A US0 PSDs Supported Bit 16 */
-   DSL_uint16_t A_US0PsdSup16 : 1;
-   /** ADLU-64, Annex A US0 PSDs Supported Bit 17 */
-   DSL_uint16_t A_US0PsdSup17 : 1;
-   /** 12b Profile, Annex A US0 PSDs Supported Bit 18 */
-   DSL_uint16_t A_US0PsdSup18 : 1;
-   /** 17a Profile, Annex A US0 PSDs Supported Bit 19 */
-   DSL_uint16_t A_US0PsdSup19 : 1;
-   /** EU-128, Annex A US0 PSDs Supported Bit 20 */
-   DSL_uint16_t A_US0PsdSup20 : 1;
-   /** ADLU-128 Annex A US0 PSDs Supported Bit 21 */
-   DSL_uint16_t A_US0PsdSup21 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 10;
-   /** US0 In 25 to 138 kHz, Annex B US0 PSDs Supported Bit 0 */
-   DSL_uint16_t B_US0PsdSup0 : 1;
-   /** US0 In 25 to 276 kHz, Annex B US0 PSDs Supported Bit 1 */
-   DSL_uint16_t B_US0PsdSup1 : 1;
-   /** US0 In 138 to 276 kHz, Annex B US0 PSDs Supported Bit 2 */
-   DSL_uint16_t B_US0PsdSup2 : 1;
-   /** 12b Profile, Annex B US0 PSDs Supported Bit 3 */
-   DSL_uint16_t B_US0PsdSup3 : 1;
-   /** 17a Profile, Annex B US0 PSDs Supported Bit 4 */
-   DSL_uint16_t B_US0PsdSup4 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 11;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 0 */
-   DSL_uint16_t C_US0PsdSup0 : 1;
-   /** US0 In 25 to 276kHz, Annex C US0 PSDs Supported Bit 1 */
-   DSL_uint16_t C_US0PsdSup1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 2;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Supported Bit 4 */
-   DSL_uint16_t C_US0PsdSup4 : 1;
-   /** US0 In 25 to 276 kHz, Annex C US0 PSDs Supported Bit 5 */
-   DSL_uint16_t C_US0PsdSup5 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 6;
-   /** 12b Profile, Annex C US0 PSDs Supported Bit 12 */
-   DSL_uint16_t C_US0PsdSup12 : 1;
-   /** 17a Profile, Annex C US0 PSDs Supported Bit 13 */
-   DSL_uint16_t C_US0PsdSup13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 2;
-   /** Downstream Vectoring Supported Bit 0 (VDSL only) */
-   DSL_uint16_t VectDsSup0 : 1;
-   /** Upstream Vectoring Supported Bit 1 (VDSL only) */
-   DSL_uint16_t VectUsSup1 : 1;
-   /** Pilot Sequence Length Multiple of 4, Supported Bit 2 (VDSL only) */
-   DSL_uint16_t PilotLen4xSup2 : 1;
-   /** Upstream FDPS, Supported Bit 3 (VDSL only) */
-   DSL_uint16_t FdpsUsSup3 : 1;
-   /** Extended O-P-VECTOR1, Supported Bit 4 (VDSL only) */
-   DSL_uint16_t ExtOpVect1Sup4 : 1;
-   /** O-P-VECTOR1 Flag Tones Only, Supported Bit 5 (VDSL only) */
-   DSL_uint16_t OpVect1FlagTonesSup5 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 2;
-   /** G.998.4 Anx DSupported Bit 8 (VDSL only) */
-   DSL_uint16_t RtxExtMemSup8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the actual selected VDSL2 Profile (See G.994.1 Amendment 4 [10],
-   NPAR(3) coding).
-*/
-struct CMD_HS_SelectedProfileVDSL2Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the actual selected VDSL2 Profile as requested by
-   CMD_HS_SelectedProfileVDSL2Get (see G.994.1 Amendment 4 [10], NPAR(3)
-   coding).
-*/
-struct ACK_HS_SelectedProfileVDSL2Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 4;
-   /** O-P-VECTOR1 Flag Tones Only, Selected Bit 11 */
-   DSL_uint16_t dsmSel11 : 1;
-   /** Extended O-P-VECTOR1,Selected Bit 10 */
-   DSL_uint16_t dsmSel10 : 1;
-   /** Upstream FDPS, Selected Bit 9 */
-   DSL_uint16_t dsmSel9 : 1;
-   /** Pilot Sequence Length Multiple of 4, Selected Bit 8 */
-   DSL_uint16_t dsmSel8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 4;
-   /** G.993.2 Annex X, Selected Bit 3 */
-   DSL_uint16_t dsmSel3 : 1;
-   /** G.993.2 Annex Y, Selected Bit 2 */
-   DSL_uint16_t dsmSel2 : 1;
-   /** G.993.5 DS Vectoring, Selected Bit 1 */
-   DSL_uint16_t dsmSel1 : 1;
-   /** G.993.5 DS+US Vectoring, Selected Bit 0 */
-   DSL_uint16_t dsmSel0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 7;
-   /** 35b, Profile Selected Bit 8 */
-   DSL_uint16_t profileSel8 : 1;
-   /** 30a, Profile Selected Bit 7 */
-   DSL_uint16_t profileSel7 : 1;
-   /** 17a, Profile Selected Bit 6 */
-   DSL_uint16_t profileSel6 : 1;
-   /** 12b, Profile Selected Bit 5 */
-   DSL_uint16_t profileSel5 : 1;
-   /** 12a, Profile Selected Bit 4 */
-   DSL_uint16_t profileSel4 : 1;
-   /** 8d, Profile Selected Bit 3 */
-   DSL_uint16_t profileSel3 : 1;
-   /** 8c, Profile Selected Bit 2 */
-   DSL_uint16_t profileSel2 : 1;
-   /** 8b, Profile Selected Bit 1 */
-   DSL_uint16_t profileSel1 : 1;
-   /** 8a, Profile Selected Bit 0 */
-   DSL_uint16_t profileSel0 : 1;
-   /** ADLU-56, Annex A US0 PSDs Selected Bit  15 */
-   DSL_uint16_t A_US0PsdSel15 : 1;
-   /** ADLU-52, Annex A US0 PSDs Selected Bit  14 */
-   DSL_uint16_t A_US0PsdSel14 : 1;
-   /** ADLU-48, Annex A US0 PSDs Selected Bit  13 */
-   DSL_uint16_t A_US0PsdSel13 : 1;
-   /** ADLU-44, Annex A US0 PSDs Selected Bit  12 */
-   DSL_uint16_t A_US0PsdSel12 : 1;
-   /** ADLU-40, Annex A US0 PSDs Selected Bit  11 */
-   DSL_uint16_t A_US0PsdSel11 : 1;
-   /** ADLU-36, Annex A US0 PSDs Selected Bit  10 */
-   DSL_uint16_t A_US0PsdSel10 : 1;
-   /** ADLU-32, Annex A US0 PSDs Selected Bit  9 */
-   DSL_uint16_t A_US0PsdSel9 : 1;
-   /** EU-64, Annex A US0 PSDs Selected Bit  8 */
-   DSL_uint16_t A_US0PsdSel8 : 1;
-   /** EU-60, Annex A US0 PSDs Selected Bit  7 */
-   DSL_uint16_t A_US0PsdSel7 : 1;
-   /** EU-56, Annex A US0 PSDs Selected Bit  6 */
-   DSL_uint16_t A_US0PsdSel6 : 1;
-   /** EU-52, Annex A US0 PSDs Selected Bit  5 */
-   DSL_uint16_t A_US0PsdSel5 : 1;
-   /** EU-48, Annex A US0 PSDs Selected Bit  4 */
-   DSL_uint16_t A_US0PsdSel4 : 1;
-   /** EU-44, Annex A US0 PSDs Selected Bit  3 */
-   DSL_uint16_t A_US0PsdSel3 : 1;
-   /** EU-40, Annex A US0 PSDs Selected Bit  2 */
-   DSL_uint16_t A_US0PsdSel2 : 1;
-   /** EU-36, Annex A US0 PSDs Selected Bit  1 */
-   DSL_uint16_t A_US0PsdSel1 : 1;
-   /** EU-32, Annex A US0 PSDs Selected Bit  0 */
-   DSL_uint16_t A_US0PsdSel0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 10;
-   /** ADLU-128 Annex A US0 PSDs Selected Bit 21 */
-   DSL_uint16_t A_US0PsdSel21 : 1;
-   /** EU-128, Annex A US0 PSDs Selected Bit 20 */
-   DSL_uint16_t A_US0PsdSel20 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 2;
-   /** ADLU-64, Annex A US0 PSDs Selected Bit 17 */
-   DSL_uint16_t A_US0PsdSel17 : 1;
-   /** ADLU-60, Annex A US0 PSDs Selected Bit 16 */
-   DSL_uint16_t A_US0PsdSel16 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 13;
-   /** US0 In 120 to 276 kHz, Annex B US0 PSDs Selected Bit 2 */
-   DSL_uint16_t B_US0PsdSel2 : 1;
-   /** US0 In 25 to 276 kHz, Annex B US0 PSDs Selected Bit 1 */
-   DSL_uint16_t B_US0PsdSel1 : 1;
-   /** US0 In 25 to 138 kHz, Annex B US0 PSDs Selected Bit 0 */
-   DSL_uint16_t B_US0PsdSel0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 10;
-   /** US0 In 25 to 276 kHz, Annex C US0 PSDs Selected Bit 5 */
-   DSL_uint16_t C_US0PsdSel5 : 1;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Selected Bit 4 */
-   DSL_uint16_t C_US0PsdSel4 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 2;
-   /** US0 In 25 to 276kHz, Annex C US0 PSDs Selected Bit 1 */
-   DSL_uint16_t C_US0PsdSel1 : 1;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Selected Bit 0 */
-   DSL_uint16_t C_US0PsdSel0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** G.993.5 DS+US Vectoring, Selected Bit 0 */
-   DSL_uint16_t dsmSel0 : 1;
-   /** G.993.5 DS Vectoring, Selected Bit 1 */
-   DSL_uint16_t dsmSel1 : 1;
-   /** G.993.2 Annex Y, Selected Bit 2 */
-   DSL_uint16_t dsmSel2 : 1;
-   /** G.993.2 Annex X, Selected Bit 3 */
-   DSL_uint16_t dsmSel3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 4;
-   /** Pilot Sequence Length Multiple of 4, Selected Bit 8 */
-   DSL_uint16_t dsmSel8 : 1;
-   /** Upstream FDPS, Selected Bit 9 */
-   DSL_uint16_t dsmSel9 : 1;
-   /** Extended O-P-VECTOR1,Selected Bit 10 */
-   DSL_uint16_t dsmSel10 : 1;
-   /** O-P-VECTOR1 Flag Tones Only, Selected Bit 11 */
-   DSL_uint16_t dsmSel11 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 4;
-   /** 8a, Profile Selected Bit 0 */
-   DSL_uint16_t profileSel0 : 1;
-   /** 8b, Profile Selected Bit 1 */
-   DSL_uint16_t profileSel1 : 1;
-   /** 8c, Profile Selected Bit 2 */
-   DSL_uint16_t profileSel2 : 1;
-   /** 8d, Profile Selected Bit 3 */
-   DSL_uint16_t profileSel3 : 1;
-   /** 12a, Profile Selected Bit 4 */
-   DSL_uint16_t profileSel4 : 1;
-   /** 12b, Profile Selected Bit 5 */
-   DSL_uint16_t profileSel5 : 1;
-   /** 17a, Profile Selected Bit 6 */
-   DSL_uint16_t profileSel6 : 1;
-   /** 30a, Profile Selected Bit 7 */
-   DSL_uint16_t profileSel7 : 1;
-   /** 35b, Profile Selected Bit 8 */
-   DSL_uint16_t profileSel8 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 7;
-   /** EU-32, Annex A US0 PSDs Selected Bit  0 */
-   DSL_uint16_t A_US0PsdSel0 : 1;
-   /** EU-36, Annex A US0 PSDs Selected Bit  1 */
-   DSL_uint16_t A_US0PsdSel1 : 1;
-   /** EU-40, Annex A US0 PSDs Selected Bit  2 */
-   DSL_uint16_t A_US0PsdSel2 : 1;
-   /** EU-44, Annex A US0 PSDs Selected Bit  3 */
-   DSL_uint16_t A_US0PsdSel3 : 1;
-   /** EU-48, Annex A US0 PSDs Selected Bit  4 */
-   DSL_uint16_t A_US0PsdSel4 : 1;
-   /** EU-52, Annex A US0 PSDs Selected Bit  5 */
-   DSL_uint16_t A_US0PsdSel5 : 1;
-   /** EU-56, Annex A US0 PSDs Selected Bit  6 */
-   DSL_uint16_t A_US0PsdSel6 : 1;
-   /** EU-60, Annex A US0 PSDs Selected Bit  7 */
-   DSL_uint16_t A_US0PsdSel7 : 1;
-   /** EU-64, Annex A US0 PSDs Selected Bit  8 */
-   DSL_uint16_t A_US0PsdSel8 : 1;
-   /** ADLU-32, Annex A US0 PSDs Selected Bit  9 */
-   DSL_uint16_t A_US0PsdSel9 : 1;
-   /** ADLU-36, Annex A US0 PSDs Selected Bit  10 */
-   DSL_uint16_t A_US0PsdSel10 : 1;
-   /** ADLU-40, Annex A US0 PSDs Selected Bit  11 */
-   DSL_uint16_t A_US0PsdSel11 : 1;
-   /** ADLU-44, Annex A US0 PSDs Selected Bit  12 */
-   DSL_uint16_t A_US0PsdSel12 : 1;
-   /** ADLU-48, Annex A US0 PSDs Selected Bit  13 */
-   DSL_uint16_t A_US0PsdSel13 : 1;
-   /** ADLU-52, Annex A US0 PSDs Selected Bit  14 */
-   DSL_uint16_t A_US0PsdSel14 : 1;
-   /** ADLU-56, Annex A US0 PSDs Selected Bit  15 */
-   DSL_uint16_t A_US0PsdSel15 : 1;
-   /** ADLU-60, Annex A US0 PSDs Selected Bit 16 */
-   DSL_uint16_t A_US0PsdSel16 : 1;
-   /** ADLU-64, Annex A US0 PSDs Selected Bit 17 */
-   DSL_uint16_t A_US0PsdSel17 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 2;
-   /** EU-128, Annex A US0 PSDs Selected Bit 20 */
-   DSL_uint16_t A_US0PsdSel20 : 1;
-   /** ADLU-128 Annex A US0 PSDs Selected Bit 21 */
-   DSL_uint16_t A_US0PsdSel21 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 10;
-   /** US0 In 25 to 138 kHz, Annex B US0 PSDs Selected Bit 0 */
-   DSL_uint16_t B_US0PsdSel0 : 1;
-   /** US0 In 25 to 276 kHz, Annex B US0 PSDs Selected Bit 1 */
-   DSL_uint16_t B_US0PsdSel1 : 1;
-   /** US0 In 120 to 276 kHz, Annex B US0 PSDs Selected Bit 2 */
-   DSL_uint16_t B_US0PsdSel2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 13;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Selected Bit 0 */
-   DSL_uint16_t C_US0PsdSel0 : 1;
-   /** US0 In 25 to 276kHz, Annex C US0 PSDs Selected Bit 1 */
-   DSL_uint16_t C_US0PsdSel1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 2;
-   /** US0 In 25 to 138 kHz, Annex C US0 PSDs Selected Bit 4 */
-   DSL_uint16_t C_US0PsdSel4 : 1;
-   /** US0 In 25 to 276 kHz, Annex C US0 PSDs Selected Bit 5 */
-   DSL_uint16_t C_US0PsdSel5 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 10;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the handshake information about the far-end operating mode (See
-   G.994.1 [6] and Amendments 1-4 [7]-[10], standard information fields- SPAR(1)
-   coding).
-*/
-struct CMD_HS_StandardInfoFE_SPAR1Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the handshake information about the far-end operating mode (See
-   G.994.1 [6] and Amendments 1-4 [7]-[10], Standard information field - SPAR(1)
-   coding). The bit numbering per octet below follows the standard (starting
-   with "1").
-*/
-struct ACK_HS_StandardInfoFE_SPAR1Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 1;
-   /** Octet 2, Bit 7: Committee T1 enhanced SHDSL */
-   DSL_uint16_t Oct2B7 : 1;
-   /** Octet 2, Bit 6: ETSI SCM VDSL */
-   DSL_uint16_t Oct2B6 : 1;
-   /** Octet 2, Bit 5: ETSI MCM VDSL */
-   DSL_uint16_t Oct2B5 : 1;
-   /** Octet 2, Bit 4: T1E1 Trial-use SCM VDSL */
-   DSL_uint16_t Oct2B4 : 1;
-   /** Octet 2, Bit 3: T1E1 Trial-use MCM VDSL */
-   DSL_uint16_t Oct2B3 : 1;
-   /** Octet 2, Bit 2: G991.2 Annex B/G */
-   DSL_uint16_t Oct2B2 : 1;
-   /** Octet 2, Bit 1: G991.2 Annex A/F */
-   DSL_uint16_t Oct2B1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Octet 1, Bit 7: G992.1 Annex I */
-   DSL_uint16_t Oct1B7 : 1;
-   /** Octet 1, Bit 6: G992.1 Annex H */
-   DSL_uint16_t Oct1B6 : 1;
-   /** Octet 1, Bit 5: G992.2 Annex C */
-   DSL_uint16_t Oct1B5 : 1;
-   /** Octet 1, Bit 4: G992.2 Annex A/B */
-   DSL_uint16_t Oct1B4 : 1;
-   /** Octet 1, Bit 3: G992.1 Annex C */
-   DSL_uint16_t Oct1B3 : 1;
-   /** Octet 1, Bit 2: G992.1 Annex B */
-   DSL_uint16_t Oct1B2 : 1;
-   /** Octet 1, Bit 1: G992.1 Annex A */
-   DSL_uint16_t Oct1B1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Octet 4, Bit 7: IEEE 802.3ah 2BASE-TS */
-   DSL_uint16_t Oct4B7 : 1;
-   /** Octet 4, Bit 6: IEEE 802.3ah 2BASE-TL */
-   DSL_uint16_t Oct4B6 : 1;
-   /** Octet 4, Bit 5: G992.5 Annex J */
-   DSL_uint16_t Oct4B5 : 1;
-   /** Octet 4, Bit 4: G992.3 Annex M */
-   DSL_uint16_t Oct4B4 : 1;
-   /** Octet 4, Bit 3: G992.5 Annex I */
-   DSL_uint16_t Oct4B3 : 1;
-   /** Octet 4, Bit 2: G992.5 Annex B */
-   DSL_uint16_t Oct4B2 : 1;
-   /** Octet 4, Bit 1: G992.5 Annex A */
-   DSL_uint16_t Oct4B1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 1;
-   /** Octet 3, Bit 7: G992.3 Annex C */
-   DSL_uint16_t Oct3B7 : 1;
-   /** Octet 3, Bit 6: G992.4 Annex I */
-   DSL_uint16_t Oct3B6 : 1;
-   /** Octet 3, Bit 5: G992.4 Annex A */
-   DSL_uint16_t Oct3B5 : 1;
-   /** Octet 3, Bit 4: G992.3 Annex J */
-   DSL_uint16_t Oct3B4 : 1;
-   /** Octet 3, Bit 3: G992.3 Annex I */
-   DSL_uint16_t Oct3B3 : 1;
-   /** Octet 3, Bit 2: G992.3 Annex B */
-   DSL_uint16_t Oct3B2 : 1;
-   /** Octet 3, Bit 1: G992.3 Annex A/L */
-   DSL_uint16_t Oct3B1 : 1;
-   /** Reserved */
-   DSL_uint8_t Res4;
-   /** Reserved */
-   DSL_uint16_t Res5 : 1;
-   /** Octet 5, Bit 6: G.FAST */
-   DSL_uint16_t Oct5B7 : 1;
-   /** Octet 5, Bit 5: G993.2 */
-   DSL_uint16_t Oct5B6 : 1;
-   /** Octet 5, Bit 4: G992.5 Annex C */
-   DSL_uint16_t Oct5B5 : 1;
-   /** Octet 5, Bit 3: Variable Silence Period */
-   DSL_uint16_t Oct5B4 : 1;
-   /** Octet 5, Bit 2: G992.1 Annex I / T1E1 TRQ 12 */
-   DSL_uint16_t Oct5B3 : 1;
-   /** Octet 5, Bit 1: G993.1 / ANSI T1.424 */
-   DSL_uint16_t Oct5B2 : 1;
-   /** Octet 5, Bit 0: G992.5 Annex M */
-   DSL_uint16_t Oct5B1 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t  Length;
-   /** Octet 1, Bit 1: G992.1 Annex A */
-   DSL_uint16_t Oct1B1 : 1;
-   /** Octet 1, Bit 2: G992.1 Annex B */
-   DSL_uint16_t Oct1B2 : 1;
-   /** Octet 1, Bit 3: G992.1 Annex C */
-   DSL_uint16_t Oct1B3 : 1;
-   /** Octet 1, Bit 4: G992.2 Annex A/B */
-   DSL_uint16_t Oct1B4 : 1;
-   /** Octet 1, Bit 5: G992.2 Annex C */
-   DSL_uint16_t Oct1B5 : 1;
-   /** Octet 1, Bit 6: G992.1 Annex H */
-   DSL_uint16_t Oct1B6 : 1;
-   /** Octet 1, Bit 7: G992.1 Annex I */
-   DSL_uint16_t Oct1B7 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Octet 2, Bit 1: G991.2 Annex A/F */
-   DSL_uint16_t Oct2B1 : 1;
-   /** Octet 2, Bit 2: G991.2 Annex B/G */
-   DSL_uint16_t Oct2B2 : 1;
-   /** Octet 2, Bit 3: T1E1 Trial-use MCM VDSL */
-   DSL_uint16_t Oct2B3 : 1;
-   /** Octet 2, Bit 4: T1E1 Trial-use SCM VDSL */
-   DSL_uint16_t Oct2B4 : 1;
-   /** Octet 2, Bit 5: ETSI MCM VDSL */
-   DSL_uint16_t Oct2B5 : 1;
-   /** Octet 2, Bit 6: ETSI SCM VDSL */
-   DSL_uint16_t Oct2B6 : 1;
-   /** Octet 2, Bit 7: Committee T1 enhanced SHDSL */
-   DSL_uint16_t Oct2B7 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 1;
-   /** Octet 3, Bit 1: G992.3 Annex A/L */
-   DSL_uint16_t Oct3B1 : 1;
-   /** Octet 3, Bit 2: G992.3 Annex B */
-   DSL_uint16_t Oct3B2 : 1;
-   /** Octet 3, Bit 3: G992.3 Annex I */
-   DSL_uint16_t Oct3B3 : 1;
-   /** Octet 3, Bit 4: G992.3 Annex J */
-   DSL_uint16_t Oct3B4 : 1;
-   /** Octet 3, Bit 5: G992.4 Annex A */
-   DSL_uint16_t Oct3B5 : 1;
-   /** Octet 3, Bit 6: G992.4 Annex I */
-   DSL_uint16_t Oct3B6 : 1;
-   /** Octet 3, Bit 7: G992.3 Annex C */
-   DSL_uint16_t Oct3B7 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 1;
-   /** Octet 4, Bit 1: G992.5 Annex A */
-   DSL_uint16_t Oct4B1 : 1;
-   /** Octet 4, Bit 2: G992.5 Annex B */
-   DSL_uint16_t Oct4B2 : 1;
-   /** Octet 4, Bit 3: G992.5 Annex I */
-   DSL_uint16_t Oct4B3 : 1;
-   /** Octet 4, Bit 4: G992.3 Annex M */
-   DSL_uint16_t Oct4B4 : 1;
-   /** Octet 4, Bit 5: G992.5 Annex J */
-   DSL_uint16_t Oct4B5 : 1;
-   /** Octet 4, Bit 6: IEEE 802.3ah 2BASE-TL */
-   DSL_uint16_t Oct4B6 : 1;
-   /** Octet 4, Bit 7: IEEE 802.3ah 2BASE-TS */
-   DSL_uint16_t Oct4B7 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Octet 5, Bit 0: G992.5 Annex M */
-   DSL_uint16_t Oct5B1 : 1;
-   /** Octet 5, Bit 1: G993.1 / ANSI T1.424 */
-   DSL_uint16_t Oct5B2 : 1;
-   /** Octet 5, Bit 2: G992.1 Annex I / T1E1 TRQ 12 */
-   DSL_uint16_t Oct5B3 : 1;
-   /** Octet 5, Bit 3: Variable Silence Period */
-   DSL_uint16_t Oct5B4 : 1;
-   /** Octet 5, Bit 4: G992.5 Annex C */
-   DSL_uint16_t Oct5B5 : 1;
-   /** Octet 5, Bit 5: G993.2 */
-   DSL_uint16_t Oct5B6 : 1;
-   /** Octet 5, Bit 6: G.FAST */
-   DSL_uint16_t Oct5B7 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 1;
-   /** Reserved */
-   DSL_uint8_t Res4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the in System Vendor ID at the xTU-R. (Section 7.4.4 of G.997.1 [11])
-*/
-struct CMD_SysVendorID_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor ID */
-   DSL_uint16_t sysVendorID[4];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor ID */
-   DSL_uint16_t sysVendorID[4];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_SysVendorID_R_Set.
-*/
-struct ACK_SysVendorID_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the system vendor version number at the xTU-R. (Section 7.4.6 of G.997.1
-   [11])
-*/
-struct CMD_SysVendorVersionNum_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Version Number */
-   DSL_uint16_t versionNum[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Version Number */
-   DSL_uint16_t versionNum[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_SysVendorVersionNum_R_Set.
-*/
-struct ACK_SysVendorVersionNum_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the system vendor serial number at the xTU-R. (Section 7.4.8 of G.997.1
-   [11])
-*/
-struct CMD_SysVendorSerialNum_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Serial Number */
-   DSL_uint16_t serialNum[16];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Serial Number */
-   DSL_uint16_t serialNum[16];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_SysVendorSerialNum_R_Set.
-*/
-struct ACK_SysVendorSerialNum_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets auxiliary inventory information at the VTU-R (Section 11.2.3.2.4 of
-   G993.2 [5]).
-*/
-struct CMD_AuxInventoryInfo_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** VTU-R Auxiliary Inventory Information */
-   DSL_uint16_t auxInfo[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** VTU-R Auxiliary Inventory Information */
-   DSL_uint16_t auxInfo[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_AuxInventoryInfo_R_Set.
-*/
-struct ACK_AuxInventoryInfo_R_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-C Vendor ID. (Section 7.4.1 of G.997.1 [11])
-*/
-struct CMD_VendorID_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the xTU-C Vendor ID as requested by CMD_VendorID_O_Get.
-*/
-struct ACK_VendorID_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C G.994.1 Vendor ID */
-   DSL_uint16_t vendorID[4];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C G.994.1 Vendor ID */
-   DSL_uint16_t vendorID[4];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-R Vendor ID. (Section 7.4.2 of G.997.1 [11])
-*/
-struct CMD_VendorID_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the xTU-R Vendor ID as requested by CMD_VendorID_R_Get.
-*/
-struct ACK_VendorID_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R G.994.1 Vendor ID */
-   DSL_uint16_t vendorID[4];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R G.994.1 Vendor ID */
-   DSL_uint16_t vendorID[4];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-C System Vendor ID. (Section 7.4.3 of G.997.1 [11])
-*/
-struct CMD_SysVendorID_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-C System Vendor ID as requested by CMD_SysVendorID_O_Get.
-*/
-struct ACK_SysVendorID_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C System Vendor ID */
-   DSL_uint16_t sysVendorID[4];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C System Vendor ID */
-   DSL_uint16_t sysVendorID[4];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-R System Vendor ID. (Section 7.4.4 of G.997.1 [11])
-*/
-struct CMD_SysVendorID_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-R System Vendor ID as requested by CMD_SysVendorID_R_Get.
-*/
-struct ACK_SysVendorID_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor ID */
-   DSL_uint16_t sysVendorID[4];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor ID */
-   DSL_uint16_t sysVendorID[4];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-C system vendor version number. (Section 7.4.5 of G.997.1
-   [11])
-*/
-struct CMD_SysVendorVersionNumO_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-C system vendor version number as requested by
-   CMD_SysVendorVersionNumO_Get.
-*/
-struct ACK_SysVendorVersionNum_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C System Vendor Version Number */
-   DSL_uint16_t versionNum[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C System Vendor Version Number */
-   DSL_uint16_t versionNum[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-R system vendor version number. (Section 7.4.6 of G.997.1
-   [11])
-*/
-struct CMD_SysVendorVersionNum_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-R system vendor version number as requested by
-   CMD_SysVendorVersionNum_R_Get.
-*/
-struct ACK_SysVendorVersionNum_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Version Number */
-   DSL_uint16_t versionNum[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Version Number */
-   DSL_uint16_t versionNum[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-C system vendor serial number. (Section 7.4.7 of G.997.1
-   [11])
-*/
-struct CMD_SysVendorSerialNum_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-C system vendor serial number as requested by
-   CMD_SysVendorSerialNum_O_Get.
-*/
-struct ACK_SysVendorSerialNum_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C System Vendor Serial Number */
-   DSL_uint16_t serialNum[16];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-C System Vendor Serial Number */
-   DSL_uint16_t serialNum[16];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-R system vendor serial number. (Section 7.4.8 of G.997.1
-   [11])
-*/
-struct CMD_SysVendorSerialNum_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-R system vendor version number as requested by
-   CMD_SysVendorSerialNum_R_Get.
-*/
-struct ACK_SysVendorSerialNum_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Serial Number */
-   DSL_uint16_t serialNum[16];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** xTU-R System Vendor Serial Number */
-   DSL_uint16_t serialNum[16];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests VTU-O auxiliary inventory information (Section 11.2.3.2.4 of G993.2
-   [5]).
-*/
-struct CMD_AuxInventoryInfo_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the VTU-O auxiliary inventory information as requested by
-   CMD_AuxInventoryInfo_O_Get.
-*/
-struct ACK_AuxInventoryInfo_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** VTU-O Auxiliary Inventory Information */
-   DSL_uint16_t auxInfo[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** VTU-O Auxiliary Inventory Information */
-   DSL_uint16_t auxInfo[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests VTU-R auxiliary inventory information (Section 11.2.3.2.4 of G993.2
-   [5]).
-*/
-struct CMD_AuxInventoryInfo_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the VTU-R auxiliary inventory information as requested by
-   CMD_AuxInventoryInfo_R_Get.
-*/
-struct ACK_AuxInventoryInfo_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** VTU-O Auxiliary Inventory Information */
-   DSL_uint16_t auxInfo[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** VTU-O Auxiliary Inventory Information */
-   DSL_uint16_t auxInfo[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the ATU-C's T1.413 Vendor identification. (Section 9.6.4.2 of ANSI
-   T1.413 [16])
-*/
-struct CMD_T1413_VendorID_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the ATU-C's T1.413 vendor identification number.
-*/
-struct ACK_T1413_VendorID_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor ID */
-   DSL_uint16_t T1413VendorID;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor ID */
-   DSL_uint16_t T1413VendorID;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the ATU-R's T1.413 Vendor identification. (Section 9.6.4.2 of ANSI
-   T1.413 [16])
-*/
-struct CMD_T1413_VendorID_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the ATU-R's T1.413 vendor identification number.
-*/
-struct ACK_T1413_VendorID_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor ID */
-   DSL_uint16_t T1413VendorID;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor ID */
-   DSL_uint16_t T1413VendorID;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-C's T1.413 revision number. (Section 9.6.4.3 of ANSI T1.413
-   [16])
-*/
-struct CMD_T1413_RevNo_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-C's T1.413 revision number.
-*/
-struct ACK_T1413_RevNo_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Revision Number */
-   DSL_uint16_t T1413RevNo;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Revision Number */
-   DSL_uint16_t T1413RevNo;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-R's T1.413 revision number. (Section 9.7.6.2 of ANSI T1.413
-   [16])
-*/
-struct CMD_T1413_RevNo_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-R's T1.413 revision number.
-*/
-struct ACK_T1413_RevNo_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Revision Number */
-   DSL_uint16_t T1413RevNo;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Revision Number */
-   DSL_uint16_t T1413RevNo;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-C's T1.413 vendor revision number. (Section 9.6.4.4 of ANSI
-   T1.413 [16])
-*/
-struct CMD_T1413_VendorRevNo_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-C's T1.413 vendor revision number.
-*/
-struct ACK_T1413_VendorRevNo_O_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor Revision Number */
-   DSL_uint16_t T1413VendorRevNo;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor Revision Number */
-   DSL_uint16_t T1413VendorRevNo;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the xTU-R's T1.413 vendor revision number. (Section 9.7.6.3 of ANSI
-   T1.413 [16])
-*/
-struct CMD_T1413_VendorRevNo_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the xTU-R's T1.413 vendor revision number.
-*/
-struct ACK_T1413_VendorRevNo_R_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor Revision Number */
-   DSL_uint16_t T1413VendorRevNo;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** T1.413 Vendor Revision Number */
-   DSL_uint16_t T1413VendorRevNo;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the transmission system in use on the line (DSL flavour). (Section
-   7.5.1.1. of G.997.1 [11]) See note at ACK_XTSE_StatusGet about the expected
-   behaviour.
-*/
-struct CMD_XTSE_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the transmission system mode in use as requested by
-   CMD_XTSE_StatusGet.The information is set by the FW after mode select (MS)
-   during the handshake phase or during T1.413 state. Before mode selection the
-   value "0" is reported (=none), after selection of a common mode exactly this
-   single mode must be indicated. If there is a common mode but it requires
-   another FW to be loaded (e.g. ADSL instead of VDSL), this does not happen
-   ("0" is reported ), then the FW goes to FAIL state and indicates a specific
-   suberror code (S_XDSL_MODE). If there is no common mode, "0" is to be
-   reported (here modem enters FAIL state).
-*/
-struct ACK_XTSE_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ADSL Mode-Bit15: G.992.5, Annex A */
-   DSL_uint16_t A15 : 1;
-   /** ADSL Mode-Bit14: G.992.5, Annex B */
-   DSL_uint16_t A14 : 1;
-   /** ADSL Mode-Bit13: G.992.3, Annex M */
-   DSL_uint16_t A13 : 1;
-   /** ADSL Mode-Bit12: G.992.3, Annex L, US Mask2 */
-   DSL_uint16_t A12 : 1;
-   /** ADSL Mode-Bit11: G.992.3, Annex L, US Mask1 */
-   DSL_uint16_t A11 : 1;
-   /** ADSL Mode-Bit10: G.992.2, Annex A */
-   DSL_uint16_t A10 : 1;
-   /** ADSL Mode-Bit9: G.992.3, Annex B */
-   DSL_uint16_t A9 : 1;
-   /** ADSL Mode-Bit8: G.992.3, Annex A */
-   DSL_uint16_t A8 : 1;
-   /** ADSL Mode-Bit7: G.992.5, Annex J */
-   DSL_uint16_t A7 : 1;
-   /** ADSL Mode-Bit6: G.992.5, Annex I */
-   DSL_uint16_t A6 : 1;
-   /** ADSL Mode-Bit5: G.992.3, Annex J */
-   DSL_uint16_t A5 : 1;
-   /** ADSL Mode-Bit4: G.992.3, Annex I */
-   DSL_uint16_t A4 : 1;
-   /** ADSL Mode-Bit3: G.992.1, Annex B */
-   DSL_uint16_t A3 : 1;
-   /** ADSL Mode-Bit2: G.992.1, Annex A */
-   DSL_uint16_t A2 : 1;
-   /** ADSL Mode-Bit1: G.992.5, Annex M */
-   DSL_uint16_t A1 : 1;
-   /** ADSL Mode-Bit0: T1.413 */
-   DSL_uint16_t A0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** VDSL Mode-Bit2: VDSL2 */
-   DSL_uint16_t V2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ADSL Mode-Bit0: T1.413 */
-   DSL_uint16_t A0 : 1;
-   /** ADSL Mode-Bit1: G.992.5, Annex M */
-   DSL_uint16_t A1 : 1;
-   /** ADSL Mode-Bit2: G.992.1, Annex A */
-   DSL_uint16_t A2 : 1;
-   /** ADSL Mode-Bit3: G.992.1, Annex B */
-   DSL_uint16_t A3 : 1;
-   /** ADSL Mode-Bit4: G.992.3, Annex I */
-   DSL_uint16_t A4 : 1;
-   /** ADSL Mode-Bit5: G.992.3, Annex J */
-   DSL_uint16_t A5 : 1;
-   /** ADSL Mode-Bit6: G.992.5, Annex I */
-   DSL_uint16_t A6 : 1;
-   /** ADSL Mode-Bit7: G.992.5, Annex J */
-   DSL_uint16_t A7 : 1;
-   /** ADSL Mode-Bit8: G.992.3, Annex A */
-   DSL_uint16_t A8 : 1;
-   /** ADSL Mode-Bit9: G.992.3, Annex B */
-   DSL_uint16_t A9 : 1;
-   /** ADSL Mode-Bit10: G.992.2, Annex A */
-   DSL_uint16_t A10 : 1;
-   /** ADSL Mode-Bit11: G.992.3, Annex L, US Mask1 */
-   DSL_uint16_t A11 : 1;
-   /** ADSL Mode-Bit12: G.992.3, Annex L, US Mask2 */
-   DSL_uint16_t A12 : 1;
-   /** ADSL Mode-Bit13: G.992.3, Annex M */
-   DSL_uint16_t A13 : 1;
-   /** ADSL Mode-Bit14: G.992.5, Annex B */
-   DSL_uint16_t A14 : 1;
-   /** ADSL Mode-Bit15: G.992.5, Annex A */
-   DSL_uint16_t A15 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** VDSL Mode-Bit2: VDSL2 */
-   DSL_uint16_t V2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reads the used downstream band configuration.
-*/
-struct CMD_BandControl_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_BandControl_DS_Get.
-*/
-struct ACK_BandControl_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of Downstream Bands */
-   DSL_uint8_t NumBandsDS;
-   /** Band Descriptor DS */
-   VRX_ToneIndex_t band[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Downstream Bands */
-   DSL_uint8_t NumBandsDS;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Band Descriptor DS */
-   VRX_ToneIndex_t band[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reads the used upstream band configuration.
-*/
-struct CMD_BandControl_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_BandControl_US_Get.
-*/
-struct ACK_BandControl_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of Upstream Bands */
-   DSL_uint8_t NumBandsUS;
-   /** Band Descriptor US */
-   VRX_ToneIndex_t band[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Upstream Bands */
-   DSL_uint8_t NumBandsUS;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Band Descriptor US */
-   VRX_ToneIndex_t band[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reads the RFI band configuration.
-*/
-struct CMD_RFI_BandControlGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_RFI_BandControlGet.
-*/
-struct ACK_RFI_BandControlGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of RFI Bands */
-   DSL_uint8_t NumRfiBands;
-   /** RFI Band Descriptor */
-   VRX_ToneIndex_t RfiBand[16];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of RFI Bands */
-   DSL_uint8_t NumRfiBands;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** RFI Band Descriptor */
-   VRX_ToneIndex_t RfiBand[16];
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message requests data about the line status (like noise margin) for
-   downstream direction.
-*/
-struct CMD_LineStatusDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message delivers the line status data for downstream direction requested
-   by CMD_LineStatusDS_Get.
-*/
-struct ACK_LineStatusDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Downstream LATN */
-   DSL_uint16_t LATNds;
-   /** Downstream SATN */
-   DSL_uint16_t SATNds;
-   /** Downstream SNRM */
-   DSL_uint16_t SNRMds;
-   /** Downstream ATTNDR, LSW */
-   DSL_uint16_t ATTNDRds_LSW;
-   /** Downstream ATTNDR, MSW */
-   DSL_uint16_t ATTNDRds_MSW;
-   /** Downstream ACTATP */
-   DSL_int16_t ACTATPds;
-   /** Downstream ACTPSD (ADSL only) */
-   DSL_uint16_t ACTPSDds;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** Virtual Noise Status DS */
-   DSL_uint16_t VNstatus_ds : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 6;
-   /** NTR Status DS */
-   DSL_uint16_t NTRstatus_ds : 1;
-   /** TCM Status DS */
-   DSL_uint16_t TCMstatus_ds : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Downstream LATN */
-   DSL_uint16_t LATNds;
-   /** Downstream SATN */
-   DSL_uint16_t SATNds;
-   /** Downstream SNRM */
-   DSL_uint16_t SNRMds;
-   /** Downstream ATTNDR, LSW */
-   DSL_uint16_t ATTNDRds_LSW;
-   /** Downstream ATTNDR, MSW */
-   DSL_uint16_t ATTNDRds_MSW;
-   /** Downstream ACTATP */
-   DSL_int16_t ACTATPds;
-   /** Downstream ACTPSD (ADSL only) */
-   DSL_uint16_t ACTPSDds;
-   /** TCM Status DS */
-   DSL_uint16_t TCMstatus_ds : 1;
-   /** NTR Status DS */
-   DSL_uint16_t NTRstatus_ds : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 6;
-   /** Virtual Noise Status DS */
-   DSL_uint16_t VNstatus_ds : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message requests data about the upstream line status (like noise
-   margin).
-*/
-struct CMD_LineStatusUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message delivers the line status data for upstream direction requested by
-   CMD_LineStatusUS_Get.
-*/
-struct ACK_LineStatusUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Upstream LATN */
-   DSL_uint16_t LATNus;
-   /** Upstream SATN */
-   DSL_uint16_t SATNus;
-   /** Upstream SNRM */
-   DSL_uint16_t SNRMus;
-   /** Upstream ATTNDR, LSW */
-   DSL_uint16_t ATTNDRus_LSW;
-   /** Upstream ATTNDR, MSW */
-   DSL_uint16_t ATTNDRus_MSW;
-   /** Upstream ACTATP */
-   DSL_int16_t ACTATPus;
-   /** Upstream ACTPSD (ADSL only) */
-   DSL_uint16_t ACTPSDus;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** Virtual Noise Status US */
-   DSL_uint16_t VNstatus_us : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 7;
-   /** TCM Status US */
-   DSL_uint16_t TCMstatus_us : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Upstream LATN */
-   DSL_uint16_t LATNus;
-   /** Upstream SATN */
-   DSL_uint16_t SATNus;
-   /** Upstream SNRM */
-   DSL_uint16_t SNRMus;
-   /** Upstream ATTNDR, LSW */
-   DSL_uint16_t ATTNDRus_LSW;
-   /** Upstream ATTNDR, MSW */
-   DSL_uint16_t ATTNDRus_MSW;
-   /** Upstream ACTATP */
-   DSL_int16_t ACTATPus;
-   /** Upstream ACTPSD (ADSL only) */
-   DSL_uint16_t ACTPSDus;
-   /** TCM Status US */
-   DSL_uint16_t TCMstatus_us : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 7;
-   /** Virtual Noise Status US */
-   DSL_uint16_t VNstatus_us : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message requests data about the line status (noise margin, line
-   attenuation and signal attenuation) for downstream direction in a "per band"
-   granularity.
-*/
-struct CMD_LineStatusPerBandDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message delivers the line status data (line attenuation, signal
-   attenuation and noise margin) for downstream direction in a "per band"
-   granularity as requested by CMD_LineStatusPerBandDS_Get.
-*/
-struct ACK_LineStatusPerBandDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Line Status Descriptor DS  */
-   VRX_LineStatus_pb_t LineStatus_pb_ds[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Line Status Descriptor DS  */
-   VRX_LineStatus_pb_t LineStatus_pb_ds[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message requests data about the line status (noise margin, line - and
-   signal attenuation) for upstream direction in a "per band" granularity.
-*/
-struct CMD_LineStatusPerBandUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message delivers the line status data (line attenuation, signal
-   attenuation and noise margin) for upstream direction in a "per band"
-   granularity as requested by CMD_LineStatusPerBandUS_Get.
-*/
-struct ACK_LineStatusPerBandUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Line Status Descriptor US  */
-   VRX_LineStatus_pb_t LineStatus_pb_us[8];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Line Status Descriptor US  */
-   VRX_LineStatus_pb_t LineStatus_pb_us[8];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests parameters used for the calculation of the downstream attainable net
-   data rate (ATTNDRds).
-*/
-struct CMD_AttndrStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the data requested by CMD_AttndrStatusGet.(Section 7.5.1.41 of
-   G.997.1 [12]).
-*/
-struct ACK_AttndrStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ATTNDR Actual Method (ATTNDR_ACTMETHOD). */
-   DSL_uint16_t AttndrActMethod;
-   /** ATTNDR Downstream Actual INP (ATTNDR_ACTINPds). */
-   DSL_uint16_t AttndrActInpDs;
-   /** ATTNDR DS Actual INP against REIN (ATTNDR_ACTINP_REINds). */
-   DSL_uint16_t AttndrActInpReinDs;
-   /** ATTNDR DS Actual Delay (ATTNDR_ACTDELAYds). */
-   DSL_uint16_t AttndrActDelayDs;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ATTNDR Actual Method (ATTNDR_ACTMETHOD). */
-   DSL_uint16_t AttndrActMethod;
-   /** ATTNDR Downstream Actual INP (ATTNDR_ACTINPds). */
-   DSL_uint16_t AttndrActInpDs;
-   /** ATTNDR DS Actual INP against REIN (ATTNDR_ACTINP_REINds). */
-   DSL_uint16_t AttndrActInpReinDs;
-   /** ATTNDR DS Actual Delay (ATTNDR_ACTDELAYds). */
-   DSL_uint16_t AttndrActDelayDs;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the breakpoints of the actual PSD for the downstream direction. PSDs
-   consisting of more than 42 PSD breakpoints must be read with 2 messages due
-   to the the mailbox size. (The first parameter in the retrieved data structure
-   contains the "Number of Breakpoints" parameter.)
-*/
-struct CMD_PSD_BreakpointsDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the breakpoints of the actual PSD for the downstream direction as
-   requested by CMD_PSD_BreakpointsDS_Get.
-*/
-struct ACK_PSD_BreakpointsDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the breakpoints of the actual PSD for the upstream direction.
-*/
-struct CMD_PSD_BreakpointsUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the breakpoints of the actual PSD for the upstream direction as
-   requested by CMD_PSD_BreakpointsUS_Get.
-*/
-struct ACK_PSD_BreakpointsUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Number of Breakpoints */
-   DSL_uint8_t NumBreakPts;
-   /** Breakpoint Descriptor US PSD */
-   VRX_PSDbreak_t breakpoint[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint8_t NumBreakPts;
-   /** Reserved */
-   DSL_uint8_t Res0;
-   /** Breakpoint Descriptor US PSD */
-   VRX_PSDbreak_t breakpoint[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   The Downstream TSSI Breakpoints are specified by the transmitter (VTU-O) and
-   communicated to the receiver (VTU-R) via the O-PRM message.   The TSSI
-   Breakpoints are used to shape the O-P-TEQ signal. This message provides read
-   only access to the DS TSSI Breakpoints. The DS TSSI Breakpoints are not
-   configurable via messages.
-*/
-struct CMD_TssiDS_VDSL2_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement of CMD_TssiDS_VDSL2_Get.
-*/
-struct ACK_TssiDS_VDSL2_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data from the DS TSSI breakpoint buffer */
-   DSL_uint16_t Data[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data from the DS TSSI breakpoint buffer */
-   DSL_uint16_t Data[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   The Upstream TSSI Breakpoints are specified by the transmitter (VTU-R) and
-   communicated to the receiver (VTU-O) via the R-PRM message.   The TSSI
-   Breakpoints are used to shape the R-P-TEQ signal.  The TSSI Breakpoints can
-   be read only but are not configurable via messages.
-*/
-struct CMD_TssiUS_VDSL2_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement of CMD_TssiUS_VDSL2_Get.
-*/
-struct ACK_TssiUS_VDSL2_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data from the US TSSI breakpoint buffer */
-   DSL_uint16_t Data[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data from the US TSSI breakpoint buffer */
-   DSL_uint16_t Data[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reads the actual power cutback value.
-*/
-struct CMD_ADSL_PCB_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the actual power cutback values requested with CMD_ADSL_PCB_Get.
-*/
-struct ACK_ADSL_PCB_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Downstream Power Cutback */
-   DSL_uint16_t dspcb;
-   /** Upstream Power Cutback */
-   DSL_uint16_t uspcb;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Downstream Power Cutback */
-   DSL_uint16_t dspcb;
-   /** Upstream Power Cutback */
-   DSL_uint16_t uspcb;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the PSD and power parameter values actually used by the firmware.
-*/
-struct CMD_ActualPSD_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides actually used PSD and power parameters as requested by
-   CMD_ActualPSD_Get.
-*/
-struct ACK_ActualPSD_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Power/PSD Configuration Parameter: MAXNOMPSDds */
-   DSL_uint16_t MAXNOMPSDds;
-   /** Power/PSD Configuration Parameter: MAXNOMPSDus */
-   DSL_uint16_t MAXNOMPSDus;
-   /** Power/PSD Configuration Parameter: MAXNOMATPds */
-   DSL_uint16_t MAXNOMATPds;
-   /** Power/PSD Configuration Parameters */
-   DSL_uint16_t MAXNOMATPus;
-   /** Reserved */
-   DSL_uint16_t Res0;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Power/PSD Configuration Parameter: MAXNOMPSDds */
-   DSL_uint16_t MAXNOMPSDds;
-   /** Power/PSD Configuration Parameter: MAXNOMPSDus */
-   DSL_uint16_t MAXNOMPSDus;
-   /** Power/PSD Configuration Parameter: MAXNOMATPds */
-   DSL_uint16_t MAXNOMATPds;
-   /** Power/PSD Configuration Parameters */
-   DSL_uint16_t MAXNOMATPus;
-   /** Reserved */
-   DSL_uint16_t Res0;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the actually used ADSL upstream mask for ADSL2/2+ Annexes M and J.
-   To be applied only in combination with G.992.3/5 Annex M support in
-   ACK_XTSE_StatusGet.
-*/
-struct CMD_ADSL_MJ_UsMaskGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the actually used ADSL upstream mask for ADSL2/2+ Annexes M and J.
-*/
-struct ACK_ADSL_MJ_UsMaskGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** G.992.3/5 Annex M/J Upstream Mask 9 */
-   DSL_uint16_t mask9 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 8 */
-   DSL_uint16_t mask8 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 7 */
-   DSL_uint16_t mask7 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 6 */
-   DSL_uint16_t mask6 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 5 */
-   DSL_uint16_t mask5 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 4 */
-   DSL_uint16_t mask4 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 3 */
-   DSL_uint16_t mask3 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 2 */
-   DSL_uint16_t mask2 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 1 */
-   DSL_uint16_t mask1 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** G.992.3/5 Annex M/J Upstream Mask 1 */
-   DSL_uint16_t mask1 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 2 */
-   DSL_uint16_t mask2 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 3 */
-   DSL_uint16_t mask3 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 4 */
-   DSL_uint16_t mask4 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 5 */
-   DSL_uint16_t mask5 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 6 */
-   DSL_uint16_t mask6 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 7 */
-   DSL_uint16_t mask7 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 8 */
-   DSL_uint16_t mask8 : 1;
-   /** G.992.3/5 Annex M/J Upstream Mask 9 */
-   DSL_uint16_t mask9 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the downstream transmit PSD mask (PSDMASKds) which is received from
-   CO with O-SIGNATURE message.
-*/
-struct CMD_PSDMASK_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the downstream transmit PSD mask (PSDMASKds) for both passbands and
-   stopbands, which is received from CO with O-SIGNATURE message. (Format is now
-   as absolute value without the offset.)
-*/
-struct ACK_PSDMASK_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint16_t NumBreakPts;
-   /** PSDMASKds Data */
-   VRX_PSDbreak2_t PSDMASK[48];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Breakpoints */
-   DSL_uint16_t NumBreakPts;
-   /** PSDMASKds Data */
-   VRX_PSDbreak2_t PSDMASK[48];
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message requests information about the receive PSD per subcarrier
-   available at the near-end side, which means for downstream direction at the
-   CPE. It is the hosts responsibility to select the tone indices accordingly.In
-   Showtime the message reports the receive PSD measured in Channel Discovery
-   phase after the final hybrid training (no Showtime update).
-*/
-struct CMD_RxPSD_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the receive PSD per subcarrier available at the
-   near-end side, which means for downstream direction at the CPE.In Showtime
-   the message reports the receive PSD measured in Channel Discovery phase after
-   the final hybrid training (no Showtime update).
-*/
-struct ACK_RxPSD_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Receive PSD */
-   DSL_uint16_t PSDps[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Receive PSD */
-   DSL_uint16_t PSDps[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests status information for the downstream bearer channels.
-*/
-struct CMD_BearerChsDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers status information for the downstream bearer channels. **: The terms
-   "LP0/Interleaved Path" and "LP1/Fast Path" below refer to the terminology
-   used in ITU DSL standards [1],[2], [3], [5] which means:- LP0 or LP1 in case
-   of VDSL2, ADSL2/2+- "Interleaved Path" or "Fast Path" in case of ADSL1/ADSL1
-   Lite.Attention: In VRX Device1 the "LP1/Fast Path" parameters are populated
-   only in ADSL1 and ADSL1 Lilte mode with selected fast path.
-*/
-struct ACK_BearerChsDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ACTNDR DS for LP0, LSW */
-   DSL_uint16_t DRdsLP0_LSW;
-   /** ACTNDR DS for LP0, MSW */
-   DSL_uint16_t DRdsLP0_MSW;
-   /** ACTNDR DS for LP1, LSW */
-   DSL_uint16_t DRdsLP1_LSW;
-   /** ACTNDR DS for LP1, MSW */
-   DSL_uint16_t DRdsLP1_MSW;
-   /** Reserved */
-   DSL_uint16_t Res0[4];
-   /** Actual Interleaving Delay DS, LP0 */
-   DSL_uint16_t delay_dsLP0;
-   /** Actual Interleaving Delay DS, LP1 */
-   DSL_uint16_t delay_dsLP1;
-   /** Actual Interleaver Depth DS, LP0 */
-   DSL_uint16_t intlDepth_dsLP0;
-   /** Actual Interleaver Depth DS, LP1 */
-   DSL_uint16_t intlDepth_dsLP1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** TCM Status DS, LP0  */
-   DSL_uint16_t TCMstatus_dsLP0 : 1;
-   /** Parity Bytes DS, LP0 */
-   DSL_uint16_t parity_dsLP0 : 8;
-   /** Reserved */
-   DSL_uint8_t Res2;
-   /** Parity Bytes DS, LP1 */
-   DSL_uint16_t parity_dsLP1 : 8;
-   /** Actual INP NoErasure DS , LP0 */
-   DSL_uint16_t actInpNoErasure_LP0;
-   /** Actual INP NoErasure DS, LP1 */
-   DSL_uint16_t actInpNoErasure_LP1;
-   /** RX Estimated Actual INP DS, LP0 */
-   DSL_uint16_t actInpErasure_LP0;
-   /** RX Estimated Actual INP DS, LP1 */
-   DSL_uint16_t actInpErasure_LP1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ACTNDR DS for LP0, LSW */
-   DSL_uint16_t DRdsLP0_LSW;
-   /** ACTNDR DS for LP0, MSW */
-   DSL_uint16_t DRdsLP0_MSW;
-   /** ACTNDR DS for LP1, LSW */
-   DSL_uint16_t DRdsLP1_LSW;
-   /** ACTNDR DS for LP1, MSW */
-   DSL_uint16_t DRdsLP1_MSW;
-   /** Reserved */
-   DSL_uint16_t Res0[4];
-   /** Actual Interleaving Delay DS, LP0 */
-   DSL_uint16_t delay_dsLP0;
-   /** Actual Interleaving Delay DS, LP1 */
-   DSL_uint16_t delay_dsLP1;
-   /** Actual Interleaver Depth DS, LP0 */
-   DSL_uint16_t intlDepth_dsLP0;
-   /** Actual Interleaver Depth DS, LP1 */
-   DSL_uint16_t intlDepth_dsLP1;
-   /** Parity Bytes DS, LP0 */
-   DSL_uint16_t parity_dsLP0 : 8;
-   /** TCM Status DS, LP0  */
-   DSL_uint16_t TCMstatus_dsLP0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** Parity Bytes DS, LP1 */
-   DSL_uint16_t parity_dsLP1 : 8;
-   /** Reserved */
-   DSL_uint8_t Res2;
-   /** Actual INP NoErasure DS , LP0 */
-   DSL_uint16_t actInpNoErasure_LP0;
-   /** Actual INP NoErasure DS, LP1 */
-   DSL_uint16_t actInpNoErasure_LP1;
-   /** RX Estimated Actual INP DS, LP0 */
-   DSL_uint16_t actInpErasure_LP0;
-   /** RX Estimated Actual INP DS, LP1 */
-   DSL_uint16_t actInpErasure_LP1;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests status information for the upstream bearer channels.
-*/
-struct CMD_BearerChsUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers status information for the upstream bearer channels. **: The terms
-   "LP0/Interleaved Path" and "LP1/Fast Path" below refer to the terminology
-   used in ITU DSL standards [1],[2], [3], [5] which means:- LP0 or LP1 in case
-   of VDSL2, ADSL2/2+- "Interleaved Path" or "Fast Path" in case of ADSL1/ADSL1
-   Lite.Attention: In VRX Device1 the "LP1/Fast Path" parameters are populated
-   only in ADSL1 and ADSL1 Lite mode with selected fast path.
-*/
-struct ACK_BearerChsUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ACTNDR US for LP0, LSW */
-   DSL_uint16_t DRusLP0_LSW;
-   /** ACTNDR US for LP0, MSW */
-   DSL_uint16_t DRusLP0_MSW;
-   /** ACTNDR US for LP1, LSW */
-   DSL_uint16_t DRusLP1_LSW;
-   /** ACTNDR US for LP1, MSW */
-   DSL_uint16_t DRusLP1_MSW;
-   /** Reserved */
-   DSL_uint16_t Res0[4];
-   /** Actual Interleaving Delay US, LP0 */
-   DSL_uint16_t delay_usLP0;
-   /** Actual Interleaving Delay US, LP1 */
-   DSL_uint16_t delay_usLP1;
-   /** Actual Interleaver Depth US, LP0 */
-   DSL_uint16_t intlDepth_usLP0;
-   /** Actual Interleaver Depth US, LP1 */
-   DSL_uint16_t intlDepth_usLP1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** TCM Status US, LP0  */
-   DSL_uint16_t TCMstatus_usLP0 : 1;
-   /** Parity Bytes US, LP0 */
-   DSL_uint16_t parity_usLP0 : 8;
-   /** Reserved */
-   DSL_uint8_t Res2;
-   /** Parity Bytes US, LP1 */
-   DSL_uint16_t parity_usLP1 : 8;
-   /** Actual INP NoErasure US , LP0 */
-   DSL_uint16_t actInpNoErasure_LP0;
-   /** Actual INP NoErasure US, LP1 */
-   DSL_uint16_t actInpNoErasure_LP1;
-   /** RX Estimated Actual INP US , LP0 */
-   DSL_uint16_t actInpErasure_LP0;
-   /** RX Estimated Actual INP US, LP1 */
-   DSL_uint16_t actInpErasure_LP1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ACTNDR US for LP0, LSW */
-   DSL_uint16_t DRusLP0_LSW;
-   /** ACTNDR US for LP0, MSW */
-   DSL_uint16_t DRusLP0_MSW;
-   /** ACTNDR US for LP1, LSW */
-   DSL_uint16_t DRusLP1_LSW;
-   /** ACTNDR US for LP1, MSW */
-   DSL_uint16_t DRusLP1_MSW;
-   /** Reserved */
-   DSL_uint16_t Res0[4];
-   /** Actual Interleaving Delay US, LP0 */
-   DSL_uint16_t delay_usLP0;
-   /** Actual Interleaving Delay US, LP1 */
-   DSL_uint16_t delay_usLP1;
-   /** Actual Interleaver Depth US, LP0 */
-   DSL_uint16_t intlDepth_usLP0;
-   /** Actual Interleaver Depth US, LP1 */
-   DSL_uint16_t intlDepth_usLP1;
-   /** Parity Bytes US, LP0 */
-   DSL_uint16_t parity_usLP0 : 8;
-   /** TCM Status US, LP0  */
-   DSL_uint16_t TCMstatus_usLP0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 7;
-   /** Parity Bytes US, LP1 */
-   DSL_uint16_t parity_usLP1 : 8;
-   /** Reserved */
-   DSL_uint8_t Res2;
-   /** Actual INP NoErasure US , LP0 */
-   DSL_uint16_t actInpNoErasure_LP0;
-   /** Actual INP NoErasure US, LP1 */
-   DSL_uint16_t actInpNoErasure_LP1;
-   /** RX Estimated Actual INP US , LP0 */
-   DSL_uint16_t actInpErasure_LP0;
-   /** RX Estimated Actual INP US, LP1 */
-   DSL_uint16_t actInpErasure_LP1;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests an extended set of VDSL2 framing parameters for the downstream
-   direction.
-*/
-struct CMD_FrameDataExt2DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers an extended set of VDSL2 framing parameters for the downstream
-   direction requested by CMD_FrameDataExt2DS_Get. (Sections 7.5.2.6 of G.997.1
-   and 9.5 & 9.6 of G.993.2 [5])
-*/
-struct ACK_FrameDataExt2DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bytes "Bp" from BC0 per MDF LP0 DS */
-   DSL_uint16_t B0_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** MDFs per OH Sub-Frame "Tp" LP0 DS */
-   DSL_uint16_t Tp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res3;
-   /** OH Bytes per OH sub-frame "Gp" LP0 DS */
-   DSL_uint16_t Gp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res4;
-   /** OH Frames per OH Superframe "Fp" LP0 DS */
-   DSL_uint16_t Fp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res5;
-   /** MDFs per RS-Codeword "Mp" LP0 DS */
-   DSL_uint16_t Mp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res6;
-   /** Bits per Symbol "Lp" LP0 DS, LSW */
-   DSL_uint16_t Lp_LP0ds_LSW;
-   /** Bits per Symbol "Lp" LP0 DS, MSW */
-   DSL_uint16_t Lp_LP0ds_MSW;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Reserved */
-   DSL_uint16_t Res8;
-   /** RS Check Bytes "Rp" LP0 DS */
-   DSL_uint16_t Rp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res9;
-   /** Interleaver Block Length "Ip", LP0 DS */
-   DSL_uint16_t Ip_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res10;
-   /** Interleaving Depth "Dp" LP0 DS */
-   DSL_uint16_t Dp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res11;
-   /** OH Frame Period "PERp", LP0 DS */
-   DSL_uint16_t PERp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res12;
-   /** Line Data Rate DS for LP0, LSW */
-   DSL_uint16_t DRp_LP0ds_LSW;
-   /** Line Data Rate DS for LP0, MSW */
-   DSL_uint16_t DRp_LP0ds_MSW;
-   /** Reserved */
-   DSL_uint16_t Res13;
-   /** Reserved */
-   DSL_uint16_t Res14;
-   /** RS Codeword Size "N_fecp" LP0 DS */
-   DSL_uint16_t N_fecp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res15;
-   /** Framing Parameter "q", LP0 DS */
-   DSL_uint16_t q_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res16;
-   /** OH Bytes per OH FrameLP0 "SEQp" DS */
-   DSL_uint16_t SEQp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res17;
-   /** OH sub-frames "Up" per OH frame LP0 DS */
-   DSL_uint16_t Up_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res18;
-   /** Bytes per OH Frame LP0 DS, LSW */
-   DSL_uint16_t PERBp_LP0ds_LSW;
-   /** Bytes per OH Frame LP0 DS, MSW */
-   DSL_uint16_t PERBp_LP0ds_MSW;
-   /** Reserved */
-   DSL_uint16_t Res19;
-   /** Reserved */
-   DSL_uint16_t Res20;
-   /** Bytes in MSG OH "MSGc" LP0 DS */
-   DSL_uint16_t MSGc_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res21;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bytes "Bp" from BC0 per MDF LP0 DS */
-   DSL_uint16_t B0_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** MDFs per OH Sub-Frame "Tp" LP0 DS */
-   DSL_uint16_t Tp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res3;
-   /** OH Bytes per OH sub-frame "Gp" LP0 DS */
-   DSL_uint16_t Gp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res4;
-   /** OH Frames per OH Superframe "Fp" LP0 DS */
-   DSL_uint16_t Fp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res5;
-   /** MDFs per RS-Codeword "Mp" LP0 DS */
-   DSL_uint16_t Mp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res6;
-   /** Bits per Symbol "Lp" LP0 DS, LSW */
-   DSL_uint16_t Lp_LP0ds_LSW;
-   /** Bits per Symbol "Lp" LP0 DS, MSW */
-   DSL_uint16_t Lp_LP0ds_MSW;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Reserved */
-   DSL_uint16_t Res8;
-   /** RS Check Bytes "Rp" LP0 DS */
-   DSL_uint16_t Rp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res9;
-   /** Interleaver Block Length "Ip", LP0 DS */
-   DSL_uint16_t Ip_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res10;
-   /** Interleaving Depth "Dp" LP0 DS */
-   DSL_uint16_t Dp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res11;
-   /** OH Frame Period "PERp", LP0 DS */
-   DSL_uint16_t PERp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res12;
-   /** Line Data Rate DS for LP0, LSW */
-   DSL_uint16_t DRp_LP0ds_LSW;
-   /** Line Data Rate DS for LP0, MSW */
-   DSL_uint16_t DRp_LP0ds_MSW;
-   /** Reserved */
-   DSL_uint16_t Res13;
-   /** Reserved */
-   DSL_uint16_t Res14;
-   /** RS Codeword Size "N_fecp" LP0 DS */
-   DSL_uint16_t N_fecp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res15;
-   /** Framing Parameter "q", LP0 DS */
-   DSL_uint16_t q_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res16;
-   /** OH Bytes per OH FrameLP0 "SEQp" DS */
-   DSL_uint16_t SEQp_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res17;
-   /** OH sub-frames "Up" per OH frame LP0 DS */
-   DSL_uint16_t Up_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res18;
-   /** Bytes per OH Frame LP0 DS, LSW */
-   DSL_uint16_t PERBp_LP0ds_LSW;
-   /** Bytes per OH Frame LP0 DS, MSW */
-   DSL_uint16_t PERBp_LP0ds_MSW;
-   /** Reserved */
-   DSL_uint16_t Res19;
-   /** Reserved */
-   DSL_uint16_t Res20;
-   /** Bytes in MSG OH "MSGc" LP0 DS */
-   DSL_uint16_t MSGc_LP0ds;
-   /** Reserved */
-   DSL_uint16_t Res21;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests an extended set of VDSL2 framing parameters for the upstream
-   direction.
-*/
-struct CMD_FrameDataExt2US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers an extended set of VDSL2 framing parameters for the upstream
-   direction requested by CMD_FrameDataExt2US_Get. (Sections 7.5.2.6 of G.997.1
-   and 9.5 & 9.6 of G.993.2 [5])
-*/
-struct ACK_FrameDataExt2US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bytes "Bp" from BC0 per MDF LP0 US */
-   DSL_uint16_t B0_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** MDFs per OH Sub-Frame "Tp" LP0 US */
-   DSL_uint16_t Tp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res3;
-   /** OH Bytes per OH sub-frame "Gp" LP0 US */
-   DSL_uint16_t Gp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res4;
-   /** OH Frames per OH Superframe "Fp" LP0 US */
-   DSL_uint16_t Fp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res5;
-   /** MDFs per RS-Codeword "Mp" LP0 US */
-   DSL_uint16_t Mp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res6;
-   /** Bits per Symbol "Lp" LP0 US, LSW */
-   DSL_uint16_t Lp_LP0us_LSW;
-   /** Bits per Symbol "Lp" LP0 US, MSW */
-   DSL_uint16_t Lp_LP0us_MSW;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Reserved */
-   DSL_uint16_t Res8;
-   /** RS Check Bytes "Rp" LP0 US */
-   DSL_uint16_t Rp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res9;
-   /** Interleaver Block Length "Ip", LP0 US */
-   DSL_uint16_t Ip_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res10;
-   /** Interleaving Depth "Dp" LP0 US */
-   DSL_uint16_t Dp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res11;
-   /** OH Frame Period "PERp", LP0 US */
-   DSL_uint16_t PERp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res12;
-   /** Line Data Rate US for LP0, LSW */
-   DSL_uint16_t DRp_LP0us_LSW;
-   /** Line Data Rate US for LP0, MSW */
-   DSL_uint16_t DRp_LP0us_MSW;
-   /** Reserved */
-   DSL_uint16_t Res13;
-   /** Reserved */
-   DSL_uint16_t Res14;
-   /** RS Codeword Size "N_fecp" LP0 US */
-   DSL_uint16_t N_fecp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res15;
-   /** Framing Parameter "q", LP0 US */
-   DSL_uint16_t q_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res16;
-   /** OH Bytes per OH FrameLP0 "SEQp" US */
-   DSL_uint16_t SEQp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res17;
-   /** OH sub-frames "Up" per OH frame LP0 US */
-   DSL_uint16_t Up_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res18;
-   /** Bytes per OH Frame LP0 US, LSW */
-   DSL_uint16_t PERBp_LP0us_LSW;
-   /** Bytes per OH Frame LP0 US, MSW */
-   DSL_uint16_t PERBp_LP0us_MSW;
-   /** Reserved */
-   DSL_uint16_t Res19;
-   /** Reserved */
-   DSL_uint16_t Res20;
-   /** Bytes in MSG OH "MSGc" LP0 US */
-   DSL_uint16_t MSGc_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res21;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bytes "Bp" from BC0 per MDF LP0 US */
-   DSL_uint16_t B0_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** MDFs per OH Sub-Frame "Tp" LP0 US */
-   DSL_uint16_t Tp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res3;
-   /** OH Bytes per OH sub-frame "Gp" LP0 US */
-   DSL_uint16_t Gp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res4;
-   /** OH Frames per OH Superframe "Fp" LP0 US */
-   DSL_uint16_t Fp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res5;
-   /** MDFs per RS-Codeword "Mp" LP0 US */
-   DSL_uint16_t Mp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res6;
-   /** Bits per Symbol "Lp" LP0 US, LSW */
-   DSL_uint16_t Lp_LP0us_LSW;
-   /** Bits per Symbol "Lp" LP0 US, MSW */
-   DSL_uint16_t Lp_LP0us_MSW;
-   /** Reserved */
-   DSL_uint16_t Res7;
-   /** Reserved */
-   DSL_uint16_t Res8;
-   /** RS Check Bytes "Rp" LP0 US */
-   DSL_uint16_t Rp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res9;
-   /** Interleaver Block Length "Ip", LP0 US */
-   DSL_uint16_t Ip_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res10;
-   /** Interleaving Depth "Dp" LP0 US */
-   DSL_uint16_t Dp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res11;
-   /** OH Frame Period "PERp", LP0 US */
-   DSL_uint16_t PERp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res12;
-   /** Line Data Rate US for LP0, LSW */
-   DSL_uint16_t DRp_LP0us_LSW;
-   /** Line Data Rate US for LP0, MSW */
-   DSL_uint16_t DRp_LP0us_MSW;
-   /** Reserved */
-   DSL_uint16_t Res13;
-   /** Reserved */
-   DSL_uint16_t Res14;
-   /** RS Codeword Size "N_fecp" LP0 US */
-   DSL_uint16_t N_fecp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res15;
-   /** Framing Parameter "q", LP0 US */
-   DSL_uint16_t q_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res16;
-   /** OH Bytes per OH FrameLP0 "SEQp" US */
-   DSL_uint16_t SEQp_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res17;
-   /** OH sub-frames "Up" per OH frame LP0 US */
-   DSL_uint16_t Up_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res18;
-   /** Bytes per OH Frame LP0 US, LSW */
-   DSL_uint16_t PERBp_LP0us_LSW;
-   /** Bytes per OH Frame LP0 US, MSW */
-   DSL_uint16_t PERBp_LP0us_MSW;
-   /** Reserved */
-   DSL_uint16_t Res19;
-   /** Reserved */
-   DSL_uint16_t Res20;
-   /** Bytes in MSG OH "MSGc" LP0 US */
-   DSL_uint16_t MSGc_LP0us;
-   /** Reserved */
-   DSL_uint16_t Res21;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests ADSL framing parameters for the downstream direction, latency path
-   0/Interleaved Path.
-*/
-struct CMD_ADSL_FrameDataDS_LP0Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the ADSL framing parameters for the downstream direction,
-   LP0/Interleaved path, as requested by CMD_ADSL_FrameDataDS_LP0Get. (Sections
-   7.5 & 7.6 of G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-struct ACK_ADSL_FrameDataDS_LP0Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" DS LP0 */
-   DSL_uint16_t Rp;
-   /** Symbols per RS-Codeword "Sp" DS LP0 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" DS LP0 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" DS LP0 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" DS LP0 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" DS LP0 */
-   DSL_uint16_t Lp;
-   /** TCM Bits DS LP0 */
-   DSL_uint16_t TCM;
-   /** Framing Mode DS LP0 */
-   DSL_uint16_t fraMode;
-   /** "Tp" DS LP0 */
-   DSL_uint16_t Tp;
-   /** "SEQp" DS LP0 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" DS */
-   DSL_uint16_t MSGc;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" DS LP0 */
-   DSL_uint16_t Rp;
-   /** Symbols per RS-Codeword "Sp" DS LP0 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" DS LP0 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" DS LP0 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" DS LP0 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" DS LP0 */
-   DSL_uint16_t Lp;
-   /** TCM Bits DS LP0 */
-   DSL_uint16_t TCM;
-   /** Framing Mode DS LP0 */
-   DSL_uint16_t fraMode;
-   /** "Tp" DS LP0 */
-   DSL_uint16_t Tp;
-   /** "SEQp" DS LP0 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" DS */
-   DSL_uint16_t MSGc;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests ADSL framing parameters for the upstream direction, latency path
-   0/Interleaved path.
-*/
-struct CMD_ADSL_FrameDataUS_LP0Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the ADSL framing parameters for the upstream direction, latency path
-   0/Interleaved path, as requested by CMD_ADSL_FrameDataUS_LP0Get. (Sections
-   7.5 & 7.6 of G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-struct ACK_ADSL_FrameDataUS_LP0Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" US LP0 */
-   DSL_uint16_t Rp_LP0us;
-   /** Symbols per RS-Codeword "Sp" US LP0 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" US LP0 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" US LP0 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" US LP0 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" US LP0 */
-   DSL_uint16_t Lp;
-   /** TCM Bits US LP0 */
-   DSL_uint16_t TCM;
-   /** Framing Mode US LP0 */
-   DSL_uint16_t fraMode;
-   /** "Tp" US LP0 */
-   DSL_uint16_t Tp;
-   /** "SEQp" US LP0 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" US */
-   DSL_uint16_t MSGc;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" US LP0 */
-   DSL_uint16_t Rp_LP0us;
-   /** Symbols per RS-Codeword "Sp" US LP0 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" US LP0 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" US LP0 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" US LP0 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" US LP0 */
-   DSL_uint16_t Lp;
-   /** TCM Bits US LP0 */
-   DSL_uint16_t TCM;
-   /** Framing Mode US LP0 */
-   DSL_uint16_t fraMode;
-   /** "Tp" US LP0 */
-   DSL_uint16_t Tp;
-   /** "SEQp" US LP0 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" US */
-   DSL_uint16_t MSGc;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests ADSL framing parameters for the downstream direction, latency path 1
-   (LP1)/ Fast path.In VRX Rev. 1.x to be used for ADSL1, "fast path" only.
-*/
-struct CMD_ADSL_FrameDataDS_LP1Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the ADSL framing parameters for the downstream direction, LP1/Fast
-   path, as requested by CMD_ADSL_FrameDataDS_LP1Get. (Sections 7.5 & 7.6 of
-   G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-struct ACK_ADSL_FrameDataDS_LP1Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" DS LP1 */
-   DSL_uint16_t Rp;
-   /** Symbols per RS-Codeword "Sp" DS LP1 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" DS LP1 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" DS LP1 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" DS LP1 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" DS LP1 */
-   DSL_uint16_t Lp;
-   /** TCM Bits DS LP1 */
-   DSL_uint16_t TCM;
-   /** Framing Mode DS LP1 */
-   DSL_uint16_t fraMode;
-   /** "Tp" DS LP1 */
-   DSL_uint16_t Tp;
-   /** "SEQp" DS LP1 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" DS */
-   DSL_uint16_t MSGc;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" DS LP1 */
-   DSL_uint16_t Rp;
-   /** Symbols per RS-Codeword "Sp" DS LP1 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" DS LP1 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" DS LP1 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" DS LP1 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" DS LP1 */
-   DSL_uint16_t Lp;
-   /** TCM Bits DS LP1 */
-   DSL_uint16_t TCM;
-   /** Framing Mode DS LP1 */
-   DSL_uint16_t fraMode;
-   /** "Tp" DS LP1 */
-   DSL_uint16_t Tp;
-   /** "SEQp" DS LP1 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" DS */
-   DSL_uint16_t MSGc;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests ADSL framing parameters for the upstream direction, latency path 1
-   (LP1)/Fast path.In VRX Rev. 1.x to be used for ADSL1, "fast path" only.
-*/
-struct CMD_ADSL_FrameDataUS_LP1Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the ADSL framing parameters for the upstream direction, LP1/Fast
-   path, as requested by CMD_ADSL_FrameDataUS_LP1Get. (Sections 7.5 & 7.6 of
-   G.992.3 [2] and 7.4 of G.992.1 [1])
-*/
-struct ACK_ADSL_FrameDataUS_LP1Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" US LP1 */
-   DSL_uint16_t Rp_LP0us;
-   /** Symbols per RS-Codeword "Sp" US LP1 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" US LP1 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" US LP1 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" US LP1 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" US LP1 */
-   DSL_uint16_t Lp;
-   /** TCM Bits US LP1 */
-   DSL_uint16_t TCM;
-   /** Framing Mode US LP1 */
-   DSL_uint16_t fraMode;
-   /** "Tp" US LP1 */
-   DSL_uint16_t Tp;
-   /** "SEQp" US LP1 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" US */
-   DSL_uint16_t MSGc;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RS Check Bytes "Rp" US LP1 */
-   DSL_uint16_t Rp_LP0us;
-   /** Symbols per RS-Codeword "Sp" US LP1 */
-   DSL_uint16_t Sp;
-   /** Interleaving Depth "Dp" US LP1 */
-   DSL_uint16_t Dp;
-   /** Bytes per MDF "Kp" US LP1 */
-   DSL_uint16_t Kp;
-   /** MDFs per RS-Codeword "Mp" US LP1 */
-   DSL_uint16_t Mp;
-   /** Bits per Symbol "Lp" US LP1 */
-   DSL_uint16_t Lp;
-   /** TCM Bits US LP1 */
-   DSL_uint16_t TCM;
-   /** Framing Mode US LP1 */
-   DSL_uint16_t fraMode;
-   /** "Tp" US LP1 */
-   DSL_uint16_t Tp;
-   /** "SEQp" US LP1 */
-   DSL_uint16_t SEQp;
-   /** Bytes in MSG-OH "MSGc" US */
-   DSL_uint16_t MSGc;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reads the connected hybrid type.
-*/
-struct CMD_HybridGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Contains the connected hybrid type.
-*/
-struct ACK_HybridGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Hybrid Type */
-   DSL_uint16_t HybridType;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Hybrid Type */
-   DSL_uint16_t HybridType;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the pilot tones used in Showtime.
-*/
-struct CMD_PilotTonesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the Showtime pilot tones as requested by CMD_PilotTonesGet.
-*/
-struct ACK_PilotTonesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Pilot Tones */
-   DSL_uint16_t numPilot;
-   /** Pilot Tones */
-   DSL_uint16_t pilot[16];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Number of Pilot Tones */
-   DSL_uint16_t numPilot;
-   /** Pilot Tones */
-   DSL_uint16_t pilot[16];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the results of the micro filter detection (MFD) function. Valid
-   information in Showtime and FAIL will be available only if the microfilter
-   detection mechanism has been run before.
-*/
-struct CMD_MFD_ResultsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the results of the micro filter detection (MFD) function.
-*/
-struct ACK_MFD_ResultsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 1;
-   /** Filter Detection Process Indication, Bit 14:13 */
-   DSL_uint16_t FilterDetectStatus : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** Training Bridged Tap Range, Bit 9:8 */
-   DSL_uint16_t TrainingBTRange : 2;
-   /** Training Hybrid Info Ready Indication, Bit 7 */
-   DSL_uint16_t TrainingHybridInfoReady : 1;
-   /** Training Loop Length Ready Indication, Bit 6 */
-   DSL_uint16_t TrainingLoopLengthReady : 1;
-   /** Training Metric2 Ready Indication, Bit 5 */
-   DSL_uint16_t TrainingMetric2Ready : 1;
-   /** Reserved Bit 4:2 */
-   DSL_uint16_t Res2 : 3;
-   /** Bridge Tap Range, Bit 1:0 */
-   DSL_uint16_t BTRange : 2;
-   /** Metric1 for NLNF, Bit 15:4 */
-   DSL_uint16_t M1metric : 12;
-   /** "No Confidence" Bit, Bit 3 */
-   DSL_uint16_t M1NoConfidence : 1;
-   /** Metric1 QLN level, Bit 2:0 */
-   DSL_uint16_t M1QlnLevel : 3;
-   /** Metric2 */
-   DSL_int16_t M2Metric;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bridge Tap Range, Bit 1:0 */
-   DSL_uint16_t BTRange : 2;
-   /** Reserved Bit 4:2 */
-   DSL_uint16_t Res2 : 3;
-   /** Training Metric2 Ready Indication, Bit 5 */
-   DSL_uint16_t TrainingMetric2Ready : 1;
-   /** Training Loop Length Ready Indication, Bit 6 */
-   DSL_uint16_t TrainingLoopLengthReady : 1;
-   /** Training Hybrid Info Ready Indication, Bit 7 */
-   DSL_uint16_t TrainingHybridInfoReady : 1;
-   /** Training Bridged Tap Range, Bit 9:8 */
-   DSL_uint16_t TrainingBTRange : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** Filter Detection Process Indication, Bit 14:13 */
-   DSL_uint16_t FilterDetectStatus : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 1;
-   /** Metric1 QLN level, Bit 2:0 */
-   DSL_uint16_t M1QlnLevel : 3;
-   /** "No Confidence" Bit, Bit 3 */
-   DSL_uint16_t M1NoConfidence : 1;
-   /** Metric1 for NLNF, Bit 15:4 */
-   DSL_uint16_t M1metric : 12;
-   /** Metric2 */
-   DSL_int16_t M2Metric;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the loop length estimates done by the microfilter detection
-   function.In Showtime the data are always available.The availability of data
-   is indicated by the flag TrainingLoopLengthReady in ACK_MFD_ResultsGet.In
-   Showtime the data are always available.
-*/
-struct CMD_MFD_LooplengthGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the loop length estimates done by the microfilter detection (MFD)
-   function.
-*/
-struct ACK_MFD_LooplengthGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** AWG26 Length Estimate */
-   DSL_uint16_t Awg26Length;
-   /** AWG24 Length Estimate */
-   DSL_uint16_t Awg24Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** AWG26 Length Estimate */
-   DSL_uint16_t Awg26Length;
-   /** AWG24 Length Estimate */
-   DSL_uint16_t Awg24Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests hybrid information used by the microfilter detection function.In
-   Showtime the data are always available.The availability of data is indicated
-   by the flag TrainingHybridInfoReady in ACK_MFD_ResultsGet. In Showtime the
-   data are always available.
-*/
-struct CMD_MFD_HybridInfoGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the hybrid information used by the microfilter detection function.
-*/
-struct ACK_MFD_HybridInfoGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Hybrid Max Index */
-   DSL_uint16_t HybridMaxIndex;
-   /** Hybrid Max Metric */
-   DSL_uint16_t HybridMaxMetric;
-   /** Hybrid Second Best Index */
-   DSL_uint16_t Hybrid2ndBestIndex;
-   /** Hybrid Second Best Metric */
-   DSL_uint16_t Hybrid2ndBestMetric;
-   /** Hybrid Zero Metric */
-   DSL_uint16_t Hybrid0Metric;
-   /** Loaded Hybrid Index */
-   DSL_uint16_t LoadHybridIndex;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Hybrid Max Index */
-   DSL_uint16_t HybridMaxIndex;
-   /** Hybrid Max Metric */
-   DSL_uint16_t HybridMaxMetric;
-   /** Hybrid Second Best Index */
-   DSL_uint16_t Hybrid2ndBestIndex;
-   /** Hybrid Second Best Metric */
-   DSL_uint16_t Hybrid2ndBestMetric;
-   /** Hybrid Zero Metric */
-   DSL_uint16_t Hybrid0Metric;
-   /** Loaded Hybrid Index */
-   DSL_uint16_t LoadHybridIndex;
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_GHS_STATUS_H_*/
diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_olr.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_olr.h
deleted file mode 100644
index eddab7b..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_olr.h
+++ /dev/null
@@ -1,3875 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_OLR_H_
-#define _DRV_DSL_CPE_VRX_MSG_OLR_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _OLR_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Message Specific Constants Definition section ----- */
-#define CMD_TestParamsFE_Request_TRIGGER 0x1
-#define CMD_TestParamsFE_Request_ABORT 0x0
-#define ACK_TestParamsFE_Poll_ONGOING 0x1
-#define CMD_ClearEOC_TxTrigger_IDLE 0
-#define CMD_ClearEOC_TxTrigger_START 1
-#define ACK_ClearEOCStatusGet_IDLE 0
-#define ACK_ClearEOCStatusGet_TXPROG 1
-#define ACK_ClearEOCStatusGet_Reserved 2
-#define ACK_ClearEOCStatusGet_TXERR 3
-#define ACK_ClearEOCStatusGet_RXPROG 1
-#define ACK_ClearEOCStatusGet_RXDONE 2
-#define ACK_ClearEOCStatusGet_RXERR 3
-#define EVT_ClearEOCStatusGet_IDLE 0
-#define EVT_ClearEOCStatusGet_TXPROG 1
-#define EVT_ClearEOCStatusGet_TXDONE 2
-#define EVT_ClearEOCStatusGet_TXERR 3
-#define EVT_ClearEOCStatusGet_RXPROG 1
-#define EVT_ClearEOCStatusGet_RXDONE 2
-#define EVT_ClearEOCStatusGet_RXERR 3
-#define CMD_ClearEOCStatusSet_IDLE 0
-#define ACK_RA_ModeDS_Get_MANUAL 1
-#define ACK_RA_ModeDS_Get_AT_INIT 2
-#define ACK_RA_ModeDS_Get_DYNAMIC 3
-#define ACK_RA_ModeDS_Get_SOS 4
-#define ACK_RA_ModeUS_Get_MANUAL 1
-#define ACK_RA_ModeUS_Get_AT_INIT 2
-#define ACK_RA_ModeUS_Get_DYNAMIC 3
-#define ACK_RA_ModeUS_Get_SOS 4
-#define CMD_RTX_Control_RTX_DS_ENABLE 1
-#define CMD_RTX_Control_RTX_DSUS_ENABLE 2
-#define CMD_DSM_Control_OFF 0
-#define CMD_DSM_Control_FULL_VECTOR 1
-#define CMD_DSM_Control_FULL_VECTOR_FRIENDLY 2
-/* ----- Message Specific Constants Definition section (End) ----- */
-
-/** Message ID for CMD_BAT_TableEntriesGet */
-#define CMD_BAT_TABLEENTRIESGET 0x1703
-
-/**
-   Requests information about the bit-allocation per subcarrier in VDSL mode.
-   The values for all subcarriers of both directions can be retrieved. (For ADSL
-   use CMD_BAT_DS_Get and CMD_BAT_US_Get).
-*/
-typedef struct CMD_BAT_TableEntriesGet CMD_BAT_TableEntriesGet_t;
-
-/** Message ID for ACK_BAT_TableEntriesGet */
-#define ACK_BAT_TABLEENTRIESGET 0x1703
-
-/**
-   Returns information about the bit-allocation per tone for the chosen range of
-   subcarriers.(Section 7.5.1.29.1-2 of G.997.1)
-*/
-typedef struct ACK_BAT_TableEntriesGet ACK_BAT_TableEntriesGet_t;
-
-/** Message ID for CMD_GainTableEntriesGet */
-#define CMD_GAINTABLEENTRIESGET 0x1903
-
-/**
-   Requests information about the Gains per subcarrier. The values for all
-   subcarriers of both directions can be retrieved.(For ADSL use
-   CMD_GainTableDS_Get and CMD_GainTableUS_Get).
-*/
-typedef struct CMD_GainTableEntriesGet CMD_GainTableEntriesGet_t;
-
-/** Message ID for ACK_GainTableEntriesGet */
-#define ACK_GAINTABLEENTRIESGET 0x1903
-
-/**
-   Returns information about the Gain-per-tone for the chosen range of
-   subcarriers.(Section 7.5.1.29.3-4 of G.997.1)
-*/
-typedef struct ACK_GainTableEntriesGet ACK_GainTableEntriesGet_t;
-
-/** Message ID for CMD_SNR_NE_TableEntriesGet */
-#define CMD_SNR_NE_TABLEENTRIESGET 0x0B03
-
-/**
-   The message requests information about the SNR per subcarrier with virtual
-   noise for the near-end side , which means for downstream direction at the
-   CPE. It is the hosts responsibility to select the tone indices
-   accordingly.See also Table 19 "How to Retrieve Test Parameter Data" on Page
-   489.
-*/
-typedef struct CMD_SNR_NE_TableEntriesGet CMD_SNR_NE_TableEntriesGet_t;
-
-/** Message ID for ACK_SNR_NE_TableEntriesGet */
-#define ACK_SNR_NE_TABLEENTRIESGET 0x0B03
-
-/**
-   Returns information about the SNR per subcarrier with virtual noise for the
-   near-end side, meaning for downstream direction.
-*/
-typedef struct ACK_SNR_NE_TableEntriesGet ACK_SNR_NE_TableEntriesGet_t;
-
-/** Message ID for CMD_BAT_DS_Get */
-#define CMD_BAT_DS_GET 0x070E
-
-/**
-   Requests information about the downstream bit-allocation per subcarrier in
-   ADSL mode.
-*/
-typedef struct CMD_BAT_DS_Get CMD_BAT_DS_Get_t;
-
-/** Message ID for ACK_BAT_DS_Get */
-#define ACK_BAT_DS_GET 0x070E
-
-/**
-   Returns information about the downstream bit-allocation per tone for the
-   chosen range of subcarriers.(Section 7.5.1.29.1 of G.997.1)
-*/
-typedef struct ACK_BAT_DS_Get ACK_BAT_DS_Get_t;
-
-/** Message ID for CMD_BAT_US_Get */
-#define CMD_BAT_US_GET 0x060E
-
-/**
-   Requests information about the upstream bit-allocation per subcarrier in ADSL
-   mode.
-*/
-typedef struct CMD_BAT_US_Get CMD_BAT_US_Get_t;
-
-/** Message ID for ACK_BAT_US_Get */
-#define ACK_BAT_US_GET 0x060E
-
-/**
-   Returns information about the upstream bit-allocation per tone for the chosen
-   range of subcarriers.(Section 7.5.1.29.2 of G.997.1)
-*/
-typedef struct ACK_BAT_US_Get ACK_BAT_US_Get_t;
-
-/** Message ID for CMD_GainTableDS_Get */
-#define CMD_GAINTABLEDS_GET 0x090E
-
-/**
-   Requests information about the Gains per subcarrier for the downstream
-   direction.
-*/
-typedef struct CMD_GainTableDS_Get CMD_GainTableDS_Get_t;
-
-/** Message ID for ACK_GainTableDS_Get */
-#define ACK_GAINTABLEDS_GET 0x090E
-
-/**
-   Returns information about the Gain-per-tone for the chosen range of
-   subcarriers for the downstream direction.(Section 7.5.1.29.3 of G.997.1) as
-   requested by CMD_GainTableDS_Get.
-*/
-typedef struct ACK_GainTableDS_Get ACK_GainTableDS_Get_t;
-
-/** Message ID for CMD_GainTableUS_Get */
-#define CMD_GAINTABLEUS_GET 0x080E
-
-/**
-   Requests information about the Gains per subcarrier for the upstream
-   direction.
-*/
-typedef struct CMD_GainTableUS_Get CMD_GainTableUS_Get_t;
-
-/** Message ID for ACK_GainTableUS_Get */
-#define ACK_GAINTABLEUS_GET 0x080E
-
-/**
-   Returns information about the Gain-per-tone for the chosen range of
-   subcarriers for the upstream direction.(Section 7.5.1.29.4 of G.997.1)
-*/
-typedef struct ACK_GainTableUS_Get ACK_GainTableUS_Get_t;
-
-/** Message ID for CMD_ADSL_ExMarginReductionGet */
-#define CMD_ADSL_EXMARGINREDUCTIONGET 0x2F03
-
-/**
-   Requests information about the Excess Margin Reduction needed for the fine
-   gain calculation at the ATU_R.(See also ACK_GainTableDS_Get).
-*/
-typedef struct CMD_ADSL_ExMarginReductionGet CMD_ADSL_ExMarginReductionGet_t;
-
-/** Message ID for ACK_ADSL_ExMarginReductionGet */
-#define ACK_ADSL_EXMARGINREDUCTIONGET 0x2F03
-
-/**
-   Returns information about the Excess Margin Reduction for the downstream
-   direction.
-*/
-typedef struct ACK_ADSL_ExMarginReductionGet ACK_ADSL_ExMarginReductionGet_t;
-
-/** Message ID for CMD_HlogDS_Get */
-#define CMD_HLOGDS_GET 0x4A03
-
-/**
-   Requests information about the downstream HLOG information per subcarrier
-   group (Section 7.5.1.26.6 of G.997.1).During STEADY_STATE, the command can be
-   used in VDSL to request near-end data only (CPE). For the far-end HLOG to be
-   provided via the EOC channel CMD_TestParamsFE_Request must be used. In ADSL,
-   the command can be applied for near-end as well as far-end parameters.During
-   loop diagnostic mode, the command shall be used to request both near-end and
-   far-end data.
-*/
-typedef struct CMD_HlogDS_Get CMD_HlogDS_Get_t;
-
-/** Message ID for ACK_HlogDS_Get */
-#define ACK_HLOGDS_GET 0x4A03
-
-/**
-   Returns information about the downstream HLOG per subcarrier group for the
-   chosen range. (Section 7.5.1.26.6 of G.997.1)
-*/
-typedef struct ACK_HlogDS_Get ACK_HlogDS_Get_t;
-
-/** Message ID for CMD_HlogUS_Get */
-#define CMD_HLOGUS_GET 0x4B03
-
-/**
-   Requests information about the upstream HLOG information per subcarrier group
-   (Section 7.5.1.26.11 of G.997.1).
-*/
-typedef struct CMD_HlogUS_Get CMD_HlogUS_Get_t;
-
-/** Message ID for ACK_HlogUS_Get */
-#define ACK_HLOGUS_GET 0x4B03
-
-/**
-   Returns information about the upstream HLOG per subcarrier group for the
-   chosen range. (Section 7.5.1.26.11 of G.997.1)
-*/
-typedef struct ACK_HlogUS_Get ACK_HlogUS_Get_t;
-
-/** Message ID for CMD_HlinDS_Get */
-#define CMD_HLINDS_GET 0x4803
-
-/**
-   Requests information about the downstream HLIN information per subcarrier
-   group. (Section 7.5.1.26.3 of G.997.1).The HLIN data are available during
-   loop diagnostic mode only.
-*/
-typedef struct CMD_HlinDS_Get CMD_HlinDS_Get_t;
-
-/** Message ID for ACK_HlinDS_Get */
-#define ACK_HLINDS_GET 0x4803
-
-/**
-   Returns information about the downstream HLIN per subcarrier group for the
-   chosen range. (Section 7.5.1.26.3 of G.997.1)
-*/
-typedef struct ACK_HlinDS_Get ACK_HlinDS_Get_t;
-
-/** Message ID for CMD_HlinUS_Get */
-#define CMD_HLINUS_GET 0x4903
-
-/**
-   Requests information about the upstream HLIN information per subcarrier
-   group. (Section 7.5.1.26.9 of G.997.1).The HLIN data are available in loop
-   diagnostic mode only.
-*/
-typedef struct CMD_HlinUS_Get CMD_HlinUS_Get_t;
-
-/** Message ID for ACK_HlinUS_Get */
-#define ACK_HLINUS_GET 0x4903
-
-/**
-   Returns information about the upstream HLIN per subcarrier group for the
-   chosen range. (Section 7.5.1.26.9 of G.997.1)
-*/
-typedef struct ACK_HlinUS_Get ACK_HlinUS_Get_t;
-
-/** Message ID for CMD_QLN_DS_Get */
-#define CMD_QLN_DS_GET 0x4C03
-
-/**
-   Requests information about the downstream QLN information (QLNpsds) per
-   subcarrier group (Section 7.5.1.27.3 of G.997.1).During STEADY_STATE, the
-   command can be used in VDSL to request near-end data only (CPE).
-*/
-typedef struct CMD_QLN_DS_Get CMD_QLN_DS_Get_t;
-
-/** Message ID for ACK_QLN_DS_Get */
-#define ACK_QLN_DS_GET 0x4C03
-
-/**
-   Returns information about the QLN per subcarrier group for the chosen range.
-   (Section 7.5.1.27.3 of G.997.1)
-*/
-typedef struct ACK_QLN_DS_Get ACK_QLN_DS_Get_t;
-
-/** Message ID for CMD_QLN_US_Get */
-#define CMD_QLN_US_GET 0x4D03
-
-/**
-   Requests information about the upstream QLN (QLNpsus) per subcarrier group.
-   (Section 7.5.1.27.6 of G.997.1).
-*/
-typedef struct CMD_QLN_US_Get CMD_QLN_US_Get_t;
-
-/** Message ID for ACK_QLN_US_Get */
-#define ACK_QLN_US_GET 0x4D03
-
-/**
-   Returns information about the QLN per subcarrier group for the chosen range.
-   (Section 7.5.1.27.6 of G.997.1)
-*/
-typedef struct ACK_QLN_US_Get ACK_QLN_US_Get_t;
-
-/** Message ID for CMD_SNR_DS_Get */
-#define CMD_SNR_DS_GET 0x5503
-
-/**
-   Requests information about the downstream SNR per subcarrier group in VDSL or
-   the SNR per subcarrier in ADSL, both without considering virtual noise
-   (Section 7.5.1.28.3 of G.997.1).
-*/
-typedef struct CMD_SNR_DS_Get CMD_SNR_DS_Get_t;
-
-/** Message ID for ACK_SNR_DS_Get */
-#define ACK_SNR_DS_GET 0x5503
-
-/**
-   Returns information about the SNR per subcarrier (ADSL) or per subcarrier
-   group (VDSL) for the chosen range without considering virtual noise. (Section
-   7.5.1.28.3 of G.997.1)
-*/
-typedef struct ACK_SNR_DS_Get ACK_SNR_DS_Get_t;
-
-/** Message ID for CMD_SNR_US_Get */
-#define CMD_SNR_US_GET 0x4E03
-
-/**
-   Requests information about the upstream SNR per subcarrier group (Section
-   7.5.1.28.6 of G.997.1).
-*/
-typedef struct CMD_SNR_US_Get CMD_SNR_US_Get_t;
-
-/** Message ID for ACK_SNR_US_Get */
-#define ACK_SNR_US_GET 0x4E03
-
-/**
-   Returns information about the upstream SNR per subcarrier group for the
-   chosen range. (Section 7.5.1.28.6 of G.997.1)
-*/
-typedef struct ACK_SNR_US_Get ACK_SNR_US_Get_t;
-
-/** Message ID for CMD_TestParamsAuxDS_Get */
-#define CMD_TESTPARAMSAUXDS_GET 0x4F03
-
-/**
-   Requests test parameter related information for the downstream direction: The
-   HLIN scaling factor (HLINSCds), the subcarrier group size "G" and the
-   measurement times for HLOGpsds, QLNpsds, SNRpsds.(Sections 7.5.1.26.1/2/4/5,
-   7.5.1.27.1/2 and 7.5.1.28.1/2 of G.997.1)
-*/
-typedef struct CMD_TestParamsAuxDS_Get CMD_TestParamsAuxDS_Get_t;
-
-/** Message ID for ACK_TestParamsAuxDS_Get */
-#define ACK_TESTPARAMSAUXDS_GET 0x4F03
-
-/**
-   Provides the test-parameter related information as requested by
-   CMD_TestParamsAuxDS_Get: The HLIN scaling factor (HLINSCds), the subcarrier
-   group size "G" and the measurement times for HLOGpsds, QLNpsds,
-   SNRpsds.(Sections 7.5.1.26.1/2/4/5, 7.5.1.27.1/2 and 7.5.1.28.1/2 of G.997.1)
-*/
-typedef struct ACK_TestParamsAuxDS_Get ACK_TestParamsAuxDS_Get_t;
-
-/** Message ID for CMD_TestParamsAuxUS_Get */
-#define CMD_TESTPARAMSAUXUS_GET 0x5003
-
-/**
-   Requests test parameter related information for the upstream direction: The
-   HLIN scaling factor (HLINSCus), the subcarrier group size "G" and the
-   measurement times for HLOGpsus, QLNpsus, SNRpsus.For older VDSL FW versions
-   from w.6.x.y.z.a to 5.8.0.x.y.z: During STEADY_STATE, the command can be used
-   only to retrieve the "group size" parameters. To get the measurement time
-   parameters (via the EOC channel) the message CMD_TestParamsFE_Request must be
-   applied instead.(Sections 7.5.1.26.7/8/10/11, 7.5.1.27.4/5 and 7.5.1.28.4/5
-   of G.997.1)For older VDSL FW versions from w.6.x.y.z.a to 5.8.0.x.y.z: During
-   STEADY_STATE, the command can be used only to retrieve the "group size"
-   parameters. To get the measurement time parameters (via the EOC channel) the
-   message CMD_TestParamsFE_Request must be applied instead.The test parameters
-   can be requested during loop diagnostic mode (VDSL, ADSL) and in ADSL also
-   during STEADY_STATE.For older VDSL FW versions from w.6.x.y.z.a to
-   5.8.0.x.y.z: During STEADY_STATE, the command can be used only to retrieve
-   the "group size" parameters. To get the measurement time parameters (via the
-   EOC channel) the message CMD_TestParamsFE_Request must be applied instead.
-*/
-typedef struct CMD_TestParamsAuxUS_Get CMD_TestParamsAuxUS_Get_t;
-
-/** Message ID for ACK_TestParamsAuxUS_Get */
-#define ACK_TESTPARAMSAUXUS_GET 0x5003
-
-/**
-   Provides the test-parameter related information as requested by
-   CMD_TestParamsAuxUS_Get: The HLIN scaling factor (HLINSCus), the subcarrier
-   group size "G" and the measurement times for HLOGpsus, QLNpsus, SNRpsus.
-*/
-typedef struct ACK_TestParamsAuxUS_Get ACK_TestParamsAuxUS_Get_t;
-
-/** Message ID for CMD_TestParamsFE_Request */
-#define CMD_TESTPARAMSFE_REQUEST 0x0849
-
-/**
-   This message is used to trigger retrieval of the far-end PMD Test Parameters
-   Hlog, SNR and QLN via the EOC channel during Showtime. If StartIndex or
-   EndIndex do not contain values in a valid range then no autonomous message
-   will be sent by the firmware. Once the retrieval process is started, it can
-   also be aborted with this message via the control parameter. The status of
-   the parameter retrieval process can be polled via the CMD_TestParamsFE_Poll
-   message. Once the parameters are retrieved, they are provided with the
-   EVT_PMD_TestParamsGet message.
-*/
-typedef struct CMD_TestParamsFE_Request CMD_TestParamsFE_Request_t;
-
-/** Message ID for ACK_TestParamsFE_Request */
-#define ACK_TESTPARAMSFE_REQUEST 0x0849
-
-/**
-   This is the acknowledgement for CMD_TestParamsFE_Request.
-*/
-typedef struct ACK_TestParamsFE_Request ACK_TestParamsFE_Request_t;
-
-/** Message ID for CMD_TestParamsFE_Poll */
-#define CMD_TESTPARAMSFE_POLL 0x0809
-
-/**
-   This message polls the status of the far end parameter retrieval process.
-*/
-typedef struct CMD_TestParamsFE_Poll CMD_TestParamsFE_Poll_t;
-
-/** Message ID for ACK_TestParamsFE_Poll */
-#define ACK_TESTPARAMSFE_POLL 0x0809
-
-/**
-   This is the acknowledgement for CMD_TestParamsFE_Poll.
-*/
-typedef struct ACK_TestParamsFE_Poll ACK_TestParamsFE_Poll_t;
-
-/** Message ID for EVT_PMD_TestParamsGet */
-#define EVT_PMD_TESTPARAMSGET 0x5803
-
-/**
-   This event message provides the far-end data after the far end data retrieval
-   process. This message is a result of the CMD_TestParamsFE_Request message.
-*/
-typedef struct EVT_PMD_TestParamsGet EVT_PMD_TestParamsGet_t;
-
-/** Message ID for CMD_ClearEOC_Configure */
-#define CMD_CLEAREOC_CONFIGURE 0x0A49
-
-/**
-   The message is used to configure the autonomous messaging related to Clear
-   EOC transmission.
-*/
-typedef struct CMD_ClearEOC_Configure CMD_ClearEOC_Configure_t;
-
-/** Message ID for ACK_ClearEOC_Configure */
-#define ACK_CLEAREOC_CONFIGURE 0x0A49
-
-/**
-   This is the acknowledgement for CMD_ClearEOC_Configure.
-*/
-typedef struct ACK_ClearEOC_Configure ACK_ClearEOC_Configure_t;
-
-/** Message ID for CMD_ClearEOC_TxTrigger */
-#define CMD_CLEAREOC_TXTRIGGER 0x0949
-
-/**
-   The message is used to trigger the transmission of  Clear EOC messages that
-   were placed into the Clear EOC transmit buffer before with
-   CMD_ClearEOC_Write.
-*/
-typedef struct CMD_ClearEOC_TxTrigger CMD_ClearEOC_TxTrigger_t;
-
-/** Message ID for ACK_ClearEOC_TxTrigger */
-#define ACK_CLEAREOC_TXTRIGGER 0x0949
-
-/**
-   This is the acknowledgement for CMD_ClearEOC_TxTrigger.
-*/
-typedef struct ACK_ClearEOC_TxTrigger ACK_ClearEOC_TxTrigger_t;
-
-/** Message ID for CMD_ClearEOC_Write */
-#define CMD_CLEAREOC_WRITE 0x5143
-
-/**
-   This message is used to write data to the ClearEOC write buffer of type
-   VRX_ClearEOC_t. When the buffer is filled, the transmission is started
-   applying CMD_ClearEOC_TxTrigger. If the message to transmit is longer than
-   the mailbox size, a sequence of writes to the ClearEOC buffer has to be done
-   before the transmission is started with CMD_ClearEOC_TxTrigger. When
-   autonomous TX status messaging is activated via CMD_ClearEOC_Configure, then
-   the finished transmission is indicated by EVT_ClearEOCStatusGet.
-*/
-typedef struct CMD_ClearEOC_Write CMD_ClearEOC_Write_t;
-
-/** Message ID for ACK_ClearEOC_Write */
-#define ACK_CLEAREOC_WRITE 0x5143
-
-/**
-   This message is the acknowledgement for CMD_ClearEOC_Write.
-*/
-typedef struct ACK_ClearEOC_Write ACK_ClearEOC_Write_t;
-
-/** Message ID for CMD_ClearEOC_Read */
-#define CMD_CLEAREOC_READ 0x5203
-
-/**
-   This message is used to read data from the ClearEOC buffer of type
-   VRX_ClearEOC_t. The length of the actual Clear EOC message can be found in
-   the buffer. Please refer to VRX_ClearEOC_t. The availability of data can
-   either be checked via CMD_ClearEOCStatusGet in polling mode or it can be
-   reported by an autonomous EVT_ClearEOCStatusGet message when data is received
-   (to be enabled using CMD_ClearEOC_Configure).
-*/
-typedef struct CMD_ClearEOC_Read CMD_ClearEOC_Read_t;
-
-/** Message ID for ACK_ClearEOC_Read */
-#define ACK_CLEAREOC_READ 0x5203
-
-/**
-   This message is the acknowledgement to CMD_ClearEOC_Read.
-*/
-typedef struct ACK_ClearEOC_Read ACK_ClearEOC_Read_t;
-
-/** Message ID for EVT_ClearEOC_Read */
-#define EVT_CLEAREOC_READ 0x5203
-
-/**
-   This message is an autonomous message that is generated when ClearEOC data
-   was received and autonomous Clear EOC data messaging has been activated via
-   CMD_ClearEOC_Configure. If the ClearEOC data does not fit in one message,
-   then a sequence of messages is generated. The ClearEOC buffer is of type
-   VRX_ClearEOC_t.
-*/
-typedef struct EVT_ClearEOC_Read EVT_ClearEOC_Read_t;
-
-/** Message ID for CMD_ClearEOCStatusGet */
-#define CMD_CLEAREOCSTATUSGET 0x0B09
-
-/**
-   This message is used to retrieve the status of the clear eoc data
-   transmission.
-*/
-typedef struct CMD_ClearEOCStatusGet CMD_ClearEOCStatusGet_t;
-
-/** Message ID for ACK_ClearEOCStatusGet */
-#define ACK_CLEAREOCSTATUSGET 0x0B09
-
-/**
-   This is the acknowledgement for CMD_ClearEOCStatusGet.
-*/
-typedef struct ACK_ClearEOCStatusGet ACK_ClearEOCStatusGet_t;
-
-/** Message ID for EVT_ClearEOCStatusGet */
-#define EVT_CLEAREOCSTATUSGET 0x0B09
-
-/**
-   This autonomous message reports the Clear EOC status. It is sent only if the
-   "Autonomous Status Message Control" was enabled for TX and/or RX direction
-   with CMD_ClearEOC_Configure. If TX direction is enabled, the message is
-   generated when a TX transmission is finished or failed. If RX direction is
-   enabled, the message is generated when the RX status transitions from "Idle"
-   to "Data Available" for retrieval by the host.
-*/
-typedef struct EVT_ClearEOCStatusGet EVT_ClearEOCStatusGet_t;
-
-/** Message ID for CMD_ClearEOCStatusSet */
-#define CMD_CLEAREOCSTATUSSET 0x0B49
-
-/**
-   The message is used to reset the transmit or receive status of the clear eoc
-   data transmission to IDLE (for defined states see also
-   CMD_ClearEOCStatusGet). See the description on the Clear EOC handling on Page
-   533 for when it has to be applied. Transmit and receive status are
-   distinguished by the Index parameter.
-*/
-typedef struct CMD_ClearEOCStatusSet CMD_ClearEOCStatusSet_t;
-
-/** Message ID for ACK_ClearEOCStatusSet */
-#define ACK_CLEAREOCSTATUSSET 0x0B49
-
-/**
-   This is the acknowledgement for CMD_ClearEOCStatusSet.
-*/
-typedef struct ACK_ClearEOCStatusSet ACK_ClearEOCStatusSet_t;
-
-/** Message ID for CMD_OH_OptionsSet */
-#define CMD_OH_OPTIONSSET 0x1945
-
-/**
-   Configuration of options for the overhead handling.
-*/
-typedef struct CMD_OH_OptionsSet CMD_OH_OptionsSet_t;
-
-/** Message ID for ACK_OH_OptionsSet */
-#define ACK_OH_OPTIONSSET 0x1945
-
-/**
-   Acknowledgement for CMD_OH_OptionsSet.
-*/
-typedef struct ACK_OH_OptionsSet ACK_OH_OptionsSet_t;
-
-/** Message ID for CMD_OH_StatsGet */
-#define CMD_OH_STATSGET 0x0F03
-
-/**
-   Requests OH polling statistic information.
-*/
-typedef struct CMD_OH_StatsGet CMD_OH_StatsGet_t;
-
-/** Message ID for ACK_OH_StatsGet */
-#define ACK_OH_STATSGET 0x0F03
-
-/**
-   Reports the OH polling statistics as requested by CMD_OH_StatsGet.
-*/
-typedef struct ACK_OH_StatsGet ACK_OH_StatsGet_t;
-
-/** Message ID for CMD_OLR_Control */
-#define CMD_OLR_CONTROL 0x0F45
-
-/**
-   Enables/Disables support for OLR events (Bitswaps, SRA, SOS, ROC).An OLR
-   transition is always initiated by the receiving PMD, so the CPE requests the
-   OLR event for downstream direction.
-*/
-typedef struct CMD_OLR_Control CMD_OLR_Control_t;
-
-/** Message ID for ACK_OLR_Control */
-#define ACK_OLR_CONTROL 0x0F45
-
-/**
-   Acknowledgement for CMD_OLR_Control.
-*/
-typedef struct ACK_OLR_Control ACK_OLR_Control_t;
-
-/** Message ID for CMD_OLR_US_StatsGet */
-#define CMD_OLR_US_STATSGET 0x5F03
-
-/**
-   Requests the OLR status information on bit swaps, DRR, SRA and SOS events for
-   the upstream direction.
-*/
-typedef struct CMD_OLR_US_StatsGet CMD_OLR_US_StatsGet_t;
-
-/** Message ID for ACK_OLR_US_StatsGet */
-#define ACK_OLR_US_STATSGET 0x5F03
-
-/**
-   Reports the OLR status information for the upstream direction as requested by
-   CMD_OLR_US_StatsGet.
-*/
-typedef struct ACK_OLR_US_StatsGet ACK_OLR_US_StatsGet_t;
-
-/** Message ID for CMD_OLR_DS_StatsGet */
-#define CMD_OLR_DS_STATSGET 0x6003
-
-/**
-   Requests the OLR status information on bit swaps, DRR, SRA and SOS events for
-   the downstream direction.
-*/
-typedef struct CMD_OLR_DS_StatsGet CMD_OLR_DS_StatsGet_t;
-
-/** Message ID for ACK_OLR_DS_StatsGet */
-#define ACK_OLR_DS_STATSGET 0x6003
-
-/**
-   Reports the OLR status information for the downstream direction as requested
-   by CMD_OLR_DS_StatsGet.
-*/
-typedef struct ACK_OLR_DS_StatsGet ACK_OLR_DS_StatsGet_t;
-
-/** Message ID for CMD_RA_ModeDS_Get */
-#define CMD_RA_MODEDS_GET 0xD903
-
-/**
-   Requests the actual active downstream RA mode (ACT-RA-MODEds, Section
-   7.5.1.33.1 of G.997.1).
-*/
-typedef struct CMD_RA_ModeDS_Get CMD_RA_ModeDS_Get_t;
-
-/** Message ID for ACK_RA_ModeDS_Get */
-#define ACK_RA_MODEDS_GET 0xD903
-
-/**
-   Reports the actual active downstream RA mode (ACT-RA-MODEds) as requested by
-   CMD_RA_ModeDS_Get.
-*/
-typedef struct ACK_RA_ModeDS_Get ACK_RA_ModeDS_Get_t;
-
-/** Message ID for CMD_RA_ModeUS_Get */
-#define CMD_RA_MODEUS_GET 0xDB03
-
-/**
-   Requests the actual active upstream RA mode (ACT-RA-MODEus, Section
-   7.5.1.33.2 of G.997.1).
-*/
-typedef struct CMD_RA_ModeUS_Get CMD_RA_ModeUS_Get_t;
-
-/** Message ID for ACK_RA_ModeUS_Get */
-#define ACK_RA_MODEUS_GET 0xDB03
-
-/**
-   Reports the actual active upstream RA mode (ACT-RA-MODEus) as requested by
-   CMD_RA_ModeUS_Get.
-*/
-typedef struct ACK_RA_ModeUS_Get ACK_RA_ModeUS_Get_t;
-
-/** Message ID for EVT_OLR_US_EventGet */
-#define EVT_OLR_US_EVENTGET 0x0307
-
-/**
-   Autonomous message indicating a successful upstream OLR event (SRA or SOS).
-*/
-typedef struct EVT_OLR_US_EventGet EVT_OLR_US_EventGet_t;
-
-/** Message ID for EVT_OLR_DS_EventGet */
-#define EVT_OLR_DS_EVENTGET 0x0407
-
-/**
-   Autonomous message indicating a successful downstream OLR event (SRA or SOS).
-*/
-typedef struct EVT_OLR_DS_EventGet EVT_OLR_DS_EventGet_t;
-
-/** Message ID for CMD_OLR_US_EventConfigure */
-#define CMD_OLR_US_EVENTCONFIGURE 0x0F49
-
-/**
-   Enables/Disables the generation of EVENT messages (EVT) for specific upstream
-   OLR events. If the corresponding Enable bit for an OLR event is set, then the
-   modem firmware will send an autonomous message EVT_OLR_US_EventGet if the OLR
-   event happened in the last 1-second interval.
-*/
-typedef struct CMD_OLR_US_EventConfigure CMD_OLR_US_EventConfigure_t;
-
-/** Message ID for ACK_OLR_US_EventConfigure */
-#define ACK_OLR_US_EVENTCONFIGURE 0x0F49
-
-/**
-   Acknoledgement for CMD_OLR_US_EventConfigure.
-*/
-typedef struct ACK_OLR_US_EventConfigure ACK_OLR_US_EventConfigure_t;
-
-/** Message ID for CMD_OLR_DS_EventConfigure */
-#define CMD_OLR_DS_EVENTCONFIGURE 0x1049
-
-/**
-   Enables/Disables the generation of EVENT messages (EVT) for specific
-   downstream OLR events. If the corresponding Enable bit for an OLR event is
-   set, then the modem firmware will send an autonomous message
-   EVT_OLR_DS_EventGet if the OLR event happened in the last 1-second interval.
-*/
-typedef struct CMD_OLR_DS_EventConfigure CMD_OLR_DS_EventConfigure_t;
-
-/** Message ID for ACK_OLR_DS_EventConfigure */
-#define ACK_OLR_DS_EVENTCONFIGURE 0x1049
-
-/**
-   Acknoledgement for CMD_OLR_DS_EventConfigure.
-*/
-typedef struct ACK_OLR_DS_EventConfigure ACK_OLR_DS_EventConfigure_t;
-
-/** Message ID for CMD_RTX_Control */
-#define CMD_RTX_CONTROL 0x5048
-
-/**
-   Configures a link for retransmission of downstream data. For using the RTX
-   function, this message has to be sent.
-*/
-typedef struct CMD_RTX_Control CMD_RTX_Control_t;
-
-/** Message ID for ACK_RTX_Control */
-#define ACK_RTX_CONTROL 0x5048
-
-/**
-   Acknowledgement for CMD_RTX_Control.
-*/
-typedef struct ACK_RTX_Control ACK_RTX_Control_t;
-
-/** Message ID for CMD_RTX_BearerChsDS_Get */
-#define CMD_RTX_BEARERCHSDS_GET 0x0206
-
-/**
-   Requests RTX specific status information for the downstream bearer channels
-   if G.INP retransmission is used.
-*/
-typedef struct CMD_RTX_BearerChsDS_Get CMD_RTX_BearerChsDS_Get_t;
-
-/** Message ID for ACK_RTX_BearerChsDS_Get */
-#define ACK_RTX_BEARERCHSDS_GET 0x0206
-
-/**
-   Delivers status information for the downstream bearer channels when G.INP
-   retransmission is actually used.
-*/
-typedef struct ACK_RTX_BearerChsDS_Get ACK_RTX_BearerChsDS_Get_t;
-
-/** Message ID for CMD_RTX_BearerChsUS_Get */
-#define CMD_RTX_BEARERCHSUS_GET 0x0306
-
-/**
-   Requests RTX specific status information for the upstream bearer channels if
-   upstream G.INP retransmission is used.
-*/
-typedef struct CMD_RTX_BearerChsUS_Get CMD_RTX_BearerChsUS_Get_t;
-
-/** Message ID for ACK_RTX_BearerChsUS_Get */
-#define ACK_RTX_BEARERCHSUS_GET 0x0306
-
-/**
-   Delivers status information for the upstream bearer channels when upstream
-   G.INP retransmission is used.
-*/
-typedef struct ACK_RTX_BearerChsUS_Get ACK_RTX_BearerChsUS_Get_t;
-
-/** Message ID for CMD_RTX_PM_DS_Get */
-#define CMD_RTX_PM_DS_GET 0x2B0A
-
-/**
-   Requests performance monitoring counters for downstream G.INP retransmission.
-*/
-typedef struct CMD_RTX_PM_DS_Get CMD_RTX_PM_DS_Get_t;
-
-/** Message ID for ACK_RTX_PM_DS_Get */
-#define ACK_RTX_PM_DS_GET 0x2B0A
-
-/**
-   Delivers performance monitoring counters for downstream G.INP retransmission.
-*/
-typedef struct ACK_RTX_PM_DS_Get ACK_RTX_PM_DS_Get_t;
-
-/** Message ID for CMD_RTX_PM_US_Get */
-#define CMD_RTX_PM_US_GET 0x3B0A
-
-/**
-   Requests performance monitoring counters for upstream G.INP retransmission.
-*/
-typedef struct CMD_RTX_PM_US_Get CMD_RTX_PM_US_Get_t;
-
-/** Message ID for ACK_RTX_PM_US_Get */
-#define ACK_RTX_PM_US_GET 0x3B0A
-
-/**
-   Delivers performance monitoring counters for upstream G.INP retransmission.
-   They are all far-end parameters received from CO.
-*/
-typedef struct ACK_RTX_PM_US_Get ACK_RTX_PM_US_Get_t;
-
-/** Message ID for CMD_RTX_DS_StatsGet */
-#define CMD_RTX_DS_STATSGET 0x2C0A
-
-/**
-   Requests DTU counters for G.INP downstream retransmission.
-*/
-typedef struct CMD_RTX_DS_StatsGet CMD_RTX_DS_StatsGet_t;
-
-/** Message ID for ACK_RTX_DS_StatsGet */
-#define ACK_RTX_DS_STATSGET 0x2C0A
-
-/**
-   Delivers DTU counters for G.INP downstream retransmission. The counters are
-   Non-TR1 wrap-around counters, which are reset at reboot only.
-*/
-typedef struct ACK_RTX_DS_StatsGet ACK_RTX_DS_StatsGet_t;
-
-/** Message ID for CMD_RTX_US_StatsGet */
-#define CMD_RTX_US_STATSGET 0x3A0A
-
-/**
-   Requests DTU counters for G.INP upstream retransmission, which is defined for
-   VDSL only.
-*/
-typedef struct CMD_RTX_US_StatsGet CMD_RTX_US_StatsGet_t;
-
-/** Message ID for ACK_RTX_US_StatsGet */
-#define ACK_RTX_US_STATSGET 0x3A0A
-
-/**
-   Delivers DTU counters for G.INP upstream retransmission. The counters are
-   Non-TR1 wrap-around counters, which are reset at reboot only.
-*/
-typedef struct ACK_RTX_US_StatsGet ACK_RTX_US_StatsGet_t;
-
-/** Message ID for CMD_RTX_StatusGet */
-#define CMD_RTX_STATUSGET 0xE503
-
-/**
-   Requests the actually used G.INP retransmission status.
-*/
-typedef struct CMD_RTX_StatusGet CMD_RTX_StatusGet_t;
-
-/** Message ID for ACK_RTX_StatusGet */
-#define ACK_RTX_STATUSGET 0xE503
-
-/**
-   Provides the actually used G.INP retransmission status.
-*/
-typedef struct ACK_RTX_StatusGet ACK_RTX_StatusGet_t;
-
-/** Message ID for CMD_RTX_US_FrameDataGet */
-#define CMD_RTX_US_FRAMEDATAGET 0xED03
-
-/**
-   Requests upstream G.INP retransmission specific framing parameters and other
-   status parameters. They are always associated with bearer channel 0.
-*/
-typedef struct CMD_RTX_US_FrameDataGet CMD_RTX_US_FrameDataGet_t;
-
-/** Message ID for ACK_RTX_US_FrameDataGet */
-#define ACK_RTX_US_FRAMEDATAGET 0xED03
-
-/**
-   Delivers upstream retransmission specific framing parameters and other status
-   parameters, as requested by CMD_RTX_US_FrameDataGet. They are always
-   associated with bearer channel 0.In addition, the usual framing parameters
-   are to be retrieved with CMD_FrameDataExt2US_Get.
-*/
-typedef struct ACK_RTX_US_FrameDataGet ACK_RTX_US_FrameDataGet_t;
-
-/** Message ID for CMD_RTX_US_Roundtrip_Get */
-#define CMD_RTX_US_ROUNDTRIP_GET 0xEF03
-
-/**
-   Requests the G.INP upstream retransmission measured roundtrip.
-*/
-typedef struct CMD_RTX_US_Roundtrip_Get CMD_RTX_US_Roundtrip_Get_t;
-
-/** Message ID for ACK_RTX_US_Roundtrip_Get */
-#define ACK_RTX_US_ROUNDTRIP_GET 0xEF03
-
-/**
-   Provides the G.INP upstream retransmission measured roundtrip delay. For
-   measuring the roundtrip, following difference is built when a correct RRC
-   codeword has been received: AbsoluteDTUCount of transmitter for next possible
-   DTU transmission minus AbsoluteDTUCount as received in RRC codeword.
-*/
-typedef struct ACK_RTX_US_Roundtrip_Get ACK_RTX_US_Roundtrip_Get_t;
-
-/** Message ID for CMD_DSM_Control */
-#define CMD_DSM_CONTROL 0x5248
-
-/**
-   Enables/Disables support for full vectoring (G.993.5) and full vector-
-   friendly operation (G.993.2 Annex Y). In case of ADSL, this only means the
-   indication of the (VDSL) vectoring capabilities during G.Handshake.
-*/
-typedef struct CMD_DSM_Control CMD_DSM_Control_t;
-
-/** Message ID for ACK_DSM_Control */
-#define ACK_DSM_CONTROL 0x5248
-
-/**
-   Acknowledgement to CMD_DSM_Control.
-*/
-typedef struct ACK_DSM_Control ACK_DSM_Control_t;
-
-/** Message ID for EVT_DSM_ErrorVectorReady */
-#define EVT_DSM_ERRORVECTORREADY 0x1109
-
-/**
-   This autononmous message indicates that new downstream DSM error vector data
-   were written by the DSL FW into the SDRAM. Generation of this EVT message is
-   enabled/disabled together with the G.993.5 vectoring functionality itself, by
-   means of CMD_DSM_Control, parameter "Vector".
-*/
-typedef struct EVT_DSM_ErrorVectorReady EVT_DSM_ErrorVectorReady_t;
-
-/** Message ID for CMD_DSM_StatsGet */
-#define CMD_DSM_STATSGET 0x370A
-
-/**
-   Requests vectoring debug counter values.
-*/
-typedef struct CMD_DSM_StatsGet CMD_DSM_StatsGet_t;
-
-/** Message ID for ACK_DSM_StatsGet */
-#define ACK_DSM_STATSGET 0x370A
-
-/**
-   Delivers vectoring debug counters.
-*/
-typedef struct ACK_DSM_StatsGet ACK_DSM_StatsGet_t;
-
-/**
-   Requests information about the bit-allocation per subcarrier in VDSL mode.
-   The values for all subcarriers of both directions can be retrieved. (For ADSL
-   use CMD_BAT_DS_Get and CMD_BAT_US_Get).
-*/
-struct CMD_BAT_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the bit-allocation per tone for the chosen range of
-   subcarriers.(Section 7.5.1.29.1-2 of G.997.1)
-*/
-struct ACK_BAT_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bit Allocation */
-   VRX_BAT_TableEntry_t BAT[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bit Allocation */
-   VRX_BAT_TableEntry_t BAT[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the Gains per subcarrier. The values for all
-   subcarriers of both directions can be retrieved.(For ADSL use
-   CMD_GainTableDS_Get and CMD_GainTableUS_Get).
-*/
-struct CMD_GainTableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the Gain-per-tone for the chosen range of
-   subcarriers.(Section 7.5.1.29.3-4 of G.997.1)
-*/
-struct ACK_GainTableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Gains */
-   DSL_uint16_t Gains[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Gains */
-   DSL_uint16_t Gains[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message requests information about the SNR per subcarrier with virtual
-   noise for the near-end side , which means for downstream direction at the
-   CPE. It is the hosts responsibility to select the tone indices
-   accordingly.See also Table 19 "How to Retrieve Test Parameter Data" on Page
-   489.
-*/
-struct CMD_SNR_NE_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the SNR per subcarrier with virtual noise for the
-   near-end side, meaning for downstream direction.
-*/
-struct ACK_SNR_NE_TableEntriesGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SNR */
-   DSL_uint16_t SNRps[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SNR */
-   DSL_uint16_t SNRps[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the downstream bit-allocation per subcarrier in
-   ADSL mode.
-*/
-struct CMD_BAT_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the downstream bit-allocation per tone for the
-   chosen range of subcarriers.(Section 7.5.1.29.1 of G.997.1)
-*/
-struct ACK_BAT_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bit Allocation */
-   VRX_BAT_TableEntry_t BAT[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bit Allocation */
-   VRX_BAT_TableEntry_t BAT[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the upstream bit-allocation per subcarrier in ADSL
-   mode.
-*/
-struct CMD_BAT_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the upstream bit-allocation per tone for the chosen
-   range of subcarriers.(Section 7.5.1.29.2 of G.997.1)
-*/
-struct ACK_BAT_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bit Allocation */
-   VRX_BAT_TableEntry_t BAT[32];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Bit Allocation */
-   VRX_BAT_TableEntry_t BAT[32];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the Gains per subcarrier for the downstream
-   direction.
-*/
-struct CMD_GainTableDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the Gain-per-tone for the chosen range of
-   subcarriers for the downstream direction.(Section 7.5.1.29.3 of G.997.1) as
-   requested by CMD_GainTableDS_Get.
-*/
-struct ACK_GainTableDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Gains */
-   DSL_uint16_t Gains[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Gains */
-   DSL_uint16_t Gains[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the Gains per subcarrier for the upstream
-   direction.
-*/
-struct CMD_GainTableUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the Gain-per-tone for the chosen range of
-   subcarriers for the upstream direction.(Section 7.5.1.29.4 of G.997.1)
-*/
-struct ACK_GainTableUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Gains */
-   DSL_uint16_t Gains[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Gains */
-   DSL_uint16_t Gains[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the Excess Margin Reduction needed for the fine
-   gain calculation at the ATU_R.(See also ACK_GainTableDS_Get).
-*/
-struct CMD_ADSL_ExMarginReductionGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the Excess Margin Reduction for the downstream
-   direction.
-*/
-struct ACK_ADSL_ExMarginReductionGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Excess Margin Reduction  */
-   DSL_uint16_t eSnrmReduction;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Excess Margin Reduction  */
-   DSL_uint16_t eSnrmReduction;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the downstream HLOG information per subcarrier
-   group (Section 7.5.1.26.6 of G.997.1).During STEADY_STATE, the command can be
-   used in VDSL to request near-end data only (CPE). For the far-end HLOG to be
-   provided via the EOC channel CMD_TestParamsFE_Request must be used. In ADSL,
-   the command can be applied for near-end as well as far-end parameters.During
-   loop diagnostic mode, the command shall be used to request both near-end and
-   far-end data.
-*/
-struct CMD_HlogDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the downstream HLOG per subcarrier group for the
-   chosen range. (Section 7.5.1.26.6 of G.997.1)
-*/
-struct ACK_HlogDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLOG per SG: HLOGpsds */
-   DSL_uint16_t HLOGpsds[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLOG per SG: HLOGpsds */
-   DSL_uint16_t HLOGpsds[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the upstream HLOG information per subcarrier group
-   (Section 7.5.1.26.11 of G.997.1).
-*/
-struct CMD_HlogUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the upstream HLOG per subcarrier group for the
-   chosen range. (Section 7.5.1.26.11 of G.997.1)
-*/
-struct ACK_HlogUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLOG per SG: HLOGpsus */
-   DSL_uint16_t HLOGpsus[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLOG per SG: HLOGpsus */
-   DSL_uint16_t HLOGpsus[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the downstream HLIN information per subcarrier
-   group. (Section 7.5.1.26.3 of G.997.1).The HLIN data are available during
-   loop diagnostic mode only.
-*/
-struct CMD_HlinDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the downstream HLIN per subcarrier group for the
-   chosen range. (Section 7.5.1.26.3 of G.997.1)
-*/
-struct ACK_HlinDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN per SG: HLINpsds */
-   VRX_HLIN_t HLINpsds[64];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN per SG: HLINpsds */
-   VRX_HLIN_t HLINpsds[64];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the upstream HLIN information per subcarrier
-   group. (Section 7.5.1.26.9 of G.997.1).The HLIN data are available in loop
-   diagnostic mode only.
-*/
-struct CMD_HlinUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the upstream HLIN per subcarrier group for the
-   chosen range. (Section 7.5.1.26.9 of G.997.1)
-*/
-struct ACK_HlinUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN per SG: HLINpsus */
-   VRX_HLIN_t HLINpsus[64];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN per SG: HLINpsus */
-   VRX_HLIN_t HLINpsus[64];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the downstream QLN information (QLNpsds) per
-   subcarrier group (Section 7.5.1.27.3 of G.997.1).During STEADY_STATE, the
-   command can be used in VDSL to request near-end data only (CPE).
-*/
-struct CMD_QLN_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the QLN per subcarrier group for the chosen range.
-   (Section 7.5.1.27.3 of G.997.1)
-*/
-struct ACK_QLN_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** QLN per SG: QLNpsds */
-   VRX_QLN_NE_t QLNds[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** QLN per SG: QLNpsds */
-   VRX_QLN_NE_t QLNds[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the upstream QLN (QLNpsus) per subcarrier group.
-   (Section 7.5.1.27.6 of G.997.1).
-*/
-struct CMD_QLN_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the QLN per subcarrier group for the chosen range.
-   (Section 7.5.1.27.6 of G.997.1)
-*/
-struct ACK_QLN_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** QLN per SG: QLNpsus */
-   VRX_QLN_NE_t QLNus[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** QLN per SG: QLNpsus */
-   VRX_QLN_NE_t QLNus[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the downstream SNR per subcarrier group in VDSL or
-   the SNR per subcarrier in ADSL, both without considering virtual noise
-   (Section 7.5.1.28.3 of G.997.1).
-*/
-struct CMD_SNR_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the SNR per subcarrier (ADSL) or per subcarrier
-   group (VDSL) for the chosen range without considering virtual noise. (Section
-   7.5.1.28.3 of G.997.1)
-*/
-struct ACK_SNR_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SNR per SG: SNRpsds */
-   VRX_SNR_t SNRpsds[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SNR per SG: SNRpsds */
-   VRX_SNR_t SNRpsds[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests information about the upstream SNR per subcarrier group (Section
-   7.5.1.28.6 of G.997.1).
-*/
-struct CMD_SNR_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns information about the upstream SNR per subcarrier group for the
-   chosen range. (Section 7.5.1.28.6 of G.997.1)
-*/
-struct ACK_SNR_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SNR per SG: SNRpsus */
-   VRX_SNR_t SNRpsus[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SNR per SG: SNRpsus */
-   VRX_SNR_t SNRpsus[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests test parameter related information for the downstream direction: The
-   HLIN scaling factor (HLINSCds), the subcarrier group size "G" and the
-   measurement times for HLOGpsds, QLNpsds, SNRpsds.(Sections 7.5.1.26.1/2/4/5,
-   7.5.1.27.1/2 and 7.5.1.28.1/2 of G.997.1)
-*/
-struct CMD_TestParamsAuxDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the test-parameter related information as requested by
-   CMD_TestParamsAuxDS_Get: The HLIN scaling factor (HLINSCds), the subcarrier
-   group size "G" and the measurement times for HLOGpsds, QLNpsds,
-   SNRpsds.(Sections 7.5.1.26.1/2/4/5, 7.5.1.27.1/2 and 7.5.1.28.1/2 of G.997.1)
-*/
-struct ACK_TestParamsAuxDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN Scaling Factor "HLINSCds" */
-   DSL_uint16_t HLINSC;
-   /** HLIN Subcarrier Group Size DS "HLINGds" */
-   DSL_uint16_t HLING;
-   /** HLOG Measurement Time "HLOGMTds" */
-   DSL_uint16_t HLOGMT;
-   /** HLOG Subcarrier Group Size DS "HLOGGds" */
-   DSL_uint16_t HLOGG;
-   /** QLN Measurment Time "QLNMTds" */
-   DSL_uint16_t QLNMT;
-   /** QLN Subcarrier Group Size DS "QLNGds" */
-   DSL_uint16_t QLNG;
-   /** SNR Measurement Time "SNRMTds" */
-   DSL_uint16_t SNRMT;
-   /** SNR Subcarrier Group Size DS "SNRGds" */
-   DSL_uint16_t SNRG;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN Scaling Factor "HLINSCds" */
-   DSL_uint16_t HLINSC;
-   /** HLIN Subcarrier Group Size DS "HLINGds" */
-   DSL_uint16_t HLING;
-   /** HLOG Measurement Time "HLOGMTds" */
-   DSL_uint16_t HLOGMT;
-   /** HLOG Subcarrier Group Size DS "HLOGGds" */
-   DSL_uint16_t HLOGG;
-   /** QLN Measurment Time "QLNMTds" */
-   DSL_uint16_t QLNMT;
-   /** QLN Subcarrier Group Size DS "QLNGds" */
-   DSL_uint16_t QLNG;
-   /** SNR Measurement Time "SNRMTds" */
-   DSL_uint16_t SNRMT;
-   /** SNR Subcarrier Group Size DS "SNRGds" */
-   DSL_uint16_t SNRG;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests test parameter related information for the upstream direction: The
-   HLIN scaling factor (HLINSCus), the subcarrier group size "G" and the
-   measurement times for HLOGpsus, QLNpsus, SNRpsus.For older VDSL FW versions
-   from w.6.x.y.z.a to 5.8.0.x.y.z: During STEADY_STATE, the command can be used
-   only to retrieve the "group size" parameters. To get the measurement time
-   parameters (via the EOC channel) the message CMD_TestParamsFE_Request must be
-   applied instead.(Sections 7.5.1.26.7/8/10/11, 7.5.1.27.4/5 and 7.5.1.28.4/5
-   of G.997.1)For older VDSL FW versions from w.6.x.y.z.a to 5.8.0.x.y.z: During
-   STEADY_STATE, the command can be used only to retrieve the "group size"
-   parameters. To get the measurement time parameters (via the EOC channel) the
-   message CMD_TestParamsFE_Request must be applied instead.The test parameters
-   can be requested during loop diagnostic mode (VDSL, ADSL) and in ADSL also
-   during STEADY_STATE.For older VDSL FW versions from w.6.x.y.z.a to
-   5.8.0.x.y.z: During STEADY_STATE, the command can be used only to retrieve
-   the "group size" parameters. To get the measurement time parameters (via the
-   EOC channel) the message CMD_TestParamsFE_Request must be applied instead.
-*/
-struct CMD_TestParamsAuxUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the test-parameter related information as requested by
-   CMD_TestParamsAuxUS_Get: The HLIN scaling factor (HLINSCus), the subcarrier
-   group size "G" and the measurement times for HLOGpsus, QLNpsus, SNRpsus.
-*/
-struct ACK_TestParamsAuxUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN Scaling Factor "HLINSCus" */
-   DSL_uint16_t HLINSC;
-   /** HLIN Subcarrier Group Size US "HLINGus" */
-   DSL_uint16_t HLING;
-   /** HLOG Measurement Time "HLOGMTus" */
-   DSL_uint16_t HLOGMT;
-   /** HLOG Subcarrier Group Size US "HLOGGus" */
-   DSL_uint16_t HLOGG;
-   /** QLN Measurment Time "QLNMTus" */
-   DSL_uint16_t QLNMT;
-   /** QLN Subcarrier Group Size US "QLNGus" */
-   DSL_uint16_t QLNG;
-   /** SNR Measurement Time "SNRMTus" */
-   DSL_uint16_t SNRMT;
-   /** SNR Subcarrier Group Size US "SNRGus" */
-   DSL_uint16_t SNRG;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** HLIN Scaling Factor "HLINSCus" */
-   DSL_uint16_t HLINSC;
-   /** HLIN Subcarrier Group Size US "HLINGus" */
-   DSL_uint16_t HLING;
-   /** HLOG Measurement Time "HLOGMTus" */
-   DSL_uint16_t HLOGMT;
-   /** HLOG Subcarrier Group Size US "HLOGGus" */
-   DSL_uint16_t HLOGG;
-   /** QLN Measurment Time "QLNMTus" */
-   DSL_uint16_t QLNMT;
-   /** QLN Subcarrier Group Size US "QLNGus" */
-   DSL_uint16_t QLNG;
-   /** SNR Measurement Time "SNRMTus" */
-   DSL_uint16_t SNRMT;
-   /** SNR Subcarrier Group Size US "SNRGus" */
-   DSL_uint16_t SNRG;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is used to trigger retrieval of the far-end PMD Test Parameters
-   Hlog, SNR and QLN via the EOC channel during Showtime. If StartIndex or
-   EndIndex do not contain values in a valid range then no autonomous message
-   will be sent by the firmware. Once the retrieval process is started, it can
-   also be aborted with this message via the control parameter. The status of
-   the parameter retrieval process can be polled via the CMD_TestParamsFE_Poll
-   message. Once the parameters are retrieved, they are provided with the
-   EVT_PMD_TestParamsGet message.
-*/
-struct CMD_TestParamsFE_Request
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-end Retrieval Control */
-   DSL_uint16_t Control;
-   /** Subcarrier Group Start Index */
-   DSL_uint16_t StartIndex;
-   /** Subcarrier Group End Index */
-   DSL_uint16_t EndIndex;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-end Retrieval Control */
-   DSL_uint16_t Control;
-   /** Subcarrier Group Start Index */
-   DSL_uint16_t StartIndex;
-   /** Subcarrier Group End Index */
-   DSL_uint16_t EndIndex;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_TestParamsFE_Request.
-*/
-struct ACK_TestParamsFE_Request
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message polls the status of the far end parameter retrieval process.
-*/
-struct CMD_TestParamsFE_Poll
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_TestParamsFE_Poll.
-*/
-struct ACK_TestParamsFE_Poll
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-end retrieval status */
-   DSL_uint16_t Status;
-   /** Reserved1 */
-   DSL_uint16_t Res1;
-   /** Reserved2 */
-   DSL_uint16_t Res2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-end retrieval status */
-   DSL_uint16_t Status;
-   /** Reserved1 */
-   DSL_uint16_t Res1;
-   /** Reserved2 */
-   DSL_uint16_t Res2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This event message provides the far-end data after the far end data retrieval
-   process. This message is a result of the CMD_TestParamsFE_Request message.
-*/
-struct EVT_PMD_TestParamsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved1 */
-   DSL_uint16_t Res1;
-   /** Subcarrier Group Start Index */
-   DSL_uint16_t StartIndex;
-   /** Subcarrier Group End Index */
-   DSL_uint16_t EndIndex;
-   /** HLOG Measurement Time HLOGMT */
-   DSL_uint16_t hlogTime;
-   /** SNR Measurement Time SNRMT */
-   DSL_uint16_t snrTime;
-   /** QLN Measurment Time QLNMT */
-   DSL_uint16_t qlnTime;
-   /** Testparameter Result */
-   VRX_TestParam_t TestPar[60];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved1 */
-   DSL_uint16_t Res1;
-   /** Subcarrier Group Start Index */
-   DSL_uint16_t StartIndex;
-   /** Subcarrier Group End Index */
-   DSL_uint16_t EndIndex;
-   /** HLOG Measurement Time HLOGMT */
-   DSL_uint16_t hlogTime;
-   /** SNR Measurement Time SNRMT */
-   DSL_uint16_t snrTime;
-   /** QLN Measurment Time QLNMT */
-   DSL_uint16_t qlnTime;
-   /** Testparameter Result */
-   VRX_TestParam_t TestPar[60];
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message is used to configure the autonomous messaging related to Clear
-   EOC transmission.
-*/
-struct CMD_ClearEOC_Configure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** RX Autonomous Clear EOC Data Message Control */
-   DSL_uint16_t RxEVTdata : 1;
-   /** RX Autonomous Status Message Control */
-   DSL_uint16_t RxEVTstatus : 1;
-   /** TX Autonomous Status Message Control */
-   DSL_uint16_t TxEVTstatus : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TX Autonomous Status Message Control */
-   DSL_uint16_t TxEVTstatus : 1;
-   /** RX Autonomous Status Message Control */
-   DSL_uint16_t RxEVTstatus : 1;
-   /** RX Autonomous Clear EOC Data Message Control */
-   DSL_uint16_t RxEVTdata : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_ClearEOC_Configure.
-*/
-struct ACK_ClearEOC_Configure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message is used to trigger the transmission of  Clear EOC messages that
-   were placed into the Clear EOC transmit buffer before with
-   CMD_ClearEOC_Write.
-*/
-struct CMD_ClearEOC_TxTrigger
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** Transmit Control Trigger */
-   DSL_uint16_t txTrigger : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Transmit Control Trigger */
-   DSL_uint16_t txTrigger : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_ClearEOC_TxTrigger.
-*/
-struct ACK_ClearEOC_TxTrigger
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is used to write data to the ClearEOC write buffer of type
-   VRX_ClearEOC_t. When the buffer is filled, the transmission is started
-   applying CMD_ClearEOC_TxTrigger. If the message to transmit is longer than
-   the mailbox size, a sequence of writes to the ClearEOC buffer has to be done
-   before the transmission is started with CMD_ClearEOC_TxTrigger. When
-   autonomous TX status messaging is activated via CMD_ClearEOC_Configure, then
-   the finished transmission is indicated by EVT_ClearEOCStatusGet.
-*/
-struct CMD_ClearEOC_Write
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is the acknowledgement for CMD_ClearEOC_Write.
-*/
-struct ACK_ClearEOC_Write
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is used to read data from the ClearEOC buffer of type
-   VRX_ClearEOC_t. The length of the actual Clear EOC message can be found in
-   the buffer. Please refer to VRX_ClearEOC_t. The availability of data can
-   either be checked via CMD_ClearEOCStatusGet in polling mode or it can be
-   reported by an autonomous EVT_ClearEOCStatusGet message when data is received
-   (to be enabled using CMD_ClearEOC_Configure).
-*/
-struct CMD_ClearEOC_Read
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is the acknowledgement to CMD_ClearEOC_Read.
-*/
-struct ACK_ClearEOC_Read
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is an autonomous message that is generated when ClearEOC data
-   was received and autonomous Clear EOC data messaging has been activated via
-   CMD_ClearEOC_Configure. If the ClearEOC data does not fit in one message,
-   then a sequence of messages is generated. The ClearEOC buffer is of type
-   VRX_ClearEOC_t.
-*/
-struct EVT_ClearEOC_Read
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Data */
-   DSL_uint16_t Data[128];
-#endif
-} __PACKED__ ;
-
-
-/**
-   This message is used to retrieve the status of the clear eoc data
-   transmission.
-*/
-struct CMD_ClearEOCStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_ClearEOCStatusGet.
-*/
-struct ACK_ClearEOCStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Transmit Status */
-   DSL_uint16_t txstat : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 14;
-   /** Receive Status */
-   DSL_uint16_t rxstat : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Transmit Status */
-   DSL_uint16_t txstat : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Receive Status */
-   DSL_uint16_t rxstat : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This autonomous message reports the Clear EOC status. It is sent only if the
-   "Autonomous Status Message Control" was enabled for TX and/or RX direction
-   with CMD_ClearEOC_Configure. If TX direction is enabled, the message is
-   generated when a TX transmission is finished or failed. If RX direction is
-   enabled, the message is generated when the RX status transitions from "Idle"
-   to "Data Available" for retrieval by the host.
-*/
-struct EVT_ClearEOCStatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Transmit Status */
-   DSL_uint16_t txstat : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 14;
-   /** Receive Status */
-   DSL_uint16_t rxstat : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Transmit Status */
-   DSL_uint16_t txstat : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Receive Status */
-   DSL_uint16_t rxstat : 2;
-   /** Reserved */
-   DSL_uint16_t Res1 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message is used to reset the transmit or receive status of the clear eoc
-   data transmission to IDLE (for defined states see also
-   CMD_ClearEOCStatusGet). See the description on the Clear EOC handling on Page
-   533 for when it has to be applied. Transmit and receive status are
-   distinguished by the Index parameter.
-*/
-struct CMD_ClearEOCStatusSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Status */
-   DSL_uint16_t stat : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Status */
-   DSL_uint16_t stat : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This is the acknowledgement for CMD_ClearEOCStatusSet.
-*/
-struct ACK_ClearEOCStatusSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configuration of options for the overhead handling.
-*/
-struct CMD_OH_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** EOC Polling Period Scaling Factor, Bits 15 to 8 */
-   DSL_uint8_t eocPollFactor;
-   /** Reserved */
-   DSL_uint16_t Res0 : 3;
-   /** EOC Polling Control Prio 2: PMD Test Parameters, Bit 4 */
-   DSL_uint16_t eocPoll2 : 1;
-   /** EOC Polling Control Prio 1: Inventory, Counters, Bit 3 */
-   DSL_uint16_t eocPoll1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** EOC Polling Control Prio 1: Inventory, Counters, Bit 3 */
-   DSL_uint16_t eocPoll1 : 1;
-   /** EOC Polling Control Prio 2: PMD Test Parameters, Bit 4 */
-   DSL_uint16_t eocPoll2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 3;
-   /** EOC Polling Period Scaling Factor, Bits 15 to 8 */
-   DSL_uint8_t eocPollFactor;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_OH_OptionsSet.
-*/
-struct ACK_OH_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests OH polling statistic information.
-*/
-struct CMD_OH_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the OH polling statistics as requested by CMD_OH_StatsGet.
-*/
-struct ACK_OH_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** EOC CMD TX PRIO1 Sent */
-   DSL_uint16_t eocCMD1;
-   /** EOC ACK RX PRIO1 Count */
-   DSL_uint16_t eocRSP1;
-   /** EOC CMD TX PRIO2 Sent */
-   DSL_uint16_t eocCMD2;
-   /** EOC ACK RX PRIO2 Count */
-   DSL_uint16_t eocRSP2;
-   /** EOC NACK RX PRIO1 Count  */
-   DSL_uint16_t eocNACK1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** EOC CMD TX PRIO1 Sent */
-   DSL_uint16_t eocCMD1;
-   /** EOC ACK RX PRIO1 Count */
-   DSL_uint16_t eocRSP1;
-   /** EOC CMD TX PRIO2 Sent */
-   DSL_uint16_t eocCMD2;
-   /** EOC ACK RX PRIO2 Count */
-   DSL_uint16_t eocRSP2;
-   /** EOC NACK RX PRIO1 Count  */
-   DSL_uint16_t eocNACK1;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables support for OLR events (Bitswaps, SRA, SOS, ROC).An OLR
-   transition is always initiated by the receiving PMD, so the CPE requests the
-   OLR event for downstream direction.
-*/
-struct CMD_OLR_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 4;
-   /** ROC DS */
-   DSL_uint16_t ROC_DS : 1;
-   /** ROC US */
-   DSL_uint16_t ROC_US : 1;
-   /** SOS DS */
-   DSL_uint16_t SOS_DS : 1;
-   /** SOS US */
-   DSL_uint16_t SOS_US : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** SRA Strict Rate Check */
-   DSL_uint16_t SRA_StrictCheck : 1;
-   /** RX Bitswap */
-   DSL_uint16_t RxBitswap : 1;
-   /** TX Bitswap */
-   DSL_uint16_t TxBitswap : 1;
-   /** SRA Rate Check */
-   DSL_uint16_t SRA_RateCheck : 1;
-   /** Auto-SRA DS */
-   DSL_uint16_t autoSRA_DS : 1;
-   /** Auto-SRA US */
-   DSL_uint16_t autoSRA_US : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Auto-SRA US */
-   DSL_uint16_t autoSRA_US : 1;
-   /** Auto-SRA DS */
-   DSL_uint16_t autoSRA_DS : 1;
-   /** SRA Rate Check */
-   DSL_uint16_t SRA_RateCheck : 1;
-   /** TX Bitswap */
-   DSL_uint16_t TxBitswap : 1;
-   /** RX Bitswap */
-   DSL_uint16_t RxBitswap : 1;
-   /** SRA Strict Rate Check */
-   DSL_uint16_t SRA_StrictCheck : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** SOS US */
-   DSL_uint16_t SOS_US : 1;
-   /** SOS DS */
-   DSL_uint16_t SOS_DS : 1;
-   /** ROC US */
-   DSL_uint16_t ROC_US : 1;
-   /** ROC DS */
-   DSL_uint16_t ROC_DS : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_OLR_Control.
-*/
-struct ACK_OLR_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the OLR status information on bit swaps, DRR, SRA and SOS events for
-   the upstream direction.
-*/
-struct CMD_OLR_US_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the OLR status information for the upstream direction as requested by
-   CMD_OLR_US_StatsGet.
-*/
-struct ACK_OLR_US_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** US Bit Swap Requests */
-   DSL_uint16_t BitswapReqs;
-   /** US Extended Bit Swap Requests */
-   DSL_uint16_t ExtBitswapReqs;
-   /** US Bit Swap UTC Responses */
-   DSL_uint16_t BitswapUTCs;
-   /** US "Bit Swaps Performed" Count */
-   DSL_uint16_t BitswapsDone;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved for DRR */
-   DSL_uint16_t Res1[5];
-   /** US SRA Requests */
-   DSL_uint16_t SRA_Reqs;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** US SRA UTC Responses */
-   DSL_uint16_t SRA_UTCs;
-   /** US "SRA Performed" Count */
-   DSL_uint16_t SRAsDone;
-   /** Reserved */
-   DSL_uint16_t Res3;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** US Bit Swap Requests */
-   DSL_uint16_t BitswapReqs;
-   /** US Extended Bit Swap Requests */
-   DSL_uint16_t ExtBitswapReqs;
-   /** US Bit Swap UTC Responses */
-   DSL_uint16_t BitswapUTCs;
-   /** US "Bit Swaps Performed" Count */
-   DSL_uint16_t BitswapsDone;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** Reserved for DRR */
-   DSL_uint16_t Res1[5];
-   /** US SRA Requests */
-   DSL_uint16_t SRA_Reqs;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** US SRA UTC Responses */
-   DSL_uint16_t SRA_UTCs;
-   /** US "SRA Performed" Count */
-   DSL_uint16_t SRAsDone;
-   /** Reserved */
-   DSL_uint16_t Res3;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the OLR status information on bit swaps, DRR, SRA and SOS events for
-   the downstream direction.
-*/
-struct CMD_OLR_DS_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the OLR status information for the downstream direction as requested
-   by CMD_OLR_DS_StatsGet.
-*/
-struct ACK_OLR_DS_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** DS Bit Swap Requests */
-   DSL_uint16_t BitswapReqs;
-   /** DS Extended Bit Swap Requests */
-   DSL_uint16_t ExtBitswapReqs;
-   /** DS Bit Swap UTC Responses */
-   DSL_uint16_t BitswapUTCs;
-   /** DS "Bit Swaps Performed" Count */
-   DSL_uint16_t BitswapsDone;
-   /** DS Bitswap Timeouts */
-   DSL_uint16_t BitswapTimeOuts;
-   /** Reserved for DRR */
-   DSL_uint16_t Res0[5];
-   /** DS SRA Requests */
-   DSL_uint16_t SRA_Reqs;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** DS SRA UTC Responses */
-   DSL_uint16_t SRA_UTCs;
-   /** DS "SRA Performed" Count */
-   DSL_uint16_t SRAsDone;
-   /** DS SRA Timeouts */
-   DSL_uint16_t SRA_TimeOuts;
-   /** DS SOS Requests */
-   DSL_uint16_t SOS_Reqs;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** DS SOS UTC Responses */
-   DSL_uint16_t SOS_UTCs;
-   /** DS "SOS Performed" Count */
-   DSL_uint16_t SOS_Done;
-   /** DS SOS Timeouts */
-   DSL_uint16_t SOS_TimeOuts;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** DS Bit Swap Requests */
-   DSL_uint16_t BitswapReqs;
-   /** DS Extended Bit Swap Requests */
-   DSL_uint16_t ExtBitswapReqs;
-   /** DS Bit Swap UTC Responses */
-   DSL_uint16_t BitswapUTCs;
-   /** DS "Bit Swaps Performed" Count */
-   DSL_uint16_t BitswapsDone;
-   /** DS Bitswap Timeouts */
-   DSL_uint16_t BitswapTimeOuts;
-   /** Reserved for DRR */
-   DSL_uint16_t Res0[5];
-   /** DS SRA Requests */
-   DSL_uint16_t SRA_Reqs;
-   /** Reserved */
-   DSL_uint16_t Res1;
-   /** DS SRA UTC Responses */
-   DSL_uint16_t SRA_UTCs;
-   /** DS "SRA Performed" Count */
-   DSL_uint16_t SRAsDone;
-   /** DS SRA Timeouts */
-   DSL_uint16_t SRA_TimeOuts;
-   /** DS SOS Requests */
-   DSL_uint16_t SOS_Reqs;
-   /** Reserved */
-   DSL_uint16_t Res2;
-   /** DS SOS UTC Responses */
-   DSL_uint16_t SOS_UTCs;
-   /** DS "SOS Performed" Count */
-   DSL_uint16_t SOS_Done;
-   /** DS SOS Timeouts */
-   DSL_uint16_t SOS_TimeOuts;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the actual active downstream RA mode (ACT-RA-MODEds, Section
-   7.5.1.33.1 of G.997.1).
-*/
-struct CMD_RA_ModeDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the actual active downstream RA mode (ACT-RA-MODEds) as requested by
-   CMD_RA_ModeDS_Get.
-*/
-struct ACK_RA_ModeDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RA Mode DS */
-   DSL_uint16_t actRA_mode;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RA Mode DS */
-   DSL_uint16_t actRA_mode;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the actual active upstream RA mode (ACT-RA-MODEus, Section
-   7.5.1.33.2 of G.997.1).
-*/
-struct CMD_RA_ModeUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the actual active upstream RA mode (ACT-RA-MODEus) as requested by
-   CMD_RA_ModeUS_Get.
-*/
-struct ACK_RA_ModeUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RA Mode US */
-   DSL_uint16_t actRA_mode;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** RA Mode US */
-   DSL_uint16_t actRA_mode;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Autonomous message indicating a successful upstream OLR event (SRA or SOS).
-*/
-struct EVT_OLR_US_EventGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** SRA Event */
-   DSL_uint16_t SRA_OK : 1;
-   /** SOS Event (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SOS Event (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-   /** SRA Event */
-   DSL_uint16_t SRA_OK : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Autonomous message indicating a successful downstream OLR event (SRA or SOS).
-*/
-struct EVT_OLR_DS_EventGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** SRA Event */
-   DSL_uint16_t SRA_OK : 1;
-   /** SOS Event (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SOS Event (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-   /** SRA Event */
-   DSL_uint16_t SRA_OK : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables the generation of EVENT messages (EVT) for specific upstream
-   OLR events. If the corresponding Enable bit for an OLR event is set, then the
-   modem firmware will send an autonomous message EVT_OLR_US_EventGet if the OLR
-   event happened in the last 1-second interval.
-*/
-struct CMD_OLR_US_EventConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** SRA Event US, Bit 1 */
-   DSL_uint16_t SRA_OK : 1;
-   /** SOS Event US , Bit 0 (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SOS Event US , Bit 0 (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-   /** SRA Event US, Bit 1 */
-   DSL_uint16_t SRA_OK : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknoledgement for CMD_OLR_US_EventConfigure.
-*/
-struct ACK_OLR_US_EventConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables the generation of EVENT messages (EVT) for specific
-   downstream OLR events. If the corresponding Enable bit for an OLR event is
-   set, then the modem firmware will send an autonomous message
-   EVT_OLR_DS_EventGet if the OLR event happened in the last 1-second interval.
-*/
-struct CMD_OLR_DS_EventConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** SRA Event DS, Bit 1 */
-   DSL_uint16_t SRA_OK : 1;
-   /** SOS Event DS , Bit 0 (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** SOS Event DS , Bit 0 (VDSL only) */
-   DSL_uint16_t SOS_OK : 1;
-   /** SRA Event DS, Bit 1 */
-   DSL_uint16_t SRA_OK : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknoledgement for CMD_OLR_DS_EventConfigure.
-*/
-struct ACK_OLR_DS_EventConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configures a link for retransmission of downstream data. For using the RTX
-   function, this message has to be sent.
-*/
-struct CMD_RTX_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** Extended Memory for Enhanced Bit Rates (Anx D support, VDSL only) */
-   DSL_uint16_t ExtMem : 1;
-   /** Force Extended Memory for Enhanced Bit Rates (VDSL only) */
-   DSL_uint16_t ExtMemForced : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** Intra DTU Interleaving US */
-   DSL_uint16_t DtuInterleavingUs : 1;
-   /** Intra DTU Interleaving DS */
-   DSL_uint16_t DtuInterleavingDs : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Retransmission Control */
-   DSL_uint16_t RtxMode : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Retransmission Control */
-   DSL_uint16_t RtxMode : 2;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Intra DTU Interleaving DS */
-   DSL_uint16_t DtuInterleavingDs : 1;
-   /** Intra DTU Interleaving US */
-   DSL_uint16_t DtuInterleavingUs : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** Force Extended Memory for Enhanced Bit Rates (VDSL only) */
-   DSL_uint16_t ExtMemForced : 1;
-   /** Extended Memory for Enhanced Bit Rates (Anx D support, VDSL only) */
-   DSL_uint16_t ExtMem : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_RTX_Control.
-*/
-struct ACK_RTX_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests RTX specific status information for the downstream bearer channels
-   if G.INP retransmission is used.
-*/
-struct CMD_RTX_BearerChsDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers status information for the downstream bearer channels when G.INP
-   retransmission is actually used.
-*/
-struct ACK_RTX_BearerChsDS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Expected Throughput ETR of RTX Function, LSW */
-   DSL_uint16_t ETR_LSW;
-   /** Expected Throughput ETR of RTX Function, MSW */
-   DSL_uint16_t ETR_MSW;
-   /** Actual Delay of RTX Function */
-   DSL_uint16_t ActDelay;
-   /** Actual INP SHINE of RTX Function */
-   DSL_uint16_t ActInpSHINE;
-   /** Actual INP REIN of RTX Function */
-   DSL_uint16_t ActInpREIN;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Expected Throughput ETR of RTX Function, LSW */
-   DSL_uint16_t ETR_LSW;
-   /** Expected Throughput ETR of RTX Function, MSW */
-   DSL_uint16_t ETR_MSW;
-   /** Actual Delay of RTX Function */
-   DSL_uint16_t ActDelay;
-   /** Actual INP SHINE of RTX Function */
-   DSL_uint16_t ActInpSHINE;
-   /** Actual INP REIN of RTX Function */
-   DSL_uint16_t ActInpREIN;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests RTX specific status information for the upstream bearer channels if
-   upstream G.INP retransmission is used.
-*/
-struct CMD_RTX_BearerChsUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers status information for the upstream bearer channels when upstream
-   G.INP retransmission is used.
-*/
-struct ACK_RTX_BearerChsUS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Expected Throughput ETR of RTX_us Function, LSW */
-   DSL_uint16_t ETR_LSW;
-   /** Expected Throughput ETR of RTX_us Function, MSW */
-   DSL_uint16_t ETR_MSW;
-   /** Actual Delay of RTX_us Function */
-   DSL_uint16_t ActDelay;
-   /** Actual INP SHINE of RTX_us Function */
-   DSL_uint16_t ActInpSHINE;
-   /** Actual INP REIN of RTX_us Function */
-   DSL_uint16_t ActInpREIN;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Expected Throughput ETR of RTX_us Function, LSW */
-   DSL_uint16_t ETR_LSW;
-   /** Expected Throughput ETR of RTX_us Function, MSW */
-   DSL_uint16_t ETR_MSW;
-   /** Actual Delay of RTX_us Function */
-   DSL_uint16_t ActDelay;
-   /** Actual INP SHINE of RTX_us Function */
-   DSL_uint16_t ActInpSHINE;
-   /** Actual INP REIN of RTX_us Function */
-   DSL_uint16_t ActInpREIN;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests performance monitoring counters for downstream G.INP retransmission.
-*/
-struct CMD_RTX_PM_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers performance monitoring counters for downstream G.INP retransmission.
-*/
-struct ACK_RTX_PM_DS_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ErrorFreeBitsCNT, LSW */
-   DSL_uint16_t ErrorFreeBits_LSW;
-   /** ErrorFreeBitsCNT, MSW */
-   DSL_uint16_t ErrorFreeBits_MSW;
-   /** Reserved */
-   DSL_uint16_t Res0[2];
-   /** EFTR_min reported to CO, LSW */
-   DSL_uint16_t EFTR_min_LSW;
-   /** EFTR_min reported to CO, MSW */
-   DSL_uint16_t EFTR_min_MSW;
-   /** Reserved */
-   DSL_uint16_t Res1[2];
-   /** "leftr" Count, LSW */
-   DSL_uint16_t leftr_LSW;
-   /** "leftr" Count, MSW */
-   DSL_uint16_t leftr_MSW;
-   /** EFTR, LSW */
-   DSL_uint16_t EFTR_LSW;
-   /** EFTR, MSW */
-   DSL_uint16_t EFTR_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ErrorFreeBitsCNT, LSW */
-   DSL_uint16_t ErrorFreeBits_LSW;
-   /** ErrorFreeBitsCNT, MSW */
-   DSL_uint16_t ErrorFreeBits_MSW;
-   /** Reserved */
-   DSL_uint16_t Res0[2];
-   /** EFTR_min reported to CO, LSW */
-   DSL_uint16_t EFTR_min_LSW;
-   /** EFTR_min reported to CO, MSW */
-   DSL_uint16_t EFTR_min_MSW;
-   /** Reserved */
-   DSL_uint16_t Res1[2];
-   /** "leftr" Count, LSW */
-   DSL_uint16_t leftr_LSW;
-   /** "leftr" Count, MSW */
-   DSL_uint16_t leftr_MSW;
-   /** EFTR, LSW */
-   DSL_uint16_t EFTR_LSW;
-   /** EFTR, MSW */
-   DSL_uint16_t EFTR_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests performance monitoring counters for upstream G.INP retransmission.
-*/
-struct CMD_RTX_PM_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers performance monitoring counters for upstream G.INP retransmission.
-   They are all far-end parameters received from CO.
-*/
-struct ACK_RTX_PM_US_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ErrorFreeBitsCNT, LSW */
-   DSL_uint16_t ErrorFreeBits_LSW;
-   /** ErrorFreeBitsCNT, MSW */
-   DSL_uint16_t ErrorFreeBits_MSW;
-   /** EFTR_min, LSW */
-   DSL_uint16_t EFTR_min_LSW;
-   /** EFTR_min, MSW */
-   DSL_uint16_t EFTR_min_MSW;
-   /** "leftr" Count, LSW */
-   DSL_uint16_t leftr_LSW;
-   /** "leftr" Count, MSW */
-   DSL_uint16_t leftr_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ErrorFreeBitsCNT, LSW */
-   DSL_uint16_t ErrorFreeBits_LSW;
-   /** ErrorFreeBitsCNT, MSW */
-   DSL_uint16_t ErrorFreeBits_MSW;
-   /** EFTR_min, LSW */
-   DSL_uint16_t EFTR_min_LSW;
-   /** EFTR_min, MSW */
-   DSL_uint16_t EFTR_min_MSW;
-   /** "leftr" Count, LSW */
-   DSL_uint16_t leftr_LSW;
-   /** "leftr" Count, MSW */
-   DSL_uint16_t leftr_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests DTU counters for G.INP downstream retransmission.
-*/
-struct CMD_RTX_DS_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers DTU counters for G.INP downstream retransmission. The counters are
-   Non-TR1 wrap-around counters, which are reset at reboot only.
-*/
-struct ACK_RTX_DS_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TxDtuRetransmitted Count (rtx-tx), LSW */
-   DSL_uint16_t TxDtuRTX_LSW;
-   /** TxDtuRetransmitted Count (rtx-tx), MSW */
-   DSL_uint16_t TxDtuRTX_MSW;
-   /** RxDtuCorrected Count (rtx-c), LSW */
-   DSL_uint16_t RxDtuCorr_LSW;
-   /** RxDtuCorrected Count (rtx-c), MSW */
-   DSL_uint16_t RxDtuCorr_MSW;
-   /** RxDtuUncorrected Count (rtx-uc), LSW */
-   DSL_uint16_t RxDtuNoCorr_LSW;
-   /** RxDtuUncorrected Count (rtx-uc), MSW */
-   DSL_uint16_t RxDtuNoCorr_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TxDtuRetransmitted Count (rtx-tx), LSW */
-   DSL_uint16_t TxDtuRTX_LSW;
-   /** TxDtuRetransmitted Count (rtx-tx), MSW */
-   DSL_uint16_t TxDtuRTX_MSW;
-   /** RxDtuCorrected Count (rtx-c), LSW */
-   DSL_uint16_t RxDtuCorr_LSW;
-   /** RxDtuCorrected Count (rtx-c), MSW */
-   DSL_uint16_t RxDtuCorr_MSW;
-   /** RxDtuUncorrected Count (rtx-uc), LSW */
-   DSL_uint16_t RxDtuNoCorr_LSW;
-   /** RxDtuUncorrected Count (rtx-uc), MSW */
-   DSL_uint16_t RxDtuNoCorr_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests DTU counters for G.INP upstream retransmission, which is defined for
-   VDSL only.
-*/
-struct CMD_RTX_US_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers DTU counters for G.INP upstream retransmission. The counters are
-   Non-TR1 wrap-around counters, which are reset at reboot only.
-*/
-struct ACK_RTX_US_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TxDtuRetransmitted Count (rtx-tx), LSW */
-   DSL_uint16_t TxDtuRTX_LSW;
-   /** TxDtuRetransmitted Count (rtx-tx), MSW */
-   DSL_uint16_t TxDtuRTX_MSW;
-   /** RxDtuCorrected Count (rtx-c), LSW */
-   DSL_uint16_t RxDtuCorr_LSW;
-   /** RxDtuCorrected Count rtx-c), MSW */
-   DSL_uint16_t RxDtuCorr_MSW;
-   /** RxDtuUncorrected Count (rtx-uc), LSW */
-   DSL_uint16_t RxDtuNoCorr_LSW;
-   /** RxDtuUncorrected Count (rtx-uc), MSW */
-   DSL_uint16_t RxDtuNoCorr_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TxDtuRetransmitted Count (rtx-tx), LSW */
-   DSL_uint16_t TxDtuRTX_LSW;
-   /** TxDtuRetransmitted Count (rtx-tx), MSW */
-   DSL_uint16_t TxDtuRTX_MSW;
-   /** RxDtuCorrected Count (rtx-c), LSW */
-   DSL_uint16_t RxDtuCorr_LSW;
-   /** RxDtuCorrected Count rtx-c), MSW */
-   DSL_uint16_t RxDtuCorr_MSW;
-   /** RxDtuUncorrected Count (rtx-uc), LSW */
-   DSL_uint16_t RxDtuNoCorr_LSW;
-   /** RxDtuUncorrected Count (rtx-uc), MSW */
-   DSL_uint16_t RxDtuNoCorr_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the actually used G.INP retransmission status.
-*/
-struct CMD_RTX_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the actually used G.INP retransmission status.
-*/
-struct ACK_RTX_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-   /** RTX US disabled against Intel(c) VDSL Chipset  due to wrong Config.  */
-   DSL_uint16_t RtxUsOffCfgErr : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** Intra DTU Interleaving US */
-   DSL_uint16_t DtuInterleavingUs : 1;
-   /** Intra DTU Interleaving DS */
-   DSL_uint16_t DtuInterleavingDs : 1;
-   /** Extended Memory */
-   DSL_uint16_t ExtMem : 1;
-   /** Retransmission US Used ("RTX_USED_us", VDSL only) */
-   DSL_uint16_t RtxUsedUs : 1;
-   /** Retransmission DS Used ("RTX_USED_ds") */
-   DSL_uint16_t RtxUsedDs : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Retransmission DS Used ("RTX_USED_ds") */
-   DSL_uint16_t RtxUsedDs : 1;
-   /** Retransmission US Used ("RTX_USED_us", VDSL only) */
-   DSL_uint16_t RtxUsedUs : 1;
-   /** Extended Memory */
-   DSL_uint16_t ExtMem : 1;
-   /** Intra DTU Interleaving DS */
-   DSL_uint16_t DtuInterleavingDs : 1;
-   /** Intra DTU Interleaving US */
-   DSL_uint16_t DtuInterleavingUs : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 3;
-   /** RTX US disabled against Intel(c) VDSL Chipset  due to wrong Config.  */
-   DSL_uint16_t RtxUsOffCfgErr : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 7;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests upstream G.INP retransmission specific framing parameters and other
-   status parameters. They are always associated with bearer channel 0.
-*/
-struct CMD_RTX_US_FrameDataGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers upstream retransmission specific framing parameters and other status
-   parameters, as requested by CMD_RTX_US_FrameDataGet. They are always
-   associated with bearer channel 0.In addition, the usual framing parameters
-   are to be retrieved with CMD_FrameDataExt2US_Get.
-*/
-struct ACK_RTX_US_FrameDataGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Framing Type of LP1 RTX_us Framing */
-   DSL_uint16_t FT;
-   /** FEC Codewords per DTU of LP1 RTX_us Framing */
-   DSL_uint16_t Q;
-   /** Padding Bytes per DTU of LP1 RTX_usFraming */
-   DSL_uint16_t V;
-   /** RTX Queue Length in DTUs of RTX_us Function */
-   DSL_uint16_t Qtx;
-   /** Look-Back Value for RRC Codeword Evaluation of RTX_us Function */
-   DSL_uint16_t lb;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Framing Type of LP1 RTX_us Framing */
-   DSL_uint16_t FT;
-   /** FEC Codewords per DTU of LP1 RTX_us Framing */
-   DSL_uint16_t Q;
-   /** Padding Bytes per DTU of LP1 RTX_usFraming */
-   DSL_uint16_t V;
-   /** RTX Queue Length in DTUs of RTX_us Function */
-   DSL_uint16_t Qtx;
-   /** Look-Back Value for RRC Codeword Evaluation of RTX_us Function */
-   DSL_uint16_t lb;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the G.INP upstream retransmission measured roundtrip.
-*/
-struct CMD_RTX_US_Roundtrip_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the G.INP upstream retransmission measured roundtrip delay. For
-   measuring the roundtrip, following difference is built when a correct RRC
-   codeword has been received: AbsoluteDTUCount of transmitter for next possible
-   DTU transmission minus AbsoluteDTUCount as received in RRC codeword.
-*/
-struct ACK_RTX_US_Roundtrip_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Minimum Measured Roundtrip in DTUs */
-   DSL_uint16_t MinRt;
-   /** Maximum Measured Roundtrip in DTUs */
-   DSL_uint16_t MaxRt;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Minimum Measured Roundtrip in DTUs */
-   DSL_uint16_t MinRt;
-   /** Maximum Measured Roundtrip in DTUs */
-   DSL_uint16_t MaxRt;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables support for full vectoring (G.993.5) and full vector-
-   friendly operation (G.993.2 Annex Y). In case of ADSL, this only means the
-   indication of the (VDSL) vectoring capabilities during G.Handshake.
-*/
-struct CMD_DSM_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-   /** Supported Vectoring Mode */
-   DSL_uint16_t VectoringMode : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Supported Vectoring Mode */
-   DSL_uint16_t VectoringMode : 2;
-   /** Reserved */
-   DSL_uint16_t Res0 : 14;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_DSM_Control.
-*/
-struct ACK_DSM_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This autononmous message indicates that new downstream DSM error vector data
-   were written by the DSL FW into the SDRAM. Generation of this EVT message is
-   enabled/disabled together with the G.993.5 vectoring functionality itself, by
-   means of CMD_DSM_Control, parameter "Vector".
-*/
-struct EVT_DSM_ErrorVectorReady
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ERB Event Result Code */
-   DSL_uint16_t ErrVecProcResult;
-   /** L2 Backchannel Error Vector Date Size */
-   DSL_uint16_t ErrVecSize;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** ERB Event Result Code */
-   DSL_uint16_t ErrVecProcResult;
-   /** L2 Backchannel Error Vector Date Size */
-   DSL_uint16_t ErrVecSize;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests vectoring debug counter values.
-*/
-struct CMD_DSM_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers vectoring debug counters.
-*/
-struct ACK_DSM_StatsGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Discarded Error Vectors, LSW */
-   DSL_uint16_t ErrVecDiscard_LSW;
-   /** Discarded Error Vectors, MSW */
-   DSL_uint16_t ErrVecDiscard_MSW;
-   /** Transmitted Error Vectors, LSW */
-   DSL_uint16_t ErrVecTransmitted_LSW;
-   /** Transmitted Error Vectors, MSW */
-   DSL_uint16_t ErrVecTransmitted_MSW;
-   /** Total Error Vectors, LSW */
-   DSL_uint16_t ErrVecTotal_LSW;
-   /** Total Error Vectors, MSW */
-   DSL_uint16_t ErrVecTotal_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Discarded Error Vectors, LSW */
-   DSL_uint16_t ErrVecDiscard_LSW;
-   /** Discarded Error Vectors, MSW */
-   DSL_uint16_t ErrVecDiscard_MSW;
-   /** Transmitted Error Vectors, LSW */
-   DSL_uint16_t ErrVecTransmitted_LSW;
-   /** Transmitted Error Vectors, MSW */
-   DSL_uint16_t ErrVecTransmitted_MSW;
-   /** Total Error Vectors, LSW */
-   DSL_uint16_t ErrVecTotal_LSW;
-   /** Total Error Vectors, MSW */
-   DSL_uint16_t ErrVecTotal_MSW;
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_OLR_H_*/
diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_perf_pmd.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_perf_pmd.h
deleted file mode 100644
index 86fbd2d..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_perf_pmd.h
+++ /dev/null
@@ -1,1674 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_PERF_PMD_H_
-#define _DRV_DSL_CPE_VRX_MSG_PERF_PMD_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _PERF_PMD_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Message Specific Constants Definition section ----- */
-/* ----- Message Specific Constants Definition section (End) ----- */
-
-/** Message ID for CMD_CounterControlSet */
-#define CMD_COUNTERCONTROLSET 0x004A
-
-/**
-   Controls the behaviour of the performance counters.
-*/
-typedef struct CMD_CounterControlSet CMD_CounterControlSet_t;
-
-/** Message ID for ACK_CounterControlSet */
-#define ACK_COUNTERCONTROLSET 0x004A
-
-/**
-   Acknowledgement for message CMD_CounterControlSet.
-*/
-typedef struct ACK_CounterControlSet ACK_CounterControlSet_t;
-
-/** Message ID for CMD_PM_OptionsSet */
-#define CMD_PM_OPTIONSSET 0x1662
-
-/**
-   Configures options for performance monitoring functions.
-*/
-typedef struct CMD_PM_OptionsSet CMD_PM_OptionsSet_t;
-
-/** Message ID for ACK_PM_OptionsSet */
-#define ACK_PM_OPTIONSSET 0x1662
-
-/**
-   Acknowledgement for message ACK_PM_OptionsSet.
-*/
-typedef struct ACK_PM_OptionsSet ACK_PM_OptionsSet_t;
-
-/** Message ID for ALM_LineFailureNE_Get */
-#define ALM_LINEFAILURENE_GET 0x0007
-
-/**
-   This autonomous message indicates near-end line failures.
-*/
-typedef struct ALM_LineFailureNE_Get ALM_LineFailureNE_Get_t;
-
-/** Message ID for CMD_LineFailureNE_Get */
-#define CMD_LINEFAILURENE_GET 0x0007
-
-/**
-   Requests the near-end line failure status.
-*/
-typedef struct CMD_LineFailureNE_Get CMD_LineFailureNE_Get_t;
-
-/** Message ID for ACK_LineFailureNE_Get */
-#define ACK_LINEFAILURENE_GET 0x0007
-
-/**
-   Provides the near-end line failure status requested by the command
-   CMD_LineFailureNE_Get.
-*/
-typedef struct ACK_LineFailureNE_Get ACK_LineFailureNE_Get_t;
-
-/** Message ID for ALM_LineFailureFE_Get */
-#define ALM_LINEFAILUREFE_GET 0x0107
-
-/**
-   This autonomous message indicates far-end line failures.
-*/
-typedef struct ALM_LineFailureFE_Get ALM_LineFailureFE_Get_t;
-
-/** Message ID for CMD_LineFailureFE_Get */
-#define CMD_LINEFAILUREFE_GET 0x0107
-
-/**
-   Requests the far-end line failure status.
-*/
-typedef struct CMD_LineFailureFE_Get CMD_LineFailureFE_Get_t;
-
-/** Message ID for ACK_LineFailureFE_Get */
-#define ACK_LINEFAILUREFE_GET 0x0107
-
-/**
-   Provides the far-end line failure status requested by the command
-   CMD_LineFailureFE_Get.
-*/
-typedef struct ACK_LineFailureFE_Get ACK_LineFailureFE_Get_t;
-
-/** Message ID for CMD_Failure_Trigger */
-#define CMD_FAILURE_TRIGGER 0x0562
-
-/**
-   Host initiated "loss of power". Triggers indicating an lpr primitive to the
-   remote side via the indicator bits ("IB bits").The host writes the message to
-   the FW e.g. after detecting LPR by an alternative detection scheme.
-*/
-typedef struct CMD_Failure_Trigger CMD_Failure_Trigger_t;
-
-/** Message ID for ACK_Failure_Trigger */
-#define ACK_FAILURE_TRIGGER 0x0562
-
-/**
-   Acknowledgement for CMD_Failure_Trigger.
-*/
-typedef struct ACK_Failure_Trigger ACK_Failure_Trigger_t;
-
-/** Message ID for CMD_LinePerfCountNE_Get */
-#define CMD_LINEPERFCOUNTNE_GET 0x020A
-
-/**
-   Requests near-end line performance counter values (Section 7.2.1.1 of
-   G.997.1). These are wrap-around counters which are not affected by the
-   TR1-period.
-*/
-typedef struct CMD_LinePerfCountNE_Get CMD_LinePerfCountNE_Get_t;
-
-/** Message ID for ACK_LinePerfCountNE_Get */
-#define ACK_LINEPERFCOUNTNE_GET 0x020A
-
-/**
-   Provides near-end line performance counter values requested by
-   CMD_LinePerfCountNE_Get (Section 7.2.1.1 of G.997.1). These are wrap-around
-   counters which are not affected by the TR1-period.
-*/
-typedef struct ACK_LinePerfCountNE_Get ACK_LinePerfCountNE_Get_t;
-
-/** Message ID for CMD_LinePerfCountFE_Get */
-#define CMD_LINEPERFCOUNTFE_GET 0x040A
-
-/**
-   Requests far-end line performance counter values (Section 7.2.1.2 of
-   G.997.1). These are wrap-around counters which are not affected by the
-   TR1-period.
-*/
-typedef struct CMD_LinePerfCountFE_Get CMD_LinePerfCountFE_Get_t;
-
-/** Message ID for ACK_LinePerfCountFE_Get */
-#define ACK_LINEPERFCOUNTFE_GET 0x040A
-
-/**
-   Provides far-end line performance counter values requested by
-   CMD_LinePerfCountFE_Get (Section 7.2.1.2 of G.997.1). These are wrap-around
-   counters which are not affected by the TR1-period.
-*/
-typedef struct ACK_LinePerfCountFE_Get ACK_LinePerfCountFE_Get_t;
-
-/** Message ID for CMD_CRC_StatsNE_Get */
-#define CMD_CRC_STATSNE_GET 0x080A
-
-/**
-   Requests near-end CRC counter values. These are wrap-around counters which
-   are not affected by the TR1-period.
-*/
-typedef struct CMD_CRC_StatsNE_Get CMD_CRC_StatsNE_Get_t;
-
-/** Message ID for ACK_CRC_StatsNE_Get */
-#define ACK_CRC_STATSNE_GET 0x080A
-
-/**
-   Returns near-end CRC counter values. (Section 7.2.2.1.1 of G.997.1). These
-   are wrap-around counters which are not affected by the TR1-period.The
-   "LP1/Fast Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with
-   selected fast path.
-*/
-typedef struct ACK_CRC_StatsNE_Get ACK_CRC_StatsNE_Get_t;
-
-/** Message ID for CMD_CRC_StatsFE_Get */
-#define CMD_CRC_STATSFE_GET 0x0C0A
-
-/**
-   Requests far-end CRC counter values. These are wrap-around counters which are
-   not affected by the TR1-period.
-*/
-typedef struct CMD_CRC_StatsFE_Get CMD_CRC_StatsFE_Get_t;
-
-/** Message ID for ACK_CRC_StatsFE_Get */
-#define ACK_CRC_STATSFE_GET 0x0C0A
-
-/**
-   Returns far-end CRC counter values. (Section 7.2.2.2.1 of G.997.1). These are
-   wrap-around counters which are not affected by the TR1-period.The "LP1/Fast
-   Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with selected fast
-   path.
-*/
-typedef struct ACK_CRC_StatsFE_Get ACK_CRC_StatsFE_Get_t;
-
-/** Message ID for CMD_FEC_StatsNE_Get */
-#define CMD_FEC_STATSNE_GET 0x0A0A
-
-/**
-   Requests near-end FEC counter values. These are wrap-around counters which
-   are not affected by the TR1-period.
-*/
-typedef struct CMD_FEC_StatsNE_Get CMD_FEC_StatsNE_Get_t;
-
-/** Message ID for ACK_FEC_StatsNE_Get */
-#define ACK_FEC_STATSNE_GET 0x0A0A
-
-/**
-   Returns near-end FEC counter values (Section 7.2.2.1.2 of G.997.1). These are
-   wrap-around counters which are not affected by the TR1-period.The "LP1/Fast
-   Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with selected fast
-   path.
-*/
-typedef struct ACK_FEC_StatsNE_Get ACK_FEC_StatsNE_Get_t;
-
-/** Message ID for CMD_FEC_StatsFE_Get */
-#define CMD_FEC_STATSFE_GET 0x0E0A
-
-/**
-   Requests far-end FEC counter values. These are wrap-around counters which are
-   not affected by the TR1-period.
-*/
-typedef struct CMD_FEC_StatsFE_Get CMD_FEC_StatsFE_Get_t;
-
-/** Message ID for ACK_FEC_StatsFE_Get */
-#define ACK_FEC_STATSFE_GET 0x0E0A
-
-/**
-   Returns far-end FEC counter values (Section 7.2.2.2.2 of G.997.1). These are
-   wrap-around counters which are not affected by the TR1-period.The "LP1/Fast
-   Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with selected fast
-   path.
-*/
-typedef struct ACK_FEC_StatsFE_Get ACK_FEC_StatsFE_Get_t;
-
-/** Message ID for CMD_SOS_StatsNE_Get */
-#define CMD_SOS_STATSNE_GET 0x290A
-
-/**
-   Requests the near-end 15 minutes SOS counter values.
-*/
-typedef struct CMD_SOS_StatsNE_Get CMD_SOS_StatsNE_Get_t;
-
-/** Message ID for ACK_SOS_StatsNE_Get */
-#define ACK_SOS_STATSNE_GET 0x290A
-
-/**
-   Returns near-end SOS counter values. (Section 7.2.1.6.1 of G.997.1)
-*/
-typedef struct ACK_SOS_StatsNE_Get ACK_SOS_StatsNE_Get_t;
-
-/** Message ID for CMD_SOS_StatsFE_Get */
-#define CMD_SOS_STATSFE_GET 0x2A0A
-
-/**
-   Requests the far-end 15 minutes SOS counter values. These are wrap-around
-   counters which are not affected by the TR1-period.
-*/
-typedef struct CMD_SOS_StatsFE_Get CMD_SOS_StatsFE_Get_t;
-
-/** Message ID for ACK_SOS_StatsFE_Get */
-#define ACK_SOS_STATSFE_GET 0x2A0A
-
-/**
-   Returns far-end SOS counter values. (Section 7.2.1.7.1 of G.997.1)
-*/
-typedef struct ACK_SOS_StatsFE_Get ACK_SOS_StatsFE_Get_t;
-
-/** Message ID for CMD_LinePerfCountNE_Set */
-#define CMD_LINEPERFCOUNTNE_SET 0x024A
-
-/**
-   Writes near-end line performance counter values (total wrap-around)(Section
-   7.2.1.1 of G.997.1).
-*/
-typedef struct CMD_LinePerfCountNE_Set CMD_LinePerfCountNE_Set_t;
-
-/** Message ID for ACK_LinePerfCountNE_Set */
-#define ACK_LINEPERFCOUNTNE_SET 0x024A
-
-/**
-   Acknowledgement for CMD_LinePerfCountNE_Set.
-*/
-typedef struct ACK_LinePerfCountNE_Set ACK_LinePerfCountNE_Set_t;
-
-/** Message ID for CMD_CRC_StatsNE_Set */
-#define CMD_CRC_STATSNE_SET 0x084A
-
-/**
-   Writes the near-end CRC counter values (Section 7.2.2.1.1 of G.997.1)The
-   "LP1/Fast Path" parameters are used only in ADSL1 and ADSL1 Lite mode with
-   selected "Fast Path".
-*/
-typedef struct CMD_CRC_StatsNE_Set CMD_CRC_StatsNE_Set_t;
-
-/** Message ID for ACK_CRC_StatsNE_Set */
-#define ACK_CRC_STATSNE_SET 0x084A
-
-/**
-   Acknowledgement for the message CMD_CRC_StatsNE_Set.
-*/
-typedef struct ACK_CRC_StatsNE_Set ACK_CRC_StatsNE_Set_t;
-
-/** Message ID for CMD_FEC_StatsNE_Set */
-#define CMD_FEC_STATSNE_SET 0x0A4A
-
-/**
-   Writes near-end FEC counter values. (Section 7.2.2.1.2 of G.997.1)The
-   "LP1/Fast Path" parameters are used only in ADSL1 and ADSL1 Lite mode with
-   selected "Fast Path".
-*/
-typedef struct CMD_FEC_StatsNE_Set CMD_FEC_StatsNE_Set_t;
-
-/** Message ID for ACK_FEC_StatsNE_Set */
-#define ACK_FEC_STATSNE_SET 0x0A4A
-
-/**
-   Acknowledgement for the message CMD_FEC_StatsNE_Set.
-*/
-typedef struct ACK_FEC_StatsNE_Set ACK_FEC_StatsNE_Set_t;
-
-/** Message ID for  CMD_SOS_StatsNE_Set */
-#define  CMD_SOS_STATSNE_SET 0x294A
-
-/**
-   Writes near-end SOS counter values. ("SOS-SUCCESS-NE", Section 7.2.1.6.1 of
-   G.997.1).
-*/
-typedef struct  CMD_SOS_StatsNE_Set CMD_SOS_StatsNE_Set_t;
-
-/** Message ID for  ACK_SOS_StatsNE_Set */
-#define  ACK_SOS_STATSNE_SET 0x294A
-
-/**
-   Acknowledgement for CMD_SOS_StatsNE_Set.
-*/
-typedef struct  ACK_SOS_StatsNE_Set ACK_SOS_StatsNE_Set_t;
-
-/** Message ID for CMD_TimeSet */
-#define CMD_TIMESET 0x6143
-
-/**
-   Sets the running time since midnightModifying the Time does not affect the
-   TR1 supervision period and the TR1-counters.
-*/
-typedef struct CMD_TimeSet CMD_TimeSet_t;
-
-/** Message ID for ACK_TimeSet */
-#define ACK_TIMESET 0x6143
-
-/**
-   Acknowledgement for message CMD_TimeSet.
-*/
-typedef struct ACK_TimeSet ACK_TimeSet_t;
-
-/** Message ID for CMD_TimeGet */
-#define CMD_TIMEGET 0x6103
-
-/**
-   Requests the status of the "Set Time and Read Time" EOC messages.
-*/
-typedef struct CMD_TimeGet CMD_TimeGet_t;
-
-/** Message ID for ACK_TimeGet */
-#define ACK_TIMEGET 0x6103
-
-/**
-   Provides the status of the "Set Time and Read Time" EOC messages.
-*/
-typedef struct ACK_TimeGet ACK_TimeGet_t;
-
-/**
-   Controls the behaviour of the performance counters.
-*/
-struct CMD_CounterControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-   /** Counter Inhibiting Enable */
-   DSL_uint16_t CntInhibitEnable : 1;
-   /** Fixed value: VRX_DISABLE */
-   DSL_uint16_t Res1 : 2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Fixed value: VRX_DISABLE */
-   DSL_uint16_t Res1 : 2;
-   /** Counter Inhibiting Enable */
-   DSL_uint16_t CntInhibitEnable : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 13;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_CounterControlSet.
-*/
-struct ACK_CounterControlSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Configures options for performance monitoring functions.
-*/
-struct CMD_PM_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** Supress CRC/FEC Counter-Writeback (ADSL only) */
-   DSL_uint16_t CrcFecWrProtect : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Supress CRC/FEC Counter-Writeback (ADSL only) */
-   DSL_uint16_t CrcFecWrProtect : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message ACK_PM_OptionsSet.
-*/
-struct ACK_PM_OptionsSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This autonomous message indicates near-end line failures.
-*/
-struct ALM_LineFailureNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** ESE Failure NE */
-   DSL_uint16_t ESE_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** LOM Failure NE */
-   DSL_uint16_t LOM_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** LOF Failure NE */
-   DSL_uint16_t LOF_NE : 1;
-   /** LOS Failure NE */
-   DSL_uint16_t LOS_NE : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** LOS Failure NE */
-   DSL_uint16_t LOS_NE : 1;
-   /** LOF Failure NE */
-   DSL_uint16_t LOF_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** LOM Failure NE */
-   DSL_uint16_t LOM_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** ESE Failure NE */
-   DSL_uint16_t ESE_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the near-end line failure status.
-*/
-struct CMD_LineFailureNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the near-end line failure status requested by the command
-   CMD_LineFailureNE_Get.
-*/
-struct ACK_LineFailureNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** ESE Failure NE */
-   DSL_uint16_t ESE_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** LOM Failure NE */
-   DSL_uint16_t LOM_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** LOF Failure NE */
-   DSL_uint16_t LOF_NE : 1;
-   /** LOS Failure NE */
-   DSL_uint16_t LOS_NE : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** LOS Failure NE */
-   DSL_uint16_t LOS_NE : 1;
-   /** LOF Failure NE */
-   DSL_uint16_t LOF_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** LOM Failure NE */
-   DSL_uint16_t LOM_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** ESE Failure NE */
-   DSL_uint16_t ESE_NE : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This autonomous message indicates far-end line failures.
-*/
-struct ALM_LineFailureFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** ESE Failure FE */
-   DSL_uint16_t ESE_FE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** LOM Failure FE */
-   DSL_uint16_t LOM_FE : 1;
-   /** LPR Failure FE */
-   DSL_uint16_t LPR_FE : 1;
-   /** LOF Failure FE */
-   DSL_uint16_t LOF_FE : 1;
-   /** LOS Failure FE */
-   DSL_uint16_t LOS_FE : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** LOS Failure FE */
-   DSL_uint16_t LOS_FE : 1;
-   /** LOF Failure FE */
-   DSL_uint16_t LOF_FE : 1;
-   /** LPR Failure FE */
-   DSL_uint16_t LPR_FE : 1;
-   /** LOM Failure FE */
-   DSL_uint16_t LOM_FE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** ESE Failure FE */
-   DSL_uint16_t ESE_FE : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the far-end line failure status.
-*/
-struct CMD_LineFailureFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the far-end line failure status requested by the command
-   CMD_LineFailureFE_Get.
-*/
-struct ACK_LineFailureFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-   /** ESE Failure FE */
-   DSL_uint16_t ESE_FE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** LOM Failure FE */
-   DSL_uint16_t LOM_FE : 1;
-   /** LPR Failure FE */
-   DSL_uint16_t LPR_FE : 1;
-   /** LOF Failure FE */
-   DSL_uint16_t LOF_FE : 1;
-   /** LOS Failure FE */
-   DSL_uint16_t LOS_FE : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** LOS Failure FE */
-   DSL_uint16_t LOS_FE : 1;
-   /** LOF Failure FE */
-   DSL_uint16_t LOF_FE : 1;
-   /** LPR Failure FE */
-   DSL_uint16_t LPR_FE : 1;
-   /** LOM Failure FE */
-   DSL_uint16_t LOM_FE : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 9;
-   /** ESE Failure FE */
-   DSL_uint16_t ESE_FE : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Host initiated "loss of power". Triggers indicating an lpr primitive to the
-   remote side via the indicator bits ("IB bits").The host writes the message to
-   the FW e.g. after detecting LPR by an alternative detection scheme.
-*/
-struct CMD_Failure_Trigger
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** LPR Trigger */
-   DSL_uint16_t lpr_Trigger : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** LPR Trigger */
-   DSL_uint16_t lpr_Trigger : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_Failure_Trigger.
-*/
-struct ACK_Failure_Trigger
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests near-end line performance counter values (Section 7.2.1.1 of
-   G.997.1). These are wrap-around counters which are not affected by the
-   TR1-period.
-*/
-struct CMD_LinePerfCountNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides near-end line performance counter values requested by
-   CMD_LinePerfCountNE_Get (Section 7.2.1.1 of G.997.1). These are wrap-around
-   counters which are not affected by the TR1-period.
-*/
-struct ACK_LinePerfCountNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FECS Count, LSW */
-   DSL_uint16_t  cntFECS_LSW;
-   /** Near-End FECS Count, MSW */
-   DSL_uint16_t  cntFECS_MSW;
-   /** Near-End ES Count, LSW */
-   DSL_uint16_t  cntES_LSW;
-   /** Near-End ES Count, MSW */
-   DSL_uint16_t  cntES_MSW;
-   /** Near-End SES Count, LSW */
-   DSL_uint16_t  cntSES_LSW;
-   /** Near-End SES Count, MSW */
-   DSL_uint16_t  cntSES_MSW;
-   /** Near-End LOSS Count, LSW */
-   DSL_uint16_t  cntLOSS_LSW;
-   /** Near-End LOSS Count, MSW */
-   DSL_uint16_t  cntLOSS_MSW;
-   /** Near-End UAS Count, LSW */
-   DSL_uint16_t  cntUAS_LSW;
-   /** Near-End UAS Count, MSW */
-   DSL_uint16_t  cntUAS_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FECS Count, LSW */
-   DSL_uint16_t  cntFECS_LSW;
-   /** Near-End FECS Count, MSW */
-   DSL_uint16_t  cntFECS_MSW;
-   /** Near-End ES Count, LSW */
-   DSL_uint16_t  cntES_LSW;
-   /** Near-End ES Count, MSW */
-   DSL_uint16_t  cntES_MSW;
-   /** Near-End SES Count, LSW */
-   DSL_uint16_t  cntSES_LSW;
-   /** Near-End SES Count, MSW */
-   DSL_uint16_t  cntSES_MSW;
-   /** Near-End LOSS Count, LSW */
-   DSL_uint16_t  cntLOSS_LSW;
-   /** Near-End LOSS Count, MSW */
-   DSL_uint16_t  cntLOSS_MSW;
-   /** Near-End UAS Count, LSW */
-   DSL_uint16_t  cntUAS_LSW;
-   /** Near-End UAS Count, MSW */
-   DSL_uint16_t  cntUAS_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests far-end line performance counter values (Section 7.2.1.2 of
-   G.997.1). These are wrap-around counters which are not affected by the
-   TR1-period.
-*/
-struct CMD_LinePerfCountFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides far-end line performance counter values requested by
-   CMD_LinePerfCountFE_Get (Section 7.2.1.2 of G.997.1). These are wrap-around
-   counters which are not affected by the TR1-period.
-*/
-struct ACK_LinePerfCountFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End FECS Count, LSW */
-   DSL_uint16_t  cntFECS_LSW;
-   /** Far-End FECS Count, MSW */
-   DSL_uint16_t  cntFECS_MSW;
-   /** Far-End ES Count, LSW */
-   DSL_uint16_t  cntES_LSW;
-   /** Far-End ES Count, MSW */
-   DSL_uint16_t  cntES_MSW;
-   /** Far-End SES Count, LSW */
-   DSL_uint16_t  cntSES_LSW;
-   /** Far-End SES Count, MSW */
-   DSL_uint16_t  cntSES_MSW;
-   /** Far-End LOSS Count, LSW */
-   DSL_uint16_t  cntLOSS_LSW;
-   /** Far-End LOSS Count, MSW */
-   DSL_uint16_t  cntLOSS_MSW;
-   /** Near-End UAS Count, LSW */
-   DSL_uint16_t  cntUAS_LSW;
-   /** Near-End UAS Count, MSW */
-   DSL_uint16_t  cntUAS_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End FECS Count, LSW */
-   DSL_uint16_t  cntFECS_LSW;
-   /** Far-End FECS Count, MSW */
-   DSL_uint16_t  cntFECS_MSW;
-   /** Far-End ES Count, LSW */
-   DSL_uint16_t  cntES_LSW;
-   /** Far-End ES Count, MSW */
-   DSL_uint16_t  cntES_MSW;
-   /** Far-End SES Count, LSW */
-   DSL_uint16_t  cntSES_LSW;
-   /** Far-End SES Count, MSW */
-   DSL_uint16_t  cntSES_MSW;
-   /** Far-End LOSS Count, LSW */
-   DSL_uint16_t  cntLOSS_LSW;
-   /** Far-End LOSS Count, MSW */
-   DSL_uint16_t  cntLOSS_MSW;
-   /** Near-End UAS Count, LSW */
-   DSL_uint16_t  cntUAS_LSW;
-   /** Near-End UAS Count, MSW */
-   DSL_uint16_t  cntUAS_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests near-end CRC counter values. These are wrap-around counters which
-   are not affected by the TR1-period.
-*/
-struct CMD_CRC_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns near-end CRC counter values. (Section 7.2.2.1.1 of G.997.1). These
-   are wrap-around counters which are not affected by the TR1-period.The
-   "LP1/Fast Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with
-   selected fast path.
-*/
-struct ACK_CRC_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End CRC Count LP0, LSW */
-   DSL_uint16_t cntCVI_LSW;
-   /** Near-End CRC Count LP0, MSW */
-   DSL_uint16_t cntCVI_MSW;
-   /** Near-End CRC Count LP1, LSW */
-   DSL_uint16_t cntCVF_LSW;
-   /** Near-End CRC Count LP1, MSW */
-   DSL_uint16_t cntCVF_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End CRC Count LP0, LSW */
-   DSL_uint16_t cntCVI_LSW;
-   /** Near-End CRC Count LP0, MSW */
-   DSL_uint16_t cntCVI_MSW;
-   /** Near-End CRC Count LP1, LSW */
-   DSL_uint16_t cntCVF_LSW;
-   /** Near-End CRC Count LP1, MSW */
-   DSL_uint16_t cntCVF_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests far-end CRC counter values. These are wrap-around counters which are
-   not affected by the TR1-period.
-*/
-struct CMD_CRC_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns far-end CRC counter values. (Section 7.2.2.2.1 of G.997.1). These are
-   wrap-around counters which are not affected by the TR1-period.The "LP1/Fast
-   Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with selected fast
-   path.
-*/
-struct ACK_CRC_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End CRC Count LP0, LSW */
-   DSL_uint16_t cntCVI_LSW;
-   /** Far-End CRC Count LP0, MSW */
-   DSL_uint16_t cntCVI_MSW;
-   /** Far-End CRC Count LP1, LSW */
-   DSL_uint16_t cntCVF_LSW;
-   /** Far-End CRC Count LP1, MSW */
-   DSL_uint16_t cntCVF_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End CRC Count LP0, LSW */
-   DSL_uint16_t cntCVI_LSW;
-   /** Far-End CRC Count LP0, MSW */
-   DSL_uint16_t cntCVI_MSW;
-   /** Far-End CRC Count LP1, LSW */
-   DSL_uint16_t cntCVF_LSW;
-   /** Far-End CRC Count LP1, MSW */
-   DSL_uint16_t cntCVF_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests near-end FEC counter values. These are wrap-around counters which
-   are not affected by the TR1-period.
-*/
-struct CMD_FEC_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns near-end FEC counter values (Section 7.2.2.1.2 of G.997.1). These are
-   wrap-around counters which are not affected by the TR1-period.The "LP1/Fast
-   Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with selected fast
-   path.
-*/
-struct ACK_FEC_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FEC Count LP0, LSW */
-   DSL_uint16_t cntECI_LSW;
-   /** Near-End FEC Count LP0, MSW */
-   DSL_uint16_t cntECI_MSW;
-   /** Near-End FEC Count LP1, LSW */
-   DSL_uint16_t cntFEC_LSW;
-   /** Near-End FEC Count LP1, MSW */
-   DSL_uint16_t cntFEC_MSW;
-   /** Near-End FEC Uncorrectable Count LP0, LSW */
-   DSL_uint16_t cntECI_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP0, MSW */
-   DSL_uint16_t cntECI_NoCorrMSW;
-   /** Near-End FEC Uncorrectable Count LP1, LSW */
-   DSL_uint16_t cntECF_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP1, MSW */
-   DSL_uint16_t cntECF_NoCorrMSW;
-   /** Near-End Total RS CW Count LP0, LSW */
-   DSL_uint16_t cntECI_CW_LSW;
-   /** Near-End Total RS CW Count LP0, MSW */
-   DSL_uint16_t cntECI_CW_MSW;
-   /** Near-End Total RS CW Count LP1, LSW */
-   DSL_uint16_t cntECF_CW_LSW;
-   /** Near-End Total RS CW Count LP1, MSW */
-   DSL_uint16_t cntECF_CW_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FEC Count LP0, LSW */
-   DSL_uint16_t cntECI_LSW;
-   /** Near-End FEC Count LP0, MSW */
-   DSL_uint16_t cntECI_MSW;
-   /** Near-End FEC Count LP1, LSW */
-   DSL_uint16_t cntFEC_LSW;
-   /** Near-End FEC Count LP1, MSW */
-   DSL_uint16_t cntFEC_MSW;
-   /** Near-End FEC Uncorrectable Count LP0, LSW */
-   DSL_uint16_t cntECI_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP0, MSW */
-   DSL_uint16_t cntECI_NoCorrMSW;
-   /** Near-End FEC Uncorrectable Count LP1, LSW */
-   DSL_uint16_t cntECF_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP1, MSW */
-   DSL_uint16_t cntECF_NoCorrMSW;
-   /** Near-End Total RS CW Count LP0, LSW */
-   DSL_uint16_t cntECI_CW_LSW;
-   /** Near-End Total RS CW Count LP0, MSW */
-   DSL_uint16_t cntECI_CW_MSW;
-   /** Near-End Total RS CW Count LP1, LSW */
-   DSL_uint16_t cntECF_CW_LSW;
-   /** Near-End Total RS CW Count LP1, MSW */
-   DSL_uint16_t cntECF_CW_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests far-end FEC counter values. These are wrap-around counters which are
-   not affected by the TR1-period.
-*/
-struct CMD_FEC_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns far-end FEC counter values (Section 7.2.2.2.2 of G.997.1). These are
-   wrap-around counters which are not affected by the TR1-period.The "LP1/Fast
-   Path" parameters are fed only in ADSL1 and ADSL1 Lite mode with selected fast
-   path.
-*/
-struct ACK_FEC_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End FEC Count LP0, LSW */
-   DSL_uint16_t cntECI_LSW;
-   /** Far-End FEC Count LP0, MSW */
-   DSL_uint16_t cntECI_MSW;
-   /** Far-End FEC Count LP1, LSW */
-   DSL_uint16_t cntFEC_LSW;
-   /** Far-End FEC Count LP1, MSW */
-   DSL_uint16_t cntFEC_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End FEC Count LP0, LSW */
-   DSL_uint16_t cntECI_LSW;
-   /** Far-End FEC Count LP0, MSW */
-   DSL_uint16_t cntECI_MSW;
-   /** Far-End FEC Count LP1, LSW */
-   DSL_uint16_t cntFEC_LSW;
-   /** Far-End FEC Count LP1, MSW */
-   DSL_uint16_t cntFEC_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the near-end 15 minutes SOS counter values.
-*/
-struct CMD_SOS_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns near-end SOS counter values. (Section 7.2.1.6.1 of G.997.1)
-*/
-struct ACK_SOS_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End SOS Success Count LP0, LSW */
-   DSL_uint16_t cntSOS_SUC_LSW;
-   /** Near-End SOS Success Count LP0, MSW */
-   DSL_uint16_t cntSOS_SUC_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End SOS Success Count LP0, LSW */
-   DSL_uint16_t cntSOS_SUC_LSW;
-   /** Near-End SOS Success Count LP0, MSW */
-   DSL_uint16_t cntSOS_SUC_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the far-end 15 minutes SOS counter values. These are wrap-around
-   counters which are not affected by the TR1-period.
-*/
-struct CMD_SOS_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Returns far-end SOS counter values. (Section 7.2.1.7.1 of G.997.1)
-*/
-struct ACK_SOS_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End SOS Success Count LP0, LSW */
-   DSL_uint16_t cntSOS_SUC_LSW;
-   /** Far-End SOS Success Count LP0, MSW */
-   DSL_uint16_t cntSOS_SUC_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Far-End SOS Success Count LP0, LSW */
-   DSL_uint16_t cntSOS_SUC_LSW;
-   /** Far-End SOS Success Count LP0, MSW */
-   DSL_uint16_t cntSOS_SUC_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes near-end line performance counter values (total wrap-around)(Section
-   7.2.1.1 of G.997.1).
-*/
-struct CMD_LinePerfCountNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FECS Count, LSW */
-   DSL_uint16_t  cntFECS_LSW;
-   /** Near-End FECS Count, MSW */
-   DSL_uint16_t  cntFECS_MSW;
-   /** Near-End ES Count, LSW */
-   DSL_uint16_t  cntES_LSW;
-   /** Near-End ES Count, MSW */
-   DSL_uint16_t  cntES_MSW;
-   /** Near-End SES Count, LSW */
-   DSL_uint16_t  cntSES_LSW;
-   /** Near-End SES Count, MSW */
-   DSL_uint16_t  cntSES_MSW;
-   /** Near-End LOSS Count, LSW */
-   DSL_uint16_t  cntLOSS_LSW;
-   /** Near-End LOSS Count, MSW */
-   DSL_uint16_t  cntLOSS_MSW;
-   /** Near-End UAS Count, LSW */
-   DSL_uint16_t  cntUAS_LSW;
-   /** Near-End UAS Count, MSW */
-   DSL_uint16_t  cntUAS_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FECS Count, LSW */
-   DSL_uint16_t  cntFECS_LSW;
-   /** Near-End FECS Count, MSW */
-   DSL_uint16_t  cntFECS_MSW;
-   /** Near-End ES Count, LSW */
-   DSL_uint16_t  cntES_LSW;
-   /** Near-End ES Count, MSW */
-   DSL_uint16_t  cntES_MSW;
-   /** Near-End SES Count, LSW */
-   DSL_uint16_t  cntSES_LSW;
-   /** Near-End SES Count, MSW */
-   DSL_uint16_t  cntSES_MSW;
-   /** Near-End LOSS Count, LSW */
-   DSL_uint16_t  cntLOSS_LSW;
-   /** Near-End LOSS Count, MSW */
-   DSL_uint16_t  cntLOSS_MSW;
-   /** Near-End UAS Count, LSW */
-   DSL_uint16_t  cntUAS_LSW;
-   /** Near-End UAS Count, MSW */
-   DSL_uint16_t  cntUAS_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_LinePerfCountNE_Set.
-*/
-struct ACK_LinePerfCountNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes the near-end CRC counter values (Section 7.2.2.1.1 of G.997.1)The
-   "LP1/Fast Path" parameters are used only in ADSL1 and ADSL1 Lite mode with
-   selected "Fast Path".
-*/
-struct CMD_CRC_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End CRC Count LP0, LSW */
-   DSL_uint16_t cntCVI_LSW;
-   /** Near-End CRC Count LP0, MSW */
-   DSL_uint16_t cntCVI_MSW;
-   /** Near-End CRC Count LP1, LSW */
-   DSL_uint16_t cntCVF_LSW;
-   /** Near-End CRC Count LP1, MSW */
-   DSL_uint16_t cntCVF_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End CRC Count LP0, LSW */
-   DSL_uint16_t cntCVI_LSW;
-   /** Near-End CRC Count LP0, MSW */
-   DSL_uint16_t cntCVI_MSW;
-   /** Near-End CRC Count LP1, LSW */
-   DSL_uint16_t cntCVF_LSW;
-   /** Near-End CRC Count LP1, MSW */
-   DSL_uint16_t cntCVF_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_CRC_StatsNE_Set.
-*/
-struct ACK_CRC_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes near-end FEC counter values. (Section 7.2.2.1.2 of G.997.1)The
-   "LP1/Fast Path" parameters are used only in ADSL1 and ADSL1 Lite mode with
-   selected "Fast Path".
-*/
-struct CMD_FEC_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FEC Count LP0, LSW */
-   DSL_uint16_t cntECI_LSW;
-   /** Near-End FEC Count LP0, MSW */
-   DSL_uint16_t cntECI_MSW;
-   /** Near-End FEC Count LP1, LSW */
-   DSL_uint16_t cntFEC_LSW;
-   /** Near-End FEC Count LP1, MSW */
-   DSL_uint16_t cntFEC_MSW;
-   /** Near-End FEC Uncorrectable Count LP0, LSW */
-   DSL_uint16_t cntECI_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP0, MSW */
-   DSL_uint16_t cntECI_NoCorrMSW;
-   /** Near-End FEC Uncorrectable Count LP1, LSW */
-   DSL_uint16_t cntECF_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP1, MSW */
-   DSL_uint16_t cntECF_NoCorrMSW;
-   /** Near-End Total RS CW Count LP0, LSW */
-   DSL_uint16_t cntECI_CW_LSW;
-   /** Near-End Total RS CW Count LP0, MSW */
-   DSL_uint16_t cntECI_CW_MSW;
-   /** Near-End Total RS CW Count LP1, LSW */
-   DSL_uint16_t cntECF_CW_LSW;
-   /** Near-End Total RS CW Count LP1, MSW */
-   DSL_uint16_t cntECF_CW_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End FEC Count LP0, LSW */
-   DSL_uint16_t cntECI_LSW;
-   /** Near-End FEC Count LP0, MSW */
-   DSL_uint16_t cntECI_MSW;
-   /** Near-End FEC Count LP1, LSW */
-   DSL_uint16_t cntFEC_LSW;
-   /** Near-End FEC Count LP1, MSW */
-   DSL_uint16_t cntFEC_MSW;
-   /** Near-End FEC Uncorrectable Count LP0, LSW */
-   DSL_uint16_t cntECI_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP0, MSW */
-   DSL_uint16_t cntECI_NoCorrMSW;
-   /** Near-End FEC Uncorrectable Count LP1, LSW */
-   DSL_uint16_t cntECF_NoCorrLSW;
-   /** Near-End FEC Uncorrectable Count LP1, MSW */
-   DSL_uint16_t cntECF_NoCorrMSW;
-   /** Near-End Total RS CW Count LP0, LSW */
-   DSL_uint16_t cntECI_CW_LSW;
-   /** Near-End Total RS CW Count LP0, MSW */
-   DSL_uint16_t cntECI_CW_MSW;
-   /** Near-End Total RS CW Count LP1, LSW */
-   DSL_uint16_t cntECF_CW_LSW;
-   /** Near-End Total RS CW Count LP1, MSW */
-   DSL_uint16_t cntECF_CW_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_FEC_StatsNE_Set.
-*/
-struct ACK_FEC_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes near-end SOS counter values. ("SOS-SUCCESS-NE", Section 7.2.1.6.1 of
-   G.997.1).
-*/
-struct  CMD_SOS_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End SOS Success Count LP0, LSW */
-   DSL_uint16_t cntSOS_SUC_LSW;
-   /** Near-End SOS Success Count LP0, MSW */
-   DSL_uint16_t cntSOS_SUC_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-End SOS Success Count LP0, LSW */
-   DSL_uint16_t cntSOS_SUC_LSW;
-   /** Near-End SOS Success Count LP0, MSW */
-   DSL_uint16_t cntSOS_SUC_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for CMD_SOS_StatsNE_Set.
-*/
-struct  ACK_SOS_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the running time since midnightModifying the Time does not affect the
-   TR1 supervision period and the TR1-counters.
-*/
-struct CMD_TimeSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0[3];
-   /** NE Time */
-   VRX_TIME_t timeNE;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0[3];
-   /** NE Time */
-   VRX_TIME_t timeNE;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_TimeSet.
-*/
-struct ACK_TimeSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the status of the "Set Time and Read Time" EOC messages.
-*/
-struct CMD_TimeGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the status of the "Set Time and Read Time" EOC messages.
-*/
-struct ACK_TimeGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** FE Time */
-   VRX_TIME_t timeFE;
-   /** NE Time */
-   VRX_TIME_t timeNE;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0;
-   /** FE Time */
-   VRX_TIME_t timeFE;
-   /** NE Time */
-   VRX_TIME_t timeNE;
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_PERF_PMD_H_*/
diff --git a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_tc_counters.h b/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_tc_counters.h
deleted file mode 100644
index 6dbe272..0000000
--- a/src/include/mcat3.0/drv_dsl_cpe_vrx_msg_tc_counters.h
+++ /dev/null
@@ -1,2195 +0,0 @@
-/******************************************************************************
-
-                            Copyright (c) 2007-2017
-                       Lantiq Beteiligungs-GmbH & Co. KG
-
-  For licensing information, see the file 'LICENSE' in the root folder of
-  this software module.
-
-******************************************************************************/
-
-
-#ifndef _DRV_DSL_CPE_VRX_MSG_TC_COUNTERS_H_
-#define _DRV_DSL_CPE_VRX_MSG_TC_COUNTERS_H_
-
-/** \file
-
-*/
-
-#ifndef __PACKED__
-   #if defined (__GNUC__) || defined (__GNUG__)
-      /* GNU C or C++ compiler */
-      #define __PACKED__ __attribute__ ((packed))
-   #else
-      /* Byte alignment adjustment */
-      #pragma pack(1)
-      #define __PACKED__      /* nothing */
-   #endif
-   #define __PACKED_DEFINED__ 1
-#endif
-
-
-/** @defgroup _TC_COUNTERS_
- *  @{
- */
-
-#ifdef __cplusplus
-   extern "C" {
-#endif
-
-/* ----- Message Specific Constants Definition section ----- */
-#define ACK_TC_StatusGet_UNKNOWN_TC 0x0
-#define ACK_TC_StatusGet_EFM_TC 0x1
-#define ACK_TC_StatusGet_ATM_TC 0x2
-#define EVT_TC_StatusGet_EFM_TC 0x1
-#define EVT_TC_StatusGet_ATM_TC 0x2
-#define CMD_TC_FW_InfoSet_EFM_TC 0x1
-#define CMD_TC_FW_InfoSet_ATM_TC 0x2
-#define ACK_VersionInfoGet_VRX518 0x0
-#define ACK_VersionInfoGet_VRX517 0x1
-#define ACK_VersionInfoGet_HW_VER11 0x0
-#define ACK_VersionInfoGet_HW_VER12 0x1
-#define ACK_VersionInfoGet_VRX200 0x05
-#define ACK_VersionInfoGet_VRX300 0x07
-#define ACK_VersionInfoGet_VRX500 0x08
-#define ACK_VersionInfoGet_R3 10
-#define ACK_VersionInfoGet_R4 11
-#define ACK_VersionInfoGet_R5 12
-#define ACK_VersionInfoGet_RELEASE 0
-#define ACK_VersionInfoGet_PRERELEASE 1
-#define ACK_VersionInfoGet_DEVELOP 3
-#define ACK_VersionInfoGet_ADSL_A 1
-#define ACK_VersionInfoGet_ADSL_BJ 2
-#define ACK_VersionInfoGet_VDSL2 6
-#define CMD_PAF_HS_Continue_WAIT 0x0
-#define CMD_PAF_HS_Continue_CONTINUE 0x1
-/* ----- Message Specific Constants Definition section (End) ----- */
-
-/** Message ID for CMD_TC_StatusGet */
-#define CMD_TC_STATUSGET 0x0E22
-
-/**
-   The message reads the used TC.In ADSL the TC type is selected during G.HS and
-   thus known when entering FULL_INIT. In VDSL it is selected later, during
-   FULL_INIT. Before this point the FW will report the TC as "unknown".
-*/
-typedef struct CMD_TC_StatusGet CMD_TC_StatusGet_t;
-
-/** Message ID for ACK_TC_StatusGet */
-#define ACK_TC_STATUSGET 0x0E22
-
-/**
-   Reporting of the used TC mode.
-*/
-typedef struct ACK_TC_StatusGet ACK_TC_StatusGet_t;
-
-/** Message ID for EVT_TC_StatusGet */
-#define EVT_TC_STATUSGET 0x0E22
-
-/**
-   This autonomous Event reports the to be used TC mode after being known. In R7
-   FW (w.7.x.y.z.a) only generated when enabled in CMD_Misc_ConfigSet TcTypeEvt.
-*/
-typedef struct EVT_TC_StatusGet EVT_TC_StatusGet_t;
-
-/** Message ID for CMD_TC_FW_InfoSet */
-#define CMD_TC_FW_INFOSET 0x1762
-
-/**
-   The message informs the DSL-FW about the currently loaded TC FW driver.
-*/
-typedef struct CMD_TC_FW_InfoSet CMD_TC_FW_InfoSet_t;
-
-/** Message ID for ACK_TC_FW_InfoSet */
-#define ACK_TC_FW_INFOSET 0x1762
-
-/**
-   Acknowledgement to CMD_TC_FW_InfoSet.
-*/
-typedef struct ACK_TC_FW_InfoSet ACK_TC_FW_InfoSet_t;
-
-/** Message ID for CMD_MAC_FrameConfigure */
-#define CMD_MAC_FRAMECONFIGURE 0x5348
-
-/**
-   The message configures Ethernet properties, currently the MAC address of the
-   device only.The MAC address is needed in the FW as "MAC source address"for
-   PDUs not built by the host, like e.g. for the Ethernet encapsulated
-   Backchannel Data ERB in Vectoring.
-*/
-typedef struct CMD_MAC_FrameConfigure CMD_MAC_FrameConfigure_t;
-
-/** Message ID for ACK_MAC_FrameConfigure */
-#define ACK_MAC_FRAMECONFIGURE 0x5348
-
-/**
-   Acknowledgement to CMD_MAC_FrameConfigure.
-*/
-typedef struct ACK_MAC_FrameConfigure ACK_MAC_FrameConfigure_t;
-
-/** Message ID for CMD_DataPathFailuresAlarmConfigure */
-#define CMD_DATAPATHFAILURESALARMCONFIGURE 0x1249
-
-/**
-   Enables/Disables the generation of ALARM messages (ALM) for specific data-
-   path failures. If the corresponding Enable bit for a failure is set, then the
-   modem firmware will send an autonomous message ALM_DataPathFailuresGet if
-   this failure occurs.
-*/
-typedef struct CMD_DataPathFailuresAlarmConfigure CMD_DataPathFailuresAlarmConfigure_t;
-
-/** Message ID for ACK_DataPathFailuresAlarmConfigure */
-#define ACK_DATAPATHFAILURESALARMCONFIGURE 0x1249
-
-/**
-   Acknowledgement to CMD_DataPathFailuresAlarmConfigure.
-*/
-typedef struct ACK_DataPathFailuresAlarmConfigure ACK_DataPathFailuresAlarmConfigure_t;
-
-/** Message ID for CMD_DataPathFailuresGet */
-#define CMD_DATAPATHFAILURESGET 0x0507
-
-/**
-   Requests the data-path failure status.
-*/
-typedef struct CMD_DataPathFailuresGet CMD_DataPathFailuresGet_t;
-
-/** Message ID for ACK_DataPathFailuresGet */
-#define ACK_DATAPATHFAILURESGET 0x0507
-
-/**
-   Provides the data path failure status as requested by the command
-   CMD_DataPathFailuresGet.
-*/
-typedef struct ACK_DataPathFailuresGet ACK_DataPathFailuresGet_t;
-
-/** Message ID for ALM_DataPathFailuresGet */
-#define ALM_DATAPATHFAILURESGET 0x0507
-
-/**
-   This autonomous message reports the data-path failure status. It is sent only
-   if the message generation was enabled for the corresponding failure with
-   CMD_DataPathFailuresAlarmConfigure.
-*/
-typedef struct ALM_DataPathFailuresGet ALM_DataPathFailuresGet_t;
-
-/** Message ID for CMD_PTM_BC0_StatsNE_Get */
-#define CMD_PTM_BC0_STATSNE_GET 0x2D0A
-
-/**
-   Requests the values of the near-end PTM data path performance counters for
-   bearer channel 0 (BC0) as defined in G.997.1 (Section 7.2.5.1. of [11]).The
-   counters are total counters.
-*/
-typedef struct CMD_PTM_BC0_StatsNE_Get CMD_PTM_BC0_StatsNE_Get_t;
-
-/** Message ID for ACK_PTM_BC0_StatsNE_Get */
-#define ACK_PTM_BC0_STATSNE_GET 0x2D0A
-
-/**
-   Delivers the near-end total TPS-TC counter values for bearer channel 0 (BC0)
-   as requested by CMD_PTM_BC0_StatsNE_Get. (Section 7.2.5.1. of [11])
-*/
-typedef struct ACK_PTM_BC0_StatsNE_Get ACK_PTM_BC0_StatsNE_Get_t;
-
-/** Message ID for CMD_PTM_BC0_StatsNE_Set */
-#define CMD_PTM_BC0_STATSNE_SET 0x2D4A
-
-/**
-   Writes the TPS-TC CRC error and TPS-TC coding violation counters (Section
-   7.2.5.1. of G.997.1 [11]).Why writing these counters? For "automoding",
-   meaning modems configured to support both ADSL and VDLS with automatic mode
-   selection. The first retrain is always done with an ADSL FW independent of
-   what was loaded before. Therefore, the counters must be saved by the host
-   before destroying them by the FW download and are written back before the
-   next link start of a FW that supports PTM.
-*/
-typedef struct CMD_PTM_BC0_StatsNE_Set CMD_PTM_BC0_StatsNE_Set_t;
-
-/** Message ID for ACK_PTM_BC0_StatsNE_Set */
-#define ACK_PTM_BC0_STATSNE_SET 0x2D4A
-
-/**
-   Acknowledgement for the message CMD_PTM_BC0_StatsNE_Set.
-*/
-typedef struct ACK_PTM_BC0_StatsNE_Set ACK_PTM_BC0_StatsNE_Set_t;
-
-/** Message ID for CMD_ATM_BC0_StatsNE_Get */
-#define CMD_ATM_BC0_STATSNE_GET 0x2E0A
-
-/**
-   This command is used to request the near-end data-path performance counters
-   for BC0 of an ATM-TC link as defined in Section 7.2.4. of G.997.1 [11].
-*/
-typedef struct CMD_ATM_BC0_StatsNE_Get CMD_ATM_BC0_StatsNE_Get_t;
-
-/** Message ID for ACK_ATM_BC0_StatsNE_Get */
-#define ACK_ATM_BC0_STATSNE_GET 0x2E0A
-
-/**
-   Provides the total near-end ATM-TC performance counters for bearer channel 0
-   (BC0) as requested by the command CMD_ATM_BC0_StatsNE_Get.ADSL1/ADSL1 Lite
-   Fast Path reports its ATM -TC counters in this message too.
-*/
-typedef struct ACK_ATM_BC0_StatsNE_Get ACK_ATM_BC0_StatsNE_Get_t;
-
-/** Message ID for CMD_ATM_BC0_StatsFE_Get */
-#define CMD_ATM_BC0_STATSFE_GET 0x330A
-
-/**
-   This command is used to request the far-end data-path performance counters
-   for BC0 of an ATM-TC link as defined in Section 7.2.4.2 of G.997.1 [11].
-*/
-typedef struct CMD_ATM_BC0_StatsFE_Get CMD_ATM_BC0_StatsFE_Get_t;
-
-/** Message ID for ACK_ATM_BC0_StatsFE_Get */
-#define ACK_ATM_BC0_STATSFE_GET 0x330A
-
-/**
-   Provides the total near-end ATM-TC performance counters for bearer channel 0
-   (BC0) as requested by the command CMD_ATM_BC0_StatsFE_Get.
-*/
-typedef struct ACK_ATM_BC0_StatsFE_Get ACK_ATM_BC0_StatsFE_Get_t;
-
-/** Message ID for CMD_ATM_BC0_StatsNE_Set */
-#define CMD_ATM_BC0_STATSNE_SET 0x2E4A
-
-/**
-   Writes the data-path performance counters for bearer channel 0 (BC0) of an
-   ATM-TC link (Section 7.2.4. of G.997.1 [11]).Why writing counters? The ADSL
-   FW of the VRX destroys the performance counters at the beginning of a re-
-   initialization since it starts with a FW download. Therefore the host has to
-   save the counters in FAIL state before triggering a re-init. When
-   reconfiguring the system in RESET state, the host writes the saved values as
-   start values back into the counters. To do this for the ATM-TC counters, this
-   message is used.
-*/
-typedef struct CMD_ATM_BC0_StatsNE_Set CMD_ATM_BC0_StatsNE_Set_t;
-
-/** Message ID for ACK_ATM_BC0_StatsNE_Set */
-#define ACK_ATM_BC0_STATSNE_SET 0x2E4A
-
-/**
-   Acknowledgement for the message CMD_ATM_BC0_StatsNE_Set.
-*/
-typedef struct ACK_ATM_BC0_StatsNE_Set ACK_ATM_BC0_StatsNE_Set_t;
-
-/** Message ID for CMD_ATM_BC0_TxStatsNE_Get */
-#define CMD_ATM_BC0_TXSTATSNE_GET 0x350A
-
-/**
-   Requests near-end ATM datapath performance transmit counters for bearer
-   channel 0 (BC0).
-*/
-typedef struct CMD_ATM_BC0_TxStatsNE_Get CMD_ATM_BC0_TxStatsNE_Get_t;
-
-/** Message ID for ACK_ATM_BC0_TxStatsNE_Get */
-#define ACK_ATM_BC0_TXSTATSNE_GET 0x350A
-
-/**
-   Provides the ATM-TC transmit counters for beare channel 0 (BC0) as requested
-   by the command CMD_ATM_BC0_TxStatsNE_Get.ADSL1/ADSL1 Lite Fast Path reports
-   its ATM -TC counters in this message too.
-*/
-typedef struct ACK_ATM_BC0_TxStatsNE_Get ACK_ATM_BC0_TxStatsNE_Get_t;
-
-/** Message ID for CMD_ATM_BC0_TxStatsNE_Set */
-#define CMD_ATM_BC0_TXSTATSNE_SET 0x354A
-
-/**
-   Writes the transmit data-path counters for BC0 of an ATM-TC link.For "Why
-   writing performance counters" see Page 662.
-*/
-typedef struct CMD_ATM_BC0_TxStatsNE_Set CMD_ATM_BC0_TxStatsNE_Set_t;
-
-/** Message ID for ACK_ATM_BC0_TxStatsNE_Set */
-#define ACK_ATM_BC0_TXSTATSNE_SET 0x354A
-
-/**
-   Acknowledgement for the message CMD_ATM_BC0_TxStatsNE_Set.
-*/
-typedef struct ACK_ATM_BC0_TxStatsNE_Set ACK_ATM_BC0_TxStatsNE_Set_t;
-
-/** Message ID for CMD_VersionInfoGet */
-#define CMD_VERSIONINFOGET 0x0010
-
-/**
-   Requests version information from the VDSL2-Modem.
-*/
-typedef struct CMD_VersionInfoGet CMD_VersionInfoGet_t;
-
-/** Message ID for ACK_VersionInfoGet */
-#define ACK_VERSIONINFOGET 0x0010
-
-/**
-   Provides version information about hardware and firmware. The FW version
-   numbering scheme has a long and a short form (Table 362).
-*/
-typedef struct ACK_VersionInfoGet ACK_VersionInfoGet_t;
-
-/** Message ID for CMD_PPA_FwVersionSet */
-#define CMD_PPA_FWVERSIONSET 0x2162
-
-/**
-   Writes the PPA FW version ("PPA subsystem version") to the DSL FW. This is
-   only to inform about the PPA FW version,
-*/
-typedef struct CMD_PPA_FwVersionSet CMD_PPA_FwVersionSet_t;
-
-/** Message ID for ACK_PPA_FwVersionSet */
-#define ACK_PPA_FWVERSIONSET 0x2162
-
-/**
-   Acknowledgement for message CMD_PPA_FwVersionSet.
-*/
-typedef struct ACK_PPA_FwVersionSet ACK_PPA_FwVersionSet_t;
-
-/** Message ID for CMD_ADSL_FeatureMapGet */
-#define CMD_ADSL_FEATUREMAPGET 0x1322
-
-/**
-   Requests the feature map indicating the ADSL FW features supported by this
-   binary.
-*/
-typedef struct CMD_ADSL_FeatureMapGet CMD_ADSL_FeatureMapGet_t;
-
-/** Message ID for ACK_ADSL_FeatureMapGet */
-#define ACK_ADSL_FEATUREMAPGET 0x1322
-
-/**
-   Reports the feature map indicating the ADSL FW features supported by this
-   binary.
-*/
-typedef struct ACK_ADSL_FeatureMapGet ACK_ADSL_FeatureMapGet_t;
-
-/** Message ID for CMD_VDSL_FeatureMapGet */
-#define CMD_VDSL_FEATUREMAPGET 0x1422
-
-/**
-   Requests the feature map indicating the VDSL FW features supported by this
-   binary.
-*/
-typedef struct CMD_VDSL_FeatureMapGet CMD_VDSL_FeatureMapGet_t;
-
-/** Message ID for ACK_VDSL_FeatureMapGet */
-#define ACK_VDSL_FEATUREMAPGET 0x1422
-
-/**
-   Reports the feature map indicating the VDSL FW features supported by this
-   binary.
-*/
-typedef struct ACK_VDSL_FeatureMapGet ACK_VDSL_FeatureMapGet_t;
-
-/** Message ID for CMD_PAF_HS_Control */
-#define CMD_PAF_HS_CONTROL 0x1148
-
-/**
-   The message is used to enable bonding (PAF) and to control the GHS
-   aggregation discovery and aggregation processes. The register numbers
-   referenced refer to IEEE 802.3ah [14], Clause 45.
-*/
-typedef struct CMD_PAF_HS_Control CMD_PAF_HS_Control_t;
-
-/** Message ID for ACK_PAF_HS_Control */
-#define ACK_PAF_HS_CONTROL 0x1148
-
-/**
-   The message acknowledges CMD_PAF_HS_Control.
-*/
-typedef struct ACK_PAF_HS_Control ACK_PAF_HS_Control_t;
-
-/** Message ID for CMD_PAF_HS_ControlGet */
-#define CMD_PAF_HS_CONTROLGET 0x1108
-
-/**
-   The message reads back settings for bonding configured with
-   CMD_PAF_HS_Control.
-*/
-typedef struct CMD_PAF_HS_ControlGet CMD_PAF_HS_ControlGet_t;
-
-/** Message ID for ACK_PAF_HS_ControlGet */
-#define ACK_PAF_HS_CONTROLGET 0x1108
-
-/**
-   The message acknowledges CMD_PAF_HS_ControlGet providing PAF bonding
-   parameters used in handshake as configured with CMD_PAF_HS_Control.
-*/
-typedef struct ACK_PAF_HS_ControlGet ACK_PAF_HS_ControlGet_t;
-
-/** Message ID for CMD_PAF_HS_StatusGet */
-#define CMD_PAF_HS_STATUSGET 0xDD03
-
-/**
-   The message requests aggregation discovery and aggregation status information
-   for EFM bonding.
-*/
-typedef struct CMD_PAF_HS_StatusGet CMD_PAF_HS_StatusGet_t;
-
-/** Message ID for ACK_PAF_HS_StatusGet */
-#define ACK_PAF_HS_STATUSGET 0xDD03
-
-/**
-   The message reports discovery and aggregation status information for EFM
-   bonding after request by CMD_PAF_HS_StatusGet.At the CPE side, the Host SW
-   concludes on a GET request if none of the following 4 bits are set:
-   discoveryClearIfSame, discoverySetIfClear, aggregClear , aggregSet. It does
-   not distinguish between "discovery GET" and "aggregation GET"; in case of any
-   "GET" both the discovery and the aggregation code are sent to the CO with the
-   CLR.
-*/
-typedef struct ACK_PAF_HS_StatusGet ACK_PAF_HS_StatusGet_t;
-
-/** Message ID for CMD_PAF_HS_Continue */
-#define CMD_PAF_HS_CONTINUE 0x0C62
-
-/**
-   The message writes the aggregation discovery code and the aggregation data
-   down to the FW and is used to trigger the CPE-FW to proceed in handshake
-   (sending CLR) after it had been waiting in GHS_BONDING_CLR state for the
-   necessary host interactions to be finished. These actions depend on the
-   request type (see ACK_PAF_HS_StatusGet): the processing of the remote
-   discovery register (for an aggregation discovery "Set If Clear" or "Clear If
-   Same" command) or PME Aggregate register (for an aggregation "Set" or "Clear"
-   command) in the SW and -in any case including a "Get" command - then updating
-   the local representations of both in the FW (which are sent to the CO in a
-   CLR).
-*/
-typedef struct CMD_PAF_HS_Continue CMD_PAF_HS_Continue_t;
-
-/** Message ID for ACK_PAF_HS_Continue */
-#define ACK_PAF_HS_CONTINUE 0x0C62
-
-/**
-   The message acknowledges CMD_PAF_HS_Continue.
-*/
-typedef struct ACK_PAF_HS_Continue ACK_PAF_HS_Continue_t;
-
-/** Message ID for CMD_PAF_PME_ID_Set */
-#define CMD_PAF_PME_ID_SET 0x5948
-
-/**
-   Sets the PME identification number. This number is transferred with the CLR
-   message to the CO.
-*/
-typedef struct CMD_PAF_PME_ID_Set CMD_PAF_PME_ID_Set_t;
-
-/** Message ID for ACK_PAF_PME_ID_Set */
-#define ACK_PAF_PME_ID_SET 0x5948
-
-/**
-   The message acknowledges CMD_PAF_PME_ID_Set.
-*/
-typedef struct ACK_PAF_PME_ID_Set ACK_PAF_PME_ID_Set_t;
-
-/**
-   The message reads the used TC.In ADSL the TC type is selected during G.HS and
-   thus known when entering FULL_INIT. In VDSL it is selected later, during
-   FULL_INIT. Before this point the FW will report the TC as "unknown".
-*/
-struct CMD_TC_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reporting of the used TC mode.
-*/
-struct ACK_TC_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TC Used */
-   DSL_uint16_t TC;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TC Used */
-   DSL_uint16_t TC;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This autonomous Event reports the to be used TC mode after being known. In R7
-   FW (w.7.x.y.z.a) only generated when enabled in CMD_Misc_ConfigSet TcTypeEvt.
-*/
-struct EVT_TC_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TC Used */
-   DSL_uint16_t TC;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TC Used */
-   DSL_uint16_t TC;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message informs the DSL-FW about the currently loaded TC FW driver.
-*/
-struct CMD_TC_FW_InfoSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TC Loaded */
-   DSL_uint16_t loadedTC;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TC Loaded */
-   DSL_uint16_t loadedTC;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_TC_FW_InfoSet.
-*/
-struct ACK_TC_FW_InfoSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message configures Ethernet properties, currently the MAC address of the
-   device only.The MAC address is needed in the FW as "MAC source address"for
-   PDUs not built by the host, like e.g. for the Ethernet encapsulated
-   Backchannel Data ERB in Vectoring.
-*/
-struct CMD_MAC_FrameConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Source MAC Address Octets 0 to 1 */
-   DSL_uint16_t SrcMacAddrB0_1;
-   /** Source MAC Address Octets 2 to 3 */
-   DSL_uint16_t SrcMacAddrB2_3;
-   /** Source MAC Address Octets 4 to 5 */
-   DSL_uint16_t SrcMacAddrB4_5;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Source MAC Address Octets 0 to 1 */
-   DSL_uint16_t SrcMacAddrB0_1;
-   /** Source MAC Address Octets 2 to 3 */
-   DSL_uint16_t SrcMacAddrB2_3;
-   /** Source MAC Address Octets 4 to 5 */
-   DSL_uint16_t SrcMacAddrB4_5;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_MAC_FrameConfigure.
-*/
-struct ACK_MAC_FrameConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Enables/Disables the generation of ALARM messages (ALM) for specific data-
-   path failures. If the corresponding Enable bit for a failure is set, then the
-   modem firmware will send an autonomous message ALM_DataPathFailuresGet if
-   this failure occurs.
-*/
-struct CMD_DataPathFailuresAlarmConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC1 : 1;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 6;
-   /** OOS Failure NE, BC1 */
-   DSL_uint16_t OOS_NE_BC1 : 1;
-   /** OOS Failure NE, BC0 */
-   DSL_uint16_t OOS_NE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 4;
-   /** LCD Failure FE, BC1 */
-   DSL_uint16_t LCD_FE_BC1 : 1;
-   /** NCD Failure FE, BC1 */
-   DSL_uint16_t NCD_FE_BC1 : 1;
-   /** LCD Failure FE, BC0 */
-   DSL_uint16_t LCD_FE_BC0 : 1;
-   /** NCD Failure FE, BC0 */
-   DSL_uint16_t NCD_FE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 4;
-   /** LCD Failure NE, BC1 */
-   DSL_uint16_t LCD_NE_BC1 : 1;
-   /** NCD Failure NE, BC1 */
-   DSL_uint16_t NCD_NE_BC1 : 1;
-   /** LCD Failure NE, BC0 */
-   DSL_uint16_t LCD_NE_BC0 : 1;
-   /** NCD Failure NE, BC0 */
-   DSL_uint16_t NCD_NE_BC0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** OOS Failure NE, BC0 */
-   DSL_uint16_t OOS_NE_BC0 : 1;
-   /** OOS Failure NE, BC1 */
-   DSL_uint16_t OOS_NE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 6;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC0 : 1;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** NCD Failure NE, BC0 */
-   DSL_uint16_t NCD_NE_BC0 : 1;
-   /** LCD Failure NE, BC0 */
-   DSL_uint16_t LCD_NE_BC0 : 1;
-   /** NCD Failure NE, BC1 */
-   DSL_uint16_t NCD_NE_BC1 : 1;
-   /** LCD Failure NE, BC1 */
-   DSL_uint16_t LCD_NE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 4;
-   /** NCD Failure FE, BC0 */
-   DSL_uint16_t NCD_FE_BC0 : 1;
-   /** LCD Failure FE, BC0 */
-   DSL_uint16_t LCD_FE_BC0 : 1;
-   /** NCD Failure FE, BC1 */
-   DSL_uint16_t NCD_FE_BC1 : 1;
-   /** LCD Failure FE, BC1 */
-   DSL_uint16_t LCD_FE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement to CMD_DataPathFailuresAlarmConfigure.
-*/
-struct ACK_DataPathFailuresAlarmConfigure
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the data-path failure status.
-*/
-struct CMD_DataPathFailuresGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the data path failure status as requested by the command
-   CMD_DataPathFailuresGet.
-*/
-struct ACK_DataPathFailuresGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC1 : 1;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 6;
-   /** OOS Failure NE, BC1 */
-   DSL_uint16_t OOS_NE_BC1 : 1;
-   /** OOS Failure NE, BC0 */
-   DSL_uint16_t OOS_NE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 4;
-   /** LCD Failure FE, BC1 */
-   DSL_uint16_t LCD_FE_BC1 : 1;
-   /** NCD Failure FE, BC1 */
-   DSL_uint16_t NCD_FE_BC1 : 1;
-   /** LCD Failure FE, BC0 */
-   DSL_uint16_t LCD_FE_BC0 : 1;
-   /** NCD Failure FE, BC0 */
-   DSL_uint16_t NCD_FE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 4;
-   /** LCD Failure NE, BC1 */
-   DSL_uint16_t LCD_NE_BC1 : 1;
-   /** NCD Failure NE, BC1 */
-   DSL_uint16_t NCD_NE_BC1 : 1;
-   /** LCD Failure NE, BC0 */
-   DSL_uint16_t LCD_NE_BC0 : 1;
-   /** NCD Failure NE, BC0 */
-   DSL_uint16_t NCD_NE_BC0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** OOS Failure NE, BC0 */
-   DSL_uint16_t OOS_NE_BC0 : 1;
-   /** OOS Failure NE, BC1 */
-   DSL_uint16_t OOS_NE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 6;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC0 : 1;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** NCD Failure NE, BC0 */
-   DSL_uint16_t NCD_NE_BC0 : 1;
-   /** LCD Failure NE, BC0 */
-   DSL_uint16_t LCD_NE_BC0 : 1;
-   /** NCD Failure NE, BC1 */
-   DSL_uint16_t NCD_NE_BC1 : 1;
-   /** LCD Failure NE, BC1 */
-   DSL_uint16_t LCD_NE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 4;
-   /** NCD Failure FE, BC0 */
-   DSL_uint16_t NCD_FE_BC0 : 1;
-   /** LCD Failure FE, BC0 */
-   DSL_uint16_t LCD_FE_BC0 : 1;
-   /** NCD Failure FE, BC1 */
-   DSL_uint16_t NCD_FE_BC1 : 1;
-   /** LCD Failure FE, BC1 */
-   DSL_uint16_t LCD_FE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This autonomous message reports the data-path failure status. It is sent only
-   if the message generation was enabled for the corresponding failure with
-   CMD_DataPathFailuresAlarmConfigure.
-*/
-struct ALM_DataPathFailuresGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC1 : 1;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 6;
-   /** OOS Failure NE, BC1 */
-   DSL_uint16_t OOS_NE_BC1 : 1;
-   /** OOS Failure NE, BC0 */
-   DSL_uint16_t OOS_NE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 4;
-   /** LCD Failure FE, BC1 */
-   DSL_uint16_t LCD_FE_BC1 : 1;
-   /** NCD Failure FE, BC1 */
-   DSL_uint16_t NCD_FE_BC1 : 1;
-   /** LCD Failure FE, BC0 */
-   DSL_uint16_t LCD_FE_BC0 : 1;
-   /** NCD Failure FE, BC0 */
-   DSL_uint16_t NCD_FE_BC0 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 4;
-   /** LCD Failure NE, BC1 */
-   DSL_uint16_t LCD_NE_BC1 : 1;
-   /** NCD Failure NE, BC1 */
-   DSL_uint16_t NCD_NE_BC1 : 1;
-   /** LCD Failure NE, BC0 */
-   DSL_uint16_t LCD_NE_BC0 : 1;
-   /** NCD Failure NE, BC0 */
-   DSL_uint16_t NCD_NE_BC0 : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** OOS Failure NE, BC0 */
-   DSL_uint16_t OOS_NE_BC0 : 1;
-   /** OOS Failure NE, BC1 */
-   DSL_uint16_t OOS_NE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 6;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC0 : 1;
-   /** OOS Failure FE, BC0 */
-   DSL_uint16_t OOS_FE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 6;
-   /** NCD Failure NE, BC0 */
-   DSL_uint16_t NCD_NE_BC0 : 1;
-   /** LCD Failure NE, BC0 */
-   DSL_uint16_t LCD_NE_BC0 : 1;
-   /** NCD Failure NE, BC1 */
-   DSL_uint16_t NCD_NE_BC1 : 1;
-   /** LCD Failure NE, BC1 */
-   DSL_uint16_t LCD_NE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 4;
-   /** NCD Failure FE, BC0 */
-   DSL_uint16_t NCD_FE_BC0 : 1;
-   /** LCD Failure FE, BC0 */
-   DSL_uint16_t LCD_FE_BC0 : 1;
-   /** NCD Failure FE, BC1 */
-   DSL_uint16_t NCD_FE_BC1 : 1;
-   /** LCD Failure FE, BC1 */
-   DSL_uint16_t LCD_FE_BC1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 4;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the values of the near-end PTM data path performance counters for
-   bearer channel 0 (BC0) as defined in G.997.1 (Section 7.2.5.1. of [11]).The
-   counters are total counters.
-*/
-struct CMD_PTM_BC0_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Delivers the near-end total TPS-TC counter values for bearer channel 0 (BC0)
-   as requested by CMD_PTM_BC0_StatsNE_Get. (Section 7.2.5.1. of [11])
-*/
-struct ACK_PTM_BC0_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRC_LSW;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRC_MSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, LSW */
-   DSL_uint16_t cntCV_LSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, MSW */
-   DSL_uint16_t cntCV_MSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRCP_LSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRCP_MSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCVP_LSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCVP_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRC_LSW;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRC_MSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, LSW */
-   DSL_uint16_t cntCV_LSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, MSW */
-   DSL_uint16_t cntCV_MSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRCP_LSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRCP_MSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCVP_LSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCVP_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes the TPS-TC CRC error and TPS-TC coding violation counters (Section
-   7.2.5.1. of G.997.1 [11]).Why writing these counters? For "automoding",
-   meaning modems configured to support both ADSL and VDLS with automatic mode
-   selection. The first retrain is always done with an ADSL FW independent of
-   what was loaded before. Therefore, the counters must be saved by the host
-   before destroying them by the FW download and are written back before the
-   next link start of a FW that supports PTM.
-*/
-struct CMD_PTM_BC0_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRC_LSW;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRC_MSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, LSW */
-   DSL_uint16_t cntCV_LSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, MSW */
-   DSL_uint16_t cntCV_MSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRCP_LSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRCP_MSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCVP_LSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCVP_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRC_LSW;
-   /** TPS-TC CRC Counter (CRC-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRC_MSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, LSW */
-   DSL_uint16_t cntCV_LSW;
-   /** TPS-TC CV Counter (CV-P), NE, BC0, MSW */
-   DSL_uint16_t cntCV_MSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCRCP_LSW;
-   /** TPS-TC CRC Counter (CRCP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCRCP_MSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, LSW */
-   DSL_uint16_t cntCVP_LSW;
-   /** TPS-TC CV Counter (CVP-P), NE, BC0, MSW */
-   DSL_uint16_t cntCVP_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_PTM_BC0_StatsNE_Set.
-*/
-struct ACK_PTM_BC0_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This command is used to request the near-end data-path performance counters
-   for BC0 of an ATM-TC link as defined in Section 7.2.4. of G.997.1 [11].
-*/
-struct CMD_ATM_BC0_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the total near-end ATM-TC performance counters for bearer channel 0
-   (BC0) as requested by the command CMD_ATM_BC0_StatsNE_Get.ADSL1/ADSL1 Lite
-   Fast Path reports its ATM -TC counters in this message too.
-*/
-struct ACK_ATM_BC0_StatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** NE HEC Violation Count (HEC-P), LSW */
-   DSL_uint16_t hecp_LSW;
-   /** NE HEC Violation Count (HEC-P), MSW */
-   DSL_uint16_t hecp_MSW;
-   /** NE Delineated Total Cell Count (CD-P), LSW */
-   DSL_uint16_t cdp_LSW;
-   /** NE Delineated Total Cell Count (CD-P), MSW */
-   DSL_uint16_t cdp_MSW;
-   /** NE User Total Cell Count (CU-P), LSW */
-   DSL_uint16_t cup_LSW;
-   /** NE User Total Cell Count (CU-P), MSW */
-   DSL_uint16_t cup_MSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), LSW */
-   DSL_uint16_t ibep_LSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), MSW */
-   DSL_uint16_t ibep_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** NE HEC Violation Count (HEC-P), LSW */
-   DSL_uint16_t hecp_LSW;
-   /** NE HEC Violation Count (HEC-P), MSW */
-   DSL_uint16_t hecp_MSW;
-   /** NE Delineated Total Cell Count (CD-P), LSW */
-   DSL_uint16_t cdp_LSW;
-   /** NE Delineated Total Cell Count (CD-P), MSW */
-   DSL_uint16_t cdp_MSW;
-   /** NE User Total Cell Count (CU-P), LSW */
-   DSL_uint16_t cup_LSW;
-   /** NE User Total Cell Count (CU-P), MSW */
-   DSL_uint16_t cup_MSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), LSW */
-   DSL_uint16_t ibep_LSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), MSW */
-   DSL_uint16_t ibep_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   This command is used to request the far-end data-path performance counters
-   for BC0 of an ATM-TC link as defined in Section 7.2.4.2 of G.997.1 [11].
-*/
-struct CMD_ATM_BC0_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the total near-end ATM-TC performance counters for bearer channel 0
-   (BC0) as requested by the command CMD_ATM_BC0_StatsFE_Get.
-*/
-struct ACK_ATM_BC0_StatsFE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** FE HEC Violation Count (HEC-PFE), LSW */
-   DSL_uint16_t hecpfe_LSW;
-   /** FE HEC Violation Count (HEC-PFE), MSW */
-   DSL_uint16_t hecpfe_MSW;
-   /** FE Delineated Total Cell Count (CD-PFE), LSW */
-   DSL_uint16_t cdpfe_LSW;
-   /** FE Delineated Total Cell Count (CD-PFE), MSW */
-   DSL_uint16_t cdpfe_MSW;
-   /** FE User Total Cell Count (CU-PFE), LSW */
-   DSL_uint16_t cupfe_LSW;
-   /** FE User Total Cell Count (CU-PFE), MSW */
-   DSL_uint16_t cupfe_MSW;
-   /** FE Idle Cell Bit Error Count (IBE-PFE), LSW */
-   DSL_uint16_t ibepfe_LSW;
-   /** FE Idle Cell Bit Error Count (IBE-PFE), MSW */
-   DSL_uint16_t ibepfe_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** FE HEC Violation Count (HEC-PFE), LSW */
-   DSL_uint16_t hecpfe_LSW;
-   /** FE HEC Violation Count (HEC-PFE), MSW */
-   DSL_uint16_t hecpfe_MSW;
-   /** FE Delineated Total Cell Count (CD-PFE), LSW */
-   DSL_uint16_t cdpfe_LSW;
-   /** FE Delineated Total Cell Count (CD-PFE), MSW */
-   DSL_uint16_t cdpfe_MSW;
-   /** FE User Total Cell Count (CU-PFE), LSW */
-   DSL_uint16_t cupfe_LSW;
-   /** FE User Total Cell Count (CU-PFE), MSW */
-   DSL_uint16_t cupfe_MSW;
-   /** FE Idle Cell Bit Error Count (IBE-PFE), LSW */
-   DSL_uint16_t ibepfe_LSW;
-   /** FE Idle Cell Bit Error Count (IBE-PFE), MSW */
-   DSL_uint16_t ibepfe_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes the data-path performance counters for bearer channel 0 (BC0) of an
-   ATM-TC link (Section 7.2.4. of G.997.1 [11]).Why writing counters? The ADSL
-   FW of the VRX destroys the performance counters at the beginning of a re-
-   initialization since it starts with a FW download. Therefore the host has to
-   save the counters in FAIL state before triggering a re-init. When
-   reconfiguring the system in RESET state, the host writes the saved values as
-   start values back into the counters. To do this for the ATM-TC counters, this
-   message is used.
-*/
-struct CMD_ATM_BC0_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** NE HEC Violation Count (HEC-P), LSW */
-   DSL_uint16_t hecp_LSW;
-   /** NE HEC Violation Count (HEC-P), MSW */
-   DSL_uint16_t hecp_MSW;
-   /** NE Delineated Total Cell Count (CD-P), LSW */
-   DSL_uint16_t cdp_LSW;
-   /** NE Delineated Total Cell Count (CD-P), MSW */
-   DSL_uint16_t cdp_MSW;
-   /** NE User Total Cell Count (CU-P), LSW */
-   DSL_uint16_t cup_LSW;
-   /** NE User Total Cell Count (CU-P), MSW */
-   DSL_uint16_t cup_MSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), LSW */
-   DSL_uint16_t ibep_LSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), MSW */
-   DSL_uint16_t ibep_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** NE HEC Violation Count (HEC-P), LSW */
-   DSL_uint16_t hecp_LSW;
-   /** NE HEC Violation Count (HEC-P), MSW */
-   DSL_uint16_t hecp_MSW;
-   /** NE Delineated Total Cell Count (CD-P), LSW */
-   DSL_uint16_t cdp_LSW;
-   /** NE Delineated Total Cell Count (CD-P), MSW */
-   DSL_uint16_t cdp_MSW;
-   /** NE User Total Cell Count (CU-P), LSW */
-   DSL_uint16_t cup_LSW;
-   /** NE User Total Cell Count (CU-P), MSW */
-   DSL_uint16_t cup_MSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), LSW */
-   DSL_uint16_t ibep_LSW;
-   /** NE Idle Cell Bit Error Count (IBE-P), MSW */
-   DSL_uint16_t ibep_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_ATM_BC0_StatsNE_Set.
-*/
-struct ACK_ATM_BC0_StatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests near-end ATM datapath performance transmit counters for bearer
-   channel 0 (BC0).
-*/
-struct CMD_ATM_BC0_TxStatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides the ATM-TC transmit counters for beare channel 0 (BC0) as requested
-   by the command CMD_ATM_BC0_TxStatsNE_Get.ADSL1/ADSL1 Lite Fast Path reports
-   its ATM -TC counters in this message too.
-*/
-struct ACK_ATM_BC0_TxStatsNE_Get
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-end TX User Cell Count (TxCU), Current Period, LSW */
-   DSL_uint16_t TxCU_LSW;
-   /** Near-end TX User Cell Count (TxCU), Current Period, MSW */
-   DSL_uint16_t TxCU_MSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, LSW */
-   DSL_uint16_t TxIdle_LSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, MSW */
-   DSL_uint16_t TxIdle_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-end TX User Cell Count (TxCU), Current Period, LSW */
-   DSL_uint16_t TxCU_LSW;
-   /** Near-end TX User Cell Count (TxCU), Current Period, MSW */
-   DSL_uint16_t TxCU_MSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, LSW */
-   DSL_uint16_t TxIdle_LSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, MSW */
-   DSL_uint16_t TxIdle_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes the transmit data-path counters for BC0 of an ATM-TC link.For "Why
-   writing performance counters" see Page 662.
-*/
-struct CMD_ATM_BC0_TxStatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-end TX User Cell Count (TxCU), Current Period, LSW */
-   DSL_uint16_t TxCU_LSW;
-   /** Near-end TX User Cell Count (TxCU), Current Period, MSW */
-   DSL_uint16_t TxCU_MSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, LSW */
-   DSL_uint16_t TxIdle_LSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, MSW */
-   DSL_uint16_t TxIdle_MSW;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Near-end TX User Cell Count (TxCU), Current Period, LSW */
-   DSL_uint16_t TxCU_LSW;
-   /** Near-end TX User Cell Count (TxCU), Current Period, MSW */
-   DSL_uint16_t TxCU_MSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, LSW */
-   DSL_uint16_t TxIdle_LSW;
-   /** Near-end TX Idle Cell Count (TxIdle), Current Period, MSW */
-   DSL_uint16_t TxIdle_MSW;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for the message CMD_ATM_BC0_TxStatsNE_Set.
-*/
-struct ACK_ATM_BC0_TxStatsNE_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests version information from the VDSL2-Modem.
-*/
-struct CMD_VersionInfoGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Provides version information about hardware and firmware. The FW version
-   numbering scheme has a long and a short form (Table 362).
-*/
-struct ACK_VersionInfoGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Hardware Version Number */
-   DSL_uint32_t HW_Version;
-   /** Reserved */
-   DSL_uint32_t Res0;
-   /** Firmware Version Number (Long) */
-   DSL_uint32_t FW_Version;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Hardware Version Number */
-   DSL_uint32_t HW_Version;
-   /** Reserved */
-   DSL_uint32_t Res0;
-   /** Firmware Version Number (Long) */
-   DSL_uint32_t FW_Version;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Writes the PPA FW version ("PPA subsystem version") to the DSL FW. This is
-   only to inform about the PPA FW version,
-*/
-struct CMD_PPA_FwVersionSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PPA Subsystem Version Number, LSW, 3. Digit */
-   DSL_uint16_t SubSysVer3 : 8;
-   /** PPA Subsystem Version Number, LSW, 4. Digit */
-   DSL_uint16_t SubSysVer4 : 8;
-   /** PPA Subsystem Version Number, MSW, 1. Digit */
-   DSL_uint16_t SubSysVer1 : 8;
-   /** PPA Subsystem Version Number, MSW, 2. Digit */
-   DSL_uint16_t SubSysVer2 : 8;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PPA Subsystem Version Number, LSW, 4. Digit */
-   DSL_uint16_t SubSysVer4 : 8;
-   /** PPA Subsystem Version Number, LSW, 3. Digit */
-   DSL_uint16_t SubSysVer3 : 8;
-   /** PPA Subsystem Version Number, MSW, 2. Digit */
-   DSL_uint16_t SubSysVer2 : 8;
-   /** PPA Subsystem Version Number, MSW, 1. Digit */
-   DSL_uint16_t SubSysVer1 : 8;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Acknowledgement for message CMD_PPA_FwVersionSet.
-*/
-struct ACK_PPA_FwVersionSet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the feature map indicating the ADSL FW features supported by this
-   binary.
-*/
-struct CMD_ADSL_FeatureMapGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the feature map indicating the ADSL FW features supported by this
-   binary.
-*/
-struct ACK_ADSL_FeatureMapGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Feature-Bits 15:12 of Word 0: Not used in ADSL */
-   DSL_uint16_t Res0 : 4;
-   /** Feature-Bit11 of Word 0: PTM Off-chip bonding (GHS-based) */
-   DSL_uint16_t W0F11 : 1;
-   /** Feature-Bit10 of Word 0: PTM Off-chip Bonding BACP */
-   DSL_uint16_t W0F10 : 1;
-   /** Reserved */
-   DSL_uint16_t W0F09 : 1;
-   /** Feature-Bit8 of Word 0: PTM-TC for ADSL2x  */
-   DSL_uint16_t W0F08 : 1;
-   /** Feature-Bit7 of Word 0: AnnexM/J US PSD Shaping (ADSL only) */
-   DSL_uint16_t W0F07 : 1;
-   /** Feature-Bit6 of Word 0: AnnexM/J US Mask Selection (ADSL only) */
-   DSL_uint16_t W0F06 : 1;
-   /** Feature-Bit5 of Word 0: Annex M (ADSL only) */
-   DSL_uint16_t W0F05 : 1;
-   /** Feature-Bit4 of Word 0: Annex J (ADSL only) */
-   DSL_uint16_t W0F04 : 1;
-   /** Feature-Bit3 of Word 0: Annex I (ADSL only) */
-   DSL_uint16_t W0F03 : 1;
-   /** Feature-Bit2 of Word 0: Annex B (ADSL only) */
-   DSL_uint16_t W0F02 : 1;
-   /** Feature-Bit1 of Word 0: T1.413 (ADSL only) */
-   DSL_uint16_t W0F01 : 1;
-   /** Feature-Bit0 of Word 0: Annex A (incl. Annex L) (ADSL only) */
-   DSL_uint16_t W0F00 : 1;
-   /** Feature-Bit15 of Word 1: NTR */
-   DSL_uint16_t W1F15 : 1;
-   /** Feature-Bit14 of Word 1: CIPolicy */
-   DSL_uint16_t W1F14 : 1;
-   /** Feature-Bit13 of Word 1: Pre-emption & Short Packets  */
-   DSL_uint16_t W1F13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Feature-Bit10 of Word 1: Short init (ADSL only) */
-   DSL_uint16_t W1F10 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Feature-Bit8 of Word 1: Erasure Decoding /FORCEINP */
-   DSL_uint16_t W1F08 : 1;
-   /** Feature-Bit7 of Word 1: L2 (ADSL only) */
-   DSL_uint16_t W1F07 : 1;
-   /** Feature-Bit6 of Word 1: Not used in ADSL */
-   DSL_uint16_t W1F06 : 1;
-   /** Feature-Bit5 of Word 1: G.INP Retransmission DS + SRA */
-   DSL_uint16_t W1F05 : 1;
-   /** Feature-Bit4 of Word 1: Not used in ADSL */
-   DSL_uint16_t W1F04 : 1;
-   /** Feature-Bit3 of Word 1: G.INP Retransmission DS + Bonding (EFM) */
-   DSL_uint16_t W1F03 : 1;
-   /** Feature-Bit2 of Word 1: Not used in ADSL */
-   DSL_uint16_t W1F02 : 1;
-   /** Reserved */
-   DSL_uint16_t Res3 : 2;
-   /** Reserved */
-   DSL_uint16_t Res4 : 12;
-   /** Reserved */
-   DSL_uint16_t Res5 : 1;
-   /** Feature-Bit2 of Word 2: Microfilter Detection and Hybrid Data */
-   DSL_uint16_t W2F02 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 2;
-   /** Reserved */
-   DSL_uint16_t Res7 : 16;
-   /** Reserved */
-   DSL_uint16_t Res8 : 16;
-   /** Reserved */
-   DSL_uint16_t Res9 : 16;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Feature-Bit0 of Word 0: Annex A (incl. Annex L) (ADSL only) */
-   DSL_uint16_t W0F00 : 1;
-   /** Feature-Bit1 of Word 0: T1.413 (ADSL only) */
-   DSL_uint16_t W0F01 : 1;
-   /** Feature-Bit2 of Word 0: Annex B (ADSL only) */
-   DSL_uint16_t W0F02 : 1;
-   /** Feature-Bit3 of Word 0: Annex I (ADSL only) */
-   DSL_uint16_t W0F03 : 1;
-   /** Feature-Bit4 of Word 0: Annex J (ADSL only) */
-   DSL_uint16_t W0F04 : 1;
-   /** Feature-Bit5 of Word 0: Annex M (ADSL only) */
-   DSL_uint16_t W0F05 : 1;
-   /** Feature-Bit6 of Word 0: AnnexM/J US Mask Selection (ADSL only) */
-   DSL_uint16_t W0F06 : 1;
-   /** Feature-Bit7 of Word 0: AnnexM/J US PSD Shaping (ADSL only) */
-   DSL_uint16_t W0F07 : 1;
-   /** Feature-Bit8 of Word 0: PTM-TC for ADSL2x  */
-   DSL_uint16_t W0F08 : 1;
-   /** Reserved */
-   DSL_uint16_t W0F09 : 1;
-   /** Feature-Bit10 of Word 0: PTM Off-chip Bonding BACP */
-   DSL_uint16_t W0F10 : 1;
-   /** Feature-Bit11 of Word 0: PTM Off-chip bonding (GHS-based) */
-   DSL_uint16_t W0F11 : 1;
-   /** Feature-Bits 15:12 of Word 0: Not used in ADSL */
-   DSL_uint16_t Res0 : 4;
-   /** Reserved */
-   DSL_uint16_t Res4 : 12;
-   /** Reserved */
-   DSL_uint16_t Res3 : 2;
-   /** Feature-Bit2 of Word 1: Not used in ADSL */
-   DSL_uint16_t W1F02 : 1;
-   /** Feature-Bit3 of Word 1: G.INP Retransmission DS + Bonding (EFM) */
-   DSL_uint16_t W1F03 : 1;
-   /** Feature-Bit4 of Word 1: Not used in ADSL */
-   DSL_uint16_t W1F04 : 1;
-   /** Feature-Bit5 of Word 1: G.INP Retransmission DS + SRA */
-   DSL_uint16_t W1F05 : 1;
-   /** Feature-Bit6 of Word 1: Not used in ADSL */
-   DSL_uint16_t W1F06 : 1;
-   /** Feature-Bit7 of Word 1: L2 (ADSL only) */
-   DSL_uint16_t W1F07 : 1;
-   /** Feature-Bit8 of Word 1: Erasure Decoding /FORCEINP */
-   DSL_uint16_t W1F08 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Feature-Bit10 of Word 1: Short init (ADSL only) */
-   DSL_uint16_t W1F10 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Feature-Bit13 of Word 1: Pre-emption & Short Packets  */
-   DSL_uint16_t W1F13 : 1;
-   /** Feature-Bit14 of Word 1: CIPolicy */
-   DSL_uint16_t W1F14 : 1;
-   /** Feature-Bit15 of Word 1: NTR */
-   DSL_uint16_t W1F15 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 16;
-   /** Reserved */
-   DSL_uint16_t Res6 : 2;
-   /** Feature-Bit2 of Word 2: Microfilter Detection and Hybrid Data */
-   DSL_uint16_t W2F02 : 1;
-   /** Reserved */
-   DSL_uint16_t Res5 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 16;
-   /** Reserved */
-   DSL_uint16_t Res9 : 16;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Requests the feature map indicating the VDSL FW features supported by this
-   binary.
-*/
-struct CMD_VDSL_FeatureMapGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Reports the feature map indicating the VDSL FW features supported by this
-   binary.
-*/
-struct ACK_VDSL_FeatureMapGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Feature-Bit15 of Word 0: Profile 35b (VDSL only) */
-   DSL_uint16_t W0F15 : 1;
-   /** Feature-Bit14 of Word 0: Profile 30 (VDSL only) */
-   DSL_uint16_t W0F14 : 1;
-   /** Feature-Bit13 of Word 0: Profiles 8x to 17a (VDSL only) */
-   DSL_uint16_t W0F13 : 1;
-   /** Reserved */
-   DSL_uint16_t W0F12 : 1;
-   /** Feature-Bit11 of Word 0: PTM Off-chip bonding (GHS-based) */
-   DSL_uint16_t W0F11 : 1;
-   /** Feature-Bit10 of Word 0: PTM Off-chip Bonding BACP */
-   DSL_uint16_t W0F10 : 1;
-   /** Reserved */
-   DSL_uint16_t W0F09 : 1;
-   /** Feature-Bits 8:0 of Word 0: Not used in VDSL */
-   DSL_uint16_t Res0 : 9;
-   /** Feature-Bit15 of Word 1: NTR */
-   DSL_uint16_t W1F15 : 1;
-   /** Feature-Bit14 of Word 1: CIPolicy */
-   DSL_uint16_t W1F14 : 1;
-   /** Feature-Bit13 of Word 1: Pre-emption & Short Packets  */
-   DSL_uint16_t W1F13 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Feature-Bit10 of Word 1: Not used in VDSL */
-   DSL_uint16_t Res3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 1;
-   /** Feature-Bit8 of Word 1: Erasure Decoding /FORCEINP */
-   DSL_uint16_t W1F08 : 1;
-   /** Feature-Bit7 of Word 1: Not used in VDSL */
-   DSL_uint16_t Res5 : 1;
-   /** Feature-Bit6 of Word 1: G.INP Retransmission US + DS + SRA (VDSL only) */
-   DSL_uint16_t W1F06 : 1;
-   /** Feature-Bit5 of Word 1: G.INP Retransmission DS + SRA */
-   DSL_uint16_t W1F05 : 1;
-   /** Feature-Bit4 of Word 1: G.INP Retransmission US + DS + PAF (VDSL only) */
-   DSL_uint16_t W1F04 : 1;
-   /** Feature-Bit3 of Word 1: G.INP Retransmission DS + Bonding (EFM) */
-   DSL_uint16_t W1F03 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 3;
-   /** Reserved */
-   DSL_uint16_t Res7 : 12;
-   /** Feature-Bit3 of Word 2: AEC/2nd DAC */
-   DSL_uint16_t W2F03 : 1;
-   /** Feature-Bit2 of Word 2: Microfilter Detection and Hybrid Data */
-   DSL_uint16_t W2F02 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 2;
-   /** Reserved */
-   DSL_uint16_t Res9 : 13;
-   /** Feature-Bit2 of Word 3: Vectoring together with Bonding (EFM) */
-   DSL_uint16_t W3F02 : 1;
-   /** Feature-Bit1 of Word 3: Exchange of Transceiver IDs */
-   DSL_uint16_t W3F01 : 1;
-   /** Feature-Bit0 of Word 3: Vectoring (fully standard compliant) */
-   DSL_uint16_t W3F00 : 1;
-   /** Reserved */
-   DSL_uint16_t Res10 : 16;
-   /** Reserved */
-   DSL_uint16_t Res11 : 16;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Feature-Bits 8:0 of Word 0: Not used in VDSL */
-   DSL_uint16_t Res0 : 9;
-   /** Reserved */
-   DSL_uint16_t W0F09 : 1;
-   /** Feature-Bit10 of Word 0: PTM Off-chip Bonding BACP */
-   DSL_uint16_t W0F10 : 1;
-   /** Feature-Bit11 of Word 0: PTM Off-chip bonding (GHS-based) */
-   DSL_uint16_t W0F11 : 1;
-   /** Reserved */
-   DSL_uint16_t W0F12 : 1;
-   /** Feature-Bit13 of Word 0: Profiles 8x to 17a (VDSL only) */
-   DSL_uint16_t W0F13 : 1;
-   /** Feature-Bit14 of Word 0: Profile 30 (VDSL only) */
-   DSL_uint16_t W0F14 : 1;
-   /** Feature-Bit15 of Word 0: Profile 35b (VDSL only) */
-   DSL_uint16_t W0F15 : 1;
-   /** Reserved */
-   DSL_uint16_t Res6 : 3;
-   /** Feature-Bit3 of Word 1: G.INP Retransmission DS + Bonding (EFM) */
-   DSL_uint16_t W1F03 : 1;
-   /** Feature-Bit4 of Word 1: G.INP Retransmission US + DS + PAF (VDSL only) */
-   DSL_uint16_t W1F04 : 1;
-   /** Feature-Bit5 of Word 1: G.INP Retransmission DS + SRA */
-   DSL_uint16_t W1F05 : 1;
-   /** Feature-Bit6 of Word 1: G.INP Retransmission US + DS + SRA (VDSL only) */
-   DSL_uint16_t W1F06 : 1;
-   /** Feature-Bit7 of Word 1: Not used in VDSL */
-   DSL_uint16_t Res5 : 1;
-   /** Feature-Bit8 of Word 1: Erasure Decoding /FORCEINP */
-   DSL_uint16_t W1F08 : 1;
-   /** Reserved */
-   DSL_uint16_t Res4 : 1;
-   /** Feature-Bit10 of Word 1: Not used in VDSL */
-   DSL_uint16_t Res3 : 1;
-   /** Reserved */
-   DSL_uint16_t Res2 : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 1;
-   /** Feature-Bit13 of Word 1: Pre-emption & Short Packets  */
-   DSL_uint16_t W1F13 : 1;
-   /** Feature-Bit14 of Word 1: CIPolicy */
-   DSL_uint16_t W1F14 : 1;
-   /** Feature-Bit15 of Word 1: NTR */
-   DSL_uint16_t W1F15 : 1;
-   /** Reserved */
-   DSL_uint16_t Res8 : 2;
-   /** Feature-Bit2 of Word 2: Microfilter Detection and Hybrid Data */
-   DSL_uint16_t W2F02 : 1;
-   /** Feature-Bit3 of Word 2: AEC/2nd DAC */
-   DSL_uint16_t W2F03 : 1;
-   /** Reserved */
-   DSL_uint16_t Res7 : 12;
-   /** Feature-Bit0 of Word 3: Vectoring (fully standard compliant) */
-   DSL_uint16_t W3F00 : 1;
-   /** Feature-Bit1 of Word 3: Exchange of Transceiver IDs */
-   DSL_uint16_t W3F01 : 1;
-   /** Feature-Bit2 of Word 3: Vectoring together with Bonding (EFM) */
-   DSL_uint16_t W3F02 : 1;
-   /** Reserved */
-   DSL_uint16_t Res9 : 13;
-   /** Reserved */
-   DSL_uint16_t Res10 : 16;
-   /** Reserved */
-   DSL_uint16_t Res11 : 16;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message is used to enable bonding (PAF) and to control the GHS
-   aggregation discovery and aggregation processes. The register numbers
-   referenced refer to IEEE 802.3ah [14], Clause 45.
-*/
-struct CMD_PAF_HS_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** PCS Control Register (Register 3.61, Bit 0) */
-   DSL_uint16_t PAF_Enable : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PCS Control Register (Register 3.61, Bit 0) */
-   DSL_uint16_t PAF_Enable : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message acknowledges CMD_PAF_HS_Control.
-*/
-struct ACK_PAF_HS_Control
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message reads back settings for bonding configured with
-   CMD_PAF_HS_Control.
-*/
-struct CMD_PAF_HS_ControlGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message acknowledges CMD_PAF_HS_ControlGet providing PAF bonding
-   parameters used in handshake as configured with CMD_PAF_HS_Control.
-*/
-struct ACK_PAF_HS_ControlGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** PCS Control Register (Register 3.61, Bit 0) */
-   DSL_uint16_t PAF_Enable : 1;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PCS Control Register (Register 3.61, Bit 0) */
-   DSL_uint16_t PAF_Enable : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message requests aggregation discovery and aggregation status information
-   for EFM bonding.
-*/
-struct CMD_PAF_HS_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message reports discovery and aggregation status information for EFM
-   bonding after request by CMD_PAF_HS_StatusGet.At the CPE side, the Host SW
-   concludes on a GET request if none of the following 4 bits are set:
-   discoveryClearIfSame, discoverySetIfClear, aggregClear , aggregSet. It does
-   not distinguish between "discovery GET" and "aggregation GET"; in case of any
-   "GET" both the discovery and the aggregation code are sent to the CO with the
-   CLR.
-*/
-struct ACK_PAF_HS_StatusGet
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 9;
-   /** Discovery Clear-If-Same */
-   DSL_uint16_t discoveryClearIfSame : 1;
-   /** Discovery Set-If-Clear */
-   DSL_uint16_t discoverySetIfClear : 1;
-   /** Aggregation Clear */
-   DSL_uint16_t aggregClear : 1;
-   /** Aggregation Set */
-   DSL_uint16_t aggregSet : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** PCS Control Register (Register 3.60, Bit 12) */
-   DSL_uint16_t PAF_Enable : 1;
-   /** Aggregation Discovery Code (Register 6.18) */
-   DSL_uint16_t discoveryCode1;
-   /** Aggregation Discovery Code (Registers 6.19) */
-   DSL_uint16_t discoveryCode2;
-   /** Aggregation Discovery Code (Registers 6.20) */
-   DSL_uint16_t discoveryCode3;
-   /** Partner PME Aggregate Data (Registers 6.22) */
-   DSL_uint16_t aggregateData1;
-   /** Partner PME Aggregate Data (Registers 6.23) */
-   DSL_uint16_t aggregateData2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PCS Control Register (Register 3.60, Bit 12) */
-   DSL_uint16_t PAF_Enable : 1;
-   /** Reserved */
-   DSL_uint16_t Res1 : 2;
-   /** Aggregation Set */
-   DSL_uint16_t aggregSet : 1;
-   /** Aggregation Clear */
-   DSL_uint16_t aggregClear : 1;
-   /** Discovery Set-If-Clear */
-   DSL_uint16_t discoverySetIfClear : 1;
-   /** Discovery Clear-If-Same */
-   DSL_uint16_t discoveryClearIfSame : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 9;
-   /** Aggregation Discovery Code (Register 6.18) */
-   DSL_uint16_t discoveryCode1;
-   /** Aggregation Discovery Code (Registers 6.19) */
-   DSL_uint16_t discoveryCode2;
-   /** Aggregation Discovery Code (Registers 6.20) */
-   DSL_uint16_t discoveryCode3;
-   /** Partner PME Aggregate Data (Registers 6.22) */
-   DSL_uint16_t aggregateData1;
-   /** Partner PME Aggregate Data (Registers 6.23) */
-   DSL_uint16_t aggregateData2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message writes the aggregation discovery code and the aggregation data
-   down to the FW and is used to trigger the CPE-FW to proceed in handshake
-   (sending CLR) after it had been waiting in GHS_BONDING_CLR state for the
-   necessary host interactions to be finished. These actions depend on the
-   request type (see ACK_PAF_HS_StatusGet): the processing of the remote
-   discovery register (for an aggregation discovery "Set If Clear" or "Clear If
-   Same" command) or PME Aggregate register (for an aggregation "Set" or "Clear"
-   command) in the SW and -in any case including a "Get" command - then updating
-   the local representations of both in the FW (which are sent to the CO in a
-   CLR).
-*/
-struct CMD_PAF_HS_Continue
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** Continue Trigger */
-   DSL_uint16_t trigger : 1;
-   /** Aggregation Discovery Code (Register 6.18) */
-   DSL_uint16_t discoveryCode1;
-   /** Aggregation Discovery Code (Registers 6.19) */
-   DSL_uint16_t discoveryCode2;
-   /** Aggregation Discovery Code (Registers 6.20) */
-   DSL_uint16_t discoveryCode3;
-   /** Partner PME Aggregate Data (Registers 6.22) */
-   DSL_uint16_t aggregateData1;
-   /** Partner PME Aggregate Data (Registers 6.23) */
-   DSL_uint16_t aggregateData2;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** Continue Trigger */
-   DSL_uint16_t trigger : 1;
-   /** Reserved */
-   DSL_uint16_t Res0 : 15;
-   /** Aggregation Discovery Code (Register 6.18) */
-   DSL_uint16_t discoveryCode1;
-   /** Aggregation Discovery Code (Registers 6.19) */
-   DSL_uint16_t discoveryCode2;
-   /** Aggregation Discovery Code (Registers 6.20) */
-   DSL_uint16_t discoveryCode3;
-   /** Partner PME Aggregate Data (Registers 6.22) */
-   DSL_uint16_t aggregateData1;
-   /** Partner PME Aggregate Data (Registers 6.23) */
-   DSL_uint16_t aggregateData2;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message acknowledges CMD_PAF_HS_Continue.
-*/
-struct ACK_PAF_HS_Continue
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-/**
-   Sets the PME identification number. This number is transferred with the CLR
-   message to the CO.
-*/
-struct CMD_PAF_PME_ID_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PME ID */
-   DSL_uint16_t PmeId;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-   /** PME ID */
-   DSL_uint16_t PmeId;
-#endif
-} __PACKED__ ;
-
-
-/**
-   The message acknowledges CMD_PAF_PME_ID_Set.
-*/
-struct ACK_PAF_PME_ID_Set
-{
-#if DSL_BYTE_ORDER == DSL_BIG_ENDIAN
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#else
-   /** Index */
-   DSL_uint16_t Index;
-   /** Length */
-   DSL_uint16_t Length;
-#endif
-} __PACKED__ ;
-
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __PACKED_DEFINED__
-   #if !(defined (__GNUC__) || defined (__GNUG__))
-      #pragma pack()
-   #endif
-   #undef __PACKED_DEFINED__
-#endif /* __PACKED_DEFINED__ */
-
-/** @} */
-
-#endif /** _DRV_DSL_CPE_VRX_MSG_TC_COUNTERS_H_*/
-- 
GitLab