Skip to main content

windows_spawn/
lib.rs

1#![doc = include_str!("../docs/crate.md")]
2#![deny(unsafe_code)]
3
4// The rendered crate documentation comes from `docs/crate.md`, so the README
5// would otherwise ship to crates.io without ever being compiled. Including it
6// under `cfg(doctest)` type-checks and runs its examples without adding a
7// second copy of the front page to the rendered docs.
8#[cfg(doctest)]
9#[doc = include_str!("../README.md")]
10mod readme_examples {}
11
12#[cfg(windows)]
13mod child;
14#[cfg(windows)]
15mod command;
16#[cfg(windows)]
17mod handles;
18#[cfg(windows)]
19mod mitigation;
20#[cfg(windows)]
21mod options;
22#[cfg(windows)]
23mod plan;
24#[cfg(windows)]
25#[allow(unsafe_code)]
26mod sys;
27#[cfg(windows)]
28mod transaction;
29
30#[cfg(windows)]
31pub use crate::child::{Child, ChildStderr, ChildStdin, ChildStdout, SuspendedChild};
32#[cfg(windows)]
33pub use crate::command::Command;
34#[cfg(windows)]
35pub use crate::handles::{AsPseudoConsole, Job, ParentProcess, Stdio};
36#[cfg(windows)]
37pub use crate::mitigation::{
38    BlockNonCetBinaries, CetShadowStacks, ControlFlowGuard, DynamicCode, FontDisable,
39    LoaderIntegrity, Mitigation, MitigationPolicy, ModuleTampering, RelocateImages, SignedBinaries,
40    UserCetContextIpValidation,
41};
42#[cfg(windows)]
43pub use crate::options::{CreationFlags, DropPolicy, SpawnOptions};