blob: 666a3bd4f64e9a08c8f303900666a720c90b7ebc [file] [log] [blame]
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -02001#ifndef PERF_BUILD_ID_H_
2#define PERF_BUILD_ID_H_ 1
3
Jiri Olsa4383db82012-10-27 23:18:29 +02004#define BUILD_ID_SIZE 20
5
6#include "tool.h"
Borislav Petkovd944c4e2014-04-25 21:31:02 +02007#include <linux/types.h>
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -02008
Arnaldo Carvalho de Melo45694aa2011-11-28 08:30:20 -02009extern struct perf_tool build_id__mark_dso_hit_ops;
Jiri Olsa4383db82012-10-27 23:18:29 +020010struct dso;
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -020011
Jiri Olsaebb296c2012-10-27 23:18:28 +020012int build_id__sprintf(const u8 *build_id, int len, char *bf);
Arnaldo Carvalho de Melo33449962013-12-10 15:46:29 -030013char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size);
Arnaldo Carvalho de Melob36f19d2010-05-20 12:15:33 -030014
Andrew Vagin54a3cf52012-08-07 16:56:05 +040015int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event,
16 struct perf_sample *sample, struct perf_evsel *evsel,
17 struct machine *machine);
Namhyung Kime195fac2014-11-04 10:14:30 +090018
19int dsos__hit_all(struct perf_session *session);
20
21bool perf_session__read_build_ids(struct perf_session *session, bool with_hits);
22int perf_session__write_buildid_table(struct perf_session *session, int fd);
23int perf_session__cache_build_ids(struct perf_session *session);
24
25int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,
26 const char *name, bool is_kallsyms, bool is_vdso);
27int build_id_cache__remove_s(const char *sbuild_id, const char *debugdir);
28
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -020029#endif