1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef _LINUX_TRACE_REMOTE_EVENTS_H 4 #define _LINUX_TRACE_REMOTE_EVENTS_H 5 6 struct trace_remote; 7 struct trace_event_fields; 8 struct trace_seq; 9 10 struct remote_event_hdr { 11 unsigned short id; 12 }; 13 14 #define REMOTE_EVENT_NAME_MAX 30 15 struct remote_event { 16 char name[REMOTE_EVENT_NAME_MAX]; 17 unsigned short id; 18 bool enabled; 19 struct trace_remote *remote; 20 struct trace_event_fields *fields; 21 char *print_fmt; 22 void (*print)(void *evt, struct trace_seq *seq); 23 }; 24 25 #define RE_STRUCT(__args...) __args 26 #define re_field(__type, __field) __type __field; 27 28 #define REMOTE_EVENT_FORMAT(__name, __struct) \ 29 struct remote_event_format_##__name { \ 30 struct remote_event_hdr hdr; \ 31 __struct \ 32 } 33 #endif 34