summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/perk/perk.h7
-rw-r--r--include/perk/perk_meta.h16
2 files changed, 23 insertions, 0 deletions
diff --git a/include/perk/perk.h b/include/perk/perk.h
index 8c6711e..02d3275 100644
--- a/include/perk/perk.h
+++ b/include/perk/perk.h
@@ -154,6 +154,10 @@ struct pe_unit_ctx {
void * any;
};
+struct pe_info_string {
+ char buffer[128];
+};
+
/* package info */
perk_api const struct pe_source_version * pe_source_version(void);
@@ -188,6 +192,9 @@ perk_api int pe_get_rva_from_roffset (const struct pe_image_meta *, uint32_t ro
perk_api int pe_get_expsym_by_name (const struct pe_image_meta *, const char * name, struct pe_expsym * optional);
perk_api int pe_get_expsym_by_index (const struct pe_image_meta *, unsigned index, struct pe_expsym * optional);
+/* info api */
+perk_api int pe_get_image_framework (const struct pe_image_meta *, struct pe_info_string * optional);
+
/* low-level api */
perk_api int pe_read_dos_header (const struct pe_image_dos_hdr *, struct pe_meta_image_dos_hdr *);
perk_api int pe_read_coff_header (const struct pe_coff_file_hdr *, struct pe_meta_coff_file_hdr *);
diff --git a/include/perk/perk_meta.h b/include/perk/perk_meta.h
index e3dfab7..fc8c268 100644
--- a/include/perk/perk_meta.h
+++ b/include/perk/perk_meta.h
@@ -7,6 +7,22 @@ extern "C" {
#include <stdint.h>
+enum pe_framework {
+ PE_FRAMEWORK_UNKNOWN,
+ PE_FRAMEWORK_FREESTD,
+ PE_FRAMEWORK_PSXSCL,
+ PE_FRAMEWORK_MIDIPIX,
+ PE_FRAMEWORK_CYGONE,
+ PE_FRAMEWORK_CYGWIN,
+ PE_FRAMEWORK_MINGW,
+ PE_FRAMEWORK_MSYS,
+ PE_FRAMEWORK_SUACON,
+ PE_FRAMEWORK_WINCON,
+ PE_FRAMEWORK_WINCLI,
+ PE_FRAMEWORK_WIN32,
+ PE_FRAMEWORK_CAP
+};
+
/* generic block info / image directory header */
struct pe_block {
uint32_t rva;