mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-07 11:14:58 -06:00
71 lines
1.6 KiB
C++
Executable File
71 lines
1.6 KiB
C++
Executable File
// Archive/cpio/Header.h
|
|
|
|
#ifndef __ARCHIVE_CPIO_HEADER_H
|
|
#define __ARCHIVE_CPIO_HEADER_H
|
|
|
|
#include "Common/Types.h"
|
|
|
|
namespace NArchive {
|
|
namespace NCpio {
|
|
|
|
namespace NFileHeader
|
|
{
|
|
namespace NMagic
|
|
{
|
|
extern const char *kMagic1;
|
|
extern const char *kMagic2;
|
|
extern const char *kMagic3;
|
|
extern const char *kEndName;
|
|
extern const Byte kMagicForRecord2[2];
|
|
}
|
|
|
|
const UInt32 kRecord2Size = 26;
|
|
/*
|
|
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];
|
|
};
|
|
*/
|
|
|
|
const UInt32 kRecordSize = 110;
|
|
/*
|
|
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() const
|
|
{ return memcmp(Magic, NMagic::kMagic1, 6) == 0 ||
|
|
memcmp(Magic, NMagic::kMagic2, 6) == 0; };
|
|
};
|
|
*/
|
|
|
|
const UInt32 kOctRecordSize = 76;
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
#endif
|