use super::Pid;
#[derive(Debug, Default, Clone)]
pub struct PidEntries {
pub pidentries: Vec<PidEntry>,
}
#[derive(Debug, Default, Clone)]
pub struct PidEntry {
pub is_empty: bool,
pub stat: PidStat,
pub statm: PidStatm,
pub status: PidStatus,
pub cmdline: PidCmdline,
}
#[derive(Debug, Default, Clone)]
pub struct PidStat {
pub pid: Pid,
#[cfg(feature = "has_pidentry_stat_comm")]
pub comm: String, #[cfg(feature = "has_pidentry_stat_state")]
pub state: u8, pub ppid: Pid, pub pgrp: i32, #[cfg(feature = "has_pidentry_stat_session")]
pub session: i32, #[cfg(feature = "has_pidentry_stat_tty_nr")]
pub tty_nr: i32, #[cfg(feature = "has_pidentry_stat_tpgid")]
pub tpgid: i32, #[cfg(feature = "has_pidentry_stat_flags")]
pub flags: u32, #[cfg(feature = "has_pidentry_stat_minflt")]
pub minflt: u32, #[cfg(feature = "has_pidentry_stat_cminflt")]
pub cminflt: u32, #[cfg(feature = "has_pidentry_stat_majflt")]
pub majflt: u32, #[cfg(feature = "has_pidentry_stat_cmajflt")]
pub cmajflt: u32, pub utime: u32, pub stime: u32, pub cutime: u32, pub cstime: u32, #[cfg(feature = "has_pidentry_stat_priority")]
pub priority: i8, pub nice: i8, pub num_threads: i32, pub starttime: u64, #[cfg(feature = "has_pidentry_stat_vsize")]
pub vsize: usize, #[cfg(feature = "has_pidentry_stat_rss")]
pub rss: usize, #[cfg(feature = "has_pidentry_stat_rlim")]
pub rlim: usize, #[cfg(feature = "has_pidentry_stat_startcode")]
pub startcode: usize, #[cfg(feature = "has_pidentry_stat_endcode")]
pub endcode: usize, #[cfg(feature = "has_pidentry_stat_startstack")]
pub startstack: usize, #[cfg(feature = "has_pidentry_stat_kstesp")]
pub kstesp: usize, #[cfg(feature = "has_pidentry_stat_ksteip")]
pub ksteip: usize, #[cfg(feature = "has_pidentry_stat_signal")]
pub signal: u32, #[cfg(feature = "has_pidentry_stat_blocked")]
pub blocked: u32, #[cfg(feature = "has_pidentry_stat_sigignore")]
pub sigignore: u32, #[cfg(feature = "has_pidentry_stat_sigcatch")]
pub sigcatch: u32, #[cfg(feature = "has_pidentry_stat_exit_signal")]
pub exit_signal: i32, #[cfg(feature = "has_pidentry_stat_processor")]
pub processor: i32, #[cfg(feature = "has_pidentry_stat_rt_priority")]
pub rt_priority: u32, #[cfg(feature = "has_pidentry_stat_policy")]
pub policy: u32, #[cfg(feature = "has_pidentry_stat_delayacct")]
pub delayacct_blkio_ticks: u64, }
#[derive(Debug, Default, Clone)]
pub struct PidStatm {
pub size: u32, pub resident: u32, pub share: u32, pub text: u32, pub lib: u32, pub data: u32, }
#[derive(Debug, Default, Clone)]
pub struct PidStatus {
#[cfg(feature = "has_pidentry_status_name")]
pub name: String,
#[cfg(feature = "has_pidentry_status_state")]
pub state: u8,
#[cfg(feature = "has_pidentry_status_tgid")]
pub tgid: Pid,
#[cfg(feature = "has_pidentry_status_ngid")]
pub ngid: Pid,
pub pid: Pid,
pub ppid: Pid,
#[cfg(feature = "has_pidentry_status_tracer_pid")]
pub tracer_pid: Pid,
pub ruid: u32, pub euid: u32, pub suid: u32, pub fuid: u32, pub rgid: u32, pub egid: u32, pub sgid: u32, pub fgid: u32, #[cfg(feature = "has_pidentry_status_vm_peak")]
pub vm_peak: usize,
pub vm_size: usize, pub vm_lck: usize, #[cfg(feature = "has_pidentry_status_vm_pin")]
pub vm_pin: usize, #[cfg(feature = "has_pidentry_status_vm_hwm")]
pub vm_hwm: usize,
pub vm_rss: usize, #[cfg(feature = "has_pidentry_status_rss_anon")]
pub rss_anon: usize,
#[cfg(feature = "has_pidentry_status_rss_file")]
pub rss_file: usize,
#[cfg(feature = "has_pidentry_status_rss_shmem")]
pub rss_shmem: usize,
pub vm_data: usize, pub vm_stk: usize, pub vm_exe: usize, pub vm_lib: usize, pub vm_pte: usize, #[cfg(feature = "has_pidentry_status_vm_pmd")]
pub vm_pmd: usize,
pub vm_swap: usize,
}
#[derive(Debug, Default, Clone)]
pub struct PidCmdline {
pub cmdline: String,
}