11 void foo1(void *data
) { printf("foo1()\n"); }
12 void foo2(void *data
) { printf("foo2()\n"); }
20 state_t
*state1
, *state2
;
23 /* Initialize states */
24 state_init(&state1
, 2<<5, 2);
25 state_init(&state2
, 2<<5, 2);
27 /* Construct state transition table */
28 state_add_evt(state1
, EVENT_ID
, "event1", foo1
, state2
);
29 state_add_evt(state2
, EVENT_ID
, "event2", foo2
, state1
);
31 state_print_evts(state1
);
32 state_print_evts(state2
);
35 fsm_init(&fsm
, 2<<5, 2);
37 fsm_add_state(fsm
, STATE1_ID
, state1
);
38 fsm_add_state(fsm
, STATE2_ID
, state2
);
40 fsm_print_states(fsm
);