📄 cippdvar.c
字号:
Fn_status( cippd_ppderror ), /* Report CI PPD Protocol Error */ End_fnset()}, error_event2[] = { /* Event Violates CI PPD Protocol */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_nostatus( cippd_disb_path ), /* Disable CI PPD Path */ Fn_status( cippd_ppderror ), /* Report CI PPD Protocol Error */ End_fnset()}, ignore_event1[] = { /* Event has No Affect on State */ End_fnset()}, ignore_event2[] = { /* Event has No Affect on State */ Fn_nostatus( cippd_ignore_dg ), /* Discard Datagram */ End_fnset()}, ignore_event3[] = { /* Event has No Affect on State */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ Fn_nostatus( cippd_ignore_dg ), /* Discard Datagram */ End_fnset()}, ignore_event4[] = { /* Event has No Affect on State */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ End_fnset()}, illegal_event[] = { /* Illegal State-Event Combination */ Fn_nostatus( cippd_panic ), /* Immediately Panic */ End_fnset()}, path_failure1[] = { /* Path Failure Event */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ Fn_nostatus( cippd_path_schd ), /* Schedule CI PPD Path Clean Up*/ End_fnset()}, path_failure2[] = { /* Path Failure Event */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_nostatus( cippd_disb_path ), /* Disable CI PPD Path */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ Fn_nostatus( cippd_path_schd ), /* Schedule CI PPD Path Clean Up*/ End_fnset()}, process_error1[] = { /* FSM Processing Failure Event */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ Fn_nostatus( cippd_path_schd ), /* Schedule CI PPD Path Clean Up*/ End_fnset()}, process_error2[] = { /* FSM Processing Failure Event */ Fn_nostatus( cippd_disb_path ), /* Disable CI PPD Path */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ Fn_nostatus( cippd_path_schd ), /* Schedule CI PPD Path Clean Up*/ End_fnset()}, stop_dg_event1[] = { /* Stop Datagram Event */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_status( cippd_stop_dg ), /* Remote CI PPD Path Terminat'n*/ End_fnset()}, stop_dg_event2[] = { /* Stop Datagram Event */ Fn_nostatus( cippd_stop_dg ), /* Remote CI PPD Path Terminat'n*/ Fn_nostatus( cippd_ignore_dg ), /* Discard Datagram */ End_fnset()}, /* STATE EVENT */ cl_id_rec[] = { /* PS_CLOSED CNFE_ID_REC */ Fn_status( cippd_init_pb ), /* Initialize Path Block */ Fn_nostatus( cippd_comp_trys ), /* Compute Number of Tries */ Fn_nostatus( cippd_snd_start ), /* Send START CI PPD Datagram */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, cl_str_rec[] = { /* PS_CLOSED CNFE_START_REC */ Fn_status( cippd_build_sb ), /* Build Formative System Block */ Fn_nostatus( cippd_comp_trys ), /* Compute Number of Tries */ Fn_nostatus( cippd_req_id ), /* Request Report Port ID */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, str_snt_str_rec[] = { /* PS_START_SNT CNFE_START_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_status( cippd_build_sb ), /* Build Formative System Block */ Fn_nostatus( cippd_upd_ptype ), /* Update Remote Port Type */ Fn_status( cippd_enab_path ), /* Enable CI PPD Path */ Fn_nostatus( cippd_comp_trys ), /* Compute Number of Tries */ Fn_nostatus( cippd_snd_stack ), /* Send STACK CI PPD Datagram */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, str_snt_sta_rec[] = { /* PS_START_SNT CNFE_STACK_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_status( cippd_build_sb ), /* Build Formative System Block */ Fn_nostatus( cippd_upd_ptype ), /* Update Remote Port Type */ Fn_status( cippd_enab_path ), /* Enable CI PPD Path */ Fn_status( cippd_enter_db ), /* Enter PB in System Databases */ Fn_nostatus( cippd_snd_ack ), /* Send ACK CI PPD Datagram */ End_fnset()}, str_snt_timeout[] = { /* PS_START_SNT CNFE_TIMEOUT */ Fn_status( cippd_test_trys ), /* Test Transmission Attempts */ Fn_nostatus( cippd_snd_start ), /* Send START CI PPD Datagram */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, str_rec_id_rec[] = { /* PS_START_REC CNFE_ID_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_status( cippd_init_pb ), /* Initialize Path Block */ Fn_nostatus( cippd_upd_ptype ), /* Update Remote Port Type */ Fn_status( cippd_enab_path ), /* Enable CI PPD Path */ Fn_nostatus( cippd_comp_trys ), /* Compute Number of Tries */ Fn_nostatus( cippd_snd_stack ), /* Send STACK CI PPD Datagram */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, str_rec_str_rec[] = { /* PS_START_REC CNFE_START_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_nostatus( cippd_update_sb ), /* Update Formative System Block*/ Fn_nostatus( cippd_comp_trys ), /* Compute Number of Tries */ Fn_nostatus( cippd_req_id ), /* Request Report Port ID */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, str_rec_timeout[] = { /* PS_START_REC CNFE_TIMEOUT */ Fn_status( cippd_test_trys ), /* Test Transmission Attempts */ Fn_nostatus( cippd_req_id ), /* Request Report Port ID */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, sta_snt_str_rec[] = { /* PS_STACK_SNT CNFE_START_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_nostatus( cippd_update_sb ), /* Update Formative System Block*/ Fn_nostatus( cippd_comp_trys ), /* Compute Number of Tries */ Fn_nostatus( cippd_snd_stack ), /* Send STACK CI PPD Datagram */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, sta_snt_sta_rec[] = { /* PS_STACK_SNT CNFE_STACK_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_nostatus( cippd_update_sb ), /* Update Formative System Block*/ Fn_status( cippd_enter_db ), /* Enter PB in System Databases */ Fn_nostatus( cippd_snd_ack ), /* Send ACK CI PPD Datagram */ End_fnset()}, sta_snt_ack_rec[] = { /* PS_STACK_SNT CNFE_ACK_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_status( cippd_enter_db ), /* Enter PB in System Databases */ Fn_nostatus( cippd_ack_rec ), /* Discard Received ACK Datagram*/ End_fnset()}, sta_snt_scs_rec[] = { /* PS_STACK_SNT CNFE_SCSMSG_REC */ Fn_nostatus( cippd_stop_tmr ), /* Stop CI PPD Interval Timer */ Fn_status( cippd_enter_db ), /* Enter PB in System Databases */ End_fnset()}, sta_snt_timeout[] = { /* PS_STACK_SNT CNFE_TIMEOUT */ Fn_status( cippd_test_trys ), /* Test Transmission Attempts */ Fn_nostatus( cippd_snd_stack ), /* Send STACK CI PPD Datagram */ Fn_nostatus( cippd_start_tmr ), /* Start CI PPD Interval Timer */ End_fnset()}, op_str_rec[] = { /* PS_OPEN CNFE_START_REC */ Fn_nostatus( cippd_rrestart ), /* Process Rem Path Restart Req */ Fn_nostatus( cippd_ignore_dg ), /* Discard Datagram */ End_fnset()}, op_sta_rec[] = { /* PS_OPEN CNFE_STACK_REC */ Fn_nostatus( cippd_update_sb ), /* Update Formative System Block*/ Fn_nostatus( cippd_snd_ack ), /* Send ACK CI PPD Datagram */ End_fnset()}, op_path_fail[] = { /* PS_OPEN CNFE_PATH_FAIL */ Fn_nostatus( cippd_pcreason ), /* Map Path Crash Reason */ Fn_nostatus( cippd_disb_path ), /* Disable CI PPD Path */ Fn_nostatus( cippd_snd_stop ), /* Send STOP CI PPD Datagram */ Fn_nostatus( cippd_inv_cache ), /* Invalidate Translation Cache */ Fn_nostatus( cippd_path_schd ), /* Schedule CI PPD Path Clean Up*/ End_fnset()};CIPPD_STAB /* CI PPD State Transition Table */ cippd_stab[ PS_MAX_STATE + 1 ][ CNFE_MAX_EVENT + 1 ] = {{ /* State == PS_CLOSED */ { cl_str_rec, PS_START_REC }, /* Event == CNFE_START_REC */ { illegal_event, NULL }, /* Event == CNFE_STACK_REC */ { illegal_event, NULL }, /* Event == CNFE_ACK_REC */ { cl_id_rec, PS_START_SNT }, /* Event == CNFE_ID_REC */ { illegal_event, NULL }, /* Event == CNFE_SCSMSG_REC */ { illegal_event, NULL }, /* Event == CNFE_ERROR_REC */ { illegal_event, NULL }, /* Event == CNFE_STOP_REC */ { illegal_event, NULL }, /* Event == CNFE_TIMEOUT */ { illegal_event, NULL }, /* Event == CNFE_PATH_FAIL */ { process_error1, PS_PATH_FAILURE }, /* Event == CNFE_PROC_ERROR */},{ /* State == PS_START_SNT */ { str_snt_str_rec, PS_STACK_SNT }, /* Event == CNFE_START_REC */ { str_snt_sta_rec, PS_OPEN }, /* Event == CNFE_STACK_REC */ { error_event1, PS_PATH_FAILURE }, /* Event == CNFE_ACK_REC */ { ignore_event2, PS_START_SNT }, /* Event == CNFE_ID_REC */ { error_event1, PS_PATH_FAILURE }, /* Event == CNFE_SCSMSG_REC */ { error_dg_event, PS_START_SNT }, /* Event == CNFE_ERROR_REC */ { stop_dg_event1, PS_PATH_FAILURE }, /* Event == CNFE_STOP_REC */ { str_snt_timeout, PS_START_SNT }, /* Event == CNFE_TIMEOUT */ { path_failure1, PS_PATH_FAILURE }, /* Event == CNFE_PATH_FAIL */ { process_error2, PS_PATH_FAILURE }, /* Event == CNFE_PROC_ERROR */},{ /* State == PS_START_REC */ { str_rec_str_rec, PS_START_REC }, /* Event == CNFE_START_REC */ { error_event1, PS_PATH_FAILURE }, /* Event == CNFE_STACK_REC */ { error_event1, PS_PATH_FAILURE }, /* Event == CNFE_ACK_REC */ { str_rec_id_rec, PS_STACK_SNT }, /* Event == CNFE_ID_REC */ { error_event2, PS_PATH_FAILURE }, /* Event == CNFE_SCSMSG_REC */ { error_dg_event, PS_START_REC }, /* Event == CNFE_ERROR_REC */ { stop_dg_event1, PS_PATH_FAILURE }, /* Event == CNFE_STOP_REC */ { str_rec_timeout, PS_START_REC }, /* Event == CNFE_TIMEOUT */ { path_failure1, PS_PATH_FAILURE }, /* Event == CNFE_PATH_FAIL */ { process_error1, PS_PATH_FAILURE }, /* Event == CNFE_PROC_ERROR */},{ /* State == PS_STACK_SNT */ { sta_snt_str_rec, PS_STACK_SNT }, /* Event == CNFE_START_REC */ { sta_snt_sta_rec, PS_OPEN }, /* Event == CNFE_STACK_REC */ { sta_snt_ack_rec, PS_OPEN }, /* Event == CNFE_ACK_REC */ { ignore_event2, PS_STACK_SNT }, /* Event == CNFE_ID_REC */ { sta_snt_scs_rec, PS_OPEN }, /* Event == CNFE_SCSMSG_REC */ { error_dg_event, PS_STACK_SNT }, /* Event == CNFE_ERROR_REC */ { stop_dg_event1, PS_PATH_FAILURE }, /* Event == CNFE_STOP_REC */ { sta_snt_timeout, PS_STACK_SNT }, /* Event == CNFE_TIMEOUT */ { path_failure2, PS_PATH_FAILURE }, /* Event == CNFE_PATH_FAIL */ { process_error2, PS_PATH_FAILURE }, /* Event == CNFE_PROC_ERROR */},{ /* State == PS_OPEN */ { op_str_rec, PS_PATH_FAILURE }, /* Event == CNFE_START_REC */ { op_sta_rec, PS_OPEN }, /* Event == CNFE_STACK_REC */ { ignore_event2, PS_OPEN }, /* Event == CNFE_ACK_REC */ { ignore_event2, PS_OPEN }, /* Event == CNFE_ID_REC */ { illegal_event, NULL }, /* Event == CNFE_SCSMSG_REC */ { error_dg_event, PS_OPEN }, /* Event == CNFE_ERROR_REC */ { stop_dg_event2, PS_PATH_FAILURE }, /* Event == CNFE_STOP_REC */ { illegal_event, NULL }, /* Event == CNFE_TIMEOUT */ { op_path_fail, PS_PATH_FAILURE }, /* Event == CNFE_PATH_FAIL */ { illegal_event, NULL }, /* Event == CNFE_PROC_ERROR */},{ /* State == PS_PATH_FAILURE */ { ignore_event3, PS_PATH_FAILURE }, /* Event == CNFE_START_REC */ { ignore_event3, PS_PATH_FAILURE }, /* Event == CNFE_STACK_REC */ { ignore_event3, PS_PATH_FAILURE }, /* Event == CNFE_ACK_REC */ { ignore_event2, PS_PATH_FAILURE }, /* Event == CNFE_ID_REC */ { ignore_event4, PS_PATH_FAILURE }, /* Event == CNFE_SCSMSG_REC */ { error_dg_event, PS_PATH_FAILURE }, /* Event == CNFE_ERROR_REC */ { ignore_event2, PS_PATH_FAILURE }, /* Event == CNFE_STOP_REC */ { illegal_event, NULL }, /* Event == CNFE_TIMEOUT */ { ignore_event1, PS_PATH_FAILURE }, /* Event == CNFE_PATH_FAIL */ { illegal_event, NULL } /* Event == CNFE_PROC_ERROR */},};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -