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

📄 zlib.h

📁 下载来的一个看图软件的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/*    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.*/ZEXTERN(int)  inflateReset OF((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).*/                        /* utility functions *//*     The following utility functions are implemented on top of the   basic stream-oriented functions. To simplify the interface, some   default options are assumed (compression level and memory usage,   standard memory allocation functions). The source code of these   utility functions can easily be modified if you need special options.*//*     Compresses the source buffer into the destination buffer.  sourceLen is   the byte length of the source buffer. Upon entry, destLen is the total   size of the destination buffer, which must be at least 0.1% larger than   sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the   compressed buffer.     This function can be used to compress a whole file at once if the   input file is mmap'ed.     compress returns Z_OK if success, Z_MEM_ERROR if there was not   enough memory, Z_BUF_ERROR if there was not enough room in the output   buffer.*//*     Compresses the source buffer into the destination buffer. The level   parameter has the same meaning as in deflateInit.  sourceLen is the byte   length of the source buffer. Upon entry, destLen is the total size of the   destination buffer, which must be at least 0.1% larger than sourceLen plus   12 bytes. Upon exit, destLen is the actual size of the compressed buffer.     compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough   memory, Z_BUF_ERROR if there was not enough room in the output buffer,   Z_STREAM_ERROR if the level parameter is invalid.*//*     Decompresses the source buffer into the destination buffer.  sourceLen is   the byte length of the source buffer. Upon entry, destLen is the total   size of the destination buffer, which must be large enough to hold the   entire uncompressed data. (The size of the uncompressed data must have   been saved previously by the compressor and transmitted to the decompressor   by some mechanism outside the scope of this compression library.)   Upon exit, destLen is the actual size of the compressed buffer.     This function can be used to decompress a whole file at once if the   input file is mmap'ed.     uncompress returns Z_OK if success, Z_MEM_ERROR if there was not   enough memory, Z_BUF_ERROR if there was not enough room in the output   buffer, or Z_DATA_ERROR if the input data was corrupted.*//*     Opens a gzip (.gz) file for reading or writing. The mode parameter   is as in fopen ("rb" or "wb") but can also include a compression level   ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for   Huffman only compression as in "wb1h". (See the description   of deflateInit2 for more information about the strategy parameter.)     gzopen can be used to read a file which is not in gzip format; in this   case gzread will directly read from the file without decompression.     gzopen returns NULL if the file could not be opened or if there was   insufficient memory to allocate the (de)compression state; errno   can be checked to distinguish the two cases (if errno is zero, the   zlib error is Z_MEM_ERROR).  *//*     gzdopen() associates a gzFile with the file descriptor fd.  File   descriptors are obtained from calls like open, dup, creat, pipe or   fileno (in the file has been previously opened with fopen).   The mode parameter is as in gzopen.     The next call of gzclose on the returned gzFile will also close the   file descriptor fd, just like fclose(fdopen(fd), mode) closes the file   descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).     gzdopen returns NULL if there was insufficient memory to allocate   the (de)compression state.*//*     Dynamically update the compression level or strategy. See the description   of deflateInit2 for the meaning of these parameters.     gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not   opened for writing.*//*     Reads the given number of uncompressed bytes from the compressed file.   If the input file was not in gzip format, gzread copies the given number   of bytes into the buffer.     gzread returns the number of uncompressed bytes actually read (0 for   end of file, -1 for error). *//*     Writes the given number of uncompressed bytes into the compressed file.   gzwrite returns the number of uncompressed bytes actually written   (0 in case of error).*//*     Converts, formats, and writes the args to the compressed file under   control of the format string, as in fprintf. gzprintf returns the number of   uncompressed bytes actually written (0 in case of error).*//*      Writes the given null-terminated string to the compressed file, excluding   the terminating null character.      gzputs returns the number of characters written, or -1 in case of error.*//*      Reads bytes from the compressed file until len-1 characters are read, or   a newline character is read and transferred to buf, or an end-of-file   condition is encountered.  The string is then terminated with a null   character.      gzgets returns buf, or Z_NULL in case of error.*//*      Writes c, converted to an unsigned char, into the compressed file.   gzputc returns the value that was written, or -1 in case of error.*//*      Reads one byte from the compressed file. gzgetc returns this byte   or -1 in case of end of file or error.*//*     Flushes all pending output into the compressed file. The parameter   flush is as in the deflate() function. The return value is the zlib   error number (see function gzerror below). gzflush returns Z_OK if   the flush parameter is Z_FINISH and all output could be flushed.     gzflush should be called only when strictly necessary because it can   degrade compression.*//*      Sets the starting position for the next gzread or gzwrite on the   given compressed file. The offset represents a number of bytes in the   uncompressed data stream. The whence parameter is defined as in lseek(2);   the value SEEK_END is not supported.     If the file is opened for reading, this function is emulated but can be   extremely slow. If the file is opened for writing, only forward seeks are   supported; gzseek then compresses a sequence of zeroes up to the new   starting position.      gzseek returns the resulting offset location as measured in bytes from   the beginning of the uncompressed stream, or -1 in case of error, in   particular if the file is opened for writing and the new starting position   would be before the current position.*//*     Rewinds the given file. This function is supported only for reading.   gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)*//*     Returns the starting position for the next gzread or gzwrite on the   given compressed file. This position represents a number of bytes in the   uncompressed data stream.   gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)*//*     Returns 1 when EOF has previously been detected reading the given   input stream, otherwise zero.*//*     Flushes all pending output if necessary, closes the compressed file   and deallocates all the (de)compression state. The return value is the zlib   error number (see function gzerror below).*//*     Returns the error message for the last error which occurred on the   given compressed file. errnum is set to zlib error number. If an   error occurred in the file system and not in the compression library,   errnum is set to Z_ERRNO and the application may consult errno   to get the exact error code.*/                        /* checksum functions *//*     These functions are not related to compression but are exported   anyway because they might be useful in applications using the   compression library.*/ZEXTERN(uLong)  adler32 OF((uLong adler, const Bytef *buf, uInt len));/*     Update a running Adler-32 checksum with the bytes buf[0..len-1] and   return the updated checksum. If buf is NULL, this function returns   the required initial value for the checksum.   An Adler-32 checksum is almost as reliable as a CRC32 but can be computed   much faster. Usage example:     uLong adler = adler32(0L, Z_NULL, 0);     while (read_buffer(buffer, length) != EOF) {       adler = adler32(adler, buffer, length);     }     if (adler != original_adler) error();*//*     Update a running crc with the bytes buf[0..len-1] and return the updated   crc. If buf is NULL, this function returns the required initial value   for the crc. Pre- and post-conditioning (one's complement) is performed   within this function so it shouldn't be done by the application.   Usage example:     uLong crc = crc32(0L, Z_NULL, 0);     while (read_buffer(buffer, length) != EOF) {       crc = crc32(crc, buffer, length);     }     if (crc != original_crc) error();*/                        /* various hacks, don't look :) *//* deflateInit and inflateInit are macros to allow checking the zlib version * and the compiler's view of z_stream: */ZEXTERN(int)  inflateInit2_ OF((z_streamp strm, int  windowBits,                                      const char *version, int stream_size));#define deflateInit(strm, level) \        deflateInit_((strm), (level),       ZLIB_VERSION, sizeof(z_stream))#define inflateInit(strm) \        inflateInit_((strm),                ZLIB_VERSION, sizeof(z_stream))#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \        deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\                      (strategy),           ZLIB_VERSION, sizeof(z_stream))#define inflateInit2(strm, windowBits) \        inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))#ifdef __cplusplus}#endif#endif /* _ZLIB_H */

⌨️ 快捷键说明

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