linux/include/linux/tracepoint-defs.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef TRACEPOINT_DEFS_H
   3#define TRACEPOINT_DEFS_H 1
   4
   5/*
   6 * File can be included directly by headers who only want to access
   7 * tracepoint->key to guard out of line trace calls, or the definition of
   8 * trace_print_flags{_u64}. Otherwise linux/tracepoint.h should be used.
   9 */
  10
  11#include <linux/atomic.h>
  12#include <linux/static_key.h>
  13
  14struct trace_print_flags {
  15        unsigned long           mask;
  16        const char              *name;
  17};
  18
  19struct trace_print_flags_u64 {
  20        unsigned long long      mask;
  21        const char              *name;
  22};
  23
  24struct tracepoint_func {
  25        void *func;
  26        void *data;
  27        int prio;
  28};
  29
  30struct tracepoint {
  31        const char *name;               /* Tracepoint name */
  32        struct static_key key;
  33        int (*regfunc)(void);
  34        void (*unregfunc)(void);
  35        struct tracepoint_func __rcu *funcs;
  36};
  37
  38struct bpf_raw_event_map {
  39        struct tracepoint       *tp;
  40        void                    *bpf_func;
  41        u32                     num_args;
  42        u32                     writable_size;
  43} __aligned(32);
  44
  45#endif
  46