mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-13 20:11:35 -06:00
22.00
This commit is contained in:
48
CPP/7zip/PropID.h
Normal file → Executable file
48
CPP/7zip/PropID.h
Normal file → Executable file
@@ -105,7 +105,11 @@ enum
|
||||
kpidCopyLink,
|
||||
kpidArcFileName,
|
||||
kpidIsHash,
|
||||
|
||||
kpidChangeTime,
|
||||
kpidUserId,
|
||||
kpidGroupId,
|
||||
kpidDeviceMajor,
|
||||
kpidDeviceMinor,
|
||||
|
||||
kpid_NUM_DEFINED,
|
||||
|
||||
@@ -127,4 +131,46 @@ const UInt32 kpv_ErrorFlags_DataError = 1 << 9;
|
||||
const UInt32 kpv_ErrorFlags_CrcError = 1 << 10;
|
||||
// const UInt32 kpv_ErrorFlags_Unsupported = 1 << 11;
|
||||
|
||||
/*
|
||||
linux ctime :
|
||||
file metadata was last changed.
|
||||
changing the file modification time
|
||||
counts as a metadata change, so will also have the side effect of updating the ctime.
|
||||
|
||||
PROPVARIANT for timestamps in 7-Zip:
|
||||
{
|
||||
vt = VT_FILETIME
|
||||
wReserved1: set precision level
|
||||
0 : base value (backward compatibility value)
|
||||
only filetime is used (7 digits precision).
|
||||
wReserved2 and wReserved3 can contain random data
|
||||
1 : Unix (1 sec)
|
||||
2 : DOS (2 sec)
|
||||
3 : High Precision (1 ns)
|
||||
16 - 3 : (reserved) = 1 day
|
||||
16 - 2 : (reserved) = 1 hour
|
||||
16 - 1 : (reserved) = 1 minute
|
||||
16 + 0 : 1 sec (0 digits after point)
|
||||
16 + (1,2,3,4,5,6,7,8,9) : set subsecond precision level :
|
||||
(number of decimal digits after point)
|
||||
16 + 9 : 1 ns (9 digits after point)
|
||||
wReserved2 = ns % 100 : if (8 or 9 digits pecision)
|
||||
= 0 : if not (8 or 9 digits pecision)
|
||||
wReserved3 = 0;
|
||||
filetime
|
||||
}
|
||||
|
||||
NOTE: TAR-PAX archives created by GNU TAR don't keep
|
||||
whole information about original level of precision,
|
||||
and timestamp are stored in reduced form, where tail zero
|
||||
digits after point are removed.
|
||||
So 7-Zip can return different precision levels for different items for such TAR archives.
|
||||
*/
|
||||
|
||||
/*
|
||||
TimePrec returned by IOutArchive::GetFileTimeType()
|
||||
is used only for updating, when we compare MTime timestamp
|
||||
from archive with timestamp from directory.
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user