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

📄 wdp.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
/*
 * Copyright (C) Ericsson Mobile Communications AB, 2001.
 * Licensed to AU-System AB.
 * All rights reserved.
 *
 * This software is covered by the license agreement between
 * the end user and AU-System AB, and may be used and copied
 * only in accordance with the terms of the said agreement.
 *
 * Neither Ericsson Mobile Communications AB nor AU-System AB
 * assumes any responsibility or liability for any errors or inaccuracies in
 * this software, or any consequential, incidental or indirect damage arising
 * out of the use of the Generic WAP Client software.
 */

/* Program generated by SDT Cmicro, version 1.33 */

#ifndef XSCT_CMICRO
#define XSCT_CMICRO
#endif

#define C_MICRO_1_3
#include "ml_typw.h"
#include "ctypes.h"
#include "buffmgt.h"
#include "glbldecl.h"
#include "wdp_ul.h"
#include "wspcmwtp.h"
#include "wtppckg.h"
#include "wdp_udp.h"
#include "wtp_wdp.h"
#include "wdppckg.h"
#include "wspclwdp.h"
#include "wae_wsp.h"
#include "stackmgr.h"
#include "waepckg.h"
#include "wap.h"

/*************************************************************************
**                SECTION Types and Forward references                  **
*************************************************************************/

/*****
* PROCESS WDPhandler
* <<SYSTEM WAP/BLOCK WDP>>
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr,4,1)
******/
YPAD_PROTOTYPE(yPAD_z46_WDPhandler)
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),872(30,20),2) */
    z_ctypes_4_VoidStar  z467_UDPData;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),872(30,20),3) */
    DeviceAddress  z468_dstAddr;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),872(30,20),3) */
    DeviceAddress  z469_srcAddr;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),872(30,20),4) */
    pdubuf_ptr  z46A_tmpBuf;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),287(30,45),2) */
    SDL_Integer  z46B_srcPort;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),287(30,45),2) */
    SDL_Integer  z46C_dstPort;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),287(30,45),3) */
    SDL_Natural  z46D_DataLen;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),287(30,45),3) */
    SDL_Natural  z46E_FaultCode;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),287(30,45),4) */
    SDL_Boolean  z46F_ok;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),239(30,65),2) */
    TDUnitdataReqType  z46G_dataReq;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),239(30,65),3) */
    TDUnitdataIndType  z46H_dataInd;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),2) */
    SDL_Integer  z46I_port;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),3) */
    SDL_PId  z46J_upperlayerPId;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),4) */
    SDL_Natural  z46K_stackconfig;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),5) */
    SDL_Octet  z46L_bearer;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),6) */
    SDL_Octet  z46M_viewID;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),7) */
    SDL_Octet  z46N_channelID;
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),3143(30,85),8) */
    SDL_Octet  z46O_newChannelID;
    SDL_Octet  yDcn_SDL_Octet;
} yVDef_z46_WDPhandler;
#define z465_AwaitStart  1
#define z466_IDLE  2

/*****
* PROCESS WDPmanagement
* <<SYSTEM WAP/BLOCK WDP>>
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdpmanagement.spr,4,1)
******/
YPAD_PROTOTYPE(yPAD_z47_WDPmanagement)
typedef struct {
    PROCESS_VARS
} yVDef_z47_WDPmanagement;
#define z470_AwaitStartWDP  1
#define z471_AwaitReady  2
#define z472_AwaitWDPhReady  3
#define z473_AwaitReassembleReady  4
#define z474_idle  5
#define z475_AwaitTerminated  6
#define z476_AwaitWDPhTerminated  7
#define z477_AwaitReassembleTerminated  8

/*************************************************************************
**                #CODE directives, #HEADING sections                   **
*************************************************************************/
                /* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(Definitions),287(30,45),4) */
#include "wdpsuppt.h"
#include "capiclnt.h"
#include "dbfunct.h"
#include "wipdb.h"


/*************************************************************************
**                  #CODE directives, #BODY sections                    **
*************************************************************************/

/*************************************************************************
**                  SECTION Variables and Functions                     **
*************************************************************************/

/*****
* PROCESS WDPhandler
* <<SYSTEM WAP/BLOCK WDP>>
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr,4,1)
******/

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
** Tables for process WDPhandler
** #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr,4,1)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/*--------------Instance Data---------------*/
#define X_MAX_INST_z46_WDPhandler 1
static yVDef_z46_WDPhandler *yINSTD_z46_WDPhandler[X_MAX_INST_z46_WDPhandler];

/*--------------Process State---------------*/
static xSTATE yPSTATETBL_z46_WDPhandler[X_MAX_INST_z46_WDPhandler] = {
  XSTARTUP
};

/*---------------State Index----------------*/
static XCONST xSITBL xSTATE_INDEX_z46_WDPhandler[3] = {0, 3, 9};

/*---------------Transition-----------------*/
#define XMAX_TRANS_z46_WDPhandler 9
static XCONST xTR_TABLE_ENTRY yTRTBL_z46_WDPhandler[XMAX_TRANS_z46_WDPhandler] = {

    /* AwaitStart */
  XMK_B z_WDP_UpperLayer_1_OpenPort, XSAVEID XMK_E,
  XMK_B z_WDPpckg_0_StartWDPh, 1 XMK_E,
  XMK_B z_WDPpckg_3_TerminateWDPh, 2 XMK_E

    /* IDLE */,
  XMK_B z_WDP_UpperLayer_0_TDUnitdataReq, 3 XMK_E,
  XMK_B z_Global_Declarations_0_ClosePort, 4 XMK_E,
  XMK_B z_WDP_UpperLayer_1_OpenPort, 5 XMK_E,
  XMK_B z_WDPpckg_3_TerminateWDPh, 6 XMK_E,
  XMK_B z_WDP_UDP_0_RecUDPDatagram, 8 XMK_E,
  XMK_B z_WDP_UDP_1_UDPErrorInd, 7 XMK_E
};

/*-----------Process-PID-Values-------------*/
#ifdef XMK_USE_PID_ADDRESSING
static xPIDTable yPID_TBL_z46_WDPhandler[X_MAX_INST_z46_WDPhandler];
#endif

/*-----------Process Description------------*/
#define X_PRIO_z46_WDPhandler  xDefaultPrioProcess
XCONST XPDTBL yPDTBL_z46_WDPhandler = {
#ifdef XMK_USE_PID_ADDRESSING
  yPID_TBL_z46_WDPhandler,
#endif
  (xINSTD *)yINSTD_z46_WDPhandler,
  sizeof(yVDef_z46_WDPhandler),
  X_MAX_INST_z46_WDPhandler,
#ifdef XMK_USE_TIMESLICE
  X_TIMESLICE_z46_WDPhandler,
#endif
#ifdef XMK_USE_PREEMPTIVE
  X_PRIO_z46_WDPhandler,
#endif
  (xmk_T_TRANS_ADDRESS) yPAD_z46_WDPhandler,
  yTRTBL_z46_WDPhandler,
  xSTATE_INDEX_z46_WDPhandler,
  yPSTATETBL_z46_WDPhandler
};

/*+++++
* Function for process WDPhandler
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr,4,1)
++++++*/
YPAD_FUNCTION(yPAD_z46_WDPhandler)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z46_WDPhandler)
  YPAD_TEMP_VARS
  /* INTEGRATION: commented out statement */
  /* SDL_Integer  yDcn_SDL_Integer; */
  /* INTEGRATION: commented out statement */
  /* SDL_Boolean  yDcn_SDL_Boolean; */
  YPRSNAME_VAR("WDPhandler")

  BEGIN_PAD
  switch (XSYMBOLNUMBER) {

/*-----
* START
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),1763(55,25),1)
------*/
  case 0:
    BEGIN_START_TRANSITION
    XAT_FIRST_SYMBOL(0, 5361)
    yDef_z_ctypes_4_VoidStar(&yVarP->z467_UDPData);
    yDef_DeviceAddress(&yVarP->z468_dstAddr);
    yDef_DeviceAddress(&yVarP->z469_srcAddr);
    yDef_pdubuf_ptr(&yVarP->z46A_tmpBuf);
    xDef_SDL_Integer(&yVarP->z46B_srcPort);
    xDef_SDL_Integer(&yVarP->z46C_dstPort);
    xDef_SDL_Natural(&yVarP->z46D_DataLen);
    xDef_SDL_Natural(&yVarP->z46E_FaultCode);
    xDef_SDL_Boolean(&yVarP->z46F_ok);
    yDef_TDUnitdataReqType(&yVarP->z46G_dataReq);
    yDef_TDUnitdataIndType(&yVarP->z46H_dataInd);
    xDef_SDL_Integer(&yVarP->z46I_port);
    xDef_SDL_PId(&yVarP->z46J_upperlayerPId);
    xDef_SDL_Natural(&yVarP->z46K_stackconfig);
    xDef_SDL_Octet(&yVarP->z46L_bearer);
    xDef_SDL_Octet(&yVarP->z46M_viewID);
    xDef_SDL_Octet(&yVarP->z46N_channelID);
    xDef_SDL_Octet(&yVarP->z46O_newChannelID);
    XBETWEEN_SYMBOLS(9, 5370, 222)

/*-----
* NEXTSTATE AwaitStart
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),1766(55,40),1)
------*/
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(AwaitStart, z465_AwaitStart, "AwaitStart")

/*-----
* INPUT StartWDPh
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),1772(55,80),1)
------*/
  case 1:
    XDEBUG_LABEL(AwaitStart_StartWDPh)
    XAT_FIRST_SYMBOL(1, 5362)
    XOS_TRACE_INPUT("StartWDPh")
    XBETWEEN_SYMBOLS(10, 5371, 239)
    {

/*-----
* CALL wdp_porttbl_init
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),3815(55,95),1)
------*/
#ifdef XTRACE
      xTraceAlg("CALL EXTERNAL PROCEDURE wdp_porttbl_init");
#endif
#ifdef XMSCE
      xMSCETask("CALL EXTERNAL wdp_porttbl_init");
#endif
      wdp_porttbl_init();
    }
    XBETWEEN_SYMBOLS(11, 5372, 254)

/*-----
* TASK address_init
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),4010(55,110),1)
------*/
#ifdef XTRACE
    xTraceTask("address_init");
#endif
 #if defined CONFIG_SMS

 wdp_address_init ();

 #endif

    XBETWEEN_SYMBOLS(12, 5373, 269)

/*-----
* OUTPUT WDPhReady
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\startanswer.smc(1),281(80,40),1)
------*/
    ALLOC_SIGNAL_NPAR(WDPhReady, z_WDPpckg_9_WDPhReady, XSIGNALHEADERTYPE)
    SDL_OUTP_NPAR(xDefaultPrioSignal, WDPhReady, z_WDPpckg_9_WDPhReady,
      TO_PROCESS(WDPmanagement, z47_WDPmanagement), 0, "WDPhReady")
    XBETWEEN_SYMBOLS(13, 5374, 278)

/*-----
* OUTPUT SegmentationReady
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\startanswer.smc(1),287(80,55),1)
------*/
    ALLOC_SIGNAL_NPAR(SegmentationReady, z_WDPpckg_A_SegmentationReady,
      XSIGNALHEADERTYPE)
    SDL_OUTP_NPAR(xDefaultPrioSignal, SegmentationReady,
      z_WDPpckg_A_SegmentationReady, TO_PROCESS(WDPmanagement,
      z47_WDPmanagement), 0, "SegmentationReady")
    XBETWEEN_SYMBOLS(14, 5375, 289)

/*-----
* OUTPUT ReassembleReady
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\startanswer.smc(1),293(80,70),1)
------*/
    ALLOC_SIGNAL_NPAR(ReassembleReady, z_WDPpckg_B_ReassembleReady,
      XSIGNALHEADERTYPE)
    SDL_OUTP_NPAR(xDefaultPrioSignal, ReassembleReady,
      z_WDPpckg_B_ReassembleReady, TO_PROCESS(WDPmanagement,
      z47_WDPmanagement), 0, "ReassembleReady")
    XBETWEEN_SYMBOLS(15, 5376, 300)

/*-----
* NEXTSTATE IDLE
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),1793(55,140),1)
------*/
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(IDLE, z466_IDLE, "IDLE")

/*-----
* INPUT TerminateWDPh
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),1796(120,85),1)
------*/
  case 2:
    XDEBUG_LABEL(AwaitStart_TerminateWDPh)
    XAT_FIRST_SYMBOL(2, 5363)
    XOS_TRACE_INPUT("TerminateWDPh")
    XBETWEEN_SYMBOLS(16, 5377, 317)
    {

/*-----
* CALL wdp_porttbl_clear
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\wdphandler.spr(1),3821(120,100),1)
------*/
#ifdef XTRACE
      xTraceAlg("CALL EXTERNAL PROCEDURE wdp_porttbl_clear");
#endif
#ifdef XMSCE
      xMSCETask("CALL EXTERNAL wdp_porttbl_clear");
#endif
      wdp_porttbl_clear();
    }
    XBETWEEN_SYMBOLS(17, 5378, 332)

/*-----
* OUTPUT WDPhTerminated
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\terminateanswer.smc(1),305(80,40),1)
------*/
    ALLOC_SIGNAL_NPAR(WDPhTerminated, z_WDPpckg_6_WDPhTerminated,
      XSIGNALHEADERTYPE)
    SDL_OUTP_NPAR(xDefaultPrioSignal, WDPhTerminated,
      z_WDPpckg_6_WDPhTerminated, TO_PROCESS(WDPmanagement, z47_WDPmanagement),
      0, "WDPhTerminated")
    XBETWEEN_SYMBOLS(18, 5379, 343)

/*-----
* OUTPUT SegmentationTerminated
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\wdp\terminateanswer.smc(1),287(80,55),1)
------*/
    ALLOC_SIGNAL_NPAR(SegmentationTerminated,
      z_WDPpckg_8_SegmentationTerminated, XSIGNALHEADERTYPE)
    SDL_OUTP_NPAR(xDefaultPrioSignal, SegmentationTerminated,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -