diff options
Diffstat (limited to 'tools/perf/util/header.h')
| -rw-r--r-- | tools/perf/util/header.h | 39 | 
1 files changed, 37 insertions, 2 deletions
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h index 82a6af72d4cc..402ac2454cf8 100644 --- a/tools/perf/util/header.h +++ b/tools/perf/util/header.h @@ -39,6 +39,11 @@ struct perf_file_header {  	DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS);  }; +struct perf_pipe_file_header { +	u64				magic; +	u64				size; +}; +  struct perf_header;  int perf_file_header__read(struct perf_file_header *self, @@ -47,21 +52,22 @@ int perf_file_header__read(struct perf_file_header *self,  struct perf_header {  	int			frozen;  	int			attrs, size; +	bool			needs_swap;  	struct perf_header_attr **attr;  	s64			attr_offset;  	u64			data_offset;  	u64			data_size;  	u64			event_offset;  	u64			event_size; -	bool			needs_swap;  	DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS);  };  int perf_header__init(struct perf_header *self);  void perf_header__exit(struct perf_header *self); -int perf_header__read(struct perf_header *self, int fd); +int perf_header__read(struct perf_session *session, int fd);  int perf_header__write(struct perf_header *self, int fd, bool at_exit); +int perf_header__write_pipe(int fd);  int perf_header__add_attr(struct perf_header *self,  			  struct perf_header_attr *attr); @@ -89,4 +95,33 @@ int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,  			  const char *name, bool is_kallsyms);  int build_id_cache__remove_s(const char *sbuild_id, const char *debugdir); +int event__synthesize_attr(struct perf_event_attr *attr, u16 ids, u64 *id, +			   event__handler_t process, +			   struct perf_session *session); +int event__synthesize_attrs(struct perf_header *self, +			    event__handler_t process, +			    struct perf_session *session); +int event__process_attr(event_t *self, struct perf_session *session); + +int event__synthesize_event_type(u64 event_id, char *name, +				 event__handler_t process, +				 struct perf_session *session); +int event__synthesize_event_types(event__handler_t process, +				  struct perf_session *session); +int event__process_event_type(event_t *self, +			      struct perf_session *session); + +int event__synthesize_tracing_data(int fd, struct perf_event_attr *pattrs, +				   int nb_events, +				   event__handler_t process, +				   struct perf_session *session); +int event__process_tracing_data(event_t *self, +				struct perf_session *session); + +int event__synthesize_build_id(struct dso *pos, u16 misc, +			       event__handler_t process, +			       struct machine *machine, +			       struct perf_session *session); +int event__process_build_id(event_t *self, struct perf_session *session); +  #endif /* __PERF_HEADER_H */  | 
