函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ZSTD_writeFrameHeader

函数原型:static size_t ZSTD_writeFrameHeader(void *dst, size_t dstCapacity, ZSTD_parameters params, U64 pledgedSrcSize, U32 dictID)

返回类型:size_t

参数:

类型参数名称
void *dst
size_tdstCapacity
ZSTD_parametersparams
U64pledgedSrcSize
U32dictID
2433  op等于dst
2434  dictIDSizeCode等于dictID大于0的值加dictID大于等于256的值加dictID大于等于65536的值
2435  checksumFlag等于checksumFlag大于0
2436  windowSize等于1U左移windowLog
2437  singleSegment等于contentSizeFlagwindowSize大于等于pledgedSrcSize
2438  windowLogByte等于windowLogZSTD_WINDOWLOG_ABSOLUTEMIN左移3位
2439  fcsCode等于如果contentSizeFlagpledgedSrcSize大于等于256的值加pledgedSrcSize大于等于65536加256的值加pledgedSrcSize大于等于0xFFFFFFFFU的值否则0
2441  frameHeaderDecriptionByte等于dictIDSizeCodechecksumFlag左移2位的值加singleSegment左移5位的值加fcsCode左移6位的值
2444  如果dstCapacity小于ZSTD_frameHeaderSize_max则返回:-***************************************** Error codes handling(dstSize_tooSmall)
2447  ZSTD_writeLE32(dst, >= v0.8.0 )
2448  op[4]等于frameHeaderDecriptionByte
2449  pos等于5
2450  如果非singleSegmentop[pos++]等于windowLogByte
2453  默认
2454  :dictIDSizeCode恒等于0
2454  退出
2455  :dictIDSizeCode恒等于1
2456  op[pos]等于dictID
2457  pos自加
2458  退出
2459  :dictIDSizeCode恒等于2
2460  ZSTD_writeLE16(op + pos, (U16)dictID)
2461  pos加等于2
2462  退出
2463  :dictIDSizeCode恒等于3
2464  ZSTD_writeLE32(op + pos, dictID)
2465  pos加等于4
2466  退出
2469  默认
2470  :fcsCode恒等于0
2471  如果singleSegmentop[pos++]等于pledgedSrcSize
2473  退出
2474  :fcsCode恒等于1
2475  ZSTD_writeLE16(op + pos, (U16)(pledgedSrcSize - 256))
2476  pos加等于2
2477  退出
2478  :fcsCode恒等于2
2480  pos加等于4
2481  退出
2482  :fcsCode恒等于3
2484  pos加等于8
2485  退出
2487  返回:pos
调用者
名称描述
ZSTD_compressContinue_internal
ZSTD_writeEpilogue : nb of bytes written into dst (or an error code)