LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This structure represents the VS_FIXEDFILEINFO structure defined in verrsrc.h. More...
#include <ResourceVersion.hpp>
Public Types | |
enum class | VERSION_OS : uint32_t { UNKNOWN = 0x00000000 , DOS = 0x00010000 , OS216 = 0x00020000 , OS232 = 0x00030000 , NT = 0x00040000 , WINCE = 0x00050000 , WINDOWS16 = 0x00000001 , PM16 = 0x00000002 , PM32 = 0x00000003 , WINDOWS32 = 0x00000004 , DOS_WINDOWS16 = DOS | WINDOWS16 , DOS_WINDOWS32 = DOS | WINDOWS32 , OS216_PM16 = OS216 | PM16 , OS232_PM32 = OS232 | PM32 , NT_WINDOWS32 = NT | WINDOWS32 } |
enum class | FILE_TYPE : uint32_t { UNKNOWN = 0x00000000 , APP = 0x00000001 , DLL = 0x00000002 , DRV = 0x00000003 , FONT = 0x00000004 , VXD = 0x00000005 , STATIC_LIB = 0x00000007 } |
enum class | FILE_TYPE_DETAILS : uint64_t { UNKNOWN = 0x00000000 , DRV_PRINTER = 0x00000001 | DRV_K , DRV_KEYBOARD = 0x00000002 | DRV_K , DRV_LANGUAGE = 0x00000003 | DRV_K , DRV_DISPLAY = 0x00000004 | DRV_K , DRV_MOUSE = 0x00000005 | DRV_K , DRV_NETWORK = 0x00000006 | DRV_K , DRV_SYSTEM = 0x00000007 | DRV_K , DRV_INSTALLABLE = 0x00000008 | DRV_K , DRV_SOUND = 0x00000009 | DRV_K , DRV_COMM = 0x0000000A | DRV_K , DRV_INPUTMETHOD = 0x0000000B | DRV_K , DRV_VERSIONED_PRINTER = 0x0000000C , FONT_RASTER = 0x00000001 | FONT_K , FONT_VECTOR = 0x00000002 | FONT_K , FONT_TRUETYPE = 0x00000003 | FONT_K } |
enum class | FILE_FLAGS : uint32_t { DEBUG = 0x00000001 , INFO_INFERRED = 0x00000010 , PATCHED = 0x00000004 , PRERELEASE = 0x00000002 , PRIVATEBUILD = 0x00000008 , SPECIALBUILD = 0x00000020 } |
Public Member Functions | |
bool | has (FILE_FLAGS f) const |
Check if the given FILE_FLAGS is present. | |
std::vector< FILE_FLAGS > | flags () const |
List of FILE_FLAGS. | |
FILE_TYPE_DETAILS | file_type_details () const |
std::string | to_string () const |
Public Attributes | |
uint32_t | signature = 0 |
Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure. | |
uint32_t | struct_version = 0 |
The binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number. | |
uint32_t | file_version_ms = 0 |
The most significant 32 bits of the file's binary version number. This member is used with file_version_ls to form a 64-bit value used for numeric comparisons. | |
uint32_t | file_version_ls = 0 |
The least significant 32 bits of the file's binary version number. This member is used with file_version_ms to form a 64-bit value used for numeric comparisons. | |
uint32_t | product_version_ms = 0 |
The most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with product_version_ls to form a 64-bit value used for numeric comparisons. | |
uint32_t | product_version_ls = 0 |
The least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with product_version_ms to form a 64-bit value used for numeric comparisons. | |
uint32_t | file_flags_mask = 0 |
Contains a bitmask that specifies the valid bits in file_flags. A bit is valid only if it was defined when the file was created. | |
uint32_t | file_flags = 0 |
Contains a bitmask that specifies the Boolean attributes of the file. This member can include one or more of the values specified in FILE_FLAGS. | |
uint32_t | file_os = 0 |
The operating system for which this file was designed. This member can be one of the values specified in VERSION_OS. | |
uint32_t | file_type = 0 |
The general type of file. This member can be one of the values specified in FILE_TYPE. All other values are reserved. | |
uint32_t | file_subtype = 0 |
The function of the file. The possible values depend on the value of file_type. | |
uint32_t | file_date_ms = 0 |
The most significant 32 bits of the file's 64-bit binary creation date and time stamp. | |
uint32_t | file_date_ls = 0 |
The least significant 32 bits of the file's 64-bit binary creation date and time stamp. |
Static Public Attributes | |
static constexpr auto | DRV_K = uint64_t(1) << 33 |
static constexpr auto | FONT_K = uint64_t(1) << 34 |
static constexpr auto | SIGNATURE_VALUE = 0xFEEF04BD |
This structure represents the VS_FIXEDFILEINFO structure defined in verrsrc.h.
|
strong |
|
strong |
|
strong |
|
strong |
|
inline |
std::vector< FILE_FLAGS > LIEF::PE::ResourceVersion::fixed_file_info_t::flags | ( | ) | const |
List of FILE_FLAGS.
|
inline |
Check if the given FILE_FLAGS is present.
References file_flags, and file_flags_mask.
std::string LIEF::PE::ResourceVersion::fixed_file_info_t::to_string | ( | ) | const |
References LIEF_API.
|
staticconstexpr |
Referenced by file_type_details().
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_date_ls = 0 |
The least significant 32 bits of the file's 64-bit binary creation date and time stamp.
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_date_ms = 0 |
The most significant 32 bits of the file's 64-bit binary creation date and time stamp.
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_flags = 0 |
Contains a bitmask that specifies the Boolean attributes of the file. This member can include one or more of the values specified in FILE_FLAGS.
Referenced by has().
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_flags_mask = 0 |
Contains a bitmask that specifies the valid bits in file_flags. A bit is valid only if it was defined when the file was created.
Referenced by has().
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_os = 0 |
The operating system for which this file was designed. This member can be one of the values specified in VERSION_OS.
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_subtype = 0 |
The function of the file. The possible values depend on the value of file_type.
Referenced by file_type_details().
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_type = 0 |
The general type of file. This member can be one of the values specified in FILE_TYPE. All other values are reserved.
Referenced by file_type_details().
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_version_ls = 0 |
The least significant 32 bits of the file's binary version number. This member is used with file_version_ms to form a 64-bit value used for numeric comparisons.
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::file_version_ms = 0 |
The most significant 32 bits of the file's binary version number. This member is used with file_version_ls to form a 64-bit value used for numeric comparisons.
|
staticconstexpr |
Referenced by file_type_details().
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::product_version_ls = 0 |
The least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with product_version_ms to form a 64-bit value used for numeric comparisons.
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::product_version_ms = 0 |
The most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with product_version_ls to form a 64-bit value used for numeric comparisons.
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::signature = 0 |
Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure.
|
staticconstexpr |
uint32_t LIEF::PE::ResourceVersion::fixed_file_info_t::struct_version = 0 |
The binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number.