#[cfg(all(feature = "loader", target_os = "windows"))]
pub mod fn_defs;
#[cfg(all(feature = "loader", target_os = "windows"))]
pub mod url_context;
#[cfg(feature = "std")]
pub mod loader_win;
pub mod consts;
#[cfg(all(feature = "loader", target_os = "windows"))]
#[unsafe(link_section = ".text")]
pub unsafe fn resolve_api<T>(handle: *mut u8, hash: u32, seed: u32) -> T {
unsafe {
let addr = match azathoth_libload::get_proc_address(handle, &(crate::utils::globals::donut_hasher, seed), hash) {
Some(addr) => addr,
None => {
crate::prelude::tnoret();
}
};
core::mem::transmute_copy::<_, T>(&addr)
}
}