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

📄 wtls.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
/*-----------Process Description------------*/
#define X_PRIO_z48_WTLS_CM  xDefaultPrioProcess
XCONST XPDTBL yPDTBL_z48_WTLS_CM = {
#ifdef XMK_USE_PID_ADDRESSING
  yPID_TBL_z48_WTLS_CM,
#endif
  (xINSTD *)yINSTD_z48_WTLS_CM,
  sizeof(yVDef_z48_WTLS_CM),
  X_MAX_INST_z48_WTLS_CM,
#ifdef XMK_USE_TIMESLICE
  X_TIMESLICE_z48_WTLS_CM,
#endif
#ifdef XMK_USE_PREEMPTIVE
  X_PRIO_z48_WTLS_CM,
#endif
  (xmk_T_TRANS_ADDRESS) yPAD_z48_WTLS_CM,
  yTRTBL_z48_WTLS_CM,
  xSTATE_INDEX_z48_WTLS_CM,
  yPSTATETBL_z48_WTLS_CM
};

/*+++++
* Function for process WTLS_CM
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr,4,1)
++++++*/
YPAD_FUNCTION(yPAD_z48_WTLS_CM)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z48_WTLS_CM)
  YPAD_TEMP_VARS
  SDL_Integer  yDcn_SDL_Integer;
  /* INTEGRATION: commented out statement */
  /* SDL_Boolean  yDcn_SDL_Boolean; */
  YPRSNAME_VAR("WTLS_CM")

  BEGIN_PAD
  switch (XSYMBOLNUMBER) {

/*-----
* START
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),1088(50,20),1)
------*/
  case 0:
    BEGIN_START_TRANSITION
    XAT_FIRST_SYMBOL(0, 7149)
    yDef_TDUnitdataIndType(&yVarP->z4830_dataInd);
    yDef_AddressType(&yVarP->z4831_srcAddr);
    yDef_AddressType(&yVarP->z4832_dstAddr);
    xDef_SDL_Integer(&yVarP->z4833_alertLevel);
    xDef_SDL_Integer(&yVarP->z4834_alertDesc);
    yDef_z_ctypes_4_VoidStar(&yVarP->z4835_conn);
    xDef_SDL_Integer(&yVarP->z4836_resendCounter);
    xDef_SDL_Integer(&yVarP->z4837_result);
    xDef_SDL_Integer(&yVarP->z4838_maxRetransmissions);
    xDef_SDL_Time(&yVarP->z4839_retryInterval);
    xDef_SDL_Time(&yVarP->z483A_t);
    xDef_SDL_Duration(&yVarP->z483B_d);
    xDef_SDL_Integer(&yVarP->z483C_path);
    xDef_SDL_Natural(&yVarP->z483D_msgType);
    xDef_SDL_Natural(&yVarP->z483E_handshakeType);
    xDef_SDL_Integer(&yVarP->z483F_errtype);
    xDef_SDL_Integer(&yVarP->z483G_errcode);
    xDef_SDL_Integer(&yVarP->z483H_sendAlert);
    xDef_SDL_PId(&yVarP->z483I_recProc);
    xDef_SDL_Octet(&yVarP->z483J_mid);
    yDef_z_ctypes_4_VoidStar(&yVarP->z483K_buf);
    xDef_SDL_Natural(&yVarP->z483L_bufLen);
    yAssF_SDL_Boolean(yVarP->z483M_established, SDL_False, XASS);
    yAssF_SDL_Boolean(yVarP->z483N_handshakeInProgress, SDL_False, XASS);
    yAssF_SDL_Boolean(yVarP->z483O_abortable, SDL_True, XASS);
    yAssF_SDL_Boolean(yVarP->z483P_sentClientHello, SDL_False, XASS);
    yAssF_SDL_Integer(yVarP->z483Q_numWarnings, SDL_INTEGER_LIT(0), XASS);
    xDef_SDL_PId(&yVarP->z483R_p);
    yDef_z_ctypes_4_VoidStar(&yVarP->z483S_cs);
    yDef_z_ctypes_4_VoidStar(&yVarP->z483T_kx);
    yDef_z_ctypes_4_VoidStar(&yVarP->z483U_tk);
    xDef_SDL_Natural(&yVarP->z483V_cslen);
    xDef_SDL_Natural(&yVarP->z483W_kxlen);
    xDef_SDL_Natural(&yVarP->z483X_tklen);
    xDef_SDL_Octet(&yVarP->z483Y_sessionIdLen);
    xDef_SDL_Octet(&yVarP->z483Z_sessionOptions);
    xDef_SDL_Octet(&yVarP->z4840_macAlg);
    xDef_SDL_Octet(&yVarP->z4841_cipherAlg);
    xDef_SDL_Octet(&yVarP->z4842_compressionAlg);
    yDef_z_ctypes_4_VoidStar(&yVarP->z4843_privateKeyId);
    xDef_SDL_Natural(&yVarP->z4844_creationTime);
    INIT_TIMER_VAR(yTim_ConnectionTimer)
    XBETWEEN_SYMBOLS(47, 7196, 697)

/*-----
* NEXTSTATE WaitStartCM
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),1091(50,40),1)
------*/
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(WaitStartCM, z4827_WaitStartCM, "WaitStartCM")

/*-----
* INPUT StartCM
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),2255(50,60),1)
------*/
  case 1:
    XDEBUG_LABEL(WaitStartCM_StartCM)
    XAT_FIRST_SYMBOL(1, 7150)
    XOS_TRACE_INPUT("StartCM")
    yAssF_SDL_PId(yVarP->z483I_recProc, ((yPDef_z_WTLS_0B_StartCM *)ySVarP)->
      Param1, XASS);
    yAssF_AddressType(yVarP->z4831_srcAddr, ((yPDef_z_WTLS_0B_StartCM *)
      ySVarP)->Param2, XASS);
    yAssF_AddressType(yVarP->z4832_dstAddr, ((yPDef_z_WTLS_0B_StartCM *)
      ySVarP)->Param3, XASS);
    yAssF_SDL_Integer(yVarP->z483C_path, ((yPDef_z_WTLS_0B_StartCM *)ySVarP)->
      Param4, XASS);
    XBETWEEN_SYMBOLS(48, 7197, 722)
    {

/*-----
* ASSIGNMENT conn := ...
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),2435(50,75),1)
------*/
      yAssF_z_ctypes_4_VoidStar(yVarP->z4835_conn, wtls_cm_init(SDL_SELF,
        yVarP->z483I_recProc, yVarP->z4831_srcAddr, yVarP->z4832_dstAddr),
        XASS);
#ifdef XTRACE
      xTraceAssign("conn := ");
#endif
    }
    XBETWEEN_SYMBOLS(49, 7198, 736)

/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),2438(50,95),1)
------*/
#ifdef XTRACE
    yAssF_z_ctypes_4_VoidStar(yVarP->yDcn_z_ctypes_4_VoidStar, yVarP->
      z4835_conn, XASS);
    if (yEqF_z_ctypes_4_VoidStar(yVarP->yDcn_z_ctypes_4_VoidStar,
          z_ctypes_40_Null())) {
#else
    if (yEqF_z_ctypes_4_VoidStar(yVarP->z4835_conn, z_ctypes_40_Null())) {
#endif
#ifdef XTRACE
    xTraceDecision("PATH: VoidStar");
#endif

/*-----
* JOIN PROCESSING_ERROR
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),2441(135,140),1)
------*/
      goto L_PROCESSING_ERROR;
    } else {
#ifdef XTRACE
    xTraceDecision("ELSE");
#endif
      XBETWEEN_SYMBOLS(50, 7199, 763)
      {

/*-----
* CALL wtls_cm_get_connection_parameters
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),2483(50,115),1)
------*/
#ifdef XTRACE
        xTraceAlg("CALL EXTERNAL PROCEDURE wtls_cm_get_connection_parameters");
#endif
#ifdef XMSCE
        xMSCETask("CALL EXTERNAL wtls_cm_get_connection_parameters");
#endif
        wtls_cm_get_connection_parameters(yVarP->z4832_dstAddr.Bearer, &(yVarP->
          z4838_maxRetransmissions), &(yVarP->z4839_retryInterval));
      }
      XBETWEEN_SYMBOLS(51, 7200, 779)

/*-----
* OUTPUT CMReady
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),3065(50,130),1)
------*/
      ALLOC_SIGNAL_NPAR(CMReady, z_WTLS_0C_CMReady, XSIGNALHEADERTYPE)
      SDL_OUTP_NPAR(xDefaultPrioSignal, CMReady, z_WTLS_0C_CMReady,
        TO_PROCESS(WTLS_Main, z4A_WTLS_Main), 0, "CMReady")
      XBETWEEN_SYMBOLS(52, 7201, 788)

/*-----
* TASK log internal
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),3221(50,145),1)
------*/
#ifdef XTRACE
      xTraceTask("log internal");
#endif
#ifdef LOG_INTERNAL
  CLNTa_log (0, 0, "WTLS_CM: new process created");
#endif

      XBETWEEN_SYMBOLS(53, 7202, 801)

/*-----
* NEXTSTATE NULL
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(Init),3047(50,165),1)
------*/
      XAT_LAST_SYMBOL
      SDL_NEXTSTATE(NULL, z4828_NULL, "NULL")
    }

/*-----
* INPUT StartHandshake
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),3056(55,50),1)
------*/
  case 2:
    XDEBUG_LABEL(NULL_StartHandshake)
    XAT_FIRST_SYMBOL(2, 7151)
    XOS_TRACE_INPUT("StartHandshake")

  L_RESTART:
    XBETWEEN_SYMBOLS(54, 7203, 821)

/*-----
* TASK log internal
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),3953(55,70),1)
------*/
#ifdef XTRACE
    xTraceTask("log internal");
#endif
#ifdef LOG_INTERNAL
  CLNTa_log (0, 0, "WTLS_CM: starting a new handshake");
#endif

    XBETWEEN_SYMBOLS(55, 7204, 834)
    {

/*-----
* ASSIGNMENT handshakeInProgress := ...
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),143(55,90),1)
------*/
      yAssF_SDL_Boolean(yVarP->z483N_handshakeInProgress, SDL_True, XASS);
#ifdef XTRACE
      xTraceAssign("handshakeInProgress := ");
#endif
      XBETWEEN_STMTS(56, 7205, 845)

/*-----
* ASSIGNMENT result := ...
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),143(55,90),2)
------*/
      yAssF_SDL_Integer(yVarP->z4837_result, wtls_cm_handshake_init(yVarP->
        z4835_conn, yVarP->z483M_established), XASS);
#ifdef XTRACE
      xTraceAssign("result := ");
#endif
    }
    XBETWEEN_SYMBOLS(57, 7206, 857)

/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),2267(55,105),1)
------*/
#ifdef XTRACE
    yAssF_SDL_Integer(yDcn_SDL_Integer, yVarP->z4837_result, XASS);
    if (xLT_SDL_Integer(yDcn_SDL_Integer, SDL_INTEGER_LIT(0))) {
#else
    if (xLT_SDL_Integer(yVarP->z4837_result, SDL_INTEGER_LIT(0))) {
#endif
#ifdef XTRACE
    xTraceDecision("PATH: < Integer");
#endif

/*-----
* JOIN PROCESSING_ERROR
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),2273(140,120),1)
------*/
      goto L_PROCESSING_ERROR;
    } else {
#ifdef XTRACE
    xTraceDecision("ELSE");
#endif
      XBETWEEN_SYMBOLS(58, 7207, 882)

/*-----
* DECISION
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),4646(55,125),1)
------*/
#ifdef XTRACE
      yAssF_SDL_Boolean(yDcn_SDL_Boolean, yVarP->z483M_established, XASS);
      if (yDcn_SDL_Boolean) {
#else
      if (yVarP->z483M_established) {
#endif
#ifdef XTRACE
      xTraceDecision("TRUE");
#endif
        XBETWEEN_SYMBOLS(59, 7208, 897)

/*-----
* NEXTSTATE WaitSessionFetch1
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),4649(35,155),1)
------*/
        XAT_LAST_SYMBOL
        SDL_NEXTSTATE(WaitSessionFetch1, z4829_WaitSessionFetch1,
          "WaitSessionFetch1")
      } else {
#ifdef XTRACE
      xTraceDecision("FALSE");
#endif
        XBETWEEN_SYMBOLS(60, 7209, 910)

/*-----
* NEXTSTATE WaitPeerLookup
* #SDTREF(SDL,D:\WIP\System\SystemConfigurations\base_push_wta_wtls_co_sms\sdl\wtls\wtls_cm.spr(HandshakeInit),4652(80,155),1)
------*/
        XAT_LAST_SYMBOL
        SDL_NEXTSTATE(WaitPeerLookup, z482A_WaitPeerLookup, "WaitPeerLookup")
      }
    }

/*-----

⌨️ 快捷键说明

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