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

📄 wap.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/*
 * 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 + -