📄 ma_acc2.c
字号:
} /* maAccOprRsp */
/*
*
* Fun: maAccGetIndType
*
* Desc: get the primitive type based on the operation code
*
* Ret: ROK
*
* Notes:
*
* File: ma_acc2.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccGetIndType
(
U8 oprCode, /* Operation Code */
U8 *evntType /* Event Type */
)
#else
PUBLIC S16 maAccGetIndType(oprCode, evntType)
U8 oprCode; /* Operation Code */
U8 *evntType; /* Event Type */
#endif
{
TRC2(maAccGetIndType)
switch(oprCode)
{
/* New Operations */
#if (MAP_REL98 || MAP_REL99)
#if (MAP_HLR || MAP_MLC)
case MAT_SENDROUTINFOFORLCS: /* RoutInfo For LCS */
{
*evntType = MAT_EVTLOCSERVIND;
break;
}
#endif
#if (MAP_MSC || MAP_MLC || (MAP_REL99 && MAP_REL4 && MAP_GSN))
case MAT_SUBSLOCRPT: /* Subscriber Location Report */
case MAT_PROVSUBSLOC: /* Provide Subscriber Location */
{
*evntType = MAT_EVTLOCSERVIND;
break;
}
#endif
#if (MAP_REL99)
#if (MAP_VLR || MAP_HLR || MAP_GSN)
case MAT_AUTHFAILRPT: /* MaAuthFailRpt */
{
*evntType = MAT_EVTAUTHMGMTIND;
break;
}
#endif
#if (MAP_VLR || MAP_HLR || MAP_GSN)
case MAT_NOTE_MMEVT: /* Note Mm Event */
{
*evntType = MAT_EVTLOCMGMTIND;
break;
}
#endif
#if (MAP_MSC || MAP_HLR)
case MAT_IST_ALERT: /* IST Alert */
case MAT_IST_COMMAND: /* IST Command */
{
*evntType = MAT_EVTCALLMGMTIND;
break;
}
#endif
#if (MAP_HLR)
case MAT_ANY_SUBSDATA_INTER: /* AnyTime Subscriber Interro */
case MAT_ANY_MOD: /* AnyTime Modification */
case MAT_NOTE_SUBSDATA_MOD: /* Note Subs Data Modified */
{
*evntType = MAT_EVTLOCMGMTIND;
break;
}
#endif
#endif
#endif
case MAT_UPLOC:
case MAT_CANCELLOC:
case MAT_PURGE:
case MAT_SNDID:
case MAT_GPRS_UPLOC:
*evntType = MAT_EVTLOCMGMTIND;
break;
case MAT_PRE_HO:
case MAT_PRE_SUBSHO:
case MAT_PER_HO:
case MAT_PER_SUBSHO:
case MAT_SNDENDSIG:
case MAT_PROCACCSIG:
case MAT_FWDACCSIG:
*evntType = MAT_EVTHOMGMTIND;
break;
case MAT_AUTHINFO:
*evntType = MAT_EVTAUTHMGMTIND;
break;
case MAT_CHKIMEI:
*evntType = MAT_EVTIMEIMGMTIND;
break;
case MAT_RESET:
case MAT_RESTOREDATA:
case MAT_FWDCHKSSIND:
*evntType = MAT_EVTFRMGMTIND;
break;
case MAT_ACTVTRACE:
case MAT_DACTVTRACE:
case MAT_SNDIMSI:
case MAT_TRACESUBSACTV:
case MAT_NOTEINTERHO:
*evntType = MAT_EVTOAMMGMTIND;
break;
case MAT_ROUTINFO:
case MAT_PROVROAMNMB:
case MAT_PROV_SIWFS_NMB:
case MAT_SIWFS_SIGMOD:
case MAT_RESCALLHANDL:
case MAT_SETRPTSTATE:
case MAT_STARPT:
case MAT_RMTUSRFREE:
case MAT_PREP_GRPCALL:
case MAT_SND_GRPCALLENDSIG:
case MAT_PRO_GRPCALLSIG:
case MAT_FWD_GRPCALLSIG:
*evntType = MAT_EVTCALLMGMTIND;
break;
case MAT_REGSS:
case MAT_ERASESS:
case MAT_ACTVSS:
case MAT_DACTVSS:
case MAT_INTERSS:
case MAT_PROCUSSDATA:
case MAT_PROCUSSREQ:
case MAT_USSREQ:
case MAT_USSNOTIFY:
case MAT_REGPASSWD:
case MAT_GETPASSWD:
case MAT_REGCCENT:
case MAT_ERASECCENT:
*evntType = MAT_EVTSSMGMTIND;
break;
case MAT_SSINV_NOTIFY:
case MAT_FWDSM:
case MAT_ROUTINFOSM:
case MAT_MT_FWDSM:
case MAT_SMDEL:
case MAT_INFSC:
case MAT_ALRTSC:
case MAT_SMRDY:
case MAT_NOTSUBPRES:
case MAT_ALRTSCWRSLT:
*evntType = MAT_EVTSMMGMTIND;
break;
case MAT_INSSUBSDATA:
case MAT_DELSUBSDATA:
case MAT_PROVSUBSINFO:
case MAT_ANY_INTER:
case MAT_SNDPARAM:
*evntType = MAT_EVTSUBMGMTIND;
break;
case MAT_GPRS_ROUTINFO:
case MAT_FAILRPT:
case MAT_GPRS_NOTEMSPRES:
*evntType = MAT_EVTPDPACTVIND;
break;
} /* end of switch */
RETVALUE(ROK);
} /* maAccGetIndType */
/*
*
* Fun: maAccGetCfmType
*
* Desc: get the primitive type based on the operation code
*
* Ret: ROK
*
* Notes:
*
* File: ma_acc2.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccGetCfmType
(
U8 oprCode, /* Operation Code */
U8 *evntType /* Event Type */
)
#else
PUBLIC S16 maAccGetCfmType(oprCode, evntType)
U8 oprCode; /* Operation Code */
U8 *evntType; /* Event Type */
#endif
{
TRC2(maAccGetCfmType)
switch(oprCode)
{
/* New Operations */
#if (MAP_HLR || MAP_MLC)
case MAT_SENDROUTINFOFORLCS: /* RoutInfo For LCS */
{
*evntType = MAT_EVTLOCSERVCFM;
break;
}
#endif
#if (MAP_MSC || MAP_MLC || (MAP_REL99 && MAP_REL4 && MAP_GSN))
case MAT_PROVSUBSLOC: /* Provide Subscriber Location */
case MAT_SUBSLOCRPT: /* Subscriber Location Report */
{
*evntType = MAT_EVTLOCSERVCFM;
break;
}
#endif
#if (MAP_REL99)
#if (MAP_VLR || MAP_HLR || MAP_GSN)
case MAT_AUTHFAILRPT: /* MaAuthFailRpt */
{
*evntType = MAT_EVTAUTHMGMTCFM;
break;
}
#endif
#if (MAP_VLR || MAP_HLR || MAP_GSN)
case MAT_NOTE_MMEVT: /* Note Mm Event */
{
*evntType = MAT_EVTLOCMGMTCFM;
break;
}
#endif
#if (MAP_MSC || MAP_HLR)
case MAT_IST_ALERT: /* IST Alert */
case MAT_IST_COMMAND: /* IST Command */
{
*evntType = MAT_EVTCALLMGMTCFM;
break;
}
#endif
#if (MAP_HLR)
case MAT_ANY_SUBSDATA_INTER: /* AnyTime Subscriber Interro */
case MAT_ANY_MOD: /* AnyTime Modification */
case MAT_NOTE_SUBSDATA_MOD: /* Note Subs Data Modified */
{
*evntType = MAT_EVTSUBMGMTCFM;
break;
}
#endif
#endif
case MAT_UPLOC:
case MAT_CANCELLOC:
case MAT_PURGE:
case MAT_SNDID:
case MAT_GPRS_UPLOC:
*evntType = MAT_EVTLOCMGMTCFM;
break;
case MAT_PRE_HO:
case MAT_PRE_SUBSHO:
case MAT_PER_HO:
case MAT_PER_SUBSHO:
case MAT_SNDENDSIG:
case MAT_PROCACCSIG:
case MAT_FWDACCSIG:
*evntType = MAT_EVTHOMGMTCFM;
break;
case MAT_AUTHINFO:
*evntType = MAT_EVTAUTHMGMTCFM;
break;
case MAT_CHKIMEI:
*evntType = MAT_EVTIMEIMGMTCFM;
break;
case MAT_RESET:
case MAT_RESTOREDATA:
case MAT_FWDCHKSSIND:
*evntType = MAT_EVTFRMGMTCFM;
break;
case MAT_ACTVTRACE:
case MAT_DACTVTRACE:
case MAT_SNDIMSI:
case MAT_TRACESUBSACTV:
case MAT_NOTEINTERHO:
*evntType = MAT_EVTOAMMGMTCFM;
break;
case MAT_ROUTINFO:
case MAT_PROVROAMNMB:
case MAT_PROV_SIWFS_NMB:
case MAT_SIWFS_SIGMOD:
case MAT_RESCALLHANDL:
case MAT_SETRPTSTATE:
case MAT_STARPT:
case MAT_RMTUSRFREE:
case MAT_PREP_GRPCALL:
case MAT_SND_GRPCALLENDSIG:
case MAT_PRO_GRPCALLSIG:
case MAT_FWD_GRPCALLSIG:
*evntType = MAT_EVTCALLMGMTCFM;
break;
case MAT_REGSS:
case MAT_ERASESS:
case MAT_ACTVSS:
case MAT_DACTVSS:
case MAT_INTERSS:
case MAT_PROCUSSDATA:
case MAT_PROCUSSREQ:
case MAT_USSREQ:
case MAT_USSNOTIFY:
case MAT_REGPASSWD:
case MAT_GETPASSWD:
case MAT_REGCCENT:
case MAT_ERASECCENT:
*evntType = MAT_EVTSSMGMTCFM;
break;
case MAT_SSINV_NOTIFY:
case MAT_FWDSM:
case MAT_ROUTINFOSM:
case MAT_MT_FWDSM:
case MAT_SMDEL:
case MAT_INFSC:
case MAT_ALRTSC:
case MAT_SMRDY:
case MAT_NOTSUBPRES:
case MAT_ALRTSCWRSLT:
*evntType = MAT_EVTSMMGMTCFM;
break;
case MAT_INSSUBSDATA:
case MAT_DELSUBSDATA:
case MAT_PROVSUBSINFO:
case MAT_ANY_INTER:
case MAT_SNDPARAM:
*evntType = MAT_EVTSUBMGMTCFM;
break;
case MAT_GPRS_ROUTINFO:
case MAT_FAILRPT:
case MAT_GPRS_NOTEMSPRES:
*evntType = MAT_EVTPDPACTVCFM;
break;
} /* end of Switch */
RETVALUE(ROK);
} /* maAccGetCfmType */
/* ----------------------------------------------------------------- */
/* Layer Management Tests */
/* */
/* These tests do not check the validity of all primitive actions. */
/* The data would need to be visually examined in certain tests */
/* to determine the success or the failure of a primitive action. */
/* As an example, the control request to turn on debug printing */
/* relies on the test executor to visually verify the correctness */
/* of the primitive action. */
/* */
/* ----------------------------------------------------------------- */
/*
*
* Fun: maAccTst17
*
* Desc: MAP test #18
*
* Ret: ROK - Success RFAILED - failure.
*
* Notes: Tests for testing the different dialogue id ranges.
* (configuration, unconfiguration )
*
* File: ma_acc2.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccTst17
(
Void
)
#else
PUBLIC S16 maAccTst17(Void)
#endif
{
MaAccMsgQElm *msg; /* queue message to be returned */
TRC2(maAccTst17)
if (maAccCb.curTst.init!=TRUE)
{
maAccCb.curTst.init = TRUE;
}
switch(maAccCb.curTst.state)
{
/* Shut Down the Whole layer */
case 0:
maAccCb.curTst.state++;
if(maAccCb.cfgDone == FALSE)
{
break;
}
#ifdef ZJ
zjAccCntrlReq(MAZJGEN, LZJ_ASHUTDOWN, NOTUSED, NOTUSED, NOTUSED,
MAACC_TRANSID1, CMFTHA_RES_RSETID, 1, FALSE);
#endif /* ZJ */
(Void)maAccCntrlReq((SuId) 0, STMATGEN, ASHUTDOWN, 0, 0, 0);
break;
/* Try to send general configuration once more */
case 1:
maAccCb.curTst.state++;
(Void)maAccGenCfg(ENTMA,
TSTINST_0,
MA_ACC_MAX_SAPS,
MA_ACC_MAX_DLGS,
MA_ACC_MAX_OPRS,
0,200);
#ifdef ZJ
/* Configure PSF */
zjAccGenCfg(ZJACC_UPDMSG_SIZE, MAACC_TRANSID1, TRUE);
zjAccCntrlReq(MAZJRSET, LZJ_AGO_ACT, NOTUSED, TRUE, NOTUSED,
MAACC_TRANSID1, CMFTHA_RES_RSETID, 1, FALSE);
#endif /* ZJ */
/*
** Should receive the alarm with event code = 3, watch for the
** alarm print on the display , If Layer Manager interface-3
** flag is not defined.
** Otherwise we should get the config Cfm With Status Not OK
*/
break;
/* send control request to MAP to enable the alarms */
case 2:
maAccCb.curTst.state++;
maAccCntrlReq(0, STGEN, AENA, SAUSTA, 0, 0);
break;
/* Try to configure SAP_0 which is already configured */
case 3:
maAccCb.curTst.state++;
maAccMASapCfg(MA_ACC_SAP_0, 0, 0, 1, 100, 0);
/*
** Should receive the alarm with event code = 1, watch for the
** alarm print on the display , If Layer Manager interface-3
** flag is not defined.
** Otherwise we should get the config Cfm With Status Not OK
*/
break;
/* Configure a new SAP */
case 4:
maAccCb.curTst.state++;
(Void) maAccMASapCfg(MA_ACC_SAP_1, 0, 0, 1, 100, 0);
/* Watch for the layer management alarm print declaring SAP config
OK, Status code = 8 */
break;
case 5:
maAccCb.curTst.state++;
/* Bind to Sap_0 */
AuLiMatBndReq(&maAccCb.uiPst, (SuId)MA_ACC_SAP_0, (SpId)MA_ACC_SAP_0);
break;
case 6:
maAccCb.curTst.state++;
/* Receive the first bind confirm primitives */
if (maAccPopMsgQ(&msg) != ROK)
{
MAACCPRNERROR((prntBuf, "maAccCfgMaTst: Queue is !!EMPTY\n"));
RETVALUE(RFAILED);
}
/* Check for the event */
if ((msg->evtType != MA_ACC_EVT_BND_CFM) ||
((SuId)MA_ACC_SAP_0 != msg->suId))
{
MAACCPRNERROR((prntBuf, \
"maAccCfgMaTst:Incorrect Bind Confirm Event.. \
SuId(%d)..MsgType(%d)\n", \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -