/*
 * nmtypes.c: Methods for types in nmtypes.h.
 *
 * Bruce Nelson, interWAVE, 08/07/95.
 * 
 * Modified by : XChen
 */

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "nmtypes.h"


/*
 * Methods for "class" Dva.
 */
void DvaCopy(tDva* pDstDva, tDva* pSrcDva)
{
	pDstDva->NetId = pSrcDva->NetId;
	pDstDva->NodeId = pSrcDva->NodeId;
}

int DvaEqual(tDva* pDva1, tDva* pDva2)
{
	return ((pDva1->NetId == pDva2->NetId) &&
		(pDva1->NodeId == pDva2->NodeId));
}

/*
 * Methods for "class" Oid.
 */
void OidCtor(tOid* pOid)
{
	u16*	pDst;
	u16*	pDstEnd;

	pDst = (u16*)pOid;
	pDstEnd = pDst + (sizeof(tOid) / sizeof(u16));
	do
	{
		*pDst++ = (u16)0;
	} while (++pDst < pDstEnd);
}


/* OidCopy takes advantage of the fact that an Oid structure may be treated as
 * an array of u16 elements.
 */
void OidCopy(tOid* pDstOid, tOid* pSrcOid)
{
	u16*	pDst;
	u16*	pSrc;
	u16*	pSrcEnd;

	pDst = (u16*)pDstOid;
	pSrc = (u16*)pSrcOid;
	pSrcEnd = pSrc + (sizeof(tOid) / sizeof(u16));
	do
	{
		*pDst++ = *pSrc;
	} while (++pSrc < pSrcEnd);
}

void OidMakeChild(tOid* pDstOid, tOid* pSrcOid, tCONT DstContId, u16 DstIndex)
{
	OidCopy(pDstOid, pSrcOid);
	pDstOid->ContId = DstContId;
	pDstOid->Ix[pDstOid->IxCnt++] = DstIndex;
}

bool GetMeasPara(int Cid,int Eid,int num,char *pTempPara)
{
	bool IsEvPara = TRUE;

//BtsMeasurement
	 if((Cid == 22)&&(Eid == 0)&&(num == 0))
						  strcpy(pTempPara,"LocationAreaCode");
	else if((Cid == 22)&&(Eid == 0)&&(num == 1))
						  strcpy(pTempPara,"CellIdentity");
	else if((Cid == 22)&&(Eid == 0)&&(num == 2))
						  strcpy(pTempPara,"StartTime");
	else if((Cid == 22)&&(Eid == 0)&&(num == 3))
						  strcpy(pTempPara,"BscName");
	else if((Cid == 22)&&(Eid == 0)&&(num == 4))
						  strcpy(pTempPara,"BtsName");
	else if((Cid == 22)&&(Eid == 0)&&(num == 5))
						  strcpy(pTempPara,"nbrOfAvailableTCHs"); 
	else if((Cid == 22)&&(Eid == 0)&&(num == 6))
						  strcpy(pTempPara,"meanNbrOfBusyTCHs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 7))
						  strcpy(pTempPara,"maxNbrOfBusyTCHs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 8))
						  strcpy(pTempPara,"meanNbrOfIdleTCHsPerInterferenceBand");
	else if((Cid == 22)&&(Eid == 0)&&(num == 9))					 
						  strcpy(pTempPara,"attTCHSeizures"); 
	else if((Cid == 22)&&(Eid == 0)&&(num == 10))
						  strcpy(pTempPara,"succTCHSeizures");
	else if((Cid == 22)&&(Eid == 0)&&(num == 11))
						  strcpy(pTempPara,"nbrOfAvailableSDCCHs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 12))
						  strcpy(pTempPara,"meanNbrOfBusySDCCHs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 13))
						  strcpy(pTempPara,"maxNbrOfBusySDCCHs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 14))
						  strcpy(pTempPara,"attSDCCHSeizures");
	else if((Cid == 22)&&(Eid == 0)&&(num == 15))
						  strcpy(pTempPara,"attSDCCHSeizuresFailures");
	else if((Cid == 22)&&(Eid == 0)&&(num == 16))
						  strcpy(pTempPara,"accAGCH");
	else if((Cid == 22)&&(Eid == 0)&&(num == 17))
						  strcpy(pTempPara,"accPagingChannel");
	else if((Cid == 22)&&(Eid == 0)&&(num == 18))
						  strcpy(pTempPara,"succAccProcCMReEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 19))
						  strcpy(pTempPara,"succAccProcCMServ");
	else if((Cid == 22)&&(Eid == 0)&&(num == 20))
						  strcpy(pTempPara,"succAccProcIMSIDet");
	else if((Cid == 22)&&(Eid == 0)&&(num == 21))
		                  strcpy(pTempPara,"succAccProcLocUpd");
	else if((Cid == 22)&&(Eid == 0)&&(num == 22))
		                  strcpy(pTempPara,"succAccProcPageRsp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 23))
		                  strcpy(pTempPara,"succAccProcRACH");
	else if((Cid == 22)&&(Eid == 0)&&(num == 24))
						  strcpy(pTempPara,"succImmediateAssingProcsEmgCall");
	else if((Cid == 22)&&(Eid == 0)&&(num == 25))
						  strcpy(pTempPara,"succImmediateAssingProcsCMReEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 26))
						  strcpy(pTempPara,"succImmediateAssingProcsPageRsp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 27))
						  strcpy(pTempPara,"succImmediateAssingProcsOrigCall");
	else if((Cid == 22)&&(Eid == 0)&&(num == 28))
						  strcpy(pTempPara,"succImmediateAssingProcsLocUpd");
	else if((Cid == 22)&&(Eid == 0)&&(num == 29))
						  strcpy(pTempPara,"succImmediateAssingProcsOthers");
	else if((Cid == 22)&&(Eid == 0)&&(num == 30))
						  strcpy(pTempPara,"maxNbrOfBlockCH");
	else if((Cid == 22)&&(Eid == 0)&&(num == 31))
						  strcpy(pTempPara,"chanReqMSFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 32))
						  strcpy(pTempPara,"MinQualityUL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 33))
						  strcpy(pTempPara,"MaxQualityUL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 34))
						  strcpy(pTempPara,"MeanQualityUL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 35))
						  strcpy(pTempPara,"TotalQualityDurationUL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 36))
						  strcpy(pTempPara,"TotalQualitySamplesUL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 37))
						  strcpy(pTempPara,"CumulativeQualityDistributionUL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 38))
						  strcpy(pTempPara,"MinQualityDL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 39))
						  strcpy(pTempPara,"MaxQualityDL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 40))
						  strcpy(pTempPara,"MeanQualityDL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 41))
						  strcpy(pTempPara,"TotalQualityDurationDL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 42))
						  strcpy(pTempPara,"TotalQualitySamplesDL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 43))
						  strcpy(pTempPara,"CumulativeQualityDistributionDL");
	else if((Cid == 22)&&(Eid == 0)&&(num == 44))
						  strcpy(pTempPara,"HoInterBSCReqToMSC");
	else if((Cid == 22)&&(Eid == 0)&&(num == 45))
						  strcpy(pTempPara,"HoInterBSCOutAtmpt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 46))
						  strcpy(pTempPara,"HoInterBSCMSFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 47))
						  strcpy(pTempPara,"HoInterBSCOut");
	else if((Cid == 22)&&(Eid == 0)&&(num == 48))
						  strcpy(pTempPara,"HoInterBSCIn");
	else if((Cid == 22)&&(Eid == 0)&&(num == 49))
						  strcpy(pTempPara,"HoIntraBSCAtmpt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 50))
						  strcpy(pTempPara,"HoIntraBSCIn");
	else if((Cid == 22)&&(Eid == 0)&&(num == 51))
						  strcpy(pTempPara,"HoIntraBscFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 52))
						  strcpy(pTempPara,"HoIntraBscLostMs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 53))
						  strcpy(pTempPara,"FailIncomingHDOs"); 
	else if((Cid == 22)&&(Eid == 0)&&(num == 54))
						  strcpy(pTempPara,"AvgRachSlotCount");
	else if((Cid == 22)&&(Eid == 0)&&(num == 55))
						  strcpy(pTempPara,"AvgRachBusyCount");
	else if((Cid == 22)&&(Eid == 0)&&(num == 56))
						  strcpy(pTempPara,"AvgRachAccessCount");
	else if((Cid == 22)&&(Eid == 0)&&(num == 57))
						  strcpy(pTempPara,"attTCHAssignments");
	else if((Cid == 22)&&(Eid == 0)&&(num == 58))
						  strcpy(pTempPara,"ImmAssignToBts");
	else if((Cid == 22)&&(Eid == 0)&&(num == 59))
						  strcpy(pTempPara,"meanTCHBusyTime");
	else if((Cid == 22)&&(Eid == 0)&&(num == 60))
						  strcpy(pTempPara,"SuccTchSmsEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 61))
						  strcpy(pTempPara,"SuccSdcchSmsEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 62))
						  strcpy(pTempPara,"UnsuccTchSmsEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 63))
						  strcpy(pTempPara,"UnsuccSdcchSmsEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 64))
						  strcpy(pTempPara,"attTransOfPagingMessagesThePCH");
	else if((Cid == 22)&&(Eid == 0)&&(num == 65))
						  strcpy(pTempPara,"PGCHLoading");
	else if((Cid == 22)&&(Eid == 0)&&(num == 66))
						  strcpy(pTempPara,"nbrOfPagesDiscardedFromPCHQueue");
	else if((Cid == 22)&&(Eid == 0)&&(num == 67))
						  strcpy(pTempPara,"TCHEmergencyCalls");
	else if((Cid == 22)&&(Eid == 0)&&(num == 68))
						  strcpy(pTempPara,"SDCCHEmergencyCalls");
	else if((Cid == 22)&&(Eid == 0)&&(num == 69))
						  strcpy(pTempPara,"SDCCHActFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 70))
						  strcpy(pTempPara,"deleteIndMsgCount");
	else if((Cid == 22)&&(Eid == 0)&&(num == 71))
						  strcpy(pTempPara,"UplinkAvgSignal");
	else if((Cid == 22)&&(Eid == 0)&&(num == 72))
						  strcpy(pTempPara,"DownlinkAvgSignal");
	else if((Cid == 22)&&(Eid == 0)&&(num == 73))
						  strcpy(pTempPara,"HoAtmpToNeighborPerTargetCell");
	else if((Cid == 22)&&(Eid == 0)&&(num == 74))
						  strcpy(pTempPara,"HoFailToNeighborPerTargetCell");
	else if((Cid == 22)&&(Eid == 0)&&(num == 75))
						  strcpy(pTempPara,"succOutgoingInternalInterCellHDOs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 76))
						  strcpy(pTempPara,"allAvailableTCHAllocatedTime");
	else if((Cid == 22)&&(Eid == 0)&&(num == 77))
						  strcpy(pTempPara,"allAvailableSDCCHAllocatedTime");
	else if((Cid == 22)&&(Eid == 0)&&(num == 78))
						  strcpy(pTempPara,"attInternalHDOsUlQual");
	else if((Cid == 22)&&(Eid == 0)&&(num == 79))
						  strcpy(pTempPara,"attInternalHDOsDlQual");
	else if((Cid == 22)&&(Eid == 0)&&(num == 80))
						  strcpy(pTempPara,"attInternalHDOsUlLevel");
	else if((Cid == 22)&&(Eid == 0)&&(num == 81))
						  strcpy(pTempPara,"attInternalHDOsDlLevel");
	else if((Cid == 22)&&(Eid == 0)&&(num == 82))
						  strcpy(pTempPara,"attInternalHDOsDistance");
	else if((Cid == 22)&&(Eid == 0)&&(num == 83))
						  strcpy(pTempPara,"attInternalHDOsOMC");
	else if((Cid == 22)&&(Eid == 0)&&(num == 84))
						  strcpy(pTempPara,"attInternalHDOsMSCInvoke");
	else if((Cid == 22)&&(Eid == 0)&&(num == 85))
						  strcpy(pTempPara,"attInternalHDOsBetterCell");
	else if((Cid == 22)&&(Eid == 0)&&(num == 86))
						  strcpy(pTempPara,"attInternalHDOsDirectedRetry");
	else if((Cid == 22)&&(Eid == 0)&&(num == 87))
						  strcpy(pTempPara,"attInternalHDOsCallControl");
	else if((Cid == 22)&&(Eid == 0)&&(num == 88))
						  strcpy(pTempPara,"SDCCHRadioFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 89))
    					  strcpy(pTempPara,"SDCCHAbisFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 90))
						  strcpy(pTempPara,"SDCCHAifFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 91))
						  strcpy(pTempPara,"SDCCHBtsFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 92))
						  strcpy(pTempPara,"SDCCHTrxFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 93))
						  strcpy(pTempPara,"SDCCHBssDrop");
	else if((Cid == 22)&&(Eid == 0)&&(num == 94))
						  strcpy(pTempPara,"TCHRadioFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 95))
						  strcpy(pTempPara,"TCHAbisFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 96))
						  strcpy(pTempPara,"TCHAifFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 97))
						  strcpy(pTempPara,"TCHBtsFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 98))
						  strcpy(pTempPara,"TCHTrxFail");
	else if((Cid == 22)&&(Eid == 0)&&(num == 99))
						  strcpy(pTempPara,"TCHBssDrop");
	else if((Cid == 22)&&(Eid == 0)&&(num == 100))
						  strcpy(pTempPara,"succAccProcCMOrigCall");
	else if((Cid == 22)&&(Eid == 0)&&(num == 101))
						  strcpy(pTempPara,"succAccProcCMSms");
	else if((Cid == 22)&&(Eid == 0)&&(num == 102))
						  strcpy(pTempPara,"succAccProcCMSs");
	else if((Cid == 22)&&(Eid == 0)&&(num == 103))
						  strcpy(pTempPara,"succAccProcCMGrpCall");
	else if((Cid == 22)&&(Eid == 0)&&(num == 104))
						  strcpy(pTempPara,"succAccProcCMBroadCast");
	else if((Cid == 22)&&(Eid == 0)&&(num == 105))
						  strcpy(pTempPara,"attImmediateAssingProcsEmgCall");
	else if((Cid == 22)&&(Eid == 0)&&(num == 106))
						  strcpy(pTempPara,"attImmediateAssingProcsCMReEst");
	else if((Cid == 22)&&(Eid == 0)&&(num == 107))
						  strcpy(pTempPara,"attImmediateAssingProcsPageRsp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 108))
						  strcpy(pTempPara,"attImmediateAssingProcsOrigCall");
	else if((Cid == 22)&&(Eid == 0)&&(num == 109))
						  strcpy(pTempPara,"attImmediateAssingProcsLocUpd");
	else if((Cid == 22)&&(Eid == 0)&&(num == 110))
						  strcpy(pTempPara,"attImmediateAssingProcsOthers");
	else if((Cid == 22)&&(Eid == 0)&&(num == 111))
						  strcpy(pTempPara,"ARMtAlert");
	else if((Cid == 22)&&(Eid == 0)&&(num == 112))
						  strcpy(pTempPara,"ARMoAlert");
	else if((Cid == 22)&&(Eid == 0)&&(num == 113))
						  strcpy(pTempPara,"ARCallCfm");
	else if((Cid == 22)&&(Eid == 0)&&(num == 114))
						  strcpy(pTempPara,"ARCallPro");
	else if((Cid == 22)&&(Eid == 0)&&(num == 115))
						  strcpy(pTempPara,"ARMtConnect");
	else if((Cid == 22)&&(Eid == 0)&&(num == 116))
						  strcpy(pTempPara,"ARMoConnect");
	else if((Cid == 22)&&(Eid == 0)&&(num == 117))
						  strcpy(pTempPara,"ARMtConAck");
	else if((Cid == 22)&&(Eid == 0)&&(num == 118))
						  strcpy(pTempPara,"ARMoConAck");
	else if((Cid == 22)&&(Eid == 0)&&(num == 119))
						  strcpy(pTempPara,"ARMtSetUp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 120))
						  strcpy(pTempPara,"ARMoSetUp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 121))
						  strcpy(pTempPara,"ARAuthReq");
	else if((Cid == 22)&&(Eid == 0)&&(num == 122))
						  strcpy(pTempPara,"ARAuthRes");
	else if((Cid == 22)&&(Eid == 0)&&(num == 123))
						  strcpy(pTempPara,"ARIdReq");
	else if((Cid == 22)&&(Eid == 0)&&(num == 124))
						  strcpy(pTempPara,"ARIdRes");
	else if((Cid == 22)&&(Eid == 0)&&(num == 125))
						  strcpy(pTempPara,"ARTmsiRelocCmd");
	else if((Cid == 22)&&(Eid == 0)&&(num == 126))
						  strcpy(pTempPara,"ARTmsiRelocCmp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 127))
						  strcpy(pTempPara,"ARCmServAcc");
	else if((Cid == 22)&&(Eid == 0)&&(num == 128))
						  strcpy(pTempPara,"ARCmServRej");
	else if((Cid == 22)&&(Eid == 0)&&(num == 129))
						  strcpy(pTempPara,"ARCmServAbt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 130))
						  strcpy(pTempPara,"ARLocUpdAcc");
	else if((Cid == 22)&&(Eid == 0)&&(num == 131))
						  strcpy(pTempPara,"ARLocUpdRej");
	else if((Cid == 22)&&(Eid == 0)&&(num == 132))
						  strcpy(pTempPara,"ARCimoCmd");
	else if((Cid == 22)&&(Eid == 0)&&(num == 133))
						  strcpy(pTempPara,"ARCimoCmp");
	else if((Cid == 22)&&(Eid == 0)&&(num == 134))
						  strcpy(pTempPara,"ARCimoRej");
	else if((Cid == 22)&&(Eid == 0)&&(num == 135))
						  strcpy(pTempPara,"AifBlocking");
	else if((Cid == 22)&&(Eid == 0)&&(num == 136))
						  strcpy(pTempPara,"TCHBlocking");
	else if((Cid == 22)&&(Eid == 0)&&(num == 137))
						  strcpy(pTempPara,"TrauBlocking");
	else if((Cid == 22)&&(Eid == 0)&&(num == 138))
						  strcpy(pTempPara,"HoInterBSCInAtmpt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 139))
						  strcpy(pTempPara,"succTCHAssignments");
	else if((Cid == 22)&&(Eid == 0)&&(num == 140))
						  strcpy(pTempPara,"FailTCHAssignments");
	else if((Cid == 22)&&(Eid == 0)&&(num == 141))
						  strcpy(pTempPara,"TCHQueuedCallAttempt"); 
	else if((Cid == 22)&&(Eid == 0)&&(num == 142))
						  strcpy(pTempPara,"TCHQueuedHoAttempt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 143))
						  strcpy(pTempPara,"QFullCallAttempt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 144))
						  strcpy(pTempPara,"QFullHoAttempt"); 
	else if((Cid == 22)&&(Eid == 0)&&(num == 145))
						  strcpy(pTempPara,"FailQdCallAttempt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 146))
						  strcpy(pTempPara,"FailQdHoAttempt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 147))
						  strcpy(pTempPara,"AvgQLength");
	else if((Cid == 22)&&(Eid == 0)&&(num == 148))
						  strcpy(pTempPara,"AvgQTimeCallAttempt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 149))
						  strcpy(pTempPara,"AvgQTimeHoAttempt");
	else if((Cid == 22)&&(Eid == 0)&&(num == 150))
						  strcpy(pTempPara,"succAccProcPageRspSMS");
	
/*    else if((Cid == 23)&&(Eid == 0)&&(num == 0))
		strcpy(pTempPara,"startTime");
	else if((Cid == 23)&&(Eid == 0)&&(num == 1))
		strcpy(pTempPara,"BscName");
	else if((Cid == 23)&&(Eid == 0)&&(num == 2))
		strcpy(pTempPara,"attImmediateAssingProcsPerBSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 3))
		strcpy(pTempPara,"succImmediateAssingProcsPerBSC"); 
	else if((Cid == 23)&&(Eid == 0)&&(num == 4))
		strcpy(pTempPara,"succInternalHDOsIntraCellPerBSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 5))
		strcpy(pTempPara,"unsuccInternalHDOsIntraCellPerBSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 6))
		strcpy(pTempPara,"succInternalHDOsPerBSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 7))
		strcpy(pTempPara,"unsuccInternalHDOsPerBSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 8))
		strcpy(pTempPara,"ClrReqToMSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 9))
		strcpy(pTempPara,"ConReqToMSC"); 
	else if((Cid == 23)&&(Eid == 0)&&(num == 10))
		strcpy(pTempPara,"ConCfmFromMSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 11))
		strcpy(pTempPara,"ConRefFromMSC"); 
	else if((Cid == 23)&&(Eid == 0)&&(num == 12))
		strcpy(pTempPara,"CMServiceRejFromMSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 13))
		strcpy(pTempPara,"attTransOfPagingMessagesPerBSC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 14))
    	strcpy(pTempPara,"succInternalHDOsUlQual");
	else if((Cid == 23)&&(Eid == 0)&&(num == 15))
		strcpy(pTempPara,"succInternalHDOsDlQual");
	else if((Cid == 23)&&(Eid == 0)&&(num == 16))
		strcpy(pTempPara,"succInternalHDOsUlLevel");
	else if((Cid == 23)&&(Eid == 0)&&(num == 17))
		strcpy(pTempPara,"succInternalHDOsDlLevel");
	else if((Cid == 23)&&(Eid == 0)&&(num == 18))
		strcpy(pTempPara,"succInternalHDOsDistance");
	else if((Cid == 23)&&(Eid == 0)&&(num == 19))
		strcpy(pTempPara,"succInternalHDOsOMC");
	else if((Cid == 23)&&(Eid == 0)&&(num == 20))
		strcpy(pTempPara,"succInternalHDOsMSCInvoke");
	else if((Cid == 23)&&(Eid == 0)&&(num == 21))
		strcpy(pTempPara,"succInternalHDOsBetterCell");
	else if((Cid == 23)&&(Eid == 0)&&(num == 22))
		strcpy(pTempPara,"succInternalHDOsDirectedRetry");
	else if((Cid == 23)&&(Eid == 0)&&(num == 23))
		strcpy(pTempPara,"succInternalHDOsCallControl");
	else if((Cid == 23)&&(Eid == 0)&&(num == 24))
		strcpy(pTempPara,"flushReqReceived");
	else if((Cid == 23)&&(Eid == 0)&&(num == 25))
		strcpy(pTempPara,"pagingCSReqReceivedfromSGSN");
	else if((Cid == 23)&&(Eid == 0)&&(num == 26))
		strcpy(pTempPara,"pagingPSReqReceivedfromSGSN");
*/
	else IsEvPara = FALSE;
	return IsEvPara;
}
bool GetTableName(int cid,char *pTab)
{
	bool IsCid = TRUE;
	if(cid == 58)//NMCLASS_AIf
           strcpy(pTab,"AIf");
	else if(cid == 60)
		strcpy(pTab,"ALink");
	else if(cid == 59)
		strcpy(pTab,"ALinkSet");
	else if(cid == 5)
		strcpy(pTab,"AbisMgr");
	else if(cid == 6)
		strcpy(pTab,"AdjHand");
	else if(cid == 7)
		strcpy(pTab,"Bsc");
	else if(cid == 8)
		strcpy(pTab,"BssFunc");
	else if(cid == 9)
		strcpy(pTab,"Bts");
	else if(cid == 11)
		strcpy(pTab,"BtsMgr");
	else if(cid == 52)
		strcpy(pTab,"ClockMod");
	else if(cid == 44)
		strcpy(pTab,"E1port");
	else if(cid == 43)
		strcpy(pTab,"E1trmod");
	else if(cid == 49)
		strcpy(pTab,"TrauDsp");
	else if(cid == 19)
		strcpy(pTab,"Software");
	else if(cid == 20)
		strcpy(pTab,"Trx");
	else if(cid == 14)
		strcpy(pTab,"TrxCh");
	else if(cid == 27)
		strcpy(pTab,"Wavex");
	else if(cid == 18)
		strcpy(pTab,"RCarrier");
	else if(cid == 17)
		strcpy(pTab,"PwrCont");
	else if(cid == 15)
		strcpy(pTab,"HandCont");
	else if(cid == 111)
		strcpy(pTab,"SmsCb");
	else if(cid == 112)
		strcpy(pTab,"SmMsg");
	else if(cid == 124)
		strcpy(pTab,"Bssgp");
	else if(cid == 125)
		strcpy(pTab,"Bvc");
	else if(cid == 126)
		strcpy(pTab,"Ns");
	else if(cid == 127)
		strcpy(pTab,"Nse");
	else if(cid == 128)
		strcpy(pTab,"Nsvc");
	else if(cid == 130)
		strcpy(pTab,"FRPort");
	else if(cid == 131)
		strcpy(pTab,"pvc");
	
	else
		IsCid = FALSE;
	return(IsCid);
}
