⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ma_testtool.c

📁 gsm map协议源代码
💻 C
📖 第 1 页 / 共 3 页
字号:

/*4 octet string*/
S16 maTstSetExtUid(U8 verFlg,MaXWPriExt *evt, U8 *uid, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/
	if(cmStrlen(uid) != 4)
	{
		printf("unavaliable value!\r\n");
		RETVALUE(RFAILED);
	}
	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID11, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)11);
	MA_API_CPY_TKNSTR(&evt->etype.u.xwuid, uid, 4, 0);
	RETVALUE(ROK);
}

S16 maTstSetExtHoNum(U8 verFlg,MaXWPriExt *evt, U8 *honum, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/
	if((cmStrlen(honum) < 1) || (cmStrlen(honum)>9))
	{
		printf("unavaliable value!\r\n");
		RETVALUE(RFAILED);
	}
	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID12, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)12);
	MA_API_CPY_TKNSTR(&evt->etype.u.xwuttype, honum, cmStrlen(honum), 0);
	RETVALUE(ROK);
}

S16 maTstSetExtInstInd(U8 verFlg,MaXWPriExt *evt, Bool insrt, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/

	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID13, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)13);
	MA_API_SET_TOKEN_VALUE(&evt->etype.u.xwinsrtind, insrt);
	/*
	evt->etype.u.xwinsrtind.pres = TRUE;
	evt->etype.u.xwinsrtind.val = insrt;
	*/
	RETVALUE(ROK);
}

S16 maTstSetExtUpdateInd(U8 verFlg,MaXWPriExt *evt, Bool updateind, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/

	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID14, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)14);
	MA_API_SET_TOKEN_VALUE(&evt->etype.u.xwupdtind, updateind);

	RETVALUE(ROK);
}

S16 maTstSetExtOrigtInd(U8 verFlg,MaXWPriExt *evt, Bool ind, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/

	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID15, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)15);
	MA_API_SET_TOKEN_VALUE(&evt->etype.u.xworigtind, ind);

	RETVALUE(ROK);
}


S16 maTstSetExtCallNum(U8 verFlg,MaXWPriExt *evt, U8 *num, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/
	if((cmStrlen(num) < 1) || (cmStrlen(num)>9))
	{
		printf("unavaliable value!\r\n");
		RETVALUE(RFAILED);
	}
	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID16, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)16);
	MA_API_CPY_TKNSTR(&evt->etype.u.xwcallingnum, num, cmStrlen(num), 0);
	RETVALUE(ROK);
}

S16 maTstSetExtNumGroup(U8 verFlg, MaXWRestrtNumg *numg, U8 *num, U8 resv)
{
	/*
	if (!(IS_VER_EQUAL(maAccCb.pSwtch,verFlg)))
	{
		evt->id.pres = FALSE;
		evt->etype.elmntPres.pres = FALSE;
		RETVALUE(RFAILED);
	}
	*/
	U8 i=0;
	if((cmStrlen(num) < 1) || (cmStrlen(num)>9))
	{
		printf("unavaliable value!\r\n");
		RETVALUE(RFAILED);
	}

	while(i<10)
	{
		MA_API_CPY_TKNSTR(&numg->numgrp[i], num, cmStrlen(num), 0);
		i++;
	}
	RETVALUE(ROK);
}

S16 maTstSetExtRestrNumGroup(U8 verFlg, MaXWPriExt *evt, U8 *num, U8 resv)
{
	S16 ret;
	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID17, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)17);
	ret = maTstSetExtNumGroup(verFlg, &evt->etype.u.xwrestrnumg, num, 0);
	RETVALUE(ret);
}

S16 maTstSetExtCallOutNumGroup(U8 verFlg, MaXWPriExt *evt, U8 *num, U8 resv)
{
	S16 ret;
	MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID18, 2, 0);
	MA_API_SET_TOKEN_VALUE (&evt->etype.elmntPres, (U8)18);
	ret = maTstSetExtNumGroup(verFlg, &evt->etype.u.xwcalloutnumg, num, 0);
	RETVALUE(ret);
}

/*set call out right type*/
/*
*/
S16 maTstSetExtOutCallRigt(U8 verFlg,MaXWPriExt *evt, U8 rigtype, U8 resv)
{
	U8 i=1;
	EXTERN MaTknEnum maXWExtCallOutRigtEnums0[];
	
	/*check if the enum valiable*/

	while(i <= maXWExtCallOutRigtEnums0[0])
	{
		if(maXWExtCallOutRigtEnums0[i] == rigtype)
		{
			MA_API_CPY_TKNSTR(&evt->id, (U8 *)XWEXT_OID19, 1, 0);
			MA_API_SET_TOKEN_VALUE(&evt->etype.elmntPres, (U8)19);
			/*1-5*/
			MA_API_SET_TOKEN_VALUE(&evt->etype.u.xwcalloutrigt, rigtype);
			RETVALUE(ROK);
			
		}
		i++;
	}

	printf("then enum value [auth type] is unvaliable!\r\n");
	RETVALUE(RFAILED);
}


PUBLIC S16 maTstSetExtList(MaXWPriExtLst * priLst, U8 len)
{
	U8 i;
	static U8 time = 1;
	S16 ret;

	#if 1
	for (i=0; i< len; i++)
	{
		if(i == 0)
		{
			if(time == 1)
				ret = maTstSetExtCallOutNumGroup(LMA_VER_ALL, &priLst[0], "groupnumb", 0);
			else if(time == 2)
				ret = maTstSetExtHotline(LMA_VER_ALL, &priLst[i], "hotline", 0);
			else if(time == 3)
				ret = maTstSetExtUtType(LMA_VER_ALL, &priLst[i], "ut", 0);
			else
				ret = maTstSetExtUid(LMA_VER_ALL, &priLst[i], "UIDD", 0);
			CHEKRET;
		}
		else if(i == 1)
		{
			if(time == 1)
				ret = maTstSetExtCallOutNumGroup(LMA_VER_ALL, &priLst[i], "groupnumb", 0);
				/*ret = maTstSetExtLocation(LMA_VER_ALL, &priLst[i], 55, 300, "lai", 0); */
			else if(time == 2)
				ret = maTstSetExtCentrexInfo(LMA_VER_ALL, &priLst[i], "grp", "pre", "sht", "t", 0);
			else if(time == 3)
				ret = maTstSetExtDataserv(LMA_VER_ALL, &priLst[i], "da", 0);
			else
				ret = maTstSetExtRestrNumGroup(LMA_VER_ALL, &priLst[1], "groupnumb", 0);
			CHEKRET;
		}
		else if(i == 2)
		{
			if(time == 1)
				ret = maTstSetExtInstInd(LMA_VER_ALL, &priLst[i], 1, 0); 
			else if(time == 2)
				ret = maTstSetExtPaswdCall(LMA_VER_ALL, &priLst[i], "12345678", 0);
			else if(time == 3)
				ret = maTstSetExtUpdateInd(LMA_VER_ALL, &priLst[i], 0x01, 0);
			else
				ret = maTstSetExtOutCallRigt(LMA_VER_ALL, &priLst[i], 0x04, 0);
			CHEKRET;	
		}
		else if (i == 3)
		{
			if(time == 1)
			ret = maTstSetExtCallNum(LMA_VER_ALL, &priLst[i], "canumber", 0); 
			else if(time == 2)
				ret = maTstSetExtOrigtInd(LMA_VER_ALL, &priLst[i], 0x01, 0);
			else if(time == 3)
				ret = maTstSetExtCentrexInfo(LMA_VER_ALL, &priLst[i], "grp", "pre", "sht", "r",0);
			else
				ret = maTstSetExtInstInd(LMA_VER_ALL, &priLst[i], 1, 0); 
			CHEKRET;

			time++;
		}
	}
	#endif
	RETVALUE(ROK);
}


PUBLIC S16 maTstSetExtContSeq (MaXWExtContSeq *evt)
{
	S16 ret;

	ret = maTstSetExtList(evt->priExtLst, MAT_XW_MAX_NMB_PRI_EXT);
	
	RETVALUE(ret);
} /* end of maAccUpdExtContSeq */

PUBLIC S16 maTstSetCon(MaXWExtContSeq *evt)
{
	RETVALUE(maTstSetExtContSeq(evt));
}


#ifdef ANSI
PUBLIC S16 _maTstVerifyTknU8
(
U8    verFlg,   /* version flag */
TknU8 *ptr1,    /* Pointer to the structure */
TknU8 *ptr2     /* Pointer to the structure */
)
#else
PUBLIC S16 _maTstVerifyTknU8(verFlg,ptr1, ptr2)
U8    verFlg;   /* version flag */
TknU8 *ptr1;    /* Pointer to the structure */
TknU8 *ptr2;    /* Pointer to the structure */
#endif
{
   TRC2(maTstVerifyTknU8)
	
   /* check if both are present or absent */
   if (ptr1->pres != ptr2->pres)
   {
      RETVALUE(RFAILED);
   }

   /* continue checking only if both the tokens are present */
   if (ptr1->pres == FALSE)
   {
      RETVALUE(ROK);
   }

   if(ptr1->val != ptr2->val)
   {
      RETVALUE(RFAILED);
   }

   RETVALUE(ROK);

} 

#ifdef ANSI
PUBLIC S16 _maTstVerifyTknStrS
(
U8      verFlg,   /* Version Flag */
TknStrS *ptr1,    /* Pointer to the structure */
TknStrS *ptr2     /* Pointer to the structure */
)
#else
PUBLIC S16 _maTstVerifyTknStrS(verFlg,ptr1, ptr2)
U8      verFlg;   /* Version Flag */
TknStrS *ptr1;    /* Pointer to the structure */
TknStrS *ptr2;    /* Pointer to the structure */
#endif
{
   U8  i;     /* counter */

   TRC2(maAccVerifyTknStrS)

   /* check if both are present or absent */
   if (ptr1->pres != ptr2->pres)
   {
      RETVALUE(RFAILED);
   }

   /* continue checking only if both the tokens are present */
   if (ptr1->pres == FALSE)
   {
      RETVALUE(ROK);
   }

   /* continue checking only if the field is applicable to protocol switch */

   /* check if the length is the same */
   if (ptr1->len != ptr2->len)
   {
      RETVALUE(RFAILED);
   }

   /* check if the value is the same */
   for(i=0; i < ptr1->len; i++)
   {
      if(ptr1->val[i] != ptr2->val[i])
      {
         RETVALUE(RFAILED);
      }
   }

   RETVALUE(ROK);

} 


#ifdef ANSI
PUBLIC S16 _maTstVerifyTknStr12
(
U8      verFlg,   /* Version Flag */
TknStr12 *ptr1,    /* Pointer to the structure */
TknStr12 *ptr2     /* Pointer to the structure */
)
#else
PUBLIC S16 _maTstVerifyTknStr12(verFlg,ptr1, ptr2)
U8      verFlg;   /* Version Flag */
TknStrS *ptr1;    /* Pointer to the structure */
TknStrS *ptr2;    /* Pointer to the structure */
#endif
{
   U8  i;     /* counter */

   TRC2(maTstVerifyTknStr12)

   /* check if both are present or absent */
   if (ptr1->pres != ptr2->pres)
   {
      RETVALUE(RFAILED);
   }

   /* continue checking only if both the tokens are present */
   if (ptr1->pres == FALSE)
   {
      RETVALUE(ROK);
   }

   /* continue checking only if the field is applicable to protocol switch */

   /* check if the length is the same */
   if (ptr1->len != ptr2->len)
   {
      RETVALUE(RFAILED);
   }

   /* check if the value is the same */
   for(i=0; i < ptr1->len; i++)
   {
      if(ptr1->val[i] != ptr2->val[i])
      {
         RETVALUE(RFAILED);
      }
   }

   RETVALUE(ROK);

} 

S16 _maTstVerifyExtCentrex(U8 verFlg, MaXWCentrexInfo *ptr1, MaXWCentrexInfo *ptr2)
{
	S16 ret;
	
	ret = maTstVerifyTknStrS(verFlg, (TknStrS *)&ptr1->xwcentrexgrpnum, (TknStrS *)&ptr2->xwcentrexgrpnum);
      CHEKRET;
	ret = maTstVerifyTknStrS(verFlg, (TknStrS *)&ptr1->xwcentrexgrppre, (TknStrS *)&ptr2->xwcentrexgrppre);
      CHEKRET;
	ret = maTstVerifyTknStrS(verFlg, (TknStrS *)&ptr1->xwcentrexshtnum, (TknStrS *)&ptr2->xwcentrexshtnum);
      CHEKRET;
	ret = maTstVerifyTknStrS(verFlg, (TknStrS *)&ptr1->xwcentrexrigt, (TknStrS *)&ptr2->xwcentrexrigt);
      RETVALUE(ret);	
}

S16 _maTstVerifyExtShrinkDial(U8 verFlg, MaXWShrinkDialNum *ptr1, MaXWShrinkDialNum *ptr2)
{
	S16 ret;

	ret = maTstVerifyTknStrS(verFlg, (TknStrS *)&ptr1->shrinkNum, (TknStrS *)&ptr2->shrinkNum);
      CHEKRET;
	ret = maTstVerifyTknStrS(verFlg, (TknStrS *)&ptr1->realNum, (TknStrS *)&ptr2->realNum);
      RETVALUE(ret);	
}


S16 _maTstVerifyExtLocation(U8 verFlg, MaXWLocation * ptr1, MaXWLocation * ptr2)
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -