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 | |
319fab50 | 10 | $VERSION = '2.017'; |
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 |
41 | ||
42 | ZIP_OS_CODE_UNIX | |
43 | ZIP_OS_CODE_DEFAULT | |
25f0751f | 44 | |
c70c1701 | 45 | ZIP_IFA_TEXT_MASK |
25f0751f | 46 | |
c70c1701 | 47 | %ZIP_CM_MIN_VERSIONS |
e7d45986 | 48 | ZIP64_MIN_VERSION |
25f0751f | 49 | |
50 | ); | |
51 | ||
c70c1701 | 52 | # Compression types supported |
53 | use constant ZIP_CM_STORE => 0 ; | |
54 | use constant ZIP_CM_DEFLATE => 8 ; | |
55 | use constant ZIP_CM_BZIP2 => 12 ; | |
4e7676c7 | 56 | use constant ZIP_CM_LZMA => 14 ; # Not Supported yet |
d54256af | 57 | use constant ZIP_CM_PPMD => 98 ; # Not Supported yet |
25f0751f | 58 | |
c70c1701 | 59 | # General Purpose Flag |
d54256af | 60 | use constant ZIP_GP_FLAG_ENCRYPTED_MASK => (1 << 0) ; |
61 | use constant ZIP_GP_FLAG_STREAMING_MASK => (1 << 3) ; | |
62 | use constant ZIP_GP_FLAG_PATCHED_MASK => (1 << 5) ; | |
63 | use constant ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK => (1 << 6) ; | |
64 | use constant ZIP_GP_FLAG_LZMA_EOS_PRESENT => (1 << 1) ; | |
65 | use constant ZIP_GP_FLAG_LANGUAGE_ENCODING => (1 << 11) ; | |
25f0751f | 66 | |
c70c1701 | 67 | # Internal File Attributes |
68 | use constant ZIP_IFA_TEXT_MASK => 1; | |
25f0751f | 69 | |
c70c1701 | 70 | # Signatures for each of the headers |
71 | use constant ZIP_LOCAL_HDR_SIG => 0x04034b50; | |
72 | use constant ZIP_DATA_HDR_SIG => 0x08074b50; | |
73 | use constant ZIP_CENTRAL_HDR_SIG => 0x02014b50; | |
74 | use constant ZIP_END_CENTRAL_HDR_SIG => 0x06054b50; | |
e7d45986 | 75 | use constant ZIP64_END_CENTRAL_REC_HDR_SIG => 0x06064b50; |
76 | use constant ZIP64_END_CENTRAL_LOC_HDR_SIG => 0x07064b50; | |
77 | use constant ZIP64_ARCHIVE_EXTRA_SIG => 0x08064b50; | |
78 | use constant ZIP64_DIGITAL_SIGNATURE_SIG => 0x05054b50; | |
25f0751f | 79 | |
4e7676c7 | 80 | use constant ZIP_OS_CODE_UNIX => 3; |
81 | use constant ZIP_OS_CODE_DEFAULT => 3; | |
82 | ||
c70c1701 | 83 | # Extra Field ID's |
e7d45986 | 84 | use constant ZIP_EXTRA_ID_ZIP64 => pack "v", 1; |
c70c1701 | 85 | use constant ZIP_EXTRA_ID_EXT_TIMESTAMP => "UT"; |
4e7676c7 | 86 | use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2 => "Ux"; |
9253672d | 87 | use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXn => "ux"; |
a1787f24 | 88 | use constant ZIP_EXTRA_ID_JAVA_EXE => pack "v", 0xCAFE; |
25f0751f | 89 | |
e7d45986 | 90 | use constant ZIP64_MIN_VERSION => 45; |
91 | ||
c70c1701 | 92 | %ZIP_CM_MIN_VERSIONS = ( |
93 | ZIP_CM_STORE() => 20, | |
94 | ZIP_CM_DEFLATE() => 20, | |
95 | ZIP_CM_BZIP2() => 46, | |
4e7676c7 | 96 | ZIP_CM_LZMA() => 63, |
c70c1701 | 97 | ); |
25f0751f | 98 | |
25f0751f | 99 | |
c70c1701 | 100 | 1; |
25f0751f | 101 | |
c70c1701 | 102 | __END__ |
25f0751f | 103 |