cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

zstd_decompress_block.h (2245B)


      1/*
      2 * Copyright (c) Yann Collet, Facebook, Inc.
      3 * All rights reserved.
      4 *
      5 * This source code is licensed under both the BSD-style license (found in the
      6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
      7 * in the COPYING file in the root directory of this source tree).
      8 * You may select, at your option, one of the above-listed licenses.
      9 */
     10
     11
     12#ifndef ZSTD_DEC_BLOCK_H
     13#define ZSTD_DEC_BLOCK_H
     14
     15/*-*******************************************************
     16 *  Dependencies
     17 *********************************************************/
     18#include "../common/zstd_deps.h"   /* size_t */
     19#include <linux/zstd.h>    /* DCtx, and some public functions */
     20#include "../common/zstd_internal.h"  /* blockProperties_t, and some public functions */
     21#include "zstd_decompress_internal.h"  /* ZSTD_seqSymbol */
     22
     23
     24/* ===   Prototypes   === */
     25
     26/* note: prototypes already published within `zstd.h` :
     27 * ZSTD_decompressBlock()
     28 */
     29
     30/* note: prototypes already published within `zstd_internal.h` :
     31 * ZSTD_getcBlockSize()
     32 * ZSTD_decodeSeqHeaders()
     33 */
     34
     35
     36/* ZSTD_decompressBlock_internal() :
     37 * decompress block, starting at `src`,
     38 * into destination buffer `dst`.
     39 * @return : decompressed block size,
     40 *           or an error code (which can be tested using ZSTD_isError())
     41 */
     42size_t ZSTD_decompressBlock_internal(ZSTD_DCtx* dctx,
     43                               void* dst, size_t dstCapacity,
     44                         const void* src, size_t srcSize, const int frame);
     45
     46/* ZSTD_buildFSETable() :
     47 * generate FSE decoding table for one symbol (ll, ml or off)
     48 * this function must be called with valid parameters only
     49 * (dt is large enough, normalizedCounter distribution total is a power of 2, max is within range, etc.)
     50 * in which case it cannot fail.
     51 * The workspace must be 4-byte aligned and at least ZSTD_BUILD_FSE_TABLE_WKSP_SIZE bytes, which is
     52 * defined in zstd_decompress_internal.h.
     53 * Internal use only.
     54 */
     55void ZSTD_buildFSETable(ZSTD_seqSymbol* dt,
     56             const short* normalizedCounter, unsigned maxSymbolValue,
     57             const U32* baseValue, const U32* nbAdditionalBits,
     58                   unsigned tableLog, void* wksp, size_t wkspSize,
     59                   int bmi2);
     60
     61
     62#endif /* ZSTD_DEC_BLOCK_H */