12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /* Copyright (C) 2019 RDA Technologies Limited and/or its affiliates("RDA").
- * All rights reserved.
- *
- * This software is supplied "AS IS" without any warranties.
- * RDA assumes no responsibility or liability for the use of the software,
- * conveys no license or title under any patent, copyright, or mask work
- * right to the product. RDA reserves the right to make changes in the
- * software without notification. RDA also make no representation or
- * warranty that such application will be suitable for the specified use
- * without further testing or modification.
- */
- #ifndef _COMPRESS_SFILE_H_
- #define _COMPRESS_SFILE_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define SFILE_READ_COMP_NONE (0x01)
- #define SFILE_READ_COMP_LZ4LITE (0x02)
- #define SFILE_WRITE_COMP_NONE (SFILE_READ_COMP_NONE << 16)
- #define SFILE_WRITE_COMP_LZ4LITE (SFILE_READ_COMP_LZ4LITE << 16)
- /**
- * \brief read sfile with LZ4 (lite) compression
- *
- * When \p buf is NULL, the data size will be returned.
- *
- * \param fname file path to be read
- * \param buf buffer for read
- * \param size buffer size
- * \return
- * - read data size (not file size)
- * - -1 on error
- */
- int lz4LiteSfileRead(const char *fname, void *buf, unsigned size);
- /**
- * \brief write sfile with LZ4 (lite) compression
- *
- * \param fname file path to be written
- * \param buf buffer to be written
- * \param size buffer size
- * \return
- * - written data size (not file size), the same as \p size
- * - -1 on error
- */
- int lz4LiteSfileWrite(const char *fname, const void *buf, unsigned size);
- /**
- * \brief read sfile, detect multiple compress options
- *
- * This is used for sfile compress migration. It will try to read from
- * various compress modes.
- *
- * \p fname is the uncompress file name. When reading from compressed
- * file, suffix will be added inside.
- *
- * \p option is a combination of multiple \p FILE_COMP_READ_.
- *
- * \param fname file path to be read
- * \param buf buffer for read
- * \param size buffer size
- * \param option compress options
- * \return
- * - read data size (not file size)
- * - -1 on error
- */
- int compSfileRead(const char *fname, void *buf, unsigned size, unsigned option);
- /**
- * \brief write sfile and delete obsoleted compress modes
- *
- * This is used for sfile compress migration. It will try to read from
- * various compress modes.
- *
- * \p option is a combination of one \p FILE_COMP_WRITE_ and multiple
- * \p FILE_COMP_READ_.
- *
- * \param fname file path to be written
- * \param buf buffer to be written
- * \param size buffer size
- * \param option compress options
- * \return
- * - written data size (not file size)
- * - -1 on error
- */
- int compSfileWrite(const char *fname, const void *buf, unsigned size, unsigned option);
- #ifdef __cplusplus
- }
- #endif
- #endif
|