diff options
| author | Igor Tolmachev <me@igorek.dev> | 2024-06-15 03:30:50 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-06-23 15:34:34 +0900 |
| commit | f8c3c93824645a807d28b760855b4676ea479720 (patch) | |
| tree | 1f91838c2abcb3b0683a061f892b8e2835be4fa1 /src/zip/structs.rs | |
| parent | bd77f62e99a5300dfa52aef3a7040414b28ebfd6 (diff) | |
| download | archivator-f8c3c93824645a807d28b760855b4676ea479720.tar.gz archivator-f8c3c93824645a807d28b760855b4676ea479720.zip | |
Add simple zip reader
Diffstat (limited to 'src/zip/structs.rs')
| -rw-r--r-- | src/zip/structs.rs | 52 |
1 files changed, 52 insertions, 0 deletions
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 @@ | |||
| 1 | use serde::{Deserialize, Serialize}; | ||
| 2 | |||
| 3 | #[derive(Serialize, Deserialize)] | ||
| 4 | pub struct EOCDR { | ||
| 5 | pub eocdr_disk: u16, | ||
| 6 | pub cd_disk: u16, | ||
| 7 | pub cd_disk_records: u16, | ||
| 8 | pub cd_records: u16, | ||
| 9 | pub cd_size: u32, | ||
| 10 | pub cd_pointer: u32, | ||
| 11 | pub comment_len: u16, | ||
| 12 | } | ||
| 13 | |||
| 14 | #[derive(Serialize, Deserialize)] | ||
| 15 | pub struct EOCDR64Locator { | ||
| 16 | pub eocdr64_disk: u32, | ||
| 17 | pub eocdr64_pointer: u64, | ||
| 18 | pub disks: u32, | ||
| 19 | } | ||
| 20 | |||
| 21 | #[derive(Serialize, Deserialize)] | ||
| 22 | pub struct EOCDR64 { | ||
| 23 | pub eocdr64_size: u64, | ||
| 24 | pub version: u16, | ||
| 25 | pub version_needed: u16, | ||
| 26 | pub eocdr64_disk: u32, | ||
| 27 | pub cd_disk: u32, | ||
| 28 | pub cd_disk_records: u64, | ||
| 29 | pub cd_records: u64, | ||
| 30 | pub cd_size: u64, | ||
| 31 | pub cd_pointer: u64, | ||
| 32 | } | ||
| 33 | |||
| 34 | #[derive(Serialize, Deserialize)] | ||
| 35 | pub struct CDR { | ||
| 36 | pub version: u16, | ||
| 37 | pub version_needed: u16, | ||
| 38 | pub bit_flag: u16, | ||
| 39 | pub compression_method: u16, | ||
| 40 | pub dos_time: u16, | ||
| 41 | pub dos_date: u16, | ||
| 42 | pub crc32: u32, | ||
| 43 | pub compressed_size: u32, | ||
| 44 | pub size: u32, | ||
| 45 | pub name_len: u16, | ||
| 46 | pub extra_field_len: u16, | ||
| 47 | pub comment_len: u16, | ||
| 48 | pub disk: u16, | ||
| 49 | pub internal_attributes: u16, | ||
| 50 | pub external_attributes: u32, | ||
| 51 | pub header_pointer: u32, | ||
| 52 | } | ||
