use std::sync::Arc;
use crate::{connection::preauth_hash::PreauthHashState, dialects::DialectImpl};
use binrw::prelude::*;
use smb_dtyp::Guid;
use smb_msg::*;
use super::ConnectionConfig;
#[derive(Debug)]
pub struct NegotiatedProperties {
pub server_guid: Guid,
pub caps: GlobalCapabilities,
pub max_transact_size: u32,
pub max_read_size: u32,
pub max_write_size: u32,
pub auth_buffer: Vec<u8>,
pub signing_algo: Option<SigningAlgorithmId>,
pub encryption_cipher: Option<EncryptionCipher>,
pub compression: Option<CompressionCapabilities>,
pub dialect_rev: Dialect,
}
#[derive(Debug)]
pub struct ConnectionInfo {
pub server_name: String,
pub server_address: std::net::SocketAddr,
pub negotiation: NegotiatedProperties,
pub dialect: Arc<DialectImpl>,
pub config: ConnectionConfig,
pub preauth_hash: PreauthHashState,
pub client_guid: Guid,
}