/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_TRACE_REMOTE_EVENTS_H #define _LINUX_TRACE_REMOTE_EVENTS_H struct trace_remote; struct trace_event_fields; struct trace_seq; struct remote_event_hdr { unsigned short id; }; #define REMOTE_EVENT_NAME_MAX 30 struct remote_event { char name[REMOTE_EVENT_NAME_MAX]; unsigned short id; bool enabled; struct trace_remote *remote; struct trace_event_fields *fields; char *print_fmt; void (*print)(void *evt, struct trace_seq *seq); }; #define RE_STRUCT(__args...) __args #define re_field(__type, __field) __type __field; #define REMOTE_EVENT_FORMAT(__name, __struct) \ struct remote_event_format_##__name { \ struct remote_event_hdr hdr; \ __struct \ } #endif