summaryrefslogtreecommitdiff
path: root/tools/perf/util/kwork.h
blob: 6950636aab2afe36c7affd1ee3b7c4b02898ca94 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef PERF_UTIL_KWORK_H
#define PERF_UTIL_KWORK_H

#include "perf.h"

#include "util/tool.h"
#include "util/event.h"
#include "util/evlist.h"
#include "util/session.h"
#include "util/time-utils.h"

#include <linux/list.h>
#include <linux/bitmap.h>

enum kwork_class_type {
	KWORK_CLASS_MAX,
};

struct kwork_class {
	struct list_head list;
	const char *name;
	enum kwork_class_type type;

	unsigned int nr_tracepoints;
	const struct evsel_str_handler *tp_handlers;
};

struct perf_kwork {
	/*
	 * metadata
	 */
	struct list_head class_list;

	/*
	 * options for command
	 */
	bool force;
	const char *event_list_str;
};

#endif  /* PERF_UTIL_KWORK_H */