Exemplo n.º 1
0
LOCAL VOS_VOID  NAS_CC_Init()
{

    NAS_CC_InitEntities();

    NAS_CC_InitAllTimers();

    NAS_CC_InitUserConn();

    NAS_CC_InitUus1Info();

    NAS_CC_ReadNvimInfo();

    NAS_CC_InitSsSwitchInfo();

    NAS_CC_ClearAllCacheMsg();

    return;
}
VOS_VOID NAS_CC_DetachUserConn(
    NAS_CC_ENTITY_ID_T                  entityId
)
{
    VOS_UINT32                          i;
    VOS_UINT32                          ulNumEntities = 0;
    VOS_BOOL                            bAttached = VOS_FALSE;


    for (i=0; i<NAS_CC_MAX_ENTITY_NUM; i++)
    {
        if (f_connectedEntities[i] == entityId)
        {
            bAttached = VOS_TRUE;
            f_connectedEntities[i] = NAS_CC_INVALID_ENTITY_ID;
        }

        if (f_connectedEntities[i] != NAS_CC_INVALID_ENTITY_ID)
        {
            ulNumEntities++;
        }
    }

    if (VOS_FALSE == bAttached)
    {
        /* 该实体尚未建立连接,直接返回 */
        NAS_CC_WARN_LOG("NAS_CC_DetachUserConn: NAS_CC_DetachUserConn return.");
        if (0 == ulNumEntities)
        {
            NAS_CC_InitUserConn();
        }
        return;
    }

    if (0 == ulNumEntities)
    {
        /* 这是最后一个detach的实体,释放实际的用户面连接 */
        NAS_CC_RealDetachUserConn(f_enCurrItc, entityId);
    }
}