| /* Low level interface to the Zstandard algorithm & the zstd library. */ | |
| /* Declarations shared between different parts of the _zstd module*/ | |
| #ifndef ZSTD_MODULE_H | |
| #define ZSTD_MODULE_H | |
| #include "zstddict.h" | |
| /* Type specs */ | |
| extern PyType_Spec zstd_dict_type_spec; | |
| extern PyType_Spec zstd_compressor_type_spec; | |
| extern PyType_Spec zstd_decompressor_type_spec; | |
| typedef struct { | |
| /* Module heap types. */ | |
| PyTypeObject *ZstdDict_type; | |
| PyTypeObject *ZstdCompressor_type; | |
| PyTypeObject *ZstdDecompressor_type; | |
| PyObject *ZstdError; | |
| /* enum types set by set_parameter_types. */ | |
| PyTypeObject *CParameter_type; | |
| PyTypeObject *DParameter_type; | |
| } _zstd_state; | |
| typedef enum { | |
| ERR_DECOMPRESS, | |
| ERR_COMPRESS, | |
| ERR_SET_PLEDGED_INPUT_SIZE, | |
| ERR_LOAD_D_DICT, | |
| ERR_LOAD_C_DICT, | |
| ERR_GET_C_BOUNDS, | |
| ERR_GET_D_BOUNDS, | |
| ERR_SET_C_LEVEL, | |
| ERR_TRAIN_DICT, | |
| ERR_FINALIZE_DICT, | |
| } error_type; | |
| typedef enum { | |
| DICT_TYPE_DIGESTED = 0, | |
| DICT_TYPE_UNDIGESTED = 1, | |
| DICT_TYPE_PREFIX = 2 | |
| } dictionary_type; | |
| extern ZstdDict * | |
| _Py_parse_zstd_dict(const _zstd_state *state, | |
| PyObject *dict, int *type); | |
| /* Format error message and set ZstdError. */ | |
| extern void | |
| set_zstd_error(const _zstd_state *state, | |
| error_type type, size_t zstd_ret); | |
| extern void | |
| set_parameter_error(int is_compress, int key_v, int value_v); | |
| #endif // !ZSTD_MODULE_H |