📄 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; } bool IsMagic() const { for (int i = 0; i < 5; i++) if (Magic[i] != NFileHeader::NMagic::kUsTar[i]) return false; return true; }};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 + -