63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
#ifndef LIBUTIL_ZIP_ZIP_UTILS_H
|
|
#define LIBUTIL_ZIP_ZIP_UTILS_H
|
|
/* Copyright (c) 2013-2017 GomSpace A/S. All rights reserved. */
|
|
/**
|
|
@file
|
|
|
|
Compress/decompress API based on zlib compressed data format specification standards.
|
|
*/
|
|
|
|
#include <gs/util/types.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/**
|
|
Compress file.
|
|
|
|
@param[in] src file to be compressed.
|
|
@param[out] dest compressed output file.
|
|
@return_gs_error_t
|
|
*/
|
|
int gs_zip_compress_file(const char *src, const char *dest);
|
|
|
|
/**
|
|
Decompress file.
|
|
|
|
@param[in] src file to be secompressed.
|
|
@param[out] dest decompressed output file.
|
|
@return_gs_error_t
|
|
*/
|
|
int gs_zip_decompress_file(const char *src, const char *dest);
|
|
|
|
/**
|
|
Compress data.
|
|
|
|
@param[in] src pointer to the data to be compressed.
|
|
@param[in] src_len size of the data.
|
|
@param[out] dest pointer to the compressed data.
|
|
@param[out] dest_len pointer to the size of the compressed data.
|
|
@return_gs_error_t
|
|
*/
|
|
int gs_zip_compress_data(const unsigned char *src, uint32_t src_len, unsigned char *dest, uint32_t *dest_len);
|
|
|
|
/**
|
|
Decompress data.
|
|
|
|
@param[in] src pointer to the data to be decompressed.
|
|
@param[in] src_len size of the data.
|
|
@param[out] dest pointer to the decompressed data.
|
|
@param[out] dest_len size of the destination memory area.
|
|
@param[out] decomp_len pointer to the size of the decompressed data.
|
|
@return_gs_error_t
|
|
*/
|
|
int gs_zip_decompress_data(const unsigned char *src, uint32_t src_len, unsigned char *dest, uint32_t dest_len, uint32_t *decomp_len);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* LIBUTIL_ZIP_ZIP_UTILS_H */
|