summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2025-05-31 21:34:17 +0000
committermidipix <writeonce@midipix.org>2025-05-31 22:11:05 +0000
commitd9d2d9175f0e52d873e5bf9210a1f35fd3a49b7c (patch)
tree94f05e51309973c64f5428ceebfd817c69f51447 /include
parent1c0129c0e4039a3b337cc54a2b9cbace7e6a0849 (diff)
downloadperk-d9d2d9175f0e52d873e5bf9210a1f35fd3a49b7c.tar.bz2
perk-d9d2d9175f0e52d873e5bf9210a1f35fd3a49b7c.tar.xz
driver: pe_lib_get_unit_ctx(): added handling of archives and archive members.
Diffstat (limited to 'include')
-rw-r--r--include/perk/perk.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/perk/perk.h b/include/perk/perk.h
index 8e439d3..670fefc 100644
--- a/include/perk/perk.h
+++ b/include/perk/perk.h
@@ -40,6 +40,10 @@ extern "C" {
#define PERK_DRIVER_ANNOTATE_NEVER 0x2000
#define PERK_DRIVER_ANNOTATE_FULL 0x4000
+#define PERK_DRIVER_AR_STRICT_PE 0x10000
+#define PERK_DRIVER_AR_STRICT_PE_ARCH 0x20000
+#define PERK_DRIVER_AR_OBJECT_VECTOR 0x40000
+
/* unit action flags */
#define PERK_ACTION_MAP_READWRITE 0x0001
@@ -83,6 +87,9 @@ enum pe_custom_error {
PERK_ERR_AR_DLUNIT_NOT_SPECIFIED,
PERK_ERR_AR_OUTPUT_NOT_SPECIFIED,
PERK_ERR_AR_OUTPUT_NOT_APPLICABLE,
+ PERK_ERR_AR_NON_PE_MEMBERS,
+ PERK_ERR_AR_MIXED_PE_MEMBERS,
+ PERK_ERR_AR_NESTED_ARCHIVE,
PERK_ERR_CAP,
};
@@ -225,6 +232,8 @@ struct pe_driver_ctx {
struct pe_unit_ctx {
const char * const * path;
const struct pe_image_meta * meta;
+ const struct pe_archive_meta * armeta;
+ const struct pe_image_meta ** objmeta;
void * any;
};