#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "ffi"), forbid(unsafe_code))]
#![deny(rust_2018_idioms)]
#![warn(missing_docs)]
#[cfg(feature = "alloc")]
extern crate alloc;
pub mod auth;
pub mod channel;
pub mod cipher;
pub mod error;
pub mod format;
pub mod hostkey;
pub mod kex;
pub mod key;
pub mod mac;
pub mod transport;
#[cfg(feature = "alloc")]
pub mod compress;
#[cfg(feature = "std")]
pub mod stream;
#[cfg(feature = "client")]
pub mod client;
#[cfg(feature = "multichannel")]
pub mod shared;
#[cfg(feature = "server")]
pub mod server;
#[cfg(feature = "std")]
pub mod sftp;
#[cfg(feature = "std")]
pub mod scp;
#[cfg(feature = "std")]
pub mod known_hosts;
#[cfg(all(feature = "std", unix))]
pub mod agent;
#[cfg(all(feature = "std", any(feature = "client", feature = "server")))]
pub mod forwarding;
#[cfg(feature = "ffi")]
pub mod ffi;
pub use error::{Error, Result};