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

📄 ma_acc4.c

📁 gsm map协议源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdGprsSubsDat
(
MaGprsSubsDat       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdGprsSubsDat (evt)
MaGprsSubsDat       *evt;  /* Structure */
#endif
{
   U16 i;
   for (i=0; i< MAT_MAXNUMOFPDP_CONTEXT; i++)
   {
      maAccUpdPdpContext( &evt->gprsDatLst[i]);
   }
   MAND_EXIT
   maAccUpdTknU8( LMA_VER2P,&evt->compDatLstIncl,0); /* Comp. Dat. lst incl */
   OPT_EXIT
   maAccUpdExtCont(LMA_VER2P, &evt->extCont,0); /* Extension Container */
   RETVALUE(ROK);
} /* end of maAccUpdGprsSubsDat*/
#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:   maAccUpdNaeaPrefCI
*
*       Desc:  This function fillss the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdNaeaPrefCI
(
MaNaeaPrefCI       *evt  /* Structure */
)
#else
PRIVATE S16 maAccUpdNaeaPrefCI (evt)
MaNaeaPrefCI       *evt;  /* Structure */
#endif
{
   /* Mandatory */
   maAccUpdNaeaPrefCIC (LMA_VER2P, &evt->naeaPrefCIC,3,'D'); 
   MAND_EXIT
   maAccUpdExtCont(LMA_VER2P, &evt->extCont,0);    /* Extension Container */
   RETVALUE(ROK);
} /* end of maAccUpdNaeaPrefCI*/
#endif /* (MAP_MSC || MAP_VLR || MAP_HLR || MAP_GSN) */

/* ma008.203 :And with MA_SGSN_SPECIFIC to remove warning */
#if (MAP_VLR || MAP_HLR || (MAP_GSN && !(MA_SGSN_SPECIFIC)))

/*
*
*       Fun:   maAccUpdSSCSI
*
*       Desc:  This function fillss the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdSSCSI
(
MaSSCSI       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdSSCSI (evt)
MaSSCSI       *evt;  /* Structure */
#endif
{
   maAccUpdSSCamData (&evt->ssCamData);  /* SS Camel Data       */
   MAND_EXIT
   maAccUpdExtCont( LMA_VER2P,&evt->extCont,0);    /* Extension Container */
#if MAP_REL99
   maAccUpdNotifcationToCse (LMA_VER2P, &evt->notificationToCse,0);
   OPT_EXIT
   maAccUpdCsiActive (LMA_VER2P, &evt->csiActive,0);
#endif 
   RETVALUE(ROK);
} /* end of maAccUpdSSCSI*/

/*
*
*       Fun:   maAccUpdSSCamData
*
*       Desc:  This function fillss the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdSSCamData
(
MaSSCamData       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdSSCamData (evt)
MaSSCamData       *evt;  /* Structure */
#endif
{
   U16 i;
   /* Mandatory */
   for (i=0; i< MAT_MAX_SS_EVENT_LST; i++)
   {
      maAccUpdSSEvtLstElmnt(LMA_VER2P,&evt->ssEventLst[i],1); 
   }
   /* SIZE 1..9 */
   maAccUpdGsmScfAddr (LMA_VER2P, &evt->gsmScfAddr,9,'D'); /* GSM SCF Address */
   MAND_EXIT
   maAccUpdExtCont (LMA_VER2P, &evt->extCont,0);    /* Extension Container */
#if MAP_REL99
    /* Notification to CSE */
   maAccUpdNotifcationToCse (LMA_VER2P, &evt->notificationToCse,0);
    /* CSI - Active */
   OPT_EXIT
   maAccUpdCsiActive (LMA_VER2P, &evt->csiActive,0);
#endif /* MAP_REL99 */
   RETVALUE(ROK);

} /* end of maAccUpdSSCamData*/
#endif /* (MAP_VLR || MAP_HLR || MAP_GSN) */

/* ma008.203 :And with MA_SGSN_SPECIFIC to remove warning */
#if (MAP_VLR || MAP_HLR || (MAP_GSN && !(MA_SGSN_SPECIFIC)))
  
/*
*
*       Fun:   maAccUpdSSSubsOpt
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdSSSubsOpt
(
MaSSSubsOpt       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdSSSubsOpt (evt)
MaSSSubsOpt       *evt;  /* Structure */
#endif
{
   maAccUpdTknU8(LMA_VER2AND2P,&evt->elmntPres,1);  /* Choice type */
   switch(evt->elmntPres.val) 
   {
    default :
       RETVALUE(RFAILED);
    case 1:
      maAccUpdCliRestOpt(LMA_VER2AND2P,&evt->u.cliRestOpt,MAT_PERMANENT_REST);
    break;
    case 2:
      maAccUpdOvrRideCat(LMA_VER2AND2P,&evt->u.ovrRideCat,MAT_OVRRIDE_ENABLED);
      break;
   }
   RETVALUE(ROK);
} /* end of maAccUpdSSSubsOpt*/

  
/*
*
*       Fun:   maAccUpdSSSubsOpt
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdSSSubsPhs1Opt
(
MaSSSubsPhs1Opt       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdSSSubsPhs1Opt (evt)
MaSSSubsPhs1Opt       *evt;  /* Structure */
#endif
{
   maAccUpdTknU8(LMA_VER1,&evt->elmntPres,4);  /* Choice type */
   switch(evt->elmntPres.val) 
   {
    default :
       RETVALUE(RFAILED);
    case 1:
      maAccUpdPerCallBas(LMA_VER1,&evt->u.perCallBas,TRUE);
    break;
    case 2:
      maAccUpdNotToHldRetPty(LMA_VER1,&evt->u.notToHldRetPty,TRUE);
      break;
    case 3:
      maAccUpdUtoUServInd(LMA_VER1,&evt->u.utoUServInd,7);
      break;
    case 4:
      maAccUpdMaxConfNum(LMA_VER1,&evt->u.maxConfNum,1, 8);
      break;
    case 5:
      maAccUpdHntGrpAccSelOdr(LMA_VER1,&evt->u.hntGrpAccSelOdr,MAT_RANDOM);
      break;
   }
   RETVALUE(ROK);
} /* end of maAccUpdSSSubsPhs1Opt*/

  
/*
*
*       Fun:   maAccUpdCBarrFeat
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdCBarrFeat
(
MaCBarrFeat       *evt   /* Structure */
)
#else
PRIVATE S16 maAccUpdCBarrFeat (evt)
MaCBarrFeat       *evt;  /* Structure */
#endif
{
   if((maAccCb.pSwtch == LMA_VER1)||(maAccCb.pSwtch == LMA_VER2))
   {
      maAccUpdBasicServ(&evt->basicServ);/* Basic Service */
      maAccUpdSSStatus( LMA_VER1AND2AND2P,&evt->ssStatus,1);
#ifdef MAP_PHASE2_EXT_MARK
      if(maAccCb.pSwtch == LMA_VER2)
      {
         maAccUpdExtMark(LMA_VER2,&evt->extMarker,10,'D');/* Ext Marker */ 
      }
#endif
   }
   else if(maAccCb.pSwtch == LMA_VER2P)
   {
      maAccUpdTknStrS( LMA_VER2P,&evt->ssStatus2P,5,'D');
      MAND_EXIT
      maAccUpdExtBasServCode(&evt->basicServ2P);/* Basic Service */
      OPT_EXIT
   }
   maAccUpdExtCont(LMA_VER2P,&evt->extCont,0);
   RETVALUE(ROK);
} /* end of maAccUpdCBarrFeat*/


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

   maAccUpdCugInd( LMA_VER2AND2P,&evt->cugIndex,2,5);        /* Cug Index */
   maAccUpdCugIntLock( LMA_VER2AND2P,&evt->cugIntLock,4,'D'); 
   maAccUpdIntraCugOpt( LMA_VER2AND2P,&evt->intraCugOpt,1);
   MAND_EXIT
   for (i=0; i< MAT_MAX_BASIC_SERV; i++)
   {
      maAccUpdExtBasServCode( &evt->extBasicServ[i]);/* BasSerGrp*/
   }
   OPT_EXIT
   maAccUpdExtCont( LMA_VER2P,&evt->extCont,0);

   RETVALUE(ROK);
} /* end of maAccUpdCugSubsInfo*/


  
/*
*
*       Fun:   maAccUpdSSData
*
*       Desc:  This function fills the  structure.
*
*       Ret:   ROK
*
*       Notes: None
*
*       File:  ma_acc4.c
*
*/
 
#ifdef ANSI
PRIVATE S16 maAccUpdSSData
(
MaSSData       *evt  /* Structure */
)
#else
PRIVATE S16 maAccUpdSSData (evt)
MaSSData       *evt;  /* Structure */
#endif
{
   U16 i;
   maAccUpdSSCode ( LMA_VER1AND2AND2P,&evt->ssCode,1);/* Sup. Serv. Code */
   maAccUpdTknStrS( LMA_VER2P,&evt->ssStatus2P,5,'D');
   MAND_EXIT
   maAccUpdSSStatus ( LMA_VER1AND2,&evt->ssStatus,1);/* Sup. Serv. Status */
   /* Size (1..5) */
   if((maAccCb.pSwtch == LMA_VER2P) || (maAccCb.pSwtch == LMA_VER2))

⌨️ 快捷键说明

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