xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
XrdZip::CDFH Struct Reference

#include <XrdZipCDFH.hh>

Collaboration diagram for XrdZip::CDFH:
Collaboration graph
[legend]

Public Member Functions

 CDFH (LFH *lfh, mode_t mode, uint64_t lfhOffset)
 
 CDFH (const char *buffer)
 
void ParseExtra (const char *buffer, uint16_t length)
 
void Serialize (buffer_t &buffer)
 Serialize the object into a buffer. More...
 
bool IsZIP64 () const
 
bool HasDataDescriptor ()
 

Static Public Member Functions

static std::tuple< cdvec_t,
cdmap_t
Parse (const char *buffer, uint32_t bufferSize, uint16_t nbCdRecords)
 
static std::tuple< cdvec_t,
cdmap_t
Parse (const char *&buffer, uint32_t bufferSize)
 
static size_t CalcSize (const cdvec_t &cdvec, uint32_t orgcdsz, uint32_t orgcdcnt)
 
static void Serialize (uint32_t orgcdcnt, const buffer_t &orgcdbuf, const cdvec_t &cdvec, buffer_t &buffer)
 
static uint64_t GetOffset (const CDFH &cdfh)
 

Public Attributes

uint16_t zipVersion
 
uint16_t minZipVersion
 
uint16_t generalBitFlag
 
uint16_t compressionMethod
 
dos_timestmp timestmp
 
uint32_t ZCRC32
 
uint32_t compressedSize
 
uint32_t uncompressedSize
 
uint16_t filenameLength
 
uint16_t extraLength
 
uint16_t commentLength
 
uint16_t nbDisk
 
uint16_t internAttr
 
uint32_t externAttr
 
uint32_t offset
 
std::string filename
 
std::unique_ptr< Extraextra
 
std::string comment
 
uint16_t cdfhSize
 

Static Public Attributes

static const uint32_t cdfhSign = 0x02014b50
 
static const uint16_t cdfhBaseSize = 46
 

Constructor & Destructor Documentation

XrdZip::CDFH::CDFH ( LFH lfh,
mode_t  mode,
uint64_t  lfhOffset 
)
inline
XrdZip::CDFH::CDFH ( const char *  buffer)
inline

Member Function Documentation

static size_t XrdZip::CDFH::CalcSize ( const cdvec_t cdvec,
uint32_t  orgcdsz,
uint32_t  orgcdcnt 
)
inlinestatic

References cdfhSize.

static uint64_t XrdZip::CDFH::GetOffset ( const CDFH cdfh)
inlinestatic

References extra, and offset.

bool XrdZip::CDFH::HasDataDescriptor ( )
inline
Returns
: true if the data descriptor flag is on, false otherwise

References XrdZip::DataDescriptor::flag, and generalBitFlag.

bool XrdZip::CDFH::IsZIP64 ( ) const
inline
Returns
: true if ZIP64 extension is present, false otherwise

References extra.

static std::tuple<cdvec_t, cdmap_t> XrdZip::CDFH::Parse ( const char *  buffer,
uint32_t  bufferSize,
uint16_t  nbCdRecords 
)
inlinestatic

References CDFH(), cdfhBaseSize, cdfhSign, and offset.

static std::tuple<cdvec_t, cdmap_t> XrdZip::CDFH::Parse ( const char *&  buffer,
uint32_t  bufferSize 
)
inlinestatic

References CDFH(), cdfhSign, and cdfhSize.

void XrdZip::CDFH::ParseExtra ( const char *  buffer,
uint16_t  length 
)
inline
static void XrdZip::CDFH::Serialize ( uint32_t  orgcdcnt,
const buffer_t orgcdbuf,
const cdvec_t cdvec,
buffer_t buffer 
)
inlinestatic

References Serialize().

Referenced by Serialize().

void XrdZip::CDFH::Serialize ( buffer_t buffer)
inline

Member Data Documentation

const uint16_t XrdZip::CDFH::cdfhBaseSize = 46
static

Referenced by CDFH(), and Parse().

const uint32_t XrdZip::CDFH::cdfhSign = 0x02014b50
static

Referenced by Parse(), and Serialize().

uint16_t XrdZip::CDFH::cdfhSize

Referenced by CalcSize(), CDFH(), and Parse().

std::string XrdZip::CDFH::comment

Referenced by Serialize().

uint16_t XrdZip::CDFH::commentLength

Referenced by CDFH(), and Serialize().

uint32_t XrdZip::CDFH::compressedSize

Referenced by CDFH(), ParseExtra(), and Serialize().

uint16_t XrdZip::CDFH::compressionMethod

Referenced by CDFH(), and Serialize().

uint32_t XrdZip::CDFH::externAttr

Referenced by CDFH(), and Serialize().

std::unique_ptr<Extra> XrdZip::CDFH::extra
uint16_t XrdZip::CDFH::extraLength

Referenced by CDFH(), and Serialize().

std::string XrdZip::CDFH::filename

Referenced by CDFH(), and Serialize().

uint16_t XrdZip::CDFH::filenameLength

Referenced by CDFH(), and Serialize().

uint16_t XrdZip::CDFH::generalBitFlag

Referenced by CDFH(), HasDataDescriptor(), and Serialize().

uint16_t XrdZip::CDFH::internAttr

Referenced by CDFH(), and Serialize().

uint16_t XrdZip::CDFH::minZipVersion

Referenced by CDFH(), and Serialize().

uint16_t XrdZip::CDFH::nbDisk

Referenced by CDFH(), ParseExtra(), and Serialize().

uint32_t XrdZip::CDFH::offset
dos_timestmp XrdZip::CDFH::timestmp

Referenced by CDFH(), and Serialize().

uint32_t XrdZip::CDFH::uncompressedSize

Referenced by CDFH(), ParseExtra(), and Serialize().

uint32_t XrdZip::CDFH::ZCRC32

Referenced by CDFH(), and Serialize().

uint16_t XrdZip::CDFH::zipVersion

Referenced by CDFH(), and Serialize().


The documentation for this struct was generated from the following file: