| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | #ifndef __PERF_STREAM_H | 
 | #define __PERF_STREAM_H | 
 |  | 
 | #include "callchain.h" | 
 |  | 
 | struct stream { | 
 | 	struct callchain_node	*cnode; | 
 | 	struct callchain_node	*pair_cnode; | 
 | }; | 
 |  | 
 | struct evsel_streams { | 
 | 	struct stream		*streams; | 
 | 	int			nr_streams_max; | 
 | 	int			nr_streams; | 
 | 	int			evsel_idx; | 
 | 	u64			streams_hits; | 
 | }; | 
 |  | 
 | struct evlist_streams { | 
 | 	struct evsel_streams	*ev_streams; | 
 | 	int			nr_evsel; | 
 | }; | 
 |  | 
 | struct evlist; | 
 |  | 
 | void evlist_streams__delete(struct evlist_streams *els); | 
 |  | 
 | struct evlist_streams *evlist__create_streams(struct evlist *evlist, | 
 | 					      int nr_streams_max); | 
 |  | 
 | struct evsel_streams *evsel_streams__entry(struct evlist_streams *els, | 
 | 					   int evsel_idx); | 
 |  | 
 | void evsel_streams__match(struct evsel_streams *es_base, | 
 | 			  struct evsel_streams *es_pair); | 
 |  | 
 | void evsel_streams__report(struct evsel_streams *es_base, | 
 | 			   struct evsel_streams *es_pair); | 
 |  | 
 | #endif /* __PERF_STREAM_H */ |