Files
kunlun/common/lzma/decomp.c
2024-09-28 14:24:04 +08:00

58 lines
1.0 KiB
C

#include "os_types.h"
#include <string.h>
#include "LzmaTools.h"
int lzma_fw_image_decompress(uint8_t *src, uint8_t *dst, uint32_t len, uint8_t *buf)
{
int ret;
uint32_t src_len = len, dst_len = ~0UL;
if (NULL == buf) {
return SZ_ERROR_MEM;
}
ret = lzmaBuffToBuffDecompress(dst, &dst_len, src, src_len, buf);
if (ret != SZ_OK)
return 1;
return 0;
}
int lzma_decompress_to_flash(uint8_t *src, uint8_t *dst, uint32_t len, uint8_t *buf)
{
int ret;
uint32_t src_len = len, dst_len = ~0UL;
if (NULL == buf) {
return SZ_ERROR_MEM;
}
ret = lzmaBuffToBuffDecompress2Flash(dst, &dst_len, src, src_len, buf);
if (ret != SZ_OK)
return 1;
return 0;
}
int lzma_decompress_to_ram(uint8_t *src, uint8_t *dst, uint32_t len, uint8_t *buf)
{
int ret;
uint32_t src_len = len, dst_len = ~0UL;
if (NULL == buf) {
return SZ_ERROR_MEM;
}
ret = lzmaBuffToBuffDecompress2Ram(dst, &dst_len, src, src_len, buf);
if (ret != SZ_OK)
return 1;
return 0;
}