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