Commit | Line | Data |
---|---|---|
25f0751f | 1 | package IO::Compress::Zip::Constants; |
2 | ||
3 | use strict ; | |
4 | use warnings; | |
5 | ||
6 | require Exporter; | |
7 | ||
c70c1701 | 8 | our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); |
25f0751f | 9 | |
ea6efd2c | 10 | $VERSION = '2.018'; |
25f0751f | 11 | |
12 | @ISA = qw(Exporter); | |
13 | ||
14 | @EXPORT= qw( | |
15 | ||
2b4e0969 | 16 | ZIP_CM_STORE |
c70c1701 | 17 | ZIP_CM_DEFLATE |
2b4e0969 | 18 | ZIP_CM_BZIP2 |
4e7676c7 | 19 | ZIP_CM_LZMA |
d54256af | 20 | ZIP_CM_PPMD |
c70c1701 | 21 | |
22 | ZIP_LOCAL_HDR_SIG | |
23 | ZIP_DATA_HDR_SIG | |
24 | ZIP_CENTRAL_HDR_SIG | |
25 | ZIP_END_CENTRAL_HDR_SIG | |
e7d45986 | 26 | ZIP64_END_CENTRAL_REC_HDR_SIG |
27 | ZIP64_END_CENTRAL_LOC_HDR_SIG | |
28 | ZIP64_ARCHIVE_EXTRA_SIG | |
29 | ZIP64_DIGITAL_SIGNATURE_SIG | |
25f0751f | 30 | |
258133d1 | 31 | ZIP_GP_FLAG_ENCRYPTED_MASK |
c70c1701 | 32 | ZIP_GP_FLAG_STREAMING_MASK |
258133d1 | 33 | ZIP_GP_FLAG_PATCHED_MASK |
34 | ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK | |
80e5fcd6 | 35 | ZIP_GP_FLAG_LZMA_EOS_PRESENT |
a1787f24 | 36 | ZIP_GP_FLAG_LANGUAGE_ENCODING |
25f0751f | 37 | |
e7d45986 | 38 | ZIP_EXTRA_ID_ZIP64 |
c70c1701 | 39 | ZIP_EXTRA_ID_EXT_TIMESTAMP |
4e7676c7 | 40 | ZIP_EXTRA_ID_INFO_ZIP_UNIX2 |
ea6efd2c | 41 | ZIP_EXTRA_ID_INFO_ZIP_UNIXn |
42 | ZIP_EXTRA_ID_JAVA_EXE | |
4e7676c7 | 43 | |
44 | ZIP_OS_CODE_UNIX | |
45 | ZIP_OS_CODE_DEFAULT | |
25f0751f | 46 | |
c70c1701 | 47 | ZIP_IFA_TEXT_MASK |
25f0751f | 48 | |
c70c1701 | 49 | %ZIP_CM_MIN_VERSIONS |
e7d45986 | 50 | ZIP64_MIN_VERSION |
25f0751f | 51 | |
52 | ); | |
53 | ||
c70c1701 | 54 | # Compression types supported |
55 | use constant ZIP_CM_STORE => 0 ; | |
56 | use constant ZIP_CM_DEFLATE => 8 ; | |
57 | use constant ZIP_CM_BZIP2 => 12 ; | |
4e7676c7 | 58 | use constant ZIP_CM_LZMA => 14 ; # Not Supported yet |
d54256af | 59 | use constant ZIP_CM_PPMD => 98 ; # Not Supported yet |
25f0751f | 60 | |
c70c1701 | 61 | # General Purpose Flag |
d54256af | 62 | use constant ZIP_GP_FLAG_ENCRYPTED_MASK => (1 << 0) ; |
63 | use constant ZIP_GP_FLAG_STREAMING_MASK => (1 << 3) ; | |
64 | use constant ZIP_GP_FLAG_PATCHED_MASK => (1 << 5) ; | |
65 | use constant ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK => (1 << 6) ; | |
66 | use constant ZIP_GP_FLAG_LZMA_EOS_PRESENT => (1 << 1) ; | |
67 | use constant ZIP_GP_FLAG_LANGUAGE_ENCODING => (1 << 11) ; | |
25f0751f | 68 | |
c70c1701 | 69 | # Internal File Attributes |
70 | use constant ZIP_IFA_TEXT_MASK => 1; | |
25f0751f | 71 | |
c70c1701 | 72 | # Signatures for each of the headers |
73 | use constant ZIP_LOCAL_HDR_SIG => 0x04034b50; | |
74 | use constant ZIP_DATA_HDR_SIG => 0x08074b50; | |
75 | use constant ZIP_CENTRAL_HDR_SIG => 0x02014b50; | |
76 | use constant ZIP_END_CENTRAL_HDR_SIG => 0x06054b50; | |
e7d45986 | 77 | use constant ZIP64_END_CENTRAL_REC_HDR_SIG => 0x06064b50; |
78 | use constant ZIP64_END_CENTRAL_LOC_HDR_SIG => 0x07064b50; | |
79 | use constant ZIP64_ARCHIVE_EXTRA_SIG => 0x08064b50; | |
80 | use constant ZIP64_DIGITAL_SIGNATURE_SIG => 0x05054b50; | |
25f0751f | 81 | |
4e7676c7 | 82 | use constant ZIP_OS_CODE_UNIX => 3; |
83 | use constant ZIP_OS_CODE_DEFAULT => 3; | |
84 | ||
c70c1701 | 85 | # Extra Field ID's |
e7d45986 | 86 | use constant ZIP_EXTRA_ID_ZIP64 => pack "v", 1; |
c70c1701 | 87 | use constant ZIP_EXTRA_ID_EXT_TIMESTAMP => "UT"; |
4e7676c7 | 88 | use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2 => "Ux"; |
9253672d | 89 | use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXn => "ux"; |
a1787f24 | 90 | use constant ZIP_EXTRA_ID_JAVA_EXE => pack "v", 0xCAFE; |
25f0751f | 91 | |
e7d45986 | 92 | use constant ZIP64_MIN_VERSION => 45; |
93 | ||
c70c1701 | 94 | %ZIP_CM_MIN_VERSIONS = ( |
95 | ZIP_CM_STORE() => 20, | |
96 | ZIP_CM_DEFLATE() => 20, | |
97 | ZIP_CM_BZIP2() => 46, | |
4e7676c7 | 98 | ZIP_CM_LZMA() => 63, |
c70c1701 | 99 | ); |
25f0751f | 100 | |
25f0751f | 101 | |
c70c1701 | 102 | 1; |
25f0751f | 103 | |
c70c1701 | 104 | __END__ |
25f0751f | 105 |