33#include "XrdVersion.hh"
74 const char*
Combine(
const char* Cksum,
int DLen)
override
77 memcpy(&crc2, Cksum,
sizeof(crc2));
78 pCheckSum = crc32_combine(pCheckSum, crc2, (z_off_t)DLen);
79 return (
char *)&pCheckSum;
85 const char*
Combine(
const char* Cksum1,
const char* Cksum2,
int DLen)
89 memcpy(&crc1, Cksum1,
sizeof(crc1));
90 memcpy(&crc2, Cksum2,
sizeof(crc2));
91 pCheckSumTmp = crc32_combine(crc1, crc2, (z_off_t)DLen);
92 return (
char *)&pCheckSumTmp;
100 return (
char *)&pCheckSum;
108 pCheckSum = crc32( 0L, Z_NULL, 0 );
122 void Update(
const char *Buff,
int BLen )
override
124 pCheckSum = crc32( pCheckSum, (
const Bytef*)Buff, BLen );
130 const char *
Type(
int &csSz)
override
132 csSz = 4;
return "zcrc32";
137 uint32_t pCheckSumTmp;
XrdVERSIONINFO(XrdClGetPlugIn, XrdClGetPlugIn) extern "C"
XrdCksCalc * XrdCksCalcInit(XrdSysError *eDest, const char *csName, const char *cFN, const char *Parms)
XrdSysError eDest(0, "HttpMon")
XrdCksCalc * New() override
Virtual constructor.
XrdCksCalczcrc32()
Constructor.
const char * Type(int &csSz) override
Checksum algorithm name.
char * Final() override
Final checksum.
void Init() override
Initialize.
void Update(const char *Buff, int BLen) override
Update current checksum.
bool Combinable() override
Combinable trait.
const char * Combine(const char *Cksum, int DLen) override
Combine checksum into current checksum.
const char * Combine(const char *Cksum1, const char *Cksum2, int DLen) override
Combine two checksums and return result.
virtual ~XrdCksCalczcrc32()
Destructor.