diff options
Diffstat (limited to 'src/internal/perk_driver_impl.h')
-rw-r--r-- | src/internal/perk_driver_impl.h | 30 |
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; } |