/////////////////////////////////////////////////////////////////////////////// // /// \file stream_flags_common.c /// \brief Common stuff for Stream flags coders // // Author: Lasse Collin // // This file has been put into the public domain. // You can do whatever you want with this file. // /////////////////////////////////////////////////////////////////////////////// #include "stream_flags_common.h" const uint8_t lzma_header_magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 }; const uint8_t lzma_footer_magic[2] = { 0x59, 0x5A }; extern LZMA_API(lzma_ret) lzma_stream_flags_compare( const lzma_stream_flags *a, const lzma_stream_flags *b) { // We can compare only version 0 structures. if (a->version != 0 || b->version != 0) return LZMA_OPTIONS_ERROR; // Check type if ((unsigned int)(a->check) > LZMA_CHECK_ID_MAX || (unsigned int)(b->check) > LZMA_CHECK_ID_MAX) return LZMA_PROG_ERROR; if (a->check != b->check) return LZMA_DATA_ERROR; // Backward Sizes are compared only if they are known in both. if (a->backward_size != LZMA_VLI_UNKNOWN && b->backward_size != LZMA_VLI_UNKNOWN) { if (!is_backward_size_valid(a) || !is_backward_size_valid(b)) return LZMA_PROG_ERROR; if (a->backward_size != b->backward_size) return LZMA_DATA_ERROR; } return LZMA_OK; }