/* * Copyright (c) Yann Collet, Facebook, Inc. * All rights reserved. * * This source code is licensed under both the BSD-style license (found in the * LICENSE file in the root directory of this source tree) and the GPLv2 (found * in the COPYING file in the root directory of this source tree). * You may select, at your option, one of the above-listed licenses. */ #ifndef FILEIO_TYPES_HEADER #define FILEIO_TYPES_HEADER #define ZSTD_STATIC_LINKING_ONLY /* ZSTD_compressionParameters */ #include "../lib/zstd.h" /* ZSTD_* */ /*-************************************* * Parameters: FIO_prefs_t ***************************************/ typedef struct FIO_display_prefs_s FIO_display_prefs_t; typedef enum { FIO_ps_auto, FIO_ps_never, FIO_ps_always } FIO_progressSetting_e; struct FIO_display_prefs_s { int displayLevel; /* 0 : no display; 1: errors; 2: + result + interaction + warnings; 3: + progression; 4: + information */ FIO_progressSetting_e progressSetting; }; typedef enum { FIO_zstdCompression, FIO_gzipCompression, FIO_xzCompression, FIO_lzmaCompression, FIO_lz4Compression } FIO_compressionType_t; typedef struct FIO_prefs_s { /* Algorithm preferences */ FIO_compressionType_t compressionType; U32 sparseFileSupport; /* 0: no sparse allowed; 1: auto (file yes, stdout no); 2: force sparse */ int dictIDFlag; int checksumFlag; int blockSize; int overlapLog; U32 adaptiveMode; U32 useRowMatchFinder; int rsyncable; int minAdaptLevel; int maxAdaptLevel; int ldmFlag; int ldmHashLog; int ldmMinMatch; int ldmBucketSizeLog; int ldmHashRateLog; size_t streamSrcSize; size_t targetCBlockSize; int srcSizeHint; int testMode; ZSTD_paramSwitch_e literalCompressionMode; /* IO preferences */ U32 removeSrcFile; U32 overwrite; U32 asyncIO; /* Computation resources preferences */ unsigned memLimit; int nbWorkers; int excludeCompressedFiles; int patchFromMode; int contentSize; int allowBlockDevices; } FIO_prefs_t; #endif /* FILEIO_TYPES_HEADER */