#![allow(
dead_code,
unused_imports,
unused_qualifications,
unreachable_patterns,
deprecated,
clippy::unseparated_literal_suffix,
clippy::print_stderr
)]
#[cfg(all(target_os = "linux", target_env = "gnu"))]
mod tpm;
#[cfg(all(target_os = "linux", target_env = "gnu", feature = "signing"))]
mod sign;
#[cfg(all(target_os = "linux", target_env = "gnu", feature = "encryption"))]
mod encrypt;
#[cfg(all(target_os = "linux", target_env = "gnu", feature = "signing"))]
pub use sign::LinuxTpmSigner;
#[cfg(all(target_os = "linux", target_env = "gnu", feature = "encryption"))]
pub use encrypt::LinuxTpmEncryptor;
pub fn is_available() -> bool {
#[cfg(all(target_os = "linux", target_env = "gnu"))]
{
tpm::is_available()
}
#[cfg(not(all(target_os = "linux", target_env = "gnu")))]
{
false
}
}
#[cfg(test)]
mod tests {
#[test]
#[cfg(not(all(target_os = "linux", target_env = "gnu")))]
fn is_available_returns_false_on_non_linux() {
assert!(!super::is_available());
}
#[test]
#[cfg(all(target_os = "linux", target_env = "gnu"))]
fn is_available_returns_bool_on_linux() {
let _ = super::is_available();
}
}