perf buildid-cache: Support binary objects from other namespaces
[linux-2.6-block.git] / tools / perf / util / build-id.h
CommitLineData
7b2567c1
ACM
1#ifndef PERF_BUILD_ID_H_
2#define PERF_BUILD_ID_H_ 1
3
d77fac7f
MH
4#define BUILD_ID_SIZE 20
5#define SBUILD_ID_SIZE (BUILD_ID_SIZE * 2 + 1)
4383db88
JO
6
7#include "tool.h"
f045b8c4 8#include "namespaces.h"
d944c4ee 9#include <linux/types.h>
7b2567c1 10
45694aa7 11extern struct perf_tool build_id__mark_dso_hit_ops;
4383db88 12struct dso;
7b2567c1 13
ebb296c2 14int build_id__sprintf(const u8 *build_id, int len, char *bf);
0b5a7935
MH
15int sysfs__sprintf_build_id(const char *root_dir, char *sbuild_id);
16int filename__sprintf_build_id(const char *pathname, char *sbuild_id);
01412261
MH
17char *build_id_cache__kallsyms_path(const char *sbuild_id, char *bf,
18 size_t size);
0b5a7935 19
3344996e 20char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size);
b36f19d5 21
54a3cf59
AV
22int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event,
23 struct perf_sample *sample, struct perf_evsel *evsel,
24 struct machine *machine);
e195fac8
NK
25
26int dsos__hit_all(struct perf_session *session);
27
28bool perf_session__read_build_ids(struct perf_session *session, bool with_hits);
29int perf_session__write_buildid_table(struct perf_session *session, int fd);
30int perf_session__cache_build_ids(struct perf_session *session);
31
1f3736c9
MH
32char *build_id_cache__origname(const char *sbuild_id);
33char *build_id_cache__linkname(const char *sbuild_id, char *bf, size_t size);
4698b8b7 34char *build_id_cache__cachedir(const char *sbuild_id, const char *name,
f045b8c4
KJ
35 struct nsinfo *nsi, bool is_kallsyms,
36 bool is_vdso);
8ec20b17
ACM
37
38struct strlist;
39
c3492a3a 40struct strlist *build_id_cache__list_all(bool validonly);
a598180a 41char *build_id_cache__complement(const char *incomplete_sbuild_id);
f045b8c4 42int build_id_cache__list_build_ids(const char *pathname, struct nsinfo *nsi,
8d8c8e4c 43 struct strlist **result);
a50d11a1 44bool build_id_cache__cached(const char *sbuild_id);
e35f7362 45int build_id_cache__add_s(const char *sbuild_id,
f045b8c4
KJ
46 const char *name, struct nsinfo *nsi,
47 bool is_kallsyms, bool is_vdso);
e35f7362 48int build_id_cache__remove_s(const char *sbuild_id);
6db81643
ACM
49
50extern char buildid_dir[];
51
52void set_buildid_dir(const char *dir);
73c5d224 53void disable_buildid_cache(void);
e195fac8 54
7b2567c1 55#endif