diff options
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 | } | ||
