📄 taritem.h
字号:
// Archive/Tar/Item.h
#ifndef __ARCHIVE_TAR_ITEM_H
#define __ARCHIVE_TAR_ITEM_H
#include <time.h>
#include "Common/Types.h"
#include "Common/String.h"
#include "../Common/ItemNameUtils.h"
#include "TarHeader.h"
namespace NArchive {
namespace NTar {
class CItem
{
public:
AString Name;
UInt32 Mode;
UInt32 UID;
UInt32 GID;
UInt64 Size;
UInt32 ModificationTime;
char LinkFlag;
AString LinkName;
char Magic[8];
AString UserName;
AString GroupName;
bool DeviceMajorDefined;
UInt32 DeviceMajor;
bool DeviceMinorDefined;
UInt32 DeviceMinor;
bool IsDirectory() const
{
if (LinkFlag == NFileHeader::NLinkFlag::kDirectory)
return true;
if (LinkFlag == NFileHeader::NLinkFlag::kOldNormal ||
LinkFlag == NFileHeader::NLinkFlag::kNormal)
{
return NItemName::HasTailSlash(Name, CP_OEMCP);
}
return false;
}
};
class CItemEx: public CItem
{
public:
UInt64 HeaderPosition;
UInt64 LongLinkSize;
UInt64 GetDataPosition() const { return HeaderPosition + LongLinkSize + NFileHeader::kRecordSize; };
UInt64 GetFullSize() const { return LongLinkSize + NFileHeader::kRecordSize + Size; };
};
}}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -