diff options
author | midipix <writeonce@midipix.org> | 2024-02-09 04:14:26 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-02-09 04:14:26 +0000 |
commit | 8f60d4195d6fe703ec4d19bcf06162ea8fc548a4 (patch) | |
tree | 11b6c60682efbf3becb27a530b9cc3e7c7425cc9 /src/internal/slibtool_driver_impl.h | |
parent | d29f9c69021c51af493b43fe5d15dab02881760e (diff) | |
download | slibtool-8f60d4195d6fe703ec4d19bcf06162ea8fc548a4.tar.bz2 slibtool-8f60d4195d6fe703ec4d19bcf06162ea8fc548a4.tar.xz |
driver: move the host params logic to its own translation unit.
Diffstat (limited to 'src/internal/slibtool_driver_impl.h')
-rw-r--r-- | src/internal/slibtool_driver_impl.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index c72f19e..32ae6c8 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -141,6 +141,12 @@ struct slbt_driver_ctx_impl { struct slbt_error_info erribuf[64]; }; +struct slbt_driver_ctx_alloc { + struct argv_meta * meta; + struct slbt_driver_ctx_impl ctx; + uint64_t guard; +}; + struct slbt_exec_ctx_impl { int argc; char * args; @@ -162,6 +168,31 @@ struct slbt_archive_ctx_impl { struct slbt_archive_ctx actx; }; + +int slbt_init_host_params( + const struct slbt_driver_ctx * dctx, + const struct slbt_common_ctx * cctx, + struct slbt_host_strs * drvhost, + struct slbt_host_params * host, + struct slbt_host_params * cfgmeta, + const char * cfgmeta_ar, + const char * cfgmeta_ranlib); + + +void slbt_free_host_params(struct slbt_host_strs * host); + + +void slbt_init_flavor_settings( + struct slbt_common_ctx * cctx, + const struct slbt_host_params * ahost, + struct slbt_flavor_settings * psettings); + + +int slbt_init_ldrpath( + struct slbt_common_ctx * cctx, + struct slbt_host_params * host); + + static inline struct slbt_archive_ctx_impl * slbt_get_archive_ictx(const struct slbt_archive_ctx * actx) { uintptr_t addr; |