#ifndef _UMAP_ENUM_H_
#define _UMAP_ENUM_H_

#include "umap_enum_cm.h"
#include "umap_enum_pm.h"
#include "umap_enum_fm.h"
#include "umap_enum_mm.h"
#include "umap_enum_internal.h"

/****** enum rowStatus **************************/
#define ROWSTATUS_ACTIVE				1
#define ROWSTATUS_NOTINSERVICE		2
#define ROWSTATUS_NOTREADY				3
#define ROWSTATUS_CREATEANDGO			4
#define ROWSTATUS_CREATEANDWAIT		5
#define ROWSTATUS_DESTROY				6

/****** enum atmTrafficDescriptorTypes **********/
#define ATMTRAFFICDESCRTYPE_ATMNOTRAFFICDESCRIPTOR 1
#define ATMTRAFFICDESCRTYPE_ATMNOCLPNOSCR 			2
#define ATMTRAFFICDESCRTYPE_ATMCLPNOTAGGINGNOSCR 	3
#define ATMTRAFFICDESCRTYPE_ATMCLPTAGGINGBOSCR		4 
#define ATMTRAFFICDESCRTYPE_ATMNOCLPSCR 				5
#define ATMTRAFFICDESCRTYPE_ATMCLPNOTAGGINGSCR 		6
#define ATMTRAFFICDESCRTYPE_ATMCLPTAGGINGSCR 		7
#define ATMTRAFFICDESCRTYPE_ATMCLPNOTAGGINGMCR 		8
#define ATMTRAFFICDESCRTYPE_ATMCLPTRANSPARENTNOSCR 9
#define ATMTRAFFICDESCRTYPE_ATMCLPTRANSPARENTSCR 	10
#define ATMTRAFFICDESCRTYPE_ATMNOCLPTAGGINGNOSCR 	11
#define ATMTRAFFICDESCRTYPE_ATMNOCLPNOSCRCDVT 		12
#define ATMTRAFFICDESCRTYPE_ATMNOCLPSCRCDVT 			13	
#define ATMTRAFFICDESCRTYPE_ATMCLPNOTAGGINGSCRCDVT 14
#define ATMTRAFFICDESCRTYPE_ATMCLPTAGGINGSCRCDVT 	15

#define LEDSTATUS_OFF				0
#define LEDSTATUS_RED				1
#define LEDSTATUS_GREEN				2
#define LEDSTATUS_YELLOW			3
#define LEDSTATUS_REDFLASH			5
#define LEDSTATUS_GREENFLASH		6
#define LEDSTATUS_YELLOWFLASH		7
/*

enum UMAP_Adsl2LineCoding_E
{
    ADSL2_LINE_other=1,
    ADSL2_LINE_dmt=2,
    ADSL2_LINE_cap=3,
    ADSL2_LINE_qam=4
    
};

enum UMAP_Adsl2LineType_E
{
    ADSL2_LINE_noChannel=1,
    ADSL2_LINE_fastOnly=2,
    ADSL2_LINE_interleavedOnly=3,
    ADSL2_LINE_fastOrInterleaved=4,
    ADSL2_LINE_fastAndInterleaved=5
    
};

enum UMAP_Adsl2LineTransCap_E
{
    ADSL2_LINE_CAP_ansit1413=0x00000001,                                // | t1.413    |--------------|-----|  
    ADSL2_LINE_CAP_etsi=0x00000002,                                     // | etsi      |--------------|-----|  
    ADSL2_LINE_CAP_q9921PotsNonOverlapped=0x00000004,                   // | g.dmt     | annex a      | fdm |  
    ADSL2_LINE_CAP_q9921PotsOverlapped=0x00000008,                      // | g.dmt     | annex a      | ec  |  
    ADSL2_LINE_CAP_q9921IsdnNonOverlapped=0x00000010,                   // | g.dmt     | annex b      | fdm |  
    ADSL2_LINE_CAP_q9921IsdnOverlapped=0x00000020,                      // | g.dmt     | annex b      | ec  |  
    ADSL2_LINE_CAP_q9921tcmIsdnNonOverlapped=0x00000040,                // | g.dmt     | annex c      | fdm |  
    ADSL2_LINE_CAP_q9921tcmIsdnOverlapped=0x00000080,                   // | g.dmt     | annex c      | ec  |  
    ADSL2_LINE_CAP_q9922potsNonOverlapped=0x00000100,                   // | g.lite    | annex a      | fdm |  
    ADSL2_LINE_CAP_q9922potsOverlapped=0x00000200,                      // | g.lite    | annex b      | fdm |  
    ADSL2_LINE_CAP_q9922tcmIsdnNonOverlapped=0x00000400,                // | g.lite    | annex c      | ec  |  
    ADSL2_LINE_CAP_q9922tcmIsdnOverlapped=0x00000800,                   // | g.lite    | annex c      | fdm |  
    ADSL2_LINE_CAP_q9921tcmIsdnSymmetric=0x00001000,                    // | g.dmt     | annex h      |-----|  
    ADSL2_LINE_CAP_adslPlusPotsNonOverlapped=0x00002000,                // | adsl+     | annex a      | fdm |  
    ADSL2_LINE_CAP_q9921AnnexItcmIsdnNonOverlapped=0x00004000,          // | g.dmt     | annex i      | fdm |  
    ADSL2_LINE_CAP_q9921AnnexItcmIsdnOverlapped=0x00008000,             // | g.dmt     | annex i      | ec  |  
    ADSL2_LINE_CAP_q9922AnnexItcmIsdnNonOverlapped=0x00010000,          // | g.lite    | annex i      | ec  |  
    ADSL2_LINE_CAP_q9922AnnexItcmIsdnOverlapped=0x00020000,             // | g.lite    | annex i      | fdm |  
    ADSL2_LINE_CAP_adslPlusPotsOverlapped=0x00040000,                   // | adsl+     | annex a      | ec  |  
    ADSL2_LINE_CAP_q9921GSpanPlusPotsNonOverlapped=0x80000000,          // | G.SPAN+   | annex g.span | fdm |  
    ADSL2_LINE_CAP_q9921GSpanPlusPotsOverlapped=0x40000000,             // | G.SPAN+   | annex g.span | ec  |  
    ADSL2_LINE_CAP_q9923AnnexADSL2PotsOverlapped=0x20000000,            // | ADSL2     | annex adsl2  | ec  |  
    ADSL2_LINE_CAP_q9923AnnexADSL2PotsNonOverlapped=0x10000000,         // | ADSL2     | annex adsl2  | fdm |  
    ADSL2_LINE_CAP_q9925AnnexADSL2PlusPotsOverlapped=0x08000000,        // | ADSL2Plus | annex adsl2  | ec  |  
    ADSL2_LINE_CAP_q9925AnnexADSL2PlusPotsNonOverlapped=0x04000000,     // | ADSL2Plus | annex adsl2  | fdm |  
    ADSL2_LINE_CAP_q9923AnnexREADSL2PotsOverlapped=0x00400000,          // | READSL2   | annex adsl2  | ec  |  
    ADSL2_LINE_CAP_q9923AnnexREADSL2PotsNonOverlapped=0x00800000,       // | READSL2   | annex adsl2  | fdm |  

};

enum UMAP_Adsl2AtucConfRateMode_E
{
    ADSL2_fixed=1,
    ADSL2_adaptAtStartup=2,
    ADSL2_adaptAtRuntime=3
};

enum UMAP_Adsl2ConfProfileLineType_E
{
    ADSL2_noChannel=1, //not supported
    ADSL2_fastOnly=2,
    ADSL2_interleavedOnly=3,
    ADSL2_fastOrInterleaved=4,
    ADSL2_fastAndInterleaved=5 //not supported
    
};

enum UMAP_Adsl2ProtocolBitmap_E
{
    ADSL2_LINE_MODE_MASK_992_1_A =(1UL<<  0),   //[0]: G.992.1 - Annex A
    ADSL2_LINE_MODE_MASK_992_1_B =(1UL<<  1),   //[1]: G.992.1 - Annex B
    ADSL2_LINE_MODE_MASK_992_1_C =(1UL<<  2),   //[2]: G.992.1 - Annex C
    ADSL2_LINE_MODE_MASK_992_2_A =(1UL<<  3),   //[3]: G.992.2 - Annex A
    ADSL2_LINE_MODE_MASK_992_2_C =(1UL<<  4),   //[4]: G.992.2 - Annex C
    ADSL2_LINE_MODE_MASK_992_1_H =(1UL<<  5),   //[5]: G.992.1 - Annex H
    ADSL2_LINE_MODE_MASK_992_1_I =(1UL<<  6),   //[6]: G.992.1 - Annex I
    ADSL2_LINE_MODE_MASK_991_2_A =(1UL<<  8),   //[8]: G.991.2 - Annex A
    ADSL2_LINE_MODE_MASK_991_2_B =(1UL<<  9),   //[9]: G.991.2 - Annex B
    ADSL2_LINE_MODE_MASK_992_3_A =(1UL<< 16),   //[16]: G.992.3 - Annex A
    ADSL2_LINE_MODE_MASK_992_3_B =(1UL<< 17),   //[17]: G.992.3 - Annex B
    ADSL2_LINE_MODE_MASK_992_3_I =(1UL<< 18),   //[18]: G.992.3 - Annex I
    ADSL2_LINE_MODE_MASK_992_3_M =(1UL<< 19),   //[19]: G.992.3 - Annex M
    ADSL2_LINE_MODE_MASK_992_4_A =(1UL<< 20),   //[20]: G.992.4 - Annex A
    ADSL2_LINE_MODE_MASK_992_4_I =(1UL<< 21),   //[21]: G.992.4 - Annex I
    ADSL2_LINE_MODE_MASK_992_3_L1=(1UL<< 22),   //[22]: G.992.3 - Annex L (READSL)
    ADSL2_LINE_MODE_MASK_992_3_L2=(1UL<< 23),   //[23]: G.992.3 - Annex L Narrow PSD (READSL)
    ADSL2_LINE_MODE_MASK_992_5_A =(1UL<< 24),   //[24]: G.992.5 - Annex A
    ADSL2_LINE_MODE_MASK_992_5_B =(1UL<< 25),   //[25]: G.992.5 - Annex B
    ADSL2_LINE_MODE_MASK_992_5_I =(1UL<< 26),   //[26]: G.992.5 - Annex I
    ADSL2_LINE_MODE_MASK_992_5_M =(1UL<< 27),   //[27]: G.992.5 - Annex M
    ADSL2_LINE_MODE_MASK_SADSL   =(1UL<< 29),   //[29]: SADSL (proprietary mode)
    ADSL2_LINE_MODE_MASK_ANSI    =(1UL<< 30),   //[30]: ANSI T1.413
    ADSL2_LINE_MODE_MASK_ETSI    =(1UL<< 31)    //[31]: ETSI TS 101 388

};


enum UMAP_Adsl2ConfCoding_E
{
    ADSL2_CONF_TrellisAndReedSolomon=0, //Concatenated trellis and Reed-Solomon coding
    ADSL2_CONF_TrellisOnly,             //Trellis coding
    ADSL2_CONF_ReedSolomonOnly,         //Reed-Solomon coding   
    ADSL2_CONF_NoCoding                 //No coding
};

enum UMAP_Adsl2ConfBitswap_E
{
    ADSL2_CONF_UsAndDsBitSwap=0,
    ADSL2_CONF_DsBitSwapOnly,
    ADSL2_CONF_UsBitSwapOnly,
    ADSL2_CONF_NoBitSwap

};

enum UMAP_Adsl2PlusPsdShapeDn_E
{
    ADSL2_PLUS_PSD_SHAPE_DN_STD=0,
    ADSL2_PLUS_PSD_SHAPE_DN_CA140,
    ADSL2_PLUS_PSD_SHAPE_DN_CA150,
    ADSL2_PLUS_PSD_SHAPE_DN_CA160,
    ADSL2_PLUS_PSD_SHAPE_DN_CA170,
    ADSL2_PLUS_PSD_SHAPE_DN_CA180,
    ADSL2_PLUS_PSD_SHAPE_DN_CA190,
    ADSL2_PLUS_PSD_SHAPE_DN_CA200,
    ADSL2_PLUS_PSD_SHAPE_DN_CA210,
    ADSL2_PLUS_PSD_SHAPE_DN_CA220,
    ADSL2_PLUS_PSD_SHAPE_DN_CA230,
    ADSL2_PLUS_PSD_SHAPE_DN_CA240,
    ADSL2_PLUS_PSD_SHAPE_DN_CA250,
    ADSL2_PLUS_PSD_SHAPE_DN_CA260,
    ADSL2_PLUS_PSD_SHAPE_DN_CA270,
    ADSL2_PLUS_PSD_SHAPE_DN_CA280

};

enum UMAP_Adsl2ConfPmMode_E
{
    ADSL2_CONF_PMMODE_DisableAutoL2Entry=0x0001,            //Bit[0]: Disable autonomous L2 entry/exit.
    ADSL2_CONF_PMMODE_DisableAutoL2PowerTrim=0x0002,        //Bit[1]: Disable autonomous L2 power trim.
    ADSL2_CONF_PMMODE_OverruleL2MinandMaxCalculate=0x0004   //Bit[2]: Overrule L2 min/max rate calculation by the minL2Bitrate and the maxL2Bitrate .

};

enum UMAP_Adsl2AtucCurrStatus_E
{
    ADSL2_ATUC_LINE_noDefect=0x00,
    ADSL2_ATUC_LINE_STATUS_FAILURE_UAS              =(1<< 1),
    ADSL2_ATUC_LINE_STATUS_FAILURE_NO_SHOWTIME      =(1<< 2), //lossOfLink
    ADSL2_ATUC_LINE_STATUS_FAILURE_LCD_I            =(1<< 6), //lossOfSignalQuality
    ADSL2_ATUC_LINE_STATUS_FAILURE_LCD_F            =(1<< 7),
    ADSL2_ATUC_LINE_STATUS_FAILURE_LOS              =(1<<12), //lossOfSignal
    ADSL2_ATUC_LINE_STATUS_FAILURE_LOF              =(1<<13), //lossOfFraming
    ADSL2_ATUC_LINE_STATUS_FAILURE_NCD_I            =(1<<14),
    ADSL2_ATUC_LINE_STATUS_FAILURE_NCD_F            =(1<<15),
    ADSL2_ATUC_LINE_STATUS_FAILURE_LPR              =(1<<18), //lossOfPower
    ADSL2_ATUC_LINE_STATUS_FAILURE_CONFIG_ERROR     =(1<<24), //configInitFailure
    ADSL2_ATUC_LINE_STATUS_FAILURE_HIGH_BIT_RATE    =(1<<25),
    ADSL2_ATUC_LINE_STATUS_FAILURE_COMM_PROBLEM     =(1<<26),
    ADSL2_ATUC_LINE_STATUS_FAILURE_NO_PEER_DETECTED =(1<<27),  //noPeerAtuPresent
    ADSL2_ATUC_LINE_STATUS_FAILURE_LOM              =(1<<28)   //lossOfMargin

};

enum UMAP_Adsl2AturCurrStatus_E
{
    ADSL2_ATUR_LINE_noDefect=0x00,
    ADSL2_ATUR_LINE_STATUS_FAILURE_UAS              =(1<< 1),
    ADSL2_ATUR_LINE_STATUS_FAILURE_NO_SHOWTIME      =(1<< 2), //lossOfLink
    ADSL2_ATUR_LINE_STATUS_FAILURE_LCD_I            =(1<< 6), //lossOfSignalQuality
    ADSL2_ATUR_LINE_STATUS_FAILURE_LCD_F            =(1<< 7),
    ADSL2_ATUR_LINE_STATUS_FAILURE_LOS              =(1<<12), //lossOfSignal
    ADSL2_ATUR_LINE_STATUS_FAILURE_LOF              =(1<<13), //lossOfFraming
    ADSL2_ATUR_LINE_STATUS_FAILURE_NCD_I            =(1<<14),
    ADSL2_ATUR_LINE_STATUS_FAILURE_NCD_F            =(1<<15),
    ADSL2_ATUR_LINE_STATUS_FAILURE_LPR              =(1<<18), //lossOfPower
    ADSL2_ATUR_LINE_STATUS_FAILURE_LOM              =(1<<28)  //lossOfMargin

};

enum UMAP_Adsl2OpState_E
{
    ADSL2_IDLE_OP=0,
    ADSL2_HANDSHAKE_OP,     // RUNNING_ACTIVATION (attempt to connect with ATU-R)  
    ADSL2_TRAINING_OP,      // RUNNING_INITIALIZATION (busy with establishing the link)  
    ADSL2_DATA_L0_OP,       // RUNNING_SHOWTIME_L0 (data transport is active)  
    ADSL2_DATA_L2_OP,       // RUNNING_SHOWTIME_L2 (data transport is active in L2 Power Mangement Mode).  
    ADSL2_TEST_MODE_OP,     // TEST_MODE (Test Mode is active)  
    ADSL2_RUN_LD_INIT,      // RUNNING_LD_INIT (Loop Diagnostics Mode initialization ongoing).  
    ADSL2_IDLE_LD_DONE      // IDLE_LD_COMPLETE (Loop Diagnostics Mode initialization successfully completed).  

};

enum UMAP_Adsl2AtucPmTrap_E
{
    ADSL2_ATUC_FECSL_THRESH=0,
    ADSL2_ATUC_LOFS_THRESH ,
    ADSL2_ATUC_LOSS_THRESH ,
    ADSL2_ATUC_LOLS_THRESH ,
    ADSL2_ATUC_LPRS_THRESH ,
    ADSL2_ATUC_ESS_THRESH ,
    ADSL2_ATUC_SESL_THRESH ,
    ADSL2_ATUC_UASL_THRESH ,
    ADSL2_ATUC_FAIL_FASTR_THRESH

}; 

enum UMAP_Adsl2AturPmTrap_E
{
    ADSL2_ATUR_FECSL_THRESH=0,
    ADSL2_ATUR_LOFS_THRESH ,
    ADSL2_ATUR_LOSS_THRESH ,
    ADSL2_ATUR_LPRS_THRESH ,
    ADSL2_ATUR_ESS_THRESH ,
    ADSL2_ATUR_SESL_THRESH ,
    ADSL2_ATUR_UASL_THRESH

};



enum UMAP_Adsl2AtucCmTrap_E
{
    ADSL2_ATUC_INIT_FAIL=0 ,
    ADSL2_ATUC_RATE_CHANGE
};

enum UMAP_Adsl2AturCmTrap_E
{
    ADSL2_ATUR_RATE_CHANGE=1
};

enum UMAP_Adsl2PmState_E
{
    ADSL2_PM_STATE_L0=0,
    ADSL2_PM_STATE_L2,
    ADSL2_PM_STATE_L3
};

enum UMAP_Adsl2LoopDiagTestType_E
{
    ADSL2_LOOP_DIAG_TEST_DELT=0,
    ADSL2_LOOP_DIAG_TEST_SELT

};

enum UMAP_Adsl2LoopDiagTestResult_E
{
    ADSL2_LOOP_DIAG_TEST_NOSTART=0,
    ADSL2_LOOP_DIAG_TEST_PROGRESS,
    ADSL2_LOOP_DIAG_TEST_COMPLETE

};

enum UMAP_Adsl2SetCarDataCollect_E
{
    ADSL2_SET_CAR_DATA_COLLECT_OFF=0,
    ADSL2_SET_CAR_DATA_COLLECT_ON,
    ADSL2_SET_CAR_DATA_COLLECT_ONINIT

};


*/

/*
enum UMAP_WinpathIfcType_E
{
	WINPATHIFCTYPE_ENET1 = 1,
	WINPATHIFCTYPE_ENET2,
	WINPATHIFCTYPE_GBI1,
	WINPATHIFCTYPE_GBI2,
	WINPATHIFCTYPE_ATM1,
	WINPATHIFCTYPE_ATM2,
	WINPATHIFCTYPE_IMAGROUP
};

enum UMAP_WinpathIfcConnectionType_E
{
	WINPATHIFCCONNECTIONTYPE_VPL = 1,		
   WINPATHIFCCONNECTIONTYPE_VCL,		
   WINPATHIFCCONNECTIONTYPE_NONE			
};

enum UMAP_WinpathIfcRowStatus_E
{
	WINPATHIFCROWSTATUS_ACTIVE = 1,		
   WINPATHIFCROWSTATUS_NOTINSERVICE,		
   WINPATHIFCROWSTATUS_NOTREADY,		
   WINPATHIFCROWSTATUS_CREATEANDGO,		
   WINPATHIFCROWSTATUS_CREATEANDWAIT,		
   WINPATHIFCROWSTATUS_DESTROY			
};


enum UMAP_AtmVclAdminStatus_E
{
	ATMVCLADMINSTATUS_UP = 1,
   ATMVCLADMINSTATUS_DOWN
};

enum UMAP_AtmVclOperStatus_E
{
	ATMVCLOPERSTATUS_UP = 1,
   ATMVCLOPERSTATUS_DOWN,
   ATMVCLOPERSTATUS_UNKNOWN
};

enum UMAP_AtmVccAalType_E
{
	ATMVCCAALTYPE_AAL1 = 1,		
   ATMVCCAALTYPE_AAL34,		
   ATMVCCAALTYPE_AAL5,		
   ATMVCCAALTYPE_OTHER,		
   ATMVCCAALTYPE_UNKNOWN,		
   ATMVCCAALTYPE_AAL2		
};

enum UMAP_AtmVccAal5EncapsType_E
{
	ATMVCCAAL5ENCAPSTYPE_VCMULTIPLEXROUTEDPROTOCOL = 1,
   ATMVCCAAL5ENCAPSTYPE_VCMULTIPLEXBRIDGEDPROTOCOL8023,
   ATMVCCAAL5ENCAPSTYPE_VCMULTIPLEXBRIDGEDPROTOCOL8025,
   ATMVCCAAL5ENCAPSTYPE_VCMULTIPLEXBRIDGEDPROTOCOL8026,
   ATMVCCAAL5ENCAPSTYPE_VCMULTIPLEXLANEMULATION8023,
   ATMVCCAAL5ENCAPSTYPE_VCMULTIPLEXLANEMULATION8025,
   ATMVCCAAL5ENCAPSTYPE_LLCENCAPSULATION,
   ATMVCCAAL5ENCAPSTYPE_MULTIPROTOCOLFRAMERELAYSSCS,
   ATMVCCAAL5ENCAPSTYPE_OTHER,
   ATMVCCAAL5ENCAPSTYPE_UNKNOWN
};

enum UMAP_AtmVclRowStatus_E
{
	ATMVCLROWSTATUS_ACTIVE = 1,
   ATMVCLROWSTATUS_NOTINSERVICE,
   ATMVCLROWSTATUS_NOTREADY,
   ATMVCLROWSTATUS_CREATEANDGO,
   ATMVCLROWSTATUS_CREATEANDWAIT,
   ATMVCLROWSTATUS_DESTROY
};

enum UMAP_AtmVclCastType_E
{
	ATMVCLCASTTYPE_P2P = 1,
   ATMVCLCASTTYPE_P2MPROOT,
   ATMVCLCASTTYPE_P2MPLEAF
};

enum UMAP_AtmVclConnKind_E
{
	ATMVCLCONNKIND_PVC = 1,
   ATMVCLCONNKIND_SVCINCOMING,
   ATMVCLCONNKIND_SVCOUTGOING,
   ATMVCLCONNKIND_SPVCINITIATOR,
   ATMVCLCONNKIND_SPVCTARGET,
};
*/


#endif

