aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/dlopen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/dlopen.rs')
-rw-r--r--src/api/dlopen.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/api/dlopen.rs b/src/api/dlopen.rs
new file mode 100644
index 0000000..63f690a
--- /dev/null
+++ b/src/api/dlopen.rs
@@ -0,0 +1,14 @@
+#![cfg(target_os = "linux")]
+
+use libc;
+
+pub const RTLD_LAZY: libc::c_int = 0x001;
+pub const RTLD_NOW: libc::c_int = 0x002;
+
+#[link="dl"]
+extern {
+ pub fn dlopen(filename: *const libc::c_char, flag: libc::c_int) -> *mut libc::c_void;
+ pub fn dlerror() -> *mut libc::c_char;
+ pub fn dlsym(handle: *mut libc::c_void, symbol: *const libc::c_char) -> *mut libc::c_void;
+ pub fn dlclose(handle: *mut libc::c_void) -> libc::c_int;
+}