25 #ifndef SRC_XRDZIP_XRDZIPLFH_HH_
26 #define SRC_XRDZIP_XRDZIPLFH_HH_
46 inline static uint32_t
initSize(
const off_t &fileSize )
55 LFH(
const std::string &
filename, uint32_t crc, off_t fileSize, time_t time ) :
71 LFH(
const char *buffer,
const uint64_t bufferSize = 0 )
73 if(bufferSize > 0 && bufferSize < (uint64_t)
lfhBaseSize)
76 uint32_t signature = 0;
119 std::copy(
filename.begin(),
filename.end(), std::back_inserter( buffer ) );
120 extra->Serialize( buffer );
135 exsize +=
sizeof( uint64_t );
142 exsize +=
sizeof( uint64_t );
147 if( exsize == 0 )
return;
154 extra->FromBuffer( buffer, exsize, ovrflws );
LFH(const char *buffer, const uint64_t bufferSize=0)
Constructor from buffer.
Definition: XrdZipLFH.hh:71
uint32_t compressedSize
Definition: XrdZipLFH.hh:162
void ParseExtra(const char *buffer, uint16_t length)
Definition: XrdZipLFH.hh:126
std::vector< char > buffer_t
Definition: XrdZipUtils.hh:56
uint16_t time
Definition: XrdZipUtils.hh:142
uint16_t compressionMethod
Definition: XrdZipLFH.hh:159
static void copy_bytes(const INT value, buffer_t &buffer)
Definition: XrdZipUtils.hh:62
uint16_t generalBitFlag
Definition: XrdZipLFH.hh:158
LFH(const std::string &filename, uint32_t crc, off_t fileSize, time_t time)
Constructor.
Definition: XrdZipLFH.hh:55
uint16_t lfhSize
Definition: XrdZipLFH.hh:168
uint16_t extraLength
Definition: XrdZipLFH.hh:165
static uint32_t initSize(const off_t &fileSize)
Convenience function for initializing compressed/uncompressed size.
Definition: XrdZipLFH.hh:46
A data structure representing ZIP Local File Header.
Definition: XrdZipLFH.hh:41
static const uint32_t lfhSign
Local File Header signature.
Definition: XrdZipLFH.hh:173
Definition: XrdZipUtils.hh:48
std::string filename
Definition: XrdZipLFH.hh:166
dos_timestmp timestmp
Definition: XrdZipLFH.hh:160
Definition: XrdZipUtils.hh:42
uint32_t ZCRC32
Definition: XrdZipLFH.hh:161
Definition: XrdZipUtils.hh:104
void Serialize(buffer_t &buffer)
Serialize the object into a buffer.
Definition: XrdZipLFH.hh:106
uint16_t date
Definition: XrdZipUtils.hh:155
uint16_t filenameLength
Definition: XrdZipLFH.hh:164
static void from_buffer(INT &var, const char *&buffer)
Definition: XrdZipUtils.hh:78
static const uint16_t lfhBaseSize
Definition: XrdZipLFH.hh:174
std::unique_ptr< Extra > extra
Definition: XrdZipLFH.hh:167
uint32_t uncompressedSize
Definition: XrdZipLFH.hh:163
uint16_t minZipVersion
Definition: XrdZipLFH.hh:157