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