1#ifndef PERF_BUILD_ID_H_
2#define PERF_BUILD_ID_H_ 1
3
4#define BUILD_ID_SIZE 20
5
6#include "tool.h"
7#include "strlist.h"
8#include <linux/types.h>
9
10extern struct perf_tool build_id__mark_dso_hit_ops;
11struct dso;
12
13int build_id__sprintf(const u8 *build_id, int len, char *bf);
14char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size);
15
16int 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);
19
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
26int build_id_cache__list_build_ids(const char *pathname,
27				   struct strlist **result);
28bool build_id_cache__cached(const char *sbuild_id);
29int build_id_cache__add_s(const char *sbuild_id,
30			  const char *name, bool is_kallsyms, bool is_vdso);
31int build_id_cache__remove_s(const char *sbuild_id);
32void disable_buildid_cache(void);
33
34#endif
35