diff options
Diffstat (limited to 'programs/fileio.h')
-rw-r--r-- | programs/fileio.h | 63 |
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); |