1mod dl_find_object;
4pub(crate) mod dl_iterate_phdr;
5pub(crate) mod dladdr;
6pub(crate) mod dlopen;
7pub mod dlsym;
8
9use alloc::boxed::Box;
10use core::ffi::{c_int, c_void};
11
12pub use self::dl_iterate_phdr::dl_iterate_phdr;
13pub use self::dladdr::dladdr;
14pub use self::dlopen::dlopen;
15pub use self::dlsym::dlsym;
16
17#[unsafe(no_mangle)]
20pub unsafe extern "C" fn dlclose(handle: *const c_void) -> c_int {
21 if handle.is_null() {
22 return 0;
23 }
24 let lib = unsafe { Box::from_raw(handle as *mut crate::ElfLibrary) };
25 let shortname = lib.shortname();
26 log::info!("dlclose: Closing [{}]", shortname);
27 0
28}