1#![deny(missing_docs)]
3#![doc = include_str!("../README.md")]
4#![deny(missing_debug_implementations)]
5#![forbid(unused_must_use)]
6#![deny(unsafe_code)]
7
8use std::io;
9
10pub use cap_primitives;
12#[cfg(feature = "fs_utf8")]
13pub use cap_std::fs_utf8::camino;
14pub use cap_tempfile;
15pub use cap_tempfile::cap_std;
16
17#[cfg(not(windows))]
18pub mod cmdext;
19pub mod dirext;
20
21#[cfg(any(target_os = "android", target_os = "linux"))]
22mod rootdir;
23#[cfg(any(target_os = "android", target_os = "linux"))]
24pub use rootdir::*;
25#[cfg(not(windows))]
26mod xattrs;
27#[cfg(not(windows))]
28pub use xattrs::XattrList;
29
30#[cold]
31pub(crate) fn escape_attempt() -> io::Error {
32 io::Error::new(
33 io::ErrorKind::PermissionDenied,
34 "a path led outside of the filesystem",
35 )
36}
37
38pub mod prelude {
40 #[cfg(not(windows))]
41 pub use super::cmdext::CapStdExtCommandExt;
42 pub use super::dirext::CapStdExtDirExt;
43 #[cfg(feature = "fs_utf8")]
44 pub use super::dirext::CapStdExtDirExtUtf8;
45}