1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
// hinix/src/lib.rs
// This is part of the Rust 'hinix' crate
//
// Copyright (c) 2018-2023, Frank Pagliughi
//
// Licensed under the MIT license:
// <LICENSE or http://opensource.org/licenses/MIT>
// This file may not be copied, modified, or distributed except according
// to those terms.
//
//! The hinix crate.
//!
//! Higher-level support for *nix systems.
//!
//! # Crate Features
//!
//! * **utils** -
//! Whether to build command-line utilities. This brings in additional
//! dependencies like [anyhow](https://docs.rs/anyhow/latest/anyhow/) and
//! [clap](https://docs.rs/clap/latest/clap/)
//!
// Note that the conditional compilation choices were lifted directly from
// the nix crate for which OS each underlying, wrapped, type supports.
#[cfg(any(target_os = "android", target_os = "linux"))]
pub mod eventfd;
#[cfg(any(target_os = "android", target_os = "linux"))]
pub use eventfd::*;
/// Re-export nix for any apps that want to ensure the same version
/// of the underlying library.
pub use nix;
#[cfg(any(
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "netbsd"
))]
pub mod msgqueue;
#[cfg(any(
target_os = "dragonfly",
target_os = "freebsd",
target_os = "linux",
target_os = "netbsd"
))]
pub use msgqueue::{MqAttr, MsgQueue};
/// Hinix Result type
/// This is simply a re-export of the nix Result type.
pub type Result<T> = nix::Result<T>;
/// Hinix Error type.
/// This is simply a re-export of the nix Error type.
pub type Error = nix::Error;