[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/i586-linux-thread-multi/IO/Compress/Gzip/ -> Constants.pm (source)

   1  package IO::Compress::Gzip::Constants;
   2  
   3  use strict ;
   4  use warnings;
   5  use bytes;
   6  
   7  require Exporter;
   8  
   9  our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
  10  our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
  11  
  12  $VERSION = '2.008';
  13  
  14  @ISA = qw(Exporter);
  15  
  16  @EXPORT= qw(
  17  
  18      GZIP_ID_SIZE
  19      GZIP_ID1
  20      GZIP_ID2
  21  
  22      GZIP_FLG_DEFAULT
  23      GZIP_FLG_FTEXT
  24      GZIP_FLG_FHCRC
  25      GZIP_FLG_FEXTRA
  26      GZIP_FLG_FNAME
  27      GZIP_FLG_FCOMMENT
  28      GZIP_FLG_RESERVED
  29  
  30      GZIP_CM_DEFLATED
  31  
  32      GZIP_MIN_HEADER_SIZE
  33      GZIP_TRAILER_SIZE
  34  
  35      GZIP_MTIME_DEFAULT
  36      GZIP_XFL_DEFAULT
  37      GZIP_FEXTRA_HEADER_SIZE
  38      GZIP_FEXTRA_MAX_SIZE
  39      GZIP_FEXTRA_SUBFIELD_HEADER_SIZE
  40      GZIP_FEXTRA_SUBFIELD_ID_SIZE
  41      GZIP_FEXTRA_SUBFIELD_LEN_SIZE
  42      GZIP_FEXTRA_SUBFIELD_MAX_SIZE
  43  
  44      $GZIP_FNAME_INVALID_CHAR_RE
  45      $GZIP_FCOMMENT_INVALID_CHAR_RE
  46  
  47      GZIP_FHCRC_SIZE
  48  
  49      GZIP_ISIZE_MAX
  50      GZIP_ISIZE_MOD_VALUE
  51  
  52  
  53      GZIP_NULL_BYTE
  54  
  55      GZIP_OS_DEFAULT
  56  
  57      %GZIP_OS_Names
  58  
  59      GZIP_MINIMUM_HEADER
  60  
  61      );
  62  
  63  # Constant names derived from RFC 1952
  64  
  65  use constant GZIP_ID_SIZE                     => 2 ;
  66  use constant GZIP_ID1                         => 0x1F;
  67  use constant GZIP_ID2                         => 0x8B;
  68  
  69  use constant GZIP_MIN_HEADER_SIZE             => 10 ;# minimum gzip header size
  70  use constant GZIP_TRAILER_SIZE                => 8 ;
  71  
  72  
  73  use constant GZIP_FLG_DEFAULT                 => 0x00 ;
  74  use constant GZIP_FLG_FTEXT                   => 0x01 ;
  75  use constant GZIP_FLG_FHCRC                   => 0x02 ; # called CONTINUATION in gzip
  76  use constant GZIP_FLG_FEXTRA                  => 0x04 ;
  77  use constant GZIP_FLG_FNAME                   => 0x08 ;
  78  use constant GZIP_FLG_FCOMMENT                => 0x10 ;
  79  #use constant GZIP_FLG_ENCRYPTED              => 0x20 ; # documented in gzip sources
  80  use constant GZIP_FLG_RESERVED                => (0x20 | 0x40 | 0x80) ;
  81  
  82  use constant GZIP_XFL_DEFAULT                 => 0x00 ;
  83  
  84  use constant GZIP_MTIME_DEFAULT               => 0x00 ;
  85  
  86  use constant GZIP_FEXTRA_HEADER_SIZE          => 2 ;
  87  use constant GZIP_FEXTRA_MAX_SIZE             => 0xFF ;
  88  use constant GZIP_FEXTRA_SUBFIELD_ID_SIZE     => 2 ;
  89  use constant GZIP_FEXTRA_SUBFIELD_LEN_SIZE    => 2 ;
  90  use constant GZIP_FEXTRA_SUBFIELD_HEADER_SIZE => GZIP_FEXTRA_SUBFIELD_ID_SIZE +
  91                                                   GZIP_FEXTRA_SUBFIELD_LEN_SIZE;
  92  use constant GZIP_FEXTRA_SUBFIELD_MAX_SIZE    => GZIP_FEXTRA_MAX_SIZE - 
  93                                                   GZIP_FEXTRA_SUBFIELD_HEADER_SIZE ;
  94  
  95  
  96  if (ord('A') == 193)
  97  {
  98      # EBCDIC 
  99      $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x3f\xff]';
 100      $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x0a\x11-\x14\x16-\x3f\xff]';
 101      
 102  }
 103  else
 104  {
 105      $GZIP_FNAME_INVALID_CHAR_RE       =  '[\x00-\x1F\x7F-\x9F]';
 106      $GZIP_FCOMMENT_INVALID_CHAR_RE    =  '[\x00-\x09\x11-\x1F\x7F-\x9F]';
 107  }            
 108  
 109  use constant GZIP_FHCRC_SIZE        => 2 ; # aka CONTINUATION in gzip
 110  
 111  use constant GZIP_CM_DEFLATED       => 8 ;
 112  
 113  use constant GZIP_NULL_BYTE         => "\x00";
 114  use constant GZIP_ISIZE_MAX         => 0xFFFFFFFF ;
 115  use constant GZIP_ISIZE_MOD_VALUE   => GZIP_ISIZE_MAX + 1 ;
 116  
 117  # OS Names sourced from http://www.gzip.org/format.txt
 118  
 119  use constant GZIP_OS_DEFAULT=> 0xFF ;
 120  %GZIP_OS_Names = (
 121      0   => 'MS-DOS',
 122      1   => 'Amiga',
 123      2   => 'VMS',
 124      3   => 'Unix',
 125      4   => 'VM/CMS',
 126      5   => 'Atari TOS',
 127      6   => 'HPFS (OS/2, NT)',
 128      7   => 'Macintosh',
 129      8   => 'Z-System',
 130      9   => 'CP/M',
 131      10  => 'TOPS-20',
 132      11  => 'NTFS (NT)',
 133      12  => 'SMS QDOS',
 134      13  => 'Acorn RISCOS',
 135      14  => 'VFAT file system (Win95, NT)',
 136      15  => 'MVS',
 137      16  => 'BeOS',
 138      17  => 'Tandem/NSK',
 139      18  => 'THEOS',
 140      GZIP_OS_DEFAULT()   => 'Unknown',
 141      ) ;
 142  
 143  use constant GZIP_MINIMUM_HEADER =>   pack("C4 V C C",  
 144          GZIP_ID1, GZIP_ID2, GZIP_CM_DEFLATED, GZIP_FLG_DEFAULT,
 145          GZIP_MTIME_DEFAULT, GZIP_XFL_DEFAULT, GZIP_OS_DEFAULT) ;
 146  
 147  
 148  1;


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1