/* Processes an event, executes any transitions related to that event and updates the state of the station.  */
static u16 llc_station_next_state(struct sk_buff *skb)
/* Processes an event, executes any transitions related to that event and updates the state of the station.  */
static u16 llc_station_next_state(struct sk_buff *skb)
{
	u16 rc = 1;
	struct llc_station_state_trans *trans;
	if (llc_main_station.state > LLC_NBR_STATION_STATES)
		goto out;
	trans = llc_find_station_trans(skb);
	if (trans) {
		rc = llc_exec_station_trans_actions(trans, skb);
		if (!rc)
			llc_main_station.state = trans->next_state;
	} else
		rc = 0;
out:
	llc_station_free_ev(skb);
	return rc;
}