From f8c3c93824645a807d28b760855b4676ea479720 Mon Sep 17 00:00:00 2001 From: Igor Tolmachev Date: Sat, 15 Jun 2024 03:30:50 +0900 Subject: Add simple zip reader --- src/zip/structs.rs | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/zip/structs.rs (limited to 'src/zip/structs.rs') diff --git a/src/zip/structs.rs b/src/zip/structs.rs new file mode 100644 index 0000000..e38f9f0 --- /dev/null +++ b/src/zip/structs.rs @@ -0,0 +1,52 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize)] +pub struct EOCDR { + pub eocdr_disk: u16, + pub cd_disk: u16, + pub cd_disk_records: u16, + pub cd_records: u16, + pub cd_size: u32, + pub cd_pointer: u32, + pub comment_len: u16, +} + +#[derive(Serialize, Deserialize)] +pub struct EOCDR64Locator { + pub eocdr64_disk: u32, + pub eocdr64_pointer: u64, + pub disks: u32, +} + +#[derive(Serialize, Deserialize)] +pub struct EOCDR64 { + pub eocdr64_size: u64, + pub version: u16, + pub version_needed: u16, + pub eocdr64_disk: u32, + pub cd_disk: u32, + pub cd_disk_records: u64, + pub cd_records: u64, + pub cd_size: u64, + pub cd_pointer: u64, +} + +#[derive(Serialize, Deserialize)] +pub struct CDR { + pub version: u16, + pub version_needed: u16, + pub bit_flag: u16, + pub compression_method: u16, + pub dos_time: u16, + pub dos_date: u16, + pub crc32: u32, + pub compressed_size: u32, + pub size: u32, + pub name_len: u16, + pub extra_field_len: u16, + pub comment_len: u16, + pub disk: u16, + pub internal_attributes: u16, + pub external_attributes: u32, + pub header_pointer: u32, +} -- cgit v1.2.3