Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * llc_c_st.c - This module contains state transition of connection component.
0003  *
0004  * Description of event functions and actions there is in 802.2 LLC standard,
0005  * or in "llc_c_ac.c" and "llc_c_ev.c" modules.
0006  *
0007  * Copyright (c) 1997 by Procom Technology, Inc.
0008  *       2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
0009  *
0010  * This program can be redistributed or modified under the terms of the
0011  * GNU General Public License as published by the Free Software Foundation.
0012  * This program is distributed without any warranty or implied warranty
0013  * of merchantability or fitness for a particular purpose.
0014  *
0015  * See the GNU General Public License for more details.
0016  */
0017 #include <linux/types.h>
0018 #include <net/llc_if.h>
0019 #include <net/llc_sap.h>
0020 #include <net/llc_c_ev.h>
0021 #include <net/llc_c_ac.h>
0022 #include <net/llc_c_st.h>
0023 
0024 #define NONE NULL
0025 
0026 /* COMMON CONNECTION STATE transitions
0027  * Common transitions for
0028  * LLC_CONN_STATE_NORMAL,
0029  * LLC_CONN_STATE_BUSY,
0030  * LLC_CONN_STATE_REJ,
0031  * LLC_CONN_STATE_AWAIT,
0032  * LLC_CONN_STATE_AWAIT_BUSY and
0033  * LLC_CONN_STATE_AWAIT_REJ states
0034  */
0035 /* State transitions for LLC_CONN_EV_DISC_REQ event */
0036 static const llc_conn_action_t llc_common_actions_1[] = {
0037     [0] = llc_conn_ac_send_disc_cmd_p_set_x,
0038     [1] = llc_conn_ac_start_ack_timer,
0039     [2] = llc_conn_ac_stop_other_timers,
0040     [3] = llc_conn_ac_set_retry_cnt_0,
0041     [4] = llc_conn_ac_set_cause_flag_1,
0042     [5] = NULL,
0043 };
0044 
0045 static struct llc_conn_state_trans llc_common_state_trans_1 = {
0046     .ev        = llc_conn_ev_disc_req,
0047     .next_state    = LLC_CONN_STATE_D_CONN,
0048     .ev_qualifiers = NONE,
0049     .ev_actions    = llc_common_actions_1,
0050 };
0051 
0052 /* State transitions for LLC_CONN_EV_RESET_REQ event */
0053 static const llc_conn_action_t llc_common_actions_2[] = {
0054     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0055     [1] = llc_conn_ac_start_ack_timer,
0056     [2] = llc_conn_ac_stop_other_timers,
0057     [3] = llc_conn_ac_set_retry_cnt_0,
0058     [4] = llc_conn_ac_set_cause_flag_1,
0059     [5] = NULL,
0060 };
0061 
0062 static struct llc_conn_state_trans llc_common_state_trans_2 = {
0063     .ev        = llc_conn_ev_rst_req,
0064     .next_state    = LLC_CONN_STATE_RESET,
0065     .ev_qualifiers = NONE,
0066     .ev_actions    = llc_common_actions_2,
0067 };
0068 
0069 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
0070 static const llc_conn_action_t llc_common_actions_3[] = {
0071     [0] = llc_conn_ac_stop_all_timers,
0072     [1] = llc_conn_ac_set_vs_0,
0073     [2] = llc_conn_ac_set_vr_0,
0074     [3] = llc_conn_ac_send_ua_rsp_f_set_p,
0075     [4] = llc_conn_ac_rst_ind,
0076     [5] = llc_conn_ac_set_p_flag_0,
0077     [6] = llc_conn_ac_set_remote_busy_0,
0078     [7] = llc_conn_reset,
0079     [8] = NULL,
0080 };
0081 
0082 static struct llc_conn_state_trans llc_common_state_trans_3 = {
0083     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
0084     .next_state    = LLC_CONN_STATE_NORMAL,
0085     .ev_qualifiers = NONE,
0086     .ev_actions    = llc_common_actions_3,
0087 };
0088 
0089 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
0090 static const llc_conn_action_t llc_common_actions_4[] = {
0091     [0] = llc_conn_ac_stop_all_timers,
0092     [1] = llc_conn_ac_send_ua_rsp_f_set_p,
0093     [2] = llc_conn_ac_disc_ind,
0094     [3] = llc_conn_disc,
0095     [4] = NULL,
0096 };
0097 
0098 static struct llc_conn_state_trans llc_common_state_trans_4 = {
0099     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
0100     .next_state    = LLC_CONN_STATE_ADM,
0101     .ev_qualifiers = NONE,
0102     .ev_actions    = llc_common_actions_4,
0103 };
0104 
0105 /* State transitions for LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X event */
0106 static const llc_conn_action_t llc_common_actions_5[] = {
0107     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0108     [1] = llc_conn_ac_start_ack_timer,
0109     [2] = llc_conn_ac_stop_other_timers,
0110     [3] = llc_conn_ac_set_retry_cnt_0,
0111     [4] = llc_conn_ac_rst_ind,
0112     [5] = llc_conn_ac_set_cause_flag_0,
0113     [6] = llc_conn_reset,
0114     [7] = NULL,
0115 };
0116 
0117 static struct llc_conn_state_trans llc_common_state_trans_5 = {
0118     .ev        = llc_conn_ev_rx_frmr_rsp_fbit_set_x,
0119     .next_state    = LLC_CONN_STATE_RESET,
0120     .ev_qualifiers = NONE,
0121     .ev_actions    = llc_common_actions_5,
0122 };
0123 
0124 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
0125 static const llc_conn_action_t llc_common_actions_6[] = {
0126     [0] = llc_conn_ac_disc_ind,
0127     [1] = llc_conn_ac_stop_all_timers,
0128     [2] = llc_conn_disc,
0129     [3] = NULL,
0130 };
0131 
0132 static struct llc_conn_state_trans llc_common_state_trans_6 = {
0133     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
0134     .next_state    = LLC_CONN_STATE_ADM,
0135     .ev_qualifiers = NONE,
0136     .ev_actions    = llc_common_actions_6,
0137 };
0138 
0139 /* State transitions for LLC_CONN_EV_RX_ZZZ_CMD_Pbit_SET_X_INVAL_Nr event */
0140 static const llc_conn_action_t llc_common_actions_7a[] = {
0141     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0142     [1] = llc_conn_ac_start_ack_timer,
0143     [2] = llc_conn_ac_stop_other_timers,
0144     [3] = llc_conn_ac_set_retry_cnt_0,
0145     [4] = NULL,
0146 };
0147 
0148 static struct llc_conn_state_trans llc_common_state_trans_7a = {
0149     .ev        = llc_conn_ev_rx_zzz_cmd_pbit_set_x_inval_nr,
0150     .next_state    = LLC_CONN_STATE_ERROR,
0151     .ev_qualifiers = NONE,
0152     .ev_actions    = llc_common_actions_7a,
0153 };
0154 
0155 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_X_INVAL_Ns event */
0156 static const llc_conn_action_t llc_common_actions_7b[] = {
0157     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0158     [1] = llc_conn_ac_start_ack_timer,
0159     [2] = llc_conn_ac_stop_other_timers,
0160     [3] = llc_conn_ac_set_retry_cnt_0,
0161     [4] = NULL,
0162 };
0163 
0164 static struct llc_conn_state_trans llc_common_state_trans_7b = {
0165     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns,
0166     .next_state    = LLC_CONN_STATE_ERROR,
0167     .ev_qualifiers = NONE,
0168     .ev_actions    = llc_common_actions_7b,
0169 };
0170 
0171 /* State transitions for LLC_CONN_EV_RX_ZZZ_RSP_Fbit_SET_X_INVAL_Nr event */
0172 static const llc_conn_action_t llc_common_actions_8a[] = {
0173     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0174     [1] = llc_conn_ac_start_ack_timer,
0175     [2] = llc_conn_ac_stop_other_timers,
0176     [3] = llc_conn_ac_set_retry_cnt_0,
0177     [4] = NULL,
0178 };
0179 
0180 static struct llc_conn_state_trans llc_common_state_trans_8a = {
0181     .ev        = llc_conn_ev_rx_zzz_rsp_fbit_set_x_inval_nr,
0182     .next_state    = LLC_CONN_STATE_ERROR,
0183     .ev_qualifiers = NONE,
0184     .ev_actions    = llc_common_actions_8a,
0185 };
0186 
0187 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_INVAL_Ns event */
0188 static const llc_conn_action_t llc_common_actions_8b[] = {
0189     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0190     [1] = llc_conn_ac_start_ack_timer,
0191     [2] = llc_conn_ac_stop_other_timers,
0192     [3] = llc_conn_ac_set_retry_cnt_0,
0193     [4] = NULL,
0194 };
0195 
0196 static struct llc_conn_state_trans llc_common_state_trans_8b = {
0197     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns,
0198     .next_state    = LLC_CONN_STATE_ERROR,
0199     .ev_qualifiers = NONE,
0200     .ev_actions    = llc_common_actions_8b,
0201 };
0202 
0203 /* State transitions for LLC_CONN_EV_RX_BAD_PDU event */
0204 static const llc_conn_action_t llc_common_actions_8c[] = {
0205     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0206     [1] = llc_conn_ac_start_ack_timer,
0207     [2] = llc_conn_ac_stop_other_timers,
0208     [3] = llc_conn_ac_set_retry_cnt_0,
0209     [4] = NULL,
0210 };
0211 
0212 static struct llc_conn_state_trans llc_common_state_trans_8c = {
0213     .ev        = llc_conn_ev_rx_bad_pdu,
0214     .next_state    = LLC_CONN_STATE_ERROR,
0215     .ev_qualifiers = NONE,
0216     .ev_actions    = llc_common_actions_8c,
0217 };
0218 
0219 /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */
0220 static const llc_conn_action_t llc_common_actions_9[] = {
0221     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0222     [1] = llc_conn_ac_start_ack_timer,
0223     [2] = llc_conn_ac_stop_other_timers,
0224     [3] = llc_conn_ac_set_retry_cnt_0,
0225     [4] = NULL,
0226 };
0227 
0228 static struct llc_conn_state_trans llc_common_state_trans_9 = {
0229     .ev        = llc_conn_ev_rx_ua_rsp_fbit_set_x,
0230     .next_state    = LLC_CONN_STATE_ERROR,
0231     .ev_qualifiers = NONE,
0232     .ev_actions    = llc_common_actions_9,
0233 };
0234 
0235 /* State transitions for LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_1 event */
0236 #if 0
0237 static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_10[] = {
0238     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
0239     [1] = NULL,
0240 };
0241 
0242 static const llc_conn_action_t llc_common_actions_10[] = {
0243     [0] = llc_conn_ac_send_frmr_rsp_f_set_x,
0244     [1] = llc_conn_ac_start_ack_timer,
0245     [2] = llc_conn_ac_stop_other_timers,
0246     [3] = llc_conn_ac_set_retry_cnt_0,
0247     [4] = NULL,
0248 };
0249 
0250 static struct llc_conn_state_trans llc_common_state_trans_10 = {
0251     .ev        = llc_conn_ev_rx_xxx_rsp_fbit_set_1,
0252     .next_state    = LLC_CONN_STATE_ERROR,
0253     .ev_qualifiers = llc_common_ev_qfyrs_10,
0254     .ev_actions    = llc_common_actions_10,
0255 };
0256 #endif
0257 
0258 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
0259 static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11a[] = {
0260     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
0261     [1] = NULL,
0262 };
0263 
0264 static const llc_conn_action_t llc_common_actions_11a[] = {
0265     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0266     [1] = llc_conn_ac_start_ack_timer,
0267     [2] = llc_conn_ac_stop_other_timers,
0268     [3] = llc_conn_ac_set_retry_cnt_0,
0269     [4] = llc_conn_ac_set_cause_flag_0,
0270     [5] = NULL,
0271 };
0272 
0273 static struct llc_conn_state_trans llc_common_state_trans_11a = {
0274     .ev        = llc_conn_ev_p_tmr_exp,
0275     .next_state    = LLC_CONN_STATE_RESET,
0276     .ev_qualifiers = llc_common_ev_qfyrs_11a,
0277     .ev_actions    = llc_common_actions_11a,
0278 };
0279 
0280 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
0281 static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11b[] = {
0282     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
0283     [1] = NULL,
0284 };
0285 
0286 static const llc_conn_action_t llc_common_actions_11b[] = {
0287     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0288     [1] = llc_conn_ac_start_ack_timer,
0289     [2] = llc_conn_ac_stop_other_timers,
0290     [3] = llc_conn_ac_set_retry_cnt_0,
0291     [4] = llc_conn_ac_set_cause_flag_0,
0292     [5] = NULL,
0293 };
0294 
0295 static struct llc_conn_state_trans llc_common_state_trans_11b = {
0296     .ev        = llc_conn_ev_ack_tmr_exp,
0297     .next_state    = LLC_CONN_STATE_RESET,
0298     .ev_qualifiers = llc_common_ev_qfyrs_11b,
0299     .ev_actions    = llc_common_actions_11b,
0300 };
0301 
0302 /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
0303 static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11c[] = {
0304     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
0305     [1] = NULL,
0306 };
0307 
0308 static const llc_conn_action_t llc_common_actions_11c[] = {
0309     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0310     [1] = llc_conn_ac_start_ack_timer,
0311     [2] = llc_conn_ac_stop_other_timers,
0312     [3] = llc_conn_ac_set_retry_cnt_0,
0313     [4] = llc_conn_ac_set_cause_flag_0,
0314     [5] = NULL,
0315 };
0316 
0317 static struct llc_conn_state_trans llc_common_state_trans_11c = {
0318     .ev        = llc_conn_ev_rej_tmr_exp,
0319     .next_state    = LLC_CONN_STATE_RESET,
0320     .ev_qualifiers = llc_common_ev_qfyrs_11c,
0321     .ev_actions    = llc_common_actions_11c,
0322 };
0323 
0324 /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
0325 static const llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11d[] = {
0326     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
0327     [1] = NULL,
0328 };
0329 
0330 static const llc_conn_action_t llc_common_actions_11d[] = {
0331     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0332     [1] = llc_conn_ac_start_ack_timer,
0333     [2] = llc_conn_ac_stop_other_timers,
0334     [3] = llc_conn_ac_set_retry_cnt_0,
0335     [4] = llc_conn_ac_set_cause_flag_0,
0336     [5] = NULL,
0337 };
0338 
0339 static struct llc_conn_state_trans llc_common_state_trans_11d = {
0340     .ev        = llc_conn_ev_busy_tmr_exp,
0341     .next_state    = LLC_CONN_STATE_RESET,
0342     .ev_qualifiers = llc_common_ev_qfyrs_11d,
0343     .ev_actions    = llc_common_actions_11d,
0344 };
0345 
0346 /*
0347  * Common dummy state transition; must be last entry for all state
0348  * transition groups - it'll be on .bss, so will be zeroed.
0349  */
0350 static struct llc_conn_state_trans llc_common_state_trans_end;
0351 
0352 /* LLC_CONN_STATE_ADM transitions */
0353 /* State transitions for LLC_CONN_EV_CONN_REQ event */
0354 static const llc_conn_action_t llc_adm_actions_1[] = {
0355     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0356     [1] = llc_conn_ac_start_ack_timer,
0357     [2] = llc_conn_ac_set_retry_cnt_0,
0358     [3] = llc_conn_ac_set_s_flag_0,
0359     [4] = NULL,
0360 };
0361 
0362 static struct llc_conn_state_trans llc_adm_state_trans_1 = {
0363     .ev        = llc_conn_ev_conn_req,
0364     .next_state    = LLC_CONN_STATE_SETUP,
0365     .ev_qualifiers = NONE,
0366     .ev_actions    = llc_adm_actions_1,
0367 };
0368 
0369 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
0370 static const llc_conn_action_t llc_adm_actions_2[] = {
0371     [0] = llc_conn_ac_send_ua_rsp_f_set_p,
0372     [1] = llc_conn_ac_set_vs_0,
0373     [2] = llc_conn_ac_set_vr_0,
0374     [3] = llc_conn_ac_set_retry_cnt_0,
0375     [4] = llc_conn_ac_set_p_flag_0,
0376     [5] = llc_conn_ac_set_remote_busy_0,
0377     [6] = llc_conn_ac_conn_ind,
0378     [7] = NULL,
0379 };
0380 
0381 static struct llc_conn_state_trans llc_adm_state_trans_2 = {
0382     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
0383     .next_state    = LLC_CONN_STATE_NORMAL,
0384     .ev_qualifiers = NONE,
0385     .ev_actions    = llc_adm_actions_2,
0386 };
0387 
0388 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
0389 static const llc_conn_action_t llc_adm_actions_3[] = {
0390     [0] = llc_conn_ac_send_dm_rsp_f_set_p,
0391     [1] = llc_conn_disc,
0392     [2] = NULL,
0393 };
0394 
0395 static struct llc_conn_state_trans llc_adm_state_trans_3 = {
0396     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
0397     .next_state    = LLC_CONN_STATE_ADM,
0398     .ev_qualifiers = NONE,
0399     .ev_actions    = llc_adm_actions_3,
0400 };
0401 
0402 /* State transitions for LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_1 event */
0403 static const llc_conn_action_t llc_adm_actions_4[] = {
0404     [0] = llc_conn_ac_send_dm_rsp_f_set_1,
0405     [1] = llc_conn_disc,
0406     [2] = NULL,
0407 };
0408 
0409 static struct llc_conn_state_trans llc_adm_state_trans_4 = {
0410     .ev        = llc_conn_ev_rx_xxx_cmd_pbit_set_1,
0411     .next_state    = LLC_CONN_STATE_ADM,
0412     .ev_qualifiers = NONE,
0413     .ev_actions    = llc_adm_actions_4,
0414 };
0415 
0416 /* State transitions for LLC_CONN_EV_RX_XXX_YYY event */
0417 static const llc_conn_action_t llc_adm_actions_5[] = {
0418     [0] = llc_conn_disc,
0419     [1] = NULL,
0420 };
0421 
0422 static struct llc_conn_state_trans llc_adm_state_trans_5 = {
0423     .ev        = llc_conn_ev_rx_any_frame,
0424     .next_state    = LLC_CONN_OUT_OF_SVC,
0425     .ev_qualifiers = NONE,
0426     .ev_actions    = llc_adm_actions_5,
0427 };
0428 
0429 /*
0430  * Array of pointers;
0431  * one to each transition
0432  */
0433 static struct llc_conn_state_trans *llc_adm_state_transitions[] = {
0434     [0] = &llc_adm_state_trans_1,       /* Request */
0435     [1] = &llc_common_state_trans_end,
0436     [2] = &llc_common_state_trans_end,  /* local_busy */
0437     [3] = &llc_common_state_trans_end,  /* init_pf_cycle */
0438     [4] = &llc_common_state_trans_end,  /* timer */
0439     [5] = &llc_adm_state_trans_2,       /* Receive frame */
0440     [6] = &llc_adm_state_trans_3,
0441     [7] = &llc_adm_state_trans_4,
0442     [8] = &llc_adm_state_trans_5,
0443     [9] = &llc_common_state_trans_end,
0444 };
0445 
0446 /* LLC_CONN_STATE_SETUP transitions */
0447 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
0448 static const llc_conn_action_t llc_setup_actions_1[] = {
0449     [0] = llc_conn_ac_send_ua_rsp_f_set_p,
0450     [1] = llc_conn_ac_set_vs_0,
0451     [2] = llc_conn_ac_set_vr_0,
0452     [3] = llc_conn_ac_set_s_flag_1,
0453     [4] = NULL,
0454 };
0455 
0456 static struct llc_conn_state_trans llc_setup_state_trans_1 = {
0457     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
0458     .next_state    = LLC_CONN_STATE_SETUP,
0459     .ev_qualifiers = NONE,
0460     .ev_actions    = llc_setup_actions_1,
0461 };
0462 
0463 /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */
0464 static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_2[] = {
0465     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
0466     [1] = llc_conn_ev_qlfy_set_status_conn,
0467     [2] = NULL,
0468 };
0469 
0470 static const llc_conn_action_t llc_setup_actions_2[] = {
0471     [0] = llc_conn_ac_stop_ack_timer,
0472     [1] = llc_conn_ac_set_vs_0,
0473     [2] = llc_conn_ac_set_vr_0,
0474     [3] = llc_conn_ac_upd_p_flag,
0475     [4] = llc_conn_ac_set_remote_busy_0,
0476     [5] = llc_conn_ac_conn_confirm,
0477     [6] = NULL,
0478 };
0479 
0480 static struct llc_conn_state_trans llc_setup_state_trans_2 = {
0481     .ev        = llc_conn_ev_rx_ua_rsp_fbit_set_x,
0482     .next_state    = LLC_CONN_STATE_NORMAL,
0483     .ev_qualifiers = llc_setup_ev_qfyrs_2,
0484     .ev_actions    = llc_setup_actions_2,
0485 };
0486 
0487 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
0488 static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_3[] = {
0489     [0] = llc_conn_ev_qlfy_s_flag_eq_1,
0490     [1] = llc_conn_ev_qlfy_set_status_conn,
0491     [2] = NULL,
0492 };
0493 
0494 static const llc_conn_action_t llc_setup_actions_3[] = {
0495     [0] = llc_conn_ac_set_p_flag_0,
0496     [1] = llc_conn_ac_set_remote_busy_0,
0497     [2] = llc_conn_ac_conn_confirm,
0498     [3] = NULL,
0499 };
0500 
0501 static struct llc_conn_state_trans llc_setup_state_trans_3 = {
0502     .ev        = llc_conn_ev_ack_tmr_exp,
0503     .next_state    = LLC_CONN_STATE_NORMAL,
0504     .ev_qualifiers = llc_setup_ev_qfyrs_3,
0505     .ev_actions    = llc_setup_actions_3,
0506 };
0507 
0508 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
0509 static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_4[] = {
0510     [0] = llc_conn_ev_qlfy_set_status_disc,
0511     [1] = NULL,
0512 };
0513 
0514 static const llc_conn_action_t llc_setup_actions_4[] = {
0515     [0] = llc_conn_ac_send_dm_rsp_f_set_p,
0516     [1] = llc_conn_ac_stop_ack_timer,
0517     [2] = llc_conn_ac_conn_confirm,
0518     [3] = llc_conn_disc,
0519     [4] = NULL,
0520 };
0521 
0522 static struct llc_conn_state_trans llc_setup_state_trans_4 = {
0523     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
0524     .next_state    = LLC_CONN_STATE_ADM,
0525     .ev_qualifiers = llc_setup_ev_qfyrs_4,
0526     .ev_actions    = llc_setup_actions_4,
0527 };
0528 
0529 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
0530 static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_5[] = {
0531     [0] = llc_conn_ev_qlfy_set_status_disc,
0532     [1] = NULL,
0533 };
0534 
0535 static const llc_conn_action_t llc_setup_actions_5[] = {
0536     [0] = llc_conn_ac_stop_ack_timer,
0537     [1] = llc_conn_ac_conn_confirm,
0538     [2] = llc_conn_disc,
0539     [3] = NULL,
0540 };
0541 
0542 static struct llc_conn_state_trans llc_setup_state_trans_5 = {
0543     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
0544     .next_state    = LLC_CONN_STATE_ADM,
0545     .ev_qualifiers = llc_setup_ev_qfyrs_5,
0546     .ev_actions    = llc_setup_actions_5,
0547 };
0548 
0549 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
0550 static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_7[] = {
0551     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
0552     [1] = llc_conn_ev_qlfy_s_flag_eq_0,
0553     [2] = NULL,
0554 };
0555 
0556 static const llc_conn_action_t llc_setup_actions_7[] = {
0557     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
0558     [1] = llc_conn_ac_start_ack_timer,
0559     [2] = llc_conn_ac_inc_retry_cnt_by_1,
0560     [3] = NULL,
0561 };
0562 
0563 static struct llc_conn_state_trans llc_setup_state_trans_7 = {
0564     .ev        = llc_conn_ev_ack_tmr_exp,
0565     .next_state    = LLC_CONN_STATE_SETUP,
0566     .ev_qualifiers = llc_setup_ev_qfyrs_7,
0567     .ev_actions    = llc_setup_actions_7,
0568 };
0569 
0570 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
0571 static const llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_8[] = {
0572     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
0573     [1] = llc_conn_ev_qlfy_s_flag_eq_0,
0574     [2] = llc_conn_ev_qlfy_set_status_failed,
0575     [3] = NULL,
0576 };
0577 
0578 static const llc_conn_action_t llc_setup_actions_8[] = {
0579     [0] = llc_conn_ac_conn_confirm,
0580     [1] = llc_conn_disc,
0581     [2] = NULL,
0582 };
0583 
0584 static struct llc_conn_state_trans llc_setup_state_trans_8 = {
0585     .ev        = llc_conn_ev_ack_tmr_exp,
0586     .next_state    = LLC_CONN_STATE_ADM,
0587     .ev_qualifiers = llc_setup_ev_qfyrs_8,
0588     .ev_actions    = llc_setup_actions_8,
0589 };
0590 
0591 /*
0592  * Array of pointers;
0593  * one to each transition
0594  */
0595 static struct llc_conn_state_trans *llc_setup_state_transitions[] = {
0596      [0] = &llc_common_state_trans_end, /* Request */
0597      [1] = &llc_common_state_trans_end, /* local busy */
0598      [2] = &llc_common_state_trans_end, /* init_pf_cycle */
0599      [3] = &llc_setup_state_trans_3,    /* Timer */
0600      [4] = &llc_setup_state_trans_7,
0601      [5] = &llc_setup_state_trans_8,
0602      [6] = &llc_common_state_trans_end,
0603      [7] = &llc_setup_state_trans_1,    /* Receive frame */
0604      [8] = &llc_setup_state_trans_2,
0605      [9] = &llc_setup_state_trans_4,
0606     [10] = &llc_setup_state_trans_5,
0607     [11] = &llc_common_state_trans_end,
0608 };
0609 
0610 /* LLC_CONN_STATE_NORMAL transitions */
0611 /* State transitions for LLC_CONN_EV_DATA_REQ event */
0612 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_1[] = {
0613     [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
0614     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
0615     [2] = llc_conn_ev_qlfy_last_frame_eq_0,
0616     [3] = NULL,
0617 };
0618 
0619 static const llc_conn_action_t llc_normal_actions_1[] = {
0620     [0] = llc_conn_ac_send_i_as_ack,
0621     [1] = llc_conn_ac_start_ack_tmr_if_not_running,
0622     [2] = NULL,
0623 };
0624 
0625 static struct llc_conn_state_trans llc_normal_state_trans_1 = {
0626     .ev        = llc_conn_ev_data_req,
0627     .next_state    = LLC_CONN_STATE_NORMAL,
0628     .ev_qualifiers = llc_normal_ev_qfyrs_1,
0629     .ev_actions    = llc_normal_actions_1,
0630 };
0631 
0632 /* State transitions for LLC_CONN_EV_DATA_REQ event */
0633 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2[] = {
0634     [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
0635     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
0636     [2] = llc_conn_ev_qlfy_last_frame_eq_1,
0637     [3] = NULL,
0638 };
0639 
0640 static const llc_conn_action_t llc_normal_actions_2[] = {
0641     [0] = llc_conn_ac_send_i_cmd_p_set_1,
0642     [1] = llc_conn_ac_start_p_timer,
0643     [2] = NULL,
0644 };
0645 
0646 static struct llc_conn_state_trans llc_normal_state_trans_2 = {
0647     .ev        = llc_conn_ev_data_req,
0648     .next_state    = LLC_CONN_STATE_NORMAL,
0649     .ev_qualifiers = llc_normal_ev_qfyrs_2,
0650     .ev_actions    = llc_normal_actions_2,
0651 };
0652 
0653 /* State transitions for LLC_CONN_EV_DATA_REQ event */
0654 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2_1[] = {
0655     [0] = llc_conn_ev_qlfy_remote_busy_eq_1,
0656     [1] = llc_conn_ev_qlfy_set_status_remote_busy,
0657     [2] = NULL,
0658 };
0659 
0660 /* just one member, NULL, .bss zeroes it */
0661 static const llc_conn_action_t llc_normal_actions_2_1[1];
0662 
0663 static struct llc_conn_state_trans llc_normal_state_trans_2_1 = {
0664     .ev        = llc_conn_ev_data_req,
0665     .next_state    = LLC_CONN_STATE_NORMAL,
0666     .ev_qualifiers = llc_normal_ev_qfyrs_2_1,
0667     .ev_actions    = llc_normal_actions_2_1,
0668 };
0669 
0670 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
0671 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_3[] = {
0672     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
0673     [1] = NULL,
0674 };
0675 
0676 static const llc_conn_action_t llc_normal_actions_3[] = {
0677     [0] = llc_conn_ac_rst_sendack_flag,
0678     [1] = llc_conn_ac_send_rnr_xxx_x_set_0,
0679     [2] = llc_conn_ac_set_data_flag_0,
0680     [3] = NULL,
0681 };
0682 
0683 static struct llc_conn_state_trans llc_normal_state_trans_3 = {
0684     .ev        = llc_conn_ev_local_busy_detected,
0685     .next_state    = LLC_CONN_STATE_BUSY,
0686     .ev_qualifiers = llc_normal_ev_qfyrs_3,
0687     .ev_actions    = llc_normal_actions_3,
0688 };
0689 
0690 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
0691 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_4[] = {
0692     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0693     [1] = NULL,
0694 };
0695 
0696 static const llc_conn_action_t llc_normal_actions_4[] = {
0697     [0] = llc_conn_ac_rst_sendack_flag,
0698     [1] = llc_conn_ac_send_rnr_xxx_x_set_0,
0699     [2] = llc_conn_ac_set_data_flag_0,
0700     [3] = NULL,
0701 };
0702 
0703 static struct llc_conn_state_trans llc_normal_state_trans_4 = {
0704     .ev        = llc_conn_ev_local_busy_detected,
0705     .next_state    = LLC_CONN_STATE_BUSY,
0706     .ev_qualifiers = llc_normal_ev_qfyrs_4,
0707     .ev_actions    = llc_normal_actions_4,
0708 };
0709 
0710 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
0711 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5a[] = {
0712     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
0713     [1] = NULL,
0714 };
0715 
0716 static const llc_conn_action_t llc_normal_actions_5a[] = {
0717     [0] = llc_conn_ac_rst_sendack_flag,
0718     [1] = llc_conn_ac_send_rej_xxx_x_set_0,
0719     [2] = llc_conn_ac_upd_nr_received,
0720     [3] = llc_conn_ac_upd_p_flag,
0721     [4] = llc_conn_ac_start_rej_timer,
0722     [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
0723     [6] = NULL,
0724 };
0725 
0726 static struct llc_conn_state_trans llc_normal_state_trans_5a = {
0727     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
0728     .next_state    = LLC_CONN_STATE_REJ,
0729     .ev_qualifiers = llc_normal_ev_qfyrs_5a,
0730     .ev_actions    = llc_normal_actions_5a,
0731 };
0732 
0733 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
0734 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5b[] = {
0735     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
0736     [1] = NULL,
0737 };
0738 
0739 static const llc_conn_action_t llc_normal_actions_5b[] = {
0740     [0] = llc_conn_ac_rst_sendack_flag,
0741     [1] = llc_conn_ac_send_rej_xxx_x_set_0,
0742     [2] = llc_conn_ac_upd_nr_received,
0743     [3] = llc_conn_ac_upd_p_flag,
0744     [4] = llc_conn_ac_start_rej_timer,
0745     [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
0746     [6] = NULL,
0747 };
0748 
0749 static struct llc_conn_state_trans llc_normal_state_trans_5b = {
0750     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
0751     .next_state    = LLC_CONN_STATE_REJ,
0752     .ev_qualifiers = llc_normal_ev_qfyrs_5b,
0753     .ev_actions    = llc_normal_actions_5b,
0754 };
0755 
0756 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
0757 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5c[] = {
0758     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0759     [1] = NULL,
0760 };
0761 
0762 static const llc_conn_action_t llc_normal_actions_5c[] = {
0763     [0] = llc_conn_ac_rst_sendack_flag,
0764     [1] = llc_conn_ac_send_rej_xxx_x_set_0,
0765     [2] = llc_conn_ac_upd_nr_received,
0766     [3] = llc_conn_ac_upd_p_flag,
0767     [4] = llc_conn_ac_start_rej_timer,
0768     [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
0769     [6] = NULL,
0770 };
0771 
0772 static struct llc_conn_state_trans llc_normal_state_trans_5c = {
0773     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
0774     .next_state    = LLC_CONN_STATE_REJ,
0775     .ev_qualifiers = llc_normal_ev_qfyrs_5c,
0776     .ev_actions    = llc_normal_actions_5c,
0777 };
0778 
0779 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
0780 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6a[] = {
0781     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0782     [1] = NULL,
0783 };
0784 
0785 static const llc_conn_action_t llc_normal_actions_6a[] = {
0786     [0] = llc_conn_ac_rst_sendack_flag,
0787     [1] = llc_conn_ac_send_rej_xxx_x_set_0,
0788     [2] = llc_conn_ac_upd_nr_received,
0789     [3] = llc_conn_ac_start_rej_timer,
0790     [4] = NULL,
0791 };
0792 
0793 static struct llc_conn_state_trans llc_normal_state_trans_6a = {
0794     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
0795     .next_state    = LLC_CONN_STATE_REJ,
0796     .ev_qualifiers = llc_normal_ev_qfyrs_6a,
0797     .ev_actions    = llc_normal_actions_6a,
0798 };
0799 
0800 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
0801 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6b[] = {
0802     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0803     [1] = NULL,
0804 };
0805 
0806 static const llc_conn_action_t llc_normal_actions_6b[] = {
0807     [0] = llc_conn_ac_rst_sendack_flag,
0808     [1] = llc_conn_ac_send_rej_xxx_x_set_0,
0809     [2] = llc_conn_ac_upd_nr_received,
0810     [3] = llc_conn_ac_start_rej_timer,
0811     [4] = NULL,
0812 };
0813 
0814 static struct llc_conn_state_trans llc_normal_state_trans_6b = {
0815     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
0816     .next_state    = LLC_CONN_STATE_REJ,
0817     .ev_qualifiers = llc_normal_ev_qfyrs_6b,
0818     .ev_actions    = llc_normal_actions_6b,
0819 };
0820 
0821 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
0822 static const llc_conn_action_t llc_normal_actions_7[] = {
0823     [0] = llc_conn_ac_rst_sendack_flag,
0824     [1] = llc_conn_ac_send_rej_rsp_f_set_1,
0825     [2] = llc_conn_ac_upd_nr_received,
0826     [3] = llc_conn_ac_start_rej_timer,
0827     [4] = NULL,
0828 };
0829 
0830 static struct llc_conn_state_trans llc_normal_state_trans_7 = {
0831     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
0832     .next_state    = LLC_CONN_STATE_REJ,
0833     .ev_qualifiers = NONE,
0834     .ev_actions    = llc_normal_actions_7,
0835 };
0836 
0837 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
0838 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8a[] = {
0839     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
0840     [1] = NULL,
0841 };
0842 
0843 static const llc_conn_action_t llc_normal_actions_8[] = {
0844     [0] = llc_conn_ac_inc_vr_by_1,
0845     [1] = llc_conn_ac_data_ind,
0846     [2] = llc_conn_ac_upd_p_flag,
0847     [3] = llc_conn_ac_upd_nr_received,
0848     [4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
0849     [5] = llc_conn_ac_send_ack_if_needed,
0850     [6] = NULL,
0851 };
0852 
0853 static struct llc_conn_state_trans llc_normal_state_trans_8a = {
0854     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_x,
0855     .next_state    = LLC_CONN_STATE_NORMAL,
0856     .ev_qualifiers = llc_normal_ev_qfyrs_8a,
0857     .ev_actions    = llc_normal_actions_8,
0858 };
0859 
0860 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
0861 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8b[] = {
0862     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
0863     [1] = NULL,
0864 };
0865 
0866 static struct llc_conn_state_trans llc_normal_state_trans_8b = {
0867     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
0868     .next_state    = LLC_CONN_STATE_NORMAL,
0869     .ev_qualifiers = llc_normal_ev_qfyrs_8b,
0870     .ev_actions    = llc_normal_actions_8,
0871 };
0872 
0873 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
0874 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9a[] = {
0875     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0876     [1] = NULL,
0877 };
0878 
0879 static const llc_conn_action_t llc_normal_actions_9a[] = {
0880     [0] = llc_conn_ac_inc_vr_by_1,
0881     [1] = llc_conn_ac_upd_nr_received,
0882     [2] = llc_conn_ac_data_ind,
0883     [3] = llc_conn_ac_send_ack_if_needed,
0884     [4] = NULL,
0885 };
0886 
0887 static struct llc_conn_state_trans llc_normal_state_trans_9a = {
0888     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0,
0889     .next_state    = LLC_CONN_STATE_NORMAL,
0890     .ev_qualifiers = llc_normal_ev_qfyrs_9a,
0891     .ev_actions    = llc_normal_actions_9a,
0892 };
0893 
0894 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
0895 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9b[] = {
0896     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0897     [1] = NULL,
0898 };
0899 
0900 static const llc_conn_action_t llc_normal_actions_9b[] = {
0901     [0] = llc_conn_ac_inc_vr_by_1,
0902     [1] = llc_conn_ac_upd_nr_received,
0903     [2] = llc_conn_ac_data_ind,
0904     [3] = llc_conn_ac_send_ack_if_needed,
0905     [4] = NULL,
0906 };
0907 
0908 static struct llc_conn_state_trans llc_normal_state_trans_9b = {
0909     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
0910     .next_state    = LLC_CONN_STATE_NORMAL,
0911     .ev_qualifiers = llc_normal_ev_qfyrs_9b,
0912     .ev_actions    = llc_normal_actions_9b,
0913 };
0914 
0915 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
0916 static const llc_conn_action_t llc_normal_actions_10[] = {
0917     [0] = llc_conn_ac_inc_vr_by_1,
0918     [1] = llc_conn_ac_send_ack_rsp_f_set_1,
0919     [2] = llc_conn_ac_rst_sendack_flag,
0920     [3] = llc_conn_ac_upd_nr_received,
0921     [4] = llc_conn_ac_data_ind,
0922     [5] = NULL,
0923 };
0924 
0925 static struct llc_conn_state_trans llc_normal_state_trans_10 = {
0926     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1,
0927     .next_state    = LLC_CONN_STATE_NORMAL,
0928     .ev_qualifiers = NONE,
0929     .ev_actions    = llc_normal_actions_10,
0930 };
0931 
0932 /* State transitions for * LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
0933 static const llc_conn_action_t llc_normal_actions_11a[] = {
0934     [0] = llc_conn_ac_upd_p_flag,
0935     [1] = llc_conn_ac_upd_nr_received,
0936     [2] = llc_conn_ac_clear_remote_busy,
0937     [3] = NULL,
0938 };
0939 
0940 static struct llc_conn_state_trans llc_normal_state_trans_11a = {
0941     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_0,
0942     .next_state    = LLC_CONN_STATE_NORMAL,
0943     .ev_qualifiers = NONE,
0944     .ev_actions    = llc_normal_actions_11a,
0945 };
0946 
0947 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
0948 static const llc_conn_action_t llc_normal_actions_11b[] = {
0949     [0] = llc_conn_ac_upd_p_flag,
0950     [1] = llc_conn_ac_upd_nr_received,
0951     [2] = llc_conn_ac_clear_remote_busy,
0952     [3] = NULL,
0953 };
0954 
0955 static struct llc_conn_state_trans llc_normal_state_trans_11b = {
0956     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_0,
0957     .next_state    = LLC_CONN_STATE_NORMAL,
0958     .ev_qualifiers = NONE,
0959     .ev_actions    = llc_normal_actions_11b,
0960 };
0961 
0962 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
0963 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_11c[] = {
0964     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
0965     [1] = NULL,
0966 };
0967 
0968 static const llc_conn_action_t llc_normal_actions_11c[] = {
0969     [0] = llc_conn_ac_upd_p_flag,
0970     [1] = llc_conn_ac_upd_nr_received,
0971     [2] = llc_conn_ac_inc_tx_win_size,
0972     [3] = llc_conn_ac_clear_remote_busy,
0973     [4] = NULL,
0974 };
0975 
0976 static struct llc_conn_state_trans llc_normal_state_trans_11c = {
0977     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_1,
0978     .next_state    = LLC_CONN_STATE_NORMAL,
0979     .ev_qualifiers = llc_normal_ev_qfyrs_11c,
0980     .ev_actions    = llc_normal_actions_11c,
0981 };
0982 
0983 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
0984 static const llc_conn_action_t llc_normal_actions_12[] = {
0985     [0] = llc_conn_ac_send_ack_rsp_f_set_1,
0986     [1] = llc_conn_ac_upd_nr_received,
0987     [2] = llc_conn_ac_adjust_npta_by_rr,
0988     [3] = llc_conn_ac_rst_sendack_flag,
0989     [4] = llc_conn_ac_clear_remote_busy,
0990     [5] = NULL,
0991 };
0992 
0993 static struct llc_conn_state_trans llc_normal_state_trans_12 = {
0994     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_1,
0995     .next_state    = LLC_CONN_STATE_NORMAL,
0996     .ev_qualifiers = NONE,
0997     .ev_actions    = llc_normal_actions_12,
0998 };
0999 
1000 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
1001 static const llc_conn_action_t llc_normal_actions_13a[] = {
1002     [0] = llc_conn_ac_upd_p_flag,
1003     [1] = llc_conn_ac_upd_nr_received,
1004     [2] = llc_conn_ac_set_remote_busy,
1005     [3] = NULL,
1006 };
1007 
1008 static struct llc_conn_state_trans llc_normal_state_trans_13a = {
1009     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
1010     .next_state    = LLC_CONN_STATE_NORMAL,
1011     .ev_qualifiers = NONE,
1012     .ev_actions    = llc_normal_actions_13a,
1013 };
1014 
1015 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
1016 static const llc_conn_action_t llc_normal_actions_13b[] = {
1017     [0] = llc_conn_ac_upd_p_flag,
1018     [1] = llc_conn_ac_upd_nr_received,
1019     [2] = llc_conn_ac_set_remote_busy,
1020     [3] = NULL,
1021 };
1022 
1023 static struct llc_conn_state_trans llc_normal_state_trans_13b = {
1024     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
1025     .next_state    = LLC_CONN_STATE_NORMAL,
1026     .ev_qualifiers = NONE,
1027     .ev_actions    = llc_normal_actions_13b,
1028 };
1029 
1030 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
1031 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_13c[] = {
1032     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1033     [1] = NULL,
1034 };
1035 
1036 static const llc_conn_action_t llc_normal_actions_13c[] = {
1037     [0] = llc_conn_ac_upd_p_flag,
1038     [1] = llc_conn_ac_upd_nr_received,
1039     [2] = llc_conn_ac_set_remote_busy,
1040     [3] = NULL,
1041 };
1042 
1043 static struct llc_conn_state_trans llc_normal_state_trans_13c = {
1044     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
1045     .next_state    = LLC_CONN_STATE_NORMAL,
1046     .ev_qualifiers = llc_normal_ev_qfyrs_13c,
1047     .ev_actions    = llc_normal_actions_13c,
1048 };
1049 
1050 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
1051 static const llc_conn_action_t llc_normal_actions_14[] = {
1052     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
1053     [1] = llc_conn_ac_upd_nr_received,
1054     [2] = llc_conn_ac_adjust_npta_by_rnr,
1055     [3] = llc_conn_ac_rst_sendack_flag,
1056     [4] = llc_conn_ac_set_remote_busy,
1057     [5] = NULL,
1058 };
1059 
1060 static struct llc_conn_state_trans llc_normal_state_trans_14 = {
1061     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
1062     .next_state    = LLC_CONN_STATE_NORMAL,
1063     .ev_qualifiers = NONE,
1064     .ev_actions    = llc_normal_actions_14,
1065 };
1066 
1067 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1068 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15a[] = {
1069     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1070     [1] = NULL,
1071 };
1072 
1073 static const llc_conn_action_t llc_normal_actions_15a[] = {
1074     [0] = llc_conn_ac_set_vs_nr,
1075     [1] = llc_conn_ac_upd_nr_received,
1076     [2] = llc_conn_ac_upd_p_flag,
1077     [3] = llc_conn_ac_dec_tx_win_size,
1078     [4] = llc_conn_ac_resend_i_xxx_x_set_0,
1079     [5] = llc_conn_ac_clear_remote_busy,
1080     [6] = NULL,
1081 };
1082 
1083 static struct llc_conn_state_trans llc_normal_state_trans_15a = {
1084     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1085     .next_state    = LLC_CONN_STATE_NORMAL,
1086     .ev_qualifiers = llc_normal_ev_qfyrs_15a,
1087     .ev_actions    = llc_normal_actions_15a,
1088 };
1089 
1090 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
1091 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15b[] = {
1092     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
1093     [1] = NULL,
1094 };
1095 
1096 static const llc_conn_action_t llc_normal_actions_15b[] = {
1097     [0] = llc_conn_ac_set_vs_nr,
1098     [1] = llc_conn_ac_upd_nr_received,
1099     [2] = llc_conn_ac_upd_p_flag,
1100     [3] = llc_conn_ac_dec_tx_win_size,
1101     [4] = llc_conn_ac_resend_i_xxx_x_set_0,
1102     [5] = llc_conn_ac_clear_remote_busy,
1103     [6] = NULL,
1104 };
1105 
1106 static struct llc_conn_state_trans llc_normal_state_trans_15b = {
1107     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_x,
1108     .next_state    = LLC_CONN_STATE_NORMAL,
1109     .ev_qualifiers = llc_normal_ev_qfyrs_15b,
1110     .ev_actions    = llc_normal_actions_15b,
1111 };
1112 
1113 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1114 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16a[] = {
1115     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1116     [1] = NULL,
1117 };
1118 
1119 static const llc_conn_action_t llc_normal_actions_16a[] = {
1120     [0] = llc_conn_ac_set_vs_nr,
1121     [1] = llc_conn_ac_upd_nr_received,
1122     [2] = llc_conn_ac_dec_tx_win_size,
1123     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
1124     [4] = llc_conn_ac_clear_remote_busy,
1125     [5] = NULL,
1126 };
1127 
1128 static struct llc_conn_state_trans llc_normal_state_trans_16a = {
1129     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1130     .next_state    = LLC_CONN_STATE_NORMAL,
1131     .ev_qualifiers = llc_normal_ev_qfyrs_16a,
1132     .ev_actions    = llc_normal_actions_16a,
1133 };
1134 
1135 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
1136 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16b[] = {
1137     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1138     [1] = NULL,
1139 };
1140 
1141 static const llc_conn_action_t llc_normal_actions_16b[] = {
1142     [0] = llc_conn_ac_set_vs_nr,
1143     [1] = llc_conn_ac_upd_nr_received,
1144     [2] = llc_conn_ac_dec_tx_win_size,
1145     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
1146     [4] = llc_conn_ac_clear_remote_busy,
1147     [5] = NULL,
1148 };
1149 
1150 static struct llc_conn_state_trans llc_normal_state_trans_16b = {
1151     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_0,
1152     .next_state    = LLC_CONN_STATE_NORMAL,
1153     .ev_qualifiers = llc_normal_ev_qfyrs_16b,
1154     .ev_actions    = llc_normal_actions_16b,
1155 };
1156 
1157 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
1158 static const llc_conn_action_t llc_normal_actions_17[] = {
1159     [0] = llc_conn_ac_set_vs_nr,
1160     [1] = llc_conn_ac_upd_nr_received,
1161     [2] = llc_conn_ac_dec_tx_win_size,
1162     [3] = llc_conn_ac_resend_i_rsp_f_set_1,
1163     [4] = llc_conn_ac_clear_remote_busy,
1164     [5] = NULL,
1165 };
1166 
1167 static struct llc_conn_state_trans llc_normal_state_trans_17 = {
1168     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_1,
1169     .next_state    = LLC_CONN_STATE_NORMAL,
1170     .ev_qualifiers = NONE,
1171     .ev_actions    = llc_normal_actions_17,
1172 };
1173 
1174 /* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
1175 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_18[] = {
1176     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1177     [1] = NULL,
1178 };
1179 
1180 static const llc_conn_action_t llc_normal_actions_18[] = {
1181     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
1182     [1] = llc_conn_ac_start_p_timer,
1183     [2] = NULL,
1184 };
1185 
1186 static struct llc_conn_state_trans llc_normal_state_trans_18 = {
1187     .ev        = llc_conn_ev_init_p_f_cycle,
1188     .next_state    = LLC_CONN_STATE_NORMAL,
1189     .ev_qualifiers = llc_normal_ev_qfyrs_18,
1190     .ev_actions    = llc_normal_actions_18,
1191 };
1192 
1193 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
1194 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_19[] = {
1195     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1196     [1] = NULL,
1197 };
1198 
1199 static const llc_conn_action_t llc_normal_actions_19[] = {
1200     [0] = llc_conn_ac_rst_sendack_flag,
1201     [1] = llc_conn_ac_send_rr_cmd_p_set_1,
1202     [2] = llc_conn_ac_rst_vs,
1203     [3] = llc_conn_ac_start_p_timer,
1204     [4] = llc_conn_ac_inc_retry_cnt_by_1,
1205     [5] = NULL,
1206 };
1207 
1208 static struct llc_conn_state_trans llc_normal_state_trans_19 = {
1209     .ev        = llc_conn_ev_p_tmr_exp,
1210     .next_state    = LLC_CONN_STATE_AWAIT,
1211     .ev_qualifiers = llc_normal_ev_qfyrs_19,
1212     .ev_actions    = llc_normal_actions_19,
1213 };
1214 
1215 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
1216 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20a[] = {
1217     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1218     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1219     [2] = NULL,
1220 };
1221 
1222 static const llc_conn_action_t llc_normal_actions_20a[] = {
1223     [0] = llc_conn_ac_rst_sendack_flag,
1224     [1] = llc_conn_ac_send_rr_cmd_p_set_1,
1225     [2] = llc_conn_ac_rst_vs,
1226     [3] = llc_conn_ac_start_p_timer,
1227     [4] = llc_conn_ac_inc_retry_cnt_by_1,
1228     [5] = NULL,
1229 };
1230 
1231 static struct llc_conn_state_trans llc_normal_state_trans_20a = {
1232     .ev        = llc_conn_ev_ack_tmr_exp,
1233     .next_state    = LLC_CONN_STATE_AWAIT,
1234     .ev_qualifiers = llc_normal_ev_qfyrs_20a,
1235     .ev_actions    = llc_normal_actions_20a,
1236 };
1237 
1238 /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
1239 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20b[] = {
1240     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1241     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1242     [2] = NULL,
1243 };
1244 
1245 static const llc_conn_action_t llc_normal_actions_20b[] = {
1246     [0] = llc_conn_ac_rst_sendack_flag,
1247     [1] = llc_conn_ac_send_rr_cmd_p_set_1,
1248     [2] = llc_conn_ac_rst_vs,
1249     [3] = llc_conn_ac_start_p_timer,
1250     [4] = llc_conn_ac_inc_retry_cnt_by_1,
1251     [5] = NULL,
1252 };
1253 
1254 static struct llc_conn_state_trans llc_normal_state_trans_20b = {
1255     .ev        = llc_conn_ev_busy_tmr_exp,
1256     .next_state    = LLC_CONN_STATE_AWAIT,
1257     .ev_qualifiers = llc_normal_ev_qfyrs_20b,
1258     .ev_actions    = llc_normal_actions_20b,
1259 };
1260 
1261 /* State transitions for LLC_CONN_EV_TX_BUFF_FULL event */
1262 static const llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_21[] = {
1263     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1264     [1] = NULL,
1265 };
1266 
1267 static const llc_conn_action_t llc_normal_actions_21[] = {
1268     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
1269     [1] = llc_conn_ac_start_p_timer,
1270     [2] = NULL,
1271 };
1272 
1273 static struct llc_conn_state_trans llc_normal_state_trans_21 = {
1274     .ev        = llc_conn_ev_tx_buffer_full,
1275     .next_state    = LLC_CONN_STATE_NORMAL,
1276     .ev_qualifiers = llc_normal_ev_qfyrs_21,
1277     .ev_actions    = llc_normal_actions_21,
1278 };
1279 
1280 /*
1281  * Array of pointers;
1282  * one to each transition
1283  */
1284 static struct llc_conn_state_trans *llc_normal_state_transitions[] = {
1285      [0] = &llc_normal_state_trans_1,   /* Requests */
1286      [1] = &llc_normal_state_trans_2,
1287      [2] = &llc_normal_state_trans_2_1,
1288      [3] = &llc_common_state_trans_1,
1289      [4] = &llc_common_state_trans_2,
1290      [5] = &llc_common_state_trans_end,
1291      [6] = &llc_normal_state_trans_21,
1292      [7] = &llc_normal_state_trans_3,   /* Local busy */
1293      [8] = &llc_normal_state_trans_4,
1294      [9] = &llc_common_state_trans_end,
1295     [10] = &llc_normal_state_trans_18,  /* Init pf cycle */
1296     [11] = &llc_common_state_trans_end,
1297     [12] = &llc_common_state_trans_11a, /* Timers */
1298     [13] = &llc_common_state_trans_11b,
1299     [14] = &llc_common_state_trans_11c,
1300     [15] = &llc_common_state_trans_11d,
1301     [16] = &llc_normal_state_trans_19,
1302     [17] = &llc_normal_state_trans_20a,
1303     [18] = &llc_normal_state_trans_20b,
1304     [19] = &llc_common_state_trans_end,
1305     [20] = &llc_normal_state_trans_8b,  /* Receive frames */
1306     [21] = &llc_normal_state_trans_9b,
1307     [22] = &llc_normal_state_trans_10,
1308     [23] = &llc_normal_state_trans_11b,
1309     [24] = &llc_normal_state_trans_11c,
1310     [25] = &llc_normal_state_trans_5a,
1311     [26] = &llc_normal_state_trans_5b,
1312     [27] = &llc_normal_state_trans_5c,
1313     [28] = &llc_normal_state_trans_6a,
1314     [29] = &llc_normal_state_trans_6b,
1315     [30] = &llc_normal_state_trans_7,
1316     [31] = &llc_normal_state_trans_8a,
1317     [32] = &llc_normal_state_trans_9a,
1318     [33] = &llc_normal_state_trans_11a,
1319     [34] = &llc_normal_state_trans_12,
1320     [35] = &llc_normal_state_trans_13a,
1321     [36] = &llc_normal_state_trans_13b,
1322     [37] = &llc_normal_state_trans_13c,
1323     [38] = &llc_normal_state_trans_14,
1324     [39] = &llc_normal_state_trans_15a,
1325     [40] = &llc_normal_state_trans_15b,
1326     [41] = &llc_normal_state_trans_16a,
1327     [42] = &llc_normal_state_trans_16b,
1328     [43] = &llc_normal_state_trans_17,
1329     [44] = &llc_common_state_trans_3,
1330     [45] = &llc_common_state_trans_4,
1331     [46] = &llc_common_state_trans_5,
1332     [47] = &llc_common_state_trans_6,
1333     [48] = &llc_common_state_trans_7a,
1334     [49] = &llc_common_state_trans_7b,
1335     [50] = &llc_common_state_trans_8a,
1336     [51] = &llc_common_state_trans_8b,
1337     [52] = &llc_common_state_trans_8c,
1338     [53] = &llc_common_state_trans_9,
1339     /* [54] = &llc_common_state_trans_10, */
1340     [54] = &llc_common_state_trans_end,
1341 };
1342 
1343 /* LLC_CONN_STATE_BUSY transitions */
1344 /* State transitions for LLC_CONN_EV_DATA_REQ event */
1345 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_1[] = {
1346     [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
1347     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
1348     [2] = NULL,
1349 };
1350 
1351 static const llc_conn_action_t llc_busy_actions_1[] = {
1352     [0] = llc_conn_ac_send_i_xxx_x_set_0,
1353     [1] = llc_conn_ac_start_ack_tmr_if_not_running,
1354     [2] = NULL,
1355 };
1356 
1357 static struct llc_conn_state_trans llc_busy_state_trans_1 = {
1358     .ev        = llc_conn_ev_data_req,
1359     .next_state    = LLC_CONN_STATE_BUSY,
1360     .ev_qualifiers = llc_busy_ev_qfyrs_1,
1361     .ev_actions    = llc_busy_actions_1,
1362 };
1363 
1364 /* State transitions for LLC_CONN_EV_DATA_REQ event */
1365 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2[] = {
1366     [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
1367     [1] = llc_conn_ev_qlfy_p_flag_eq_1,
1368     [2] = NULL,
1369 };
1370 
1371 static const llc_conn_action_t llc_busy_actions_2[] = {
1372     [0] = llc_conn_ac_send_i_xxx_x_set_0,
1373     [1] = llc_conn_ac_start_ack_tmr_if_not_running,
1374     [2] = NULL,
1375 };
1376 
1377 static struct llc_conn_state_trans llc_busy_state_trans_2 = {
1378     .ev        = llc_conn_ev_data_req,
1379     .next_state    = LLC_CONN_STATE_BUSY,
1380     .ev_qualifiers = llc_busy_ev_qfyrs_2,
1381     .ev_actions    = llc_busy_actions_2,
1382 };
1383 
1384 /* State transitions for LLC_CONN_EV_DATA_REQ event */
1385 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2_1[] = {
1386     [0] = llc_conn_ev_qlfy_remote_busy_eq_1,
1387     [1] = llc_conn_ev_qlfy_set_status_remote_busy,
1388     [2] = NULL,
1389 };
1390 
1391 /* just one member, NULL, .bss zeroes it */
1392 static const llc_conn_action_t llc_busy_actions_2_1[1];
1393 
1394 static struct llc_conn_state_trans llc_busy_state_trans_2_1 = {
1395     .ev        = llc_conn_ev_data_req,
1396     .next_state    = LLC_CONN_STATE_BUSY,
1397     .ev_qualifiers = llc_busy_ev_qfyrs_2_1,
1398     .ev_actions    = llc_busy_actions_2_1,
1399 };
1400 
1401 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1402 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_3[] = {
1403     [0] = llc_conn_ev_qlfy_data_flag_eq_1,
1404     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
1405     [2] = NULL,
1406 };
1407 
1408 static const llc_conn_action_t llc_busy_actions_3[] = {
1409     [0] = llc_conn_ac_send_rej_xxx_x_set_0,
1410     [1] = llc_conn_ac_start_rej_timer,
1411     [2] = NULL,
1412 };
1413 
1414 static struct llc_conn_state_trans llc_busy_state_trans_3 = {
1415     .ev        = llc_conn_ev_local_busy_cleared,
1416     .next_state    = LLC_CONN_STATE_REJ,
1417     .ev_qualifiers = llc_busy_ev_qfyrs_3,
1418     .ev_actions    = llc_busy_actions_3,
1419 };
1420 
1421 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1422 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_4[] = {
1423     [0] = llc_conn_ev_qlfy_data_flag_eq_1,
1424     [1] = llc_conn_ev_qlfy_p_flag_eq_1,
1425     [2] = NULL,
1426 };
1427 
1428 static const llc_conn_action_t llc_busy_actions_4[] = {
1429     [0] = llc_conn_ac_send_rej_xxx_x_set_0,
1430     [1] = llc_conn_ac_start_rej_timer,
1431     [2] = NULL,
1432 };
1433 
1434 static struct llc_conn_state_trans llc_busy_state_trans_4 = {
1435     .ev        = llc_conn_ev_local_busy_cleared,
1436     .next_state    = LLC_CONN_STATE_REJ,
1437     .ev_qualifiers = llc_busy_ev_qfyrs_4,
1438     .ev_actions    = llc_busy_actions_4,
1439 };
1440 
1441 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1442 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_5[] = {
1443     [0] = llc_conn_ev_qlfy_data_flag_eq_0,
1444     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
1445     [2] = NULL,
1446 };
1447 
1448 static const llc_conn_action_t llc_busy_actions_5[] = {
1449     [0] = llc_conn_ac_send_rr_xxx_x_set_0,
1450     [1] = NULL,
1451 };
1452 
1453 static struct llc_conn_state_trans llc_busy_state_trans_5 = {
1454     .ev        = llc_conn_ev_local_busy_cleared,
1455     .next_state    = LLC_CONN_STATE_NORMAL,
1456     .ev_qualifiers = llc_busy_ev_qfyrs_5,
1457     .ev_actions    = llc_busy_actions_5,
1458 };
1459 
1460 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1461 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_6[] = {
1462     [0] = llc_conn_ev_qlfy_data_flag_eq_0,
1463     [1] = llc_conn_ev_qlfy_p_flag_eq_1,
1464     [2] = NULL,
1465 };
1466 
1467 static const llc_conn_action_t llc_busy_actions_6[] = {
1468     [0] = llc_conn_ac_send_rr_xxx_x_set_0,
1469     [1] = NULL,
1470 };
1471 
1472 static struct llc_conn_state_trans llc_busy_state_trans_6 = {
1473     .ev        = llc_conn_ev_local_busy_cleared,
1474     .next_state    = LLC_CONN_STATE_NORMAL,
1475     .ev_qualifiers = llc_busy_ev_qfyrs_6,
1476     .ev_actions    = llc_busy_actions_6,
1477 };
1478 
1479 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1480 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_7[] = {
1481     [0] = llc_conn_ev_qlfy_data_flag_eq_2,
1482     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
1483     [2] = NULL,
1484 };
1485 
1486 static const llc_conn_action_t llc_busy_actions_7[] = {
1487     [0] = llc_conn_ac_send_rr_xxx_x_set_0,
1488     [1] = NULL,
1489 };
1490 
1491 static struct llc_conn_state_trans llc_busy_state_trans_7 = {
1492     .ev        = llc_conn_ev_local_busy_cleared,
1493     .next_state    = LLC_CONN_STATE_REJ,
1494     .ev_qualifiers = llc_busy_ev_qfyrs_7,
1495     .ev_actions    = llc_busy_actions_7,
1496 };
1497 
1498 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1499 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_8[] = {
1500     [0] = llc_conn_ev_qlfy_data_flag_eq_2,
1501     [1] = llc_conn_ev_qlfy_p_flag_eq_1,
1502     [2] = NULL,
1503 };
1504 
1505 static const llc_conn_action_t llc_busy_actions_8[] = {
1506     [0] = llc_conn_ac_send_rr_xxx_x_set_0,
1507     [1] = NULL,
1508 };
1509 
1510 static struct llc_conn_state_trans llc_busy_state_trans_8 = {
1511     .ev        = llc_conn_ev_local_busy_cleared,
1512     .next_state    = LLC_CONN_STATE_REJ,
1513     .ev_qualifiers = llc_busy_ev_qfyrs_8,
1514     .ev_actions    = llc_busy_actions_8,
1515 };
1516 
1517 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_UNEXPD_Ns event */
1518 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9a[] = {
1519     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
1520     [1] = NULL,
1521 };
1522 
1523 static const llc_conn_action_t llc_busy_actions_9a[] = {
1524     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1525     [1] = llc_conn_ac_upd_p_flag,
1526     [2] = llc_conn_ac_upd_nr_received,
1527     [3] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1528     [4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1529     [5] = NULL,
1530 };
1531 
1532 static struct llc_conn_state_trans llc_busy_state_trans_9a = {
1533     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns,
1534     .next_state    = LLC_CONN_STATE_BUSY,
1535     .ev_qualifiers = llc_busy_ev_qfyrs_9a,
1536     .ev_actions    = llc_busy_actions_9a,
1537 };
1538 
1539 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
1540 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9b[] = {
1541     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1542     [1] = NULL,
1543 };
1544 
1545 static const llc_conn_action_t llc_busy_actions_9b[] = {
1546     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1547     [1] = llc_conn_ac_upd_p_flag,
1548     [2] = llc_conn_ac_upd_nr_received,
1549     [3] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1550     [4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1551     [5] = NULL,
1552 };
1553 
1554 static struct llc_conn_state_trans llc_busy_state_trans_9b = {
1555     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
1556     .next_state    = LLC_CONN_STATE_BUSY,
1557     .ev_qualifiers = llc_busy_ev_qfyrs_9b,
1558     .ev_actions    = llc_busy_actions_9b,
1559 };
1560 
1561 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
1562 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10a[] = {
1563     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1564     [1] = NULL,
1565 };
1566 
1567 static const llc_conn_action_t llc_busy_actions_10a[] = {
1568     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1569     [1] = llc_conn_ac_upd_nr_received,
1570     [2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1571     [3] = NULL,
1572 };
1573 
1574 static struct llc_conn_state_trans llc_busy_state_trans_10a = {
1575     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
1576     .next_state    = LLC_CONN_STATE_BUSY,
1577     .ev_qualifiers = llc_busy_ev_qfyrs_10a,
1578     .ev_actions    = llc_busy_actions_10a,
1579 };
1580 
1581 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
1582 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10b[] = {
1583     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1584     [1] = NULL,
1585 };
1586 
1587 static const llc_conn_action_t llc_busy_actions_10b[] = {
1588     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1589     [1] = llc_conn_ac_upd_nr_received,
1590     [2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1591     [3] = NULL,
1592 };
1593 
1594 static struct llc_conn_state_trans llc_busy_state_trans_10b = {
1595     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
1596     .next_state    = LLC_CONN_STATE_BUSY,
1597     .ev_qualifiers = llc_busy_ev_qfyrs_10b,
1598     .ev_actions    = llc_busy_actions_10b,
1599 };
1600 
1601 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
1602 static const llc_conn_action_t llc_busy_actions_11[] = {
1603     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
1604     [1] = llc_conn_ac_upd_nr_received,
1605     [2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1606     [3] = NULL,
1607 };
1608 
1609 static struct llc_conn_state_trans llc_busy_state_trans_11 = {
1610     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
1611     .next_state    = LLC_CONN_STATE_BUSY,
1612     .ev_qualifiers = NONE,
1613     .ev_actions    = llc_busy_actions_11,
1614 };
1615 
1616 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
1617 static const llc_conn_action_t llc_busy_actions_12[] = {
1618     [0] = llc_conn_ac_inc_vr_by_1,
1619     [1] = llc_conn_ac_data_ind,
1620     [2] = llc_conn_ac_send_rnr_rsp_f_set_1,
1621     [3] = llc_conn_ac_upd_nr_received,
1622     [4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1623     [5] = llc_conn_ac_set_data_flag_0,
1624     [6] = NULL,
1625 };
1626 
1627 static struct llc_conn_state_trans llc_busy_state_trans_12 = {
1628     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1,
1629     .next_state    = LLC_CONN_STATE_BUSY,
1630     .ev_qualifiers = NONE,
1631     .ev_actions    = llc_busy_actions_12,
1632 };
1633 
1634 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
1635 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13a[] = {
1636     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
1637     [1] = NULL,
1638 };
1639 
1640 static const llc_conn_action_t llc_busy_actions_13a[] = {
1641     [0] = llc_conn_ac_inc_vr_by_1,
1642     [1] = llc_conn_ac_data_ind,
1643     [2] = llc_conn_ac_upd_p_flag,
1644     [3] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1645     [4] = llc_conn_ac_upd_nr_received,
1646     [5] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1647     [6] = llc_conn_ac_set_data_flag_0,
1648     [7] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1649     [8] = NULL,
1650 };
1651 
1652 static struct llc_conn_state_trans llc_busy_state_trans_13a = {
1653     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_x,
1654     .next_state    = LLC_CONN_STATE_BUSY,
1655     .ev_qualifiers = llc_busy_ev_qfyrs_13a,
1656     .ev_actions    = llc_busy_actions_13a,
1657 };
1658 
1659 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
1660 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13b[] = {
1661     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1662     [1] = NULL,
1663 };
1664 
1665 static const llc_conn_action_t llc_busy_actions_13b[] = {
1666     [0] = llc_conn_ac_inc_vr_by_1,
1667     [1] = llc_conn_ac_data_ind,
1668     [2] = llc_conn_ac_upd_p_flag,
1669     [3] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1670     [4] = llc_conn_ac_upd_nr_received,
1671     [5] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1672     [6] = llc_conn_ac_set_data_flag_0,
1673     [7] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1674     [8] = NULL,
1675 };
1676 
1677 static struct llc_conn_state_trans llc_busy_state_trans_13b = {
1678     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
1679     .next_state    = LLC_CONN_STATE_BUSY,
1680     .ev_qualifiers = llc_busy_ev_qfyrs_13b,
1681     .ev_actions    = llc_busy_actions_13b,
1682 };
1683 
1684 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
1685 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14a[] = {
1686     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1687     [1] = NULL,
1688 };
1689 
1690 static const llc_conn_action_t llc_busy_actions_14a[] = {
1691     [0] = llc_conn_ac_inc_vr_by_1,
1692     [1] = llc_conn_ac_data_ind,
1693     [2] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1694     [3] = llc_conn_ac_upd_nr_received,
1695     [4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1696     [5] = llc_conn_ac_set_data_flag_0,
1697     [6] = NULL,
1698 };
1699 
1700 static struct llc_conn_state_trans llc_busy_state_trans_14a = {
1701     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0,
1702     .next_state    = LLC_CONN_STATE_BUSY,
1703     .ev_qualifiers = llc_busy_ev_qfyrs_14a,
1704     .ev_actions    = llc_busy_actions_14a,
1705 };
1706 
1707 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
1708 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14b[] = {
1709     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1710     [1] = NULL,
1711 };
1712 
1713 static const llc_conn_action_t llc_busy_actions_14b[] = {
1714     [0] = llc_conn_ac_inc_vr_by_1,
1715     [1] = llc_conn_ac_data_ind,
1716     [2] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1717     [3] = llc_conn_ac_upd_nr_received,
1718     [4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1719     [5] = llc_conn_ac_set_data_flag_0,
1720     [6] = NULL,
1721 };
1722 
1723 static struct llc_conn_state_trans llc_busy_state_trans_14b = {
1724     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
1725     .next_state    = LLC_CONN_STATE_BUSY,
1726     .ev_qualifiers = llc_busy_ev_qfyrs_14b,
1727     .ev_actions    = llc_busy_actions_14b,
1728 };
1729 
1730 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
1731 static const llc_conn_action_t llc_busy_actions_15a[] = {
1732     [0] = llc_conn_ac_upd_p_flag,
1733     [1] = llc_conn_ac_upd_nr_received,
1734     [2] = llc_conn_ac_clear_remote_busy,
1735     [3] = NULL,
1736 };
1737 
1738 static struct llc_conn_state_trans llc_busy_state_trans_15a = {
1739     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_0,
1740     .next_state    = LLC_CONN_STATE_BUSY,
1741     .ev_qualifiers = NONE,
1742     .ev_actions    = llc_busy_actions_15a,
1743 };
1744 
1745 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
1746 static const llc_conn_action_t llc_busy_actions_15b[] = {
1747     [0] = llc_conn_ac_upd_p_flag,
1748     [1] = llc_conn_ac_upd_nr_received,
1749     [2] = llc_conn_ac_clear_remote_busy,
1750     [3] = NULL,
1751 };
1752 
1753 static struct llc_conn_state_trans llc_busy_state_trans_15b = {
1754     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_0,
1755     .next_state    = LLC_CONN_STATE_BUSY,
1756     .ev_qualifiers = NONE,
1757     .ev_actions    = llc_busy_actions_15b,
1758 };
1759 
1760 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
1761 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_15c[] = {
1762     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1763     [1] = NULL,
1764 };
1765 
1766 static const llc_conn_action_t llc_busy_actions_15c[] = {
1767     [0] = llc_conn_ac_upd_p_flag,
1768     [1] = llc_conn_ac_upd_nr_received,
1769     [2] = llc_conn_ac_clear_remote_busy,
1770     [3] = NULL,
1771 };
1772 
1773 static struct llc_conn_state_trans llc_busy_state_trans_15c = {
1774     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_1,
1775     .next_state    = LLC_CONN_STATE_BUSY,
1776     .ev_qualifiers = llc_busy_ev_qfyrs_15c,
1777     .ev_actions    = llc_busy_actions_15c,
1778 };
1779 
1780 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
1781 static const llc_conn_action_t llc_busy_actions_16[] = {
1782     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
1783     [1] = llc_conn_ac_upd_nr_received,
1784     [2] = llc_conn_ac_clear_remote_busy,
1785     [3] = NULL,
1786 };
1787 
1788 static struct llc_conn_state_trans llc_busy_state_trans_16 = {
1789     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_1,
1790     .next_state    = LLC_CONN_STATE_BUSY,
1791     .ev_qualifiers = NONE,
1792     .ev_actions    = llc_busy_actions_16,
1793 };
1794 
1795 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
1796 static const llc_conn_action_t llc_busy_actions_17a[] = {
1797     [0] = llc_conn_ac_upd_p_flag,
1798     [1] = llc_conn_ac_upd_nr_received,
1799     [2] = llc_conn_ac_set_remote_busy,
1800     [3] = NULL,
1801 };
1802 
1803 static struct llc_conn_state_trans llc_busy_state_trans_17a = {
1804     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
1805     .next_state    = LLC_CONN_STATE_BUSY,
1806     .ev_qualifiers = NONE,
1807     .ev_actions    = llc_busy_actions_17a,
1808 };
1809 
1810 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
1811 static const llc_conn_action_t llc_busy_actions_17b[] = {
1812     [0] = llc_conn_ac_upd_p_flag,
1813     [1] = llc_conn_ac_upd_nr_received,
1814     [2] = llc_conn_ac_set_remote_busy,
1815     [3] = NULL,
1816 };
1817 
1818 static struct llc_conn_state_trans llc_busy_state_trans_17b = {
1819     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
1820     .next_state    = LLC_CONN_STATE_BUSY,
1821     .ev_qualifiers = NONE,
1822     .ev_actions    = llc_busy_actions_17b,
1823 };
1824 
1825 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
1826 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_17c[] = {
1827     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1828     [1] = NULL,
1829 };
1830 
1831 static const llc_conn_action_t llc_busy_actions_17c[] = {
1832     [0] = llc_conn_ac_upd_p_flag,
1833     [1] = llc_conn_ac_upd_nr_received,
1834     [2] = llc_conn_ac_set_remote_busy,
1835     [3] = NULL,
1836 };
1837 
1838 static struct llc_conn_state_trans llc_busy_state_trans_17c = {
1839     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
1840     .next_state    = LLC_CONN_STATE_BUSY,
1841     .ev_qualifiers = llc_busy_ev_qfyrs_17c,
1842     .ev_actions    = llc_busy_actions_17c,
1843 };
1844 
1845 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
1846 static const llc_conn_action_t llc_busy_actions_18[] = {
1847     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
1848     [1] = llc_conn_ac_upd_nr_received,
1849     [2] = llc_conn_ac_set_remote_busy,
1850     [3] = NULL,
1851 };
1852 
1853 static struct llc_conn_state_trans llc_busy_state_trans_18 = {
1854     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
1855     .next_state    = LLC_CONN_STATE_BUSY,
1856     .ev_qualifiers = NONE,
1857     .ev_actions    = llc_busy_actions_18,
1858 };
1859 
1860 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1861 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19a[] = {
1862     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1863     [1] = NULL,
1864 };
1865 
1866 static const llc_conn_action_t llc_busy_actions_19a[] = {
1867     [0] = llc_conn_ac_set_vs_nr,
1868     [1] = llc_conn_ac_upd_nr_received,
1869     [2] = llc_conn_ac_upd_p_flag,
1870     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
1871     [4] = llc_conn_ac_clear_remote_busy,
1872     [5] = NULL,
1873 };
1874 
1875 static struct llc_conn_state_trans llc_busy_state_trans_19a = {
1876     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1877     .next_state    = LLC_CONN_STATE_BUSY,
1878     .ev_qualifiers = llc_busy_ev_qfyrs_19a,
1879     .ev_actions    = llc_busy_actions_19a,
1880 };
1881 
1882 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
1883 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19b[] = {
1884     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
1885     [1] = NULL,
1886 };
1887 
1888 static const llc_conn_action_t llc_busy_actions_19b[] = {
1889     [0] = llc_conn_ac_set_vs_nr,
1890     [1] = llc_conn_ac_upd_nr_received,
1891     [2] = llc_conn_ac_upd_p_flag,
1892     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
1893     [4] = llc_conn_ac_clear_remote_busy,
1894     [5] = NULL,
1895 };
1896 
1897 static struct llc_conn_state_trans llc_busy_state_trans_19b = {
1898     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_x,
1899     .next_state    = LLC_CONN_STATE_BUSY,
1900     .ev_qualifiers = llc_busy_ev_qfyrs_19b,
1901     .ev_actions    = llc_busy_actions_19b,
1902 };
1903 
1904 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1905 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20a[] = {
1906     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1907     [1] = NULL,
1908 };
1909 
1910 static const llc_conn_action_t llc_busy_actions_20a[] = {
1911     [0] = llc_conn_ac_set_vs_nr,
1912     [1] = llc_conn_ac_upd_nr_received,
1913     [2] = llc_conn_ac_resend_i_xxx_x_set_0,
1914     [3] = llc_conn_ac_clear_remote_busy,
1915     [4] = NULL,
1916 };
1917 
1918 static struct llc_conn_state_trans llc_busy_state_trans_20a = {
1919     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1920     .next_state    = LLC_CONN_STATE_BUSY,
1921     .ev_qualifiers = llc_busy_ev_qfyrs_20a,
1922     .ev_actions    = llc_busy_actions_20a,
1923 };
1924 
1925 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
1926 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20b[] = {
1927     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
1928     [1] = NULL,
1929 };
1930 
1931 static const llc_conn_action_t llc_busy_actions_20b[] = {
1932     [0] = llc_conn_ac_set_vs_nr,
1933     [1] = llc_conn_ac_upd_nr_received,
1934     [2] = llc_conn_ac_resend_i_xxx_x_set_0,
1935     [3] = llc_conn_ac_clear_remote_busy,
1936     [4] = NULL,
1937 };
1938 
1939 static struct llc_conn_state_trans llc_busy_state_trans_20b = {
1940     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_0,
1941     .next_state    = LLC_CONN_STATE_BUSY,
1942     .ev_qualifiers = llc_busy_ev_qfyrs_20b,
1943     .ev_actions    = llc_busy_actions_20b,
1944 };
1945 
1946 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
1947 static const llc_conn_action_t llc_busy_actions_21[] = {
1948     [0] = llc_conn_ac_set_vs_nr,
1949     [1] = llc_conn_ac_upd_nr_received,
1950     [2] = llc_conn_ac_send_rnr_rsp_f_set_1,
1951     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
1952     [4] = llc_conn_ac_clear_remote_busy,
1953     [5] = NULL,
1954 };
1955 
1956 static struct llc_conn_state_trans llc_busy_state_trans_21 = {
1957     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_1,
1958     .next_state    = LLC_CONN_STATE_BUSY,
1959     .ev_qualifiers = NONE,
1960     .ev_actions    = llc_busy_actions_21,
1961 };
1962 
1963 /* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
1964 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_22[] = {
1965     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
1966     [1] = NULL,
1967 };
1968 
1969 static const llc_conn_action_t llc_busy_actions_22[] = {
1970     [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
1971     [1] = llc_conn_ac_start_p_timer,
1972     [2] = NULL,
1973 };
1974 
1975 static struct llc_conn_state_trans llc_busy_state_trans_22 = {
1976     .ev        = llc_conn_ev_init_p_f_cycle,
1977     .next_state    = LLC_CONN_STATE_BUSY,
1978     .ev_qualifiers = llc_busy_ev_qfyrs_22,
1979     .ev_actions    = llc_busy_actions_22,
1980 };
1981 
1982 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
1983 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_23[] = {
1984     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1985     [1] = NULL,
1986 };
1987 
1988 static const llc_conn_action_t llc_busy_actions_23[] = {
1989     [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
1990     [1] = llc_conn_ac_rst_vs,
1991     [2] = llc_conn_ac_start_p_timer,
1992     [3] = llc_conn_ac_inc_retry_cnt_by_1,
1993     [4] = NULL,
1994 };
1995 
1996 static struct llc_conn_state_trans llc_busy_state_trans_23 = {
1997     .ev        = llc_conn_ev_p_tmr_exp,
1998     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
1999     .ev_qualifiers = llc_busy_ev_qfyrs_23,
2000     .ev_actions    = llc_busy_actions_23,
2001 };
2002 
2003 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
2004 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24a[] = {
2005     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2006     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2007     [2] = NULL,
2008 };
2009 
2010 static const llc_conn_action_t llc_busy_actions_24a[] = {
2011     [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
2012     [1] = llc_conn_ac_start_p_timer,
2013     [2] = llc_conn_ac_inc_retry_cnt_by_1,
2014     [3] = llc_conn_ac_rst_vs,
2015     [4] = NULL,
2016 };
2017 
2018 static struct llc_conn_state_trans llc_busy_state_trans_24a = {
2019     .ev        = llc_conn_ev_ack_tmr_exp,
2020     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2021     .ev_qualifiers = llc_busy_ev_qfyrs_24a,
2022     .ev_actions    = llc_busy_actions_24a,
2023 };
2024 
2025 /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
2026 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24b[] = {
2027     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2028     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2029     [2] = NULL,
2030 };
2031 
2032 static const llc_conn_action_t llc_busy_actions_24b[] = {
2033     [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
2034     [1] = llc_conn_ac_start_p_timer,
2035     [2] = llc_conn_ac_inc_retry_cnt_by_1,
2036     [3] = llc_conn_ac_rst_vs,
2037     [4] = NULL,
2038 };
2039 
2040 static struct llc_conn_state_trans llc_busy_state_trans_24b = {
2041     .ev        = llc_conn_ev_busy_tmr_exp,
2042     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2043     .ev_qualifiers = llc_busy_ev_qfyrs_24b,
2044     .ev_actions    = llc_busy_actions_24b,
2045 };
2046 
2047 /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
2048 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_25[] = {
2049     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2050     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2051     [2] = NULL,
2052 };
2053 
2054 static const llc_conn_action_t llc_busy_actions_25[] = {
2055     [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
2056     [1] = llc_conn_ac_start_p_timer,
2057     [2] = llc_conn_ac_inc_retry_cnt_by_1,
2058     [3] = llc_conn_ac_rst_vs,
2059     [4] = llc_conn_ac_set_data_flag_1,
2060     [5] = NULL,
2061 };
2062 
2063 static struct llc_conn_state_trans llc_busy_state_trans_25 = {
2064     .ev        = llc_conn_ev_rej_tmr_exp,
2065     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2066     .ev_qualifiers = llc_busy_ev_qfyrs_25,
2067     .ev_actions    = llc_busy_actions_25,
2068 };
2069 
2070 /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
2071 static const llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_26[] = {
2072     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2073     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2074     [2] = NULL,
2075 };
2076 
2077 static const llc_conn_action_t llc_busy_actions_26[] = {
2078     [0] = llc_conn_ac_set_data_flag_1,
2079     [1] = NULL,
2080 };
2081 
2082 static struct llc_conn_state_trans llc_busy_state_trans_26 = {
2083     .ev        = llc_conn_ev_rej_tmr_exp,
2084     .next_state    = LLC_CONN_STATE_BUSY,
2085     .ev_qualifiers = llc_busy_ev_qfyrs_26,
2086     .ev_actions    = llc_busy_actions_26,
2087 };
2088 
2089 /*
2090  * Array of pointers;
2091  * one to each transition
2092  */
2093 static struct llc_conn_state_trans *llc_busy_state_transitions[] = {
2094      [0] = &llc_common_state_trans_1,   /* Request */
2095      [1] = &llc_common_state_trans_2,
2096      [2] = &llc_busy_state_trans_1,
2097      [3] = &llc_busy_state_trans_2,
2098      [4] = &llc_busy_state_trans_2_1,
2099      [5] = &llc_common_state_trans_end,
2100      [6] = &llc_busy_state_trans_3,     /* Local busy */
2101      [7] = &llc_busy_state_trans_4,
2102      [8] = &llc_busy_state_trans_5,
2103      [9] = &llc_busy_state_trans_6,
2104     [10] = &llc_busy_state_trans_7,
2105     [11] = &llc_busy_state_trans_8,
2106     [12] = &llc_common_state_trans_end,
2107     [13] = &llc_busy_state_trans_22,    /* Initiate PF cycle */
2108     [14] = &llc_common_state_trans_end,
2109     [15] = &llc_common_state_trans_11a, /* Timer */
2110     [16] = &llc_common_state_trans_11b,
2111     [17] = &llc_common_state_trans_11c,
2112     [18] = &llc_common_state_trans_11d,
2113     [19] = &llc_busy_state_trans_23,
2114     [20] = &llc_busy_state_trans_24a,
2115     [21] = &llc_busy_state_trans_24b,
2116     [22] = &llc_busy_state_trans_25,
2117     [23] = &llc_busy_state_trans_26,
2118     [24] = &llc_common_state_trans_end,
2119     [25] = &llc_busy_state_trans_9a,    /* Receive frame */
2120     [26] = &llc_busy_state_trans_9b,
2121     [27] = &llc_busy_state_trans_10a,
2122     [28] = &llc_busy_state_trans_10b,
2123     [29] = &llc_busy_state_trans_11,
2124     [30] = &llc_busy_state_trans_12,
2125     [31] = &llc_busy_state_trans_13a,
2126     [32] = &llc_busy_state_trans_13b,
2127     [33] = &llc_busy_state_trans_14a,
2128     [34] = &llc_busy_state_trans_14b,
2129     [35] = &llc_busy_state_trans_15a,
2130     [36] = &llc_busy_state_trans_15b,
2131     [37] = &llc_busy_state_trans_15c,
2132     [38] = &llc_busy_state_trans_16,
2133     [39] = &llc_busy_state_trans_17a,
2134     [40] = &llc_busy_state_trans_17b,
2135     [41] = &llc_busy_state_trans_17c,
2136     [42] = &llc_busy_state_trans_18,
2137     [43] = &llc_busy_state_trans_19a,
2138     [44] = &llc_busy_state_trans_19b,
2139     [45] = &llc_busy_state_trans_20a,
2140     [46] = &llc_busy_state_trans_20b,
2141     [47] = &llc_busy_state_trans_21,
2142     [48] = &llc_common_state_trans_3,
2143     [49] = &llc_common_state_trans_4,
2144     [50] = &llc_common_state_trans_5,
2145     [51] = &llc_common_state_trans_6,
2146     [52] = &llc_common_state_trans_7a,
2147     [53] = &llc_common_state_trans_7b,
2148     [54] = &llc_common_state_trans_8a,
2149     [55] = &llc_common_state_trans_8b,
2150     [56] = &llc_common_state_trans_8c,
2151     [57] = &llc_common_state_trans_9,
2152     /* [58] = &llc_common_state_trans_10, */
2153     [58] = &llc_common_state_trans_end,
2154 };
2155 
2156 /* LLC_CONN_STATE_REJ transitions */
2157 /* State transitions for LLC_CONN_EV_DATA_REQ event */
2158 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_1[] = {
2159     [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
2160     [1] = llc_conn_ev_qlfy_p_flag_eq_0,
2161     [2] = NULL,
2162 };
2163 
2164 static const llc_conn_action_t llc_reject_actions_1[] = {
2165     [0] = llc_conn_ac_send_i_xxx_x_set_0,
2166     [1] = NULL,
2167 };
2168 
2169 static struct llc_conn_state_trans llc_reject_state_trans_1 = {
2170     .ev        = llc_conn_ev_data_req,
2171     .next_state    = LLC_CONN_STATE_REJ,
2172     .ev_qualifiers = llc_reject_ev_qfyrs_1,
2173     .ev_actions    = llc_reject_actions_1,
2174 };
2175 
2176 /* State transitions for LLC_CONN_EV_DATA_REQ event */
2177 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2[] = {
2178     [0] = llc_conn_ev_qlfy_remote_busy_eq_0,
2179     [1] = llc_conn_ev_qlfy_p_flag_eq_1,
2180     [2] = NULL,
2181 };
2182 
2183 static const llc_conn_action_t llc_reject_actions_2[] = {
2184     [0] = llc_conn_ac_send_i_xxx_x_set_0,
2185     [1] = NULL,
2186 };
2187 
2188 static struct llc_conn_state_trans llc_reject_state_trans_2 = {
2189     .ev        = llc_conn_ev_data_req,
2190     .next_state    = LLC_CONN_STATE_REJ,
2191     .ev_qualifiers = llc_reject_ev_qfyrs_2,
2192     .ev_actions    = llc_reject_actions_2,
2193 };
2194 
2195 /* State transitions for LLC_CONN_EV_DATA_REQ event */
2196 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2_1[] = {
2197     [0] = llc_conn_ev_qlfy_remote_busy_eq_1,
2198     [1] = llc_conn_ev_qlfy_set_status_remote_busy,
2199     [2] = NULL,
2200 };
2201 
2202 /* just one member, NULL, .bss zeroes it */
2203 static const llc_conn_action_t llc_reject_actions_2_1[1];
2204 
2205 static struct llc_conn_state_trans llc_reject_state_trans_2_1 = {
2206     .ev        = llc_conn_ev_data_req,
2207     .next_state    = LLC_CONN_STATE_REJ,
2208     .ev_qualifiers = llc_reject_ev_qfyrs_2_1,
2209     .ev_actions    = llc_reject_actions_2_1,
2210 };
2211 
2212 
2213 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
2214 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_3[] = {
2215     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2216     [1] = NULL,
2217 };
2218 
2219 static const llc_conn_action_t llc_reject_actions_3[] = {
2220     [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
2221     [1] = llc_conn_ac_set_data_flag_2,
2222     [2] = NULL,
2223 };
2224 
2225 static struct llc_conn_state_trans llc_reject_state_trans_3 = {
2226     .ev        = llc_conn_ev_local_busy_detected,
2227     .next_state    = LLC_CONN_STATE_BUSY,
2228     .ev_qualifiers = llc_reject_ev_qfyrs_3,
2229     .ev_actions    = llc_reject_actions_3,
2230 };
2231 
2232 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
2233 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_4[] = {
2234     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2235     [1] = NULL,
2236 };
2237 
2238 static const llc_conn_action_t llc_reject_actions_4[] = {
2239     [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
2240     [1] = llc_conn_ac_set_data_flag_2,
2241     [2] = NULL,
2242 };
2243 
2244 static struct llc_conn_state_trans llc_reject_state_trans_4 = {
2245     .ev        = llc_conn_ev_local_busy_detected,
2246     .next_state    = LLC_CONN_STATE_BUSY,
2247     .ev_qualifiers = llc_reject_ev_qfyrs_4,
2248     .ev_actions    = llc_reject_actions_4,
2249 };
2250 
2251 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
2252 static const llc_conn_action_t llc_reject_actions_5a[] = {
2253     [0] = llc_conn_ac_upd_nr_received,
2254     [1] = llc_conn_ac_upd_p_flag,
2255     [2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2256     [3] = NULL,
2257 };
2258 
2259 static struct llc_conn_state_trans llc_reject_state_trans_5a = {
2260     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
2261     .next_state    = LLC_CONN_STATE_REJ,
2262     .ev_qualifiers = NONE,
2263     .ev_actions    = llc_reject_actions_5a,
2264 };
2265 
2266 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
2267 static const llc_conn_action_t llc_reject_actions_5b[] = {
2268     [0] = llc_conn_ac_upd_nr_received,
2269     [1] = llc_conn_ac_upd_p_flag,
2270     [2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2271     [3] = NULL,
2272 };
2273 
2274 static struct llc_conn_state_trans llc_reject_state_trans_5b = {
2275     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
2276     .next_state    = LLC_CONN_STATE_REJ,
2277     .ev_qualifiers = NONE,
2278     .ev_actions    = llc_reject_actions_5b,
2279 };
2280 
2281 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
2282 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_5c[] = {
2283     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2284     [1] = NULL,
2285 };
2286 
2287 static const llc_conn_action_t llc_reject_actions_5c[] = {
2288     [0] = llc_conn_ac_upd_nr_received,
2289     [1] = llc_conn_ac_upd_p_flag,
2290     [2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2291     [3] = NULL,
2292 };
2293 
2294 static struct llc_conn_state_trans llc_reject_state_trans_5c = {
2295     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
2296     .next_state    = LLC_CONN_STATE_REJ,
2297     .ev_qualifiers = llc_reject_ev_qfyrs_5c,
2298     .ev_actions    = llc_reject_actions_5c,
2299 };
2300 
2301 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
2302 static const llc_conn_action_t llc_reject_actions_6[] = {
2303     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
2304     [1] = llc_conn_ac_upd_nr_received,
2305     [2] = NULL,
2306 };
2307 
2308 static struct llc_conn_state_trans llc_reject_state_trans_6 = {
2309     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
2310     .next_state    = LLC_CONN_STATE_REJ,
2311     .ev_qualifiers = NONE,
2312     .ev_actions    = llc_reject_actions_6,
2313 };
2314 
2315 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
2316 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7a[] = {
2317     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
2318     [1] = NULL,
2319 };
2320 
2321 static const llc_conn_action_t llc_reject_actions_7a[] = {
2322     [0] = llc_conn_ac_inc_vr_by_1,
2323     [1] = llc_conn_ac_data_ind,
2324     [2] = llc_conn_ac_upd_p_flag,
2325     [3] = llc_conn_ac_send_ack_xxx_x_set_0,
2326     [4] = llc_conn_ac_upd_nr_received,
2327     [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2328     [6] = llc_conn_ac_stop_rej_timer,
2329     [7] = NULL,
2330 
2331 };
2332 
2333 static struct llc_conn_state_trans llc_reject_state_trans_7a = {
2334     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_x,
2335     .next_state    = LLC_CONN_STATE_NORMAL,
2336     .ev_qualifiers = llc_reject_ev_qfyrs_7a,
2337     .ev_actions    = llc_reject_actions_7a,
2338 };
2339 
2340 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
2341 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7b[] = {
2342     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2343     [1] = NULL,
2344 };
2345 
2346 static const llc_conn_action_t llc_reject_actions_7b[] = {
2347     [0] = llc_conn_ac_inc_vr_by_1,
2348     [1] = llc_conn_ac_data_ind,
2349     [2] = llc_conn_ac_upd_p_flag,
2350     [3] = llc_conn_ac_send_ack_xxx_x_set_0,
2351     [4] = llc_conn_ac_upd_nr_received,
2352     [5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2353     [6] = llc_conn_ac_stop_rej_timer,
2354     [7] = NULL,
2355 };
2356 
2357 static struct llc_conn_state_trans llc_reject_state_trans_7b = {
2358     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
2359     .next_state    = LLC_CONN_STATE_NORMAL,
2360     .ev_qualifiers = llc_reject_ev_qfyrs_7b,
2361     .ev_actions    = llc_reject_actions_7b,
2362 };
2363 
2364 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
2365 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8a[] = {
2366     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2367     [1] = NULL,
2368 };
2369 
2370 static const llc_conn_action_t llc_reject_actions_8a[] = {
2371     [0] = llc_conn_ac_inc_vr_by_1,
2372     [1] = llc_conn_ac_data_ind,
2373     [2] = llc_conn_ac_send_ack_xxx_x_set_0,
2374     [3] = llc_conn_ac_upd_nr_received,
2375     [4] = llc_conn_ac_stop_rej_timer,
2376     [5] = NULL,
2377 };
2378 
2379 static struct llc_conn_state_trans llc_reject_state_trans_8a = {
2380     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0,
2381     .next_state    = LLC_CONN_STATE_NORMAL,
2382     .ev_qualifiers = llc_reject_ev_qfyrs_8a,
2383     .ev_actions    = llc_reject_actions_8a,
2384 };
2385 
2386 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
2387 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8b[] = {
2388     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2389     [1] = NULL,
2390 };
2391 
2392 static const llc_conn_action_t llc_reject_actions_8b[] = {
2393     [0] = llc_conn_ac_inc_vr_by_1,
2394     [1] = llc_conn_ac_data_ind,
2395     [2] = llc_conn_ac_send_ack_xxx_x_set_0,
2396     [3] = llc_conn_ac_upd_nr_received,
2397     [4] = llc_conn_ac_stop_rej_timer,
2398     [5] = NULL,
2399 };
2400 
2401 static struct llc_conn_state_trans llc_reject_state_trans_8b = {
2402     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
2403     .next_state    = LLC_CONN_STATE_NORMAL,
2404     .ev_qualifiers = llc_reject_ev_qfyrs_8b,
2405     .ev_actions    = llc_reject_actions_8b,
2406 };
2407 
2408 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
2409 static const llc_conn_action_t llc_reject_actions_9[] = {
2410     [0] = llc_conn_ac_inc_vr_by_1,
2411     [1] = llc_conn_ac_data_ind,
2412     [2] = llc_conn_ac_send_ack_rsp_f_set_1,
2413     [3] = llc_conn_ac_upd_nr_received,
2414     [4] = llc_conn_ac_stop_rej_timer,
2415     [5] = NULL,
2416 };
2417 
2418 static struct llc_conn_state_trans llc_reject_state_trans_9 = {
2419     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1,
2420     .next_state    = LLC_CONN_STATE_NORMAL,
2421     .ev_qualifiers = NONE,
2422     .ev_actions    = llc_reject_actions_9,
2423 };
2424 
2425 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
2426 static const llc_conn_action_t llc_reject_actions_10a[] = {
2427     [0] = llc_conn_ac_upd_p_flag,
2428     [1] = llc_conn_ac_upd_nr_received,
2429     [2] = llc_conn_ac_clear_remote_busy,
2430     [3] = NULL,
2431 };
2432 
2433 static struct llc_conn_state_trans llc_reject_state_trans_10a = {
2434     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_0,
2435     .next_state    = LLC_CONN_STATE_REJ,
2436     .ev_qualifiers = NONE,
2437     .ev_actions    = llc_reject_actions_10a,
2438 };
2439 
2440 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
2441 static const llc_conn_action_t llc_reject_actions_10b[] = {
2442     [0] = llc_conn_ac_upd_p_flag,
2443     [1] = llc_conn_ac_upd_nr_received,
2444     [2] = llc_conn_ac_clear_remote_busy,
2445     [3] = NULL,
2446 };
2447 
2448 static struct llc_conn_state_trans llc_reject_state_trans_10b = {
2449     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_0,
2450     .next_state    = LLC_CONN_STATE_REJ,
2451     .ev_qualifiers = NONE,
2452     .ev_actions    = llc_reject_actions_10b,
2453 };
2454 
2455 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
2456 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_10c[] = {
2457     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2458     [1] = NULL,
2459 };
2460 
2461 static const llc_conn_action_t llc_reject_actions_10c[] = {
2462     [0] = llc_conn_ac_upd_p_flag,
2463     [1] = llc_conn_ac_upd_nr_received,
2464     [2] = llc_conn_ac_clear_remote_busy,
2465     [3] = NULL,
2466 };
2467 
2468 static struct llc_conn_state_trans llc_reject_state_trans_10c = {
2469     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_1,
2470     .next_state    = LLC_CONN_STATE_REJ,
2471     .ev_qualifiers = llc_reject_ev_qfyrs_10c,
2472     .ev_actions    = llc_reject_actions_10c,
2473 };
2474 
2475 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
2476 static const llc_conn_action_t llc_reject_actions_11[] = {
2477     [0] = llc_conn_ac_send_ack_rsp_f_set_1,
2478     [1] = llc_conn_ac_upd_nr_received,
2479     [2] = llc_conn_ac_clear_remote_busy,
2480     [3] = NULL,
2481 };
2482 
2483 static struct llc_conn_state_trans llc_reject_state_trans_11 = {
2484     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_1,
2485     .next_state    = LLC_CONN_STATE_REJ,
2486     .ev_qualifiers = NONE,
2487     .ev_actions    = llc_reject_actions_11,
2488 };
2489 
2490 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
2491 static const llc_conn_action_t llc_reject_actions_12a[] = {
2492     [0] = llc_conn_ac_upd_p_flag,
2493     [1] = llc_conn_ac_upd_nr_received,
2494     [2] = llc_conn_ac_set_remote_busy,
2495     [3] = NULL,
2496 };
2497 
2498 static struct llc_conn_state_trans llc_reject_state_trans_12a = {
2499     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
2500     .next_state    = LLC_CONN_STATE_REJ,
2501     .ev_qualifiers = NONE,
2502     .ev_actions    = llc_reject_actions_12a,
2503 };
2504 
2505 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
2506 static const llc_conn_action_t llc_reject_actions_12b[] = {
2507     [0] = llc_conn_ac_upd_p_flag,
2508     [1] = llc_conn_ac_upd_nr_received,
2509     [2] = llc_conn_ac_set_remote_busy,
2510     [3] = NULL,
2511 };
2512 
2513 static struct llc_conn_state_trans llc_reject_state_trans_12b = {
2514     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
2515     .next_state    = LLC_CONN_STATE_REJ,
2516     .ev_qualifiers = NONE,
2517     .ev_actions    = llc_reject_actions_12b,
2518 };
2519 
2520 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
2521 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_12c[] = {
2522     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2523     [1] = NULL,
2524 };
2525 
2526 static const llc_conn_action_t llc_reject_actions_12c[] = {
2527     [0] = llc_conn_ac_upd_p_flag,
2528     [1] = llc_conn_ac_upd_nr_received,
2529     [2] = llc_conn_ac_set_remote_busy,
2530     [3] = NULL,
2531 };
2532 
2533 static struct llc_conn_state_trans llc_reject_state_trans_12c = {
2534     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
2535     .next_state    = LLC_CONN_STATE_REJ,
2536     .ev_qualifiers = llc_reject_ev_qfyrs_12c,
2537     .ev_actions    = llc_reject_actions_12c,
2538 };
2539 
2540 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
2541 static const llc_conn_action_t llc_reject_actions_13[] = {
2542     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
2543     [1] = llc_conn_ac_upd_nr_received,
2544     [2] = llc_conn_ac_set_remote_busy,
2545     [3] = NULL,
2546 };
2547 
2548 static struct llc_conn_state_trans llc_reject_state_trans_13 = {
2549     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
2550     .next_state    = LLC_CONN_STATE_REJ,
2551     .ev_qualifiers = NONE,
2552     .ev_actions    = llc_reject_actions_13,
2553 };
2554 
2555 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
2556 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14a[] = {
2557     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2558     [1] = NULL,
2559 };
2560 
2561 static const llc_conn_action_t llc_reject_actions_14a[] = {
2562     [0] = llc_conn_ac_set_vs_nr,
2563     [1] = llc_conn_ac_upd_nr_received,
2564     [2] = llc_conn_ac_upd_p_flag,
2565     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
2566     [4] = llc_conn_ac_clear_remote_busy,
2567     [5] = NULL,
2568 };
2569 
2570 static struct llc_conn_state_trans llc_reject_state_trans_14a = {
2571     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
2572     .next_state    = LLC_CONN_STATE_REJ,
2573     .ev_qualifiers = llc_reject_ev_qfyrs_14a,
2574     .ev_actions    = llc_reject_actions_14a,
2575 };
2576 
2577 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
2578 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14b[] = {
2579     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
2580     [1] = NULL,
2581 };
2582 
2583 static const llc_conn_action_t llc_reject_actions_14b[] = {
2584     [0] = llc_conn_ac_set_vs_nr,
2585     [1] = llc_conn_ac_upd_nr_received,
2586     [2] = llc_conn_ac_upd_p_flag,
2587     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
2588     [4] = llc_conn_ac_clear_remote_busy,
2589     [5] = NULL,
2590 };
2591 
2592 static struct llc_conn_state_trans llc_reject_state_trans_14b = {
2593     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_x,
2594     .next_state    = LLC_CONN_STATE_REJ,
2595     .ev_qualifiers = llc_reject_ev_qfyrs_14b,
2596     .ev_actions    = llc_reject_actions_14b,
2597 };
2598 
2599 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
2600 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15a[] = {
2601     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2602     [1] = NULL,
2603 };
2604 
2605 static const llc_conn_action_t llc_reject_actions_15a[] = {
2606     [0] = llc_conn_ac_set_vs_nr,
2607     [1] = llc_conn_ac_upd_nr_received,
2608     [2] = llc_conn_ac_resend_i_xxx_x_set_0,
2609     [3] = llc_conn_ac_clear_remote_busy,
2610     [4] = NULL,
2611 };
2612 
2613 static struct llc_conn_state_trans llc_reject_state_trans_15a = {
2614     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
2615     .next_state    = LLC_CONN_STATE_REJ,
2616     .ev_qualifiers = llc_reject_ev_qfyrs_15a,
2617     .ev_actions    = llc_reject_actions_15a,
2618 };
2619 
2620 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
2621 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15b[] = {
2622     [0] = llc_conn_ev_qlfy_p_flag_eq_1,
2623     [1] = NULL,
2624 };
2625 
2626 static const llc_conn_action_t llc_reject_actions_15b[] = {
2627     [0] = llc_conn_ac_set_vs_nr,
2628     [1] = llc_conn_ac_upd_nr_received,
2629     [2] = llc_conn_ac_resend_i_xxx_x_set_0,
2630     [3] = llc_conn_ac_clear_remote_busy,
2631     [4] = NULL,
2632 };
2633 
2634 static struct llc_conn_state_trans llc_reject_state_trans_15b = {
2635     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_0,
2636     .next_state    = LLC_CONN_STATE_REJ,
2637     .ev_qualifiers = llc_reject_ev_qfyrs_15b,
2638     .ev_actions    = llc_reject_actions_15b,
2639 };
2640 
2641 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
2642 static const llc_conn_action_t llc_reject_actions_16[] = {
2643     [0] = llc_conn_ac_set_vs_nr,
2644     [1] = llc_conn_ac_upd_nr_received,
2645     [2] = llc_conn_ac_resend_i_rsp_f_set_1,
2646     [3] = llc_conn_ac_clear_remote_busy,
2647     [4] = NULL,
2648 };
2649 
2650 static struct llc_conn_state_trans llc_reject_state_trans_16 = {
2651     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_1,
2652     .next_state    = LLC_CONN_STATE_REJ,
2653     .ev_qualifiers = NONE,
2654     .ev_actions    = llc_reject_actions_16,
2655 };
2656 
2657 /* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
2658 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_17[] = {
2659     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2660     [1] = NULL,
2661 };
2662 
2663 static const llc_conn_action_t llc_reject_actions_17[] = {
2664     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
2665     [1] = llc_conn_ac_start_p_timer,
2666     [2] = NULL,
2667 };
2668 
2669 static struct llc_conn_state_trans llc_reject_state_trans_17 = {
2670     .ev        = llc_conn_ev_init_p_f_cycle,
2671     .next_state    = LLC_CONN_STATE_REJ,
2672     .ev_qualifiers = llc_reject_ev_qfyrs_17,
2673     .ev_actions    = llc_reject_actions_17,
2674 };
2675 
2676 /* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
2677 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_18[] = {
2678     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2679     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2680     [2] = NULL,
2681 };
2682 
2683 static const llc_conn_action_t llc_reject_actions_18[] = {
2684     [0] = llc_conn_ac_send_rej_cmd_p_set_1,
2685     [1] = llc_conn_ac_start_p_timer,
2686     [2] = llc_conn_ac_start_rej_timer,
2687     [3] = llc_conn_ac_inc_retry_cnt_by_1,
2688     [4] = NULL,
2689 };
2690 
2691 static struct llc_conn_state_trans llc_reject_state_trans_18 = {
2692     .ev        = llc_conn_ev_rej_tmr_exp,
2693     .next_state    = LLC_CONN_STATE_REJ,
2694     .ev_qualifiers = llc_reject_ev_qfyrs_18,
2695     .ev_actions    = llc_reject_actions_18,
2696 };
2697 
2698 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
2699 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_19[] = {
2700     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2701     [1] = NULL,
2702 };
2703 
2704 static const llc_conn_action_t llc_reject_actions_19[] = {
2705     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
2706     [1] = llc_conn_ac_start_p_timer,
2707     [2] = llc_conn_ac_start_rej_timer,
2708     [3] = llc_conn_ac_inc_retry_cnt_by_1,
2709     [4] = llc_conn_ac_rst_vs,
2710     [5] = NULL,
2711 };
2712 
2713 static struct llc_conn_state_trans llc_reject_state_trans_19 = {
2714     .ev        = llc_conn_ev_p_tmr_exp,
2715     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
2716     .ev_qualifiers = llc_reject_ev_qfyrs_19,
2717     .ev_actions    = llc_reject_actions_19,
2718 };
2719 
2720 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
2721 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20a[] = {
2722     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2723     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2724     [2] = NULL,
2725 };
2726 
2727 static const llc_conn_action_t llc_reject_actions_20a[] = {
2728     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
2729     [1] = llc_conn_ac_start_p_timer,
2730     [2] = llc_conn_ac_start_rej_timer,
2731     [3] = llc_conn_ac_inc_retry_cnt_by_1,
2732     [4] = llc_conn_ac_rst_vs,
2733     [5] = NULL,
2734 };
2735 
2736 static struct llc_conn_state_trans llc_reject_state_trans_20a = {
2737     .ev        = llc_conn_ev_ack_tmr_exp,
2738     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
2739     .ev_qualifiers = llc_reject_ev_qfyrs_20a,
2740     .ev_actions    = llc_reject_actions_20a,
2741 };
2742 
2743 /* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
2744 static const llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20b[] = {
2745     [0] = llc_conn_ev_qlfy_p_flag_eq_0,
2746     [1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2747     [2] = NULL,
2748 };
2749 
2750 static const llc_conn_action_t llc_reject_actions_20b[] = {
2751     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
2752     [1] = llc_conn_ac_start_p_timer,
2753     [2] = llc_conn_ac_start_rej_timer,
2754     [3] = llc_conn_ac_inc_retry_cnt_by_1,
2755     [4] = llc_conn_ac_rst_vs,
2756     [5] = NULL,
2757 };
2758 
2759 static struct llc_conn_state_trans llc_reject_state_trans_20b = {
2760     .ev        = llc_conn_ev_busy_tmr_exp,
2761     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
2762     .ev_qualifiers = llc_reject_ev_qfyrs_20b,
2763     .ev_actions    = llc_reject_actions_20b,
2764 };
2765 
2766 /*
2767  * Array of pointers;
2768  * one to each transition
2769  */
2770 static struct llc_conn_state_trans *llc_reject_state_transitions[] = {
2771      [0] = &llc_common_state_trans_1,   /* Request */
2772      [1] = &llc_common_state_trans_2,
2773      [2] = &llc_common_state_trans_end,
2774      [3] = &llc_reject_state_trans_1,
2775      [4] = &llc_reject_state_trans_2,
2776      [5] = &llc_reject_state_trans_2_1,
2777      [6] = &llc_reject_state_trans_3,   /* Local busy */
2778      [7] = &llc_reject_state_trans_4,
2779      [8] = &llc_common_state_trans_end,
2780      [9] = &llc_reject_state_trans_17,  /* Initiate PF cycle */
2781     [10] = &llc_common_state_trans_end,
2782     [11] = &llc_common_state_trans_11a, /* Timer */
2783     [12] = &llc_common_state_trans_11b,
2784     [13] = &llc_common_state_trans_11c,
2785     [14] = &llc_common_state_trans_11d,
2786     [15] = &llc_reject_state_trans_18,
2787     [16] = &llc_reject_state_trans_19,
2788     [17] = &llc_reject_state_trans_20a,
2789     [18] = &llc_reject_state_trans_20b,
2790     [19] = &llc_common_state_trans_end,
2791     [20] = &llc_common_state_trans_3,   /* Receive frame */
2792     [21] = &llc_common_state_trans_4,
2793     [22] = &llc_common_state_trans_5,
2794     [23] = &llc_common_state_trans_6,
2795     [24] = &llc_common_state_trans_7a,
2796     [25] = &llc_common_state_trans_7b,
2797     [26] = &llc_common_state_trans_8a,
2798     [27] = &llc_common_state_trans_8b,
2799     [28] = &llc_common_state_trans_8c,
2800     [29] = &llc_common_state_trans_9,
2801     /* [30] = &llc_common_state_trans_10, */
2802     [30] = &llc_reject_state_trans_5a,
2803     [31] = &llc_reject_state_trans_5b,
2804     [32] = &llc_reject_state_trans_5c,
2805     [33] = &llc_reject_state_trans_6,
2806     [34] = &llc_reject_state_trans_7a,
2807     [35] = &llc_reject_state_trans_7b,
2808     [36] = &llc_reject_state_trans_8a,
2809     [37] = &llc_reject_state_trans_8b,
2810     [38] = &llc_reject_state_trans_9,
2811     [39] = &llc_reject_state_trans_10a,
2812     [40] = &llc_reject_state_trans_10b,
2813     [41] = &llc_reject_state_trans_10c,
2814     [42] = &llc_reject_state_trans_11,
2815     [43] = &llc_reject_state_trans_12a,
2816     [44] = &llc_reject_state_trans_12b,
2817     [45] = &llc_reject_state_trans_12c,
2818     [46] = &llc_reject_state_trans_13,
2819     [47] = &llc_reject_state_trans_14a,
2820     [48] = &llc_reject_state_trans_14b,
2821     [49] = &llc_reject_state_trans_15a,
2822     [50] = &llc_reject_state_trans_15b,
2823     [51] = &llc_reject_state_trans_16,
2824     [52] = &llc_common_state_trans_end,
2825 };
2826 
2827 /* LLC_CONN_STATE_AWAIT transitions */
2828 /* State transitions for LLC_CONN_EV_DATA_REQ event */
2829 static const llc_conn_ev_qfyr_t llc_await_ev_qfyrs_1_0[] = {
2830     [0] = llc_conn_ev_qlfy_set_status_refuse,
2831     [1] = NULL,
2832 };
2833 
2834 /* just one member, NULL, .bss zeroes it */
2835 static const llc_conn_action_t llc_await_actions_1_0[1];
2836 
2837 static struct llc_conn_state_trans llc_await_state_trans_1_0 = {
2838     .ev        = llc_conn_ev_data_req,
2839     .next_state    = LLC_CONN_STATE_AWAIT,
2840     .ev_qualifiers = llc_await_ev_qfyrs_1_0,
2841     .ev_actions    = llc_await_actions_1_0,
2842 };
2843 
2844 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
2845 static const llc_conn_action_t llc_await_actions_1[] = {
2846     [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
2847     [1] = llc_conn_ac_set_data_flag_0,
2848     [2] = NULL,
2849 };
2850 
2851 static struct llc_conn_state_trans llc_await_state_trans_1 = {
2852     .ev        = llc_conn_ev_local_busy_detected,
2853     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2854     .ev_qualifiers = NONE,
2855     .ev_actions    = llc_await_actions_1,
2856 };
2857 
2858 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
2859 static const llc_conn_action_t llc_await_actions_2[] = {
2860     [0] = llc_conn_ac_send_rej_xxx_x_set_0,
2861     [1] = llc_conn_ac_upd_nr_received,
2862     [2] = llc_conn_ac_upd_vs,
2863     [3] = llc_conn_ac_stop_p_timer,
2864     [4] = llc_conn_ac_resend_i_xxx_x_set_0,
2865     [5] = llc_conn_ac_start_rej_timer,
2866     [6] = llc_conn_ac_clear_remote_busy,
2867     [7] = NULL,
2868 };
2869 
2870 static struct llc_conn_state_trans llc_await_state_trans_2 = {
2871     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
2872     .next_state    = LLC_CONN_STATE_REJ,
2873     .ev_qualifiers = NONE,
2874     .ev_actions    = llc_await_actions_2,
2875 };
2876 
2877 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
2878 static const llc_conn_action_t llc_await_actions_3a[] = {
2879     [0] = llc_conn_ac_send_rej_xxx_x_set_0,
2880     [1] = llc_conn_ac_upd_nr_received,
2881     [2] = llc_conn_ac_upd_vs,
2882     [3] = llc_conn_ac_start_rej_timer,
2883     [4] = NULL,
2884 };
2885 
2886 static struct llc_conn_state_trans llc_await_state_trans_3a = {
2887     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
2888     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
2889     .ev_qualifiers = NONE,
2890     .ev_actions    = llc_await_actions_3a,
2891 };
2892 
2893 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
2894 static const llc_conn_action_t llc_await_actions_3b[] = {
2895     [0] = llc_conn_ac_send_rej_xxx_x_set_0,
2896     [1] = llc_conn_ac_upd_nr_received,
2897     [2] = llc_conn_ac_upd_vs,
2898     [3] = llc_conn_ac_start_rej_timer,
2899     [4] = NULL,
2900 };
2901 
2902 static struct llc_conn_state_trans llc_await_state_trans_3b = {
2903     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
2904     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
2905     .ev_qualifiers = NONE,
2906     .ev_actions    = llc_await_actions_3b,
2907 };
2908 
2909 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
2910 static const llc_conn_action_t llc_await_actions_4[] = {
2911     [0] = llc_conn_ac_send_rej_rsp_f_set_1,
2912     [1] = llc_conn_ac_upd_nr_received,
2913     [2] = llc_conn_ac_upd_vs,
2914     [3] = llc_conn_ac_start_rej_timer,
2915     [4] = llc_conn_ac_start_p_timer,
2916     [5] = NULL,
2917 };
2918 
2919 static struct llc_conn_state_trans llc_await_state_trans_4 = {
2920     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
2921     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
2922     .ev_qualifiers = NONE,
2923     .ev_actions    = llc_await_actions_4,
2924 };
2925 
2926 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
2927 static const llc_conn_action_t llc_await_actions_5[] = {
2928     [0] = llc_conn_ac_inc_vr_by_1,
2929     [1] = llc_conn_ac_data_ind,
2930     [2] = llc_conn_ac_stop_p_timer,
2931     [3] = llc_conn_ac_upd_nr_received,
2932     [4] = llc_conn_ac_upd_vs,
2933     [5] = llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr,
2934     [6] = llc_conn_ac_clear_remote_busy,
2935     [7] = NULL,
2936 };
2937 
2938 static struct llc_conn_state_trans llc_await_state_trans_5 = {
2939     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1,
2940     .next_state    = LLC_CONN_STATE_NORMAL,
2941     .ev_qualifiers = NONE,
2942     .ev_actions    = llc_await_actions_5,
2943 };
2944 
2945 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
2946 static const llc_conn_action_t llc_await_actions_6a[] = {
2947     [0] = llc_conn_ac_inc_vr_by_1,
2948     [1] = llc_conn_ac_data_ind,
2949     [2] = llc_conn_ac_send_rr_xxx_x_set_0,
2950     [3] = llc_conn_ac_upd_nr_received,
2951     [4] = llc_conn_ac_upd_vs,
2952     [5] = NULL,
2953 };
2954 
2955 static struct llc_conn_state_trans llc_await_state_trans_6a = {
2956     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0,
2957     .next_state    = LLC_CONN_STATE_AWAIT,
2958     .ev_qualifiers = NONE,
2959     .ev_actions    = llc_await_actions_6a,
2960 };
2961 
2962 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
2963 static const llc_conn_action_t llc_await_actions_6b[] = {
2964     [0] = llc_conn_ac_inc_vr_by_1,
2965     [1] = llc_conn_ac_data_ind,
2966     [2] = llc_conn_ac_send_rr_xxx_x_set_0,
2967     [3] = llc_conn_ac_upd_nr_received,
2968     [4] = llc_conn_ac_upd_vs,
2969     [5] = NULL,
2970 };
2971 
2972 static struct llc_conn_state_trans llc_await_state_trans_6b = {
2973     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
2974     .next_state    = LLC_CONN_STATE_AWAIT,
2975     .ev_qualifiers = NONE,
2976     .ev_actions    = llc_await_actions_6b,
2977 };
2978 
2979 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
2980 static const llc_conn_action_t llc_await_actions_7[] = {
2981     [0] = llc_conn_ac_inc_vr_by_1,
2982     [1] = llc_conn_ac_data_ind,
2983     [2] = llc_conn_ac_send_rr_rsp_f_set_1,
2984     [3] = llc_conn_ac_upd_nr_received,
2985     [4] = llc_conn_ac_upd_vs,
2986     [5] = NULL,
2987 };
2988 
2989 static struct llc_conn_state_trans llc_await_state_trans_7 = {
2990     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1,
2991     .next_state    = LLC_CONN_STATE_AWAIT,
2992     .ev_qualifiers = NONE,
2993     .ev_actions    = llc_await_actions_7,
2994 };
2995 
2996 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
2997 static const llc_conn_action_t llc_await_actions_8a[] = {
2998     [0] = llc_conn_ac_upd_nr_received,
2999     [1] = llc_conn_ac_upd_vs,
3000     [2] = llc_conn_ac_stop_p_timer,
3001     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3002     [4] = llc_conn_ac_clear_remote_busy,
3003     [5] = NULL,
3004 };
3005 
3006 static struct llc_conn_state_trans llc_await_state_trans_8a = {
3007     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_1,
3008     .next_state    = LLC_CONN_STATE_NORMAL,
3009     .ev_qualifiers = NONE,
3010     .ev_actions    = llc_await_actions_8a,
3011 };
3012 
3013 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
3014 static const llc_conn_action_t llc_await_actions_8b[] = {
3015     [0] = llc_conn_ac_upd_nr_received,
3016     [1] = llc_conn_ac_upd_vs,
3017     [2] = llc_conn_ac_stop_p_timer,
3018     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3019     [4] = llc_conn_ac_clear_remote_busy,
3020     [5] = NULL,
3021 };
3022 
3023 static struct llc_conn_state_trans llc_await_state_trans_8b = {
3024     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_1,
3025     .next_state    = LLC_CONN_STATE_NORMAL,
3026     .ev_qualifiers = NONE,
3027     .ev_actions    = llc_await_actions_8b,
3028 };
3029 
3030 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
3031 static const llc_conn_action_t llc_await_actions_9a[] = {
3032     [0] = llc_conn_ac_upd_nr_received,
3033     [1] = llc_conn_ac_upd_vs,
3034     [2] = llc_conn_ac_clear_remote_busy,
3035     [3] = NULL,
3036 };
3037 
3038 static struct llc_conn_state_trans llc_await_state_trans_9a = {
3039     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_0,
3040     .next_state    = LLC_CONN_STATE_AWAIT,
3041     .ev_qualifiers = NONE,
3042     .ev_actions    = llc_await_actions_9a,
3043 };
3044 
3045 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
3046 static const llc_conn_action_t llc_await_actions_9b[] = {
3047     [0] = llc_conn_ac_upd_nr_received,
3048     [1] = llc_conn_ac_upd_vs,
3049     [2] = llc_conn_ac_clear_remote_busy,
3050     [3] = NULL,
3051 };
3052 
3053 static struct llc_conn_state_trans llc_await_state_trans_9b = {
3054     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_0,
3055     .next_state    = LLC_CONN_STATE_AWAIT,
3056     .ev_qualifiers = NONE,
3057     .ev_actions    = llc_await_actions_9b,
3058 };
3059 
3060 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
3061 static const llc_conn_action_t llc_await_actions_9c[] = {
3062     [0] = llc_conn_ac_upd_nr_received,
3063     [1] = llc_conn_ac_upd_vs,
3064     [2] = llc_conn_ac_clear_remote_busy,
3065     [3] = NULL,
3066 };
3067 
3068 static struct llc_conn_state_trans llc_await_state_trans_9c = {
3069     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
3070     .next_state    = LLC_CONN_STATE_AWAIT,
3071     .ev_qualifiers = NONE,
3072     .ev_actions    = llc_await_actions_9c,
3073 };
3074 
3075 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
3076 static const llc_conn_action_t llc_await_actions_9d[] = {
3077     [0] = llc_conn_ac_upd_nr_received,
3078     [1] = llc_conn_ac_upd_vs,
3079     [2] = llc_conn_ac_clear_remote_busy,
3080     [3] = NULL,
3081 };
3082 
3083 static struct llc_conn_state_trans llc_await_state_trans_9d = {
3084     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_0,
3085     .next_state    = LLC_CONN_STATE_AWAIT,
3086     .ev_qualifiers = NONE,
3087     .ev_actions    = llc_await_actions_9d,
3088 };
3089 
3090 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
3091 static const llc_conn_action_t llc_await_actions_10a[] = {
3092     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
3093     [1] = llc_conn_ac_upd_nr_received,
3094     [2] = llc_conn_ac_upd_vs,
3095     [3] = llc_conn_ac_clear_remote_busy,
3096     [4] = NULL,
3097 };
3098 
3099 static struct llc_conn_state_trans llc_await_state_trans_10a = {
3100     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_1,
3101     .next_state    = LLC_CONN_STATE_AWAIT,
3102     .ev_qualifiers = NONE,
3103     .ev_actions    = llc_await_actions_10a,
3104 };
3105 
3106 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
3107 static const llc_conn_action_t llc_await_actions_10b[] = {
3108     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
3109     [1] = llc_conn_ac_upd_nr_received,
3110     [2] = llc_conn_ac_upd_vs,
3111     [3] = llc_conn_ac_clear_remote_busy,
3112     [4] = NULL,
3113 };
3114 
3115 static struct llc_conn_state_trans llc_await_state_trans_10b = {
3116     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_1,
3117     .next_state    = LLC_CONN_STATE_AWAIT,
3118     .ev_qualifiers = NONE,
3119     .ev_actions    = llc_await_actions_10b,
3120 };
3121 
3122 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
3123 static const llc_conn_action_t llc_await_actions_11[] = {
3124     [0] = llc_conn_ac_upd_nr_received,
3125     [1] = llc_conn_ac_upd_vs,
3126     [2] = llc_conn_ac_stop_p_timer,
3127     [3] = llc_conn_ac_set_remote_busy,
3128     [4] = NULL,
3129 };
3130 
3131 static struct llc_conn_state_trans llc_await_state_trans_11 = {
3132     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
3133     .next_state    = LLC_CONN_STATE_NORMAL,
3134     .ev_qualifiers = NONE,
3135     .ev_actions    = llc_await_actions_11,
3136 };
3137 
3138 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
3139 static const llc_conn_action_t llc_await_actions_12a[] = {
3140     [0] = llc_conn_ac_upd_nr_received,
3141     [1] = llc_conn_ac_upd_vs,
3142     [2] = llc_conn_ac_set_remote_busy,
3143     [3] = NULL,
3144 };
3145 
3146 static struct llc_conn_state_trans llc_await_state_trans_12a = {
3147     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
3148     .next_state    = LLC_CONN_STATE_AWAIT,
3149     .ev_qualifiers = NONE,
3150     .ev_actions    = llc_await_actions_12a,
3151 };
3152 
3153 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
3154 static const llc_conn_action_t llc_await_actions_12b[] = {
3155     [0] = llc_conn_ac_upd_nr_received,
3156     [1] = llc_conn_ac_upd_vs,
3157     [2] = llc_conn_ac_set_remote_busy,
3158     [3] = NULL,
3159 };
3160 
3161 static struct llc_conn_state_trans llc_await_state_trans_12b = {
3162     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
3163     .next_state    = LLC_CONN_STATE_AWAIT,
3164     .ev_qualifiers = NONE,
3165     .ev_actions    = llc_await_actions_12b,
3166 };
3167 
3168 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
3169 static const llc_conn_action_t llc_await_actions_13[] = {
3170     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
3171     [1] = llc_conn_ac_upd_nr_received,
3172     [2] = llc_conn_ac_upd_vs,
3173     [3] = llc_conn_ac_set_remote_busy,
3174     [4] = NULL,
3175 };
3176 
3177 static struct llc_conn_state_trans llc_await_state_trans_13 = {
3178     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
3179     .next_state    = LLC_CONN_STATE_AWAIT,
3180     .ev_qualifiers = NONE,
3181     .ev_actions    = llc_await_actions_13,
3182 };
3183 
3184 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
3185 static const llc_conn_ev_qfyr_t llc_await_ev_qfyrs_14[] = {
3186     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
3187     [1] = NULL,
3188 };
3189 
3190 static const llc_conn_action_t llc_await_actions_14[] = {
3191     [0] = llc_conn_ac_send_rr_cmd_p_set_1,
3192     [1] = llc_conn_ac_start_p_timer,
3193     [2] = llc_conn_ac_inc_retry_cnt_by_1,
3194     [3] = NULL,
3195 };
3196 
3197 static struct llc_conn_state_trans llc_await_state_trans_14 = {
3198     .ev        = llc_conn_ev_p_tmr_exp,
3199     .next_state    = LLC_CONN_STATE_AWAIT,
3200     .ev_qualifiers = llc_await_ev_qfyrs_14,
3201     .ev_actions    = llc_await_actions_14,
3202 };
3203 
3204 /*
3205  * Array of pointers;
3206  * one to each transition
3207  */
3208 static struct llc_conn_state_trans *llc_await_state_transitions[] = {
3209      [0] = &llc_common_state_trans_1,   /* Request */
3210      [1] = &llc_common_state_trans_2,
3211      [2] = &llc_await_state_trans_1_0,
3212      [3] = &llc_common_state_trans_end,
3213      [4] = &llc_await_state_trans_1,    /* Local busy */
3214      [5] = &llc_common_state_trans_end,
3215      [6] = &llc_common_state_trans_end, /* Initiate PF Cycle */
3216      [7] = &llc_common_state_trans_11a, /* Timer */
3217      [8] = &llc_common_state_trans_11b,
3218      [9] = &llc_common_state_trans_11c,
3219     [10] = &llc_common_state_trans_11d,
3220     [11] = &llc_await_state_trans_14,
3221     [12] = &llc_common_state_trans_end,
3222     [13] = &llc_common_state_trans_3,   /* Receive frame */
3223     [14] = &llc_common_state_trans_4,
3224     [15] = &llc_common_state_trans_5,
3225     [16] = &llc_common_state_trans_6,
3226     [17] = &llc_common_state_trans_7a,
3227     [18] = &llc_common_state_trans_7b,
3228     [19] = &llc_common_state_trans_8a,
3229     [20] = &llc_common_state_trans_8b,
3230     [21] = &llc_common_state_trans_8c,
3231     [22] = &llc_common_state_trans_9,
3232     /* [23] = &llc_common_state_trans_10, */
3233     [23] = &llc_await_state_trans_2,
3234     [24] = &llc_await_state_trans_3a,
3235     [25] = &llc_await_state_trans_3b,
3236     [26] = &llc_await_state_trans_4,
3237     [27] = &llc_await_state_trans_5,
3238     [28] = &llc_await_state_trans_6a,
3239     [29] = &llc_await_state_trans_6b,
3240     [30] = &llc_await_state_trans_7,
3241     [31] = &llc_await_state_trans_8a,
3242     [32] = &llc_await_state_trans_8b,
3243     [33] = &llc_await_state_trans_9a,
3244     [34] = &llc_await_state_trans_9b,
3245     [35] = &llc_await_state_trans_9c,
3246     [36] = &llc_await_state_trans_9d,
3247     [37] = &llc_await_state_trans_10a,
3248     [38] = &llc_await_state_trans_10b,
3249     [39] = &llc_await_state_trans_11,
3250     [40] = &llc_await_state_trans_12a,
3251     [41] = &llc_await_state_trans_12b,
3252     [42] = &llc_await_state_trans_13,
3253     [43] = &llc_common_state_trans_end,
3254 };
3255 
3256 /* LLC_CONN_STATE_AWAIT_BUSY transitions */
3257 /* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
3258 static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1_0[] = {
3259     [0] = llc_conn_ev_qlfy_set_status_refuse,
3260     [1] = NULL,
3261 };
3262 
3263 /* just one member, NULL, .bss zeroes it */
3264 static const llc_conn_action_t llc_await_busy_actions_1_0[1];
3265 
3266 static struct llc_conn_state_trans llc_await_busy_state_trans_1_0 = {
3267     .ev        = llc_conn_ev_data_req,
3268     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3269     .ev_qualifiers = llc_await_busy_ev_qfyrs_1_0,
3270     .ev_actions    = llc_await_busy_actions_1_0,
3271 };
3272 
3273 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
3274 static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1[] = {
3275     [0] = llc_conn_ev_qlfy_data_flag_eq_1,
3276     [1] = NULL,
3277 };
3278 
3279 static const llc_conn_action_t llc_await_busy_actions_1[] = {
3280     [0] = llc_conn_ac_send_rej_xxx_x_set_0,
3281     [1] = llc_conn_ac_start_rej_timer,
3282     [2] = NULL,
3283 };
3284 
3285 static struct llc_conn_state_trans llc_await_busy_state_trans_1 = {
3286     .ev        = llc_conn_ev_local_busy_cleared,
3287     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3288     .ev_qualifiers = llc_await_busy_ev_qfyrs_1,
3289     .ev_actions    = llc_await_busy_actions_1,
3290 };
3291 
3292 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
3293 static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_2[] = {
3294     [0] = llc_conn_ev_qlfy_data_flag_eq_0,
3295     [1] = NULL,
3296 };
3297 
3298 static const llc_conn_action_t llc_await_busy_actions_2[] = {
3299     [0] = llc_conn_ac_send_rr_xxx_x_set_0,
3300     [1] = NULL,
3301 };
3302 
3303 static struct llc_conn_state_trans llc_await_busy_state_trans_2 = {
3304     .ev        = llc_conn_ev_local_busy_cleared,
3305     .next_state    = LLC_CONN_STATE_AWAIT,
3306     .ev_qualifiers = llc_await_busy_ev_qfyrs_2,
3307     .ev_actions    = llc_await_busy_actions_2,
3308 };
3309 
3310 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
3311 static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_3[] = {
3312     [0] = llc_conn_ev_qlfy_data_flag_eq_2,
3313     [1] = NULL,
3314 };
3315 
3316 static const llc_conn_action_t llc_await_busy_actions_3[] = {
3317     [0] = llc_conn_ac_send_rr_xxx_x_set_0,
3318     [1] = NULL,
3319 };
3320 
3321 static struct llc_conn_state_trans llc_await_busy_state_trans_3 = {
3322     .ev        = llc_conn_ev_local_busy_cleared,
3323     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3324     .ev_qualifiers = llc_await_busy_ev_qfyrs_3,
3325     .ev_actions    = llc_await_busy_actions_3,
3326 };
3327 
3328 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
3329 static const llc_conn_action_t llc_await_busy_actions_4[] = {
3330     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3331     [1] = llc_conn_ac_upd_nr_received,
3332     [2] = llc_conn_ac_upd_vs,
3333     [3] = llc_conn_ac_stop_p_timer,
3334     [4] = llc_conn_ac_set_data_flag_1,
3335     [5] = llc_conn_ac_clear_remote_busy,
3336     [6] = llc_conn_ac_resend_i_xxx_x_set_0,
3337     [7] = NULL,
3338 };
3339 
3340 static struct llc_conn_state_trans llc_await_busy_state_trans_4 = {
3341     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
3342     .next_state    = LLC_CONN_STATE_BUSY,
3343     .ev_qualifiers = NONE,
3344     .ev_actions    = llc_await_busy_actions_4,
3345 };
3346 
3347 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
3348 static const llc_conn_action_t llc_await_busy_actions_5a[] = {
3349     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3350     [1] = llc_conn_ac_upd_nr_received,
3351     [2] = llc_conn_ac_upd_vs,
3352     [3] = llc_conn_ac_set_data_flag_1,
3353     [4] = NULL,
3354 };
3355 
3356 static struct llc_conn_state_trans llc_await_busy_state_trans_5a = {
3357     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
3358     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3359     .ev_qualifiers = NONE,
3360     .ev_actions    = llc_await_busy_actions_5a,
3361 };
3362 
3363 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
3364 static const llc_conn_action_t llc_await_busy_actions_5b[] = {
3365     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3366     [1] = llc_conn_ac_upd_nr_received,
3367     [2] = llc_conn_ac_upd_vs,
3368     [3] = llc_conn_ac_set_data_flag_1,
3369     [4] = NULL,
3370 };
3371 
3372 static struct llc_conn_state_trans llc_await_busy_state_trans_5b = {
3373     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
3374     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3375     .ev_qualifiers = NONE,
3376     .ev_actions    = llc_await_busy_actions_5b,
3377 };
3378 
3379 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
3380 static const llc_conn_action_t llc_await_busy_actions_6[] = {
3381     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3382     [1] = llc_conn_ac_upd_nr_received,
3383     [2] = llc_conn_ac_upd_vs,
3384     [3] = llc_conn_ac_set_data_flag_1,
3385     [4] = NULL,
3386 };
3387 
3388 static struct llc_conn_state_trans llc_await_busy_state_trans_6 = {
3389     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
3390     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3391     .ev_qualifiers = NONE,
3392     .ev_actions    = llc_await_busy_actions_6,
3393 };
3394 
3395 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
3396 static const llc_conn_action_t llc_await_busy_actions_7[] = {
3397     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3398     [1] = llc_conn_ac_inc_vr_by_1,
3399     [2] = llc_conn_ac_data_ind,
3400     [3] = llc_conn_ac_stop_p_timer,
3401     [4] = llc_conn_ac_upd_nr_received,
3402     [5] = llc_conn_ac_upd_vs,
3403     [6] = llc_conn_ac_set_data_flag_0,
3404     [7] = llc_conn_ac_clear_remote_busy,
3405     [8] = llc_conn_ac_resend_i_xxx_x_set_0,
3406     [9] = NULL,
3407 };
3408 
3409 static struct llc_conn_state_trans llc_await_busy_state_trans_7 = {
3410     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1,
3411     .next_state    = LLC_CONN_STATE_BUSY,
3412     .ev_qualifiers = NONE,
3413     .ev_actions    = llc_await_busy_actions_7,
3414 };
3415 
3416 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
3417 static const llc_conn_action_t llc_await_busy_actions_8a[] = {
3418     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3419     [1] = llc_conn_ac_inc_vr_by_1,
3420     [2] = llc_conn_ac_data_ind,
3421     [3] = llc_conn_ac_upd_nr_received,
3422     [4] = llc_conn_ac_upd_vs,
3423     [5] = llc_conn_ac_set_data_flag_0,
3424     [6] = NULL,
3425 };
3426 
3427 static struct llc_conn_state_trans llc_await_busy_state_trans_8a = {
3428     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0,
3429     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3430     .ev_qualifiers = NONE,
3431     .ev_actions    = llc_await_busy_actions_8a,
3432 };
3433 
3434 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
3435 static const llc_conn_action_t llc_await_busy_actions_8b[] = {
3436     [0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3437     [1] = llc_conn_ac_inc_vr_by_1,
3438     [2] = llc_conn_ac_data_ind,
3439     [3] = llc_conn_ac_upd_nr_received,
3440     [4] = llc_conn_ac_upd_vs,
3441     [5] = llc_conn_ac_set_data_flag_0,
3442     [6] = NULL,
3443 };
3444 
3445 static struct llc_conn_state_trans llc_await_busy_state_trans_8b = {
3446     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
3447     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3448     .ev_qualifiers = NONE,
3449     .ev_actions    = llc_await_busy_actions_8b,
3450 };
3451 
3452 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
3453 static const llc_conn_action_t llc_await_busy_actions_9[] = {
3454     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3455     [1] = llc_conn_ac_inc_vr_by_1,
3456     [2] = llc_conn_ac_data_ind,
3457     [3] = llc_conn_ac_upd_nr_received,
3458     [4] = llc_conn_ac_upd_vs,
3459     [5] = llc_conn_ac_set_data_flag_0,
3460     [6] = NULL,
3461 };
3462 
3463 static struct llc_conn_state_trans llc_await_busy_state_trans_9 = {
3464     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1,
3465     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3466     .ev_qualifiers = NONE,
3467     .ev_actions    = llc_await_busy_actions_9,
3468 };
3469 
3470 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
3471 static const llc_conn_action_t llc_await_busy_actions_10a[] = {
3472     [0] = llc_conn_ac_upd_nr_received,
3473     [1] = llc_conn_ac_upd_vs,
3474     [2] = llc_conn_ac_stop_p_timer,
3475     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3476     [4] = llc_conn_ac_clear_remote_busy,
3477     [5] = NULL,
3478 };
3479 
3480 static struct llc_conn_state_trans llc_await_busy_state_trans_10a = {
3481     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_1,
3482     .next_state    = LLC_CONN_STATE_BUSY,
3483     .ev_qualifiers = NONE,
3484     .ev_actions    = llc_await_busy_actions_10a,
3485 };
3486 
3487 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
3488 static const llc_conn_action_t llc_await_busy_actions_10b[] = {
3489     [0] = llc_conn_ac_upd_nr_received,
3490     [1] = llc_conn_ac_upd_vs,
3491     [2] = llc_conn_ac_stop_p_timer,
3492     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3493     [4] = llc_conn_ac_clear_remote_busy,
3494     [5] = NULL,
3495 };
3496 
3497 static struct llc_conn_state_trans llc_await_busy_state_trans_10b = {
3498     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_1,
3499     .next_state    = LLC_CONN_STATE_BUSY,
3500     .ev_qualifiers = NONE,
3501     .ev_actions    = llc_await_busy_actions_10b,
3502 };
3503 
3504 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
3505 static const llc_conn_action_t llc_await_busy_actions_11a[] = {
3506     [0] = llc_conn_ac_upd_nr_received,
3507     [1] = llc_conn_ac_upd_vs,
3508     [2] = llc_conn_ac_clear_remote_busy,
3509     [3] = NULL,
3510 };
3511 
3512 static struct llc_conn_state_trans llc_await_busy_state_trans_11a = {
3513     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_0,
3514     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3515     .ev_qualifiers = NONE,
3516     .ev_actions    = llc_await_busy_actions_11a,
3517 };
3518 
3519 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
3520 static const llc_conn_action_t llc_await_busy_actions_11b[] = {
3521     [0] = llc_conn_ac_upd_nr_received,
3522     [1] = llc_conn_ac_upd_vs,
3523     [2] = llc_conn_ac_clear_remote_busy,
3524     [3] = NULL,
3525 };
3526 
3527 static struct llc_conn_state_trans llc_await_busy_state_trans_11b = {
3528     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_0,
3529     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3530     .ev_qualifiers = NONE,
3531     .ev_actions    = llc_await_busy_actions_11b,
3532 };
3533 
3534 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
3535 static const llc_conn_action_t llc_await_busy_actions_11c[] = {
3536     [0] = llc_conn_ac_upd_nr_received,
3537     [1] = llc_conn_ac_upd_vs,
3538     [2] = llc_conn_ac_clear_remote_busy,
3539     [3] = NULL,
3540 };
3541 
3542 static struct llc_conn_state_trans llc_await_busy_state_trans_11c = {
3543     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
3544     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3545     .ev_qualifiers = NONE,
3546     .ev_actions    = llc_await_busy_actions_11c,
3547 };
3548 
3549 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
3550 static const llc_conn_action_t llc_await_busy_actions_11d[] = {
3551     [0] = llc_conn_ac_upd_nr_received,
3552     [1] = llc_conn_ac_upd_vs,
3553     [2] = llc_conn_ac_clear_remote_busy,
3554     [3] = NULL,
3555 };
3556 
3557 static struct llc_conn_state_trans llc_await_busy_state_trans_11d = {
3558     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_0,
3559     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3560     .ev_qualifiers = NONE,
3561     .ev_actions    = llc_await_busy_actions_11d,
3562 };
3563 
3564 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
3565 static const llc_conn_action_t llc_await_busy_actions_12a[] = {
3566     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3567     [1] = llc_conn_ac_upd_nr_received,
3568     [2] = llc_conn_ac_upd_vs,
3569     [3] = llc_conn_ac_clear_remote_busy,
3570     [4] = NULL,
3571 };
3572 
3573 static struct llc_conn_state_trans llc_await_busy_state_trans_12a = {
3574     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_1,
3575     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3576     .ev_qualifiers = NONE,
3577     .ev_actions    = llc_await_busy_actions_12a,
3578 };
3579 
3580 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
3581 static const llc_conn_action_t llc_await_busy_actions_12b[] = {
3582     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3583     [1] = llc_conn_ac_upd_nr_received,
3584     [2] = llc_conn_ac_upd_vs,
3585     [3] = llc_conn_ac_clear_remote_busy,
3586     [4] = NULL,
3587 };
3588 
3589 static struct llc_conn_state_trans llc_await_busy_state_trans_12b = {
3590     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_1,
3591     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3592     .ev_qualifiers = NONE,
3593     .ev_actions    = llc_await_busy_actions_12b,
3594 };
3595 
3596 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
3597 static const llc_conn_action_t llc_await_busy_actions_13[] = {
3598     [0] = llc_conn_ac_upd_nr_received,
3599     [1] = llc_conn_ac_upd_vs,
3600     [2] = llc_conn_ac_stop_p_timer,
3601     [3] = llc_conn_ac_set_remote_busy,
3602     [4] = NULL,
3603 };
3604 
3605 static struct llc_conn_state_trans llc_await_busy_state_trans_13 = {
3606     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
3607     .next_state    = LLC_CONN_STATE_BUSY,
3608     .ev_qualifiers = NONE,
3609     .ev_actions    = llc_await_busy_actions_13,
3610 };
3611 
3612 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
3613 static const llc_conn_action_t llc_await_busy_actions_14a[] = {
3614     [0] = llc_conn_ac_upd_nr_received,
3615     [1] = llc_conn_ac_upd_vs,
3616     [2] = llc_conn_ac_set_remote_busy,
3617     [3] = NULL,
3618 };
3619 
3620 static struct llc_conn_state_trans llc_await_busy_state_trans_14a = {
3621     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
3622     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3623     .ev_qualifiers = NONE,
3624     .ev_actions    = llc_await_busy_actions_14a,
3625 };
3626 
3627 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
3628 static const llc_conn_action_t llc_await_busy_actions_14b[] = {
3629     [0] = llc_conn_ac_upd_nr_received,
3630     [1] = llc_conn_ac_upd_vs,
3631     [2] = llc_conn_ac_set_remote_busy,
3632     [3] = NULL,
3633 };
3634 
3635 static struct llc_conn_state_trans llc_await_busy_state_trans_14b = {
3636     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
3637     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3638     .ev_qualifiers = NONE,
3639     .ev_actions    = llc_await_busy_actions_14b,
3640 };
3641 
3642 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
3643 static const llc_conn_action_t llc_await_busy_actions_15[] = {
3644     [0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3645     [1] = llc_conn_ac_upd_nr_received,
3646     [2] = llc_conn_ac_upd_vs,
3647     [3] = llc_conn_ac_set_remote_busy,
3648     [4] = NULL,
3649 };
3650 
3651 static struct llc_conn_state_trans llc_await_busy_state_trans_15 = {
3652     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
3653     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3654     .ev_qualifiers = NONE,
3655     .ev_actions    = llc_await_busy_actions_15,
3656 };
3657 
3658 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
3659 static const llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_16[] = {
3660     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
3661     [1] = NULL,
3662 };
3663 
3664 static const llc_conn_action_t llc_await_busy_actions_16[] = {
3665     [0] = llc_conn_ac_send_rnr_cmd_p_set_1,
3666     [1] = llc_conn_ac_start_p_timer,
3667     [2] = llc_conn_ac_inc_retry_cnt_by_1,
3668     [3] = NULL,
3669 };
3670 
3671 static struct llc_conn_state_trans llc_await_busy_state_trans_16 = {
3672     .ev        = llc_conn_ev_p_tmr_exp,
3673     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3674     .ev_qualifiers = llc_await_busy_ev_qfyrs_16,
3675     .ev_actions    = llc_await_busy_actions_16,
3676 };
3677 
3678 /*
3679  * Array of pointers;
3680  * one to each transition
3681  */
3682 static struct llc_conn_state_trans *llc_await_busy_state_transitions[] = {
3683      [0] = &llc_common_state_trans_1,       /* Request */
3684      [1] = &llc_common_state_trans_2,
3685      [2] = &llc_await_busy_state_trans_1_0,
3686      [3] = &llc_common_state_trans_end,
3687      [4] = &llc_await_busy_state_trans_1,       /* Local busy */
3688      [5] = &llc_await_busy_state_trans_2,
3689      [6] = &llc_await_busy_state_trans_3,
3690      [7] = &llc_common_state_trans_end,
3691      [8] = &llc_common_state_trans_end,     /* Initiate PF cycle */
3692      [9] = &llc_common_state_trans_11a,     /* Timer */
3693     [10] = &llc_common_state_trans_11b,
3694     [11] = &llc_common_state_trans_11c,
3695     [12] = &llc_common_state_trans_11d,
3696     [13] = &llc_await_busy_state_trans_16,
3697     [14] = &llc_common_state_trans_end,
3698     [15] = &llc_await_busy_state_trans_4,       /* Receive frame */
3699     [16] = &llc_await_busy_state_trans_5a,
3700     [17] = &llc_await_busy_state_trans_5b,
3701     [18] = &llc_await_busy_state_trans_6,
3702     [19] = &llc_await_busy_state_trans_7,
3703     [20] = &llc_await_busy_state_trans_8a,
3704     [21] = &llc_await_busy_state_trans_8b,
3705     [22] = &llc_await_busy_state_trans_9,
3706     [23] = &llc_await_busy_state_trans_10a,
3707     [24] = &llc_await_busy_state_trans_10b,
3708     [25] = &llc_await_busy_state_trans_11a,
3709     [26] = &llc_await_busy_state_trans_11b,
3710     [27] = &llc_await_busy_state_trans_11c,
3711     [28] = &llc_await_busy_state_trans_11d,
3712     [29] = &llc_await_busy_state_trans_12a,
3713     [30] = &llc_await_busy_state_trans_12b,
3714     [31] = &llc_await_busy_state_trans_13,
3715     [32] = &llc_await_busy_state_trans_14a,
3716     [33] = &llc_await_busy_state_trans_14b,
3717     [34] = &llc_await_busy_state_trans_15,
3718     [35] = &llc_common_state_trans_3,
3719     [36] = &llc_common_state_trans_4,
3720     [37] = &llc_common_state_trans_5,
3721     [38] = &llc_common_state_trans_6,
3722     [39] = &llc_common_state_trans_7a,
3723     [40] = &llc_common_state_trans_7b,
3724     [41] = &llc_common_state_trans_8a,
3725     [42] = &llc_common_state_trans_8b,
3726     [43] = &llc_common_state_trans_8c,
3727     [44] = &llc_common_state_trans_9,
3728     /* [45] = &llc_common_state_trans_10, */
3729     [45] = &llc_common_state_trans_end,
3730 };
3731 
3732 /* ----------------- LLC_CONN_STATE_AWAIT_REJ transitions --------------- */
3733 /* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
3734 static const llc_conn_ev_qfyr_t llc_await_reject_ev_qfyrs_1_0[] = {
3735     [0] = llc_conn_ev_qlfy_set_status_refuse,
3736     [1] = NULL,
3737 };
3738 
3739 /* just one member, NULL, .bss zeroes it */
3740 static const llc_conn_action_t llc_await_reject_actions_1_0[1];
3741 
3742 static struct llc_conn_state_trans llc_await_reject_state_trans_1_0 = {
3743     .ev        = llc_conn_ev_data_req,
3744     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3745     .ev_qualifiers = llc_await_reject_ev_qfyrs_1_0,
3746     .ev_actions    = llc_await_reject_actions_1_0,
3747 };
3748 
3749 /* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
3750 static const llc_conn_action_t llc_await_rejct_actions_1[] = {
3751     [0] = llc_conn_ac_send_rnr_xxx_x_set_0,
3752     [1] = llc_conn_ac_set_data_flag_2,
3753     [2] = NULL
3754 };
3755 
3756 static struct llc_conn_state_trans llc_await_rejct_state_trans_1 = {
3757     .ev        = llc_conn_ev_local_busy_detected,
3758     .next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3759     .ev_qualifiers = NONE,
3760     .ev_actions    = llc_await_rejct_actions_1,
3761 };
3762 
3763 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
3764 static const llc_conn_action_t llc_await_rejct_actions_2a[] = {
3765     [0] = llc_conn_ac_upd_nr_received,
3766     [1] = llc_conn_ac_upd_vs,
3767     [2] = NULL
3768 };
3769 
3770 static struct llc_conn_state_trans llc_await_rejct_state_trans_2a = {
3771     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
3772     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3773     .ev_qualifiers = NONE,
3774     .ev_actions    = llc_await_rejct_actions_2a,
3775 };
3776 
3777 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
3778 static const llc_conn_action_t llc_await_rejct_actions_2b[] = {
3779     [0] = llc_conn_ac_upd_nr_received,
3780     [1] = llc_conn_ac_upd_vs,
3781     [2] = NULL
3782 };
3783 
3784 static struct llc_conn_state_trans llc_await_rejct_state_trans_2b = {
3785     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
3786     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3787     .ev_qualifiers = NONE,
3788     .ev_actions    = llc_await_rejct_actions_2b,
3789 };
3790 
3791 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
3792 static const llc_conn_action_t llc_await_rejct_actions_3[] = {
3793     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
3794     [1] = llc_conn_ac_upd_nr_received,
3795     [2] = llc_conn_ac_upd_vs,
3796     [3] = NULL
3797 };
3798 
3799 static struct llc_conn_state_trans llc_await_rejct_state_trans_3 = {
3800     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
3801     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3802     .ev_qualifiers = NONE,
3803     .ev_actions    = llc_await_rejct_actions_3,
3804 };
3805 
3806 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
3807 static const llc_conn_action_t llc_await_rejct_actions_4[] = {
3808     [0] = llc_conn_ac_inc_vr_by_1,
3809     [1] = llc_conn_ac_data_ind,
3810     [2] = llc_conn_ac_stop_p_timer,
3811     [3] = llc_conn_ac_stop_rej_timer,
3812     [4] = llc_conn_ac_upd_nr_received,
3813     [5] = llc_conn_ac_upd_vs,
3814     [6] = llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr,
3815     [7] = llc_conn_ac_clear_remote_busy,
3816     [8] = NULL,
3817 };
3818 
3819 static struct llc_conn_state_trans llc_await_rejct_state_trans_4 = {
3820     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1,
3821     .next_state    = LLC_CONN_STATE_NORMAL,
3822     .ev_qualifiers = NONE,
3823     .ev_actions    = llc_await_rejct_actions_4,
3824 };
3825 
3826 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
3827 static const llc_conn_action_t llc_await_rejct_actions_5a[] = {
3828     [0] = llc_conn_ac_inc_vr_by_1,
3829     [1] = llc_conn_ac_data_ind,
3830     [2] = llc_conn_ac_send_rr_xxx_x_set_0,
3831     [3] = llc_conn_ac_stop_rej_timer,
3832     [4] = llc_conn_ac_upd_nr_received,
3833     [5] = llc_conn_ac_upd_vs,
3834     [6] = NULL,
3835 };
3836 
3837 static struct llc_conn_state_trans llc_await_rejct_state_trans_5a = {
3838     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_0,
3839     .next_state    = LLC_CONN_STATE_AWAIT,
3840     .ev_qualifiers = NONE,
3841     .ev_actions    = llc_await_rejct_actions_5a,
3842 };
3843 
3844 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
3845 static const llc_conn_action_t llc_await_rejct_actions_5b[] = {
3846     [0] = llc_conn_ac_inc_vr_by_1,
3847     [1] = llc_conn_ac_data_ind,
3848     [2] = llc_conn_ac_send_rr_xxx_x_set_0,
3849     [3] = llc_conn_ac_stop_rej_timer,
3850     [4] = llc_conn_ac_upd_nr_received,
3851     [5] = llc_conn_ac_upd_vs,
3852     [6] = NULL,
3853 };
3854 
3855 static struct llc_conn_state_trans llc_await_rejct_state_trans_5b = {
3856     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_0,
3857     .next_state    = LLC_CONN_STATE_AWAIT,
3858     .ev_qualifiers = NONE,
3859     .ev_actions    = llc_await_rejct_actions_5b,
3860 };
3861 
3862 /* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
3863 static const llc_conn_action_t llc_await_rejct_actions_6[] = {
3864     [0] = llc_conn_ac_inc_vr_by_1,
3865     [1] = llc_conn_ac_data_ind,
3866     [2] = llc_conn_ac_send_rr_rsp_f_set_1,
3867     [3] = llc_conn_ac_stop_rej_timer,
3868     [4] = llc_conn_ac_upd_nr_received,
3869     [5] = llc_conn_ac_upd_vs,
3870     [6] = NULL,
3871 };
3872 
3873 static struct llc_conn_state_trans llc_await_rejct_state_trans_6 = {
3874     .ev        = llc_conn_ev_rx_i_cmd_pbit_set_1,
3875     .next_state    = LLC_CONN_STATE_AWAIT,
3876     .ev_qualifiers = NONE,
3877     .ev_actions    = llc_await_rejct_actions_6,
3878 };
3879 
3880 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
3881 static const llc_conn_action_t llc_await_rejct_actions_7a[] = {
3882     [0] = llc_conn_ac_upd_nr_received,
3883     [1] = llc_conn_ac_upd_vs,
3884     [2] = llc_conn_ac_stop_p_timer,
3885     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3886     [4] = llc_conn_ac_clear_remote_busy,
3887     [5] = NULL,
3888 };
3889 
3890 static struct llc_conn_state_trans llc_await_rejct_state_trans_7a = {
3891     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_1,
3892     .next_state    = LLC_CONN_STATE_REJ,
3893     .ev_qualifiers = NONE,
3894     .ev_actions    = llc_await_rejct_actions_7a,
3895 };
3896 
3897 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
3898 static const llc_conn_action_t llc_await_rejct_actions_7b[] = {
3899     [0] = llc_conn_ac_upd_nr_received,
3900     [1] = llc_conn_ac_upd_vs,
3901     [2] = llc_conn_ac_stop_p_timer,
3902     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3903     [4] = llc_conn_ac_clear_remote_busy,
3904     [5] = NULL,
3905 };
3906 
3907 static struct llc_conn_state_trans llc_await_rejct_state_trans_7b = {
3908     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_1,
3909     .next_state    = LLC_CONN_STATE_REJ,
3910     .ev_qualifiers = NONE,
3911     .ev_actions    = llc_await_rejct_actions_7b,
3912 };
3913 
3914 /* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
3915 static const llc_conn_action_t llc_await_rejct_actions_7c[] = {
3916     [0] = llc_conn_ac_upd_nr_received,
3917     [1] = llc_conn_ac_upd_vs,
3918     [2] = llc_conn_ac_stop_p_timer,
3919     [3] = llc_conn_ac_resend_i_xxx_x_set_0,
3920     [4] = llc_conn_ac_clear_remote_busy,
3921     [5] = NULL,
3922 };
3923 
3924 static struct llc_conn_state_trans llc_await_rejct_state_trans_7c = {
3925     .ev        = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
3926     .next_state    = LLC_CONN_STATE_REJ,
3927     .ev_qualifiers = NONE,
3928     .ev_actions    = llc_await_rejct_actions_7c,
3929 };
3930 
3931 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
3932 static const llc_conn_action_t llc_await_rejct_actions_8a[] = {
3933     [0] = llc_conn_ac_upd_nr_received,
3934     [1] = llc_conn_ac_upd_vs,
3935     [2] = llc_conn_ac_clear_remote_busy,
3936     [3] = NULL,
3937 };
3938 
3939 static struct llc_conn_state_trans llc_await_rejct_state_trans_8a = {
3940     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_0,
3941     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3942     .ev_qualifiers = NONE,
3943     .ev_actions    = llc_await_rejct_actions_8a,
3944 };
3945 
3946 /* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
3947 static const llc_conn_action_t llc_await_rejct_actions_8b[] = {
3948     [0] = llc_conn_ac_upd_nr_received,
3949     [1] = llc_conn_ac_upd_vs,
3950     [2] = llc_conn_ac_clear_remote_busy,
3951     [3] = NULL,
3952 };
3953 
3954 static struct llc_conn_state_trans llc_await_rejct_state_trans_8b = {
3955     .ev        = llc_conn_ev_rx_rr_rsp_fbit_set_0,
3956     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3957     .ev_qualifiers = NONE,
3958     .ev_actions    = llc_await_rejct_actions_8b,
3959 };
3960 
3961 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
3962 static const llc_conn_action_t llc_await_rejct_actions_8c[] = {
3963     [0] = llc_conn_ac_upd_nr_received,
3964     [1] = llc_conn_ac_upd_vs,
3965     [2] = llc_conn_ac_clear_remote_busy,
3966     [3] = NULL,
3967 };
3968 
3969 static struct llc_conn_state_trans llc_await_rejct_state_trans_8c = {
3970     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_0,
3971     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3972     .ev_qualifiers = NONE,
3973     .ev_actions    = llc_await_rejct_actions_8c,
3974 };
3975 
3976 /* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
3977 static const llc_conn_action_t llc_await_rejct_actions_8d[] = {
3978     [0] = llc_conn_ac_upd_nr_received,
3979     [1] = llc_conn_ac_upd_vs,
3980     [2] = llc_conn_ac_clear_remote_busy,
3981     [3] = NULL,
3982 };
3983 
3984 static struct llc_conn_state_trans llc_await_rejct_state_trans_8d = {
3985     .ev        = llc_conn_ev_rx_rej_rsp_fbit_set_0,
3986     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
3987     .ev_qualifiers = NONE,
3988     .ev_actions    = llc_await_rejct_actions_8d,
3989 };
3990 
3991 /* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
3992 static const llc_conn_action_t llc_await_rejct_actions_9a[] = {
3993     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
3994     [1] = llc_conn_ac_upd_nr_received,
3995     [2] = llc_conn_ac_upd_vs,
3996     [3] = llc_conn_ac_clear_remote_busy,
3997     [4] = NULL,
3998 };
3999 
4000 static struct llc_conn_state_trans llc_await_rejct_state_trans_9a = {
4001     .ev        = llc_conn_ev_rx_rr_cmd_pbit_set_1,
4002     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
4003     .ev_qualifiers = NONE,
4004     .ev_actions    = llc_await_rejct_actions_9a,
4005 };
4006 
4007 /* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
4008 static const llc_conn_action_t llc_await_rejct_actions_9b[] = {
4009     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
4010     [1] = llc_conn_ac_upd_nr_received,
4011     [2] = llc_conn_ac_upd_vs,
4012     [3] = llc_conn_ac_clear_remote_busy,
4013     [4] = NULL,
4014 };
4015 
4016 static struct llc_conn_state_trans llc_await_rejct_state_trans_9b = {
4017     .ev        = llc_conn_ev_rx_rej_cmd_pbit_set_1,
4018     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
4019     .ev_qualifiers = NONE,
4020     .ev_actions    = llc_await_rejct_actions_9b,
4021 };
4022 
4023 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
4024 static const llc_conn_action_t llc_await_rejct_actions_10[] = {
4025     [0] = llc_conn_ac_upd_nr_received,
4026     [1] = llc_conn_ac_upd_vs,
4027     [2] = llc_conn_ac_stop_p_timer,
4028     [3] = llc_conn_ac_set_remote_busy,
4029     [4] = NULL,
4030 };
4031 
4032 static struct llc_conn_state_trans llc_await_rejct_state_trans_10 = {
4033     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
4034     .next_state    = LLC_CONN_STATE_REJ,
4035     .ev_qualifiers = NONE,
4036     .ev_actions    = llc_await_rejct_actions_10,
4037 };
4038 
4039 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
4040 static const llc_conn_action_t llc_await_rejct_actions_11a[] = {
4041     [0] = llc_conn_ac_upd_nr_received,
4042     [1] = llc_conn_ac_upd_vs,
4043     [2] = llc_conn_ac_set_remote_busy,
4044     [3] = NULL,
4045 };
4046 
4047 static struct llc_conn_state_trans llc_await_rejct_state_trans_11a = {
4048     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
4049     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
4050     .ev_qualifiers = NONE,
4051     .ev_actions    = llc_await_rejct_actions_11a,
4052 };
4053 
4054 /* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
4055 static const llc_conn_action_t llc_await_rejct_actions_11b[] = {
4056     [0] = llc_conn_ac_upd_nr_received,
4057     [1] = llc_conn_ac_upd_vs,
4058     [2] = llc_conn_ac_set_remote_busy,
4059     [3] = NULL,
4060 };
4061 
4062 static struct llc_conn_state_trans llc_await_rejct_state_trans_11b = {
4063     .ev        = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
4064     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
4065     .ev_qualifiers = NONE,
4066     .ev_actions    = llc_await_rejct_actions_11b,
4067 };
4068 
4069 /* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
4070 static const llc_conn_action_t llc_await_rejct_actions_12[] = {
4071     [0] = llc_conn_ac_send_rr_rsp_f_set_1,
4072     [1] = llc_conn_ac_upd_nr_received,
4073     [2] = llc_conn_ac_upd_vs,
4074     [3] = llc_conn_ac_set_remote_busy,
4075     [4] = NULL,
4076 };
4077 
4078 static struct llc_conn_state_trans llc_await_rejct_state_trans_12 = {
4079     .ev        = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
4080     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
4081     .ev_qualifiers = NONE,
4082     .ev_actions    = llc_await_rejct_actions_12,
4083 };
4084 
4085 /* State transitions for LLC_CONN_EV_P_TMR_EXP event */
4086 static const llc_conn_ev_qfyr_t llc_await_rejct_ev_qfyrs_13[] = {
4087     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4088     [1] = NULL,
4089 };
4090 
4091 static const llc_conn_action_t llc_await_rejct_actions_13[] = {
4092     [0] = llc_conn_ac_send_rej_cmd_p_set_1,
4093     [1] = llc_conn_ac_stop_p_timer,
4094     [2] = llc_conn_ac_inc_retry_cnt_by_1,
4095     [3] = NULL,
4096 };
4097 
4098 static struct llc_conn_state_trans llc_await_rejct_state_trans_13 = {
4099     .ev        = llc_conn_ev_p_tmr_exp,
4100     .next_state    = LLC_CONN_STATE_AWAIT_REJ,
4101     .ev_qualifiers = llc_await_rejct_ev_qfyrs_13,
4102     .ev_actions    = llc_await_rejct_actions_13,
4103 };
4104 
4105 /*
4106  * Array of pointers;
4107  * one to each transition
4108  */
4109 static struct llc_conn_state_trans *llc_await_rejct_state_transitions[] = {
4110      [0] = &llc_await_reject_state_trans_1_0,
4111      [1] = &llc_common_state_trans_1,       /* requests */
4112      [2] = &llc_common_state_trans_2,
4113      [3] = &llc_common_state_trans_end,
4114      [4] = &llc_await_rejct_state_trans_1,      /* local busy */
4115      [5] = &llc_common_state_trans_end,
4116      [6] = &llc_common_state_trans_end,     /* Initiate PF cycle */
4117      [7] = &llc_await_rejct_state_trans_13, /* timers */
4118      [8] = &llc_common_state_trans_11a,
4119      [9] = &llc_common_state_trans_11b,
4120     [10] = &llc_common_state_trans_11c,
4121     [11] = &llc_common_state_trans_11d,
4122     [12] = &llc_common_state_trans_end,
4123     [13] = &llc_await_rejct_state_trans_2a, /* receive frames */
4124     [14] = &llc_await_rejct_state_trans_2b,
4125     [15] = &llc_await_rejct_state_trans_3,
4126     [16] = &llc_await_rejct_state_trans_4,
4127     [17] = &llc_await_rejct_state_trans_5a,
4128     [18] = &llc_await_rejct_state_trans_5b,
4129     [19] = &llc_await_rejct_state_trans_6,
4130     [20] = &llc_await_rejct_state_trans_7a,
4131     [21] = &llc_await_rejct_state_trans_7b,
4132     [22] = &llc_await_rejct_state_trans_7c,
4133     [23] = &llc_await_rejct_state_trans_8a,
4134     [24] = &llc_await_rejct_state_trans_8b,
4135     [25] = &llc_await_rejct_state_trans_8c,
4136     [26] = &llc_await_rejct_state_trans_8d,
4137     [27] = &llc_await_rejct_state_trans_9a,
4138     [28] = &llc_await_rejct_state_trans_9b,
4139     [29] = &llc_await_rejct_state_trans_10,
4140     [30] = &llc_await_rejct_state_trans_11a,
4141     [31] = &llc_await_rejct_state_trans_11b,
4142     [32] = &llc_await_rejct_state_trans_12,
4143     [33] = &llc_common_state_trans_3,
4144     [34] = &llc_common_state_trans_4,
4145     [35] = &llc_common_state_trans_5,
4146     [36] = &llc_common_state_trans_6,
4147     [37] = &llc_common_state_trans_7a,
4148     [38] = &llc_common_state_trans_7b,
4149     [39] = &llc_common_state_trans_8a,
4150     [40] = &llc_common_state_trans_8b,
4151     [41] = &llc_common_state_trans_8c,
4152     [42] = &llc_common_state_trans_9,
4153     /* [43] = &llc_common_state_trans_10, */
4154     [43] = &llc_common_state_trans_end,
4155 };
4156 
4157 /* LLC_CONN_STATE_D_CONN transitions */
4158 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event,
4159  * cause_flag = 1 */
4160 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1[] = {
4161     [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4162     [1] = llc_conn_ev_qlfy_set_status_conflict,
4163     [2] = NULL,
4164 };
4165 
4166 static const llc_conn_action_t llc_d_conn_actions_1[] = {
4167     [0] = llc_conn_ac_send_dm_rsp_f_set_p,
4168     [1] = llc_conn_ac_stop_ack_timer,
4169     [2] = llc_conn_ac_disc_confirm,
4170     [3] = llc_conn_disc,
4171     [4] = NULL,
4172 };
4173 
4174 static struct llc_conn_state_trans llc_d_conn_state_trans_1 = {
4175     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4176     .next_state    = LLC_CONN_STATE_ADM,
4177     .ev_qualifiers = llc_d_conn_ev_qfyrs_1,
4178     .ev_actions    = llc_d_conn_actions_1,
4179 };
4180 
4181 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event,
4182  * cause_flag = 0
4183  */
4184 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1_1[] = {
4185     [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4186     [1] = llc_conn_ev_qlfy_set_status_conflict,
4187     [2] = NULL,
4188 };
4189 
4190 static const llc_conn_action_t llc_d_conn_actions_1_1[] = {
4191     [0] = llc_conn_ac_send_dm_rsp_f_set_p,
4192     [1] = llc_conn_ac_stop_ack_timer,
4193     [2] = llc_conn_disc,
4194     [3] = NULL,
4195 };
4196 
4197 static struct llc_conn_state_trans llc_d_conn_state_trans_1_1 = {
4198     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4199     .next_state    = LLC_CONN_STATE_ADM,
4200     .ev_qualifiers = llc_d_conn_ev_qfyrs_1_1,
4201     .ev_actions    = llc_d_conn_actions_1_1,
4202 };
4203 
4204 /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4205  * cause_flag = 1
4206  */
4207 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2[] = {
4208     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
4209     [1] = llc_conn_ev_qlfy_cause_flag_eq_1,
4210     [2] = llc_conn_ev_qlfy_set_status_disc,
4211     [3] = NULL,
4212 };
4213 
4214 static const llc_conn_action_t llc_d_conn_actions_2[] = {
4215     [0] = llc_conn_ac_stop_ack_timer,
4216     [1] = llc_conn_ac_disc_confirm,
4217     [2] = llc_conn_disc,
4218     [3] = NULL,
4219 };
4220 
4221 static struct llc_conn_state_trans llc_d_conn_state_trans_2 = {
4222     .ev        = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4223     .next_state    = LLC_CONN_STATE_ADM,
4224     .ev_qualifiers = llc_d_conn_ev_qfyrs_2,
4225     .ev_actions    = llc_d_conn_actions_2,
4226 };
4227 
4228 /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4229  * cause_flag = 0
4230  */
4231 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2_1[] = {
4232     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
4233     [1] = llc_conn_ev_qlfy_cause_flag_eq_0,
4234     [2] = llc_conn_ev_qlfy_set_status_disc,
4235     [3] = NULL,
4236 };
4237 
4238 static const llc_conn_action_t llc_d_conn_actions_2_1[] = {
4239     [0] = llc_conn_ac_stop_ack_timer,
4240     [1] = llc_conn_disc,
4241     [2] = NULL,
4242 };
4243 
4244 static struct llc_conn_state_trans llc_d_conn_state_trans_2_1 = {
4245     .ev        = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4246     .next_state    = LLC_CONN_STATE_ADM,
4247     .ev_qualifiers = llc_d_conn_ev_qfyrs_2_1,
4248     .ev_actions    = llc_d_conn_actions_2_1,
4249 };
4250 
4251 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
4252 static const llc_conn_action_t llc_d_conn_actions_3[] = {
4253     [0] = llc_conn_ac_send_ua_rsp_f_set_p,
4254     [1] = NULL,
4255 };
4256 
4257 static struct llc_conn_state_trans llc_d_conn_state_trans_3 = {
4258     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4259     .next_state    = LLC_CONN_STATE_D_CONN,
4260     .ev_qualifiers = NONE,
4261     .ev_actions    = llc_d_conn_actions_3,
4262 };
4263 
4264 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4265  * cause_flag = 1
4266  */
4267 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4[] = {
4268     [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4269     [1] = llc_conn_ev_qlfy_set_status_disc,
4270     [2] = NULL,
4271 };
4272 
4273 static const llc_conn_action_t llc_d_conn_actions_4[] = {
4274     [0] = llc_conn_ac_stop_ack_timer,
4275     [1] = llc_conn_ac_disc_confirm,
4276     [2] = llc_conn_disc,
4277     [3] = NULL,
4278 };
4279 
4280 static struct llc_conn_state_trans llc_d_conn_state_trans_4 = {
4281     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4282     .next_state    = LLC_CONN_STATE_ADM,
4283     .ev_qualifiers = llc_d_conn_ev_qfyrs_4,
4284     .ev_actions    = llc_d_conn_actions_4,
4285 };
4286 
4287 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4288  * cause_flag = 0
4289  */
4290 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4_1[] = {
4291     [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4292     [1] = llc_conn_ev_qlfy_set_status_disc,
4293     [2] = NULL,
4294 };
4295 
4296 static const llc_conn_action_t llc_d_conn_actions_4_1[] = {
4297     [0] = llc_conn_ac_stop_ack_timer,
4298     [1] = llc_conn_disc,
4299     [2] = NULL,
4300 };
4301 
4302 static struct llc_conn_state_trans llc_d_conn_state_trans_4_1 = {
4303     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4304     .next_state    = LLC_CONN_STATE_ADM,
4305     .ev_qualifiers = llc_d_conn_ev_qfyrs_4_1,
4306     .ev_actions    = llc_d_conn_actions_4_1,
4307 };
4308 
4309 /*
4310  * State transition for
4311  * LLC_CONN_EV_DATA_CONN_REQ event
4312  */
4313 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_5[] = {
4314     [0] = llc_conn_ev_qlfy_set_status_refuse,
4315     [1] = NULL,
4316 };
4317 
4318 /* just one member, NULL, .bss zeroes it */
4319 static const llc_conn_action_t llc_d_conn_actions_5[1];
4320 
4321 static struct llc_conn_state_trans llc_d_conn_state_trans_5 = {
4322     .ev        = llc_conn_ev_data_req,
4323     .next_state    = LLC_CONN_STATE_D_CONN,
4324     .ev_qualifiers = llc_d_conn_ev_qfyrs_5,
4325     .ev_actions    = llc_d_conn_actions_5,
4326 };
4327 
4328 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4329 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_6[] = {
4330     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4331     [1] = NULL,
4332 };
4333 
4334 static const llc_conn_action_t llc_d_conn_actions_6[] = {
4335     [0] = llc_conn_ac_send_disc_cmd_p_set_x,
4336     [1] = llc_conn_ac_start_ack_timer,
4337     [2] = llc_conn_ac_inc_retry_cnt_by_1,
4338     [3] = NULL,
4339 };
4340 
4341 static struct llc_conn_state_trans llc_d_conn_state_trans_6 = {
4342     .ev        = llc_conn_ev_ack_tmr_exp,
4343     .next_state    = LLC_CONN_STATE_D_CONN,
4344     .ev_qualifiers = llc_d_conn_ev_qfyrs_6,
4345     .ev_actions    = llc_d_conn_actions_6,
4346 };
4347 
4348 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event, cause_flag = 1 */
4349 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_7[] = {
4350     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4351     [1] = llc_conn_ev_qlfy_cause_flag_eq_1,
4352     [2] = llc_conn_ev_qlfy_set_status_failed,
4353     [3] = NULL,
4354 };
4355 
4356 static const llc_conn_action_t llc_d_conn_actions_7[] = {
4357     [0] = llc_conn_ac_disc_confirm,
4358     [1] = llc_conn_disc,
4359     [2] = NULL,
4360 };
4361 
4362 static struct llc_conn_state_trans llc_d_conn_state_trans_7 = {
4363     .ev        = llc_conn_ev_ack_tmr_exp,
4364     .next_state    = LLC_CONN_STATE_ADM,
4365     .ev_qualifiers = llc_d_conn_ev_qfyrs_7,
4366     .ev_actions    = llc_d_conn_actions_7,
4367 };
4368 
4369 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event, cause_flag = 0 */
4370 static const llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_8[] = {
4371     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4372     [1] = llc_conn_ev_qlfy_cause_flag_eq_0,
4373     [2] = llc_conn_ev_qlfy_set_status_failed,
4374     [3] = NULL,
4375 };
4376 
4377 static const llc_conn_action_t llc_d_conn_actions_8[] = {
4378     [0] = llc_conn_disc,
4379     [1] = NULL,
4380 };
4381 
4382 static struct llc_conn_state_trans llc_d_conn_state_trans_8 = {
4383     .ev        = llc_conn_ev_ack_tmr_exp,
4384     .next_state    = LLC_CONN_STATE_ADM,
4385     .ev_qualifiers = llc_d_conn_ev_qfyrs_8,
4386     .ev_actions    = llc_d_conn_actions_8,
4387 };
4388 
4389 /*
4390  * Array of pointers;
4391  * one to each transition
4392  */
4393 static struct llc_conn_state_trans *llc_d_conn_state_transitions[] = {
4394      [0] = &llc_d_conn_state_trans_5,   /* Request */
4395      [1] = &llc_common_state_trans_end,
4396      [2] = &llc_common_state_trans_end, /* Local busy */
4397      [3] = &llc_common_state_trans_end, /* Initiate PF cycle */
4398      [4] = &llc_d_conn_state_trans_6,   /* Timer */
4399      [5] = &llc_d_conn_state_trans_7,
4400      [6] = &llc_d_conn_state_trans_8,
4401      [7] = &llc_common_state_trans_end,
4402      [8] = &llc_d_conn_state_trans_1,   /* Receive frame */
4403      [9] = &llc_d_conn_state_trans_1_1,
4404     [10] = &llc_d_conn_state_trans_2,
4405     [11] = &llc_d_conn_state_trans_2_1,
4406     [12] = &llc_d_conn_state_trans_3,
4407     [13] = &llc_d_conn_state_trans_4,
4408     [14] = &llc_d_conn_state_trans_4_1,
4409     [15] = &llc_common_state_trans_end,
4410 };
4411 
4412 /* LLC_CONN_STATE_RESET transitions */
4413 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
4414 static const llc_conn_action_t llc_rst_actions_1[] = {
4415     [0] = llc_conn_ac_set_vs_0,
4416     [1] = llc_conn_ac_set_vr_0,
4417     [2] = llc_conn_ac_set_s_flag_1,
4418     [3] = llc_conn_ac_send_ua_rsp_f_set_p,
4419     [4] = NULL,
4420 };
4421 
4422 static struct llc_conn_state_trans llc_rst_state_trans_1 = {
4423     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4424     .next_state    = LLC_CONN_STATE_RESET,
4425     .ev_qualifiers = NONE,
4426     .ev_actions    = llc_rst_actions_1,
4427 };
4428 
4429 /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4430  * cause_flag = 1
4431  */
4432 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2[] = {
4433     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
4434     [1] = llc_conn_ev_qlfy_cause_flag_eq_1,
4435     [2] = llc_conn_ev_qlfy_set_status_conn,
4436     [3] = NULL,
4437 };
4438 
4439 static const llc_conn_action_t llc_rst_actions_2[] = {
4440     [0] = llc_conn_ac_stop_ack_timer,
4441     [1] = llc_conn_ac_set_vs_0,
4442     [2] = llc_conn_ac_set_vr_0,
4443     [3] = llc_conn_ac_upd_p_flag,
4444     [4] = llc_conn_ac_rst_confirm,
4445     [5] = llc_conn_ac_set_remote_busy_0,
4446     [6] = llc_conn_reset,
4447     [7] = NULL,
4448 };
4449 
4450 static struct llc_conn_state_trans llc_rst_state_trans_2 = {
4451     .ev        = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4452     .next_state    = LLC_CONN_STATE_NORMAL,
4453     .ev_qualifiers = llc_rst_ev_qfyrs_2,
4454     .ev_actions    = llc_rst_actions_2,
4455 };
4456 
4457 /* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4458  * cause_flag = 0
4459  */
4460 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2_1[] = {
4461     [0] = llc_conn_ev_qlfy_p_flag_eq_f,
4462     [1] = llc_conn_ev_qlfy_cause_flag_eq_0,
4463     [2] = llc_conn_ev_qlfy_set_status_rst_done,
4464     [3] = NULL,
4465 };
4466 
4467 static const llc_conn_action_t llc_rst_actions_2_1[] = {
4468     [0] = llc_conn_ac_stop_ack_timer,
4469     [1] = llc_conn_ac_set_vs_0,
4470     [2] = llc_conn_ac_set_vr_0,
4471     [3] = llc_conn_ac_upd_p_flag,
4472     [4] = llc_conn_ac_rst_confirm,
4473     [5] = llc_conn_ac_set_remote_busy_0,
4474     [6] = llc_conn_reset,
4475     [7] = NULL,
4476 };
4477 
4478 static struct llc_conn_state_trans llc_rst_state_trans_2_1 = {
4479     .ev        = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4480     .next_state    = LLC_CONN_STATE_NORMAL,
4481     .ev_qualifiers = llc_rst_ev_qfyrs_2_1,
4482     .ev_actions    = llc_rst_actions_2_1,
4483 };
4484 
4485 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4486 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_3[] = {
4487     [0] = llc_conn_ev_qlfy_s_flag_eq_1,
4488     [1] = llc_conn_ev_qlfy_set_status_rst_done,
4489     [2] = NULL,
4490 };
4491 
4492 static const llc_conn_action_t llc_rst_actions_3[] = {
4493     [0] = llc_conn_ac_set_p_flag_0,
4494     [1] = llc_conn_ac_set_remote_busy_0,
4495     [2] = NULL,
4496 };
4497 
4498 static struct llc_conn_state_trans llc_rst_state_trans_3 = {
4499     .ev        = llc_conn_ev_ack_tmr_exp,
4500     .next_state    = LLC_CONN_STATE_NORMAL,
4501     .ev_qualifiers = llc_rst_ev_qfyrs_3,
4502     .ev_actions    = llc_rst_actions_3,
4503 };
4504 
4505 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event,
4506  * cause_flag = 1
4507  */
4508 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4[] = {
4509     [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4510     [1] = llc_conn_ev_qlfy_set_status_disc,
4511     [2] = NULL,
4512 };
4513 static const llc_conn_action_t llc_rst_actions_4[] = {
4514     [0] = llc_conn_ac_send_dm_rsp_f_set_p,
4515     [1] = llc_conn_ac_disc_ind,
4516     [2] = llc_conn_ac_stop_ack_timer,
4517     [3] = llc_conn_disc,
4518     [4] = NULL,
4519 };
4520 
4521 static struct llc_conn_state_trans llc_rst_state_trans_4 = {
4522     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4523     .next_state    = LLC_CONN_STATE_ADM,
4524     .ev_qualifiers = llc_rst_ev_qfyrs_4,
4525     .ev_actions    = llc_rst_actions_4,
4526 };
4527 
4528 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event,
4529  * cause_flag = 0
4530  */
4531 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4_1[] = {
4532     [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4533     [1] = llc_conn_ev_qlfy_set_status_refuse,
4534     [2] = NULL,
4535 };
4536 
4537 static const llc_conn_action_t llc_rst_actions_4_1[] = {
4538     [0] = llc_conn_ac_send_dm_rsp_f_set_p,
4539     [1] = llc_conn_ac_stop_ack_timer,
4540     [2] = llc_conn_disc,
4541     [3] = NULL,
4542 };
4543 
4544 static struct llc_conn_state_trans llc_rst_state_trans_4_1 = {
4545     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4546     .next_state    = LLC_CONN_STATE_ADM,
4547     .ev_qualifiers = llc_rst_ev_qfyrs_4_1,
4548     .ev_actions    = llc_rst_actions_4_1,
4549 };
4550 
4551 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4552  * cause_flag = 1
4553  */
4554 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5[] = {
4555     [0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4556     [1] = llc_conn_ev_qlfy_set_status_disc,
4557     [2] = NULL,
4558 };
4559 
4560 static const llc_conn_action_t llc_rst_actions_5[] = {
4561     [0] = llc_conn_ac_disc_ind,
4562     [1] = llc_conn_ac_stop_ack_timer,
4563     [2] = llc_conn_disc,
4564     [3] = NULL,
4565 };
4566 
4567 static struct llc_conn_state_trans llc_rst_state_trans_5 = {
4568     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4569     .next_state    = LLC_CONN_STATE_ADM,
4570     .ev_qualifiers = llc_rst_ev_qfyrs_5,
4571     .ev_actions    = llc_rst_actions_5,
4572 };
4573 
4574 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4575  * cause_flag = 0
4576  */
4577 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5_1[] = {
4578     [0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4579     [1] = llc_conn_ev_qlfy_set_status_refuse,
4580     [2] = NULL,
4581 };
4582 
4583 static const llc_conn_action_t llc_rst_actions_5_1[] = {
4584     [0] = llc_conn_ac_stop_ack_timer,
4585     [1] = llc_conn_disc,
4586     [2] = NULL,
4587 };
4588 
4589 static struct llc_conn_state_trans llc_rst_state_trans_5_1 = {
4590     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4591     .next_state    = LLC_CONN_STATE_ADM,
4592     .ev_qualifiers = llc_rst_ev_qfyrs_5_1,
4593     .ev_actions    = llc_rst_actions_5_1,
4594 };
4595 
4596 /* State transitions for DATA_CONN_REQ event */
4597 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_6[] = {
4598     [0] = llc_conn_ev_qlfy_set_status_refuse,
4599     [1] = NULL,
4600 };
4601 
4602 /* just one member, NULL, .bss zeroes it */
4603 static const llc_conn_action_t llc_rst_actions_6[1];
4604 
4605 static struct llc_conn_state_trans llc_rst_state_trans_6 = {
4606     .ev        = llc_conn_ev_data_req,
4607     .next_state    = LLC_CONN_STATE_RESET,
4608     .ev_qualifiers = llc_rst_ev_qfyrs_6,
4609     .ev_actions    = llc_rst_actions_6,
4610 };
4611 
4612 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4613 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_7[] = {
4614     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4615     [1] = llc_conn_ev_qlfy_s_flag_eq_0,
4616     [2] = NULL,
4617 };
4618 
4619 static const llc_conn_action_t llc_rst_actions_7[] = {
4620     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
4621     [1] = llc_conn_ac_start_ack_timer,
4622     [2] = llc_conn_ac_inc_retry_cnt_by_1,
4623     [3] = NULL,
4624 };
4625 
4626 static struct llc_conn_state_trans llc_rst_state_trans_7 = {
4627     .ev        = llc_conn_ev_ack_tmr_exp,
4628     .next_state    = LLC_CONN_STATE_RESET,
4629     .ev_qualifiers = llc_rst_ev_qfyrs_7,
4630     .ev_actions    = llc_rst_actions_7,
4631 };
4632 
4633 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4634 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8[] = {
4635     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4636     [1] = llc_conn_ev_qlfy_s_flag_eq_0,
4637     [2] = llc_conn_ev_qlfy_cause_flag_eq_1,
4638     [3] = llc_conn_ev_qlfy_set_status_failed,
4639     [4] = NULL,
4640 };
4641 static const llc_conn_action_t llc_rst_actions_8[] = {
4642     [0] = llc_conn_ac_disc_ind,
4643     [1] = llc_conn_disc,
4644     [2] = NULL,
4645 };
4646 
4647 static struct llc_conn_state_trans llc_rst_state_trans_8 = {
4648     .ev        = llc_conn_ev_ack_tmr_exp,
4649     .next_state    = LLC_CONN_STATE_ADM,
4650     .ev_qualifiers = llc_rst_ev_qfyrs_8,
4651     .ev_actions    = llc_rst_actions_8,
4652 };
4653 
4654 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4655 static const llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8_1[] = {
4656     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4657     [1] = llc_conn_ev_qlfy_s_flag_eq_0,
4658     [2] = llc_conn_ev_qlfy_cause_flag_eq_0,
4659     [3] = llc_conn_ev_qlfy_set_status_failed,
4660     [4] = NULL,
4661 };
4662 static const llc_conn_action_t llc_rst_actions_8_1[] = {
4663     [0] = llc_conn_ac_disc_ind,
4664     [1] = llc_conn_disc,
4665     [2] = NULL,
4666 };
4667 
4668 static struct llc_conn_state_trans llc_rst_state_trans_8_1 = {
4669     .ev        = llc_conn_ev_ack_tmr_exp,
4670     .next_state    = LLC_CONN_STATE_ADM,
4671     .ev_qualifiers = llc_rst_ev_qfyrs_8_1,
4672     .ev_actions    = llc_rst_actions_8_1,
4673 };
4674 
4675 /*
4676  * Array of pointers;
4677  * one to each transition
4678  */
4679 static struct llc_conn_state_trans *llc_rst_state_transitions[] = {
4680      [0] = &llc_rst_state_trans_6,      /* Request */
4681      [1] = &llc_common_state_trans_end,
4682      [2] = &llc_common_state_trans_end, /* Local busy */
4683      [3] = &llc_common_state_trans_end, /* Initiate PF cycle */
4684      [4] = &llc_rst_state_trans_3,      /* Timer */
4685      [5] = &llc_rst_state_trans_7,
4686      [6] = &llc_rst_state_trans_8,
4687      [7] = &llc_rst_state_trans_8_1,
4688      [8] = &llc_common_state_trans_end,
4689      [9] = &llc_rst_state_trans_1,      /* Receive frame */
4690     [10] = &llc_rst_state_trans_2,
4691     [11] = &llc_rst_state_trans_2_1,
4692     [12] = &llc_rst_state_trans_4,
4693     [13] = &llc_rst_state_trans_4_1,
4694     [14] = &llc_rst_state_trans_5,
4695     [15] = &llc_rst_state_trans_5_1,
4696     [16] = &llc_common_state_trans_end,
4697 };
4698 
4699 /* LLC_CONN_STATE_ERROR transitions */
4700 /* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
4701 static const llc_conn_action_t llc_error_actions_1[] = {
4702     [0] = llc_conn_ac_set_vs_0,
4703     [1] = llc_conn_ac_set_vr_0,
4704     [2] = llc_conn_ac_send_ua_rsp_f_set_p,
4705     [3] = llc_conn_ac_rst_ind,
4706     [4] = llc_conn_ac_set_p_flag_0,
4707     [5] = llc_conn_ac_set_remote_busy_0,
4708     [6] = llc_conn_ac_stop_ack_timer,
4709     [7] = llc_conn_reset,
4710     [8] = NULL,
4711 };
4712 
4713 static struct llc_conn_state_trans llc_error_state_trans_1 = {
4714     .ev        = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4715     .next_state    = LLC_CONN_STATE_NORMAL,
4716     .ev_qualifiers = NONE,
4717     .ev_actions    = llc_error_actions_1,
4718 };
4719 
4720 /* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
4721 static const llc_conn_action_t llc_error_actions_2[] = {
4722     [0] = llc_conn_ac_send_ua_rsp_f_set_p,
4723     [1] = llc_conn_ac_disc_ind,
4724     [2] = llc_conn_ac_stop_ack_timer,
4725     [3] = llc_conn_disc,
4726     [4] = NULL,
4727 };
4728 
4729 static struct llc_conn_state_trans llc_error_state_trans_2 = {
4730     .ev        = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4731     .next_state    = LLC_CONN_STATE_ADM,
4732     .ev_qualifiers = NONE,
4733     .ev_actions    = llc_error_actions_2,
4734 };
4735 
4736 /* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
4737 static const llc_conn_action_t llc_error_actions_3[] = {
4738     [0] = llc_conn_ac_disc_ind,
4739     [1] = llc_conn_ac_stop_ack_timer,
4740     [2] = llc_conn_disc,
4741     [3] = NULL,
4742 };
4743 
4744 static struct llc_conn_state_trans llc_error_state_trans_3 = {
4745     .ev        = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4746     .next_state    = LLC_CONN_STATE_ADM,
4747     .ev_qualifiers = NONE,
4748     .ev_actions    = llc_error_actions_3,
4749 };
4750 
4751 /* State transitions for LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X event */
4752 static const llc_conn_action_t llc_error_actions_4[] = {
4753     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
4754     [1] = llc_conn_ac_start_ack_timer,
4755     [2] = llc_conn_ac_set_retry_cnt_0,
4756     [3] = llc_conn_ac_set_cause_flag_0,
4757     [4] = NULL,
4758 };
4759 
4760 static struct llc_conn_state_trans llc_error_state_trans_4 = {
4761     .ev        = llc_conn_ev_rx_frmr_rsp_fbit_set_x,
4762     .next_state    = LLC_CONN_STATE_RESET,
4763     .ev_qualifiers = NONE,
4764     .ev_actions    = llc_error_actions_4,
4765 };
4766 
4767 /* State transitions for LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_X event */
4768 static const llc_conn_action_t llc_error_actions_5[] = {
4769     [0] = llc_conn_ac_resend_frmr_rsp_f_set_p,
4770     [1] = NULL,
4771 };
4772 
4773 static struct llc_conn_state_trans llc_error_state_trans_5 = {
4774     .ev        = llc_conn_ev_rx_xxx_cmd_pbit_set_x,
4775     .next_state    = LLC_CONN_STATE_ERROR,
4776     .ev_qualifiers = NONE,
4777     .ev_actions    = llc_error_actions_5,
4778 };
4779 
4780 /* State transitions for LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_X event */
4781 static struct llc_conn_state_trans llc_error_state_trans_6 = {
4782     .ev        = llc_conn_ev_rx_xxx_rsp_fbit_set_x,
4783     .next_state    = LLC_CONN_STATE_ERROR,
4784     .ev_qualifiers = NONE,
4785     .ev_actions    = NONE,
4786 };
4787 
4788 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4789 static const llc_conn_ev_qfyr_t llc_error_ev_qfyrs_7[] = {
4790     [0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4791     [1] = NULL,
4792 };
4793 
4794 static const llc_conn_action_t llc_error_actions_7[] = {
4795     [0] = llc_conn_ac_resend_frmr_rsp_f_set_0,
4796     [1] = llc_conn_ac_start_ack_timer,
4797     [2] = llc_conn_ac_inc_retry_cnt_by_1,
4798     [3] = NULL,
4799 };
4800 
4801 static struct llc_conn_state_trans llc_error_state_trans_7 = {
4802     .ev        = llc_conn_ev_ack_tmr_exp,
4803     .next_state    = LLC_CONN_STATE_ERROR,
4804     .ev_qualifiers = llc_error_ev_qfyrs_7,
4805     .ev_actions    = llc_error_actions_7,
4806 };
4807 
4808 /* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4809 static const llc_conn_ev_qfyr_t llc_error_ev_qfyrs_8[] = {
4810     [0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4811     [1] = NULL,
4812 };
4813 
4814 static const llc_conn_action_t llc_error_actions_8[] = {
4815     [0] = llc_conn_ac_send_sabme_cmd_p_set_x,
4816     [1] = llc_conn_ac_set_s_flag_0,
4817     [2] = llc_conn_ac_start_ack_timer,
4818     [3] = llc_conn_ac_set_retry_cnt_0,
4819     [4] = llc_conn_ac_set_cause_flag_0,
4820     [5] = NULL,
4821 };
4822 
4823 static struct llc_conn_state_trans llc_error_state_trans_8 = {
4824     .ev        = llc_conn_ev_ack_tmr_exp,
4825     .next_state    = LLC_CONN_STATE_RESET,
4826     .ev_qualifiers = llc_error_ev_qfyrs_8,
4827     .ev_actions    = llc_error_actions_8,
4828 };
4829 
4830 /* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
4831 static const llc_conn_ev_qfyr_t llc_error_ev_qfyrs_9[] = {
4832     [0] = llc_conn_ev_qlfy_set_status_refuse,
4833     [1] = NULL,
4834 };
4835 
4836 /* just one member, NULL, .bss zeroes it */
4837 static const llc_conn_action_t llc_error_actions_9[1];
4838 
4839 static struct llc_conn_state_trans llc_error_state_trans_9 = {
4840     .ev        = llc_conn_ev_data_req,
4841     .next_state    = LLC_CONN_STATE_ERROR,
4842     .ev_qualifiers = llc_error_ev_qfyrs_9,
4843     .ev_actions    = llc_error_actions_9,
4844 };
4845 
4846 /*
4847  * Array of pointers;
4848  * one to each transition
4849  */
4850 static struct llc_conn_state_trans *llc_error_state_transitions[] = {
4851      [0] = &llc_error_state_trans_9,    /* Request */
4852      [1] = &llc_common_state_trans_end,
4853      [2] = &llc_common_state_trans_end, /* Local busy */
4854      [3] = &llc_common_state_trans_end, /* Initiate PF cycle */
4855      [4] = &llc_error_state_trans_7,    /* Timer */
4856      [5] = &llc_error_state_trans_8,
4857      [6] = &llc_common_state_trans_end,
4858      [7] = &llc_error_state_trans_1,    /* Receive frame */
4859      [8] = &llc_error_state_trans_2,
4860      [9] = &llc_error_state_trans_3,
4861     [10] = &llc_error_state_trans_4,
4862     [11] = &llc_error_state_trans_5,
4863     [12] = &llc_error_state_trans_6,
4864     [13] = &llc_common_state_trans_end,
4865 };
4866 
4867 /* LLC_CONN_STATE_TEMP transitions */
4868 /* State transitions for LLC_CONN_EV_DISC_REQ event */
4869 static const llc_conn_action_t llc_temp_actions_1[] = {
4870     [0] = llc_conn_ac_stop_all_timers,
4871     [1] = llc_conn_ac_send_disc_cmd_p_set_x,
4872     [2] = llc_conn_disc,
4873     [3] = NULL,
4874 };
4875 
4876 static struct llc_conn_state_trans llc_temp_state_trans_1 = {
4877     .ev        = llc_conn_ev_disc_req,
4878     .next_state    = LLC_CONN_STATE_ADM,
4879     .ev_qualifiers = NONE,
4880     .ev_actions    = llc_temp_actions_1,
4881 };
4882 
4883 /*
4884  * Array of pointers;
4885  * one to each transition
4886  */
4887 static struct llc_conn_state_trans *llc_temp_state_transitions[] = {
4888     [0] = &llc_temp_state_trans_1,      /* requests */
4889     [1] = &llc_common_state_trans_end,
4890     [2] = &llc_common_state_trans_end,  /* local busy */
4891     [3] = &llc_common_state_trans_end,  /* init_pf_cycle */
4892     [4] = &llc_common_state_trans_end,  /* timer */
4893     [5] = &llc_common_state_trans_end,  /* receive */
4894 };
4895 
4896 /* Connection State Transition Table */
4897 struct llc_conn_state llc_conn_state_table[NBR_CONN_STATES] = {
4898     [LLC_CONN_STATE_ADM - 1] = {
4899         .current_state  = LLC_CONN_STATE_ADM,
4900         .transitions    = llc_adm_state_transitions,
4901     },
4902     [LLC_CONN_STATE_SETUP - 1] = {
4903         .current_state  = LLC_CONN_STATE_SETUP,
4904         .transitions    = llc_setup_state_transitions,
4905     },
4906     [LLC_CONN_STATE_NORMAL - 1] = {
4907         .current_state  = LLC_CONN_STATE_NORMAL,
4908         .transitions    = llc_normal_state_transitions,
4909     },
4910     [LLC_CONN_STATE_BUSY - 1] = {
4911         .current_state  = LLC_CONN_STATE_BUSY,
4912         .transitions    = llc_busy_state_transitions,
4913     },
4914     [LLC_CONN_STATE_REJ - 1] = {
4915         .current_state  = LLC_CONN_STATE_REJ,
4916         .transitions    = llc_reject_state_transitions,
4917     },
4918     [LLC_CONN_STATE_AWAIT - 1] = {
4919         .current_state  = LLC_CONN_STATE_AWAIT,
4920         .transitions    = llc_await_state_transitions,
4921     },
4922     [LLC_CONN_STATE_AWAIT_BUSY - 1] = {
4923         .current_state  = LLC_CONN_STATE_AWAIT_BUSY,
4924         .transitions    = llc_await_busy_state_transitions,
4925     },
4926     [LLC_CONN_STATE_AWAIT_REJ - 1] = {
4927         .current_state  = LLC_CONN_STATE_AWAIT_REJ,
4928         .transitions    = llc_await_rejct_state_transitions,
4929     },
4930     [LLC_CONN_STATE_D_CONN - 1] = {
4931         .current_state  = LLC_CONN_STATE_D_CONN,
4932         .transitions    = llc_d_conn_state_transitions,
4933     },
4934     [LLC_CONN_STATE_RESET - 1] = {
4935         .current_state  = LLC_CONN_STATE_RESET,
4936         .transitions    = llc_rst_state_transitions,
4937     },
4938     [LLC_CONN_STATE_ERROR - 1] = {
4939         .current_state  = LLC_CONN_STATE_ERROR,
4940         .transitions    = llc_error_state_transitions,
4941     },
4942     [LLC_CONN_STATE_TEMP - 1] = {
4943         .current_state  = LLC_CONN_STATE_TEMP,
4944         .transitions    = llc_temp_state_transitions,
4945     },
4946 };