1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Automatically generated C representation of snroc automaton 4 * For further information about this format, see kernel documentation: 5 * Documentation/trace/rv/deterministic_automata.rst 6 */ 7 8 #define MONITOR_NAME snroc 9 10 enum states_snroc { 11 other_context_snroc, 12 own_context_snroc, 13 state_max_snroc, 14 }; 15 16 #define INVALID_STATE state_max_snroc 17 18 enum events_snroc { 19 sched_set_state_snroc, 20 sched_switch_in_snroc, 21 sched_switch_out_snroc, 22 event_max_snroc, 23 }; 24 25 struct automaton_snroc { 26 char *state_names[state_max_snroc]; 27 char *event_names[event_max_snroc]; 28 unsigned char function[state_max_snroc][event_max_snroc]; 29 unsigned char initial_state; 30 bool final_states[state_max_snroc]; 31 }; 32 33 static const struct automaton_snroc automaton_snroc = { 34 .state_names = { 35 "other_context", 36 "own_context", 37 }, 38 .event_names = { 39 "sched_set_state", 40 "sched_switch_in", 41 "sched_switch_out", 42 }, 43 .function = { 44 { INVALID_STATE, own_context_snroc, INVALID_STATE }, 45 { own_context_snroc, INVALID_STATE, other_context_snroc }, 46 }, 47 .initial_state = other_context_snroc, 48 .final_states = { 1, 0 }, 49 }; 50