xref: /linux/tools/verification/rvgen/tests/golden/test_da/test_da.h (revision 55ee4b931a7ffedc886175d265dd6e6d08fd4151)
1*655d4809SGabriele Monaco /* SPDX-License-Identifier: GPL-2.0 */
2*655d4809SGabriele Monaco /*
3*655d4809SGabriele Monaco  * Automatically generated C representation of test_da automaton
4*655d4809SGabriele Monaco  * For further information about this format, see kernel documentation:
5*655d4809SGabriele Monaco  *   Documentation/trace/rv/deterministic_automata.rst
6*655d4809SGabriele Monaco  */
7*655d4809SGabriele Monaco 
8*655d4809SGabriele Monaco #define MONITOR_NAME test_da
9*655d4809SGabriele Monaco 
10*655d4809SGabriele Monaco enum states_test_da {
11*655d4809SGabriele Monaco 	state_a_test_da,
12*655d4809SGabriele Monaco 	state_b_test_da,
13*655d4809SGabriele Monaco 	state_max_test_da,
14*655d4809SGabriele Monaco };
15*655d4809SGabriele Monaco 
16*655d4809SGabriele Monaco #define INVALID_STATE state_max_test_da
17*655d4809SGabriele Monaco 
18*655d4809SGabriele Monaco enum events_test_da {
19*655d4809SGabriele Monaco 	event_1_test_da,
20*655d4809SGabriele Monaco 	event_2_test_da,
21*655d4809SGabriele Monaco 	event_max_test_da,
22*655d4809SGabriele Monaco };
23*655d4809SGabriele Monaco 
24*655d4809SGabriele Monaco struct automaton_test_da {
25*655d4809SGabriele Monaco 	char *state_names[state_max_test_da];
26*655d4809SGabriele Monaco 	char *event_names[event_max_test_da];
27*655d4809SGabriele Monaco 	unsigned char function[state_max_test_da][event_max_test_da];
28*655d4809SGabriele Monaco 	unsigned char initial_state;
29*655d4809SGabriele Monaco 	bool final_states[state_max_test_da];
30*655d4809SGabriele Monaco };
31*655d4809SGabriele Monaco 
32*655d4809SGabriele Monaco static const struct automaton_test_da automaton_test_da = {
33*655d4809SGabriele Monaco 	.state_names = {
34*655d4809SGabriele Monaco 		"state_a",
35*655d4809SGabriele Monaco 		"state_b",
36*655d4809SGabriele Monaco 	},
37*655d4809SGabriele Monaco 	.event_names = {
38*655d4809SGabriele Monaco 		"event_1",
39*655d4809SGabriele Monaco 		"event_2",
40*655d4809SGabriele Monaco 	},
41*655d4809SGabriele Monaco 	.function = {
42*655d4809SGabriele Monaco 		{       state_b_test_da,       state_a_test_da },
43*655d4809SGabriele Monaco 		{         INVALID_STATE,       state_a_test_da },
44*655d4809SGabriele Monaco 	},
45*655d4809SGabriele Monaco 	.initial_state = state_a_test_da,
46*655d4809SGabriele Monaco 	.final_states = { 1, 0 },
47*655d4809SGabriele Monaco };
48