1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM bpf_test_run
4
5#if !defined(_TRACE_BPF_TEST_RUN_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_BPF_TEST_RUN_H
7
8#include <linux/tracepoint.h>
9
10DECLARE_EVENT_CLASS(bpf_test_finish,
11
12	TP_PROTO(int *err),
13
14	TP_ARGS(err),
15
16	TP_STRUCT__entry(
17		__field(int, err)
18	),
19
20	TP_fast_assign(
21		__entry->err = *err;
22	),
23
24	TP_printk("bpf_test_finish with err=%d", __entry->err)
25);
26
27#ifdef DEFINE_EVENT_WRITABLE
28#undef BPF_TEST_RUN_DEFINE_EVENT
29#define BPF_TEST_RUN_DEFINE_EVENT(template, call, proto, args, size)	\
30	DEFINE_EVENT_WRITABLE(template, call, PARAMS(proto),		\
31			      PARAMS(args), size)
32#else
33#undef BPF_TEST_RUN_DEFINE_EVENT
34#define BPF_TEST_RUN_DEFINE_EVENT(template, call, proto, args, size)	\
35	DEFINE_EVENT(template, call, PARAMS(proto), PARAMS(args))
36#endif
37
38BPF_TEST_RUN_DEFINE_EVENT(bpf_test_finish, bpf_test_finish,
39
40	TP_PROTO(int *err),
41
42	TP_ARGS(err),
43
44	sizeof(int)
45);
46
47#endif
48
49/* This part must be outside protection */
50#include <trace/define_trace.h>
51