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

📄 ma_acc4.c

📁 gsm map协议源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
   {
      /*
      ** Subscription option and basic service list are not
      ** filled for version 1.
      */
      maAccUpdSSSubsOpt(&evt->ssSubsOpt);
      for (i=0; i< MAT_MAX_BASIC_SERV; i++)
      {
         if(maAccCb.pSwtch == LMA_VER2P)
         {
            /* Size (1..5) */
            maAccUpdExtBasServCode(&evt->basicServ2P[i]);
         }
         else 
         {
            maAccUpdBasicServ(&evt->basicServ[i]);/* basic Service list */
         }
      }
      OPT_EXIT
   }
   if((maAccCb.pSwtch == LMA_VER1) )
   {
      /*Fill SubsOption for Version 1*/
      maAccUpdSSSubsPhs1Opt(&evt->ssSubsPhs1Opt);
   }   
#ifdef MAP_PHASE2_EXT_MARK
   if(maAccCb.pSwtch == LMA_VER2)
   {
      maAccUpdExtMark(LMA_VER2,&evt->extMarker,10,'D');/* Ext Marker */ 
   }
#endif
   maAccUpdExtCont(LMA_VER2P,&evt->extCont,0);
   /* Integer 0..15 */
   maAccUpdDefPri (LMA_VER2,&evt->defaultPrior,1,15);
#if (MAP_REL99)
   /* Integer 1..7 */
   maAccUpdTknStrS(LMA_VER2,&evt->nbrUsr,1,7);
#endif
   RETVALUE(ROK);

} /* end of maAccUpdSSData*/

  
/*
*
*       Fun:   maAccUpdCugFeatChoice
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdCugFeatChoice
(
MaCUGFeatChoice       *evt  /* Structure */
)
#else
PRIVATE S16 maAccUpdCugFeatChoice (evt)
MaCUGFeatChoice       *evt;  /* Structure */
#endif
{
   S16 i;

   maAccUpdTknU8(LMA_VER1,&evt->elmntPres,2);  /* Choice type */

   switch(evt->elmntPres.val) 
   {
    default :
       RETVALUE(RFAILED);
    case 1:
       maAccUpdCugFeature (&evt->u.cugFeature);
    break;
    case 2:
       for (i = 0; i < MAT_MAX_CUG; i++)
          maAccUpdCugFeature (&evt->u.cugFeatureList[i]);
      break;
   }

   RETVALUE(ROK);

} /* end of maAccUpdCugFeatChoice*/

  
/*
*
*       Fun:   maAccUpdCugFeature
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdCugFeature
(
MaCUGFeature       *evt  /* Structure */
)
#else
PRIVATE S16 maAccUpdCugFeature (evt)
MaCUGFeature       *evt;  /* Structure */
#endif
{
   maAccUpdCugIntLock (LMA_VER1,&evt->cugIntLock, 4, 9);  
   maAccUpdCugInd (LMA_VER1,&evt->cugIndex, 1, 9);  
   maAccUpdCugOpt (LMA_VER1,&evt->cugOpt, 7);  
   maAccUpdSSStatus (LMA_VER1,&evt->ssStatus, 8);  

   RETVALUE(ROK);

} /* end of maAccUpdCugFeature*/


  
/*
*
*       Fun:   maAccUpdCugFeatInfo
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdCugFeatInfo
(
MaCUGFeatInfo       *evt  /* Structure */
)
#else
PRIVATE S16 maAccUpdCugFeatInfo (evt)
MaCUGFeatInfo       *evt;  /* Structure */
#endif
{
   maAccUpdIntCugRest(LMA_VER2AND2P,&evt->cugRest,1); 
   MAND_EXIT
   maAccUpdExtBasServCode(&evt->extBasServCode);/* Basic Service code */
   maAccUpdCugInd(LMA_VER2AND2P,&evt->prefCugIndex,1,0);
   OPT_EXIT
#ifdef MAP_PHASE2_EXT_MARK
   if(maAccCb.pSwtch == LMA_VER2)
   {
      maAccUpdExtMark(LMA_VER2,&evt->extMarker,10,'D');/* Ext Marker */ 
   }
#endif
   maAccUpdExtCont(LMA_VER2P,&evt->extCont,0);
   RETVALUE(ROK);

} /* end of maAccUpdCugFeatInfo*/


  
/*
*
*       Fun:   maAccUpdCugInfo
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdCugInfo
(
MaCUGInfo       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdCugInfo (evt)
MaCUGInfo       *evt;  /* Structure */
#endif
{
   U16 i;
   /* Added initialization functions for the modified code */
   if (maAccCb.pSwtch == LMA_VER1)
   {
      maAccUpdCugFacilities (LMA_VER1, &evt->cugFacilities, 1);
      maAccUpdCugFeatChoice (&evt->cugChoice); 
      RETVALUE (ROK);
   }
   /* for the other versions fall through and execute the other parts
      of the code */
   

   for (i=0; i< MAT_MAX_CUG; i++)
   {
      maAccUpdCugSubsInfo(&evt->cugSubs[i]);/* CUG Subscription List */
   }
   MAND_EXIT
   for (i=0; i< MAT_MAX_BASIC_SERV; i++)
   {
      maAccUpdCugFeatInfo(&evt->cugFeat[i]);/* CUG Feature list */
   }
   OPT_EXIT
#ifdef MAP_PHASE2_EXT_MARK
   if(maAccCb.pSwtch == LMA_VER2)
   {
      maAccUpdExtMark(LMA_VER2,&evt->extMarker,10,'D');/* Ext Marker */ 
   }
#endif
   maAccUpdExtCont(LMA_VER2P,&evt->extCont,0);
   RETVALUE(ROK);
} /* end of maAccUpdCugInfo*/

  
/*
*
*       Fun:   maAccUpdCBarrInfo
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdCBarrInfo
(
MaCBarrInfo       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdCBarrInfo (evt)
MaCBarrInfo       *evt;  /* Structure */
#endif
{
   U16 i;
   maAccUpdSSCode( LMA_VER1AND2AND2P,&evt->ssCode,1);  /* Suplementry Serv. Code */
   for (i=0; i< MAT_MAX_BASIC_SERV; i++)
   {
      maAccUpdCBarrFeat(&evt->cbarrFeat[i]); /*Call Barr. feat. */
   }
   MAND_EXIT
#ifdef MAP_PHASE2_EXT_MARK
   if(maAccCb.pSwtch == LMA_VER2)
   {
      maAccUpdExtMark(LMA_VER2,&evt->extMarker,10,'D');/* Ext Marker */ 
   }
#endif
   maAccUpdExtCont(LMA_VER2P,&evt->extCont,0);
   RETVALUE(ROK);
} /* end of maAccUpdCBarrInfo*/
#endif /* MAP_VLR || MAP_HLR || MAP_GSN */

  
/* ma008.203 :And with MA_SGSN_SPECIFIC to remove warning */
#if (MAP_MSC || MAP_VLR || MAP_HLR || (MAP_GSN && !(MA_SGSN_SPECIFIC)))
/*
*
*       Fun:   maAccUpdDstNmbCrit 
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdDstNmbCrit 
(
MaDstNmbCrit        *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdDstNmbCrit  (evt)
MaDstNmbCrit        *evt;  /* Structure */
#endif
{
   U16 i;
   /* Mandatory : values 0,1 */
   maAccUpdMatchType(LMA_VER2P,&evt->matchType,1); /* Match Type */
   MAND_EXIT
   /* Optional */
   for (i=0; i< MAT_MAX_CAMEL_DEST_NMB; i++)
   {
      /*DstNmbList SIZE 1..9*/
      maAccUpdDstNmbLstElmnt(LMA_VER2P,&evt->destNmbLst[i],4,'D');
   }
   OPT_EXIT
   for (i=0; i< MAT_MAX_CAMEL_DEST_NMB_LEN; i++)
   {
      /*DstNmbLst, Integer SIZE 1..15*/
      maAccUpdDstNmbLenLstElmnt(LMA_VER2P,&evt->destNmbLenLst[i],1,5);
   }
   RETVALUE(ROK);
} /* end of maAccUpdDstNmbCrit */

  
/*
*
*       Fun:   maAccUpdOBcsmCamTdpCrit
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdOBcsmCamTdpCrit
(
MaOBcsmCamTdpCrit       *evt  /* Structure */
)
#else
PRIVATE S16 maAccUpdOBcsmCamTdpCrit (evt)
MaOBcsmCamTdpCrit       *evt;  /* Structure */
#endif
{
   U16 i;
   /* Mandatory :Values 2,4 */
#ifdef MAACC_EXCEPTION_TST
   maAccUpdTknU8(LMA_VER2P,&evt->oBcsmTrgDetPoint,7);
#else 
   maAccUpdTknU8(LMA_VER2P,&evt->oBcsmTrgDetPoint,2);
#endif /* MAACC_EXCEPTION_TST */
   MAND_EXIT

   /* Optional */
   /* Dst. Nmb criteria */
   maAccUpdDstNmbCrit(&evt->dstNmbCrit);
   for (i=0; i< MAT_MAX_BASIC_SER_CRIT; i++)
   {
      /*BasServCrit. */
      maAccUpdExtBasServCode(&evt->extBasServCode[i]);
   }
   OPT_EXIT
   /* Calltypecriteria */
   maAccUpdCallTy

⌨️ 快捷键说明

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