📄 wap.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
#define XMK_C_TIME 992930570
#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"
/*************************************************************************
** #CODE directives, #BODY sections **
*************************************************************************/
/*************************************************************************
** SECTION Variables and Functions **
*************************************************************************/
/*************************************************************************
** Root process table
*************************************************************************/
XCONST XPDTBL *xPDTBL[MAX_SDL_PROCESS_TYPES+1] =
{
&yPDTBL_z0004_WAE_ME,
&yPDTBL_z0014_WMLS_SM,
&yPDTBL_z0020E_UA_ME,
&yPDTBL_z0020F_MMI_DISP,
&yPDTBL_z0020G_PROV_UA,
&yPDTBL_z0020H_WML_UA,
&yPDTBL_z0020I_MMI_AGNT,
&yPDTBL_z0020J_CONT_UA,
&yPDTBL_z0034_RES_ME,
&yPDTBL_z0035_RES_CC,
&yPDTBL_z0036_RES_FC,
&yPDTBL_z00403_WSPIF_ST,
&yPDTBL_z00404_WSPIF_SM,
&yPDTBL_z00405_WSPIF_TR,
&yPDTBL_z00406_WSPIF_DI,
&yPDTBL_z16_StackCtrl,
&yPDTBL_z209_ClientSession,
&yPDTBL_z20A_ClientMethod,
&yPDTBL_z20B_ClientDispatcher,
&yPDTBL_z20C_ClientPush,
&yPDTBL_z20D_WSP_ME,
&yPDTBL_z20E_ConnectionLess,
&yPDTBL_z3008_TransactionManager,
&yPDTBL_z3009_Initiator,
&yPDTBL_z300A_Responder,
&yPDTBL_z3014_MEProcess,
&yPDTBL_z46_WDPhandler,
&yPDTBL_z47_WDPmanagement,
X_END_ROOT_TABLE
};
/*************************************************************************
** Symbol trace table
*************************************************************************/
#ifdef XMK_ADD_TEST_OPTIONS
XSYMTRACETBL *xSYMTRACETBL[MAX_SDL_PROCESS_TYPES+1] =
{
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
(XSYMTRACETBL_ENTRY *) NULL,
X_END_SYMTRACE_TABLE
};
#endif
/*************************************************************************
** Timer table
*************************************************************************/
/*-------------Timer ROM table--------------*/
#ifdef XMK_USE_TIMER_ROM_TABLE
XCONST XTIMER_ROM_TABLE_ENTRY xTimerRomTable[MAX_SDL_TIMER_TYPES+MAXN] =
{
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z0020H_WML_UA, z0020H29_TimerEvent,
Timer_without_default_value, 0)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z00405_WSPIF_TR, z0040511_ReqTimeOut,
Timer_without_default_value, 5)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z16_StackCtrl, z169_MaxWait,
Timer_without_default_value, 10)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z20A_ClientMethod, z20A09_Abort,
Timer_without_default_value, 11)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z20C_ClientPush, z20C3_Abort,
Timer_without_default_value, 20)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z3009_Initiator, z300914_RetryInterval,
Timer_without_default_value, 29)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z3009_Initiator, z300915_AckInterval,
Timer_without_default_value, 34)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z3009_Initiator, z300916_DelayTransmission,
Timer_without_default_value, 39)
XDEFTIMER_ROM_TABLE_ENTRY(XPTID_z300A_Responder, z300A0H_AckInterval,
Timer_without_default_value, 44)
X_END_TIMER_ROM
};
#endif
/*-------------Timer RAM table--------------*/
#ifdef XMK_USE_TIMER_RAM_TABLE
XTIMER_RAM_TABLE_ENTRY xTimerRamTable[MAX_SDL_TIMER_INSTS+MAXI];
#endif
/*****
* PROCESS StackCtrl
* <<SYSTEM WAP/BLOCK Stack_Mgr>>
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr,4,1)
******/
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
** Tables for process StackCtrl
** #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr,4,1)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*--------------Instance Data---------------*/
#define X_MAX_INST_z16_StackCtrl 1
static yVDef_z16_StackCtrl *yINSTD_z16_StackCtrl[X_MAX_INST_z16_StackCtrl];
/*--------------Process State---------------*/
static xSTATE yPSTATETBL_z16_StackCtrl[X_MAX_INST_z16_StackCtrl] = {
XSTARTUP
};
/*---------------State Index----------------*/
static XCONST xSITBL xSTATE_INDEX_z16_StackCtrl[8] = {0, 2, 3, 5, 6, 7, 8, 9};
/*---------------Transition-----------------*/
#define XMAX_TRANS_z16_StackCtrl 9
static XCONST xTR_TABLE_ENTRY yTRTBL_z16_StackCtrl[XMAX_TRANS_z16_StackCtrl] = {
/* IDLE */
XMK_B z_StackMgr_0_StartWAPStack, 1 XMK_E,
XMK_B z_StackMgr_A_TerminateWAPStack, 5 XMK_E
/* WaitForCryptInitResponse */,
XMK_B z_StackMgr_2_CRYPTcInitialiseResponse, 2 XMK_E
/* AwaitReadySignals */,
XMK_B z_StackMgr_9_Ready, 4 XMK_E,
XMK_B z169_MaxWait, 3 XMK_E
/* AwaitWAEReadySignal */,
XMK_B z_StackMgr_9_Ready, 6 XMK_E
/* AwaitWSPReadySignal */,
XMK_B z_StackMgr_9_Ready, 7 XMK_E
/* AwaitWTPReadySignal */,
XMK_B z_StackMgr_9_Ready, 8 XMK_E
/* AwaitWDPReadySignal */,
XMK_B z_StackMgr_9_Ready, 9 XMK_E
};
/*-----------Process-PID-Values-------------*/
#ifdef XMK_USE_PID_ADDRESSING
static xPIDTable yPID_TBL_z16_StackCtrl[X_MAX_INST_z16_StackCtrl];
#endif
/*-----------Process Description------------*/
#define X_PRIO_z16_StackCtrl xDefaultPrioProcess
XCONST XPDTBL yPDTBL_z16_StackCtrl = {
#ifdef XMK_USE_PID_ADDRESSING
yPID_TBL_z16_StackCtrl,
#endif
(xINSTD *)yINSTD_z16_StackCtrl,
sizeof(yVDef_z16_StackCtrl),
X_MAX_INST_z16_StackCtrl,
#ifdef XMK_USE_TIMESLICE
X_TIMESLICE_z16_StackCtrl,
#endif
#ifdef XMK_USE_PREEMPTIVE
X_PRIO_z16_StackCtrl,
#endif
(xmk_T_TRANS_ADDRESS) yPAD_z16_StackCtrl,
yTRTBL_z16_StackCtrl,
xSTATE_INDEX_z16_StackCtrl,
yPSTATETBL_z16_StackCtrl
};
/*+++++
* Function for process StackCtrl
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr,4,1)
++++++*/
YPAD_FUNCTION(yPAD_z16_StackCtrl)
{
YPAD_YSVARP
YPAD_YVARP(yVDef_z16_StackCtrl)
YPAD_TEMP_VARS
/* INTEGRATION: commented out statement */
/* SDL_Integer yDcn_SDL_Integer; */
/* INTEGRATION: commented out statement */
/* SDL_Boolean yDcn_SDL_Boolean; */
YPRSNAME_VAR("StackCtrl")
BEGIN_PAD
switch (XSYMBOLNUMBER) {
/*-----
* START
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),119(40,15),1)
------*/
case 0:
BEGIN_START_TRANSITION
XAT_FIRST_SYMBOL(0, 0)
yAssF_SDL_Natural(yVarP->z16A_n, yTstA_SDL_Natural(SDL_INTEGER_LIT(0)),
XASS);
yAssF_SDL_Natural(yVarP->z16B_NbrOfLayers,
yTstA_SDL_Natural(SDL_INTEGER_LIT(0)), XASS);
xDef_SDL_Natural(&yVarP->z16C_Wait);
xDef_SDL_Real(&yVarP->z16D_R);
yAssF_SDL_Duration(yVarP->z16E_Diff, SDL_DURATION_LIT(1.0, 1, 0), XASS);
xDef_SDL_Natural(&yVarP->z16F_Layer);
yAssF_SDL_Natural(yVarP->z16G_needsCryptInit,
yTstA_SDL_Natural(SDL_INTEGER_LIT(0)), XASS);
xDef_SDL_PId(&yVarP->z16H_mypid);
xDef_SDL_Integer(&yVarP->z16I_result);
INIT_TIMER_VAR(yTim_MaxWait)
XBETWEEN_SYMBOLS(10, 10, 261)
/*-----
* NEXTSTATE IDLE
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),122(40,30),1)
------*/
XAT_LAST_SYMBOL
SDL_NEXTSTATE(IDLE, z162_IDLE, "IDLE")
/*-----
* INPUT StartWAPStack
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),128(85,40),1)
------*/
case 1:
XDEBUG_LABEL(IDLE_StartWAPStack)
XAT_FIRST_SYMBOL(1, 1)
XOS_TRACE_INPUT("StartWAPStack")
XBETWEEN_SYMBOLS(11, 11, 278)
/*-----
* ASSIGNMENT NbrOfLayers := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),677(85,55),1)
------*/
yAssF_SDL_Natural(yVarP->z16B_NbrOfLayers,
yTstA_SDL_Natural(SDL_INTEGER_LIT(0)), XASS);
#ifdef XTRACE
xTraceAssign("NbrOfLayers := ");
#endif
XBETWEEN_STMTS(12, 12, 289)
/*-----
* ASSIGNMENT n := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),677(85,55),2)
------*/
yAssF_SDL_Natural(yVarP->z16A_n, yTstA_SDL_Natural(SDL_INTEGER_LIT(0)),
XASS);
#ifdef XTRACE
xTraceAssign("n := ");
#endif
XBETWEEN_SYMBOLS(13, 13, 300)
/*-----
* TASK
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),671(85,70),1)
------*/
#ifdef XTRACE
xTraceTask(" ");
#endif
yVarP->z16C_Wait = MaxStartUpTime;
XBETWEEN_SYMBOLS(14, 14, 311)
/*-----
* ASSIGNMENT R := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),242(85,85),1)
------*/
yAssF_SDL_Real(yVarP->z16D_R, xFloat_SDL_Integer(yVarP->z16C_Wait), XASS);
#ifdef XTRACE
xTraceAssign("R := ");
#endif
XBETWEEN_STMTS(15, 15, 321)
/*-----
* ASSIGNMENT Diff := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),242(85,85),2)
------*/
yAssF_SDL_Duration(yVarP->z16E_Diff, xMultRD_SDL_Duration(yVarP->z16D_R,
yVarP->z16E_Diff), XASS);
#ifdef XTRACE
xTraceAssign("Diff := ");
#endif
XBETWEEN_SYMBOLS(16, 16, 332)
/*-----
* TASK
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1328(85,100),1)
------*/
#ifdef XTRACE
xTraceTask(" ");
#endif
#if defined CONFIG_WTLS || defined CAN_SIGN_TEXT
yVarP->z16G_needsCryptInit = 1;
#endif
XBETWEEN_SYMBOLS(17, 17, 345)
/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1331(85,120),1)
------*/
#ifdef XTRACE
yAssF_SDL_Integer(yDcn_SDL_Integer, yVarP->z16G_needsCryptInit, XASS);
if (yEqF_SDL_Integer(yDcn_SDL_Integer, SDL_INTEGER_LIT(1))) {
#else
if (yEqF_SDL_Integer(yVarP->z16G_needsCryptInit, SDL_INTEGER_LIT(1))) {
#endif
#ifdef XTRACE
xTraceDecision("PATH: Integer");
#endif
XBETWEEN_SYMBOLS(18, 18, 360)
{
/*-----
* ASSIGNMENT mypid := ...
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1343(85,135),1)
------*/
yAssF_SDL_PId(yVarP->z16H_mypid, SDL_SELF, XASS);
#ifdef XTRACE
xTraceAssign("mypid := ");
#endif
}
XBETWEEN_SYMBOLS(19, 19, 372)
/*-----
* TASK
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1337(85,150),1)
------*/
#ifdef XTRACE
xTraceTask(" ");
#endif
#if defined CONFIG_WTLS || defined CAN_SIGN_TEXT
CRYPTa_initialise (yVarP->z16H_mypid);
#endif
XBETWEEN_SYMBOLS(20, 20, 385)
/*-----
* NEXTSTATE WaitForCryptInitResponse
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1349(85,165),1)
------*/
XAT_LAST_SYMBOL
SDL_NEXTSTATE(WaitForCryptInitResponse, z163_WaitForCryptInitResponse,
"WaitForCryptInitResponse")
} else {
#ifdef XTRACE
xTraceDecision("ELSE");
#endif
/* Null transition */
}
L_grst319:;
/*-----
* JOIN SEND_START_SIGNALS
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1649(90,200),1)
------*/
goto L_SEND_START_SIGNALS;
/*-----
* INPUT CRYPTcInitialiseResponse
* #SDTREF(SDL,D:\WIP\Maintenance\4.x\System\SystemConfigurations\base_co\sdl\stackmgr\stackctrl.spr(Startup),1355(85,180),1)
------*/
case 2:
XDEBUG_LABEL(WaitForCryptInitResponse_CRYPTcInitialiseResponse)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -