src/util/compress/zlib.cpp File Reference

#include <ncbi_pch.hpp>
#include <corelib/ncbi_limits.h>
#include <corelib/ncbifile.hpp>
#include <util/compress/zlib.hpp>
#include <util/error_codes.hpp>
#include <zlib.h>
#include <stdio.h>

Include dependency graph for zlib.cpp:

Go to the source code of this file.

Defines

#define NCBI_USE_ERRCODE_X   Util_Compress
#define DEF_MEM_LEVEL   MAX_MEM_LEVEL
#define OS_CODE   0x03
#define F_ISSET(mask)   ((GetFlags() & (mask)) == (mask))
#define STREAM   ((z_stream*)m_Stream)
#define LIMIT_SIZE_PARAM(value)   if (value > (size_t)kMax_Int) value = kMax_Int
#define LIMIT_SIZE_PARAM_U(value)   if (value > kMax_UInt) value = kMax_UInt
#define ASCII_FLAG   0x01
#define HEAD_CRC   0x02
#define EXTRA_FIELD   0x04
#define ORIG_NAME   0x08
#define COMMENT   0x10
#define RESERVED   0xE0
#define LOW32(i)   (i & 0xFFFFFFFFL)

Functions

static size_t s_CheckGZipHeader (const void *src_buf, size_t src_len, CZipCompression::SFileInfo *info=0)
static size_t s_WriteGZipHeader (void *src_buf, size_t buf_size, const CZipCompression::SFileInfo *info=0)
static size_t s_WriteGZipFooter (void *buf, size_t buf_size, unsigned long total, unsigned long crc)
void s_CollectFileInfo (const string &filename, CZipCompression::SFileInfo &info)

Variables

const size_t kMaxHeaderSize = 1024*4
const int gz_magic [2] = {0x1f, 0x8b}


Define Documentation

#define ASCII_FLAG   0x01
 

Definition at line 116 of file zlib.cpp.

#define COMMENT   0x10
 

Definition at line 120 of file zlib.cpp.

#define DEF_MEM_LEVEL   MAX_MEM_LEVEL
 

Definition at line 58 of file zlib.cpp.

#define EXTRA_FIELD   0x04
 

Definition at line 118 of file zlib.cpp.

#define F_ISSET mask   )     ((GetFlags() & (mask)) == (mask))
 

Definition at line 68 of file zlib.cpp.

#define HEAD_CRC   0x02
 

Definition at line 117 of file zlib.cpp.

#define LIMIT_SIZE_PARAM value   )     if (value > (size_t)kMax_Int) value = kMax_Int
 

Definition at line 74 of file zlib.cpp.

#define LIMIT_SIZE_PARAM_U value   )     if (value > kMax_UInt) value = kMax_UInt
 

Definition at line 75 of file zlib.cpp.

#define LOW32  )     (i & 0xFFFFFFFFL)
 

Definition at line 239 of file zlib.cpp.

Referenced by s_WriteGZipFooter().

#define NCBI_USE_ERRCODE_X   Util_Compress
 

Definition at line 48 of file zlib.cpp.

#define ORIG_NAME   0x08
 

Definition at line 119 of file zlib.cpp.

#define OS_CODE   0x03
 

Definition at line 64 of file zlib.cpp.

#define RESERVED   0xE0
 

Definition at line 121 of file zlib.cpp.

#define STREAM   ((z_stream*)m_Stream)
 

Definition at line 71 of file zlib.cpp.


Function Documentation

static size_t s_CheckGZipHeader const void *  src_buf,
size_t  src_len,
CZipCompression::SFileInfo info = 0
[static]
 

Definition at line 127 of file zlib.cpp.

References buf, EXTRA_FIELD, CCompressionUtil::GetUI4(), gz_magic, len, ORIG_NAME, pos, RESERVED, and Z_DEFLATED.

Referenced by CZipCompression::DecompressBuffer().

void s_CollectFileInfo const string &  filename,
CZipCompression::SFileInfo info
 

Definition at line 257 of file zlib.cpp.

References file, CZipCompression::SFileInfo::mtime, and CZipCompression::SFileInfo::name.

Referenced by CZipCompression::CompressFile().

static size_t s_WriteGZipFooter void *  buf,
size_t  buf_size,
unsigned long  total,
unsigned long  crc
[static]
 

Definition at line 241 of file zlib.cpp.

References LOW32, and CCompressionUtil::StoreUI4().

Referenced by CZipCompression::CompressBuffer(), and CZipCompressor::Finish().

static size_t s_WriteGZipHeader void *  src_buf,
size_t  buf_size,
const CZipCompression::SFileInfo info = 0
[static]
 

Definition at line 189 of file zlib.cpp.

References buf, gz_magic, ORIG_NAME, OS_CODE, CCompressionUtil::StoreUI4(), and Z_DEFLATED.

Referenced by CZipCompression::CompressBuffer(), and CZipCompressor::Process().


Variable Documentation

const int gz_magic[2] = {0x1f, 0x8b}
 

Definition at line 113 of file zlib.cpp.

const size_t kMaxHeaderSize = 1024*4
 

Definition at line 78 of file zlib.cpp.

Referenced by CZipDecompressor::Init(), and CZipDecompressor::Process().


Generated on Wed Dec 9 07:48:36 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:18:40 2009 by modify_doxy.py rev. 173732