linux/tools/perf/util/evswitch.h
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-only
   2// Copyright (C) 2019, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
   3#ifndef __PERF_EVSWITCH_H
   4#define __PERF_EVSWITCH_H 1
   5
   6#include <stdbool.h>
   7#include <stdio.h>
   8
   9struct evsel;
  10struct evlist;
  11
  12struct evswitch {
  13        struct evsel *on, *off;
  14        const char   *on_name, *off_name;
  15        bool         discarding;
  16        bool         show_on_off_events;
  17};
  18
  19int evswitch__init(struct evswitch *evswitch, struct evlist *evlist, FILE *fp);
  20
  21bool evswitch__discard(struct evswitch *evswitch, struct evsel *evsel);
  22
  23#define OPTS_EVSWITCH(evswitch)                                                           \
  24        OPT_STRING(0, "switch-on", &(evswitch)->on_name,                                  \
  25                   "event", "Consider events after the ocurrence of this event"),         \
  26        OPT_STRING(0, "switch-off", &(evswitch)->off_name,                                \
  27                   "event", "Stop considering events after the ocurrence of this event"), \
  28        OPT_BOOLEAN(0, "show-on-off-events", &(evswitch)->show_on_off_events,             \
  29                    "Show the on/off switch events, used with --switch-on and --switch-off")
  30
  31#endif /* __PERF_EVSWITCH_H */
  32