函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Decode a variable-length integer (little-endian base-128 encoding)

函数原型:static enum xz_ret dec_vli(struct xz_dec *s, const uint8_t *in, size_t *in_pos, size_t in_size)

返回类型:enum xz_ret

参数:

类型参数名称
struct xz_dec *s
const uint8_t *in
size_t *in_pos
size_tin_size
180  如果 Position in variable-length integers and Check fields 恒等于0则 Variable-length integer decoded by dec_vli() 等于0
183 in_pos小于in_size循环
184  byte等于in[ * in_pos]
185  in_pos先自加
187  Variable-length integer decoded by dec_vli() 或等于byte按位与0x7F的值左移 Position in variable-length integers and Check fields
189  如果byte按位与0x80的值恒等于0则
195  返回:XZ_STREAM_END
198  Position in variable-length integers and Check fields 加等于7
199  如果 Position in variable-length integers and Check fields 恒等于7乘Maximum encoded size of a VLI 则返回:XZ_DATA_ERROR
203  返回:XZ_OK
调用者
名称描述
dec_indexDecode the Number of Records, Unpadded Size, and Uncompressed Size* fields from the Index field. That is, Index Padding and CRC32 are not* decoded by this function.* This can return XZ_OK (more input needed), XZ_STREAM_END (everything
dec_block_headerDecode the Block Header and initialize the filter chain.