参考文档 / ZLIB × LEAN
API 契约
完整公开接口索引
95 个默认构建入口,另含 Windows gzopen_w。各条完整保留签名、定义域、前置条件、结果、内存效果和错误路径。文档契约与注册目标的范围可能不同,均原样呈现。
adler32用 32 位字节计数更新 Adler-32。校验和↗adler32_combine计算 A 后接 B 的 Adler-32,而不读取任一序列。校验和↗adler32_combine64使用显式 64 位长度计算 A 后接 B 的 Adler-32。校验和↗adler32_z用一段字节更新 Adler-32,或取得初始值。校验和↗compress默认级别的 uLong 压缩入口。缓冲区与库信息↗compress2compress2_z 的 uLong 形式。缓冲区与库信息↗compress2_z按请求级别,将输入压缩为一个完整 zlib 流。缓冲区与库信息↗compressBound数值上界的 uLong 形式。缓冲区与库信息↗compressBound_z计算为默认 zlib 压缩缓冲区确定容量所用的数值上界。缓冲区与库信息↗compress_z按默认级别压缩(-1,选择级别 6)。缓冲区与库信息↗crc32用 32 位字节计数更新 CRC-32。校验和↗crc32_combine使用普通偏移类型计算 A 后接 B 的 CRC-32。校验和↗crc32_combine64计算 A 后接 B 的 CRC-32,而不读取任一序列。校验和↗crc32_combine_gen使用普通偏移类型生成 CRC 合并算子。校验和↗crc32_combine_gen64生成一个算子,供 B 长度相同的多次 CRC 合并复用。校验和↗crc32_combine_op使用预先生成的算子,计算 A 后接 B 的 CRC-32。校验和↗crc32_z用一段字节更新 CRC-32,或取得初始值。校验和↗deflate接受输入,交付有效压缩流的一部分或全部。压缩流↗deflateBound返回压缩上界的 uLong 形式。压缩流↗deflateBound_z根据流当前的配置和封装计算大小上界。压缩流↗deflateCopy创建压缩进度相同、彼此独立的压缩器。压缩流↗deflateEnd释放压缩器,丢弃任何未完成工作。压缩流↗deflateGetDictionary读取当前压缩历史,包括已接受的预读输入。压缩流↗deflateInit2_选择封装和压缩设置,启动压缩器。压缩流↗deflateInit_使用默认 zlib 包装和压缩设置启动压缩器。压缩流↗deflateParams更改级别和策略,必要时先完成旧块。压缩流↗deflatePending查询压缩器内部等待输出的数据。压缩流↗deflatePrime在 raw 压缩输出前添加调用者提供的位片段。压缩流↗deflateReset复用流,以空历史开始新的压缩。压缩流↗deflateResetKeep重新开始输出和进度计数,同时保留压缩历史。压缩流↗deflateSetDictionary将预置字节载入压缩历史,不把它们作为输入数据输出。压缩流↗deflateSetHeader选择下一个 gzip 流的头部。压缩流↗deflateTune设置供专家使用的四个匹配搜索调优值。压缩流↗deflateUsed查询最近一次字节边界刷新中,最后一个字节的位使用量。压缩流↗get_crc_table返回库逐字节计算 CRC 使用的表。校验和↗gzbuffer在缓冲区存在前选择请求大小。gzip 文件↗gzclearerr清除已记录错误信息,并重新启用读取句柄的 EOF 检测。gzip 文件↗gzclose关闭读取句柄,或完成输出后关闭写入句柄。gzip 文件↗gzclose_r释放读取句柄并关闭其描述符,不继续解压。gzip 文件↗gzclose_w完成缓冲输出、释放写入句柄并关闭描述符。gzip 文件↗gzdirect报告句柄是否使用透明数据。gzip 文件↗gzdopen包装已有描述符,不打开或复制它。gzip 文件↗gzeof查询读取句柄是否曾尝试读取可用数据之后的内容。gzip 文件↗gzerror读取句柄的当前错误码和消息。gzip 文件↗gzflush按请求的刷新模式处理缓冲输出。gzip 文件↗gzfread读取至多 nitems 个数据项,每项为 size 个未压缩字节。gzip 文件↗gzfwrite接受至多 nitems 个数据项,每项为 size 个未压缩字节。gzip 文件↗gzgetc将一个未压缩字节作为无符号值读取。gzip 文件↗gzgetc_提供单字节读取的导出包装函数。gzip 文件↗gzgets读取一个行片段,并以 NUL 结尾。gzip 文件↗gzoffset使用 z_off_t 查询物理文件偏移。gzip 文件↗gzoffset64查询底层物理文件偏移。gzip 文件↗gzopen打开路径,用于读取、写入或追加。gzip 文件↗gzopen64通过大文件入口打开。gzip 文件↗gzopen_w打开 Windows 宽字符路径。gzip 文件 · Windows↗gzprintf格式化参数,并接受所得字节用于输出。gzip 文件↗gzputc接受 c 的低八位用于输出。gzip 文件↗gzputs接受以 NUL 结尾的字符串,不包含终止符。gzip 文件↗gzread读取至多 len 个未压缩字节。gzip 文件↗gzrewind将读取句柄重置到保存的描述符起点。gzip 文件↗gzseek通过普通偏移类型请求未压缩位置。gzip 文件↗gzseek64请求相对于起点或当前位置的未压缩位置。gzip 文件↗gzsetparams为后续输入请求新的压缩级别和策略。gzip 文件↗gztell使用 z_off_t 查询逻辑未压缩位置。gzip 文件↗gztell64查询当前逻辑未压缩位置。gzip 文件↗gzungetc将一个字节压回读取句柄的未压缩输入。gzip 文件↗gzvprintf格式化 va_list,并接受结果用于输出。gzip 文件↗gzwrite接受 len 个未压缩字节用于输出。gzip 文件↗inflate消费压缩字节,写入解码字节,跨调用保留状态。解压流↗inflateBack用途。 通过输入和输出回调解码一个完整 raw 流。回调解码↗inflateBackEnd用途。 释放回调初始化所分配的状态。回调解码↗inflateBackInit_用途。 分配解码器状态并关联调用者的窗口。 inflateBackInit 宏提供 version 和 stream_size。回调解码↗inflateCodesUsed查询目前使用的解码表项数。这是未公开文档化的入口。这里的单位是表项,不是比特或字节:一个表项记录一次查表所得的符号或后续操作。解压流↗inflateCopy创建可以从源位置继续的解码器。解压流↗inflateEnd释放解码器存储,包括解码被放弃或失败的情况。解压流↗inflateGetDictionary读取保留的滑动历史,从最旧字节开始。解压流↗inflateGetHeader登记调用者存储,用于下一个 gzip 头。解压流↗inflateInit2_创建采用所选封装和窗口的解码器。解压流↗inflateInit_创建最大窗口为 32 KiB 的 zlib 解码器。解压流↗inflateMark查询当前码位置,用于索引。解压流↗inflatePrime在下一个输入字节之前提供位,或清空缓冲位。解压流↗inflateReset使用现有配置开始新的独立压缩数据流。解压流↗inflateReset2重置并选择新的包装和最大窗口大小。解压流↗inflateResetKeep重新开始解码,同时保留历史。这是未公开文档化的入口。解压流↗inflateSetDictionary设置或补充可供向后匹配使用的字节。解压流↗inflateSync输入受损后,搜索可能的完全刷新边界。解压流↗inflateSyncPoint检查接下来是否正在等待存储块的长度字节。解压流↗inflateUndermine请求可选的宽松距离模式。这是未公开文档化的入口。解压流↗inflateValidate启用或关闭包装校验和及 gzip 长度校验。解压流↗uncompress不报告已消费输入计数的 uLong 解码入口。缓冲区与库信息↗uncompress2报告输入消费量的 uLong 解码入口。缓冲区与库信息↗uncompress2_z解码第一个 zlib 流,并报告输出大小和输入消费量。缓冲区与库信息↗uncompress_z解码,但不公开已消费输入计数。缓冲区与库信息↗zError返回 zlib 结果码对应的文本。缓冲区与库信息↗zlibCompileFlags报告构建的类型大小和编译期选项。缓冲区与库信息↗zlibVersion返回已链接库的发布版本字符串。缓冲区与库信息↗没有匹配项。试试函数名的一部分。