summaryrefslogtreecommitdiff
path: root/programs/fileio.h
diff options
context:
space:
mode:
Diffstat (limited to 'programs/fileio.h')
-rw-r--r--programs/fileio.h63
1 files changed, 38 insertions, 25 deletions
diff --git a/programs/fileio.h b/programs/fileio.h
index 97f2706320717..e46633752f4af 100644
--- a/programs/fileio.h
+++ b/programs/fileio.h
@@ -42,44 +42,55 @@ extern "C" {
***************************************/
typedef enum { FIO_zstdCompression, FIO_gzipCompression, FIO_xzCompression, FIO_lzmaCompression, FIO_lz4Compression } FIO_compressionType_t;
+typedef struct FIO_prefs_s FIO_prefs_t;
+
+FIO_prefs_t* FIO_createPreferences(void);
+void FIO_freePreferences(FIO_prefs_t* const prefs);
+
+typedef struct FIO_display_prefs_s FIO_display_prefs_t;
/*-*************************************
* Parameters
***************************************/
-void FIO_setCompressionType(FIO_compressionType_t compressionType);
-void FIO_overwriteMode(void);
-void FIO_setAdaptiveMode(unsigned adapt);
-void FIO_setAdaptMin(int minCLevel);
-void FIO_setAdaptMax(int maxCLevel);
-void FIO_setBlockSize(unsigned blockSize);
-void FIO_setChecksumFlag(unsigned checksumFlag);
-void FIO_setDictIDFlag(unsigned dictIDFlag);
-void FIO_setLdmBucketSizeLog(unsigned ldmBucketSizeLog);
-void FIO_setLdmFlag(unsigned ldmFlag);
-void FIO_setLdmHashRateLog(unsigned ldmHashRateLog);
-void FIO_setLdmHashLog(unsigned ldmHashLog);
-void FIO_setLdmMinMatch(unsigned ldmMinMatch);
-void FIO_setMemLimit(unsigned memLimit);
-void FIO_setNbWorkers(unsigned nbWorkers);
-void FIO_setNotificationLevel(unsigned level);
-void FIO_setOverlapLog(unsigned overlapLog);
-void FIO_setRemoveSrcFile(unsigned flag);
-void FIO_setSparseWrite(unsigned sparse); /**< 0: no sparse; 1: disable on stdout; 2: always enabled */
-void FIO_setRsyncable(unsigned rsyncable);
-void FIO_setNoProgress(unsigned noProgress);
+void FIO_setCompressionType(FIO_prefs_t* const prefs, FIO_compressionType_t compressionType);
+void FIO_overwriteMode(FIO_prefs_t* const prefs);
+void FIO_setAdaptiveMode(FIO_prefs_t* const prefs, unsigned adapt);
+void FIO_setAdaptMin(FIO_prefs_t* const prefs, int minCLevel);
+void FIO_setAdaptMax(FIO_prefs_t* const prefs, int maxCLevel);
+void FIO_setBlockSize(FIO_prefs_t* const prefs, int blockSize);
+void FIO_setChecksumFlag(FIO_prefs_t* const prefs, int checksumFlag);
+void FIO_setDictIDFlag(FIO_prefs_t* const prefs, int dictIDFlag);
+void FIO_setLdmBucketSizeLog(FIO_prefs_t* const prefs, int ldmBucketSizeLog);
+void FIO_setLdmFlag(FIO_prefs_t* const prefs, unsigned ldmFlag);
+void FIO_setLdmHashRateLog(FIO_prefs_t* const prefs, int ldmHashRateLog);
+void FIO_setLdmHashLog(FIO_prefs_t* const prefs, int ldmHashLog);
+void FIO_setLdmMinMatch(FIO_prefs_t* const prefs, int ldmMinMatch);
+void FIO_setMemLimit(FIO_prefs_t* const prefs, unsigned memLimit);
+void FIO_setNbWorkers(FIO_prefs_t* const prefs, int nbWorkers);
+void FIO_setOverlapLog(FIO_prefs_t* const prefs, int overlapLog);
+void FIO_setRemoveSrcFile(FIO_prefs_t* const prefs, unsigned flag);
+void FIO_setSparseWrite(FIO_prefs_t* const prefs, unsigned sparse); /**< 0: no sparse; 1: disable on stdout; 2: always enabled */
+void FIO_setRsyncable(FIO_prefs_t* const prefs, int rsyncable);
+void FIO_setLiteralCompressionMode(
+ FIO_prefs_t* const prefs,
+ ZSTD_literalCompressionMode_e mode);
+void FIO_setNoProgress(unsigned noProgress);
+void FIO_setNotificationLevel(int level);
/*-*************************************
* Single File functions
***************************************/
/** FIO_compressFilename() :
@return : 0 == ok; 1 == pb with src file. */
-int FIO_compressFilename (const char* outfilename, const char* infilename, const char* dictFileName,
+int FIO_compressFilename (FIO_prefs_t* const prefs,
+ const char* outfilename, const char* infilename, const char* dictFileName,
int compressionLevel, ZSTD_compressionParameters comprParams);
/** FIO_decompressFilename() :
@return : 0 == ok; 1 == pb with src file. */
-int FIO_decompressFilename (const char* outfilename, const char* infilename, const char* dictFileName);
+int FIO_decompressFilename (FIO_prefs_t* const prefs,
+ const char* outfilename, const char* infilename, const char* dictFileName);
int FIO_listMultipleFiles(unsigned numFiles, const char** filenameTable, int displayLevel);
@@ -89,14 +100,16 @@ int FIO_listMultipleFiles(unsigned numFiles, const char** filenameTable, int dis
***************************************/
/** FIO_compressMultipleFilenames() :
@return : nb of missing files */
-int FIO_compressMultipleFilenames(const char** srcNamesTable, unsigned nbFiles,
+int FIO_compressMultipleFilenames(FIO_prefs_t* const prefs,
+ const char** srcNamesTable, unsigned nbFiles,
const char* outFileName, const char* suffix,
const char* dictFileName, int compressionLevel,
ZSTD_compressionParameters comprParams);
/** FIO_decompressMultipleFilenames() :
@return : nb of missing or skipped files */
-int FIO_decompressMultipleFilenames(const char** srcNamesTable, unsigned nbFiles,
+int FIO_decompressMultipleFilenames(FIO_prefs_t* const prefs,
+ const char** srcNamesTable, unsigned nbFiles,
const char* outFileName,
const char* dictFileName);