xref: /openbmc/linux/tools/perf/util/evlist.h (revision 5c581041)
1361c99a6SArnaldo Carvalho de Melo #ifndef __PERF_EVLIST_H
2361c99a6SArnaldo Carvalho de Melo #define __PERF_EVLIST_H 1
3361c99a6SArnaldo Carvalho de Melo 
4361c99a6SArnaldo Carvalho de Melo #include <linux/list.h>
5361c99a6SArnaldo Carvalho de Melo 
65c581041SArnaldo Carvalho de Melo struct pollfd;
75c581041SArnaldo Carvalho de Melo 
8361c99a6SArnaldo Carvalho de Melo struct perf_evlist {
9361c99a6SArnaldo Carvalho de Melo 	struct list_head entries;
10361c99a6SArnaldo Carvalho de Melo 	int		 nr_entries;
115c581041SArnaldo Carvalho de Melo 	int		 nr_fds;
125c581041SArnaldo Carvalho de Melo 	struct pollfd	 *pollfd;
13361c99a6SArnaldo Carvalho de Melo };
14361c99a6SArnaldo Carvalho de Melo 
15361c99a6SArnaldo Carvalho de Melo struct perf_evsel;
16361c99a6SArnaldo Carvalho de Melo 
17361c99a6SArnaldo Carvalho de Melo struct perf_evlist *perf_evlist__new(void);
18361c99a6SArnaldo Carvalho de Melo void perf_evlist__delete(struct perf_evlist *evlist);
19361c99a6SArnaldo Carvalho de Melo 
20361c99a6SArnaldo Carvalho de Melo void perf_evlist__add(struct perf_evlist *evlist, struct perf_evsel *entry);
21361c99a6SArnaldo Carvalho de Melo int perf_evlist__add_default(struct perf_evlist *evlist);
22361c99a6SArnaldo Carvalho de Melo 
235c581041SArnaldo Carvalho de Melo int perf_evlist__alloc_pollfd(struct perf_evlist *evlist, int ncpus, int nthreads);
245c581041SArnaldo Carvalho de Melo 
25361c99a6SArnaldo Carvalho de Melo #endif /* __PERF_EVLIST_H */
26