函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称: : nb of bytes generated into `dst` (necessarily <= `dstCapacity)

函数原型:size_t ZSTD_decompressContinue(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize)

返回类型:size_t

参数:

类型参数名称
ZSTD_DCtx *dctx
void *dst
size_tdstCapacity
const void *src
size_tsrcSize

摘要:ZSTD_decompressContinue() :* or an error code, which can be tested using ZSTD_isError()

1746  如果srcSize不等于expected则返回:-***************************************** Error codes handling(srcSize_wrong)
1748  如果dstCapacityZSTD_checkContinuity(dctx, dst)
1752  :stage恒等于ZSTDds_getFrameHeaderSize
1753  如果srcSize不等于ZSTD_frameHeaderSize_prefix则返回:-***************************************** Error codes handling(srcSize_wrong)
1755  如果ZSTD_readLE32(src)按位与0xFFFFFFF0U的值恒等于ZSTD_MAGIC_SKIPPABLE_START
1759  返回:0
1761  headerSize等于 : size of the Frame Header
1762  如果ZSTD_isError() - tells if a size_t function result is an error code*@code: The function result to check for error.* Return: Non-zero iff the code is an error.则返回:headerSize
1764  内存复制(headerBuffer, src, ZSTD_frameHeaderSize_prefix)
1768  返回:0
1770  expected等于0
1773  :stage恒等于ZSTDds_decodeFrameHeader
1774  内存复制(headerBuffer + ZSTD_frameHeaderSize_prefix, src, expected)
1776  expected等于ZSTD_blockHeaderSize
1777  stage等于ZSTDds_decodeBlockHeader
1778  返回:0
1780  :stage恒等于ZSTDds_decodeBlockHeader
1782  cBlockSize等于! ZSTD_getcBlockSize() :* Provides the size of compressed block from block header `src`
1783  如果ZSTD_isError() - tells if a size_t function result is an error code*@code: The function result to check for error.* Return: Non-zero iff the code is an error.则返回:cBlockSize
1785  expected等于cBlockSize
1786  bType等于blockType
1787  rleSize等于origSize
1788  如果cBlockSize
1790  返回:0
1793  如果lastBlock
1794  如果checksumFlag
1795  expected等于4
1797  否则
1798  expected等于0
1801  否则
1802  expected等于3
1805  返回:0
1807  :stage恒等于ZSTDds_decompressLastBlock
1808  :stage恒等于ZSTDds_decompressBlock
1811  :bType恒等于bt_compressed
1811  退出
1812  :bType恒等于bt_raw
1812  退出
1813  :bType恒等于bt_rle
1813  退出
1814  :bType恒等于bt_reserved
1815  默认
1817  如果ZSTD_isError() - tells if a size_t function result is an error code*@code: The function result to check for error.* Return: Non-zero iff the code is an error.则返回:rSize
1819  如果checksumFlagxxh64_update( & xxhState, dst, rSize)
1822  如果stage恒等于ZSTDds_decompressLastBlock
1823  如果checksumFlag
1824  expected等于4
1826  否则
1827  expected等于0
1830  否则
1833  previousDstEnd等于dstrSize
1835  返回:rSize
1837  :stage恒等于ZSTDds_checkChecksum
1838  h32等于xxh64_digest( & xxhState)
1839  check32等于ZSTD_readLE32(src)
1840  如果check32不等于h32则返回:-***************************************** Error codes handling(checksum_wrong)
1842  expected等于0
1843  stage等于ZSTDds_getFrameHeaderSize
1844  返回:0
1846  :stage恒等于ZSTDds_decodeSkippableHeader
1847  内存复制(headerBuffer + ZSTD_frameHeaderSize_prefix, src, expected)
1848  expected等于ZSTD_readLE32(headerBuffer + 4)
1849  stage等于ZSTDds_skipFrame
1850  返回:0
1852  :stage恒等于ZSTDds_skipFrame
1853  expected等于0
1854  stage等于ZSTDds_getFrameHeaderSize
1855  返回:0
1857  默认
1858  返回:-***************************************** Error codes handling(GENERIC)
调用者
名称描述
ZSTD_decompressStream