Expand description
rc-zip
rc-zip is a zip archive library with a focus on compatibility and correctness.
Reading
ArchiveReader is your first stop. It ensures we are dealing with a valid zip archive, and reads the central directory. It does not perform I/O itself, but rather, it is a state machine that asks for reads at specific offsets.
An Archive contains a full list of entries, which you can then extract.
Writing
Writing archives is not implemented yet.
Modules
- Prelude for rc-zip
Macros
Structs
- An Archive contains general information about a zip files, along with a list of entries.
- 4.3.9 Data descriptor:
- 4.3.12 Central directory structure: File header
- Coalesces zip and zip64 “end of central directory” record info
- 4.3.15 Zip64 end of central directory locator
- 4.3.14 Zip64 end of central directory record
- 4.3.16 End of central directory record:
- Describes a zip archive entry (a file, a directory, a symlink)
- Info-ZIP New Unix Extra Field:
- 4.5.5 -NTFS Extra Field (0x000a):
- Extended timestamp extra field
- 4.5.7 -UNIX Extra Field (0x000d):
- 4.5.3 -Zip64 Extended Information Extra Field (0x0001)
- 4.3.7 Local file header
- Mode represents a file’s mode and permission bits. The bits have the same definition on all systems, but not all bits apply to all systems.
- A timestamp in MS-DOS format
- A timestamp in NTFS format.
- An entry as stored into an Archive. Contains additional metadata and offset information.
- A zip version (either created by, or required when reading an archive).
- A raw u8 slice, with no specific structure.
- A raw zip string, with no specific encoding.
Enums
- Encodings supported by this crate
- The contents of an entry: a directory, a file, or a symbolic link.
- Any zip-related error, from invalid archives to encoding problems.
- Information stored in the central directory header
extra
field - Specific zip format errors, mostly due to invalid zip archives but that could also stem from implementation shortcomings.
- System on which an archive was created, as encoded into a version u16.
- Compression method used for a file entry.
- NTFS attribute for zip entries (mostly timestamps)