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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#![cfg(target_os = "macos")]
#![doc(html_root_url = "https://docs.rs/darwin-libproc-sys/0.1.0")]
#![deny(
unused,
unused_imports,
future_incompatible,
nonstandard_style,
dead_code,
deprecated,
trivial_casts,
trivial_numeric_casts,
unused_extern_crates,
unused_import_braces,
unused_results
)]
#![allow(missing_docs)]
mod listpids;
mod pidinfo;
pub use self::listpids::*;
pub use self::pidinfo::*;
pub const MAXPATHLEN: usize = libc::PATH_MAX as usize;
pub const PROC_PIDPATHINFO_MAXSIZE: usize = 4 * MAXPATHLEN;
extern "C" {
pub fn proc_listpidspath(
r#type: u32,
typeinfo: u32,
path: *const libc::c_char,
pathflags: u32,
buffer: *mut libc::c_void,
buffersize: libc::c_int,
) -> libc::c_int;
pub fn proc_pidfdinfo(
pid: libc::c_int,
fd: libc::c_int,
flavor: libc::c_int,
buffer: *mut libc::c_void,
buffersize: libc::c_int,
) -> libc::c_int;
pub fn proc_name(
pid: libc::c_int,
buffer: *mut libc::c_void,
buffersize: u32,
) -> libc::c_int;
pub fn proc_regionfilename(
pid: libc::c_int,
address: u64,
buffer: *mut libc::c_void,
buffersize: u32,
) -> libc::c_int;
pub fn proc_kmsgbuf(
buffer: *mut libc::c_void,
buffersize: u32,
) -> libc::c_int;
pub fn proc_pidpath(
pid: libc::c_int,
buffer: *mut libc::c_void,
buffersize: u32,
) -> libc::c_int;
pub fn proc_libversion(
major: *mut libc::c_int,
minor: *mut libc::c_int,
) -> libc::c_int;
}