# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.69"
name = "nix"
version = "0.28.0"
authors = ["The nix-rust Project Developers"]
include = [
    "build.rs",
    "src/**/*",
    "test/**/*",
    "LICENSE",
    "README.md",
    "CHANGELOG.md",
]
description = "Rust friendly bindings to *nix APIs"
readme = "README.md"
categories = ["os::unix-apis"]
license = "MIT"
repository = "https://github.com/nix-rust/nix"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]
targets = [
    "x86_64-unknown-linux-gnu",
    "aarch64-linux-android",
    "x86_64-apple-darwin",
    "aarch64-apple-ios",
    "x86_64-unknown-freebsd",
    "x86_64-unknown-openbsd",
    "x86_64-unknown-netbsd",
    "x86_64-unknown-dragonfly",
    "x86_64-fuchsia",
    "x86_64-unknown-redox",
    "x86_64-unknown-illumos",
]

[[test]]
name = "test"
path = "test/test.rs"

[[test]]
name = "test-aio-drop"
path = "test/sys/test_aio_drop.rs"

[[test]]
name = "test-clearenv"
path = "test/test_clearenv.rs"

[[test]]
name = "test-prctl"
path = "test/sys/test_prctl.rs"

[dependencies.bitflags]
version = "2.3.1"

[dependencies.cfg-if]
version = "1.0"

[dependencies.libc]
version = "0.2.153"
features = ["extra_traits"]

[dependencies.memoffset]
version = "0.9"
optional = true

[dependencies.pin-utils]
version = "0.1.0"
optional = true

[dev-dependencies.assert-impl]
version = "0.1"

[dev-dependencies.parking_lot]
version = "0.12"

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.semver]
version = "1.0.7"

[dev-dependencies.tempfile]
version = "3.7.1"

[build-dependencies.cfg_aliases]
version = "0.1.1"

[features]
acct = []
aio = ["pin-utils"]
default = []
dir = ["fs"]
env = []
event = []
fanotify = []
feature = []
fs = []
hostname = []
inotify = []
ioctl = []
kmod = []
mman = []
mount = ["uio"]
mqueue = ["fs"]
net = ["socket"]
personality = []
poll = []
process = []
pthread = []
ptrace = ["process"]
quota = []
reboot = []
resource = []
sched = ["process"]
signal = ["process"]
socket = ["memoffset"]
term = []
time = []
ucontext = ["signal"]
uio = []
user = ["feature"]
zerocopy = [
    "fs",
    "uio",
]

[target."cfg(any(target_os = \"android\", target_os = \"linux\"))".dev-dependencies.caps]
version = "0.5.3"

[target."cfg(target_os = \"freebsd\")".dev-dependencies.sysctl]
version = "0.4"
