IO::Compress* 2.000_12
[p5sagit/p5-mst-13.2.git] / ext / Compress / IO / Zlib / lib / IO / Compress / Zip / Constants.pm
index 9761b82..952a3b3 100644 (file)
@@ -5,130 +5,64 @@ use warnings;
 
 require Exporter;
 
-our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
+our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
 
-$VERSION = '2.000_11';
+$VERSION = '2.000_12';
 
 @ISA = qw(Exporter);
 
 @EXPORT= qw(
 
-    ZIP_ID_SIZE
-    GZIP_ID1
-    GZIP_ID2
-
-    GZIP_FLG_DEFAULT
-    GZIP_FLG_FTEXT
-    GZIP_FLG_FHCRC
-    GZIP_FLG_FEXTRA
-    GZIP_FLG_FNAME
-    GZIP_FLG_FCOMMENT
-    GZIP_FLG_RESERVED
-
     ZIP_CM_STORE
-    ZIP_CM_DEFLATED
+    ZIP_CM_DEFLATE
     ZIP_CM_BZIP2
+    
+    ZIP_LOCAL_HDR_SIG
+    ZIP_DATA_HDR_SIG
+    ZIP_CENTRAL_HDR_SIG
+    ZIP_END_CENTRAL_HDR_SIG
 
-    GZIP_MIN_HEADER_SIZE
-    GZIP_TRAILER_SIZE
-
-    GZIP_MTIME_DEFAULT
-    GZIP_FEXTRA_DEFAULT
-    GZIP_FEXTRA_HEADER_SIZE
-    GZIP_FEXTRA_MAX_SIZE
-    GZIP_FEXTRA_SUBFIELD_HEADER_SIZE
-    GZIP_FEXTRA_SUBFIELD_ID_SIZE
-    GZIP_FEXTRA_SUBFIELD_LEN_SIZE
-    GZIP_FEXTRA_SUBFIELD_MAX_SIZE
-
-    GZIP_FNAME_INVALID_CHAR_RE
-    GZIP_FCOMMENT_INVALID_CHAR_RE
-
-    GZIP_FHCRC_SIZE
+    ZIP_GP_FLAG_STREAMING_MASK
 
-    GZIP_ISIZE_MAX
-    GZIP_ISIZE_MOD_VALUE
+    ZIP_EXTRA_ID_EXT_TIMESTAMP
+    ZIP_EXTRA_ID_INFO_ZIP_UNIX
 
+    ZIP_IFA_TEXT_MASK
 
-    GZIP_NULL_BYTE
-
-    GZIP_OS_DEFAULT
-
-    %GZIP_OS_Names
-
-    GZIP_MINIMUM_HEADER
+    %ZIP_CM_MIN_VERSIONS
 
     );
 
+# Compression types supported
+use constant ZIP_CM_STORE                      => 0 ;
+use constant ZIP_CM_DEFLATE                    => 8 ;
+use constant ZIP_CM_BZIP2                      => 12 ;
 
-# Constants for the Zip Local Header
-
-use constant ZIP_ID_SIZE                        => 4 ;
-use constant ZIP_LOCAL_ID                       => 0x02014B50;
-use constant ZIP_LOCAL_ID1                      => 0x04;
-use constant ZIP_LOCAL_ID2                      => 0x03;
-use constant ZIP_LOCAL_ID3                      => 0x4B;
-use constant ZIP_LOCAL_ID4                      => 0x50;
-
-use constant ZIP_MIN_HEADER_SIZE                => 30 ;
-use constant ZIP_TRAILER_SIZE                   => 0 ;
+# General Purpose Flag
+use constant ZIP_GP_FLAG_ENCRYPTED_MASK        => 1 ;
+use constant ZIP_GP_FLAG_STREAMING_MASK        => 8 ;
 
+# Internal File Attributes
+use constant ZIP_IFA_TEXT_MASK                 => 1;
 
-use constant GZIP_FLG_DEFAULT                   => 0x00 ;
-use constant GZIP_FLG_FTEXT                     => 0x01 ;
-use constant GZIP_FLG_FHCRC                     => 0x02 ; # called CONTINUATION in gzip
-use constant GZIP_FLG_FEXTRA                    => 0x04 ;
-use constant GZIP_FLG_FNAME                     => 0x08 ;
-use constant GZIP_FLG_FCOMMENT                  => 0x10 ;
-#use constant GZIP_FLG_ENCRYPTED                => 0x20 ; # documented in gzip sources
-use constant GZIP_FLG_RESERVED                  => (0x20 | 0x40 | 0x80) ;
+# Signatures for each of the headers
+use constant ZIP_LOCAL_HDR_SIG                 => 0x04034b50;
+use constant ZIP_DATA_HDR_SIG                  => 0x08074b50;
+use constant ZIP_CENTRAL_HDR_SIG               => 0x02014b50;
+use constant ZIP_END_CENTRAL_HDR_SIG           => 0x06054b50;
 
-use constant GZIP_MTIME_DEFAULT                 => 0x00 ;
-use constant GZIP_FEXTRA_DEFAULT                => 0x00 ;
-use constant GZIP_FEXTRA_HEADER_SIZE            => 2 ;
-use constant GZIP_FEXTRA_MAX_SIZE               => 0xFFFF ;
-use constant GZIP_FEXTRA_SUBFIELD_HEADER_SIZE   => 4 ;
-use constant GZIP_FEXTRA_SUBFIELD_ID_SIZE       => 2 ;
-use constant GZIP_FEXTRA_SUBFIELD_LEN_SIZE      => 2 ;
-use constant GZIP_FEXTRA_SUBFIELD_MAX_SIZE      => 0xFFFF ;
+# Extra Field ID's
+use constant ZIP_EXTRA_ID_EXT_TIMESTAMP        => "UT";
+use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX        => "Ux";
 
-use constant GZIP_FNAME_INVALID_CHAR_RE         => qr/[\x00-\x1F\x7F-\x9F]/;
-use constant GZIP_FCOMMENT_INVALID_CHAR_RE      => qr/[\x00-\x09\x11-\x1F\x7F-\x9F]/;
+%ZIP_CM_MIN_VERSIONS = (
+            ZIP_CM_STORE()                      => 20,
+            ZIP_CM_DEFLATE()                    => 20,
+            ZIP_CM_BZIP2()                      => 46,
+            );
 
-use constant GZIP_FHCRC_SIZE                    => 2 ; # aka CONTINUATION in gzip
 
-use constant ZIP_CM_STORE                      => 0 ;
-use constant ZIP_CM_DEFLATE                    => 8 ;
-use constant ZIP_CM_BZIP2                      => 12 ;
+1;
 
-use constant GZIP_NULL_BYTE                     => "\x00";
-use constant GZIP_ISIZE_MAX                     => 0xFFFFFFFF ;
-use constant GZIP_ISIZE_MOD_VALUE               => GZIP_ISIZE_MAX + 1 ;
-
-# OS Names sourced from http://www.gzip.org/format.txt
-
-use constant GZIP_OS_DEFAULT=> 0xFF ;
-%ZIP_OS_Names = (
-    0               => 'MS-DOS',
-    1               => 'Amiga',
-    2               => 'VMS',
-    3               => 'Unix',
-    4               => 'VM/CMS',
-    5               => 'Atari TOS',
-    6               => 'HPFS (OS/2, NT)',
-    7               => 'Macintosh',
-    8               => 'Z-System',
-    9               => 'CP/M',
-    10              => 'TOPS-20',
-    11              => 'NTFS (NT)',
-    12              => 'SMS QDOS',
-    13              => 'Acorn RISCOS',
-    14              => 'VFAT file system (Win95, NT)',
-    15              => 'MVS',
-    16              => 'BeOS',
-    17              => 'Tandem/NSK',
-    18              => 'THEOS',
-    GZIP_OS_DEFAULT => 'Unknown',
-    ) ;
+__END__
 
-1;