📄 ma_acc1.c
字号:
{
U16 oldPtr; /* saved pointer value */
TRC2(maAccPushMsgQ)
/* save the old pointer */
oldPtr = maAccCb.msgQ.wrPtr;
/* increment the write pointer */
maAccCb.msgQ.wrPtr++;
if (maAccCb.msgQ.wrPtr == (U16)MA_ACC_MSG_QSIZE)
{
maAccCb.msgQ.wrPtr = 0;
}
/* Check if the queue if FULL */
if (maAccCb.msgQ.wrPtr == maAccCb.msgQ.rdPtr)
{
maAccCb.msgQ.wrPtr = oldPtr;
AULOGERROR(ERRCLS_DEBUG, EAU101, (ErrVal)maAccCb.curTst.id,
"maAccPushMsgQ(): Queue is full");
RETVALUE(RFAILED);
}
/* queue the passed element */
maAccCb.msgQ.q[oldPtr] = *msg;
RETVALUE(ROK);
} /* maAccPushMsgQ */
/*
*
* Fun: maAccExamMsgQ
*
* Desc: Examine the message at the front of the Queue
*
* Ret: ROK - operation was successful
* RFAILED - queue is empty
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccExamMsgQ
(
MaAccMsgQElm **msg /* queue message to be returned */
)
#else
PUBLIC S16 maAccExamMsgQ(msg)
MaAccMsgQElm **msg; /* queue message to be returned */
#endif
{
TRC2(maAccExamMsgQ)
/* Check If queue is EMPTY */
if (maAccCb.msgQ.rdPtr == maAccCb.msgQ.wrPtr)
{
*msg = NULLP;
RETVALUE(RFAILED);
}
*msg = &maAccCb.msgQ.q[maAccCb.msgQ.rdPtr];
RETVALUE(ROK);
} /* maAccExamMsgQ */
/*
*
* Fun: maAccGetMsgQSize
*
* Desc: Get the number of entrmas present in the queue
*
* Ret: ROK - operation was successful
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccGetMsgQSize
(
U16 *qSize /* To return size of the queue */
)
#else
PUBLIC S16 maAccGetMsgQSize(qSize)
U16 *qSize; /* To return size of the queue */
#endif
{
TRC2(maAccGetMsgQSize)
if (maAccCb.msgQ.wrPtr < maAccCb.msgQ.rdPtr)
{
*qSize = MA_ACC_MSG_QSIZE + maAccCb.msgQ.wrPtr - maAccCb.msgQ.rdPtr;
}
else
{
*qSize = maAccCb.msgQ.wrPtr - maAccCb.msgQ.rdPtr;
}
RETVALUE(ROK);
} /* maAccGetMsgQSize */
/*
*
* Fun: maAccFlushMsgQ
*
* Desc: Flush the Queue
*
* Ret: ROK - operation was successful
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccFlushMsgQ
(
Void
)
#else
PUBLIC S16 maAccFlushMsgQ(Void)
#endif
{
TRC2(maAccFlushMsgQ)
maAccCb.msgQ.wrPtr = 0;
maAccCb.msgQ.rdPtr = 0;
RETVALUE(ROK);
} /* maAccFlushMsgQ */
/*
*
* Fun: maAccPrntMsgQ
*
* Desc: Prints a message form the queue
*
* Ret: ROK - operation was successful
* RFAILED - queue is empty
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccPrntMsgQ
(
MaAccMsgQElm *msg /* queue message to be returned */
)
#else
PUBLIC S16 maAccPrntMsgQ(msg)
MaAccMsgQElm *msg; /* queue message to be returned */
#endif
{
Txt prntBuf[MA_PRNTBUF_SIZE];
TRC2(maAccPrntMsgQ)
#ifndef ALIGN_64BIT
MAACCPRINT((prntBuf, "\nMAP link %d - SuDlgId %5ld SpDlgId %5ld\n",
msg->suId, msg->suDlgId, msg->spDlgId));
#else
MAACCPRINT((prntBuf, "\nMAP link %d - SuDlgId %5d SpDlgId %5d\n",
msg->suId, msg->suDlgId, msg->spDlgId));
#endif /* ALIGN_64BIT */
switch(msg->evtType)
{
case MA_ACC_EVT_OPEN_IND:
MAACCPRINT((prntBuf, "Open Indication Rx'd"));
break;
case MA_ACC_EVT_OPEN_CFM:
MAACCPRINT((prntBuf, "Open Confirm Rx'd"));
break;
case MA_ACC_EVT_DLG_CFM:
MAACCPRINT((prntBuf, "Dialogue Confirm Rx'd"));
break;
case MA_ACC_EVT_DELIM_IND:
MAACCPRINT((prntBuf, "Delimiter Indication Rx'd"));
break;
case MA_ACC_EVT_CLOSE_IND:
MAACCPRINT((prntBuf, "Close Indication Rx'd"));
break;
case MA_ACC_EVT_ABT_IND:
MAACCPRINT((prntBuf, "Abort Indication Rx'd"));
break;
case MA_ACC_EVT_NOT_IND:
MAACCPRINT((prntBuf, " Cause %d\n",
msg->s.notEv.cause));
MAACCPRINT((prntBuf, "Notice Indication Rx'd"));
break;
case MA_ACC_EVT_STAT_IND:
MAACCPRINT((prntBuf, " InvokeId %d Prim %d\n",
msg->s.statEv.invId.octet,msg->s.statEv.primType));
MAACCPRINT((prntBuf, "STATUS Indication Rx'd"));
break;
case MA_ACC_EVT_STE_IND:
MAACCPRINT((prntBuf, "State Change Indication Rx'd"));
break;
case MA_ACC_EVT_STE_CFM:
MAACCPRINT((prntBuf, "State Change Confirm Rx'd"));
break;
case MA_ACC_EVT_HOMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "Hand off Management Indication Rx'd"));
break;
case MA_ACC_EVT_HOMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "Hand off Management Confirm Rx'd"));
break;
case MA_ACC_EVT_AUTHMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "Authentication Management Indication Rx'd"));
break;
case MA_ACC_EVT_AUTHMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "Authentication Management Confirm Rx'd"));
break;
case MA_ACC_EVT_IMEIMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "IMEI Management Indication Rx'd"));
break;
case MA_ACC_EVT_IMEIMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "IMEI Management Confirm Rx'd"));
break;
case MA_ACC_EVT_FRMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "FR Management Indication Rx'd"));
break;
case MA_ACC_EVT_FRMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "FR Management Confirm Rx'd"));
break;
case MA_ACC_EVT_OAMMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "OAM Indication Rx'd"));
break;
case MA_ACC_EVT_OAMMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "OAM Confirm Rx'd"));
break;
case MA_ACC_EVT_CALLMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "call Management Indication Rx'd"));
break;
case MA_ACC_EVT_CALLMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "call Management Confirm Rx'd"));
break;
case MA_ACC_EVT_PDPACTV_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "PDP Active Indication Rx'd"));
break;
case MA_ACC_EVT_PDPACTV_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "PDP Active Confirm Rx'd"));
break;
case MA_ACC_EVT_SMMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "SM Indication Rx'd"));
break;
case MA_ACC_EVT_SMMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "SM Confirm Rx'd"));
break;
case MA_ACC_EVT_SSMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "SS Indication Rx'd"));
break;
case MA_ACC_EVT_SSMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "SS Confirm Rx'd"));
break;
case MA_ACC_EVT_SUBMGMT_IND:
MAACCPRINT((prntBuf, "InvokeId %d, LinkedId %d, OprCode %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.lnkId.octet,
msg->s.operEv.oprCode));
MAACCPRINT((prntBuf, "Subscriber Management Management Indication Rx'd"));
break;
case MA_ACC_EVT_SUBMGMT_CFM:
MAACCPRINT((prntBuf, "InvokeId %d, UsrError %d PrvError %d\n",
msg->s.operEv.invId.octet, msg->s.operEv.usrErr.errCode,
msg->s.operEv.prvErr.errCode));
MAACCPRINT((prntBuf, "Subscriber Management Confirm Rx'd"));
break;
case MA_ACC_EVT_BND_CFM:
MAACCPRINT((prntBuf, "SuId %d\n", msg->suId));
MAACCPRINT((prntBuf, "Bind Confirm Rx'd"));
break;
}
MAACCPRINT((prntBuf, "\n\n"));
RETVALUE(ROK);
} /* maAccPrntMsgQ */
/*
*
* Fun: maAccAllocDlgId
*
* Desc: Allocates the next available dialogma Id.
*
* Ret: ROK - If can allocate a free dialogue Id
* RFAILED - if can't
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccAllocDlgId
(
StDlgId *dlgId
)
#else
PUBLIC S16 maAccAllocDlgId(dlgId)
StDlgId *dlgId;
#endif
{
TRC2(maAccAllocDlgId)
if (++maAccCb.dlgIdPool == 0)
{
maAccCb.dlgIdPool = 1;
}
*dlgId = maAccCb.dlgIdPool;
RETVALUE(ROK);
} /* End of maAccAllocDlgId */
/*
*
* Fun: maAccWaitTmr
*
* Desc: Wait for the given number of timer ticks
*
* Ret: ROK - wait is over
* RFAILED - wait isn't over
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccWaitTmr
(
Ticks wait
)
#else
PUBLIC S16 maAccWaitTmr(wait)
Ticks wait;
#endif
{
Txt prntBuf[MA_PRNTBUF_SIZE];
Ticks crntTime = 0;
TRC2(maAccWaitTmr)
(Void)SGetSysTime(&crntTime);
if (maAccCb.crntTime == 0)
{
maAccCb.crntTime = crntTime;
SPrint("\n\nmaAccWaitTmr: Waiting for the MAP Guard Timer to Expire\n");
}
else
{
if (crntTime >= (maAccCb.crntTime + wait))
{
#ifndef ALIGN_64BIT
sprintf(prntBuf, "\nRej Tmr: StartTime %ld, CrntTime %ld\n",\
maAccCb.crntTime, crntTime);
#else
sprintf(prntBuf, "\nRej Tmr: StartTime %d, CrntTime %d\n",\
maAccCb.crntTime, crntTime);
#endif /* ALIGN_64BIT */
SPrint(prntBuf);
maAccCb.crntTime = 0;
RETVALUE(ROK);
}
}
RETVALUE(RFAILED);
} /* maAccWaitTmr */
#ifdef MA_SEG
/*
*
* Fun: maAccSegGenCfg
*
* Desc: MAP General Configuration
*
* Ret: ROK - ok
*
* Notes: None
*
* File: ma_acc1.c
*
*/
#ifdef ANSI
PUBLIC S16 maAccSegGenCfg
(
Ent ent, /* entity id */
Inst inst, /* instance id */
U16 nmbSap, /* Number of SAPS */
U16 nmbDlg, /* Number of dialogues - system wide */
U16 nmbOpr, /* Number of Operations - system wide */
Tra
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -