#[macro_use]
extern crate failure_derive;
#[cfg(target_os = "linux")]
mod linux;
#[cfg(target_os = "linux")]
pub use crate::linux::*;
#[cfg(not(target_os = "linux"))]
mod default;
#[cfg(not(target_os = "linux"))]
pub use crate::default::*;
#[derive(Debug, Fail)]
pub enum Error {
#[fail(display = "Unsupported OS. Could not get process limits.")]
UnsupportedOS,
#[fail(display = "Proc file not found at `{}`: {}", _0, _1)]
ProcFileNotFound(String, #[cause] std::io::Error),
}
pub fn get_own_limits() -> Result<Limits, crate::Error> {
let own_pid = std::process::id();
get_pid_limits(own_pid)
}