diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/perk/perk.h | 31 | ||||
-rw-r--r-- | include/perk/perk_output.h | 7 |
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 |