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' }
 

列挙型メンバ詳解

◆ COMPLETE

列挙値
ARC_NO_ERROR 
ARC_CANCELED 
ARC_STOPPED 
ARC_ERROR 
ARC_CANTOPEN 

構築子と解体子

◆ CTAR()

CTAR::CTAR ( const MYSTR &  arcname)

Constructor

関数詳解

◆ CalcSum()

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

CalcSum

◆ Compress()

bool CTAR::Compress ( const char *  name)

Compress

◆ Create()

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

Create

◆ Extract()

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

Extract

◆ Get()

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

Get

◆ GetMagicCode()

char* CTAR::GetMagicCode ( void  )
inline

◆ GetName()

char* CTAR::GetName ( void  ) const
inline

◆ GetSize()

LONGLONG CTAR::GetSize ( void  ) const
inline

◆ GetTime()

time_t CTAR::GetTime ( void  ) const
inline

◆ GetType()

char CTAR::GetType ( void  ) const
inline

◆ IsDir()

bool CTAR::IsDir ( void  ) const
inline

◆ isDir()

bool CTAR::isDir ( char  type,
char *  name 
)
private

isDir

◆ ReadCalcSum()

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

ReadCalcSum

◆ SkipData()

bool CTAR::SkipData ( void  )

SkipData

◆ TarRead()

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

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

◆ TarSeek()

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

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

◆ TarWrite()

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

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

◆ WriteBlank()

bool CTAR::WriteBlank ( void  )

WriteBlank

◆ WriteData()

bool CTAR::WriteData ( const char *  name)
private

◆ WriteHeader() [1/2]

bool CTAR::WriteHeader ( FILE *  fp)

WriteHeader

◆ WriteHeader() [2/2]

bool CTAR::WriteHeader ( void  )
private

◆ ‾CTAR()

CTAR::‾CTAR ( void  )
virtual

Destructor

メンバ詳解

◆ ArcName

MYSTR CTAR::ArcName
private

◆ Atrib

char CTAR::Atrib[8]
private

◆ CalcedSum

long CTAR::CalcedSum
private

◆ CheckSum

long CTAR::CheckSum
private

◆ CheckSumOct

char CTAR::CheckSumOct[8]
private

◆ CreateTime

char CTAR::CreateTime[12]
private

◆ Dummy

char CTAR::Dummy[512 - 100 - 8 - 8 - 8 - 12 - 12 - 8 - 1 - 100 - 8 - 32 - 32 - 8 - 8 - 12 - 12 - 12]
private

◆ GroupID

char CTAR::GroupID[8]
private

◆ GroupName

char CTAR::GroupName[32]
private

◆ LastAccessTime

char CTAR::LastAccessTime[12]
private

◆ Link

char CTAR::Link[100]
private

◆ LONG_LINK

const char CTAR::LONG_LINK = { '.', '/', '.', '/', '@', 'L', 'o', 'n', 'g', 'L', 'i', 'n', 'k' }
staticprivate

◆ MAGIC_CODE

const char CTAR::MAGIC_CODE = { 'u', 's', 't', 'a', 'r', '¥0', '0', '0' }
staticprivate

◆ MAGIC_CODE_GNU

const char CTAR::MAGIC_CODE_GNU = { 'u', 's', 't', 'a', 'r', ' ', ' ', '¥0' }
staticprivate

◆ MagicCode

char CTAR::MagicCode[8]
private

◆ mIsDir

bool CTAR::mIsDir
private

◆ MjDeviceNum

char CTAR::MjDeviceNum[8]
private

◆ MnDeviceNum

char CTAR::MnDeviceNum[8]
private

◆ Name

char* CTAR::Name
private

◆ Offset

char CTAR::Offset[12]
private

◆ Pad

char CTAR::Pad[12]
private

◆ Prefix

char CTAR::Prefix[155]
private

◆ Size

LONGLONG CTAR::Size
protected

◆ SizeOct

char CTAR::SizeOct[12]
private

◆ Time

time_t CTAR::Time
private

◆ TimeOct

char CTAR::TimeOct[12]
private

◆ Type

char CTAR::Type
private

◆ UserID

char CTAR::UserID[8]
private

◆ UserName

char CTAR::UserName[32]
private

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