summaryrefslogtreecommitdiffhomepage
path: root/src/internal/perk_driver_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/perk_driver_impl.h')
-rw-r--r--src/internal/perk_driver_impl.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/src/internal/perk_driver_impl.h b/src/internal/perk_driver_impl.h
index dafad86..22e7894 100644
--- a/src/internal/perk_driver_impl.h
+++ b/src/internal/perk_driver_impl.h
@@ -13,11 +13,15 @@
#define PERK_OPTV_ELEMENTS 64
extern const struct argv_option pe_default_options[];
+extern const struct argv_option pe_perk_options[];
+extern const struct argv_option pe_ar_options[];
enum app_tags {
TAG_HELP,
TAG_VERSION,
+ TAG_CMD,
TAG_PRETTY,
+ TAG_VERBOSE,
TAG_CATEGORY,
TAG_SECTIONS,
TAG_SYMBOLS,
@@ -28,6 +32,8 @@ enum app_tags {
TAG_DSOLIBS,
TAG_DSOSYMS,
TAG_HDRDUMP,
+ TAG_AR_LIST_MEMBERS,
+ TAG_AR_PRINT_MEMBERS,
};
struct pe_driver_ctx_impl {
@@ -43,10 +49,14 @@ struct pe_driver_ctx_impl {
};
struct pe_unit_ctx_impl {
- const char * path;
- struct pe_raw_image map;
- struct pe_image_meta * meta;
- struct pe_unit_ctx uctx;
+ const char * path;
+ struct pe_raw_image map;
+ struct pe_image_meta * meta;
+ struct pe_raw_archive armap;
+ struct pe_archive_meta * armeta;
+ struct pe_image_meta ** objmeta;
+ const struct pe_image_meta**usrobjmeta;
+ struct pe_unit_ctx uctx;
};
@@ -78,42 +88,42 @@ static inline void pe_driver_set_ectx(
static inline int pe_driver_fdin(const struct pe_driver_ctx * dctx)
{
struct pe_fd_ctx fdctx;
- pe_get_driver_fdctx(dctx,&fdctx);
+ pe_lib_get_driver_fdctx(dctx,&fdctx);
return fdctx.fdin;
}
static inline int pe_driver_fdout(const struct pe_driver_ctx * dctx)
{
struct pe_fd_ctx fdctx;
- pe_get_driver_fdctx(dctx,&fdctx);
+ pe_lib_get_driver_fdctx(dctx,&fdctx);
return fdctx.fdout;
}
static inline int pe_driver_fderr(const struct pe_driver_ctx * dctx)
{
struct pe_fd_ctx fdctx;
- pe_get_driver_fdctx(dctx,&fdctx);
+ pe_lib_get_driver_fdctx(dctx,&fdctx);
return fdctx.fderr;
}
static inline int pe_driver_fdlog(const struct pe_driver_ctx * dctx)
{
struct pe_fd_ctx fdctx;
- pe_get_driver_fdctx(dctx,&fdctx);
+ pe_lib_get_driver_fdctx(dctx,&fdctx);
return fdctx.fdlog;
}
static inline int pe_driver_fdcwd(const struct pe_driver_ctx * dctx)
{
struct pe_fd_ctx fdctx;
- pe_get_driver_fdctx(dctx,&fdctx);
+ pe_lib_get_driver_fdctx(dctx,&fdctx);
return fdctx.fdcwd;
}
static inline int pe_driver_fddst(const struct pe_driver_ctx * dctx)
{
struct pe_fd_ctx fdctx;
- pe_get_driver_fdctx(dctx,&fdctx);
+ pe_lib_get_driver_fdctx(dctx,&fdctx);
return fdctx.fddst;
}