luat_transz.h 742 B

1234567891011121314151617181920212223242526272829
  1. #include "stdlib.h"
  2. #include "stdint.h"
  3. enum TZ_COMPRESS_MODE {
  4. TZ_COMPRESS_NONE = 0,
  5. TZ_COMPRESS_GZ = 1
  6. };
  7. typedef struct luat_transz_cache
  8. {
  9. const char *data_ptr; // 需指向luat_transz_data_t.datas, 如不相同,会禁用cache
  10. int addr; // luat_transz_read 函数自行维护的块地址,第一次传入时应该设置为-1
  11. char buff[4]; // 按实际block_size长度进行malloc
  12. }luat_transz_cache_t;
  13. typedef struct luat_transz_data
  14. {
  15. size_t total_size;
  16. size_t block_size;
  17. size_t compress_mode;
  18. const char *fragments;
  19. const char *datas;
  20. }luat_transz_data_t;
  21. int luat_transz_read(luat_transz_data_t* data, uint8_t* buff, size_t offset, size_t len, luat_transz_cache_t* cache);