xref: /freebsd/sys/contrib/zstd/programs/dibio.h (revision b9f654b163bce26de79705e77b872427c9f2afa1)
1 /*
2  * Copyright (c) 2016-present, 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 /* This library is designed for a single-threaded console application.
12 *  It exit() and printf() into stderr when it encounters an error condition. */
13 
14 #ifndef DIBIO_H_003
15 #define DIBIO_H_003
16 
17 
18 /*-*************************************
19 *  Dependencies
20 ***************************************/
21 #define ZDICT_STATIC_LINKING_ONLY
22 #include "zdict.h"     /* ZDICT_params_t */
23 
24 
25 /*-*************************************
26 *  Public functions
27 ***************************************/
28 /*! DiB_trainFromFiles() :
29     Train a dictionary from a set of files provided by `fileNamesTable`.
30     Resulting dictionary is written into file `dictFileName`.
31     `parameters` is optional and can be provided with values set to 0, meaning "default".
32     @return : 0 == ok. Any other : error.
33 */
34 int DiB_trainFromFiles(const char* dictFileName, unsigned maxDictSize,
35                        const char** fileNamesTable, unsigned nbFiles, size_t chunkSize,
36                        ZDICT_legacy_params_t* params, ZDICT_cover_params_t* coverParams,
37                        ZDICT_fastCover_params_t* fastCoverParams, int optimize);
38 
39 #endif
40