| /* 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 |