summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2025-06-02 01:17:43 +0000
committermidipix <writeonce@midipix.org>2025-06-02 01:17:43 +0000
commit5b248de6f0f31354f2b2023ca0ee8be7604e3e23 (patch)
tree264360912ac335feac8010eac58c64a0ff957cc7
parentc73e19fc0eb524dd28e2b52d7f52e4ee564ba9c4 (diff)
downloadperk-5b248de6f0f31354f2b2023ca0ee8be7604e3e23.tar.bz2
perk-5b248de6f0f31354f2b2023ca0ee8be7604e3e23.tar.xz
pe_cmd_ar(): updated function signature, defined action and option constants.
-rw-r--r--include/perk/perk.h20
-rw-r--r--src/cmds/pe_cmd_ar.c11
-rw-r--r--src/driver/pe_amain.c2
3 files changed, 30 insertions, 3 deletions
diff --git a/include/perk/perk.h b/include/perk/perk.h
index 9075163..a6d6f94 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
@@ -257,7 +274,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 *);
diff --git a/src/cmds/pe_cmd_ar.c b/src/cmds/pe_cmd_ar.c
index 2df578c..e578ca0 100644
--- a/src/cmds/pe_cmd_ar.c
+++ b/src/cmds/pe_cmd_ar.c
@@ -7,8 +7,17 @@
#include <perk/perk.h>
#include "perk_driver_impl.h"
-int pe_cmd_ar(const struct pe_driver_ctx * dctx)
+int pe_cmd_ar(
+ const struct pe_driver_ctx * dctx,
+ uint64_t flags,
+ const char * posname,
+ const char * arname,
+ const char ** units)
{
(void)dctx;
+ (void)flags;
+ (void)posname;
+ (void)arname;
+ (void)units;
return 0;
}
diff --git a/src/driver/pe_amain.c b/src/driver/pe_amain.c
index c48ec1c..f238b2b 100644
--- a/src/driver/pe_amain.c
+++ b/src/driver/pe_amain.c
@@ -85,7 +85,7 @@ int pe_main(char ** argv, char ** envp, const struct pe_fd_ctx * fdctx)
break;
case PERK_CMD_AR:
- pe_cmd_ar(dctx);
+ pe_cmd_ar(dctx,0,0,0,0);
break;
default: