函数逻辑报告 |
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 |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:ZSTD_writeFrameHeader
函数原型:static size_t ZSTD_writeFrameHeader(void *dst, size_t dstCapacity, ZSTD_parameters params, U64 pledgedSrcSize, U32 dictID)
返回类型:size_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| void * | dst | |
| size_t | dstCapacity | |
| ZSTD_parameters | params | |
| U64 | pledgedSrcSize | |
| U32 | dictID |
| 2434 | dictIDSizeCode等于dictID大于0的值加dictID大于等于256的值加dictID大于等于65536的值 |
| 2435 | checksumFlag等于checksumFlag大于0 |
| 2436 | windowSize等于1U左移windowLog位 |
| 2438 | windowLogByte等于windowLog减ZSTD_WINDOWLOG_ABSOLUTEMIN左移3位 |
| 2439 | fcsCode等于如果contentSizeFlag则pledgedSrcSize大于等于256的值加pledgedSrcSize大于等于65536加256的值加pledgedSrcSize大于等于0xFFFFFFFFU的值否则0 |
| 2441 | frameHeaderDecriptionByte等于dictIDSizeCode加checksumFlag左移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 | 如果非singleSegment则op[pos++]等于windowLogByte |
| 2453 | 默认 |
| 2454 | 当:dictIDSizeCode恒等于0 |
| 2454 | 退出 |
| 2455 | 当:dictIDSizeCode恒等于1 |
| 2459 | 当:dictIDSizeCode恒等于2 |
| 2463 | 当:dictIDSizeCode恒等于3 |
| 2464 | ZSTD_writeLE32(op + pos, dictID) |
| 2465 | pos加等于4 |
| 2466 | 退出 |
| 2469 | 默认 |
| 2471 | 如果singleSegment则op[pos++]等于pledgedSrcSize |
| 2473 | 退出 |
| 2487 | 返回:pos |
| 名称 | 描述 |
|---|---|
| ZSTD_compressContinue_internal | |
| ZSTD_writeEpilogue | : nb of bytes written into dst (or an error code) |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |