[package]
name = "ntalloc"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
description = "Windows kernel pool allocator (ExAllocatePool2) for no_std Rust drivers."
license = "MIT OR Apache-2.0"
repository = "https://github.com/krakenaut9/ntalloc"
documentation = "https://docs.rs/ntalloc"
keywords = ["allocator", "kernel", "windows", "driver", "pool"]
categories = ["no-std", "os::windows-apis", "memory-management"]
include = ["src/**", "tests/**", "Cargo.toml", "README.md", "CHANGELOG.md", "LICENSE*"]
authors = ["Dmytro Maslo <krakenaut9@gmail.com>"]
[dependencies]
windows-sys = { version = "0.61", features = ["Wdk_System_SystemServices"] }
allocator-api2 = { version = "0.2.21", optional = true, default-features = false, features = ["std"] }
hashbrown = { version = "0.17", optional = true, default-features = false, features = ["allocator-api2"] }
[features]
allocator-api = []
allocator-api-markers = ["allocator-api"]
usermode-backend = ["dep:allocator-api2", "dep:hashbrown"]
[dev-dependencies]
ntalloc = { path = ".", features = ["usermode-backend"] }
allocator-api2 = { version = "0.2.21", default-features = false, features = ["std"] }
hashbrown = { version = "0.17", default-features = false, features = ["allocator-api2"] }
[[test]]
name = "global_allocator"
harness = false
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
undocumented_unsafe_blocks = "warn"
[package.metadata.docs.rs]
features = ["allocator-api", "allocator-api-markers"]
targets = ["x86_64-pc-windows-msvc"]