sysinfo/unix/linux/
mod.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3pub mod component;
4pub mod cpu;
5pub mod disk;
6pub mod network;
7pub mod process;
8pub mod system;
9pub(crate) mod utils;
10
11pub(crate) use self::component::{ComponentInner, ComponentsInner};
12pub(crate) use self::cpu::CpuInner;
13pub(crate) use self::disk::DiskInner;
14pub(crate) use self::network::{NetworkDataInner, NetworksInner};
15pub(crate) use self::process::ProcessInner;
16pub(crate) use self::system::SystemInner;
17pub(crate) use crate::unix::groups::get_groups;
18pub(crate) use crate::unix::users::{get_users, UserInner};
19pub(crate) use crate::unix::DisksInner;
20
21use std::time::Duration;
22
23declare_signals! {
24    libc::c_int,
25    Signal::Hangup => libc::SIGHUP,
26    Signal::Interrupt => libc::SIGINT,
27    Signal::Quit => libc::SIGQUIT,
28    Signal::Illegal => libc::SIGILL,
29    Signal::Trap => libc::SIGTRAP,
30    Signal::Abort => libc::SIGABRT,
31    Signal::IOT => libc::SIGIOT,
32    Signal::Bus => libc::SIGBUS,
33    Signal::FloatingPointException => libc::SIGFPE,
34    Signal::Kill => libc::SIGKILL,
35    Signal::User1 => libc::SIGUSR1,
36    Signal::Segv => libc::SIGSEGV,
37    Signal::User2 => libc::SIGUSR2,
38    Signal::Pipe => libc::SIGPIPE,
39    Signal::Alarm => libc::SIGALRM,
40    Signal::Term => libc::SIGTERM,
41    Signal::Child => libc::SIGCHLD,
42    Signal::Continue => libc::SIGCONT,
43    Signal::Stop => libc::SIGSTOP,
44    Signal::TSTP => libc::SIGTSTP,
45    Signal::TTIN => libc::SIGTTIN,
46    Signal::TTOU => libc::SIGTTOU,
47    Signal::Urgent => libc::SIGURG,
48    Signal::XCPU => libc::SIGXCPU,
49    Signal::XFSZ => libc::SIGXFSZ,
50    Signal::VirtualAlarm => libc::SIGVTALRM,
51    Signal::Profiling => libc::SIGPROF,
52    Signal::Winch => libc::SIGWINCH,
53    Signal::IO => libc::SIGIO,
54    Signal::Poll => libc::SIGPOLL,
55    Signal::Power => libc::SIGPWR,
56    Signal::Sys => libc::SIGSYS,
57}
58
59#[doc = include_str!("../../../md_doc/is_supported.md")]
60pub const IS_SUPPORTED_SYSTEM: bool = true;
61#[doc = include_str!("../../../md_doc/supported_signals.md")]
62pub const SUPPORTED_SIGNALS: &[crate::Signal] = supported_signals();
63#[doc = include_str!("../../../md_doc/minimum_cpu_update_interval.md")]
64pub const MINIMUM_CPU_UPDATE_INTERVAL: Duration = Duration::from_millis(200);