Class which provides a view over the GNU Hash implementation. Most of the fields are read-only since the values are re-computed by the LIEF::ELF::Builder.
More...
#include <GnuHash.hpp>
|
template<class T > |
using | output_t = add_pointer_t<decay_t<T>> |
|
template<class T > |
using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
|
Class which provides a view over the GNU Hash implementation. Most of the fields are read-only since the values are re-computed by the LIEF::ELF::Builder.
◆ GnuHash() [1/4]
LIEF::ELF::GnuHash::GnuHash |
( |
| ) |
|
|
default |
◆ GnuHash() [2/4]
LIEF::ELF::GnuHash::GnuHash |
( |
uint32_t | symbol_idx, |
|
|
uint32_t | shift2, |
|
|
std::vector< uint64_t > | bloom_filters, |
|
|
std::vector< uint32_t > | buckets, |
|
|
std::vector< uint32_t > | hash_values = {} ) |
◆ GnuHash() [3/4]
LIEF::ELF::GnuHash::GnuHash |
( |
const GnuHash & | copy | ) |
|
|
default |
◆ GnuHash() [4/4]
LIEF::ELF::GnuHash::GnuHash |
( |
GnuHash && | | ) |
|
|
default |
◆ ~GnuHash()
LIEF::ELF::GnuHash::~GnuHash |
( |
| ) |
|
|
overridedefault |
◆ accept()
void LIEF::ELF::GnuHash::accept |
( |
Visitor & | visitor | ) |
const |
|
overridevirtual |
◆ bloom_filters()
const std::vector< uint64_t > & LIEF::ELF::GnuHash::bloom_filters |
( |
| ) |
const |
|
inline |
◆ buckets()
const std::vector< uint32_t > & LIEF::ELF::GnuHash::buckets |
( |
| ) |
const |
|
inline |
◆ check() [1/2]
bool LIEF::ELF::GnuHash::check |
( |
const std::string & | symbol_name | ) |
const |
Check if the symbol probably exists. If the returned value is false
you can assume at 100%
that the symbol with the given name doesn't exist. If true
, you can't do any assumption.
◆ check() [2/2]
bool LIEF::ELF::GnuHash::check |
( |
uint32_t | hash | ) |
const |
Check if the symbol associated with the given hash probably exists. If the returned value is false
you can assume at 100%
that the symbol doesn't exists. If true
you can't do any assumption.
◆ check_bloom_filter()
bool LIEF::ELF::GnuHash::check_bloom_filter |
( |
uint32_t | hash | ) |
const |
Check if the given hash passes the bloom filter.
◆ check_bucket()
bool LIEF::ELF::GnuHash::check_bucket |
( |
uint32_t | hash | ) |
const |
|
inline |
Check if the given hash passes the bucket filter.
References LIEF::hash().
◆ hash_values()
const std::vector< uint32_t > & LIEF::ELF::GnuHash::hash_values |
( |
| ) |
const |
|
inline |
◆ maskwords()
uint32_t LIEF::ELF::GnuHash::maskwords |
( |
| ) |
const |
|
inline |
Number of bloom filters used. It must be a power of 2.
◆ nb_buckets()
uint32_t LIEF::ELF::GnuHash::nb_buckets |
( |
| ) |
const |
|
inline |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ shift2()
uint32_t LIEF::ELF::GnuHash::shift2 |
( |
| ) |
const |
|
inline |
Shift count used in the bloom filter.
◆ symbol_index()
uint32_t LIEF::ELF::GnuHash::symbol_index |
( |
| ) |
const |
|
inline |
Index of the first symbol in the dynamic symbols table which accessible with the hash table.
The documentation for this class was generated from the following file: