Lhaz
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 限定公開変数類 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
CTAR クラスabstract

#include <tar.h>

CTAR の継承関係図
BZ2TAR TARTAR TGZTAR XZTAR

公開型

enum  COMPLETE {
  ARC_NO_ERROR, ARC_CANCELED, ARC_STOPPED, ARC_ERROR,
  ARC_CANTOPEN
}
 

公開メンバ関数

 CTAR (const MYSTR &arcname)
 Constructor. [詳解]
 
virtual ‾CTAR (void)
 Destructor. [詳解]
 
bool Get (unsigned long *crc=NULL)
 Get. [詳解]
 
bool SkipData (void)
 SkipData. [詳解]
 
char * GetMagicCode (void)
 
char * GetName (void) const
 
LONGLONG GetSize (void) const
 
time_t GetTime (void) const
 
char GetType (void) const
 
bool IsDir (void) const
 
COMPLETE Extract (bool &overwrite, bool &skipflag, bool verify, bool show_progress)
 Extract. [詳解]
 
bool Compress (const char *name)
 Compress. [詳解]
 
bool WriteHeader (FILE *fp)
 WriteHeader. [詳解]
 
bool WriteBlank (void)
 WriteBlank. [詳解]
 
virtual size_t TarRead (void *buf, size_t size, unsigned long *crc=NULL)=0
 

静的公開メンバ関数

static CTARCreate (ARCHIVE::TYPE type, gzFile fptar, FILE *fp, const char *arcname=NULL)
 Create. [詳解]
 
static long CalcSum (char *s, size_t size)
 CalcSum. [詳解]
 

限定公開変数類

LONGLONG Size
 

非公開メンバ関数

bool ReadCalcSum (char *d, size_t size, long &sum, unsigned long *crc=NULL)
 ReadCalcSum. [詳解]
 
bool WriteHeader (void)
 
bool WriteData (const char *name)
 
bool isDir (char type, char *name)
 isDir [詳解]
 
virtual int TarSeek (fpos_t offset, int origin)=0
 
virtual size_t TarWrite (const void *buf, size_t size, bool eof=false)=0
 

非公開変数類

char * Name
 
char Atrib [8]
 
char UserID [8]
 
char GroupID [8]
 
char SizeOct [12]
 
time_t Time
 
char TimeOct [12]
 
long CheckSum
 
char CheckSumOct [8]
 
char Type
 
char Link [100]
 
char MagicCode [8]
 
char UserName [32]
 
char GroupName [32]
 
char MjDeviceNum [8]
 
char MnDeviceNum [8]
 
char LastAccessTime [12]
 
char CreateTime [12]
 
char Offset [12]
 
char Dummy [512-100-8-8-8-12-12-8-1-100-8-32-32-8-8-12-12-12]
 
char Prefix [155]
 
char Pad [12]
 
MYSTR ArcName
 
long CalcedSum
 
bool mIsDir
 

静的非公開変数類

static const char MAGIC_CODE [8] = { 'u', 's', 't', 'a', 'r', '¥0', '0', '0' }
 
static const char MAGIC_CODE_GNU [8] = { 'u', 's', 't', 'a', 'r', ' ', ' ', '¥0' }
 
static const char LONG_LINK [] = { '.', '/', '.', '/', '@', 'L', 'o', 'n', 'g', 'L', 'i', 'n', 'k' }
 

列挙型メンバ詳解

列挙値
ARC_NO_ERROR 
ARC_CANCELED 
ARC_STOPPED 
ARC_ERROR 
ARC_CANTOPEN 

構築子と解体子

CTAR::CTAR ( const MYSTR &  arcname)

Constructor.

関数詳解

long CTAR::CalcSum ( char *  s,
size_t  size 
)
static

CalcSum.

bool CTAR::Compress ( const char *  name)

Compress.

CTAR * CTAR::Create ( ARCHIVE::TYPE  type,
gzFile  fptar,
FILE *  fp,
const char *  arcname = NULL 
)
static

Create.

CTAR::COMPLETE CTAR::Extract ( bool overwrite,
bool skipflag,
bool  verify,
bool  show_progress 
)

Extract.

bool CTAR::Get ( unsigned long *  crc = NULL)

Get.

char* CTAR::GetMagicCode ( void  )
inline
char* CTAR::GetName ( void  ) const
inline
LONGLONG CTAR::GetSize ( void  ) const
inline
time_t CTAR::GetTime ( void  ) const
inline
char CTAR::GetType ( void  ) const
inline
bool CTAR::IsDir ( void  ) const
inline
bool CTAR::isDir ( char  type,
char *  name 
)
private

isDir

bool CTAR::ReadCalcSum ( char *  d,
size_t  size,
long &  sum,
unsigned long *  crc = NULL 
)
private

ReadCalcSum.

bool CTAR::SkipData ( void  )

SkipData.

virtual size_t CTAR::TarRead ( void buf,
size_t  size,
unsigned long *  crc = NULL 
)
pure virtual

XZTAR, TARTAR, BZ2TAR, TGZTARで実装されています。

virtual int CTAR::TarSeek ( fpos_t  offset,
int  origin 
)
privatepure virtual

XZTAR, TARTAR, BZ2TAR, TGZTARで実装されています。

virtual size_t CTAR::TarWrite ( const void buf,
size_t  size,
bool  eof = false 
)
privatepure virtual

XZTAR, TARTAR, BZ2TAR, TGZTARで実装されています。

bool CTAR::WriteBlank ( void  )

WriteBlank.

bool CTAR::WriteData ( const char *  name)
private
bool CTAR::WriteHeader ( FILE *  fp)

WriteHeader.

bool CTAR::WriteHeader ( void  )
private
CTAR::‾CTAR ( void  )
virtual

Destructor.

メンバ詳解

MYSTR CTAR::ArcName
private
char CTAR::Atrib[8]
private
long CTAR::CalcedSum
private
long CTAR::CheckSum
private
char CTAR::CheckSumOct[8]
private
char CTAR::CreateTime[12]
private
char CTAR::Dummy[512-100-8-8-8-12-12-8-1-100-8-32-32-8-8-12-12-12]
private
char CTAR::GroupID[8]
private
char CTAR::GroupName[32]
private
char CTAR::LastAccessTime[12]
private
char CTAR::Link[100]
private
const char CTAR::LONG_LINK = { '.', '/', '.', '/', '@', 'L', 'o', 'n', 'g', 'L', 'i', 'n', 'k' }
staticprivate
const char CTAR::MAGIC_CODE = { 'u', 's', 't', 'a', 'r', '¥0', '0', '0' }
staticprivate
const char CTAR::MAGIC_CODE_GNU = { 'u', 's', 't', 'a', 'r', ' ', ' ', '¥0' }
staticprivate
char CTAR::MagicCode[8]
private
bool CTAR::mIsDir
private
char CTAR::MjDeviceNum[8]
private
char CTAR::MnDeviceNum[8]
private
char* CTAR::Name
private
char CTAR::Offset[12]
private
char CTAR::Pad[12]
private
char CTAR::Prefix[155]
private
LONGLONG CTAR::Size
protected
char CTAR::SizeOct[12]
private
time_t CTAR::Time
private
char CTAR::TimeOct[12]
private
char CTAR::Type
private
char CTAR::UserID[8]
private
char CTAR::UserName[32]
private

このクラス詳解は次のファイルから抽出されました: