[package] name = "proc-ctl" version = "0.4.0" edition = "2021" description = "A helper library for querying and manipulating processes" license = "MPL-2.0" repository = "https://github.com/EphyraSoftware/proc-ctl" [[bin]] name = "port-binder" path = "./sample/port-binder/main.rs" test = false doc = false doctest = false bench = false [[bin]] name = "port-binder-v6" path = "./sample/port-binder-v6/main.rs" test = false doc = false doctest = false bench = false [[bin]] name = "proc-runner" path = "./sample/proc-runner/main.rs" test = false doc = false doctest = false bench = false [[bin]] name = "udp-port-binder" path = "./sample/udp-port-binder/main.rs" test = false doc = false doctest = false bench = false [[bin]] name = "udp-port-binder-v6" path = "./sample/udp-port-binder-v6/main.rs" test = false doc = false doctest = false bench = false [[bin]] name = "waiter" path = "./sample/waiter/main.rs" test = false doc = false doctest = false bench = false [dependencies] thiserror = "1" retry = { version = "2.0.0", optional = true } tokio = { version = "1", features = ["time"], optional = true } async-recursion = { version = "1", optional = true } sysinfo = { version = "0.32.0", optional = true } [target.'cfg(target_os = "linux")'.dependencies] procfs = "0.17" [target.'cfg(target_os = "windows")'.dependencies] windows = { version = "0.58", features = ["Win32_Networking", "Win32_Networking_WinSock", "Win32_NetworkManagement_IpHelper"] } [dev-dependencies] retry = "2.0.0" tokio = { version = "1", features = ["time", "rt", "macros"] } [features] default = ["proc"] resilience = [ "dep:retry" ] async = [ "dep:tokio", "dep:async-recursion" ] # Included as a default feature but because sysinfo is relatively heavy-weight to initialise, so it's behind a feature # flag to allow it to be disabled if desired. proc = [ "dep:sysinfo", ]