linux/kernel/trace/trace_synth.h
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#ifndef __TRACE_SYNTH_H
   3#define __TRACE_SYNTH_H
   4
   5#include "trace_dynevent.h"
   6
   7#define SYNTH_SYSTEM            "synthetic"
   8#define SYNTH_FIELDS_MAX        32
   9
  10#define STR_VAR_LEN_MAX         32 /* must be multiple of sizeof(u64) */
  11
  12struct synth_field {
  13        char *type;
  14        char *name;
  15        size_t size;
  16        unsigned int offset;
  17        bool is_signed;
  18        bool is_string;
  19};
  20
  21struct synth_event {
  22        struct dyn_event                        devent;
  23        int                                     ref;
  24        char                                    *name;
  25        struct synth_field                      **fields;
  26        unsigned int                            n_fields;
  27        unsigned int                            n_u64;
  28        struct trace_event_class                class;
  29        struct trace_event_call                 call;
  30        struct tracepoint                       *tp;
  31        struct module                           *mod;
  32};
  33
  34extern struct synth_event *find_synth_event(const char *name);
  35
  36#endif /* __TRACE_SYNTH_H */
  37