aboutsummaryrefslogtreecommitdiff
path: root/src/zip/structs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/zip/structs.rs')
-rw-r--r--src/zip/structs.rs52
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 @@
1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize)]
4pub 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)]
15pub struct EOCDR64Locator {
16 pub eocdr64_disk: u32,
17 pub eocdr64_pointer: u64,
18 pub disks: u32,
19}
20
21#[derive(Serialize, Deserialize)]
22pub 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)]
35pub 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}