From bf447fdc36b3ce0280960d28d736a41f89b5b854 Mon Sep 17 00:00:00 2001 From: midipix Date: Mon, 14 Nov 2016 21:44:29 -0500 Subject: info api: pe_get_image_framework(): initial implementation. --- include/perk/perk.h | 7 +++++++ include/perk/perk_meta.h | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'include') 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 +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; -- cgit v1.2.3