[−][src]Struct wcxhead::tHeaderDataEx
tHeaderDataEx is a structure used in ReadHeaderEx.
typedef struct {
char ArcName[1024];
char FileName[1024];
int Flags;
unsigned int PackSize;
unsigned int PackSizeHigh;
unsigned int UnpSize;
unsigned int UnpSizeHigh;
int HostOS;
int FileCRC;
int FileTime;
int UnpVer;
int Method;
int FileAttr;
char* CmtBuf;
int CmtBufSize;
int CmtSize;
int CmtState;
char Reserved[1024];
} tHeaderDataEx;
Description
ArcName
, FileName
, PackSize
, UnpSize
contain the name of the archive, the name of the file within the archive, size
of the file when packed, and the size of the file when extracted, respectively. PackSizeHigh
, UnpSizeHigh
contain the
upper
32 bit of a 64-bit size number. Set to 0 if the file is smaller than 4 GB.
HostOS
is there for compatibility with unrar.dll only, and should be set to zero.
FileCRC
is the 32-bit CRC (cyclic redundancy check) checksum of the file. If not available, set to zero.
The Cmt*
values can be used to transfer file comment information. They are currently not used in Total Commander, so they
may be set to zero.
FileAttr
can be set to any combination of the following values:
Value | Description |
---|---|
0x1 | Read-only file |
0x2 | Hidden file |
0x4 | System file |
0x8 | Volume ID file |
0x10 | Directory |
0x20 | Archive file |
0x3F | Any file |
FileTime contains the date and the time of the file’s last update. Use the following algorithm to set the value:
FileTime = (year - 1980) << 25 | month << 21 | day << 16 | hour << 11 | minute << 5 | second/2;
Make sure that:
year
is in the four digit format between 1980 and 2100
month
is a number between 1 and 12
hour
is in the 24 hour format
Reserved
may be used in the future for additional data - you MUST set it to 0 for now to avoid problems with future
versions of TC.
Note:
The Unicode version of this structure uses WCHAR[1024] for ArcName and FileName. "Reserved" is unchanged.
Fields
ArcName: [c_char; 1024]
FileName: [c_char; 1024]
Flags: c_int
PackSize: c_uint
PackSizeHigh: c_uint
UnpSize: c_uint
UnpSizeHigh: c_uint
HostOS: c_int
FileCRC: c_int
FileTime: c_int
UnpVer: c_int
Method: c_int
FileAttr: c_int
CmtBuf: *mut c_char
CmtBufSize: c_int
CmtSize: c_int
CmtState: c_int
Reserved: [c_char; 1024]
Auto Trait Implementations
impl !Sync for tHeaderDataEx
impl Unpin for tHeaderDataEx
impl !Send for tHeaderDataEx
impl UnwindSafe for tHeaderDataEx
impl RefUnwindSafe for tHeaderDataEx
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,