1 /* SPDX-License-Identifier: LGPL-2.1+ */
11 typedef enum ImportCompressType
{
12 IMPORT_COMPRESS_UNKNOWN
,
13 IMPORT_COMPRESS_UNCOMPRESSED
,
16 IMPORT_COMPRESS_BZIP2
,
17 _IMPORT_COMPRESS_TYPE_MAX
,
18 _IMPORT_COMPRESS_TYPE_INVALID
= -1,
21 typedef struct ImportCompress
{
22 ImportCompressType type
;
31 typedef int (*ImportCompressCallback
)(const void *data
, size_t size
, void *userdata
);
33 void import_compress_free(ImportCompress
*c
);
35 int import_uncompress_detect(ImportCompress
*c
, const void *data
, size_t size
);
36 int import_uncompress(ImportCompress
*c
, const void *data
, size_t size
, ImportCompressCallback callback
, void *userdata
);
38 int import_compress_init(ImportCompress
*c
, ImportCompressType t
);
39 int import_compress(ImportCompress
*c
, const void *data
, size_t size
, void **buffer
, size_t *buffer_size
, size_t *buffer_allocated
);
40 int import_compress_finish(ImportCompress
*c
, void **buffer
, size_t *buffer_size
, size_t *buffer_allocated
);
42 const char* import_compress_type_to_string(ImportCompressType t
) _const_
;
43 ImportCompressType
import_compress_type_from_string(const char *s
) _pure_
;