📄 cpioheader.h
字号:
// Archive/cpio/Header.h
#pragma once
#ifndef __ARCHIVE_CPIO_HEADER_H
#define __ARCHIVE_CPIO_HEADER_H
#include "Common/Types.h"
namespace NArchive {
namespace NCpio {
#pragma pack( push, PragmacpioHeaders)
#pragma pack( push, 1)
namespace NFileHeader
{
namespace NMagic
{
extern const char *kMagic1;
extern const char *kMagic2;
extern const char *kEndName;
extern unsigned short kMagicForRecord2;
extern unsigned short kMagicForRecord2BE;
}
struct CRecord2
{
unsigned short c_magic;
short c_dev;
unsigned short c_ino;
unsigned short c_mode;
unsigned short c_uid;
unsigned short c_gid;
unsigned short c_nlink;
short c_rdev;
unsigned short c_mtimes[2];
unsigned short c_namesize;
unsigned short c_filesizes[2];
};
struct CRecord
{
char Magic[6]; /* "070701" for "new" portable format, "070702" for CRC format */
char inode[8];
char Mode[8];
char UID[8];
char GID[8];
char nlink[8];
char mtime[8];
char Size[8]; /* must be 0 for FIFOs and directories */
char DevMajor[8];
char DevMinor[8];
char RDevMajor[8]; /*only valid for chr and blk special files*/
char RDevMinor[8]; /*only valid for chr and blk special files*/
char NameSize[8]; /*count includes terminating NUL in pathname*/
char ChkSum[8]; /* 0 for "new" portable format; for CRC format the sum of all the bytes in the file */
bool CheckMagic()
{ return memcmp(Magic, NMagic::kMagic1, 6) == 0 ||
memcmp(Magic, NMagic::kMagic2, 6) == 0; };
};
}
#pragma pack(pop)
#pragma pack(pop, PragmacpioHeaders)
}}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -