use time;
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum System
{
Dos = 0,
Unix = 3,
Unknown,
#[doc(hidden)]
__Nonexhaustive,
}
impl System {
pub fn from_u8(system: u8) -> System
{
use self::System::*;
match system {
0 => Dos,
3 => Unix,
_ => Unknown,
}
}
}
pub const DEFAULT_VERSION: u8 = 20;
#[derive(Debug)]
pub struct ZipFileData
{
pub system: System,
pub version_made_by: u8,
pub encrypted: bool,
pub compression_method: ::compression::CompressionMethod,
pub last_modified_time: time::Tm,
pub crc32: u32,
pub compressed_size: u64,
pub uncompressed_size: u64,
pub file_name: String,
pub file_name_raw: Vec<u8>,
pub file_comment: String,
pub header_start: u64,
pub data_start: u64,
pub external_attributes: u32,
}
#[cfg(test)]
mod test {
#[test]
fn system() {
use super::System;
assert_eq!(System::Dos as u16, 0u16);
assert_eq!(System::Unix as u16, 3u16);
assert_eq!(System::from_u8(0), System::Dos);
assert_eq!(System::from_u8(3), System::Unix);
}
}