^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) * llc_c_st.c - This module contains state transition of connection component.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Description of event functions and actions there is in 802.2 LLC standard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * or in "llc_c_ac.c" and "llc_c_ev.c" modules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Copyright (c) 1997 by Procom Technology, Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * This program can be redistributed or modified under the terms of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * GNU General Public License as published by the Free Software Foundation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) * This program is distributed without any warranty or implied warranty
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * of merchantability or fitness for a particular purpose.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * See the GNU General Public License for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #include <net/llc_if.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #include <net/llc_sap.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #include <net/llc_c_ev.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #include <net/llc_c_ac.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #include <net/llc_c_st.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define NONE NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) /* COMMON CONNECTION STATE transitions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * Common transitions for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) * LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) * LLC_CONN_STATE_AWAIT_BUSY and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) * LLC_CONN_STATE_AWAIT_REJ states
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) /* State transitions for LLC_CONN_EV_DISC_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) static const llc_conn_action_t llc_common_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) [0] = llc_conn_ac_send_disc_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) [4] = llc_conn_ac_set_cause_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) static struct llc_conn_state_trans llc_common_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) .ev = llc_conn_ev_disc_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) .next_state = LLC_CONN_STATE_D_CONN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) .ev_actions = llc_common_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) /* State transitions for LLC_CONN_EV_RESET_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) static const llc_conn_action_t llc_common_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) [4] = llc_conn_ac_set_cause_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) static struct llc_conn_state_trans llc_common_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) .ev = llc_conn_ev_rst_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) .ev_actions = llc_common_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) static const llc_conn_action_t llc_common_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) [0] = llc_conn_ac_stop_all_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) [1] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) [2] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) [3] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) [4] = llc_conn_ac_rst_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) [5] = llc_conn_ac_set_p_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) [6] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) [7] = llc_conn_reset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) [8] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) static struct llc_conn_state_trans llc_common_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) .ev_actions = llc_common_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) static const llc_conn_action_t llc_common_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) [0] = llc_conn_ac_stop_all_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) [1] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) [2] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) [3] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) static struct llc_conn_state_trans llc_common_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) .ev_actions = llc_common_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) /* State transitions for LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) static const llc_conn_action_t llc_common_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) [4] = llc_conn_ac_rst_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) [5] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) [6] = llc_conn_reset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) static struct llc_conn_state_trans llc_common_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) .ev = llc_conn_ev_rx_frmr_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) .ev_actions = llc_common_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) static const llc_conn_action_t llc_common_actions_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) [0] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) [1] = llc_conn_ac_stop_all_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) static struct llc_conn_state_trans llc_common_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) .ev_actions = llc_common_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) /* State transitions for LLC_CONN_EV_RX_ZZZ_CMD_Pbit_SET_X_INVAL_Nr event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) static const llc_conn_action_t llc_common_actions_7a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) static struct llc_conn_state_trans llc_common_state_trans_7a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) .ev = llc_conn_ev_rx_zzz_cmd_pbit_set_x_inval_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) .ev_actions = llc_common_actions_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_X_INVAL_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) static const llc_conn_action_t llc_common_actions_7b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) static struct llc_conn_state_trans llc_common_state_trans_7b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) .ev = llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) .ev_actions = llc_common_actions_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) /* State transitions for LLC_CONN_EV_RX_ZZZ_RSP_Fbit_SET_X_INVAL_Nr event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) static const llc_conn_action_t llc_common_actions_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) static struct llc_conn_state_trans llc_common_state_trans_8a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) .ev = llc_conn_ev_rx_zzz_rsp_fbit_set_x_inval_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) .ev_actions = llc_common_actions_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_INVAL_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) static const llc_conn_action_t llc_common_actions_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) static struct llc_conn_state_trans llc_common_state_trans_8b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) .ev = llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) .ev_actions = llc_common_actions_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) /* State transitions for LLC_CONN_EV_RX_BAD_PDU event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) static const llc_conn_action_t llc_common_actions_8c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) static struct llc_conn_state_trans llc_common_state_trans_8c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) .ev = llc_conn_ev_rx_bad_pdu,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) .ev_actions = llc_common_actions_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) static const llc_conn_action_t llc_common_actions_9[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) static struct llc_conn_state_trans llc_common_state_trans_9 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) .ev = llc_conn_ev_rx_ua_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) .ev_actions = llc_common_actions_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) /* State transitions for LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) #if 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_10[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) static const llc_conn_action_t llc_common_actions_10[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) static struct llc_conn_state_trans llc_common_state_trans_10 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) .ev = llc_conn_ev_rx_xxx_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) .ev_qualifiers = llc_common_ev_qfyrs_10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) .ev_actions = llc_common_actions_10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) static const llc_conn_action_t llc_common_actions_11a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) [4] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) static struct llc_conn_state_trans llc_common_state_trans_11a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) .ev_qualifiers = llc_common_ev_qfyrs_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) .ev_actions = llc_common_actions_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) static const llc_conn_action_t llc_common_actions_11b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) [4] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) static struct llc_conn_state_trans llc_common_state_trans_11b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) .ev_qualifiers = llc_common_ev_qfyrs_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) .ev_actions = llc_common_actions_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) static const llc_conn_action_t llc_common_actions_11c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) [4] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) static struct llc_conn_state_trans llc_common_state_trans_11c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) .ev = llc_conn_ev_rej_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) .ev_qualifiers = llc_common_ev_qfyrs_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) .ev_actions = llc_common_actions_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11d[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) static const llc_conn_action_t llc_common_actions_11d[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) [2] = llc_conn_ac_stop_other_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) [4] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) static struct llc_conn_state_trans llc_common_state_trans_11d = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) .ev = llc_conn_ev_busy_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) .ev_qualifiers = llc_common_ev_qfyrs_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) .ev_actions = llc_common_actions_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) * Common dummy state transition; must be last entry for all state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) * transition groups - it'll be on .bss, so will be zeroed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) static struct llc_conn_state_trans llc_common_state_trans_end;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) /* LLC_CONN_STATE_ADM transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) /* State transitions for LLC_CONN_EV_CONN_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) static const llc_conn_action_t llc_adm_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) [2] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) [3] = llc_conn_ac_set_s_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) static struct llc_conn_state_trans llc_adm_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) .ev = llc_conn_ev_conn_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) .next_state = LLC_CONN_STATE_SETUP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) .ev_actions = llc_adm_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) static const llc_conn_action_t llc_adm_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) [0] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) [1] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) [2] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) [4] = llc_conn_ac_set_p_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) [5] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) [6] = llc_conn_ac_conn_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) static struct llc_conn_state_trans llc_adm_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) .ev_actions = llc_adm_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) static const llc_conn_action_t llc_adm_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) [0] = llc_conn_ac_send_dm_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) static struct llc_conn_state_trans llc_adm_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) .ev_actions = llc_adm_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) /* State transitions for LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) static const llc_conn_action_t llc_adm_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) [0] = llc_conn_ac_send_dm_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) static struct llc_conn_state_trans llc_adm_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) .ev = llc_conn_ev_rx_xxx_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) .ev_actions = llc_adm_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) /* State transitions for LLC_CONN_EV_RX_XXX_YYY event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) static const llc_conn_action_t llc_adm_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) [0] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) static struct llc_conn_state_trans llc_adm_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) .ev = llc_conn_ev_rx_any_frame,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) .next_state = LLC_CONN_OUT_OF_SVC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) .ev_actions = llc_adm_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) static struct llc_conn_state_trans *llc_adm_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) [0] = &llc_adm_state_trans_1, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) [1] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) [2] = &llc_common_state_trans_end, /* local_busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) [3] = &llc_common_state_trans_end, /* init_pf_cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) [4] = &llc_common_state_trans_end, /* timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) [5] = &llc_adm_state_trans_2, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) [6] = &llc_adm_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) [7] = &llc_adm_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) [8] = &llc_adm_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) [9] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) /* LLC_CONN_STATE_SETUP transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) static const llc_conn_action_t llc_setup_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) [0] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) [1] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) [2] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) [3] = llc_conn_ac_set_s_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) static struct llc_conn_state_trans llc_setup_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) .next_state = LLC_CONN_STATE_SETUP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) .ev_actions = llc_setup_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) [1] = llc_conn_ev_qlfy_set_status_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) static const llc_conn_action_t llc_setup_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) [1] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) [2] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) [3] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) [4] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) [5] = llc_conn_ac_conn_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) static struct llc_conn_state_trans llc_setup_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) .ev = llc_conn_ev_rx_ua_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) .ev_qualifiers = llc_setup_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) .ev_actions = llc_setup_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) [0] = llc_conn_ev_qlfy_s_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) [1] = llc_conn_ev_qlfy_set_status_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) static const llc_conn_action_t llc_setup_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) [0] = llc_conn_ac_set_p_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) [1] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) [2] = llc_conn_ac_conn_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) static struct llc_conn_state_trans llc_setup_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) .ev_qualifiers = llc_setup_ev_qfyrs_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) .ev_actions = llc_setup_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) [0] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) static const llc_conn_action_t llc_setup_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) [0] = llc_conn_ac_send_dm_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) [1] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) [2] = llc_conn_ac_conn_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) [3] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) static struct llc_conn_state_trans llc_setup_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) .ev_qualifiers = llc_setup_ev_qfyrs_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) .ev_actions = llc_setup_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) [0] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) static const llc_conn_action_t llc_setup_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) [1] = llc_conn_ac_conn_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) static struct llc_conn_state_trans llc_setup_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) .ev_qualifiers = llc_setup_ev_qfyrs_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) .ev_actions = llc_setup_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) [1] = llc_conn_ev_qlfy_s_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) static const llc_conn_action_t llc_setup_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) static struct llc_conn_state_trans llc_setup_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) .next_state = LLC_CONN_STATE_SETUP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) .ev_qualifiers = llc_setup_ev_qfyrs_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) .ev_actions = llc_setup_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) [1] = llc_conn_ev_qlfy_s_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) [2] = llc_conn_ev_qlfy_set_status_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) static const llc_conn_action_t llc_setup_actions_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) [0] = llc_conn_ac_conn_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) static struct llc_conn_state_trans llc_setup_state_trans_8 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) .ev_qualifiers = llc_setup_ev_qfyrs_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) .ev_actions = llc_setup_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) static struct llc_conn_state_trans *llc_setup_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) [0] = &llc_common_state_trans_end, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) [1] = &llc_common_state_trans_end, /* local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) [2] = &llc_common_state_trans_end, /* init_pf_cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) [3] = &llc_setup_state_trans_3, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) [4] = &llc_setup_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) [5] = &llc_setup_state_trans_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) [6] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) [7] = &llc_setup_state_trans_1, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) [8] = &llc_setup_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) [9] = &llc_setup_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) [10] = &llc_setup_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) [11] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) /* LLC_CONN_STATE_NORMAL transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) [2] = llc_conn_ev_qlfy_last_frame_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) static const llc_conn_action_t llc_normal_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) [0] = llc_conn_ac_send_i_as_ack,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) [1] = llc_conn_ac_start_ack_tmr_if_not_running,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) static struct llc_conn_state_trans llc_normal_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) .ev_qualifiers = llc_normal_ev_qfyrs_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) .ev_actions = llc_normal_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) [2] = llc_conn_ev_qlfy_last_frame_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) static const llc_conn_action_t llc_normal_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) [0] = llc_conn_ac_send_i_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) static struct llc_conn_state_trans llc_normal_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) .ev_qualifiers = llc_normal_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) .ev_actions = llc_normal_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) [0] = llc_conn_ev_qlfy_remote_busy_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) [1] = llc_conn_ev_qlfy_set_status_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) static const llc_conn_action_t llc_normal_actions_2_1[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) static struct llc_conn_state_trans llc_normal_state_trans_2_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) .ev_qualifiers = llc_normal_ev_qfyrs_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) .ev_actions = llc_normal_actions_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) static const llc_conn_action_t llc_normal_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) [1] = llc_conn_ac_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) [2] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) static struct llc_conn_state_trans llc_normal_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) .ev = llc_conn_ev_local_busy_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) .ev_qualifiers = llc_normal_ev_qfyrs_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) .ev_actions = llc_normal_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) static const llc_conn_action_t llc_normal_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) [1] = llc_conn_ac_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) [2] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) static struct llc_conn_state_trans llc_normal_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) .ev = llc_conn_ev_local_busy_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) .ev_qualifiers = llc_normal_ev_qfyrs_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) .ev_actions = llc_normal_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) static const llc_conn_action_t llc_normal_actions_5a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) [1] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) [3] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) [4] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) static struct llc_conn_state_trans llc_normal_state_trans_5a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) .ev_qualifiers = llc_normal_ev_qfyrs_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) .ev_actions = llc_normal_actions_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) static const llc_conn_action_t llc_normal_actions_5b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) [1] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) [3] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) [4] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) static struct llc_conn_state_trans llc_normal_state_trans_5b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) .ev_qualifiers = llc_normal_ev_qfyrs_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) .ev_actions = llc_normal_actions_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) static const llc_conn_action_t llc_normal_actions_5c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) [1] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) [3] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) [4] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) static struct llc_conn_state_trans llc_normal_state_trans_5c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) .ev_qualifiers = llc_normal_ev_qfyrs_5c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) .ev_actions = llc_normal_actions_5c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) static const llc_conn_action_t llc_normal_actions_6a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) [1] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) [3] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) static struct llc_conn_state_trans llc_normal_state_trans_6a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) .ev_qualifiers = llc_normal_ev_qfyrs_6a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) .ev_actions = llc_normal_actions_6a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) static const llc_conn_action_t llc_normal_actions_6b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) [1] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) [3] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) static struct llc_conn_state_trans llc_normal_state_trans_6b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) .ev_qualifiers = llc_normal_ev_qfyrs_6b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) .ev_actions = llc_normal_actions_6b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) static const llc_conn_action_t llc_normal_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) [1] = llc_conn_ac_send_rej_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) [3] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) static struct llc_conn_state_trans llc_normal_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) .ev_actions = llc_normal_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) static const llc_conn_action_t llc_normal_actions_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) [4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) [5] = llc_conn_ac_send_ack_if_needed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) static struct llc_conn_state_trans llc_normal_state_trans_8a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) .ev = llc_conn_ev_rx_i_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) .ev_qualifiers = llc_normal_ev_qfyrs_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) .ev_actions = llc_normal_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) static struct llc_conn_state_trans llc_normal_state_trans_8b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) .ev_qualifiers = llc_normal_ev_qfyrs_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) .ev_actions = llc_normal_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) static const llc_conn_action_t llc_normal_actions_9a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) [2] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) [3] = llc_conn_ac_send_ack_if_needed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) static struct llc_conn_state_trans llc_normal_state_trans_9a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) .ev_qualifiers = llc_normal_ev_qfyrs_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) .ev_actions = llc_normal_actions_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) static const llc_conn_action_t llc_normal_actions_9b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) [2] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) [3] = llc_conn_ac_send_ack_if_needed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) static struct llc_conn_state_trans llc_normal_state_trans_9b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) .ev_qualifiers = llc_normal_ev_qfyrs_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) .ev_actions = llc_normal_actions_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) static const llc_conn_action_t llc_normal_actions_10[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) [1] = llc_conn_ac_send_ack_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) [2] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) [4] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925) static struct llc_conn_state_trans llc_normal_state_trans_10 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) .ev_actions = llc_normal_actions_10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) /* State transitions for * LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) static const llc_conn_action_t llc_normal_actions_11a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) static struct llc_conn_state_trans llc_normal_state_trans_11a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944) .ev_actions = llc_normal_actions_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948) static const llc_conn_action_t llc_normal_actions_11b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) static struct llc_conn_state_trans llc_normal_state_trans_11b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959) .ev_actions = llc_normal_actions_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_11c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) static const llc_conn_action_t llc_normal_actions_11c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) [2] = llc_conn_ac_inc_tx_win_size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) static struct llc_conn_state_trans llc_normal_state_trans_11c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979) .ev_qualifiers = llc_normal_ev_qfyrs_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) .ev_actions = llc_normal_actions_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984) static const llc_conn_action_t llc_normal_actions_12[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) [0] = llc_conn_ac_send_ack_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) [2] = llc_conn_ac_adjust_npta_by_rr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988) [3] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993) static struct llc_conn_state_trans llc_normal_state_trans_12 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) .ev_actions = llc_normal_actions_12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) static const llc_conn_action_t llc_normal_actions_13a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) static struct llc_conn_state_trans llc_normal_state_trans_13a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) .ev_actions = llc_normal_actions_13a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) static const llc_conn_action_t llc_normal_actions_13b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) static struct llc_conn_state_trans llc_normal_state_trans_13b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) .ev_actions = llc_normal_actions_13b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_13c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) static const llc_conn_action_t llc_normal_actions_13c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) static struct llc_conn_state_trans llc_normal_state_trans_13c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) .ev_qualifiers = llc_normal_ev_qfyrs_13c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) .ev_actions = llc_normal_actions_13c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) static const llc_conn_action_t llc_normal_actions_14[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) [2] = llc_conn_ac_adjust_npta_by_rnr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) [3] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) [4] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) static struct llc_conn_state_trans llc_normal_state_trans_14 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) .ev_actions = llc_normal_actions_14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) static const llc_conn_action_t llc_normal_actions_15a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) [3] = llc_conn_ac_dec_tx_win_size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) [4] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) [5] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) static struct llc_conn_state_trans llc_normal_state_trans_15a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) .ev_qualifiers = llc_normal_ev_qfyrs_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) .ev_actions = llc_normal_actions_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) static const llc_conn_action_t llc_normal_actions_15b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) [3] = llc_conn_ac_dec_tx_win_size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) [4] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) [5] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) static struct llc_conn_state_trans llc_normal_state_trans_15b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) .ev_qualifiers = llc_normal_ev_qfyrs_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) .ev_actions = llc_normal_actions_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) static const llc_conn_action_t llc_normal_actions_16a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) [2] = llc_conn_ac_dec_tx_win_size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) static struct llc_conn_state_trans llc_normal_state_trans_16a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) .ev_qualifiers = llc_normal_ev_qfyrs_16a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) .ev_actions = llc_normal_actions_16a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) static const llc_conn_action_t llc_normal_actions_16b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) [2] = llc_conn_ac_dec_tx_win_size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) static struct llc_conn_state_trans llc_normal_state_trans_16b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) .ev_qualifiers = llc_normal_ev_qfyrs_16b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) .ev_actions = llc_normal_actions_16b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) static const llc_conn_action_t llc_normal_actions_17[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) [2] = llc_conn_ac_dec_tx_win_size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) [3] = llc_conn_ac_resend_i_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) static struct llc_conn_state_trans llc_normal_state_trans_17 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) .ev_actions = llc_normal_actions_17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) /* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_18[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) static const llc_conn_action_t llc_normal_actions_18[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) static struct llc_conn_state_trans llc_normal_state_trans_18 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) .ev = llc_conn_ev_init_p_f_cycle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) .ev_qualifiers = llc_normal_ev_qfyrs_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) .ev_actions = llc_normal_actions_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_19[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) static const llc_conn_action_t llc_normal_actions_19[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) [1] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) [2] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) [3] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) [4] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) static struct llc_conn_state_trans llc_normal_state_trans_19 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) .ev_qualifiers = llc_normal_ev_qfyrs_19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) .ev_actions = llc_normal_actions_19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) static const llc_conn_action_t llc_normal_actions_20a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) [1] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) [2] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) [3] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) [4] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) static struct llc_conn_state_trans llc_normal_state_trans_20a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) .ev_qualifiers = llc_normal_ev_qfyrs_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) .ev_actions = llc_normal_actions_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238) /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) static const llc_conn_action_t llc_normal_actions_20b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) [0] = llc_conn_ac_rst_sendack_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) [1] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) [2] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) [3] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) [4] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) static struct llc_conn_state_trans llc_normal_state_trans_20b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) .ev = llc_conn_ev_busy_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) .ev_qualifiers = llc_normal_ev_qfyrs_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) .ev_actions = llc_normal_actions_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) /* State transitions for LLC_CONN_EV_TX_BUFF_FULL event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_21[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) static const llc_conn_action_t llc_normal_actions_21[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) static struct llc_conn_state_trans llc_normal_state_trans_21 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) .ev = llc_conn_ev_tx_buffer_full,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) .ev_qualifiers = llc_normal_ev_qfyrs_21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) .ev_actions = llc_normal_actions_21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) static struct llc_conn_state_trans *llc_normal_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) [0] = &llc_normal_state_trans_1, /* Requests */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) [1] = &llc_normal_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) [2] = &llc_normal_state_trans_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) [3] = &llc_common_state_trans_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) [4] = &llc_common_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) [5] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) [6] = &llc_normal_state_trans_21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) [7] = &llc_normal_state_trans_3, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) [8] = &llc_normal_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) [9] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) [10] = &llc_normal_state_trans_18, /* Init pf cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) [11] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) [12] = &llc_common_state_trans_11a, /* Timers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) [13] = &llc_common_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) [14] = &llc_common_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) [15] = &llc_common_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) [16] = &llc_normal_state_trans_19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) [17] = &llc_normal_state_trans_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) [18] = &llc_normal_state_trans_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) [19] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) [20] = &llc_normal_state_trans_8b, /* Receive frames */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) [21] = &llc_normal_state_trans_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) [22] = &llc_normal_state_trans_10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) [23] = &llc_normal_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) [24] = &llc_normal_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) [25] = &llc_normal_state_trans_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) [26] = &llc_normal_state_trans_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) [27] = &llc_normal_state_trans_5c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) [28] = &llc_normal_state_trans_6a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) [29] = &llc_normal_state_trans_6b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) [30] = &llc_normal_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) [31] = &llc_normal_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) [32] = &llc_normal_state_trans_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) [33] = &llc_normal_state_trans_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) [34] = &llc_normal_state_trans_12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) [35] = &llc_normal_state_trans_13a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) [36] = &llc_normal_state_trans_13b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) [37] = &llc_normal_state_trans_13c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) [38] = &llc_normal_state_trans_14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) [39] = &llc_normal_state_trans_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) [40] = &llc_normal_state_trans_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) [41] = &llc_normal_state_trans_16a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) [42] = &llc_normal_state_trans_16b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) [43] = &llc_normal_state_trans_17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) [44] = &llc_common_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) [45] = &llc_common_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) [46] = &llc_common_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) [47] = &llc_common_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) [48] = &llc_common_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) [49] = &llc_common_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) [50] = &llc_common_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) [51] = &llc_common_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) [52] = &llc_common_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) [53] = &llc_common_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) /* [54] = &llc_common_state_trans_10, */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) [54] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343) /* LLC_CONN_STATE_BUSY transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) static const llc_conn_action_t llc_busy_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) [0] = llc_conn_ac_send_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) [1] = llc_conn_ac_start_ack_tmr_if_not_running,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) static struct llc_conn_state_trans llc_busy_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) .ev_qualifiers = llc_busy_ev_qfyrs_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) .ev_actions = llc_busy_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) [1] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) static const llc_conn_action_t llc_busy_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) [0] = llc_conn_ac_send_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) [1] = llc_conn_ac_start_ack_tmr_if_not_running,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) static struct llc_conn_state_trans llc_busy_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) .ev_qualifiers = llc_busy_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) .ev_actions = llc_busy_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) [0] = llc_conn_ev_qlfy_remote_busy_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) [1] = llc_conn_ev_qlfy_set_status_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) static const llc_conn_action_t llc_busy_actions_2_1[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) static struct llc_conn_state_trans llc_busy_state_trans_2_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) .ev_qualifiers = llc_busy_ev_qfyrs_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398) .ev_actions = llc_busy_actions_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) [0] = llc_conn_ev_qlfy_data_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) static const llc_conn_action_t llc_busy_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) [0] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) [1] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) static struct llc_conn_state_trans llc_busy_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) .ev_qualifiers = llc_busy_ev_qfyrs_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) .ev_actions = llc_busy_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) [0] = llc_conn_ev_qlfy_data_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) [1] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) static const llc_conn_action_t llc_busy_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) [0] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) [1] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) static struct llc_conn_state_trans llc_busy_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) .ev_qualifiers = llc_busy_ev_qfyrs_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) .ev_actions = llc_busy_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) [0] = llc_conn_ev_qlfy_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) static const llc_conn_action_t llc_busy_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) [0] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) static struct llc_conn_state_trans llc_busy_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) .ev_qualifiers = llc_busy_ev_qfyrs_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) .ev_actions = llc_busy_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) [0] = llc_conn_ev_qlfy_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) [1] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) static const llc_conn_action_t llc_busy_actions_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) [0] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) static struct llc_conn_state_trans llc_busy_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) .ev_qualifiers = llc_busy_ev_qfyrs_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) .ev_actions = llc_busy_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) [0] = llc_conn_ev_qlfy_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) static const llc_conn_action_t llc_busy_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) [0] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) static struct llc_conn_state_trans llc_busy_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) .ev_qualifiers = llc_busy_ev_qfyrs_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) .ev_actions = llc_busy_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) [0] = llc_conn_ev_qlfy_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) [1] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) static const llc_conn_action_t llc_busy_actions_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) [0] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) static struct llc_conn_state_trans llc_busy_state_trans_8 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) .ev_qualifiers = llc_busy_ev_qfyrs_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) .ev_actions = llc_busy_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) static const llc_conn_action_t llc_busy_actions_9a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) [1] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) [3] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) [4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) static struct llc_conn_state_trans llc_busy_state_trans_9a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) .ev = llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) .ev_qualifiers = llc_busy_ev_qfyrs_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) .ev_actions = llc_busy_actions_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) static const llc_conn_action_t llc_busy_actions_9b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) [1] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) [2] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549) [3] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) [4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554) static struct llc_conn_state_trans llc_busy_state_trans_9b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) .ev_qualifiers = llc_busy_ev_qfyrs_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558) .ev_actions = llc_busy_actions_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567) static const llc_conn_action_t llc_busy_actions_10a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) [2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) static struct llc_conn_state_trans llc_busy_state_trans_10a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) .ev_qualifiers = llc_busy_ev_qfyrs_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578) .ev_actions = llc_busy_actions_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1581) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1582) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1583) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1584) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1585) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1586)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1587) static const llc_conn_action_t llc_busy_actions_10b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1588) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1589) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1590) [2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1591) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1592) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1593)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1594) static struct llc_conn_state_trans llc_busy_state_trans_10b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1595) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1596) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1597) .ev_qualifiers = llc_busy_ev_qfyrs_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1598) .ev_actions = llc_busy_actions_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1599) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1600)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1601) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1602) static const llc_conn_action_t llc_busy_actions_11[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1603) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1604) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1605) [2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1606) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1607) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1608)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1609) static struct llc_conn_state_trans llc_busy_state_trans_11 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1610) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1611) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1612) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1613) .ev_actions = llc_busy_actions_11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1614) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1615)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1616) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1617) static const llc_conn_action_t llc_busy_actions_12[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1618) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1619) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1620) [2] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1621) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1622) [4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1623) [5] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1624) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1625) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1626)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1627) static struct llc_conn_state_trans llc_busy_state_trans_12 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1628) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1629) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1630) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1631) .ev_actions = llc_busy_actions_12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1632) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1633)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1634) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1635) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1636) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1637) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1638) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1639)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1640) static const llc_conn_action_t llc_busy_actions_13a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1641) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1642) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1643) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1644) [3] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1645) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1646) [5] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1647) [6] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1648) [7] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1649) [8] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1650) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1651)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1652) static struct llc_conn_state_trans llc_busy_state_trans_13a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1653) .ev = llc_conn_ev_rx_i_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1654) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1655) .ev_qualifiers = llc_busy_ev_qfyrs_13a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1656) .ev_actions = llc_busy_actions_13a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1657) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1658)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1659) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1660) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1661) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1662) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1663) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1664)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1665) static const llc_conn_action_t llc_busy_actions_13b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1666) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1667) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1668) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1669) [3] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1670) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1671) [5] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1672) [6] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1673) [7] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1674) [8] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1675) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1676)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1677) static struct llc_conn_state_trans llc_busy_state_trans_13b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1678) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1679) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1680) .ev_qualifiers = llc_busy_ev_qfyrs_13b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1681) .ev_actions = llc_busy_actions_13b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1682) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1683)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1684) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1685) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1686) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1687) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1688) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1689)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1690) static const llc_conn_action_t llc_busy_actions_14a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1691) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1692) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1693) [2] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1694) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1695) [4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1696) [5] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1697) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1698) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1699)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1700) static struct llc_conn_state_trans llc_busy_state_trans_14a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1701) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1702) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1703) .ev_qualifiers = llc_busy_ev_qfyrs_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1704) .ev_actions = llc_busy_actions_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1705) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1706)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1707) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1708) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1709) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1710) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1711) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1712)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1713) static const llc_conn_action_t llc_busy_actions_14b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1714) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1715) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1716) [2] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1717) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1718) [4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1719) [5] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1720) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1721) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1722)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1723) static struct llc_conn_state_trans llc_busy_state_trans_14b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1724) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1725) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1726) .ev_qualifiers = llc_busy_ev_qfyrs_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1727) .ev_actions = llc_busy_actions_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1728) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1729)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1730) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1731) static const llc_conn_action_t llc_busy_actions_15a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1732) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1733) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1734) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1735) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1736) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1737)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1738) static struct llc_conn_state_trans llc_busy_state_trans_15a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1739) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1740) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1741) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1742) .ev_actions = llc_busy_actions_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1743) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1744)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1745) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1746) static const llc_conn_action_t llc_busy_actions_15b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1747) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1748) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1749) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1750) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1751) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1752)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1753) static struct llc_conn_state_trans llc_busy_state_trans_15b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1754) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1755) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1756) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1757) .ev_actions = llc_busy_actions_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1758) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1759)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1760) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1761) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_15c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1762) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1763) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1764) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1765)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1766) static const llc_conn_action_t llc_busy_actions_15c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1767) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1768) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1769) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1770) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1771) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1772)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1773) static struct llc_conn_state_trans llc_busy_state_trans_15c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1774) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1775) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1776) .ev_qualifiers = llc_busy_ev_qfyrs_15c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1777) .ev_actions = llc_busy_actions_15c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1778) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1779)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1780) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1781) static const llc_conn_action_t llc_busy_actions_16[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1782) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1783) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1784) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1785) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1786) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1787)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1788) static struct llc_conn_state_trans llc_busy_state_trans_16 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1789) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1790) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1791) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1792) .ev_actions = llc_busy_actions_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1793) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1794)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1795) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1796) static const llc_conn_action_t llc_busy_actions_17a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1797) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1798) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1799) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1800) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1801) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1802)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1803) static struct llc_conn_state_trans llc_busy_state_trans_17a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1804) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1805) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1806) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1807) .ev_actions = llc_busy_actions_17a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1808) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1809)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1810) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1811) static const llc_conn_action_t llc_busy_actions_17b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1812) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1813) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1814) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1815) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1816) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1817)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1818) static struct llc_conn_state_trans llc_busy_state_trans_17b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1819) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1820) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1821) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1822) .ev_actions = llc_busy_actions_17b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1823) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1824)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1825) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1826) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_17c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1827) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1828) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1829) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1830)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1831) static const llc_conn_action_t llc_busy_actions_17c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1832) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1833) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1834) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1835) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1836) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1837)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1838) static struct llc_conn_state_trans llc_busy_state_trans_17c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1839) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1840) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1841) .ev_qualifiers = llc_busy_ev_qfyrs_17c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1842) .ev_actions = llc_busy_actions_17c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1843) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1844)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1845) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1846) static const llc_conn_action_t llc_busy_actions_18[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1847) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1848) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1849) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1850) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1851) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1852)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1853) static struct llc_conn_state_trans llc_busy_state_trans_18 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1854) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1855) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1856) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1857) .ev_actions = llc_busy_actions_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1858) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1859)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1860) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1861) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1862) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1863) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1864) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1865)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1866) static const llc_conn_action_t llc_busy_actions_19a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1867) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1868) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1869) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1870) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1871) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1872) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1873) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1874)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1875) static struct llc_conn_state_trans llc_busy_state_trans_19a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1876) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1877) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1878) .ev_qualifiers = llc_busy_ev_qfyrs_19a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1879) .ev_actions = llc_busy_actions_19a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1880) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1881)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1882) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1883) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1884) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1885) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1886) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1887)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1888) static const llc_conn_action_t llc_busy_actions_19b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1889) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1890) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1891) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1892) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1893) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1894) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1895) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1896)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1897) static struct llc_conn_state_trans llc_busy_state_trans_19b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1898) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1899) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1900) .ev_qualifiers = llc_busy_ev_qfyrs_19b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1901) .ev_actions = llc_busy_actions_19b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1902) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1903)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1904) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1905) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1906) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1907) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1908) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1909)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1910) static const llc_conn_action_t llc_busy_actions_20a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1911) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1912) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1913) [2] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1914) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1915) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1916) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1917)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1918) static struct llc_conn_state_trans llc_busy_state_trans_20a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1919) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1920) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1921) .ev_qualifiers = llc_busy_ev_qfyrs_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1922) .ev_actions = llc_busy_actions_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1923) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1924)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1925) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1926) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1927) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1928) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1929) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1930)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1931) static const llc_conn_action_t llc_busy_actions_20b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1932) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1933) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1934) [2] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1935) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1936) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1937) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1938)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1939) static struct llc_conn_state_trans llc_busy_state_trans_20b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1940) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1941) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1942) .ev_qualifiers = llc_busy_ev_qfyrs_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1943) .ev_actions = llc_busy_actions_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1944) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1945)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1946) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1947) static const llc_conn_action_t llc_busy_actions_21[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1948) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1949) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1950) [2] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1951) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1952) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1953) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1954) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1955)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1956) static struct llc_conn_state_trans llc_busy_state_trans_21 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1957) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1958) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1959) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1960) .ev_actions = llc_busy_actions_21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1961) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1962)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1963) /* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1964) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_22[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1965) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1966) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1967) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1968)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1969) static const llc_conn_action_t llc_busy_actions_22[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1970) [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1971) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1972) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1973) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1974)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1975) static struct llc_conn_state_trans llc_busy_state_trans_22 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1976) .ev = llc_conn_ev_init_p_f_cycle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1977) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1978) .ev_qualifiers = llc_busy_ev_qfyrs_22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1979) .ev_actions = llc_busy_actions_22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1980) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1981)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1982) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1983) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_23[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1984) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1985) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1986) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1987)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1988) static const llc_conn_action_t llc_busy_actions_23[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1989) [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1990) [1] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1991) [2] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1992) [3] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1993) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1994) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1995)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1996) static struct llc_conn_state_trans llc_busy_state_trans_23 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1997) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1998) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1999) .ev_qualifiers = llc_busy_ev_qfyrs_23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2000) .ev_actions = llc_busy_actions_23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2001) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2003) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2004) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2005) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2006) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2007) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2008) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2009)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2010) static const llc_conn_action_t llc_busy_actions_24a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2011) [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2012) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2013) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2014) [3] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2015) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2016) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2017)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2018) static struct llc_conn_state_trans llc_busy_state_trans_24a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2019) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2020) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2021) .ev_qualifiers = llc_busy_ev_qfyrs_24a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2022) .ev_actions = llc_busy_actions_24a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2023) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2024)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2025) /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2026) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2027) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2028) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2029) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2030) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2031)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2032) static const llc_conn_action_t llc_busy_actions_24b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2033) [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2034) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2035) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2036) [3] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2037) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2038) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2039)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2040) static struct llc_conn_state_trans llc_busy_state_trans_24b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2041) .ev = llc_conn_ev_busy_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2042) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2043) .ev_qualifiers = llc_busy_ev_qfyrs_24b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2044) .ev_actions = llc_busy_actions_24b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2045) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2046)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2047) /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2048) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_25[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2049) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2050) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2051) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2052) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2053)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2054) static const llc_conn_action_t llc_busy_actions_25[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2055) [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2056) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2057) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2058) [3] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2059) [4] = llc_conn_ac_set_data_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2060) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2061) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2062)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2063) static struct llc_conn_state_trans llc_busy_state_trans_25 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2064) .ev = llc_conn_ev_rej_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2065) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2066) .ev_qualifiers = llc_busy_ev_qfyrs_25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2067) .ev_actions = llc_busy_actions_25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2068) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2069)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2070) /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2071) static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_26[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2072) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2073) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2074) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2075) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2076)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2077) static const llc_conn_action_t llc_busy_actions_26[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2078) [0] = llc_conn_ac_set_data_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2079) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2080) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2081)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2082) static struct llc_conn_state_trans llc_busy_state_trans_26 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2083) .ev = llc_conn_ev_rej_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2084) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2085) .ev_qualifiers = llc_busy_ev_qfyrs_26,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2086) .ev_actions = llc_busy_actions_26,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2087) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2088)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2089) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2090) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2091) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2092) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2093) static struct llc_conn_state_trans *llc_busy_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2094) [0] = &llc_common_state_trans_1, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2095) [1] = &llc_common_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2096) [2] = &llc_busy_state_trans_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2097) [3] = &llc_busy_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2098) [4] = &llc_busy_state_trans_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2099) [5] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2100) [6] = &llc_busy_state_trans_3, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2101) [7] = &llc_busy_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2102) [8] = &llc_busy_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2103) [9] = &llc_busy_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2104) [10] = &llc_busy_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2105) [11] = &llc_busy_state_trans_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2106) [12] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2107) [13] = &llc_busy_state_trans_22, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2108) [14] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2109) [15] = &llc_common_state_trans_11a, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2110) [16] = &llc_common_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2111) [17] = &llc_common_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2112) [18] = &llc_common_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2113) [19] = &llc_busy_state_trans_23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2114) [20] = &llc_busy_state_trans_24a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2115) [21] = &llc_busy_state_trans_24b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2116) [22] = &llc_busy_state_trans_25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2117) [23] = &llc_busy_state_trans_26,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2118) [24] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2119) [25] = &llc_busy_state_trans_9a, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2120) [26] = &llc_busy_state_trans_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2121) [27] = &llc_busy_state_trans_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2122) [28] = &llc_busy_state_trans_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2123) [29] = &llc_busy_state_trans_11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2124) [30] = &llc_busy_state_trans_12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2125) [31] = &llc_busy_state_trans_13a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2126) [32] = &llc_busy_state_trans_13b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2127) [33] = &llc_busy_state_trans_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2128) [34] = &llc_busy_state_trans_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2129) [35] = &llc_busy_state_trans_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2130) [36] = &llc_busy_state_trans_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2131) [37] = &llc_busy_state_trans_15c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2132) [38] = &llc_busy_state_trans_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2133) [39] = &llc_busy_state_trans_17a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2134) [40] = &llc_busy_state_trans_17b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2135) [41] = &llc_busy_state_trans_17c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2136) [42] = &llc_busy_state_trans_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2137) [43] = &llc_busy_state_trans_19a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2138) [44] = &llc_busy_state_trans_19b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2139) [45] = &llc_busy_state_trans_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2140) [46] = &llc_busy_state_trans_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2141) [47] = &llc_busy_state_trans_21,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2142) [48] = &llc_common_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2143) [49] = &llc_common_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2144) [50] = &llc_common_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2145) [51] = &llc_common_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2146) [52] = &llc_common_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2147) [53] = &llc_common_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2148) [54] = &llc_common_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2149) [55] = &llc_common_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2150) [56] = &llc_common_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2151) [57] = &llc_common_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2152) /* [58] = &llc_common_state_trans_10, */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2153) [58] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2154) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2156) /* LLC_CONN_STATE_REJ transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2157) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2158) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2159) [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2160) [1] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2161) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2162) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2164) static const llc_conn_action_t llc_reject_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2165) [0] = llc_conn_ac_send_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2166) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2167) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2169) static struct llc_conn_state_trans llc_reject_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2170) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2171) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2172) .ev_qualifiers = llc_reject_ev_qfyrs_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2173) .ev_actions = llc_reject_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2174) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2176) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2177) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2178) [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2179) [1] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2180) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2181) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2182)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2183) static const llc_conn_action_t llc_reject_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2184) [0] = llc_conn_ac_send_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2185) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2186) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2187)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2188) static struct llc_conn_state_trans llc_reject_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2189) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2190) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2191) .ev_qualifiers = llc_reject_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2192) .ev_actions = llc_reject_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2193) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2194)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2195) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2196) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2197) [0] = llc_conn_ev_qlfy_remote_busy_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2198) [1] = llc_conn_ev_qlfy_set_status_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2199) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2200) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2202) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2203) static const llc_conn_action_t llc_reject_actions_2_1[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2205) static struct llc_conn_state_trans llc_reject_state_trans_2_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2206) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2207) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2208) .ev_qualifiers = llc_reject_ev_qfyrs_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2209) .ev_actions = llc_reject_actions_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2210) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2212)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2213) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2214) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2215) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2216) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2217) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2219) static const llc_conn_action_t llc_reject_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2220) [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2221) [1] = llc_conn_ac_set_data_flag_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2222) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2223) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2224)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2225) static struct llc_conn_state_trans llc_reject_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2226) .ev = llc_conn_ev_local_busy_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2227) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2228) .ev_qualifiers = llc_reject_ev_qfyrs_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2229) .ev_actions = llc_reject_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2230) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2231)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2232) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2233) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2234) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2235) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2236) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2237)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2238) static const llc_conn_action_t llc_reject_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2239) [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2240) [1] = llc_conn_ac_set_data_flag_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2241) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2242) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2243)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2244) static struct llc_conn_state_trans llc_reject_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2245) .ev = llc_conn_ev_local_busy_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2246) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2247) .ev_qualifiers = llc_reject_ev_qfyrs_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2248) .ev_actions = llc_reject_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2249) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2250)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2251) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2252) static const llc_conn_action_t llc_reject_actions_5a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2253) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2254) [1] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2255) [2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2256) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2257) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2258)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2259) static struct llc_conn_state_trans llc_reject_state_trans_5a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2260) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2261) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2262) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2263) .ev_actions = llc_reject_actions_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2264) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2265)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2266) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2267) static const llc_conn_action_t llc_reject_actions_5b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2268) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2269) [1] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2270) [2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2271) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2272) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2273)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2274) static struct llc_conn_state_trans llc_reject_state_trans_5b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2275) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2276) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2277) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2278) .ev_actions = llc_reject_actions_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2279) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2280)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2281) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2282) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_5c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2283) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2284) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2285) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2287) static const llc_conn_action_t llc_reject_actions_5c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2288) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2289) [1] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2290) [2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2291) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2292) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2293)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2294) static struct llc_conn_state_trans llc_reject_state_trans_5c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2295) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2296) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2297) .ev_qualifiers = llc_reject_ev_qfyrs_5c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2298) .ev_actions = llc_reject_actions_5c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2299) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2300)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2301) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2302) static const llc_conn_action_t llc_reject_actions_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2303) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2304) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2305) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2306) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2308) static struct llc_conn_state_trans llc_reject_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2309) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2310) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2311) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2312) .ev_actions = llc_reject_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2313) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2314)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2315) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2316) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2317) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2318) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2319) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2321) static const llc_conn_action_t llc_reject_actions_7a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2322) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2323) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2324) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2325) [3] = llc_conn_ac_send_ack_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2326) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2327) [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2328) [6] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2329) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2331) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2332)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2333) static struct llc_conn_state_trans llc_reject_state_trans_7a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2334) .ev = llc_conn_ev_rx_i_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2335) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2336) .ev_qualifiers = llc_reject_ev_qfyrs_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2337) .ev_actions = llc_reject_actions_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2338) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2339)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2340) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2341) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2342) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2343) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2344) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2346) static const llc_conn_action_t llc_reject_actions_7b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2347) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2348) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2349) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2350) [3] = llc_conn_ac_send_ack_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2351) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2352) [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2353) [6] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2354) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2355) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2357) static struct llc_conn_state_trans llc_reject_state_trans_7b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2358) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2359) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2360) .ev_qualifiers = llc_reject_ev_qfyrs_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2361) .ev_actions = llc_reject_actions_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2362) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2363)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2364) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2365) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2366) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2367) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2368) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2369)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2370) static const llc_conn_action_t llc_reject_actions_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2371) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2372) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2373) [2] = llc_conn_ac_send_ack_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2374) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2375) [4] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2376) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2377) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2379) static struct llc_conn_state_trans llc_reject_state_trans_8a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2380) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2381) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2382) .ev_qualifiers = llc_reject_ev_qfyrs_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2383) .ev_actions = llc_reject_actions_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2384) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2385)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2386) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2387) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2388) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2389) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2390) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2391)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2392) static const llc_conn_action_t llc_reject_actions_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2393) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2394) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2395) [2] = llc_conn_ac_send_ack_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2396) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2397) [4] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2398) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2399) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2401) static struct llc_conn_state_trans llc_reject_state_trans_8b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2402) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2403) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2404) .ev_qualifiers = llc_reject_ev_qfyrs_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2405) .ev_actions = llc_reject_actions_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2406) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2407)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2408) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2409) static const llc_conn_action_t llc_reject_actions_9[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2410) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2411) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2412) [2] = llc_conn_ac_send_ack_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2413) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2414) [4] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2415) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2416) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2417)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2418) static struct llc_conn_state_trans llc_reject_state_trans_9 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2419) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2420) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2421) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2422) .ev_actions = llc_reject_actions_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2423) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2424)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2425) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2426) static const llc_conn_action_t llc_reject_actions_10a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2427) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2428) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2429) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2430) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2431) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2432)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2433) static struct llc_conn_state_trans llc_reject_state_trans_10a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2434) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2435) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2436) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2437) .ev_actions = llc_reject_actions_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2438) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2439)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2440) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2441) static const llc_conn_action_t llc_reject_actions_10b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2442) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2443) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2444) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2445) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2446) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2447)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2448) static struct llc_conn_state_trans llc_reject_state_trans_10b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2449) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2450) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2451) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2452) .ev_actions = llc_reject_actions_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2453) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2454)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2455) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2456) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_10c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2457) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2458) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2459) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2460)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2461) static const llc_conn_action_t llc_reject_actions_10c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2462) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2463) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2464) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2465) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2466) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2467)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2468) static struct llc_conn_state_trans llc_reject_state_trans_10c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2469) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2470) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2471) .ev_qualifiers = llc_reject_ev_qfyrs_10c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2472) .ev_actions = llc_reject_actions_10c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2473) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2474)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2475) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2476) static const llc_conn_action_t llc_reject_actions_11[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2477) [0] = llc_conn_ac_send_ack_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2478) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2479) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2480) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2481) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2482)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2483) static struct llc_conn_state_trans llc_reject_state_trans_11 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2484) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2485) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2486) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2487) .ev_actions = llc_reject_actions_11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2488) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2489)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2490) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2491) static const llc_conn_action_t llc_reject_actions_12a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2492) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2493) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2494) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2495) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2496) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2497)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2498) static struct llc_conn_state_trans llc_reject_state_trans_12a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2499) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2500) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2501) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2502) .ev_actions = llc_reject_actions_12a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2503) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2504)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2505) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2506) static const llc_conn_action_t llc_reject_actions_12b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2507) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2508) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2509) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2510) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2511) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2512)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2513) static struct llc_conn_state_trans llc_reject_state_trans_12b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2514) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2515) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2516) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2517) .ev_actions = llc_reject_actions_12b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2518) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2519)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2520) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2521) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_12c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2522) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2523) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2524) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2525)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2526) static const llc_conn_action_t llc_reject_actions_12c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2527) [0] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2528) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2529) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2530) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2531) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2532)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2533) static struct llc_conn_state_trans llc_reject_state_trans_12c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2534) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2535) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2536) .ev_qualifiers = llc_reject_ev_qfyrs_12c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2537) .ev_actions = llc_reject_actions_12c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2538) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2539)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2540) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2541) static const llc_conn_action_t llc_reject_actions_13[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2542) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2543) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2544) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2545) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2546) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2547)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2548) static struct llc_conn_state_trans llc_reject_state_trans_13 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2549) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2550) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2551) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2552) .ev_actions = llc_reject_actions_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2553) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2554)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2555) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2556) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2557) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2558) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2559) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2560)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2561) static const llc_conn_action_t llc_reject_actions_14a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2562) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2563) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2564) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2565) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2566) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2567) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2568) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2569)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2570) static struct llc_conn_state_trans llc_reject_state_trans_14a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2571) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2572) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2573) .ev_qualifiers = llc_reject_ev_qfyrs_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2574) .ev_actions = llc_reject_actions_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2575) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2576)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2577) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2578) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2579) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2580) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2581) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2582)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2583) static const llc_conn_action_t llc_reject_actions_14b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2584) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2585) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2586) [2] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2587) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2588) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2589) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2590) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2591)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2592) static struct llc_conn_state_trans llc_reject_state_trans_14b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2593) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2594) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2595) .ev_qualifiers = llc_reject_ev_qfyrs_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2596) .ev_actions = llc_reject_actions_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2597) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2598)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2599) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2600) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2601) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2602) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2603) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2604)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2605) static const llc_conn_action_t llc_reject_actions_15a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2606) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2607) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2608) [2] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2609) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2610) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2611) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2612)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2613) static struct llc_conn_state_trans llc_reject_state_trans_15a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2614) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2615) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2616) .ev_qualifiers = llc_reject_ev_qfyrs_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2617) .ev_actions = llc_reject_actions_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2618) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2619)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2620) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2621) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2622) [0] = llc_conn_ev_qlfy_p_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2623) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2624) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2625)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2626) static const llc_conn_action_t llc_reject_actions_15b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2627) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2628) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2629) [2] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2630) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2631) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2632) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2633)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2634) static struct llc_conn_state_trans llc_reject_state_trans_15b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2635) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2636) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2637) .ev_qualifiers = llc_reject_ev_qfyrs_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2638) .ev_actions = llc_reject_actions_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2639) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2640)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2641) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2642) static const llc_conn_action_t llc_reject_actions_16[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2643) [0] = llc_conn_ac_set_vs_nr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2644) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2645) [2] = llc_conn_ac_resend_i_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2646) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2647) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2648) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2649)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2650) static struct llc_conn_state_trans llc_reject_state_trans_16 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2651) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2652) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2653) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2654) .ev_actions = llc_reject_actions_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2655) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2656)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2657) /* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2658) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_17[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2659) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2660) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2661) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2662)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2663) static const llc_conn_action_t llc_reject_actions_17[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2664) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2665) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2666) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2667) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2668)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2669) static struct llc_conn_state_trans llc_reject_state_trans_17 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2670) .ev = llc_conn_ev_init_p_f_cycle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2671) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2672) .ev_qualifiers = llc_reject_ev_qfyrs_17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2673) .ev_actions = llc_reject_actions_17,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2674) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2675)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2676) /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2677) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_18[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2678) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2679) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2680) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2681) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2682)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2683) static const llc_conn_action_t llc_reject_actions_18[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2684) [0] = llc_conn_ac_send_rej_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2685) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2686) [2] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2687) [3] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2688) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2689) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2690)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2691) static struct llc_conn_state_trans llc_reject_state_trans_18 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2692) .ev = llc_conn_ev_rej_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2693) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2694) .ev_qualifiers = llc_reject_ev_qfyrs_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2695) .ev_actions = llc_reject_actions_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2696) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2697)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2698) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2699) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_19[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2700) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2701) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2702) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2703)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2704) static const llc_conn_action_t llc_reject_actions_19[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2705) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2706) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2707) [2] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2708) [3] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2709) [4] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2710) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2711) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2712)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2713) static struct llc_conn_state_trans llc_reject_state_trans_19 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2714) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2715) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2716) .ev_qualifiers = llc_reject_ev_qfyrs_19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2717) .ev_actions = llc_reject_actions_19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2718) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2719)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2720) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2721) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2722) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2723) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2724) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2725) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2726)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2727) static const llc_conn_action_t llc_reject_actions_20a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2728) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2729) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2730) [2] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2731) [3] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2732) [4] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2733) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2734) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2735)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2736) static struct llc_conn_state_trans llc_reject_state_trans_20a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2737) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2738) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2739) .ev_qualifiers = llc_reject_ev_qfyrs_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2740) .ev_actions = llc_reject_actions_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2741) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2742)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2743) /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2744) static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2745) [0] = llc_conn_ev_qlfy_p_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2746) [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2747) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2748) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2749)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2750) static const llc_conn_action_t llc_reject_actions_20b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2751) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2752) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2753) [2] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2754) [3] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2755) [4] = llc_conn_ac_rst_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2756) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2757) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2758)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2759) static struct llc_conn_state_trans llc_reject_state_trans_20b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2760) .ev = llc_conn_ev_busy_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2761) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2762) .ev_qualifiers = llc_reject_ev_qfyrs_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2763) .ev_actions = llc_reject_actions_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2764) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2765)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2766) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2767) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2768) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2769) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2770) static struct llc_conn_state_trans *llc_reject_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2771) [0] = &llc_common_state_trans_1, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2772) [1] = &llc_common_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2773) [2] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2774) [3] = &llc_reject_state_trans_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2775) [4] = &llc_reject_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2776) [5] = &llc_reject_state_trans_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2777) [6] = &llc_reject_state_trans_3, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2778) [7] = &llc_reject_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2779) [8] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2780) [9] = &llc_reject_state_trans_17, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2781) [10] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2782) [11] = &llc_common_state_trans_11a, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2783) [12] = &llc_common_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2784) [13] = &llc_common_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2785) [14] = &llc_common_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2786) [15] = &llc_reject_state_trans_18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2787) [16] = &llc_reject_state_trans_19,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2788) [17] = &llc_reject_state_trans_20a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2789) [18] = &llc_reject_state_trans_20b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2790) [19] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2791) [20] = &llc_common_state_trans_3, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2792) [21] = &llc_common_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2793) [22] = &llc_common_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2794) [23] = &llc_common_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2795) [24] = &llc_common_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2796) [25] = &llc_common_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2797) [26] = &llc_common_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2798) [27] = &llc_common_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2799) [28] = &llc_common_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2800) [29] = &llc_common_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2801) /* [30] = &llc_common_state_trans_10, */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2802) [30] = &llc_reject_state_trans_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2803) [31] = &llc_reject_state_trans_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2804) [32] = &llc_reject_state_trans_5c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2805) [33] = &llc_reject_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2806) [34] = &llc_reject_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2807) [35] = &llc_reject_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2808) [36] = &llc_reject_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2809) [37] = &llc_reject_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2810) [38] = &llc_reject_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2811) [39] = &llc_reject_state_trans_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2812) [40] = &llc_reject_state_trans_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2813) [41] = &llc_reject_state_trans_10c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2814) [42] = &llc_reject_state_trans_11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2815) [43] = &llc_reject_state_trans_12a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2816) [44] = &llc_reject_state_trans_12b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2817) [45] = &llc_reject_state_trans_12c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2818) [46] = &llc_reject_state_trans_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2819) [47] = &llc_reject_state_trans_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2820) [48] = &llc_reject_state_trans_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2821) [49] = &llc_reject_state_trans_15a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2822) [50] = &llc_reject_state_trans_15b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2823) [51] = &llc_reject_state_trans_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2824) [52] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2825) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2826)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2827) /* LLC_CONN_STATE_AWAIT transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2828) /* State transitions for LLC_CONN_EV_DATA_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2829) static const llc_conn_ev_qfyr_t llc_await_ev_qfyrs_1_0[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2830) [0] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2831) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2832) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2833)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2834) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2835) static const llc_conn_action_t llc_await_actions_1_0[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2836)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2837) static struct llc_conn_state_trans llc_await_state_trans_1_0 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2838) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2839) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2840) .ev_qualifiers = llc_await_ev_qfyrs_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2841) .ev_actions = llc_await_actions_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2842) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2843)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2844) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2845) static const llc_conn_action_t llc_await_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2846) [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2847) [1] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2848) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2849) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2850)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2851) static struct llc_conn_state_trans llc_await_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2852) .ev = llc_conn_ev_local_busy_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2853) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2854) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2855) .ev_actions = llc_await_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2856) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2857)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2858) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2859) static const llc_conn_action_t llc_await_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2860) [0] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2861) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2862) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2863) [3] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2864) [4] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2865) [5] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2866) [6] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2867) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2868) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2869)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2870) static struct llc_conn_state_trans llc_await_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2871) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2872) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2873) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2874) .ev_actions = llc_await_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2875) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2876)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2877) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2878) static const llc_conn_action_t llc_await_actions_3a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2879) [0] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2880) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2881) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2882) [3] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2883) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2884) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2885)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2886) static struct llc_conn_state_trans llc_await_state_trans_3a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2887) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2888) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2889) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2890) .ev_actions = llc_await_actions_3a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2891) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2892)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2893) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2894) static const llc_conn_action_t llc_await_actions_3b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2895) [0] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2896) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2897) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2898) [3] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2899) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2900) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2901)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2902) static struct llc_conn_state_trans llc_await_state_trans_3b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2903) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2904) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2905) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2906) .ev_actions = llc_await_actions_3b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2907) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2908)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2909) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2910) static const llc_conn_action_t llc_await_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2911) [0] = llc_conn_ac_send_rej_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2912) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2913) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2914) [3] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2915) [4] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2916) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2917) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2918)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2919) static struct llc_conn_state_trans llc_await_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2920) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2921) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2922) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2923) .ev_actions = llc_await_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2924) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2925)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2926) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2927) static const llc_conn_action_t llc_await_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2928) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2929) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2930) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2931) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2932) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2933) [5] = llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2934) [6] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2935) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2936) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2937)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2938) static struct llc_conn_state_trans llc_await_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2939) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2940) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2941) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2942) .ev_actions = llc_await_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2943) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2944)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2945) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2946) static const llc_conn_action_t llc_await_actions_6a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2947) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2948) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2949) [2] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2950) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2951) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2952) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2953) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2954)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2955) static struct llc_conn_state_trans llc_await_state_trans_6a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2956) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2957) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2958) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2959) .ev_actions = llc_await_actions_6a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2960) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2961)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2962) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2963) static const llc_conn_action_t llc_await_actions_6b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2964) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2965) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2966) [2] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2967) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2968) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2969) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2970) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2971)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2972) static struct llc_conn_state_trans llc_await_state_trans_6b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2973) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2974) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2975) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2976) .ev_actions = llc_await_actions_6b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2977) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2978)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2979) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2980) static const llc_conn_action_t llc_await_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2981) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2982) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2983) [2] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2984) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2985) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2986) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2987) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2988)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2989) static struct llc_conn_state_trans llc_await_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2990) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2991) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2992) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2993) .ev_actions = llc_await_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2994) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2995)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2996) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2997) static const llc_conn_action_t llc_await_actions_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2998) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2999) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3000) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3001) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3002) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3003) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3004) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3005)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3006) static struct llc_conn_state_trans llc_await_state_trans_8a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3007) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3008) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3009) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3010) .ev_actions = llc_await_actions_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3011) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3012)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3013) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3014) static const llc_conn_action_t llc_await_actions_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3015) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3016) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3017) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3018) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3019) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3020) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3021) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3022)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3023) static struct llc_conn_state_trans llc_await_state_trans_8b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3024) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3025) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3026) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3027) .ev_actions = llc_await_actions_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3028) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3029)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3030) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3031) static const llc_conn_action_t llc_await_actions_9a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3032) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3033) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3034) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3035) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3036) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3037)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3038) static struct llc_conn_state_trans llc_await_state_trans_9a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3039) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3040) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3041) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3042) .ev_actions = llc_await_actions_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3043) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3044)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3045) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3046) static const llc_conn_action_t llc_await_actions_9b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3047) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3048) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3049) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3050) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3051) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3052)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3053) static struct llc_conn_state_trans llc_await_state_trans_9b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3054) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3055) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3056) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3057) .ev_actions = llc_await_actions_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3058) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3059)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3060) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3061) static const llc_conn_action_t llc_await_actions_9c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3062) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3063) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3064) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3065) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3066) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3067)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3068) static struct llc_conn_state_trans llc_await_state_trans_9c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3069) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3070) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3071) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3072) .ev_actions = llc_await_actions_9c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3073) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3074)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3075) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3076) static const llc_conn_action_t llc_await_actions_9d[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3077) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3078) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3079) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3080) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3081) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3082)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3083) static struct llc_conn_state_trans llc_await_state_trans_9d = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3084) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3085) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3086) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3087) .ev_actions = llc_await_actions_9d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3088) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3089)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3090) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3091) static const llc_conn_action_t llc_await_actions_10a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3092) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3093) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3094) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3095) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3096) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3097) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3098)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3099) static struct llc_conn_state_trans llc_await_state_trans_10a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3100) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3101) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3102) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3103) .ev_actions = llc_await_actions_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3104) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3106) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3107) static const llc_conn_action_t llc_await_actions_10b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3108) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3109) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3110) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3111) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3112) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3113) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3115) static struct llc_conn_state_trans llc_await_state_trans_10b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3116) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3117) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3118) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3119) .ev_actions = llc_await_actions_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3120) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3122) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3123) static const llc_conn_action_t llc_await_actions_11[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3124) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3125) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3126) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3127) [3] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3128) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3129) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3131) static struct llc_conn_state_trans llc_await_state_trans_11 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3132) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3133) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3134) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3135) .ev_actions = llc_await_actions_11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3136) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3138) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3139) static const llc_conn_action_t llc_await_actions_12a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3140) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3141) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3142) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3143) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3144) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3146) static struct llc_conn_state_trans llc_await_state_trans_12a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3147) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3148) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3149) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3150) .ev_actions = llc_await_actions_12a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3151) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3153) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3154) static const llc_conn_action_t llc_await_actions_12b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3155) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3156) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3157) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3158) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3159) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3161) static struct llc_conn_state_trans llc_await_state_trans_12b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3162) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3163) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3164) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3165) .ev_actions = llc_await_actions_12b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3166) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3168) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3169) static const llc_conn_action_t llc_await_actions_13[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3170) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3171) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3172) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3173) [3] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3174) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3175) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3177) static struct llc_conn_state_trans llc_await_state_trans_13 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3178) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3179) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3180) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3181) .ev_actions = llc_await_actions_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3182) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3184) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3185) static const llc_conn_ev_qfyr_t llc_await_ev_qfyrs_14[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3186) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3187) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3188) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3190) static const llc_conn_action_t llc_await_actions_14[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3191) [0] = llc_conn_ac_send_rr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3192) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3193) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3194) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3195) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3197) static struct llc_conn_state_trans llc_await_state_trans_14 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3198) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3199) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3200) .ev_qualifiers = llc_await_ev_qfyrs_14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3201) .ev_actions = llc_await_actions_14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3202) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3204) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3205) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3206) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3207) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3208) static struct llc_conn_state_trans *llc_await_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3209) [0] = &llc_common_state_trans_1, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3210) [1] = &llc_common_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3211) [2] = &llc_await_state_trans_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3212) [3] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3213) [4] = &llc_await_state_trans_1, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3214) [5] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3215) [6] = &llc_common_state_trans_end, /* Initiate PF Cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3216) [7] = &llc_common_state_trans_11a, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3217) [8] = &llc_common_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3218) [9] = &llc_common_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3219) [10] = &llc_common_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3220) [11] = &llc_await_state_trans_14,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3221) [12] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3222) [13] = &llc_common_state_trans_3, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3223) [14] = &llc_common_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3224) [15] = &llc_common_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3225) [16] = &llc_common_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3226) [17] = &llc_common_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3227) [18] = &llc_common_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3228) [19] = &llc_common_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3229) [20] = &llc_common_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3230) [21] = &llc_common_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3231) [22] = &llc_common_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3232) /* [23] = &llc_common_state_trans_10, */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3233) [23] = &llc_await_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3234) [24] = &llc_await_state_trans_3a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3235) [25] = &llc_await_state_trans_3b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3236) [26] = &llc_await_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3237) [27] = &llc_await_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3238) [28] = &llc_await_state_trans_6a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3239) [29] = &llc_await_state_trans_6b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3240) [30] = &llc_await_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3241) [31] = &llc_await_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3242) [32] = &llc_await_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3243) [33] = &llc_await_state_trans_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3244) [34] = &llc_await_state_trans_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3245) [35] = &llc_await_state_trans_9c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3246) [36] = &llc_await_state_trans_9d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3247) [37] = &llc_await_state_trans_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3248) [38] = &llc_await_state_trans_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3249) [39] = &llc_await_state_trans_11,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3250) [40] = &llc_await_state_trans_12a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3251) [41] = &llc_await_state_trans_12b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3252) [42] = &llc_await_state_trans_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3253) [43] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3254) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3255)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3256) /* LLC_CONN_STATE_AWAIT_BUSY transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3257) /* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3258) static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1_0[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3259) [0] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3260) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3261) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3262)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3263) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3264) static const llc_conn_action_t llc_await_busy_actions_1_0[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3265)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3266) static struct llc_conn_state_trans llc_await_busy_state_trans_1_0 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3267) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3268) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3269) .ev_qualifiers = llc_await_busy_ev_qfyrs_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3270) .ev_actions = llc_await_busy_actions_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3271) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3273) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3274) static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3275) [0] = llc_conn_ev_qlfy_data_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3276) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3277) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3278)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3279) static const llc_conn_action_t llc_await_busy_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3280) [0] = llc_conn_ac_send_rej_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3281) [1] = llc_conn_ac_start_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3282) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3283) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3284)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3285) static struct llc_conn_state_trans llc_await_busy_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3286) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3287) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3288) .ev_qualifiers = llc_await_busy_ev_qfyrs_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3289) .ev_actions = llc_await_busy_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3290) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3291)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3292) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3293) static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3294) [0] = llc_conn_ev_qlfy_data_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3295) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3296) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3297)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3298) static const llc_conn_action_t llc_await_busy_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3299) [0] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3300) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3301) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3302)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3303) static struct llc_conn_state_trans llc_await_busy_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3304) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3305) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3306) .ev_qualifiers = llc_await_busy_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3307) .ev_actions = llc_await_busy_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3308) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3310) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3311) static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3312) [0] = llc_conn_ev_qlfy_data_flag_eq_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3313) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3314) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3315)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3316) static const llc_conn_action_t llc_await_busy_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3317) [0] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3318) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3319) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3321) static struct llc_conn_state_trans llc_await_busy_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3322) .ev = llc_conn_ev_local_busy_cleared,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3323) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3324) .ev_qualifiers = llc_await_busy_ev_qfyrs_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3325) .ev_actions = llc_await_busy_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3326) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3327)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3328) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3329) static const llc_conn_action_t llc_await_busy_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3330) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3331) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3332) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3333) [3] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3334) [4] = llc_conn_ac_set_data_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3335) [5] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3336) [6] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3337) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3338) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3339)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3340) static struct llc_conn_state_trans llc_await_busy_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3341) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3342) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3343) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3344) .ev_actions = llc_await_busy_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3345) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3346)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3347) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3348) static const llc_conn_action_t llc_await_busy_actions_5a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3349) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3350) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3351) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3352) [3] = llc_conn_ac_set_data_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3353) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3354) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3355)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3356) static struct llc_conn_state_trans llc_await_busy_state_trans_5a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3357) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3358) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3359) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3360) .ev_actions = llc_await_busy_actions_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3361) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3363) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3364) static const llc_conn_action_t llc_await_busy_actions_5b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3365) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3366) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3367) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3368) [3] = llc_conn_ac_set_data_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3369) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3370) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3371)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3372) static struct llc_conn_state_trans llc_await_busy_state_trans_5b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3373) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3374) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3375) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3376) .ev_actions = llc_await_busy_actions_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3377) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3379) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3380) static const llc_conn_action_t llc_await_busy_actions_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3381) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3382) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3383) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3384) [3] = llc_conn_ac_set_data_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3385) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3386) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3388) static struct llc_conn_state_trans llc_await_busy_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3389) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3390) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3391) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3392) .ev_actions = llc_await_busy_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3393) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3394)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3395) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3396) static const llc_conn_action_t llc_await_busy_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3397) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3398) [1] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3399) [2] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3400) [3] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3401) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3402) [5] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3403) [6] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3404) [7] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3405) [8] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3406) [9] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3407) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3409) static struct llc_conn_state_trans llc_await_busy_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3410) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3411) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3412) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3413) .ev_actions = llc_await_busy_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3414) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3415)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3416) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3417) static const llc_conn_action_t llc_await_busy_actions_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3418) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3419) [1] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3420) [2] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3421) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3422) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3423) [5] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3424) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3425) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3426)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3427) static struct llc_conn_state_trans llc_await_busy_state_trans_8a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3428) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3429) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3430) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3431) .ev_actions = llc_await_busy_actions_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3432) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3434) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3435) static const llc_conn_action_t llc_await_busy_actions_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3436) [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3437) [1] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3438) [2] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3439) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3440) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3441) [5] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3442) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3443) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3444)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3445) static struct llc_conn_state_trans llc_await_busy_state_trans_8b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3446) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3447) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3448) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3449) .ev_actions = llc_await_busy_actions_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3450) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3451)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3452) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3453) static const llc_conn_action_t llc_await_busy_actions_9[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3454) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3455) [1] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3456) [2] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3457) [3] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3458) [4] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3459) [5] = llc_conn_ac_set_data_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3460) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3461) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3462)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3463) static struct llc_conn_state_trans llc_await_busy_state_trans_9 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3464) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3465) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3466) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3467) .ev_actions = llc_await_busy_actions_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3468) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3469)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3470) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3471) static const llc_conn_action_t llc_await_busy_actions_10a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3472) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3473) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3474) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3475) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3476) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3477) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3478) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3479)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3480) static struct llc_conn_state_trans llc_await_busy_state_trans_10a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3481) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3482) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3483) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3484) .ev_actions = llc_await_busy_actions_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3485) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3486)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3487) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3488) static const llc_conn_action_t llc_await_busy_actions_10b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3489) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3490) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3491) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3492) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3493) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3494) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3495) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3496)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3497) static struct llc_conn_state_trans llc_await_busy_state_trans_10b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3498) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3499) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3500) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3501) .ev_actions = llc_await_busy_actions_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3502) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3503)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3504) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3505) static const llc_conn_action_t llc_await_busy_actions_11a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3506) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3507) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3508) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3509) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3510) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3511)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3512) static struct llc_conn_state_trans llc_await_busy_state_trans_11a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3513) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3514) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3515) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3516) .ev_actions = llc_await_busy_actions_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3517) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3518)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3519) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3520) static const llc_conn_action_t llc_await_busy_actions_11b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3521) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3522) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3523) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3524) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3525) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3526)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3527) static struct llc_conn_state_trans llc_await_busy_state_trans_11b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3528) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3529) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3530) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3531) .ev_actions = llc_await_busy_actions_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3532) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3533)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3534) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3535) static const llc_conn_action_t llc_await_busy_actions_11c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3536) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3537) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3538) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3539) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3540) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3541)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3542) static struct llc_conn_state_trans llc_await_busy_state_trans_11c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3543) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3544) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3545) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3546) .ev_actions = llc_await_busy_actions_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3547) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3548)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3549) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3550) static const llc_conn_action_t llc_await_busy_actions_11d[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3551) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3552) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3553) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3554) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3555) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3556)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3557) static struct llc_conn_state_trans llc_await_busy_state_trans_11d = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3558) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3559) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3560) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3561) .ev_actions = llc_await_busy_actions_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3562) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3563)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3564) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3565) static const llc_conn_action_t llc_await_busy_actions_12a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3566) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3567) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3568) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3569) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3570) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3571) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3572)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3573) static struct llc_conn_state_trans llc_await_busy_state_trans_12a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3574) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3575) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3576) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3577) .ev_actions = llc_await_busy_actions_12a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3578) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3579)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3580) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3581) static const llc_conn_action_t llc_await_busy_actions_12b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3582) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3583) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3584) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3585) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3586) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3587) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3588)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3589) static struct llc_conn_state_trans llc_await_busy_state_trans_12b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3590) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3591) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3592) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3593) .ev_actions = llc_await_busy_actions_12b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3594) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3595)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3596) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3597) static const llc_conn_action_t llc_await_busy_actions_13[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3598) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3599) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3600) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3601) [3] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3602) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3603) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3604)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3605) static struct llc_conn_state_trans llc_await_busy_state_trans_13 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3606) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3607) .next_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3608) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3609) .ev_actions = llc_await_busy_actions_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3610) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3611)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3612) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3613) static const llc_conn_action_t llc_await_busy_actions_14a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3614) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3615) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3616) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3617) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3618) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3619)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3620) static struct llc_conn_state_trans llc_await_busy_state_trans_14a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3621) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3622) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3623) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3624) .ev_actions = llc_await_busy_actions_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3625) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3626)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3627) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3628) static const llc_conn_action_t llc_await_busy_actions_14b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3629) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3630) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3631) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3632) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3633) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3634)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3635) static struct llc_conn_state_trans llc_await_busy_state_trans_14b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3636) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3637) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3638) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3639) .ev_actions = llc_await_busy_actions_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3640) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3641)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3642) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3643) static const llc_conn_action_t llc_await_busy_actions_15[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3644) [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3645) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3646) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3647) [3] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3648) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3649) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3650)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3651) static struct llc_conn_state_trans llc_await_busy_state_trans_15 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3652) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3653) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3654) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3655) .ev_actions = llc_await_busy_actions_15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3656) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3657)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3658) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3659) static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_16[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3660) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3661) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3662) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3663)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3664) static const llc_conn_action_t llc_await_busy_actions_16[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3665) [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3666) [1] = llc_conn_ac_start_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3667) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3668) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3669) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3670)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3671) static struct llc_conn_state_trans llc_await_busy_state_trans_16 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3672) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3673) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3674) .ev_qualifiers = llc_await_busy_ev_qfyrs_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3675) .ev_actions = llc_await_busy_actions_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3676) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3677)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3678) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3679) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3680) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3681) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3682) static struct llc_conn_state_trans *llc_await_busy_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3683) [0] = &llc_common_state_trans_1, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3684) [1] = &llc_common_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3685) [2] = &llc_await_busy_state_trans_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3686) [3] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3687) [4] = &llc_await_busy_state_trans_1, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3688) [5] = &llc_await_busy_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3689) [6] = &llc_await_busy_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3690) [7] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3691) [8] = &llc_common_state_trans_end, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3692) [9] = &llc_common_state_trans_11a, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3693) [10] = &llc_common_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3694) [11] = &llc_common_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3695) [12] = &llc_common_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3696) [13] = &llc_await_busy_state_trans_16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3697) [14] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3698) [15] = &llc_await_busy_state_trans_4, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3699) [16] = &llc_await_busy_state_trans_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3700) [17] = &llc_await_busy_state_trans_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3701) [18] = &llc_await_busy_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3702) [19] = &llc_await_busy_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3703) [20] = &llc_await_busy_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3704) [21] = &llc_await_busy_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3705) [22] = &llc_await_busy_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3706) [23] = &llc_await_busy_state_trans_10a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3707) [24] = &llc_await_busy_state_trans_10b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3708) [25] = &llc_await_busy_state_trans_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3709) [26] = &llc_await_busy_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3710) [27] = &llc_await_busy_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3711) [28] = &llc_await_busy_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3712) [29] = &llc_await_busy_state_trans_12a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3713) [30] = &llc_await_busy_state_trans_12b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3714) [31] = &llc_await_busy_state_trans_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3715) [32] = &llc_await_busy_state_trans_14a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3716) [33] = &llc_await_busy_state_trans_14b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3717) [34] = &llc_await_busy_state_trans_15,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3718) [35] = &llc_common_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3719) [36] = &llc_common_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3720) [37] = &llc_common_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3721) [38] = &llc_common_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3722) [39] = &llc_common_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3723) [40] = &llc_common_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3724) [41] = &llc_common_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3725) [42] = &llc_common_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3726) [43] = &llc_common_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3727) [44] = &llc_common_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3728) /* [45] = &llc_common_state_trans_10, */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3729) [45] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3730) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3731)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3732) /* ----------------- LLC_CONN_STATE_AWAIT_REJ transitions --------------- */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3733) /* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3734) static const llc_conn_ev_qfyr_t llc_await_reject_ev_qfyrs_1_0[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3735) [0] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3736) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3737) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3738)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3739) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3740) static const llc_conn_action_t llc_await_reject_actions_1_0[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3741)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3742) static struct llc_conn_state_trans llc_await_reject_state_trans_1_0 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3743) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3744) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3745) .ev_qualifiers = llc_await_reject_ev_qfyrs_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3746) .ev_actions = llc_await_reject_actions_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3747) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3748)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3749) /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3750) static const llc_conn_action_t llc_await_rejct_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3751) [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3752) [1] = llc_conn_ac_set_data_flag_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3753) [2] = NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3754) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3755)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3756) static struct llc_conn_state_trans llc_await_rejct_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3757) .ev = llc_conn_ev_local_busy_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3758) .next_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3759) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3760) .ev_actions = llc_await_rejct_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3761) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3762)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3763) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3764) static const llc_conn_action_t llc_await_rejct_actions_2a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3765) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3766) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3767) [2] = NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3768) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3769)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3770) static struct llc_conn_state_trans llc_await_rejct_state_trans_2a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3771) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3772) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3773) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3774) .ev_actions = llc_await_rejct_actions_2a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3775) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3776)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3777) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3778) static const llc_conn_action_t llc_await_rejct_actions_2b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3779) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3780) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3781) [2] = NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3782) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3783)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3784) static struct llc_conn_state_trans llc_await_rejct_state_trans_2b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3785) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3786) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3787) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3788) .ev_actions = llc_await_rejct_actions_2b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3789) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3790)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3791) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3792) static const llc_conn_action_t llc_await_rejct_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3793) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3794) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3795) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3796) [3] = NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3797) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3798)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3799) static struct llc_conn_state_trans llc_await_rejct_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3800) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3801) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3802) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3803) .ev_actions = llc_await_rejct_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3804) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3805)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3806) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3807) static const llc_conn_action_t llc_await_rejct_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3808) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3809) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3810) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3811) [3] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3812) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3813) [5] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3814) [6] = llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3815) [7] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3816) [8] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3817) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3818)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3819) static struct llc_conn_state_trans llc_await_rejct_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3820) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3821) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3822) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3823) .ev_actions = llc_await_rejct_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3824) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3825)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3826) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3827) static const llc_conn_action_t llc_await_rejct_actions_5a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3828) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3829) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3830) [2] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3831) [3] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3832) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3833) [5] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3834) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3835) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3836)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3837) static struct llc_conn_state_trans llc_await_rejct_state_trans_5a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3838) .ev = llc_conn_ev_rx_i_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3839) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3840) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3841) .ev_actions = llc_await_rejct_actions_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3842) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3843)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3844) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3845) static const llc_conn_action_t llc_await_rejct_actions_5b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3846) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3847) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3848) [2] = llc_conn_ac_send_rr_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3849) [3] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3850) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3851) [5] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3852) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3853) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3854)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3855) static struct llc_conn_state_trans llc_await_rejct_state_trans_5b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3856) .ev = llc_conn_ev_rx_i_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3857) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3858) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3859) .ev_actions = llc_await_rejct_actions_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3860) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3861)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3862) /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3863) static const llc_conn_action_t llc_await_rejct_actions_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3864) [0] = llc_conn_ac_inc_vr_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3865) [1] = llc_conn_ac_data_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3866) [2] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3867) [3] = llc_conn_ac_stop_rej_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3868) [4] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3869) [5] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3870) [6] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3871) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3872)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3873) static struct llc_conn_state_trans llc_await_rejct_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3874) .ev = llc_conn_ev_rx_i_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3875) .next_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3876) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3877) .ev_actions = llc_await_rejct_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3878) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3879)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3880) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3881) static const llc_conn_action_t llc_await_rejct_actions_7a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3882) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3883) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3884) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3885) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3886) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3887) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3888) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3889)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3890) static struct llc_conn_state_trans llc_await_rejct_state_trans_7a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3891) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3892) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3893) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3894) .ev_actions = llc_await_rejct_actions_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3895) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3896)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3897) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3898) static const llc_conn_action_t llc_await_rejct_actions_7b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3899) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3900) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3901) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3902) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3903) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3904) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3905) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3906)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3907) static struct llc_conn_state_trans llc_await_rejct_state_trans_7b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3908) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3909) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3910) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3911) .ev_actions = llc_await_rejct_actions_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3912) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3913)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3914) /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3915) static const llc_conn_action_t llc_await_rejct_actions_7c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3916) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3917) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3918) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3919) [3] = llc_conn_ac_resend_i_xxx_x_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3920) [4] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3921) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3922) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3923)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3924) static struct llc_conn_state_trans llc_await_rejct_state_trans_7c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3925) .ev = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3926) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3927) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3928) .ev_actions = llc_await_rejct_actions_7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3929) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3930)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3931) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3932) static const llc_conn_action_t llc_await_rejct_actions_8a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3933) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3934) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3935) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3936) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3937) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3938)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3939) static struct llc_conn_state_trans llc_await_rejct_state_trans_8a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3940) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3941) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3942) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3943) .ev_actions = llc_await_rejct_actions_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3944) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3945)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3946) /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3947) static const llc_conn_action_t llc_await_rejct_actions_8b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3948) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3949) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3950) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3951) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3952) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3953)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3954) static struct llc_conn_state_trans llc_await_rejct_state_trans_8b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3955) .ev = llc_conn_ev_rx_rr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3956) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3957) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3958) .ev_actions = llc_await_rejct_actions_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3959) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3960)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3961) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3962) static const llc_conn_action_t llc_await_rejct_actions_8c[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3963) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3964) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3965) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3966) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3967) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3968)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3969) static struct llc_conn_state_trans llc_await_rejct_state_trans_8c = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3970) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3971) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3972) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3973) .ev_actions = llc_await_rejct_actions_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3974) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3975)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3976) /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3977) static const llc_conn_action_t llc_await_rejct_actions_8d[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3978) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3979) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3980) [2] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3981) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3982) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3983)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3984) static struct llc_conn_state_trans llc_await_rejct_state_trans_8d = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3985) .ev = llc_conn_ev_rx_rej_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3986) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3987) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3988) .ev_actions = llc_await_rejct_actions_8d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3989) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3990)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3991) /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3992) static const llc_conn_action_t llc_await_rejct_actions_9a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3993) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3994) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3995) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3996) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3997) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3998) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4000) static struct llc_conn_state_trans llc_await_rejct_state_trans_9a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4001) .ev = llc_conn_ev_rx_rr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4002) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4003) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4004) .ev_actions = llc_await_rejct_actions_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4005) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4006)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4007) /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4008) static const llc_conn_action_t llc_await_rejct_actions_9b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4009) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4010) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4011) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4012) [3] = llc_conn_ac_clear_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4013) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4014) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4015)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4016) static struct llc_conn_state_trans llc_await_rejct_state_trans_9b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4017) .ev = llc_conn_ev_rx_rej_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4018) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4019) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4020) .ev_actions = llc_await_rejct_actions_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4021) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4022)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4023) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4024) static const llc_conn_action_t llc_await_rejct_actions_10[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4025) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4026) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4027) [2] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4028) [3] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4029) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4030) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4031)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4032) static struct llc_conn_state_trans llc_await_rejct_state_trans_10 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4033) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4034) .next_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4035) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4036) .ev_actions = llc_await_rejct_actions_10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4037) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4038)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4039) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4040) static const llc_conn_action_t llc_await_rejct_actions_11a[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4041) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4042) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4043) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4044) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4045) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4046)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4047) static struct llc_conn_state_trans llc_await_rejct_state_trans_11a = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4048) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4049) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4050) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4051) .ev_actions = llc_await_rejct_actions_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4052) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4053)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4054) /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4055) static const llc_conn_action_t llc_await_rejct_actions_11b[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4056) [0] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4057) [1] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4058) [2] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4059) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4060) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4061)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4062) static struct llc_conn_state_trans llc_await_rejct_state_trans_11b = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4063) .ev = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4064) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4065) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4066) .ev_actions = llc_await_rejct_actions_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4067) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4068)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4069) /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4070) static const llc_conn_action_t llc_await_rejct_actions_12[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4071) [0] = llc_conn_ac_send_rr_rsp_f_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4072) [1] = llc_conn_ac_upd_nr_received,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4073) [2] = llc_conn_ac_upd_vs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4074) [3] = llc_conn_ac_set_remote_busy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4075) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4076) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4077)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4078) static struct llc_conn_state_trans llc_await_rejct_state_trans_12 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4079) .ev = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4080) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4081) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4082) .ev_actions = llc_await_rejct_actions_12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4083) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4084)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4085) /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4086) static const llc_conn_ev_qfyr_t llc_await_rejct_ev_qfyrs_13[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4087) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4088) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4089) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4090)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4091) static const llc_conn_action_t llc_await_rejct_actions_13[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4092) [0] = llc_conn_ac_send_rej_cmd_p_set_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4093) [1] = llc_conn_ac_stop_p_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4094) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4095) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4096) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4097)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4098) static struct llc_conn_state_trans llc_await_rejct_state_trans_13 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4099) .ev = llc_conn_ev_p_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4100) .next_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4101) .ev_qualifiers = llc_await_rejct_ev_qfyrs_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4102) .ev_actions = llc_await_rejct_actions_13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4103) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4105) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4106) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4107) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4108) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4109) static struct llc_conn_state_trans *llc_await_rejct_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4110) [0] = &llc_await_reject_state_trans_1_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4111) [1] = &llc_common_state_trans_1, /* requests */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4112) [2] = &llc_common_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4113) [3] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4114) [4] = &llc_await_rejct_state_trans_1, /* local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4115) [5] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4116) [6] = &llc_common_state_trans_end, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4117) [7] = &llc_await_rejct_state_trans_13, /* timers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4118) [8] = &llc_common_state_trans_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4119) [9] = &llc_common_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4120) [10] = &llc_common_state_trans_11c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4121) [11] = &llc_common_state_trans_11d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4122) [12] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4123) [13] = &llc_await_rejct_state_trans_2a, /* receive frames */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4124) [14] = &llc_await_rejct_state_trans_2b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4125) [15] = &llc_await_rejct_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4126) [16] = &llc_await_rejct_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4127) [17] = &llc_await_rejct_state_trans_5a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4128) [18] = &llc_await_rejct_state_trans_5b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4129) [19] = &llc_await_rejct_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4130) [20] = &llc_await_rejct_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4131) [21] = &llc_await_rejct_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4132) [22] = &llc_await_rejct_state_trans_7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4133) [23] = &llc_await_rejct_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4134) [24] = &llc_await_rejct_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4135) [25] = &llc_await_rejct_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4136) [26] = &llc_await_rejct_state_trans_8d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4137) [27] = &llc_await_rejct_state_trans_9a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4138) [28] = &llc_await_rejct_state_trans_9b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4139) [29] = &llc_await_rejct_state_trans_10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4140) [30] = &llc_await_rejct_state_trans_11a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4141) [31] = &llc_await_rejct_state_trans_11b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4142) [32] = &llc_await_rejct_state_trans_12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4143) [33] = &llc_common_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4144) [34] = &llc_common_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4145) [35] = &llc_common_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4146) [36] = &llc_common_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4147) [37] = &llc_common_state_trans_7a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4148) [38] = &llc_common_state_trans_7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4149) [39] = &llc_common_state_trans_8a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4150) [40] = &llc_common_state_trans_8b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4151) [41] = &llc_common_state_trans_8c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4152) [42] = &llc_common_state_trans_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4153) /* [43] = &llc_common_state_trans_10, */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4154) [43] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4155) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4156)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4157) /* LLC_CONN_STATE_D_CONN transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4158) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4159) * cause_flag = 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4160) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4161) [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4162) [1] = llc_conn_ev_qlfy_set_status_conflict,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4163) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4164) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4166) static const llc_conn_action_t llc_d_conn_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4167) [0] = llc_conn_ac_send_dm_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4168) [1] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4169) [2] = llc_conn_ac_disc_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4170) [3] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4171) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4172) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4174) static struct llc_conn_state_trans llc_d_conn_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4175) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4176) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4177) .ev_qualifiers = llc_d_conn_ev_qfyrs_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4178) .ev_actions = llc_d_conn_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4179) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4181) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4182) * cause_flag = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4183) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4184) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4185) [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4186) [1] = llc_conn_ev_qlfy_set_status_conflict,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4187) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4188) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4190) static const llc_conn_action_t llc_d_conn_actions_1_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4191) [0] = llc_conn_ac_send_dm_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4192) [1] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4193) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4194) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4195) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4197) static struct llc_conn_state_trans llc_d_conn_state_trans_1_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4198) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4199) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4200) .ev_qualifiers = llc_d_conn_ev_qfyrs_1_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4201) .ev_actions = llc_d_conn_actions_1_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4202) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4204) /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4205) * cause_flag = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4206) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4207) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4208) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4209) [1] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4210) [2] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4211) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4212) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4214) static const llc_conn_action_t llc_d_conn_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4215) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4216) [1] = llc_conn_ac_disc_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4217) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4218) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4219) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4220)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4221) static struct llc_conn_state_trans llc_d_conn_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4222) .ev = llc_conn_ev_rx_ua_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4223) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4224) .ev_qualifiers = llc_d_conn_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4225) .ev_actions = llc_d_conn_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4226) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4228) /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4229) * cause_flag = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4230) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4231) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4232) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4233) [1] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4234) [2] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4235) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4236) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4237)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4238) static const llc_conn_action_t llc_d_conn_actions_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4239) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4240) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4241) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4242) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4243)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4244) static struct llc_conn_state_trans llc_d_conn_state_trans_2_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4245) .ev = llc_conn_ev_rx_ua_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4246) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4247) .ev_qualifiers = llc_d_conn_ev_qfyrs_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4248) .ev_actions = llc_d_conn_actions_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4249) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4250)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4251) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4252) static const llc_conn_action_t llc_d_conn_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4253) [0] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4254) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4255) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4256)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4257) static struct llc_conn_state_trans llc_d_conn_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4258) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4259) .next_state = LLC_CONN_STATE_D_CONN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4260) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4261) .ev_actions = llc_d_conn_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4262) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4264) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4265) * cause_flag = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4266) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4267) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4268) [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4269) [1] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4270) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4271) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4273) static const llc_conn_action_t llc_d_conn_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4274) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4275) [1] = llc_conn_ac_disc_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4276) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4277) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4278) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4280) static struct llc_conn_state_trans llc_d_conn_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4281) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4282) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4283) .ev_qualifiers = llc_d_conn_ev_qfyrs_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4284) .ev_actions = llc_d_conn_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4285) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4287) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4288) * cause_flag = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4289) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4290) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4291) [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4292) [1] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4293) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4294) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4295)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4296) static const llc_conn_action_t llc_d_conn_actions_4_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4297) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4298) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4299) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4300) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4302) static struct llc_conn_state_trans llc_d_conn_state_trans_4_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4303) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4304) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4305) .ev_qualifiers = llc_d_conn_ev_qfyrs_4_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4306) .ev_actions = llc_d_conn_actions_4_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4307) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4308)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4309) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4310) * State transition for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4311) * LLC_CONN_EV_DATA_CONN_REQ event
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4312) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4313) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4314) [0] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4315) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4316) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4317)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4318) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4319) static const llc_conn_action_t llc_d_conn_actions_5[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4321) static struct llc_conn_state_trans llc_d_conn_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4322) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4323) .next_state = LLC_CONN_STATE_D_CONN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4324) .ev_qualifiers = llc_d_conn_ev_qfyrs_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4325) .ev_actions = llc_d_conn_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4326) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4327)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4328) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4329) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4330) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4331) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4332) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4333)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4334) static const llc_conn_action_t llc_d_conn_actions_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4335) [0] = llc_conn_ac_send_disc_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4336) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4337) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4338) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4339) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4341) static struct llc_conn_state_trans llc_d_conn_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4342) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4343) .next_state = LLC_CONN_STATE_D_CONN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4344) .ev_qualifiers = llc_d_conn_ev_qfyrs_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4345) .ev_actions = llc_d_conn_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4346) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4347)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4348) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event, cause_flag = 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4349) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4350) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4351) [1] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4352) [2] = llc_conn_ev_qlfy_set_status_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4353) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4354) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4355)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4356) static const llc_conn_action_t llc_d_conn_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4357) [0] = llc_conn_ac_disc_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4358) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4359) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4360) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4361)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4362) static struct llc_conn_state_trans llc_d_conn_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4363) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4364) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4365) .ev_qualifiers = llc_d_conn_ev_qfyrs_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4366) .ev_actions = llc_d_conn_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4367) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4368)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4369) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event, cause_flag = 0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4370) static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4371) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4372) [1] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4373) [2] = llc_conn_ev_qlfy_set_status_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4374) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4375) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4376)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4377) static const llc_conn_action_t llc_d_conn_actions_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4378) [0] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4379) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4380) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4381)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4382) static struct llc_conn_state_trans llc_d_conn_state_trans_8 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4383) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4384) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4385) .ev_qualifiers = llc_d_conn_ev_qfyrs_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4386) .ev_actions = llc_d_conn_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4387) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4388)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4389) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4390) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4391) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4392) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4393) static struct llc_conn_state_trans *llc_d_conn_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4394) [0] = &llc_d_conn_state_trans_5, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4395) [1] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4396) [2] = &llc_common_state_trans_end, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4397) [3] = &llc_common_state_trans_end, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4398) [4] = &llc_d_conn_state_trans_6, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4399) [5] = &llc_d_conn_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4400) [6] = &llc_d_conn_state_trans_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4401) [7] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4402) [8] = &llc_d_conn_state_trans_1, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4403) [9] = &llc_d_conn_state_trans_1_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4404) [10] = &llc_d_conn_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4405) [11] = &llc_d_conn_state_trans_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4406) [12] = &llc_d_conn_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4407) [13] = &llc_d_conn_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4408) [14] = &llc_d_conn_state_trans_4_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4409) [15] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4410) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4411)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4412) /* LLC_CONN_STATE_RESET transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4413) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4414) static const llc_conn_action_t llc_rst_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4415) [0] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4416) [1] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4417) [2] = llc_conn_ac_set_s_flag_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4418) [3] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4419) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4420) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4421)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4422) static struct llc_conn_state_trans llc_rst_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4423) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4424) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4425) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4426) .ev_actions = llc_rst_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4427) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4428)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4429) /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4430) * cause_flag = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4431) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4432) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4433) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4434) [1] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4435) [2] = llc_conn_ev_qlfy_set_status_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4436) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4437) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4438)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4439) static const llc_conn_action_t llc_rst_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4440) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4441) [1] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4442) [2] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4443) [3] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4444) [4] = llc_conn_ac_rst_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4445) [5] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4446) [6] = llc_conn_reset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4447) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4448) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4449)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4450) static struct llc_conn_state_trans llc_rst_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4451) .ev = llc_conn_ev_rx_ua_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4452) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4453) .ev_qualifiers = llc_rst_ev_qfyrs_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4454) .ev_actions = llc_rst_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4455) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4456)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4457) /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4458) * cause_flag = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4459) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4460) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4461) [0] = llc_conn_ev_qlfy_p_flag_eq_f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4462) [1] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4463) [2] = llc_conn_ev_qlfy_set_status_rst_done,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4464) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4465) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4466)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4467) static const llc_conn_action_t llc_rst_actions_2_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4468) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4469) [1] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4470) [2] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4471) [3] = llc_conn_ac_upd_p_flag,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4472) [4] = llc_conn_ac_rst_confirm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4473) [5] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4474) [6] = llc_conn_reset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4475) [7] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4476) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4477)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4478) static struct llc_conn_state_trans llc_rst_state_trans_2_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4479) .ev = llc_conn_ev_rx_ua_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4480) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4481) .ev_qualifiers = llc_rst_ev_qfyrs_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4482) .ev_actions = llc_rst_actions_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4483) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4484)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4485) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4486) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4487) [0] = llc_conn_ev_qlfy_s_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4488) [1] = llc_conn_ev_qlfy_set_status_rst_done,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4489) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4490) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4491)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4492) static const llc_conn_action_t llc_rst_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4493) [0] = llc_conn_ac_set_p_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4494) [1] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4495) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4496) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4497)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4498) static struct llc_conn_state_trans llc_rst_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4499) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4500) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4501) .ev_qualifiers = llc_rst_ev_qfyrs_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4502) .ev_actions = llc_rst_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4503) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4504)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4505) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4506) * cause_flag = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4507) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4508) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4509) [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4510) [1] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4511) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4512) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4513) static const llc_conn_action_t llc_rst_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4514) [0] = llc_conn_ac_send_dm_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4515) [1] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4516) [2] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4517) [3] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4518) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4519) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4521) static struct llc_conn_state_trans llc_rst_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4522) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4523) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4524) .ev_qualifiers = llc_rst_ev_qfyrs_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4525) .ev_actions = llc_rst_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4526) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4527)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4528) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4529) * cause_flag = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4530) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4531) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4532) [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4533) [1] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4534) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4535) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4536)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4537) static const llc_conn_action_t llc_rst_actions_4_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4538) [0] = llc_conn_ac_send_dm_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4539) [1] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4540) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4541) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4542) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4543)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4544) static struct llc_conn_state_trans llc_rst_state_trans_4_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4545) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4546) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4547) .ev_qualifiers = llc_rst_ev_qfyrs_4_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4548) .ev_actions = llc_rst_actions_4_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4549) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4550)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4551) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4552) * cause_flag = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4553) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4554) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4555) [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4556) [1] = llc_conn_ev_qlfy_set_status_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4557) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4558) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4559)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4560) static const llc_conn_action_t llc_rst_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4561) [0] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4562) [1] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4563) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4564) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4565) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4566)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4567) static struct llc_conn_state_trans llc_rst_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4568) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4569) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4570) .ev_qualifiers = llc_rst_ev_qfyrs_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4571) .ev_actions = llc_rst_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4572) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4573)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4574) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4575) * cause_flag = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4576) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4577) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4578) [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4579) [1] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4580) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4581) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4582)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4583) static const llc_conn_action_t llc_rst_actions_5_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4584) [0] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4585) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4586) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4587) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4588)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4589) static struct llc_conn_state_trans llc_rst_state_trans_5_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4590) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4591) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4592) .ev_qualifiers = llc_rst_ev_qfyrs_5_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4593) .ev_actions = llc_rst_actions_5_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4594) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4595)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4596) /* State transitions for DATA_CONN_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4597) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_6[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4598) [0] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4599) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4600) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4601)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4602) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4603) static const llc_conn_action_t llc_rst_actions_6[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4604)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4605) static struct llc_conn_state_trans llc_rst_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4606) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4607) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4608) .ev_qualifiers = llc_rst_ev_qfyrs_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4609) .ev_actions = llc_rst_actions_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4610) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4611)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4612) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4613) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4614) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4615) [1] = llc_conn_ev_qlfy_s_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4616) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4617) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4618)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4619) static const llc_conn_action_t llc_rst_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4620) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4621) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4622) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4623) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4624) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4625)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4626) static struct llc_conn_state_trans llc_rst_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4627) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4628) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4629) .ev_qualifiers = llc_rst_ev_qfyrs_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4630) .ev_actions = llc_rst_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4631) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4632)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4633) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4634) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4635) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4636) [1] = llc_conn_ev_qlfy_s_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4637) [2] = llc_conn_ev_qlfy_cause_flag_eq_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4638) [3] = llc_conn_ev_qlfy_set_status_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4639) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4640) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4641) static const llc_conn_action_t llc_rst_actions_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4642) [0] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4643) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4644) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4645) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4646)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4647) static struct llc_conn_state_trans llc_rst_state_trans_8 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4648) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4649) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4650) .ev_qualifiers = llc_rst_ev_qfyrs_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4651) .ev_actions = llc_rst_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4652) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4653)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4654) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4655) static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4656) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4657) [1] = llc_conn_ev_qlfy_s_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4658) [2] = llc_conn_ev_qlfy_cause_flag_eq_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4659) [3] = llc_conn_ev_qlfy_set_status_failed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4660) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4661) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4662) static const llc_conn_action_t llc_rst_actions_8_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4663) [0] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4664) [1] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4665) [2] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4666) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4667)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4668) static struct llc_conn_state_trans llc_rst_state_trans_8_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4669) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4670) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4671) .ev_qualifiers = llc_rst_ev_qfyrs_8_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4672) .ev_actions = llc_rst_actions_8_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4673) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4674)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4675) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4676) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4677) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4678) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4679) static struct llc_conn_state_trans *llc_rst_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4680) [0] = &llc_rst_state_trans_6, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4681) [1] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4682) [2] = &llc_common_state_trans_end, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4683) [3] = &llc_common_state_trans_end, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4684) [4] = &llc_rst_state_trans_3, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4685) [5] = &llc_rst_state_trans_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4686) [6] = &llc_rst_state_trans_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4687) [7] = &llc_rst_state_trans_8_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4688) [8] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4689) [9] = &llc_rst_state_trans_1, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4690) [10] = &llc_rst_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4691) [11] = &llc_rst_state_trans_2_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4692) [12] = &llc_rst_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4693) [13] = &llc_rst_state_trans_4_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4694) [14] = &llc_rst_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4695) [15] = &llc_rst_state_trans_5_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4696) [16] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4697) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4698)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4699) /* LLC_CONN_STATE_ERROR transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4700) /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4701) static const llc_conn_action_t llc_error_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4702) [0] = llc_conn_ac_set_vs_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4703) [1] = llc_conn_ac_set_vr_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4704) [2] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4705) [3] = llc_conn_ac_rst_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4706) [4] = llc_conn_ac_set_p_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4707) [5] = llc_conn_ac_set_remote_busy_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4708) [6] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4709) [7] = llc_conn_reset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4710) [8] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4711) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4712)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4713) static struct llc_conn_state_trans llc_error_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4714) .ev = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4715) .next_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4716) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4717) .ev_actions = llc_error_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4718) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4719)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4720) /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4721) static const llc_conn_action_t llc_error_actions_2[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4722) [0] = llc_conn_ac_send_ua_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4723) [1] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4724) [2] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4725) [3] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4726) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4727) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4728)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4729) static struct llc_conn_state_trans llc_error_state_trans_2 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4730) .ev = llc_conn_ev_rx_disc_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4731) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4732) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4733) .ev_actions = llc_error_actions_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4734) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4735)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4736) /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4737) static const llc_conn_action_t llc_error_actions_3[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4738) [0] = llc_conn_ac_disc_ind,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4739) [1] = llc_conn_ac_stop_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4740) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4741) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4742) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4743)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4744) static struct llc_conn_state_trans llc_error_state_trans_3 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4745) .ev = llc_conn_ev_rx_dm_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4746) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4747) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4748) .ev_actions = llc_error_actions_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4749) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4750)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4751) /* State transitions for LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4752) static const llc_conn_action_t llc_error_actions_4[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4753) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4754) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4755) [2] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4756) [3] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4757) [4] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4758) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4759)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4760) static struct llc_conn_state_trans llc_error_state_trans_4 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4761) .ev = llc_conn_ev_rx_frmr_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4762) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4763) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4764) .ev_actions = llc_error_actions_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4765) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4766)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4767) /* State transitions for LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4768) static const llc_conn_action_t llc_error_actions_5[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4769) [0] = llc_conn_ac_resend_frmr_rsp_f_set_p,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4770) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4771) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4772)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4773) static struct llc_conn_state_trans llc_error_state_trans_5 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4774) .ev = llc_conn_ev_rx_xxx_cmd_pbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4775) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4776) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4777) .ev_actions = llc_error_actions_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4778) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4779)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4780) /* State transitions for LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_X event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4781) static struct llc_conn_state_trans llc_error_state_trans_6 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4782) .ev = llc_conn_ev_rx_xxx_rsp_fbit_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4783) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4784) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4785) .ev_actions = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4786) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4787)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4788) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4789) static const llc_conn_ev_qfyr_t llc_error_ev_qfyrs_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4790) [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4791) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4792) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4793)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4794) static const llc_conn_action_t llc_error_actions_7[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4795) [0] = llc_conn_ac_resend_frmr_rsp_f_set_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4796) [1] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4797) [2] = llc_conn_ac_inc_retry_cnt_by_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4798) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4799) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4801) static struct llc_conn_state_trans llc_error_state_trans_7 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4802) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4803) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4804) .ev_qualifiers = llc_error_ev_qfyrs_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4805) .ev_actions = llc_error_actions_7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4806) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4807)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4808) /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4809) static const llc_conn_ev_qfyr_t llc_error_ev_qfyrs_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4810) [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4811) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4812) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4813)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4814) static const llc_conn_action_t llc_error_actions_8[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4815) [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4816) [1] = llc_conn_ac_set_s_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4817) [2] = llc_conn_ac_start_ack_timer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4818) [3] = llc_conn_ac_set_retry_cnt_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4819) [4] = llc_conn_ac_set_cause_flag_0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4820) [5] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4821) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4822)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4823) static struct llc_conn_state_trans llc_error_state_trans_8 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4824) .ev = llc_conn_ev_ack_tmr_exp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4825) .next_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4826) .ev_qualifiers = llc_error_ev_qfyrs_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4827) .ev_actions = llc_error_actions_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4828) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4829)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4830) /* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4831) static const llc_conn_ev_qfyr_t llc_error_ev_qfyrs_9[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4832) [0] = llc_conn_ev_qlfy_set_status_refuse,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4833) [1] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4834) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4835)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4836) /* just one member, NULL, .bss zeroes it */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4837) static const llc_conn_action_t llc_error_actions_9[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4838)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4839) static struct llc_conn_state_trans llc_error_state_trans_9 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4840) .ev = llc_conn_ev_data_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4841) .next_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4842) .ev_qualifiers = llc_error_ev_qfyrs_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4843) .ev_actions = llc_error_actions_9,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4844) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4845)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4846) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4847) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4848) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4849) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4850) static struct llc_conn_state_trans *llc_error_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4851) [0] = &llc_error_state_trans_9, /* Request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4852) [1] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4853) [2] = &llc_common_state_trans_end, /* Local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4854) [3] = &llc_common_state_trans_end, /* Initiate PF cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4855) [4] = &llc_error_state_trans_7, /* Timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4856) [5] = &llc_error_state_trans_8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4857) [6] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4858) [7] = &llc_error_state_trans_1, /* Receive frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4859) [8] = &llc_error_state_trans_2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4860) [9] = &llc_error_state_trans_3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4861) [10] = &llc_error_state_trans_4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4862) [11] = &llc_error_state_trans_5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4863) [12] = &llc_error_state_trans_6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4864) [13] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4865) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4866)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4867) /* LLC_CONN_STATE_TEMP transitions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4868) /* State transitions for LLC_CONN_EV_DISC_REQ event */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4869) static const llc_conn_action_t llc_temp_actions_1[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4870) [0] = llc_conn_ac_stop_all_timers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4871) [1] = llc_conn_ac_send_disc_cmd_p_set_x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4872) [2] = llc_conn_disc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4873) [3] = NULL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4874) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4875)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4876) static struct llc_conn_state_trans llc_temp_state_trans_1 = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4877) .ev = llc_conn_ev_disc_req,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4878) .next_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4879) .ev_qualifiers = NONE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4880) .ev_actions = llc_temp_actions_1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4881) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4882)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4883) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4884) * Array of pointers;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4885) * one to each transition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4886) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4887) static struct llc_conn_state_trans *llc_temp_state_transitions[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4888) [0] = &llc_temp_state_trans_1, /* requests */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4889) [1] = &llc_common_state_trans_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4890) [2] = &llc_common_state_trans_end, /* local busy */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4891) [3] = &llc_common_state_trans_end, /* init_pf_cycle */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4892) [4] = &llc_common_state_trans_end, /* timer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4893) [5] = &llc_common_state_trans_end, /* receive */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4894) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4895)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4896) /* Connection State Transition Table */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4897) struct llc_conn_state llc_conn_state_table[NBR_CONN_STATES] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4898) [LLC_CONN_STATE_ADM - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4899) .current_state = LLC_CONN_STATE_ADM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4900) .transitions = llc_adm_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4901) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4902) [LLC_CONN_STATE_SETUP - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4903) .current_state = LLC_CONN_STATE_SETUP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4904) .transitions = llc_setup_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4905) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4906) [LLC_CONN_STATE_NORMAL - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4907) .current_state = LLC_CONN_STATE_NORMAL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4908) .transitions = llc_normal_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4909) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4910) [LLC_CONN_STATE_BUSY - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4911) .current_state = LLC_CONN_STATE_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4912) .transitions = llc_busy_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4913) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4914) [LLC_CONN_STATE_REJ - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4915) .current_state = LLC_CONN_STATE_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4916) .transitions = llc_reject_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4917) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4918) [LLC_CONN_STATE_AWAIT - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4919) .current_state = LLC_CONN_STATE_AWAIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4920) .transitions = llc_await_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4921) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4922) [LLC_CONN_STATE_AWAIT_BUSY - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4923) .current_state = LLC_CONN_STATE_AWAIT_BUSY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4924) .transitions = llc_await_busy_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4925) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4926) [LLC_CONN_STATE_AWAIT_REJ - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4927) .current_state = LLC_CONN_STATE_AWAIT_REJ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4928) .transitions = llc_await_rejct_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4929) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4930) [LLC_CONN_STATE_D_CONN - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4931) .current_state = LLC_CONN_STATE_D_CONN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4932) .transitions = llc_d_conn_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4933) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4934) [LLC_CONN_STATE_RESET - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4935) .current_state = LLC_CONN_STATE_RESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4936) .transitions = llc_rst_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4937) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4938) [LLC_CONN_STATE_ERROR - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4939) .current_state = LLC_CONN_STATE_ERROR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4940) .transitions = llc_error_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4941) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4942) [LLC_CONN_STATE_TEMP - 1] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4943) .current_state = LLC_CONN_STATE_TEMP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4944) .transitions = llc_temp_state_transitions,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4945) },
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4946) };