1use super::Pid;
2
3#[derive(Debug, Default, Clone)]
4pub struct PidEntries {
5 pub pidentries: Vec<PidEntry>,
6}
7
8#[derive(Debug, Default, Clone)]
9pub struct PidEntry {
10 pub is_empty: bool,
11 pub stat: PidStat,
12 pub statm: PidStatm,
13 pub status: PidStatus,
14 pub cmdline: PidCmdline,
15}
16
17#[derive(Debug, Default, Clone)]
19pub struct PidStat {
20 pub pid: Pid, #[cfg(feature = "has_pidentry_stat_comm")]
23 pub comm: String, #[cfg(feature = "has_pidentry_stat_state")]
25 pub state: u8, pub ppid: Pid, pub pgrp: i32, #[cfg(feature = "has_pidentry_stat_session")]
31 pub session: i32, #[cfg(feature = "has_pidentry_stat_tty_nr")]
33 pub tty_nr: i32, #[cfg(feature = "has_pidentry_stat_tpgid")]
35 pub tpgid: i32, #[cfg(feature = "has_pidentry_stat_flags")]
38 pub flags: u32, #[cfg(feature = "has_pidentry_stat_minflt")]
40 pub minflt: u32, #[cfg(feature = "has_pidentry_stat_cminflt")]
42 pub cminflt: u32, #[cfg(feature = "has_pidentry_stat_majflt")]
44 pub majflt: u32, #[cfg(feature = "has_pidentry_stat_cmajflt")]
46 pub cmajflt: u32, pub utime: u32, pub stime: u32, pub cutime: u32, pub cstime: u32, #[cfg(feature = "has_pidentry_stat_priority")]
54 pub priority: i8, pub nice: i8, pub num_threads: i32, pub starttime: u64, #[cfg(feature = "has_pidentry_stat_vsize")]
61 pub vsize: usize, #[cfg(feature = "has_pidentry_stat_rss")]
63 pub rss: usize, #[cfg(feature = "has_pidentry_stat_rlim")]
65 pub rlim: usize, #[cfg(feature = "has_pidentry_stat_startcode")]
68 pub startcode: usize, #[cfg(feature = "has_pidentry_stat_endcode")]
70 pub endcode: usize, #[cfg(feature = "has_pidentry_stat_startstack")]
72 pub startstack: usize, #[cfg(feature = "has_pidentry_stat_kstesp")]
74 pub kstesp: usize, #[cfg(feature = "has_pidentry_stat_ksteip")]
76 pub ksteip: usize, #[cfg(feature = "has_pidentry_stat_signal")]
79 pub signal: u32, #[cfg(feature = "has_pidentry_stat_blocked")]
81 pub blocked: u32, #[cfg(feature = "has_pidentry_stat_sigignore")]
83 pub sigignore: u32, #[cfg(feature = "has_pidentry_stat_sigcatch")]
85 pub sigcatch: u32, #[cfg(feature = "has_pidentry_stat_exit_signal")]
88 pub exit_signal: i32, #[cfg(feature = "has_pidentry_stat_processor")]
90 pub processor: i32, #[cfg(feature = "has_pidentry_stat_rt_priority")]
92 pub rt_priority: u32, #[cfg(feature = "has_pidentry_stat_policy")]
94 pub policy: u32, #[cfg(feature = "has_pidentry_stat_delayacct")]
96 pub delayacct_blkio_ticks: u64, }
98
99#[derive(Debug, Default, Clone)]
101pub struct PidStatm {
102 pub size: u32, pub resident: u32, pub share: u32, pub text: u32, pub lib: u32, pub data: u32, }
109
110#[derive(Debug, Default, Clone)]
112pub struct PidStatus {
113 #[cfg(feature = "has_pidentry_status_name")]
114 pub name: String,
115 #[cfg(feature = "has_pidentry_status_state")]
117 pub state: u8,
118 #[cfg(feature = "has_pidentry_status_tgid")]
120 pub tgid: Pid,
121 #[cfg(feature = "has_pidentry_status_ngid")]
122 pub ngid: Pid,
123 pub pid: Pid,
125 pub ppid: Pid,
126 #[cfg(feature = "has_pidentry_status_tracer_pid")]
128 pub tracer_pid: Pid,
129 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")]
142 pub vm_peak: usize,
143 pub vm_size: usize, pub vm_lck: usize, #[cfg(feature = "has_pidentry_status_vm_pin")]
148 pub vm_pin: usize, #[cfg(feature = "has_pidentry_status_vm_hwm")]
152 pub vm_hwm: usize,
153 pub vm_rss: usize, #[cfg(feature = "has_pidentry_status_rss_anon")]
158 pub rss_anon: usize,
159 #[cfg(feature = "has_pidentry_status_rss_file")]
160 pub rss_file: usize,
161 #[cfg(feature = "has_pidentry_status_rss_shmem")]
162 pub rss_shmem: usize,
163 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")]
173 pub vm_pmd: usize,
174 pub vm_swap: usize,
178 }
180
181#[derive(Debug, Default, Clone)]
184pub struct PidCmdline {
185 pub cmdline: String,
186}