|
| enum | CDIntFlags { CDFileDirty = BIT(0),
CDFileAdded = BIT(1),
CDFileDeleted = BIT(2),
CDFileOpen = BIT(3)
} |
| | Internal flags used by the zip code when writing zips. More...
|
| |
| enum | CompressionMethod {
Stored = 0,
Shrunk = 1,
ReducedL1 = 2,
ReducedL2 = 3,
ReducedL3 = 4,
ReducedL4 = 5,
Imploded = 6,
ReservedTokenized = 7,
Deflated = 8,
EnhDefalted = 9,
DateCompression = 10,
ReservedPKWARE = 11,
BZip2 = 12,
PPMd = 98,
AESEncrypted = 99
} |
| |
| enum | FileFlags {
Encrypted = BIT(0),
Implode8KDictionary = BIT(1),
Implode3ShannonFanoTrees = BIT(2),
DeflateTypeMask = BIT(1) | BIT(2),
FileInfoInDirectory = BIT(3),
ReservedEnhDeflate = BIT(4),
PatchData = BIT(5),
StrongEncryption = BIT(6),
UnusedReserved1 = BIT(7),
UnusedReserved2 = BIT(8),
UnusedReserved3 = BIT(9),
UnusedReserved4 = BIT(10),
UnusedReserved5 = BIT(11),
ReservedPKWARE1 = BIT(12),
EncryptedDirectory = BIT(13),
ReservedPKWARE2 = BIT(14),
ReservedPKWARE3 = BIT(15)
} |
| |
The zip code internals are mostly undocumented, but should be fairly obvious to anyone who is familiar with the zip file format.
| #define CompressorCreateReadStream |
( |
|
name | ) |
Stream * Compressor##name::createReadStream(const CentralDir *cdir, Stream *zipStream) |
| #define CompressorCreateWriteStream |
( |
|
name | ) |
Stream * Compressor##name::createWriteStream(const CentralDir *cdir, Stream *zipStream) |
| #define DeclareExtraField |
( |
|
name | ) |
name(U16 id, ExtraFieldCreateFn fnCreate) : Parent(id, fnCreate) {} |
| #define ImplementCompressor |
( |
|
name, |
|
|
|
method |
|
) |
| |
Value:class Compressor##name : public Compressor \
{ \
public: \
Compressor##name(S32 m, const char *n) : Compressor(m, n) {} \
virtual
Stream *createReadStream(
const CentralDir *cdir,
Stream *zipStream); \
virtual
Stream *createWriteStream(
const CentralDir *cdir,
Stream *zipStream); \
}; \
Compressor##name gCompressor##name##instance(method, #name);
| #define ImplementExtraField |
( |
|
name, |
|
|
|
id |
|
) |
| name gExtraField##name##instance(id, &createExtraField<name>); |
| typedef ExtraField*(* ExtraFieldCreateFn)() |
Internal flags used by the zip code when writing zips.
| Enumerator |
|---|
| CDFileDirty |
|
| CDFileAdded |
|
| CDFileDeleted |
|
| CDFileOpen |
|
| Enumerator |
|---|
| Stored |
|
| Shrunk |
|
| ReducedL1 |
|
| ReducedL2 |
|
| ReducedL3 |
|
| ReducedL4 |
|
| Imploded |
|
| ReservedTokenized |
|
| Deflated |
|
| EnhDefalted |
|
| DateCompression |
|
| ReservedPKWARE |
|
| BZip2 |
|
| PPMd |
|
| AESEncrypted |
|
| Enumerator |
|---|
| Encrypted |
|
| Implode8KDictionary |
|
| Implode3ShannonFanoTrees |
|
| DeflateTypeMask |
|
| FileInfoInDirectory |
|
| ReservedEnhDeflate |
|
| PatchData |
|
| StrongEncryption |
|
| UnusedReserved1 |
|
| UnusedReserved2 |
|
| UnusedReserved3 |
|
| UnusedReserved4 |
|
| UnusedReserved5 |
|
| ReservedPKWARE1 |
|
| EncryptedDirectory |
|
| ReservedPKWARE2 |
|
| ReservedPKWARE3 |
|
| ExtraField* Zip::createExtraField |
( |
| ) |
|