58 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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;
 | |
| }
 | |
| 
 |