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

📄 zlib.h

📁 Axis 221 camera embedded programing interface
💻 H
📖 第 1 页 / 共 3 页
字号:
   is slow and reduces compression ratio; memLevel=9 uses maximum memory   for optimal speed. The default value is 8. See zconf.h for total memory   usage as a function of windowBits and memLevel.     The strategy parameter is used to tune the compression algorithm. Use the   value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a   filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman encoding only (no   string match).  Filtered data consists mostly of small values with a   somewhat random distribution. In this case, the compression algorithm is   tuned to compress them better. The effect of Z_FILTERED is to force more   Huffman coding and less string matching; it is somewhat intermediate   between Z_DEFAULT and Z_HUFFMAN_ONLY. The strategy parameter only affects   the compression ratio but not the correctness of the compressed output even   if it is not set appropriately.      deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough   memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid   method). msg is set to null if there is no error message.  deflateInit2 does   not perform any compression: this will be done by deflate().*/                            #if 0extern int zlib_deflateSetDictionary (z_streamp strm,						     const Byte *dictionary,						     uInt  dictLength);#endif/*     Initializes the compression dictionary from the given byte sequence   without producing any compressed output. This function must be called   immediately after deflateInit, deflateInit2 or deflateReset, before any   call of deflate. The compressor and decompressor must use exactly the same   dictionary (see inflateSetDictionary).     The dictionary should consist of strings (byte sequences) that are likely   to be encountered later in the data to be compressed, with the most commonly   used strings preferably put towards the end of the dictionary. Using a   dictionary is most useful when the data to be compressed is short and can be   predicted with good accuracy; the data can then be compressed better than   with the default empty dictionary.     Depending on the size of the compression data structures selected by   deflateInit or deflateInit2, a part of the dictionary may in effect be   discarded, for example if the dictionary is larger than the window size in   deflate or deflate2. Thus the strings most likely to be useful should be   put at the end of the dictionary, not at the front.     Upon return of this function, strm->adler is set to the Adler32 value   of the dictionary; the decompressor may later use this value to determine   which dictionary has been used by the compressor. (The Adler32 value   applies to the whole dictionary even if only a subset of the dictionary is   actually used by the compressor.)     deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a   parameter is invalid (such as NULL dictionary) or the stream state is   inconsistent (for example if deflate has already been called for this stream   or if the compression method is bsort). deflateSetDictionary does not   perform any compression: this will be done by deflate().*/#if 0extern int zlib_deflateCopy (z_streamp dest, z_streamp source);#endif/*     Sets the destination stream as a complete copy of the source stream.     This function can be useful when several compression strategies will be   tried, for example when there are several ways of pre-processing the input   data with a filter. The streams that will be discarded should then be freed   by calling deflateEnd.  Note that deflateCopy duplicates the internal   compression state which can be quite large, so this strategy is slow and   can consume lots of memory.     deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not   enough memory, Z_STREAM_ERROR if the source stream state was inconsistent   (such as zalloc being NULL). msg is left unchanged in both source and   destination.*/extern int zlib_deflateReset (z_streamp strm);/*     This function is equivalent to deflateEnd followed by deflateInit,   but does not free and reallocate all the internal compression state.   The stream will keep the same compression level and any other attributes   that may have been set by deflateInit2.      deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source   stream state was inconsistent (such as zalloc or state being NULL).*/static inline unsigned long deflateBound(unsigned long s){	return s + ((s + 7) >> 3) + ((s + 63) >> 6) + 11;}#if 0extern int zlib_deflateParams (z_streamp strm, int level, int strategy);#endif/*     Dynamically update the compression level and compression strategy.  The   interpretation of level and strategy is as in deflateInit2.  This can be   used to switch between compression and straight copy of the input data, or   to switch to a different kind of input data requiring a different   strategy. If the compression level is changed, the input available so far   is compressed with the old level (and may be flushed); the new level will   take effect only at the next call of deflate().     Before the call of deflateParams, the stream state must be set as for   a call of deflate(), since the currently available input may have to   be compressed and flushed. In particular, strm->avail_out must be non-zero.     deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source   stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR   if strm->avail_out was zero.*//*   extern int inflateInit2 (z_streamp strm, int  windowBits);     This is another version of inflateInit with an extra parameter. The   fields next_in, avail_in, zalloc, zfree and opaque must be initialized   before by the caller.     The windowBits parameter is the base two logarithm of the maximum window   size (the size of the history buffer).  It should be in the range 8..15 for   this version of the library. The default value is 15 if inflateInit is used   instead. windowBits must be greater than or equal to the windowBits value   provided to deflateInit2() while compressing, or it must be equal to 15 if   deflateInit2() was not used. If a compressed stream with a larger window   size is given as input, inflate() will return with the error code   Z_DATA_ERROR instead of trying to allocate a larger window.     windowBits can also be -8..-15 for raw inflate. In this case, -windowBits   determines the window size. inflate() will then process raw deflate data,   not looking for a zlib or gzip header, not generating a check value, and not   looking for any check values for comparison at the end of the stream. This   is for use with other formats that use the deflate compressed data format   such as zip.  Those formats provide their own check values. If a custom   format is developed using the raw deflate format for compressed data, it is   recommended that a check value such as an adler32 or a crc32 be applied to   the uncompressed data as is done in the zlib, gzip, and zip formats.  For   most applications, the zlib format should be used as is. Note that comments   above on the use in deflateInit2() applies to the magnitude of windowBits.     windowBits can also be greater than 15 for optional gzip decoding. Add   32 to windowBits to enable zlib and gzip decoding with automatic header   detection, or add 16 to decode only the gzip format (the zlib format will   return a Z_DATA_ERROR).  If a gzip stream is being decoded, strm->adler is   a crc32 instead of an adler32.     inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough   memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg   is set to null if there is no error message.  inflateInit2 does not perform   any decompression apart from reading the zlib header if present: this will   be done by inflate(). (So next_in and avail_in may be modified, but next_out   and avail_out are unchanged.)*/extern int zlib_inflateSetDictionary (z_streamp strm,						     const Byte *dictionary,						     uInt  dictLength);/*     Initializes the decompression dictionary from the given uncompressed byte   sequence. This function must be called immediately after a call of inflate,   if that call returned Z_NEED_DICT. The dictionary chosen by the compressor   can be determined from the adler32 value returned by that call of inflate.   The compressor and decompressor must use exactly the same dictionary (see   deflateSetDictionary).  For raw inflate, this function can be called   immediately after inflateInit2() or inflateReset() and before any call of   inflate() to set the dictionary.  The application must insure that the   dictionary that was used for compression is provided.     inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a   parameter is invalid (such as NULL dictionary) or the stream state is   inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the   expected one (incorrect adler32 value). inflateSetDictionary does not   perform any decompression: this will be done by subsequent calls of   inflate().*/#if 0extern int zlib_inflateSync (z_streamp strm);#endif/*     Skips invalid compressed data until a full flush point (see above the  description of deflate with Z_FULL_FLUSH) can be found, or until all  available input is skipped. No output is provided.    inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR  if no more input was provided, Z_DATA_ERROR if no flush point has been found,  or Z_STREAM_ERROR if the stream structure was inconsistent. In the success  case, the application may save the current current value of total_in which  indicates where valid compressed data was found. In the error case, the  application may repeatedly call inflateSync, providing more input each time,  until success or end of the input data.*/extern int zlib_inflateReset (z_streamp strm);/*     This function is equivalent to inflateEnd followed by inflateInit,   but does not free and reallocate all the internal decompression state.   The stream will keep attributes that may have been set by inflateInit2.      inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source   stream state was inconsistent (such as zalloc or state being NULL).*/extern int zlib_inflateIncomp (z_stream *strm);/*     This function adds the data at next_in (avail_in bytes) to the output   history without performing any output.  There must be no pending output,   and the decompressor must be expecting to see the start of a block.   Calling this function is equivalent to decompressing a stored block   containing the data at next_in (except that the data is not output).*/#define zlib_deflateInit(strm, level) \	zlib_deflateInit2((strm), (level), Z_DEFLATED, MAX_WBITS, \			      DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY)#define zlib_inflateInit(strm) \	zlib_inflateInit2((strm), DEF_WBITS)extern int zlib_deflateInit2(z_streamp strm, int  level, int  method,                                      int windowBits, int memLevel,                                      int strategy);extern int zlib_inflateInit2(z_streamp strm, int  windowBits);#if !defined(_Z_UTIL_H) && !defined(NO_DUMMY_DECL)    struct internal_state {int dummy;}; /* hack for buggy compilers */#endif#endif /* _ZLIB_H */

⌨️ 快捷键说明

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