# 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 = "2018"
rust-version = "1.48"
name = "linux-raw-sys"
version = "0.1.4"
authors = ["Dan Gohman <dev@sunfishcode.online>"]
exclude = [
    "/gen",
    "/.*",
]
description = "Generated bindings for Linux's userspace API"
documentation = "https://docs.rs/linux-raw-sys"
readme = "README.md"
keywords = [
    "linux",
    "uapi",
    "ffi",
]
categories = ["external-ffi-bindings"]
license = "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT"
repository = "https://github.com/sunfishcode/linux-raw-sys"

[package.metadata.docs.rs]
features = [
    "default",
    "ioctl",
    "netlink",
]
targets = [
    "x86_64-unknown-linux-gnu",
    "i686-unknown-linux-gnu",
]

[dependencies.compiler_builtins]
version = "0.1.49"
optional = true

[dependencies.core]
version = "1.0.0"
optional = true
package = "rustc-std-workspace-core"

[dev-dependencies.libc]
version = "0.2.100"

[dev-dependencies.static_assertions]
version = "1.1.0"

[features]
default = [
    "std",
    "general",
    "errno",
]
errno = []
general = []
ioctl = []
netlink = []
no_std = []
rustc-dep-of-std = [
    "core",
    "compiler_builtins",
    "no_std",
]
std = []
