ROSE  0.11.2.0
libraryIdentification.h
1 #ifndef LIBRARY_IDENTIFICATION_H
2 #define LIBRARY_IDENTIFICATION_H
3 #include <rosePublicConfig.h>
4 #ifdef ROSE_BUILD_BINARY_ANALYSIS_SUPPORT
5 
6 #include "LibraryInfo.h"
7 #include "FunctionInfo.h"
8 #include "FunctionIdDatabaseInterface.h"
9 
16 namespace LibraryIdentification
17  {
18 
27  typedef std::map<LibraryInfo, std::set<FunctionInfo> > LibToFuncsMap;
28 
29 
47  void generateLibraryIdentificationDataBase ( const std::string& databaseName,
48  const std::string& libraryName,
49  const std::string& libraryVersion,
50  const std::string& libraryHash,
52  enum DUPLICATE_OPTION dupOption = COMBINE);
53 
54 
55 
73  LibToFuncsMap matchLibraryIdentificationDataBase (const std::string& databaseName,
75 
82  void insertFunctionToMap(LibToFuncsMap& libToFuncsMap,
83  const LibraryInfo& libraryInfo,
84  const FunctionInfo& functionInfo);
85 
86 
87 
88  }
89 
90 #endif
91 #endif
class FunctionInfo Combines all the information to uniquely identify a single function in one object...
Definition: FunctionInfo.h:24
LibToFuncsMap matchLibraryIdentificationDataBase(const std::string &databaseName, const Rose::BinaryAnalysis::Partitioner2::Partitioner &partitioner)
match functions in project to Library Identification Database This is a function to simplify matching...
DUPLICATE_OPTION
Option for what to do if a function with the same hash is found when adding a function.
std::map< LibraryInfo, std::set< FunctionInfo > > LibToFuncsMap
typedef libToFuncMap This is used as the type to list which functions are found in which libraries fr...
void insertFunctionToMap(LibToFuncsMap &libToFuncsMap, const LibraryInfo &libraryInfo, const FunctionInfo &functionInfo)
Private helper function for adding idents to the libToFuncsMap.
Partitions instructions into basic blocks and functions.
Definition: Partitioner.h:322
void generateLibraryIdentificationDataBase(const std::string &databaseName, const std::string &libraryName, const std::string &libraryVersion, const std::string &libraryHash, const Rose::BinaryAnalysis::Partitioner2::Partitioner &partitioner, enum DUPLICATE_OPTION dupOption=COMBINE)
generate Library Identification Database This function takes a binary project (presumeably a library)...