8 #ifndef __ABG_TOOLS_UTILS_H
9 #define __ABG_TOOLS_UTILS_H
17 #include "abg-suppression.h"
31 using std::shared_ptr;
43 const vector<string>& debug_info_root_paths);
45 const vector<string>& debug_info_root_paths);
47 const vector<string>& debug_info_root_paths);
48 bool is_dir(
const string&);
57 string& path_dir_name,
58 bool keep_separator_at_end=
false);
59 void real_path(
const string&path,
string& realpath);
62 ostream&
emit_prefix(
const string& prog_name, ostream& out);
63 bool check_file(
const string& path, ostream& out,
const string& prog_name =
"");
64 bool check_dir(
const string& path, ostream& out,
const string& prog_name=
"");
69 bool split_string(
const string&,
const string&, vector<string>&);
77 vector<string>& arguments);
79 set<string>& provided_dsos);
92 const vector<string>& hdr_files);
96 const vector<string>& header_files);
100 (
const vector<string>& abi_whitelist_paths);
107 string& vmlinux_path);
111 const string& debug_info_root_path,
112 string& vmlinux_path,
113 vector<string>& module_paths);
117 string& vmlinux_path,
118 vector<string>& module_paths);
137 const string& file_path_to_look_for,
142 const string& file_path_to_look_for,
150 const vector<string>& binaries,
151 const vector<string>& deps_dirs,
152 corpus_group& group);
156 const corpus& korpus,
157 const vector<string>& deps_dirs,
158 corpus_group& group);
162 const corpus_sptr& korpus,
163 const vector<string>& binaries,
164 const vector<string>& deps_dirs);
168 const corpus_sptr& korpus,
169 const vector<string>& deps_dirs);
191 std::unique_ptr<priv> priv_;
206 static temp_file_sptr
230 FILE_TYPE_XML_CORPUS,
233 FILE_TYPE_XML_CORPUS_GROUP,
318 std::unique_ptr<priv> priv_;
333 bool value(time_t& hours,
336 time_t& milliseconds)
const;
349 bool look_through_compression =
true);
366 const string& file_name);
372 std::shared_ptr<char>
380 const string debug_info_root,
381 const string& vmlinux_path,
382 vector<string>& suppr_paths,
383 vector<string>& kabi_wl_paths,
389 elf_based_reader_sptr
391 const vector<string>& debug_info_root_paths,
395 bool linux_kernel_mode =
false);
429 std::unique_ptr<priv> priv_;
448 #define ABG_ASSERT_NOT_REACHED \
450 std::cerr << "in " << __FUNCTION__ \
451 << " at: " << __FILE__ << ":" << __LINE__ \
452 << ": execution should not have reached this point!\n"; \
457 #endif //__ABG_TOOLS_UTILS_H
shared_ptr< type_suppression > type_suppression_sptr
Convenience typedef for a shared pointer to type_suppression.
Toplevel namespace for libabigail.
origin
This abstracts where the corpus comes from. That is, either it has been read from the native xml form...
This file contains the declarations for an elf-based. DWARF and CTF readers can inherit this one...
This is an abstraction of the set of resources necessary to manage several aspects of the internal re...
vector< suppression_sptr > suppressions_type
Convenience typedef for a vector of suppression_sptr.