blob: 85011222cc14a68f05d2b3451ef381263d293efc [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"
Masami Hiramatsu8d8c8e42015-02-27 13:50:26 +09007#include "strlist.h"
Borislav Petkovd944c4e2014-04-25 21:31:02 +02008#include <linux/types.h>
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -02009
Arnaldo Carvalho de Melo45694aa2011-11-28 08:30:20 -020010extern struct perf_tool build_id__mark_dso_hit_ops;
Jiri Olsa4383db82012-10-27 23:18:29 +020011struct dso;
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -020012
Jiri Olsaebb296c2012-10-27 23:18:28 +020013int build_id__sprintf(const u8 *build_id, int len, char *bf);
Arnaldo Carvalho de Melo33449962013-12-10 15:46:29 -030014char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size);
Arnaldo Carvalho de Melob36f19d2010-05-20 12:15:33 -030015
Andrew Vagin54a3cf52012-08-07 16:56:05 +040016int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event,
17 struct perf_sample *sample, struct perf_evsel *evsel,
18 struct machine *machine);
Namhyung Kime195fac2014-11-04 10:14:30 +090019
20int dsos__hit_all(struct perf_session *session);
21
22bool perf_session__read_build_ids(struct perf_session *session, bool with_hits);
23int perf_session__write_buildid_table(struct perf_session *session, int fd);
24int perf_session__cache_build_ids(struct perf_session *session);
25
Masami Hiramatsu8d8c8e42015-02-27 13:50:26 +090026int build_id_cache__list_build_ids(const char *pathname,
27 struct strlist **result);
Masami Hiramatsua50d11a2015-02-26 15:54:40 +090028bool build_id_cache__cached(const char *sbuild_id);
Masami Hiramatsue35f7362015-02-10 18:18:51 +090029int build_id_cache__add_s(const char *sbuild_id,
Namhyung Kime195fac2014-11-04 10:14:30 +090030 const char *name, bool is_kallsyms, bool is_vdso);
Masami Hiramatsue35f7362015-02-10 18:18:51 +090031int build_id_cache__remove_s(const char *sbuild_id);
Namhyung Kim73c5d222014-11-07 22:57:56 +090032void disable_buildid_cache(void);
Namhyung Kime195fac2014-11-04 10:14:30 +090033
Arnaldo Carvalho de Melo7b2567c2010-02-03 16:52:04 -020034#endif