darwin_libproc_sys/
lib.rs1#![cfg(target_os = "macos")]
9#![doc(html_root_url = "https://docs.rs/darwin-libproc-sys/0.2.0")]
10#![deny(
11 unused,
12 unused_imports,
13 future_incompatible,
14 dead_code,
15 deprecated,
16 trivial_casts,
17 trivial_numeric_casts,
18 unused_extern_crates,
19 unused_import_braces,
20 unused_results
21)]
22#![allow(missing_docs, nonstandard_style)]
23
24mod listpids;
25mod pidinfo;
26mod rusage;
27
28pub use self::listpids::*;
29pub use self::pidinfo::*;
30pub use self::rusage::*;
31
32pub const MAXPATHLEN: usize = libc::PATH_MAX as usize;
34pub const PROC_PIDPATHINFO_MAXSIZE: usize = 4 * MAXPATHLEN;
36
37extern "C" {
38 pub fn proc_listpidspath(
39 r#type: u32,
40 typeinfo: u32,
41 path: *const libc::c_char,
42 pathflags: u32,
43 buffer: *mut libc::c_void,
44 buffersize: libc::c_int,
45 ) -> libc::c_int;
46
47 pub fn proc_pidfdinfo(
48 pid: libc::c_int,
49 fd: libc::c_int,
50 flavor: libc::c_int,
51 buffer: *mut libc::c_void,
52 buffersize: libc::c_int,
53 ) -> libc::c_int;
54
55 pub fn proc_name(
56 pid: libc::c_int,
57 buffer: *mut libc::c_void,
58 buffersize: u32,
59 ) -> libc::c_int;
60
61 pub fn proc_regionfilename(
62 pid: libc::c_int,
63 address: u64,
64 buffer: *mut libc::c_void,
65 buffersize: u32,
66 ) -> libc::c_int;
67
68 pub fn proc_kmsgbuf(
69 buffer: *mut libc::c_void,
70 buffersize: u32,
71 ) -> libc::c_int;
72
73 pub fn proc_pidpath(
74 pid: libc::c_int,
75 buffer: *mut libc::c_void,
76 buffersize: u32,
77 ) -> libc::c_int;
78
79 pub fn proc_libversion(
80 major: *mut libc::c_int,
81 minor: *mut libc::c_int,
82 ) -> libc::c_int;
83}