📄 wdp.c
字号:
/*
* 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 + -