pub mod client;
pub mod header;
pub mod msg;
pub mod server;
pub mod socks;
pub mod spnego;
pub mod transport;
pub use client::{Cred, SmbClient};
pub use msg::DirEntry;
#[derive(Debug, thiserror::Error)]
pub enum SmbError {
#[error("truncated SMB2 message")]
Truncated,
#[error("bad protocol id")]
BadProtocol,
#[error("SMB2 status {0:#010x} for command {1:#06x}")]
Status(u32, u16),
#[error("unexpected security token")]
BadToken,
#[error("ntlm: {0}")]
Ntlm(String),
#[error(transparent)]
Io(#[from] std::io::Error),
}
pub type Result<T> = std::result::Result<T, SmbError>;
pub mod status {
pub const SUCCESS: u32 = 0x0000_0000;
pub const PENDING: u32 = 0x0000_0103; pub const MORE_PROCESSING_REQUIRED: u32 = 0xC000_0016;
pub const END_OF_FILE: u32 = 0xC000_0011;
pub const OBJECT_NAME_NOT_FOUND: u32 = 0xC000_0034;
pub const OBJECT_PATH_NOT_FOUND: u32 = 0xC000_003A;
pub const SHARING_VIOLATION: u32 = 0xC000_0043;
pub const NO_MORE_FILES: u32 = 0x8000_0006;
}