📄 l4_ptui.c
字号:
/********************************************************************16**
(c) COPYRIGHT 1989-2005 by
Continuous Computing Corporation.
All rights reserved.
This software is confidential and proprietary to Continuous Computing
Corporation (CCPU). No part of this software may be reproduced,
stored, transmitted, disclosed or used in any form or by any means
other than as expressly provided by the written Software License
Agreement between CCPU and its licensee.
CCPU warrants that for a period, as provided by the written
Software License Agreement between CCPU and its licensee, this
software will perform substantially to CCPU specifications as
published at the time of shipment, exclusive of any updates or
upgrades, and the media used for delivery of this software will be
free from defects in materials and workmanship. CCPU also warrants
that has the corporate authority to enter into and perform under the
Software License Agreement and it is the copyright owner of the software
as originally delivered to its licensee.
CCPU MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY OR FITNESS FOR
A PARTICULAR PURPOSE WITH REGARD TO THIS SOFTWARE, SERVICE OR ANY RELATED
MATERIALS.
IN NO EVENT SHALL CCPU BE LIABLE FOR ANY INDIRECT, SPECIAL,
CONSEQUENTIAL DAMAGES, OR PUNITIVE DAMAGES IN CONNECTION WITH OR ARISING
OUT OF THE USE OF, OR INABILITY TO USE, THIS SOFTWARE, WHETHER BASED
ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), PRODUCT
LIABILITY, OR OTHERWISE, AND WHETHER OR NOT IT HAS BEEN ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Restricted Rights Legend
This software and all related materials licensed hereby are
classified as "restricted computer software" as defined in clause
52.227-19 of the Federal Acquisition Regulation ("FAR") and were
developed entirely at private expense for nongovernmental purposes,
are commercial in nature and have been regularly used for
nongovernmental purposes, and, to the extent not published and
copyrighted, are trade secrets and confidential and are provided
with all rights reserved under the copyright laws of the United
States. The government's rights to the software and related
materials are limited and restricted as provided in clause
52.227-19 of the FAR.
IMPORTANT LIMITATION(S) ON USE
The use of this software is limited to the use set
forth in the written Software License Agreement between CCPU and
its Licensee. Among other things, the use of this software
may be limited to a particular type of Designated Equipment, as
defined in such Software License Agreement.
Before any installation, use or transfer of this software, please
consult the written Software License Agreement or contact CCPU at
the location set forth below in order to confirm that you are
engaging in a permissible use of the software.
Continuous Computing Corporation
9380, Carroll Park Drive
San Diego, CA-92121, USA
Tel: +1 (858) 882 8800
Fax: +1 (858) 777 3388
Email: support@trillium.com
Web: http://www.ccpu.com
*********************************************************************17*/
/********************************************************************20**
Name: layer 4 - portable - upper interface
Type: C source file
Desc: C source code for Layer 4 upper interface Primitives.
File: l4_ptui.c
Sid: l4_ptui.c@@/main/9 - Fri Sep 16 02:42:10 2005
Prg: ssk
*********************************************************************21*/
#ifdef L4
/*xqc ADD L4 for map test*/
/* header include files (.h) */
#include "envopt.h" /* environment options */
#include "envdep.h" /* environment dependent */
#include "envind.h" /* environment independent */
#include "gen.h" /* general layer */
#include "ssi.h" /* system services */
#include "cm_ss7.h"
#include "stu.h" /* tcap upper interface */
#include "mat.h" /* Inap upper interface */
#include "lma.h" /* Inap layer manager interface */
#ifdef MA_FTHA
#include "sht.h" /* Sht header file */
#endif
#include "ma.h" /* MAP header file*/
#include "ma_acc.h" /* Inap Acceptance Test */
#ifdef ZJ
#include "cm_ftha.h" /* Common FTHA */
#include "cm_pftha.h" /* Common PSF defines */
#include "cm_psfft.h"
#include "cm_tupsf.h" /* Common TCAP user PSF */
#include "zj_acc.h" /* Inap Acceptance Test */
#endif /* ZJ */
/* header/extern include files (.x) */
#include "gen.x" /* general layer */
#include "ssi.x" /* system services */
#include "cm5.x" /* common timer */
#include "cm_ss7.x"
#include "cm_lib.x" /* common library functions */
#include "stu.x" /* tcap upper interface */
#include "lma.x" /* Inap layer manager interface */
#include "mat.x" /* Inap upper interface */
#ifdef MA_FTHA
#include "sht.x" /* Sht header file */
#endif
#ifdef ZJ
#include "cm_ftha.x" /* Common FTHA */
#include "cm_pftha.x" /* Common PSF defines */
#include "cm_psfft.x"
#include "cm_tupsf.x" /* Common TCAP user PSF */
#endif
#include "ma.x" /* MAP header file*/
#include "ma_acc.x" /* Inap Acceptance Test */
EXTERN MaAccCb maAccCb; /* INAP Acceptance Test control block */
/* local defines */
#define MAXL4UI 5
/* error codes */
#define ERRL4 0
#define EL4002 (ERRL4 + 2)
#define EL4003 (ERRL4 + 3)
#define EL4004 (ERRL4 + 4)
#define EL4005 (ERRL4 + 5)
#define EL4006 (ERRL4 + 6)
#define EL4007 (ERRL4 + 7)
#define EL4008 (ERRL4 + 8)
#define EL4009 (ERRL4 + 9)
#define EL4010 (ERRL4 + 10)
/*
The following functions are provided in this file:
StUiStuDatInd st - upper interface - Data Indication
StUiStuUDatInd st - upper interface - Unit Data Indication
StUiStuCmpInd st - upper interface - Component Indication
StUiStuCmpCfm st - upper interface - Component Confirm
StUiStuSteInd st - upper interface - State Indication
StUiStuSteCfm st - upper interface - State Confirm
StUiStuNotInd st - upper interface - Notice Indication
StUiStuStaInd st - upper interface - Status Indication
StUiStuBndCfm st - upper interface - Bind Confirm
It should be noted that not all of these functions may be required
by a particular TCAP layer service user.
It is assumed that the following functions are provided in the TCAP level:
StUiStuBndReq st - upper interface - Bind Request
StUiStuUbndReq st - upper interface - Unbind Request
StUiStuDatReq st - upper interface - Data Request
StUiStuUDatReq st - upper interface - Data Request
StUiStuCmpReq st - upper interface - Component Request
StUiStuSteReq st - upper interface - State Request
StUiStuSteRsp st - upper interface - State Response
*/
/*
* This software may be combined with the following TRILLIUM
* software:
*
* part no. description
* -------- ----------------------------------------------
* 1000011 Multiprocessor Operating System
* 1000030 SS7 - SCCP
*/
/* portable functions */
#ifdef STUV2
PRIVATE S16 PtUiStuDatInd ARGS((Pst *pst,
SuId suId,
U8 msgType,
StDlgId suDlgId,
StDlgId spDlgId,
SpAddr *dstAddr,
SpAddr *srcAddr,
Bool compsPres,
StOctet *pAbrtCause,
StQosSet *qosSet,
Dpc opc,
StDlgEv *dlgEv,
StDataParam *dataParam,
Buffer *uiBuf));
#else /* STUV2 */
PRIVATE S16 PtUiStuDatInd ARGS((Pst *pst,
SuId suId,
U8 msgType,
StDlgId suDlgId,
StDlgId spDlgId,
SpAddr *dstAddr,
SpAddr *srcAddr,
Bool compsPres,
StOctet *pAbrtCause,
StQosSet *qosSet,
Dpc opc,
StDlgEv *dlgEv,
Buffer *uiBuf));
#endif /* STUV2 */
#ifdef STUV2
#ifdef STUV3
PRIVATE S16 PtUiStuUDatInd ARGS((Pst *pst,
SuId suId,
StDlgId suDlgId,
StDlgId spDlgId,
SpAddr *dstAddr,
SpAddr *srcAddr,
StQosSet *qosSet,
Dpc opc,
StDlgEv *dlgEv,
StDataParam *dataParam,
Buffer *uiBuf));
#else
PRIVATE S16 PtUiStuUDatInd ARGS((Pst *pst,
SuId suId,
SpAddr *dstAddr,
SpAddr *srcAddr,
StQosSet *qosSet,
Dpc opc,
StDlgEv *dlgEv,
StDataParam *dataParam,
Buffer *uiBuf));
#endif
#else /* STUV2 */
PRIVATE S16 PtUiStuUDatInd ARGS((Pst *pst,
SuId suId,
SpAddr *dstAddr,
SpAddr *srcAddr,
StQosSet *qosSet,
Dpc opc,
StDlgEv *dlgEv,
Buffer *uiBuf));
#endif /* STUV2 */
PRIVATE S16 PtUiStuCmpInd ARGS((Pst *pst,
SuId suId,
StDlgId suDlgId,
StDlgId spDlgId,
StComps *compEv,
Dpc opc,
Status status,
Buffer *cpBuf));
PRIVATE S16 PtUiStuCmpCfm ARGS((Pst *pst,
SuId suId,
StDlgId suDlgId,
StDlgId spDlgId));
#ifdef STUV2
PRIVATE S16 PtUiStuNotInd ARGS((Pst *pst,
SuId suId,
StDlgId suDlgId,
StDlgId spDlgId,
SpAddr *dstAddr,
SpAddr *srcAddr,
StDataParam *dataParam,
RCause ret));
#else /* STUV2 */
PRIVATE S16 PtUiStuNotInd ARGS((Pst *pst,
SuId suId,
StDlgId suDlgId,
StDlgId spDlgId,
SpAddr *dstAddr,
SpAddr *srcAddr,
RCause ret));
#endif /* STUV2 */
#ifdef STUV2
PRIVATE S16 PtUiStuSteInd ARGS((Pst *pst,
SuId suId,
CmSS7SteMgmt *steMgmt
,StMgmntParam *mgmntParam
));
#else /* STUV2 */
PRIVATE S16 PtUiStuSteInd ARGS((Pst *pst,
SuId suId,
CmSS7SteMgmt *steMgmt
));
#endif /* STUV2 */
#ifdef STUV2
PRIVATE S16 PtUiStuSteCfm ARGS((Pst *pst,
SuId suId,
CmSS7SteMgmt *steMgmt
,StMgmntParam *mgmntParam
));
#else /* STUV2 */
PRIVATE S16 PtUiStuSteCfm ARGS((Pst *pst,
SuId suId,
CmSS7SteMgmt *steMgmt
));
#endif /* STUV2 */
PRIVATE S16 PtUiStuStaInd ARGS((Pst *pst,
SuId suId,
Status status));
PRIVATE S16 PtUiStuBndCfm ARGS((Pst *pst,
SuId suId,
U8 status));
/* functions in other modules */
/* public variable declarations */
/*
The following matrices define the mapping between the primitives called
by the upper interface of TCAP and the corresponding primitives of the
TCAP service user(s).
The parameter MAXL4UI defines the maximum number of service users on top
of TCAP. There is an array of functions per primitive invoked by TCAP.
Every array is MAXL4UI long (i.e. there are as many functions as the number
of service users).
The dispatching is performed by the configurable variable: selector.
The selector is configured on a per SAP basis.
The selectors are:
0 - loosely coupled (#define LCSTUISTU)
1 - TCAP USER (#define IE)
2 - TCAP USER - MAP (#define MA)
3 - TCAP USER - IS-41 (#define IA)
4 - TCAP USER - INAP
*/
/* TCAP Data Indication primitive */
PUBLIC StuDatInd stUiDatIndMt [MAXL4UI] =
{
#ifdef LCSTUISTU
cmPkStuDatInd, /* 0 - loosely coupled */
#else
PtUiStuDatInd, /* 0 - tightly coupled, portable */
#endif
#ifdef MA
MaLiStuDatInd, /* 1 - tightly coupled, TCAP user */
#else
PtUiStuDatInd, /* 1 - tightly coupled, portable */
#endif
#ifdef MA
MaLiStuDatInd, /* 2 - tightly coupled, TCAP user - MAP */
#else
PtUiStuDatInd, /* 2 - tightly coupled, portable */
#endif
#ifdef IA
IaLiStuDatInd, /* 3 - tightly coupled, TCAP user - IS-41 */
#else
PtUiStuDatInd, /* 3 - tightly coupled, portable */
#endif
#ifdef IE
IeLiStuDatInd, /* 4 - tightly coupled, TCAP user - INAP */
#else
PtUiStuDatInd, /* 4 - tightly coupled, portable */
#endif
};
/* TCAP Unit Data Indication primitive */
PUBLIC StuUDatInd stUiUDatIndMt [MAXL4UI] =
{
#ifdef LCSTUISTU
cmPkStuUDatInd, /* 0 - loosely coupled */
#else
PtUiStuUDatInd, /* 0 - tightly coupled, portable */
#endif
#ifdef MA
MaLiStuUDatInd, /* 1 - tightly coupled, TCAP user */
#else
PtUiStuUDatInd, /* 1 - tightly coupled, portable */
#endif
#ifdef MA
MaLiStuUDatInd, /* 2 - tightly coupled, TCAP user - MAP */
#else
PtUiStuUDatInd, /* 2 - tightly coupled, portable */
#endif
#ifdef IA
IaLiStuUDatInd, /* 3 - tightly coupled, TCAP user - IS-41 */
#else
PtUiStuUDatInd, /* 3 - tightly coupled, portable */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -