16#ifndef LIEF_PE_RESOURCE_DIRECTORY_H
17#define LIEF_PE_RESOURCE_DIRECTORY_H
19#include "LIEF/visibility.h"
21#include "LIEF/PE/ResourceNode.hpp"
30struct pe_resource_directory_table;
51 std::unique_ptr<ResourceNode> clone()
const override {
58 return characteristics_;
64 return timedatestamp_;
81 return numberof_name_entries_;
88 return numberof_id_entries_;
91 void characteristics(uint32_t characteristics) {
92 characteristics_ = characteristics;
94 void time_date_stamp(uint32_t time_date_stamp) {
95 timedatestamp_ = time_date_stamp;
97 void major_version(uint16_t major_version) {
98 majorversion_ = major_version;
100 void minor_version(uint16_t minor_version) {
101 minorversion_ = minor_version;
103 void numberof_name_entries(uint16_t numberof_name_entries) {
104 numberof_name_entries_ = numberof_name_entries;
106 void numberof_id_entries(uint16_t numberof_id_entries) {
107 numberof_id_entries_ = numberof_id_entries;
110 static bool classof(
const ResourceNode* node) {
111 return node->is_directory();
114 void accept(Visitor& visitor)
const override;
116 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const ResourceDirectory& directory);
119 uint32_t characteristics_ = 0;
120 uint32_t timedatestamp_ = 0;
121 uint16_t majorversion_ = 0;
122 uint16_t minorversion_ = 0;
123 uint16_t numberof_name_entries_ = 0;
124 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:47
Definition ResourceDirectory.hpp:33
uint16_t minor_version() const
The minor version number, set by the user.
Definition ResourceDirectory.hpp:73
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:87
uint16_t major_version() const
The major version number, set by the user.
Definition ResourceDirectory.hpp:68
uint16_t numberof_name_entries() const
The number of directory entries immediately following the table that use strings to identify Type,...
Definition ResourceDirectory.hpp:80
uint32_t characteristics() const
Resource characteristics. This field is reserved for future use. It is currently set to zero.
Definition ResourceDirectory.hpp:57
uint32_t time_date_stamp() const
The time that the resource data was created by the resource compiler.
Definition ResourceDirectory.hpp:63
Class which represents a Node in the resource tree.
Definition ResourceNode.hpp:36
LIEF namespace.
Definition Abstract/Binary.hpp:31