1pub mod client;
10pub mod header;
11pub mod msg;
12pub mod server;
13pub mod socks;
14pub mod spnego;
15pub mod transport;
16
17pub use client::{Cred, SmbClient};
18pub use msg::DirEntry;
19
20#[derive(Debug, thiserror::Error)]
21pub enum SmbError {
22 #[error("truncated SMB2 message")]
23 Truncated,
24 #[error("bad protocol id")]
25 BadProtocol,
26 #[error("SMB2 status {0:#010x} for command {1:#06x}")]
27 Status(u32, u16),
28 #[error("unexpected security token")]
29 BadToken,
30 #[error("ntlm: {0}")]
31 Ntlm(String),
32 #[error(transparent)]
33 Io(#[from] std::io::Error),
34}
35
36pub type Result<T> = std::result::Result<T, SmbError>;
37
38pub mod status {
40 pub const SUCCESS: u32 = 0x0000_0000;
41 pub const PENDING: u32 = 0x0000_0103; pub const MORE_PROCESSING_REQUIRED: u32 = 0xC000_0016;
43 pub const END_OF_FILE: u32 = 0xC000_0011;
44 pub const OBJECT_NAME_NOT_FOUND: u32 = 0xC000_0034;
45 pub const SHARING_VIOLATION: u32 = 0xC000_0043;
46 pub const NO_MORE_FILES: u32 = 0x8000_0006;
48}