summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/perk/perk.h31
-rw-r--r--include/perk/perk_output.h7
2 files changed, 36 insertions, 2 deletions
diff --git a/include/perk/perk.h b/include/perk/perk.h
index 9075163..05ed665 100644
--- a/include/perk/perk.h
+++ b/include/perk/perk.h
@@ -44,6 +44,23 @@ extern "C" {
#define PERK_DRIVER_AR_STRICT_PE 0x10000
#define PERK_DRIVER_AR_STRICT_PE_ARCH 0x20000
#define PERK_DRIVER_AR_OBJECT_VECTOR 0x40000
+#define PERK_DRIVER_AR_LIST_MEMBERS 0x80000 /* [-t] */
+
+#define PERK_DRIVER_AR_SUPPRESS_MESSAGE 0X100000 /* [-c] */
+#define PERK_DRIVER_AR_VERBOSE_OUTPUT 0X200000 /* [-v] */
+#define PERK_DRIVER_AR_UPDATE_SYMTBL 0X400000 /* [-s] */
+#define PERK_DRIVER_AR_UPDATE_MEMBERS 0x800000 /* [-u] */
+#define PERK_DRIVER_AR_PRESERVE_NEWER 0X800000 /* [-C] */
+
+#define PERK_DRIVER_AR_DELETE_MEMBERS 0X1000000 /* [-d] */
+#define PERK_DRIVER_AR_APPEND_MEMBERS 0X2000000 /* [-q] */
+#define PERK_DRIVER_AR_REPLACE_MEMBERS 0X4000000 /* [-r] */
+#define PERK_DRIVER_AR_EXTRACT_MEMBERS 0X8000000 /* [-x] */
+
+#define PERK_DRIVER_AR_MOVE_MEMBERS 0X10000000 /* [-m] */
+#define PERK_DRIVER_AR_POSITION_AFTER 0X20000000 /* [-a] */
+#define PERK_DRIVER_AR_POSITION_BEFORE 0X40000000 /* [-b] */
+#define PERK_DRIVER_AR_PRINT_ARCHIVE 0X80000000 /* [-p] */
/* error flags */
#define PERK_ERROR_TOP_LEVEL 0x0001
@@ -85,9 +102,17 @@ 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_ARCHIVE_IMAGE,
PERK_ERR_AR_NON_PE_MEMBERS,
PERK_ERR_AR_MIXED_PE_MEMBERS,
PERK_ERR_AR_NESTED_ARCHIVE,
+ PERK_ERR_AR_MISSING_ACTION,
+ PERK_ERR_AR_MULTIPLE_ACTIONS,
+ PERK_ERR_AR_MULTIPLE_ANCHORS,
+ PERK_ERR_AR_INVALID_ANCHORS,
+ PERK_ERR_AR_MISSING_ANCHOR,
+ PERK_ERR_AR_NULL_POSNAME,
+ PERK_ERR_AR_NULL_ARNAME,
PERK_ERR_CAP,
};
@@ -257,7 +282,8 @@ perk_api int pe_lib_set_driver_fdctx (struct pe_driver_ctx *, const s
/* cmd api */
perk_api int pe_cmd_perk (const struct pe_driver_ctx *, const char *);
-perk_api int pe_cmd_ar (const struct pe_driver_ctx *);
+perk_api int pe_cmd_ar (const struct pe_driver_ctx *, uint64_t,
+ const char *, const char *, const char **);
/* utility api */
perk_api int pe_main (char **, char **, const struct pe_fd_ctx *);
@@ -334,6 +360,9 @@ perk_api int pe_ar_get_archive_meta (const struct pe_driver_ctx *,
perk_api void pe_ar_free_archive_meta (struct pe_archive_meta *);
+/* archiver utility api */
+perk_api int pe_ar_list_members (const struct pe_archive_meta *, const char **);
+
/* package info */
perk_api const struct pe_source_version * pe_source_version(void);
diff --git a/include/perk/perk_output.h b/include/perk/perk_output.h
index d6e2529..313f609 100644
--- a/include/perk/perk_output.h
+++ b/include/perk/perk_output.h
@@ -35,7 +35,12 @@
#define PERK_PRETTY_TABLE PERK_PRETTY(0x00000002)
#define PERK_PRETTY_READOBJ PERK_PRETTY(0x00000004)
#define PERK_PRETTY_OBJDUMP PERK_PRETTY(0x00000008)
+
#define PERK_PRETTY_YAML PERK_PRETTY(0x00000010)
-#define PERK_PRETTY_DLLTOOL PERK_PRETTY(0x00000020)
+#define PERK_PRETTY_POSIX PERK_PRETTY(0x00000020)
+#define PERK_PRETTY_HEXDATA PERK_PRETTY(0x00000040)
+#define PERK_PRETTY_VERBOSE PERK_PRETTY(0x00000080)
+
+#define PERK_PRETTY_DLLTOOL PERK_PRETTY(0x10000000)
#endif