LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_RESOURCE_DIRECTORY_H
17#define LIEF_PE_RESOURCE_DIRECTORY_H
30struct pe_resource_directory_table;
40 ResourceNode(ResourceNode::TYPE::DIRECTORY)
44 ResourceNode(ResourceNode::TYPE::DIRECTORY)
52 ResourceDirectory&
operator=(
const ResourceDirectory& other) =
default;
54 void swap(ResourceDirectory& other)
noexcept;
58 std::unique_ptr<ResourceNode>
clone()
const override {
59 return std::unique_ptr<ResourceDirectory>(
new ResourceDirectory{*
this});
65 return characteristics_;
71 return timedatestamp_;
88 return numberof_name_entries_;
95 return numberof_id_entries_;
99 characteristics_ = characteristics;
102 timedatestamp_ = time_date_stamp;
105 majorversion_ = major_version;
108 minorversion_ = minor_version;
111 numberof_name_entries_ = numberof_name_entries;
114 numberof_id_entries_ = numberof_id_entries;
117 static bool classof(
const ResourceNode* node) {
121 void accept(Visitor& visitor)
const override;
124 uint32_t characteristics_ = 0;
125 uint32_t timedatestamp_ = 0;
126 uint16_t majorversion_ = 0;
127 uint16_t minorversion_ = 0;
128 uint16_t numberof_name_entries_ = 0;
129 uint16_t numberof_id_entries_ = 0;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:52
Definition ResourceDirectory.hpp:33
void major_version(uint16_t major_version)
Definition ResourceDirectory.hpp:104
void characteristics(uint32_t characteristics)
Definition ResourceDirectory.hpp:98
uint16_t minor_version() const
The minor version number, set by the user.
Definition ResourceDirectory.hpp:80
ResourceDirectory()
Definition ResourceDirectory.hpp:39
~ResourceDirectory() override=default
ResourceDirectory & operator=(const ResourceDirectory &other)=default
ResourceDirectory(uint32_t id)
Definition ResourceDirectory.hpp:43
void minor_version(uint16_t minor_version)
Definition ResourceDirectory.hpp:107
uint16_t numberof_id_entries() const
The number of directory entries immediately following the Name entries that use numeric IDs for Type,...
Definition ResourceDirectory.hpp:94
uint16_t major_version() const
The major version number, set by the user.
Definition ResourceDirectory.hpp:75
ResourceDirectory(const details::pe_resource_directory_table &header)
uint16_t numberof_name_entries() const
The number of directory entries immediately following the table that use strings to identify Type,...
Definition ResourceDirectory.hpp:87
void numberof_name_entries(uint16_t numberof_name_entries)
Definition ResourceDirectory.hpp:110
static bool classof(const ResourceNode *node)
Definition ResourceDirectory.hpp:117
void accept(Visitor &visitor) const override
void time_date_stamp(uint32_t time_date_stamp)
Definition ResourceDirectory.hpp:101
void swap(ResourceDirectory &other) noexcept
void numberof_id_entries(uint16_t numberof_id_entries)
Definition ResourceDirectory.hpp:113
ResourceDirectory(const ResourceDirectory &other)=default
uint32_t characteristics() const
Resource characteristics. This field is reserved for future use. It is currently set to zero.
Definition ResourceDirectory.hpp:64
uint32_t time_date_stamp() const
The time that the resource data was created by the resource compiler.
Definition ResourceDirectory.hpp:70
std::unique_ptr< ResourceNode > clone() const override
Definition ResourceDirectory.hpp:58
Class which represents a Node in the resource tree.
Definition ResourceNode.hpp:45
bool is_directory() const
True if the current entry is a ResourceDirectory.
Definition ResourceNode.hpp:144
Definition DataDirectory.hpp:37
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41