summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/evsel.h
blob: 3eb3989a21107aac5be0a654630d117fa643575a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef __PERF_EVSEL_H
#define __PERF_EVSEL_H 1

#include <linux/list.h>
#include <linux/perf_event.h>
#include "types.h"
#include "xyarray.h"

struct perf_evsel {
	struct list_head	node;
	struct perf_event_attr	attr;
	char			*filter;
	struct xyarray		*fd;
	int			idx;
	void			*priv;
};

struct perf_evsel *perf_evsel__new(u32 type, u64 config, int idx);
void perf_evsel__delete(struct perf_evsel *evsel);

int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads);
void perf_evsel__free_fd(struct perf_evsel *evsel);

#endif /* __PERF_EVSEL_H */