NCBI C++ ToolKit
Classes | Typedefs | Enumerations | Functions
tar.hpp File Reference

Tar archive API. More...

#include <corelib/ncbifile.hpp>
#include <utility>
+ Include dependency graph for tar.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.


class  CTarException
 CTarException –. More...
class  CTarEntryInfo
 CTarEntryInfo class. More...
class  CTarUserEntryInfo
 User-creatable info for streaming into a tar. More...
class  CTar
 CTar class. More...
struct  CTar::SMask
 Mask storage. More...


typedef unsigned int TTarMode
 Bitwise OR of ETarModeBits. More...


enum  ETarModeBits {
  fTarSetUID = 04000 , fTarSetGID = 02000 , fTarSticky = 01000 , fTarURead = 00400 ,
  fTarUWrite = 00200 , fTarUExecute = 00100 , fTarGRead = 00040 , fTarGWrite = 00020 ,
  fTarGExecute = 00010 , fTarORead = 00004 , fTarOWrite = 00002 , fTarOExecute = 00001
 TTarMode –. More...


ostream & operator<< (ostream &, const CTarEntryInfo &)
 Nice TOC(table of contents) printout. More...

Detailed Description

Tar archive API.

Supports subsets of POSIX.1-1988 (ustar), POSIX 1003.1-2001 (posix), old GNU (POSIX 1003.1), and V7 formats (all partially but reasonably). New archives are created using POSIX (genuine ustar) format, using GNU extensions for long names/links only when unavoidable. It cannot, however, handle all the exotics like sparse files (except for GNU/1.0 sparse PAX extension) and contiguous files (yet still can work around both of them gracefully, if needed), multivolume / incremental archives, etc. but just regular files, devices (character or block), FIFOs, directories, and limited links: can extract both hard- and symlinks, but can store symlinks only. Also, this implementation is only minimally PAX(Portable Archive eXchange)-aware for file extractions (and does not yet use any PAX extensions to store the files).

Definition in file tar.hpp.

Modified on Fri May 24 14:54:57 2024 by rev. 669887