evswitch.h 1.0 KB

12345678910111213141516171819202122232425262728293031
  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. #include <stdbool.h>
  6. #include <stdio.h>
  7. struct evsel;
  8. struct evlist;
  9. struct evswitch {
  10. struct evsel *on, *off;
  11. const char *on_name, *off_name;
  12. bool discarding;
  13. bool show_on_off_events;
  14. };
  15. int evswitch__init(struct evswitch *evswitch, struct evlist *evlist, FILE *fp);
  16. bool evswitch__discard(struct evswitch *evswitch, struct evsel *evsel);
  17. #define OPTS_EVSWITCH(evswitch) \
  18. OPT_STRING(0, "switch-on", &(evswitch)->on_name, \
  19. "event", "Consider events after the ocurrence of this event"), \
  20. OPT_STRING(0, "switch-off", &(evswitch)->off_name, \
  21. "event", "Stop considering events after the ocurrence of this event"), \
  22. OPT_BOOLEAN(0, "show-on-off-events", &(evswitch)->show_on_off_events, \
  23. "Show the on/off switch events, used with --switch-on and --switch-off")
  24. #endif /* __PERF_EVSWITCH_H */