1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BlockType {
Raw,
RLE,
Compressed,
Reserved,
}
impl std::fmt::Display for BlockType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
match self {
BlockType::Compressed => write!(f, "Compressed"),
BlockType::Raw => write!(f, "Raw"),
BlockType::RLE => write!(f, "RLE"),
BlockType::Reserved => write!(f, "Reserverd"),
}
}
}
pub struct BlockHeader {
pub last_block: bool,
pub block_type: BlockType,
pub decompressed_size: u32,
pub content_size: u32,
}
|