📄 layerapp.cpp
字号:
*/
#ifdef ANSI
PUBLIC S16 AppLiMatIMEIMgmtInd
(
Pst *pst, /* post structure */
SuId suId, /* service user id */
MaDlgId suDlgId, /* Service user dialogue Id */
MaDlgId spDlgId, /* Service provider dialogue Id */
MaInvokeId *invkId, /* Invoke Id */
MaOprType oprType, /* Operation type */
MaIMEIEv *imeiEv /* IMEI Event Structure */
)
#else
PUBLIC S16 AppLiMatIMEIMgmtInd(pst, suId, suDlgId, spDlgId, invkId, oprType, imeiEv)
Pst *pst; /* post structure */
SuId suId; /* service user id */
MaDlgId suDlgId; /* Service user dialogue Id */
MaDlgId spDlgId; /* Service provider dialogue Id */
MaInvokeId *invkId; /* Invoke Id */
MaOprType oprType; /* Operation type */
MaIMEIEv *imeiEv; /* IMEI Event Structure */
#endif
{
MaAccMsgQElm qElm;
AUACC_PRINT("MAP IMEI Management Ind suId %d - SuDlgId %3ld SpDlgId %3ld Operation %d\n", suId, suDlgId, spDlgId, oprType);
qElm.evtType = MA_EVTIMEIMGMTIND;
qElm.suId = suId;
qElm.suDlgId = suDlgId;
qElm.spDlgId = spDlgId;
qElm.s.operEv.invId.pres = invkId->pres;
qElm.s.operEv.invId.octet = invkId->octet;
qElm.s.operEv.oprCode = oprType;
#if 0 /* ma009.14:change - old code */
cmCpy((PTR)imeiEv, (PTR)&qElm.s.operEv.oprEv.imeiEv, sizeof(MaIMEIEv));
#else /* ma009.14:change - new code */
if(imeiEv != NULLP)
{
cmCpy((PTR)imeiEv, (PTR)&qElm.s.operEv.oprEv.imeiEv, sizeof(MaIMEIEv));
}
#endif /* ma009.14:change */
RETVALUE(ROK);
} /* end of AppLiMatIMEIMgmtInd */
/*
*
* Fun: upper interface - IMEI Management Confirm
*
* Desc: This function handles the response for IMEI Management
* services from the MAP user.
*
* Ret: ROK - ok
*
* Notes: None
*
* File: layerapp.c
*
*/
#ifdef ANSI
PUBLIC S16 AppLiMatIMEIMgmtCfm
(
Pst *pst, /* post structure */
SuId suId, /* service user id */
MaDlgId suDlgId, /* Service user dialogue Id */
MaDlgId spDlgId, /* Service provider dialogue Id */
MaInvokeId *invkId, /* Invoke Id */
MaOprType oprType, /* Operation type */
MaUsrErr *usrErr, /* User Error */
MaPrvErr *prvErr, /* provider Error */
MaIMEIEv *imeiEv /* IMEI Event Structure */
)
#else
PUBLIC S16 AppLiMatIMEIMgmtCfm(pst, suId, suDlgId, spDlgId, invkId, oprType, usrErr, prvErr, imeiEv)
Pst *pst; /* post structure */
SuId suId; /* service user id */
MaDlgId suDlgId; /* Service user dialogue Id */
MaDlgId spDlgId; /* Service provider dialogue Id */
MaInvokeId *invkId; /* Invoke Id */
MaOprType oprType; /* Operation type */
MaUsrErr *usrErr; /* User Error */
MaPrvErr *prvErr; /* provider Error */
MaIMEIEv *imeiEv; /* IMEI Event Structure */
#endif
{
MaAccMsgQElm qElm;
TRC2(AppLiMatIMEIMgmtCfm)
AUACC_PRINT("MAP IMEI Management Cfm suId %d - SuDlgId %3ld SpDlgId %3ld Operation %d\n", suId, suDlgId, spDlgId, oprType);
qElm.evtType = MA_EVTIMEIMGMTCFM;
qElm.suId = suId;
qElm.suDlgId = suDlgId;
qElm.spDlgId = spDlgId;
qElm.s.operEv.invId.pres = invkId->pres;
qElm.s.operEv.invId.octet = invkId->octet;
qElm.s.operEv.oprCode = oprType;
#if 0 /* ma009.14:change - old code */
cmCpy((PTR)usrErr, (PTR)&qElm.s.operEv.usrErr, sizeof(MaUsrErr));
cmCpy((PTR)prvErr, (PTR)&qElm.s.operEv.prvErr, sizeof(MaPrvErr));
cmCpy((PTR)imeiEv, (PTR)&qElm.s.operEv.oprEv.imeiEv, sizeof(MaIMEIEv));
#else /* ma009.14:change - new code */
if(usrErr != NULLP)
{
cmCpy((PTR)usrErr, (PTR)&qElm.s.operEv.usrErr, sizeof(MaUsrErr));
}
if(prvErr != NULLP)
{
cmCpy((PTR)prvErr, (PTR)&qElm.s.operEv.prvErr, sizeof(MaPrvErr));
}
if(imeiEv != NULLP)
{
cmCpy((PTR)imeiEv, (PTR)&qElm.s.operEv.oprEv.imeiEv, sizeof(MaIMEIEv));
}
#endif /* ma009.14:change */
RETVALUE(ROK);
} /* end of AppLiMatIMEIMgmtCfm */
#endif /* MAP_MSC || MAP_VLR || MAP_GSN */
/* --------------- Fault and Recovery Management -------------------- */
#if (MAP_VLR || MAP_HLR)
/*
*
* Fun: upper interface - Fault and Recovery Management Confirm
*
* Desc: This function handles the Confirm for Fault and Recovery
* services from the MAP user
*
* Ret: ROK - ok
*
* Notes: None
*
* File: layerapp.c
*
*/
#ifdef ANSI
PUBLIC S16 AppLiMatFRMgmtCfm
(
Pst *pst, /* post structure */
SuId suId, /* service user id */
MaDlgId suDlgId, /* Service user dialogue Id */
MaDlgId spDlgId, /* Service provider dialogue Id */
MaInvokeId *invkId, /* Invoke Id */
MaOprType oprType, /* Operation type */
MaUsrErr *usrErr, /* User Error */
MaPrvErr *prvErr, /* provider Error */
MaFREv *frEv /* Fault and Recovery Management Event Structure */
)
#else
PUBLIC S16 AppLiMatFRMgmtCfm(pst, suId, suDlgId, spDlgId, invkId, oprType, usrErr,prvErr, frEv)
Pst *pst; /* post structure */
SuId suId; /* service user id */
MaDlgId suDlgId; /* Service user dialogue Id */
MaDlgId spDlgId; /* Service provider dialogue Id */
MaInvokeId *invkId; /* Invoke Id */
MaOprType oprType; /* Operation type */
MaUsrErr *usrErr; /* User Error */
MaPrvErr *prvErr; /* provider Error */
MaFREv *frEv; /* Fault and Recovery Management Event Structure */
#endif
{
MaAccMsgQElm qElm;
TRC2(AppLiMatFRMgmtCfm)
AUACC_PRINT("MAP Fault Management Cfm suId %d - SuDlgId %3ld SpDlgId %3ld Operation %d\n",
suId, suDlgId, spDlgId, oprType);
qElm.evtType = MA_EVTFRMGMTCFM;
qElm.suId = suId;
qElm.suDlgId = suDlgId;
qElm.spDlgId = spDlgId;
qElm.s.operEv.invId.pres = invkId->pres;
qElm.s.operEv.invId.octet = invkId->octet;
qElm.s.operEv.oprCode = oprType;
#if 0 /* ma009.14:change - old code */
cmCpy((PTR)usrErr, (PTR)&qElm.s.operEv.usrErr, sizeof(MaUsrErr));
cmCpy((PTR)prvErr, (PTR)&qElm.s.operEv.prvErr, sizeof(MaPrvErr));
cmCpy((PTR)frEv, (PTR)&qElm.s.operEv.oprEv.frEv, sizeof(MaFREv));
#else /* ma009.14:change - new code */
if(usrErr != NULLP)
{
cmCpy((PTR)usrErr, (PTR)&qElm.s.operEv.usrErr, sizeof(MaUsrErr));
}
if(prvErr != NULLP)
{
cmCpy((PTR)prvErr, (PTR)&qElm.s.operEv.prvErr, sizeof(MaPrvErr));
}
if(frEv != NULLP)
{
cmCpy((PTR)frEv, (PTR)&qElm.s.operEv.oprEv.frEv, sizeof(MaFREv));
}
#endif /* ma009.14:change */
RETVALUE(ROK);
} /* end of AppLiMatFRMgmtCfm */
#endif /* MAP_VLR || MAP_HLR */
#if (MAP_MSC || MAP_VLR || MAP_HLR || MAP_GSN)
/*
*
* Fun: AppLiMatFRMgmtInd
*
* Desc: This function handles the indication for Fault and Recovery
* services from the MAP user.
*
* Ret: ROK - ok
*
* Notes: None
*
* File: layerapp.c
*
*/
#ifdef ANSI
PUBLIC S16 AppLiMatFRMgmtInd
(
Pst *pst, /* post structure */
SuId suId, /* service user id */
MaDlgId suDlgId, /* Service user dialogue Id */
MaDlgId spDlgId, /* Service provider dialogue Id */
MaInvokeId *invkId, /* Invoke Id */
MaOprType oprType, /* Operation type */
MaFREv *frEv /* Fault and Recovery Event Structure */
)
#else
PUBLIC S16 AppLiMatFRMgmtInd(pst, suId, suDlgId, spDlgId, invkId, oprType, frEv)
Pst *pst; /* post structure */
SuId suId; /* service user id */
MaDlgId suDlgId; /* Service user dialogue Id */
MaDlgId spDlgId; /* Service provider dialogue Id */
MaInvokeId *invkId; /* Invoke Id */
MaOprType oprType; /* Operation type */
MaFREv *frEv; /* Fault and Recovery Event Structure */
#endif
{
MaAccMsgQElm qElm;
Dialog *curDlg;
TRC2(AppLiMatFRMgmtInd)
AUACC_PRINT("MAP Fault Management Ind suId %d - SuDlgId %3ld SpDlgId %3ld Operation %d\n", suId, suDlgId, spDlgId, oprType);
qElm.evtType = MA_EVTFRMGMTIND;
qElm.suId = suId;
qElm.suDlgId = suDlgId;
qElm.spDlgId = spDlgId;
qElm.s.operEv.invId.pres = invkId->pres;
qElm.s.operEv.invId.octet = invkId->octet;
qElm.s.operEv.oprCode = oprType;
#ifdef _MULTI_THREAD
pthread_mutex_lock(&(dlgQueue->Lock));
#endif
curDlg = dlgQueue->dlgFind(suDlgId, spDlgId);
#ifdef _MULTI_THREAD
pthread_mutex_unlock(&(dlgQueue->Lock));
#endif
#if 0 /* ma009.14:change - old code */
cmCpy((PTR)frEv, (PTR)&qElm.s.operEv.oprEv.frEv, sizeof(MaFREv));
#else /* ma009.14:change - new code */
if(frEv != NULLP)
{
cmCpy((PTR)frEv, (PTR)&qElm.s.operEv.oprEv.frEv, sizeof(MaFREv));
}
if (curDlg == NULLP)
{
AUACC_PRINT("[AppLiMatFRMgmtInd]--Find dlg %ld failure \n",suDlgId);
}
else
{
curDlg->auLiMatUpLocIndPrs(&qElm);
}
#endif /* ma009.14:change */
RETVALUE(ROK);
} /* end of AppLiMatFRMgmtInd */
#endif /* MAP_MSC || MAP_VLR || MAP_HLR || MAP_GSN */
/* --------------- OAM Management ----------------------------------- */
#if (MAP_MSC || MAP_VLR || MAP_HLR)
/*
*
* Fun: AppLiMatOAMCfm
*
* Desc: This function handles the Confirm for Operation and Maintenance
* services from the MAP user
*
* Ret: ROK - ok
*
* Notes: None
*
* File: layerapp.c
*
*/
#ifdef ANSI
PUBLIC S16 AppLiMatOAMCfm
(
Pst *pst, /* post structure */
SuId suId, /* service user id */
MaDlgId suDlgId, /* Service user dialogue Id */
MaDlgId spDlgId, /* Service provider dialogue Id */
MaInvokeId *invkId, /* Invoke Id */
MaOprType oprType, /* Operation type */
MaUsrErr *usrErr, /* User Error */
MaPrvErr *prvErr, /* provider Error */
MaOAMEv *oamEv /* Operation and Maintenance Event Structure */
)
#else
PUBLIC S16 AppLiMatOAMCfm(pst, suId, suDlgId, spDlgId, invkId, oprType, usrErr, prvErr, oamEv)
Pst *pst; /* post structure */
SuId suId; /* service user id */
MaDlgId suDlgId; /* Service user dialogue Id */
MaDlgId spDlgId; /* Service provider dialogue Id */
MaInvokeId *invkId; /* Invoke Id */
MaOprType oprType; /* Operation type */
MaUsrErr *usrErr; /* User Error */
MaPrvErr *prvErr; /* provider Error */
MaOAMEv *oamEv; /* Operation and Maintenance Event Structure */
#endif
{
MaAccMsgQElm qElm;
TRC2(AppLiMatOAMCfm)
AUACC_PRINT("MAP OAM Management Cfm suId %d - SuDlgId %3ld SpDlgId %3ld Operation %d\n", suId, suDlgId, spDlgId, oprType);
qElm.evtType = MA_EVTOAMMGMTCFM;
qElm.suId = suId;
qElm.suDlgId = suDlgId;
qElm.spDlgId = spDlgId;
qElm.s.operEv.invId.pres = invkId->pres;
qElm.s.operEv.invId.octet = invkId->octet;
qElm.s.operEv.oprCode = oprType;
#if 0 /* ma009.14:change - old code */
cmCpy((PTR)usrErr, (PTR)&qElm.s.operEv.usrErr, sizeof(MaUsrErr));
cmCpy((PTR)prvErr, (PTR)&qElm.s.operEv.prvErr, sizeof(MaPrvErr));
cmCpy((PTR)oamEv, (PTR)&qElm.s.operEv.oprEv.oamEv, sizeof(MaOAMEv));
#else /* ma009.14:change - new code */
if(usrErr != NULLP)
{
cmCpy((PTR)usrErr, (PTR)&qElm.s.operEv.usrErr, sizeof(MaUsrErr));
}
if(prvErr != NULLP)
{
cmCpy((PTR)prvErr, (PTR)&qElm.s.operEv.prvErr, sizeof(MaPrvErr));
}
if(oamEv != NULLP)
{
cmCpy((PTR)oamEv, (PTR)&qElm.s.operEv.oprEv.oamEv, sizeof(MaOAMEv));
}
#endif /* ma009.14:change */
RETVALUE(ROK);
} /* end of AppLiMatOAMCfm */
#endif /* MAP_MSC || MAP_VLR || MAP_HLR */
#if (MAP_MSC || MAP_VLR || MAP_HLR || MAP_GSN)
/*
*
* Fun: AppLiMatOAMInd
*
* Desc: This function handles the indication for Operation and Maintenance
* services from the MAP user.
*
* Ret: ROK - ok
*
* Notes: None
*
* File: layerapp.c
*
*/
#ifdef ANSI
PUBLIC S16 AppLiMatOAMInd
(
Pst *pst, /* post structure */
SuId suId, /* service user id */
MaDlgId suDlgId, /* Service user dialogue Id */
MaDlgId spDlgId, /* Service provider dialogue Id */
MaInvokeId *invkId, /* Invoke Id */
MaOprType oprType, /* Operation type */
MaOAMEv *oamEv /* Operation and Maintenance Event Structure */
)
#else
PUBLIC S16 AppLiMatOAMInd(pst, suId, suDlgId, spDlgId, invkId, oprType, oamEv)
Pst *pst; /* post structure */
SuId suId; /* service user id */
MaDlgId suDlgId; /* Service user dialogue Id */
MaDlgId spDlgId; /* Service provider dialogue Id */
MaInvokeId *invkId; /* Invoke Id */
MaOprType oprType; /* Operation type */
MaOAMEv *oamEv; /* Operation and Maintenance Event Structure */
#endif
{
MaAccMsgQElm qElm;
Dialog *curDlg;
TRC2(AppLiMatOAMInd)
AUACC_PRINT("MAP OAM Management Ind suId %d - SuDlgId %3ld SpDlgId %3ld Operation %d\n",
suId, suDlgId, spDlgId, oprType);
qElm.evtType = MA_EVTOAMMGMTIND;
qElm.suId = suId;
qElm.suDlgId = suDlgId;
qElm.spDlgId = spDlgId;
qElm.s.operEv.invId.pres = invkId->pres;
qElm.s.operEv.invId.octet = invkId->octet;
qElm.s.operEv.oprCode = oprType;
#ifdef _MULTI_THREAD
pthread_mutex_lock(&(dlgQueue->Lock));
#endif
curDlg = dlgQueue->dlgFind(suDlgId, spDlgId);
#ifdef _MULTI_THREAD
pthread_mutex_unlock(&(dlgQueue->Lock));
#endif
#if 0 /* ma009.14:change - old code */
cmCpy((PTR)oamEv, (PTR)&qElm.s.operEv.oprEv.oamEv, sizeof(MaOA
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -