⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gzip.h

📁 lots Elliptic curve cryptography codes. Use Visual c++ to compile
💻 H
字号:
#ifndef CRYPTOPP_GZIP_H#define CRYPTOPP_GZIP_H#include "zdeflate.h"#include "zinflate.h"#include "crc.h"NAMESPACE_BEGIN(CryptoPP)/// GZIP Compression (RFC 1952)class Gzip : public Deflator{public:	Gzip(BufferedTransformation *attachment=NULL, unsigned int deflateLevel=DEFAULT_DEFLATE_LEVEL, unsigned int log2WindowSize=DEFAULT_LOG2_WINDOW_SIZE, bool detectUncompressible=true)		: Deflator(attachment, deflateLevel, log2WindowSize, detectUncompressible) {}	Gzip(const NameValuePairs &parameters, BufferedTransformation *attachment=NULL)		: Deflator(parameters, attachment) {}protected:	enum {MAGIC1=0x1f, MAGIC2=0x8b,   // flags for the header		  DEFLATED=8, FAST=4, SLOW=2};	void WritePrestreamHeader();	void ProcessUncompressedData(const byte *string, size_t length);	void WritePoststreamTail();	word32 m_totalLen;	CRC32 m_crc;};/// GZIP Decompression (RFC 1952)class Gunzip : public Inflator{public:	typedef Inflator::Err Err;	class HeaderErr : public Err {public: HeaderErr() : Err(INVALID_DATA_FORMAT, "Gunzip: header decoding error") {}};	class TailErr : public Err {public: TailErr() : Err(INVALID_DATA_FORMAT, "Gunzip: tail too short") {}};	class CrcErr : public Err {public: CrcErr() : Err(DATA_INTEGRITY_CHECK_FAILED, "Gunzip: CRC check error") {}};	class LengthErr : public Err {public: LengthErr() : Err(DATA_INTEGRITY_CHECK_FAILED, "Gunzip: length check error") {}};	/*! \param repeat decompress multiple compressed streams in series		\param autoSignalPropagation 0 to turn off MessageEnd signal	*/	Gunzip(BufferedTransformation *attachment = NULL, bool repeat = false, int autoSignalPropagation = -1);protected:	enum {MAGIC1=0x1f, MAGIC2=0x8b,   // flags for the header		DEFLATED=8};	enum FLAG_MASKS {		CONTINUED=2, EXTRA_FIELDS=4, FILENAME=8, COMMENTS=16, ENCRYPTED=32};	unsigned int MaxPrestreamHeaderSize() const {return 1024;}	void ProcessPrestreamHeader();	void ProcessDecompressedData(const byte *string, size_t length);	unsigned int MaxPoststreamTailSize() const {return 8;}	void ProcessPoststreamTail();	word32 m_length;	CRC32 m_crc;};NAMESPACE_END#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -