函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\xz\xz_dec_stream.c Create Date:2022-07-27 08:06:16
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Decode the Compressed Data field from a Block

函数原型:static enum xz_ret dec_block(struct xz_dec *s, struct xz_buf *b)

返回类型:enum xz_ret

参数:

类型参数名称
struct xz_dec *s
struct xz_buf *b
222  Saved in_pos and out_pos 等于in_pos
223  out_start等于out_pos
230  ret等于Take care of the LZMA2 control layer, and forward the job of actual LZMA* decoding or copying of uncompressed chunks to other functions.
232  Observed compressed size of the current Block 加等于in_pos Saved in_pos and out_pos
233  Observed uncompressed size of the current Block 加等于out_posout_start
239  如果Observed compressed size of the current Block 大于Value stored in the Compressed Size field, or* VLI_UNKNOWN if Compressed Size is not present.Observed uncompressed size of the current Block 大于Value stored in the Uncompressed Size field, or* VLI_UNKNOWN if Uncompressed Size is not present.则返回:XZ_DATA_ERROR
244  如果 Type of the integrity check calculated from uncompressed data 恒等于XZ_CHECK_CRC32 CRC32 value in Block or Index 等于xz_crc32(out + out_start, out_pos - out_start, CRC32 value in Block or Index )
248  如果ret恒等于XZ_STREAM_END
249  如果Value stored in the Compressed Size field, or* VLI_UNKNOWN if Compressed Size is not present.不等于VLI_UNKNOWNValue stored in the Compressed Size field, or* VLI_UNKNOWN if Compressed Size is not present.不等于Observed compressed size of the current Block 则返回:XZ_DATA_ERROR
254  如果Value stored in the Uncompressed Size field, or* VLI_UNKNOWN if Uncompressed Size is not present.不等于VLI_UNKNOWNValue stored in the Uncompressed Size field, or* VLI_UNKNOWN if Uncompressed Size is not present.不等于Observed uncompressed size of the current Block 则返回:XZ_DATA_ERROR
259  unpadded加等于Size of the Block Header field Observed compressed size of the current Block
265  如果 Type of the integrity check calculated from uncompressed data 恒等于XZ_CHECK_CRC32unpadded加等于4
269  uncompressed加等于Observed uncompressed size of the current Block
270  crc32等于xz_crc32((constuint8_t * ) & Hash calculated from the Block sizes. This is used to* validate the Index field., Hash calculated from the Block sizes. This is used to* validate the Index field.的长度, crc32)
274  Number of Blocks decoded so far 先自加
277  返回:ret
调用者
名称描述
dec_main