#[cfg(any(windows, test))]
mod directory_scan;
#[cfg(unix)]
mod unix;
#[cfg(windows)]
mod windows;
#[cfg(unix)]
use unix as os;
#[cfg(windows)]
use windows as os;
pub(crate) use os::{
Child, DEFAULT_EDITOR, EntryName, HiddenInput, canonicalize, create_private_dir,
create_private_dir_all, editor, entry_kind, exit_signal, host_name, is_executable,
is_link_refusal, is_private_dir, is_private_file, open_directory, open_entry, open_no_follow,
open_nonblocking, private_options, private_tempdir_in, process_start_time, read_dir,
restrict_file, spawn_detached, spawn_gated, stop_requested, sync_dir,
};
#[cfg(unix)]
pub(crate) use unix::GROUP_OTHER_BITS;
#[cfg(windows)]
pub(crate) use windows::{is_owner_only, private_pipe, user_identity};
pub(crate) const FILE_LOCK_RETRY_INTERVAL: std::time::Duration =
std::time::Duration::from_millis(25);
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) enum FileKind {
File,
Directory,
Symlink,
Other,
}