⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l4_ptui.c

📁 gsm map协议源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
/********************************************************************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 + -