The following snippet illustrates how to retrieve the generic host information that is available on every supported platform:
print(f" Hostname: {lief.runtime.Host.name}")
print(f" Home: {lief.runtime.Host.home_dir}")
print(f" cache: {lief.runtime.Host.cache_dir}")
print(f" temp: {lief.runtime.Host.tmp_dir}")
print(f" config: {lief.runtime.Host.config_dir}")
info(" Hostname: {}", LIEF::runtime::Host::name());
info(" Home: {}", LIEF::runtime::Host::home_dir());
info(" Cache: {}", LIEF::runtime::Host::cache_dir());
info(" Temp: {}", LIEF::runtime::Host::tmp_dir());
info(" Config: {}", LIEF::runtime::Host::config_dir());
println!(" Hostname: {}", runtime::Host::name());
println!(" Home: {}", runtime::Host::home_dir());
println!(" Cache: {}", runtime::Host::cache_dir());
println!(" Temp: {}", runtime::Host::tmp_dir());
println!(" Config: {}", runtime::Host::config_dir());
print(f" sys_name: {lief.runtime.linux.Host.sys_name}")
print(f" sys_release: {lief.runtime.linux.Host.sys_release}")
print(f" sys_version: {lief.runtime.linux.Host.sys_version}")
print(f" hardware: {lief.runtime.linux.Host.hardware}")
info(" sys_name: {}", LIEF::runtime::Linux::Host::sys_name());
info(" sys_release: {}", LIEF::runtime::Linux::Host::sys_release());
info(" sys_version: {}", LIEF::runtime::Linux::Host::sys_version());
info(" hardware: {}", LIEF::runtime::Linux::Host::hardware());
println!(" sys_name: {}", runtime::linux::Host::sys_name());
println!(" sys_release: {}", runtime::linux::Host::sys_release());
println!(" sys_version: {}", runtime::linux::Host::sys_version());
println!(" hardware: {}", runtime::linux::Host::hardware());
print(f" Version: {lief.runtime.windows.Host.version}")
info(" Version: {}", LIEF::runtime::windows::Host::version().to_string());
if let Some(version) = runtime::windows::Host::version() {
println!(" Version: {}", version);
}
print(f" Version: {lief.runtime.osx.Host.os_version_name}")
sip = "enabled" if lief.runtime.osx.Host.is_sip_enabled else "disabled"
print(f" SIP: {sip}")
info(" Version: {}", LIEF::runtime::osx::Host::os_version_name());
info(" SIP: {}",
LIEF::runtime::osx::Host::is_sip_enabled() ? "enabled" : "disabled");
println!(" Version: {}", runtime::osx::Host::os_version_name());
println!(
" SIP: {}",
if runtime::osx::Host::is_sip_enabled() {
"enabled"
} else {
"disabled"
}
);
if (sdk := lief.runtime.android.Host.sdk_version) is not None:
print(f" SDK: {sdk}")
if (auto sdk = LIEF::runtime::android::Host::sdk_version()) {
info(" SDK: {}", std::to_string(*sdk));
}
if let Some(sdk) = runtime::android::Host::sdk_version() {
println!(" SDK: {}", sdk);
}