//! `libpam-sys` provides low-level access to LibPAM.
//!
//! Everything in here is directly as exported from the LibPAM library or
//! its header files, with two exceptions:
//!
//! - The [`pam_impl`] submodule (and the associated [`pam_impl_name!`] macro),
//! which can be used to detect the current PAM implementation.
//! - The [`aliases`] submodule, which contains convenient aliases
//! for callback types used in libpam, so you don't have to type
//! `unsafe extern "C" fn(this is so long)` all the time.
//!
//! You can override this **at build time** by setting the `LIBPAMSYS_IMPL`
//! environment variable to one of the values of the [`pam_impl::PamImpl`] enum.
//! For more information about configuration, see [the documentation of
//! libpam-sys-impls](libpam_sys_impls::build_target_impl).
pub use crate::;
/// Information about the current PAM implementation (or the implementation
/// that is being built for).