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

📄 llc_c_st.c

📁 linux 内核源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * Array of pointers; * one to each transition */static struct llc_conn_state_trans *llc_adm_state_transitions[] = {	[0] = &llc_adm_state_trans_1,		/* Request */	[1] = &llc_common_state_trans_end,	[2] = &llc_common_state_trans_end,	/* local_busy */	[3] = &llc_common_state_trans_end,	/* init_pf_cycle */	[4] = &llc_common_state_trans_end,	/* timer */	[5] = &llc_adm_state_trans_2,		/* Receive frame */	[6] = &llc_adm_state_trans_3,	[7] = &llc_adm_state_trans_4,	[8] = &llc_adm_state_trans_5,	[9] = &llc_common_state_trans_end,};/* LLC_CONN_STATE_SETUP transitions *//* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */static llc_conn_action_t llc_setup_actions_1[] = {	[0] = llc_conn_ac_send_ua_rsp_f_set_p,	[1] = llc_conn_ac_set_vs_0,	[2] = llc_conn_ac_set_vr_0,	[3] = llc_conn_ac_set_s_flag_1,	[4] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_1 = {	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,	.next_state    = LLC_CONN_STATE_SETUP,	.ev_qualifiers = NONE,	.ev_actions    = llc_setup_actions_1,};/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_2[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_f,	[1] = llc_conn_ev_qlfy_set_status_conn,	[2] = NULL,};static llc_conn_action_t llc_setup_actions_2[] = {	[0] = llc_conn_ac_stop_ack_timer,	[1] = llc_conn_ac_set_vs_0,	[2] = llc_conn_ac_set_vr_0,	[3] = llc_conn_ac_upd_p_flag,	[4] = llc_conn_ac_set_remote_busy_0,	[5] = llc_conn_ac_conn_confirm,	[6] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_2 = {	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,	.next_state    = LLC_CONN_STATE_NORMAL,	.ev_qualifiers = llc_setup_ev_qfyrs_2,	.ev_actions    = llc_setup_actions_2,};/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_3[] = {	[0] = llc_conn_ev_qlfy_s_flag_eq_1,	[1] = llc_conn_ev_qlfy_set_status_conn,	[2] = NULL,};static llc_conn_action_t llc_setup_actions_3[] = {	[0] = llc_conn_ac_set_p_flag_0,	[1] = llc_conn_ac_set_remote_busy_0,	[2] = llc_conn_ac_conn_confirm,	[3] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_3 = {	.ev	       = llc_conn_ev_ack_tmr_exp,	.next_state    = LLC_CONN_STATE_NORMAL,	.ev_qualifiers = llc_setup_ev_qfyrs_3,	.ev_actions    = llc_setup_actions_3,};/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_4[] = {	[0] = llc_conn_ev_qlfy_set_status_disc,	[1] = NULL,};static llc_conn_action_t llc_setup_actions_4[] = {	[0] = llc_conn_ac_send_dm_rsp_f_set_p,	[1] = llc_conn_ac_stop_ack_timer,	[2] = llc_conn_ac_conn_confirm,	[3] = llc_conn_disc,	[4] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_4 = {	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,	.next_state    = LLC_CONN_STATE_ADM,	.ev_qualifiers = llc_setup_ev_qfyrs_4,	.ev_actions    = llc_setup_actions_4,};/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_5[] = {	[0] = llc_conn_ev_qlfy_set_status_disc,	[1] = NULL,};static llc_conn_action_t llc_setup_actions_5[] = {	[0] = llc_conn_ac_stop_ack_timer,	[1] = llc_conn_ac_conn_confirm,	[2] = llc_conn_disc,	[3] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_5 = {	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,	.next_state    = LLC_CONN_STATE_ADM,	.ev_qualifiers = llc_setup_ev_qfyrs_5,	.ev_actions    = llc_setup_actions_5,};/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_7[] = {	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,	[1] = llc_conn_ev_qlfy_s_flag_eq_0,	[2] = NULL,};static llc_conn_action_t llc_setup_actions_7[] = {	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,	[1] = llc_conn_ac_start_ack_timer,	[2] = llc_conn_ac_inc_retry_cnt_by_1,	[3] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_7 = {	.ev	       = llc_conn_ev_ack_tmr_exp,	.next_state    = LLC_CONN_STATE_SETUP,	.ev_qualifiers = llc_setup_ev_qfyrs_7,	.ev_actions    = llc_setup_actions_7,};/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_8[] = {	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,	[1] = llc_conn_ev_qlfy_s_flag_eq_0,	[2] = llc_conn_ev_qlfy_set_status_failed,	[3] = NULL,};static llc_conn_action_t llc_setup_actions_8[] = {	[0] = llc_conn_ac_conn_confirm,	[1] = llc_conn_disc,	[2] = NULL,};static struct llc_conn_state_trans llc_setup_state_trans_8 = {	.ev	       = llc_conn_ev_ack_tmr_exp,	.next_state    = LLC_CONN_STATE_ADM,	.ev_qualifiers = llc_setup_ev_qfyrs_8,	.ev_actions    = llc_setup_actions_8,};/* * Array of pointers; * one to each transition */static struct llc_conn_state_trans *llc_setup_state_transitions[] = {	 [0] = &llc_common_state_trans_end,	/* Request */	 [1] = &llc_common_state_trans_end,	/* local busy */	 [2] = &llc_common_state_trans_end,	/* init_pf_cycle */	 [3] = &llc_setup_state_trans_3,	/* Timer */	 [4] = &llc_setup_state_trans_7,	 [5] = &llc_setup_state_trans_8,	 [6] = &llc_common_state_trans_end,	 [7] = &llc_setup_state_trans_1,	/* Receive frame */	 [8] = &llc_setup_state_trans_2,	 [9] = &llc_setup_state_trans_4,	[10] = &llc_setup_state_trans_5,	[11] = &llc_common_state_trans_end,};/* LLC_CONN_STATE_NORMAL transitions *//* State transitions for LLC_CONN_EV_DATA_REQ event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_1[] = {	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,	[1] = llc_conn_ev_qlfy_p_flag_eq_0,	[2] = llc_conn_ev_qlfy_last_frame_eq_0,	[3] = NULL,};static llc_conn_action_t llc_normal_actions_1[] = {	[0] = llc_conn_ac_send_i_as_ack,	[1] = llc_conn_ac_start_ack_tmr_if_not_running,	[2] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_1 = {	.ev	       = llc_conn_ev_data_req,	.next_state    = LLC_CONN_STATE_NORMAL,	.ev_qualifiers = llc_normal_ev_qfyrs_1,	.ev_actions    = llc_normal_actions_1,};/* State transitions for LLC_CONN_EV_DATA_REQ event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2[] = {	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,	[1] = llc_conn_ev_qlfy_p_flag_eq_0,	[2] = llc_conn_ev_qlfy_last_frame_eq_1,	[3] = NULL,};static llc_conn_action_t llc_normal_actions_2[] = {	[0] = llc_conn_ac_send_i_cmd_p_set_1,	[1] = llc_conn_ac_start_p_timer,	[2] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_2 = {	.ev	       = llc_conn_ev_data_req,	.next_state    = LLC_CONN_STATE_NORMAL,	.ev_qualifiers = llc_normal_ev_qfyrs_2,	.ev_actions    = llc_normal_actions_2,};/* State transitions for LLC_CONN_EV_DATA_REQ event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2_1[] = {	[0] = llc_conn_ev_qlfy_remote_busy_eq_1,	[1] = llc_conn_ev_qlfy_set_status_remote_busy,	[2] = NULL,};/* just one member, NULL, .bss zeroes it */static llc_conn_action_t llc_normal_actions_2_1[1];static struct llc_conn_state_trans llc_normal_state_trans_2_1 = {	.ev	       = llc_conn_ev_data_req,	.next_state    = LLC_CONN_STATE_NORMAL,	.ev_qualifiers = llc_normal_ev_qfyrs_2_1,	.ev_actions    = llc_normal_actions_2_1,};/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_3[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_0,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_3[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rnr_xxx_x_set_0,	[2] = llc_conn_ac_set_data_flag_0,	[3] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_3 = {	.ev	       = llc_conn_ev_local_busy_detected,	.next_state    = LLC_CONN_STATE_BUSY,	.ev_qualifiers = llc_normal_ev_qfyrs_3,	.ev_actions    = llc_normal_actions_3,};/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_4[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_1,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_4[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rnr_xxx_x_set_0,	[2] = llc_conn_ac_set_data_flag_0,	[3] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_4 = {	.ev	       = llc_conn_ev_local_busy_detected,	.next_state    = LLC_CONN_STATE_BUSY,	.ev_qualifiers = llc_normal_ev_qfyrs_4,	.ev_actions    = llc_normal_actions_4,};/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5a[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_0,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_5a[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rej_xxx_x_set_0,	[2] = llc_conn_ac_upd_nr_received,	[3] = llc_conn_ac_upd_p_flag,	[4] = llc_conn_ac_start_rej_timer,	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,	[6] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_5a = {	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,	.next_state    = LLC_CONN_STATE_REJ,	.ev_qualifiers = llc_normal_ev_qfyrs_5a,	.ev_actions    = llc_normal_actions_5a,};/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5b[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_0,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_5b[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rej_xxx_x_set_0,	[2] = llc_conn_ac_upd_nr_received,	[3] = llc_conn_ac_upd_p_flag,	[4] = llc_conn_ac_start_rej_timer,	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,	[6] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_5b = {	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,	.next_state    = LLC_CONN_STATE_REJ,	.ev_qualifiers = llc_normal_ev_qfyrs_5b,	.ev_actions    = llc_normal_actions_5b,};/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5c[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_1,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_5c[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rej_xxx_x_set_0,	[2] = llc_conn_ac_upd_nr_received,	[3] = llc_conn_ac_upd_p_flag,	[4] = llc_conn_ac_start_rej_timer,	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,	[6] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_5c = {	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,	.next_state    = LLC_CONN_STATE_REJ,	.ev_qualifiers = llc_normal_ev_qfyrs_5c,	.ev_actions    = llc_normal_actions_5c,};/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6a[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_1,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_6a[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rej_xxx_x_set_0,	[2] = llc_conn_ac_upd_nr_received,	[3] = llc_conn_ac_start_rej_timer,	[4] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_6a = {	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,	.next_state    = LLC_CONN_STATE_REJ,	.ev_qualifiers = llc_normal_ev_qfyrs_6a,	.ev_actions    = llc_normal_actions_6a,};/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6b[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_1,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_6b[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rej_xxx_x_set_0,	[2] = llc_conn_ac_upd_nr_received,	[3] = llc_conn_ac_start_rej_timer,	[4] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_6b = {	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,	.next_state    = LLC_CONN_STATE_REJ,	.ev_qualifiers = llc_normal_ev_qfyrs_6b,	.ev_actions    = llc_normal_actions_6b,};/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */static llc_conn_action_t llc_normal_actions_7[] = {	[0] = llc_conn_ac_rst_sendack_flag,	[1] = llc_conn_ac_send_rej_rsp_f_set_1,	[2] = llc_conn_ac_upd_nr_received,	[3] = llc_conn_ac_start_rej_timer,	[4] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_7 = {	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,	.next_state    = LLC_CONN_STATE_REJ,	.ev_qualifiers = NONE,	.ev_actions    = llc_normal_actions_7,};/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8a[] = {	[0] = llc_conn_ev_qlfy_p_flag_eq_f,	[1] = NULL,};static llc_conn_action_t llc_normal_actions_8[] = {	[0] = llc_conn_ac_inc_vr_by_1,	[1] = llc_conn_ac_data_ind,	[2] = llc_conn_ac_upd_p_flag,	[3] = llc_conn_ac_upd_nr_received,	[4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,	[5] = llc_conn_ac_send_ack_if_needed,	[6] = NULL,};static struct llc_conn_state_trans llc_normal_state_trans_8a = {	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_x,

⌨️ 快捷键说明

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