Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
Options.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016-present, 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 */
9#pragma once
10
11#define ZSTD_STATIC_LINKING_ONLY
12#define ZSTD_DISABLE_DEPRECATE_WARNINGS /* No deprecation warnings, pzstd itself is deprecated
13 * and uses deprecated functions
14 */
15#include "zstd.h"
16#undef ZSTD_STATIC_LINKING_ONLY
17
18#include <cstdint>
19#include <string>
20#include <vector>
21
22namespace pzstd {
24struct Options {
25 enum class WriteMode { Regular, Auto, Sparse };
27 unsigned numThreads;
28 unsigned maxWindowLog;
31 std::vector<std::string> inputFiles;
32 std::string outputFile;
36 bool checksum;
38
39 enum class Status {
40 Success, // Successfully parsed options
41 Failure, // Failure to parse options
42 Message // Options specified to print a message (e.g. "-h")
43 };
45 Options();
46 Options(unsigned numThreads, unsigned maxWindowLog, unsigned compressionLevel,
47 bool decompress, std::vector<std::string> inputFiles,
48 std::string outputFile, bool overwrite, bool keepSource,
52 inputFiles(std::move(inputFiles)), outputFile(std::move(outputFile)),
55
56 Status parse(int argc, const char **argv);
57
60 params.fParams.contentSizeFlag = 0;
61 params.fParams.checksumFlag = checksum;
62 if (maxWindowLog != 0 && params.cParams.windowLog > maxWindowLog) {
63 params.cParams.windowLog = maxWindowLog;
64 params.cParams = ZSTD_adjustCParams(params.cParams, 0, 0);
65 }
66 return params;
67 }
68
69 std::string getOutputFile(const std::string &inputFile) const;
70};
71}
Definition ErrorHolder.h:16
Definition zstd_v04.c:255
U32 windowLog
Definition zstd_v04.c:257
Definition Options.h:22
unsigned maxWindowLog
Definition Options.h:26
std::vector< std::string > inputFiles
Definition Options.h:29
int verbosity
Definition Options.h:35
Options()
Definition Options.cpp:102
std::string outputFile
Definition Options.h:30
WriteMode writeMode
Definition Options.h:33
WriteMode
Definition Options.h:23
Status
Definition Options.h:37
unsigned numThreads
Definition Options.h:25
std::string getOutputFile(const std::string &inputFile) const
Definition Options.cpp:408
bool keepSource
Definition Options.h:32
unsigned compressionLevel
Definition Options.h:27
bool decompress
Definition Options.h:28
ZSTD_parameters determineParameters() const
Definition Options.h:56
bool overwrite
Definition Options.h:31
bool checksum
Definition Options.h:34
const char *(* parse)(const char **str, const char *str_end, void *filter_options)
Definition string_conversion.c:462
ZSTD_compressionParameters ZSTD_adjustCParams(ZSTD_compressionParameters cPar, unsigned long long srcSize, size_t dictSize)
Definition zstd_compress.c:1376
ZSTD_parameters ZSTD_getParams(int compressionLevel, unsigned long long srcSizeHint, size_t dictSize)
Definition zstd_compress.c:6324