コード例 #1
0
VOS_VOID Ss_RcvFacility(
                    VOS_VOID *pMsg,
                    VOS_UINT32 ulMsgLen,
                    VOS_UINT8 ucTi
                    )
{
    ST_SSP_MSG      stSsmsg;                                                        /* SS解码生成的消息                         */


    switch( g_SsEntity[ucTi].ucState )
    {                                                                           /* 根据实体状态分别进行处理                 */
    case SS_S_CONNECTED:                                                        /* S2                                       */
        Ss_MemSet( &stSsmsg, 0, sizeof( ST_SSP_MSG ));    /* 将消息空间清零                           */
        if( WUEPS_TRUE == Ss_Decode( pMsg, &(stSsmsg.SspmsgCore), ulMsgLen ))
        {                                                                       /* 解码成功                                 */
            stSsmsg.ucCr = g_SsEntity[ucTi].ucCr;                               /* 设置CR                                   */
            if (stSsmsg.ucCr >= TAF_MT_MIN_CR)
            {
                stSsmsg.ucCr -= 120;                                            /*Cr范围为128-134时,需要转换成TI:8-14*/
            }
            SSA_DealMsgFromSS(&stSsmsg);
        }
        break;

    default:                                                                    /* 其他状态                                 */
        SS_WARN_LOG( "\n [Error]SsEntity State Error! \r" );
        break;
    }
}
コード例 #2
0
VOS_VOID Ss_TaskInit( VOS_VOID )
{
    VOS_UINT8   i;                                                                  /* 用于循环                                 */

    for( i = 0 ; i < SS_MAX_ENTITY_NUM ; i++ )
    {                                                                           /* 初始化SS实体信息                         */
        g_SsEntity[i].ucState = SS_S_NULL;
        SS_NORM_LOG( "\n SS state = SS_S_NULL \r" );
        g_SsEntity[i].ucCr = SS_NONE_CR;
    }

    for( i = 0 ; i < SS_MO_ENTITY_NUM ; i++ )
    {                                                                           /* 初始化消息缓存BUFFER                     */
        g_SsSaveMsg[i].ulMsgLen = 0;
        g_SsSaveMsg[i].pucMsg = VOS_NULL_PTR;
    }


    SSA_GetUssdMode();
/*=>A32D07063*/
#if 0
    for( i = 0 ; i < SS_MAX_ENTITY_NUM ; i++ )
    {                                                                           /* 初始化TIMER管理信息                      */
        Ss_MemSet(&g_SsTimerMng[i].SsTimerId,0,sizeof(HTIMER));
        g_SsTimerMng[i].ucTimerState = SS_TIMER_IDLE;
    }
#endif
/*<=A32D07063*/
}
コード例 #3
0
VOS_VOID Ss_RcvUnknownAirMsg(
                         VOS_UINT8 ucTi
                         )
{
    ST_SSP_MSG      stSsMsg;

    Ss_MemSet( &stSsMsg, 0, sizeof( ST_SSP_MSG ));    /* 将消息空间清零                           */

    if( SS_S_NULL != g_SsEntity[ucTi].ucState )
    {
        stSsMsg.ucCr = g_SsEntity[ucTi].ucCr;                                       /* 设置CR                                   */
        if (stSsMsg.ucCr >= TAF_MT_MIN_CR)
        {
            stSsMsg.ucCr -= 120;                                            /*Cr范围为128-134时,需要转换成TI:8-14*/
        }
        stSsMsg.SspmsgCore.ucChoice = D_SMC_END_IND;                                /* 设置消息选择                             */
        Ss_MemSet( &(stSsMsg.SspmsgCore.u.EndInd), 0, sizeof( ST_END_IND ));       /* 将消息空间清零                           */
        SSA_DealMsgFromSS(&stSsMsg);
    }

    Ss_SndRelCmpl( VOS_NULL_PTR, ucTi, SS_CAUSE_MSG_TYPE_ERR_OR_NOT_IMPLEMENT );        /* 发送DR(RELEASE COMPLETE #97)             */
    Ss_SndMmssRelReq( ucTi );                                                   /* 向MM发送MMSS_REL_REQ原语,释放MM连接     */
    Ss_EntityClear( ucTi );                                                     /* 释放对应的SS实体                         */
}