mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-14 08:11:35 -06:00
3.13
This commit is contained in:
69
7zip/Archive/cpio/CpioHeader.h
Executable file
69
7zip/Archive/cpio/CpioHeader.h
Executable file
@@ -0,0 +1,69 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user