ROSE  0.9.10.89
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
LibraryIdentification::LibraryInfo Class Reference

Description

Definition at line 18 of file LibraryInfo.h.

Collaboration diagram for LibraryIdentification::LibraryInfo:
Collaboration graph
[legend]

Public Member Functions

 LibraryInfo (const std::string &ilibName, const std::string &ilibVersion, const std::string &ilibHash, SgAsmExecutableFileFormat::InsSetArchitecture iarchitecture)
 LibraryInfo. More...
 
 LibraryInfo (const std::string &ilibName, const std::string &ilibVersion, SgAsmGenericFile *libraryFile)
 LibraryInfo. More...
 
 LibraryInfo (const std::string &ilibHash)
 LibraryInfo. More...
 

Static Public Member Functions

static LibraryInfo getUnknownLibraryInfo ()
 getUnknownLibraryInfo More...
 

Public Attributes

std::string libName
 
std::string libVersion
 
std::string libHash
 
SgAsmExecutableFileFormat::InsSetArchitecture architecture
 
time_t analysisTime
 

Friends

bool operator< (const LibraryInfo &lhs, const LibraryInfo &rhs)
 

Constructor & Destructor Documentation

LibraryIdentification::LibraryInfo::LibraryInfo ( const std::string &  ilibName,
const std::string &  ilibVersion,
const std::string &  ilibHash,
SgAsmExecutableFileFormat::InsSetArchitecture  iarchitecture 
)
inline

LibraryInfo.

Constructor. Combines all the information required to identify a library. This constructor allows the user to define everything.

Parameters
[in]libNameName of the library to add
[in]libVersionVersion of the library (Please use Fowler-Noll-Vo HasherFnv class in Combinatorics.h)
[in]libHashUnique Hash of the library to add (Please use Fowler-Noll-Vo HasherFnv class in Combinatorics.h)
[in]architecturearchitecture library was built for

Definition at line 35 of file LibraryInfo.h.

Referenced by getUnknownLibraryInfo().

LibraryIdentification::LibraryInfo::LibraryInfo ( const std::string &  ilibName,
const std::string &  ilibVersion,
SgAsmGenericFile libraryFile 
)
inline

LibraryInfo.

Constructor. Combines all the information required to identify a library. This constructor constructs the hash, and all other library info, from a SgAsmGenericFile. Unfortunately, the name and version of the library is only availible from dynamic libraries, so it must be passed in here. WARNING: Currently Elf files only!

Parameters
[in]libNameName of the library to add
[in]libVersionVersion of the library
[in]libraryFileThe library file we are storing

Definition at line 56 of file LibraryInfo.h.

References Rose::Combinatorics::HasherFnv::append(), SgAsmGenericFile::content(), SgAsmGenericFile::get_header(), SgAsmGenericHeader::get_isa(), and Rose::Combinatorics::Hasher::toString().

LibraryIdentification::LibraryInfo::LibraryInfo ( const std::string &  ilibHash)
inline

LibraryInfo.

Constructor. Only takes the hash, Rest to be filled in from matching in the database.

Parameters
[in]libHashUnique Hash of the library to add

Definition at line 87 of file LibraryInfo.h.

Member Function Documentation

static LibraryInfo LibraryIdentification::LibraryInfo::getUnknownLibraryInfo ( )
inlinestatic

getUnknownLibraryInfo

Constructs and returns the special sentinal "Unknown Library" instance for functions that couldn't be identified.

Definition at line 102 of file LibraryInfo.h.

References LibraryInfo().


The documentation for this class was generated from the following file: