1 // -*- mode: cpp; mode: fold -*- 
   3 // $Id: extracttar.h,v 1.2 2001/02/20 07:03:17 jgg Exp $ 
   4 /* ###################################################################### 
   6    Extract a Tar - Tar Extractor 
   8    The tar extractor takes an ordinary gzip compressed tar stream from  
   9    the given file and explodes it, passing the individual items to the 
  10    given Directory Stream for processing. 
  12    ##################################################################### */ 
  14 #ifndef PKGLIB_EXTRACTTAR_H 
  15 #define PKGLIB_EXTRACTTAR_H 
  17 #include <apt-pkg/fileutl.h> 
  21 #ifndef APT_8_CLEANER_HEADERS 
  22 #include <apt-pkg/dirstream.h> 
  35    // The varios types items can be 
  36    enum ItemType 
{NormalFile0 
= '\0',NormalFile 
= '0',HardLink 
= '1', 
  37                   SymbolicLink 
= '2',CharacterDevice 
= '3', 
  38                   BlockDevice 
= '4',Directory 
= '5',FIFO 
= '6', 
  39                   GNU_LongLink 
= 'K',GNU_LongName 
= 'L'}; 
  42    unsigned long MaxInSize
; 
  46    std::string DecompressProg
; 
  50    bool Done(bool Force
); 
  54    bool Go(pkgDirStream 
&Stream
); 
  56    ExtractTar(FileFd 
&Fd
,unsigned long Max
,std::string DecompressionProgram
); 
  57    virtual ~ExtractTar();