summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2025-06-21 17:19:36 +0000
committermidipix <writeonce@midipix.org>2025-06-21 17:19:36 +0000
commita0915299ee6c3ca770398f6fa1e59df063d6a892 (patch)
tree7e46aa46ce6d0849375eedfafb1a6e7b86854737 /include
parentabbfe7adc44e7259841788ec8f5b1a69132cbcec (diff)
downloadsltdl-a0915299ee6c3ca770398f6fa1e59df063d6a892.tar.bz2
sltdl-a0915299ee6c3ca770398f6fa1e59df063d6a892.tar.xz
lt_dlpreload_modctl(): initial implementation.
Diffstat (limited to 'include')
-rw-r--r--include/sltdl/sltdl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/sltdl/sltdl.h b/include/sltdl/sltdl.h
index 943783d..a2eee2a 100644
--- a/include/sltdl/sltdl.h
+++ b/include/sltdl/sltdl.h
@@ -30,6 +30,15 @@ extern "C" {
/* default dlsym vtable, see also: slibtool -dlpreopen self */
#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
+enum sltdl_modctl {
+ SLTDL_MODCTL_DEBUG,
+ SLTDL_MODCTL_PRELOAD_ADD,
+ SLTDL_MODCTL_PRELOAD_REMOVE,
+ SLTDL_MODCTL_PRELOAD_DEFAULT,
+ SLTDL_MODCTL_PRELOAD_RESET,
+ SLTDL_MODCTL_CAP,
+};
+
enum sltdl_error {
SLTDL_ERR_OK,
SLTDL_ERR_SYSTEM_ERROR,
@@ -119,6 +128,9 @@ lt_api void * lt_dlsym(lt_dlhandle, const char *);
lt_api int lt_dlclose(lt_dlhandle);
lt_api const char * lt_dlerror(void);
+/* preloaded modules */
+lt_api int lt_dlpreload_modctl(const struct lt_symdef *, enum sltdl_modctl);
+
/* custom loaders */
lt_api int lt_dlloader_add(const struct lt_dlentry *);
lt_api const struct lt_dlentry * lt_dlloader_find(const char *);