186d7f5d3SJohn Marino /////////////////////////////////////////////////////////////////////////////// 286d7f5d3SJohn Marino // 386d7f5d3SJohn Marino /// \file stream_flags_common.h 486d7f5d3SJohn Marino /// \brief Common stuff for Stream flags coders 586d7f5d3SJohn Marino // 686d7f5d3SJohn Marino // Author: Lasse Collin 786d7f5d3SJohn Marino // 886d7f5d3SJohn Marino // This file has been put into the public domain. 986d7f5d3SJohn Marino // You can do whatever you want with this file. 1086d7f5d3SJohn Marino // 1186d7f5d3SJohn Marino /////////////////////////////////////////////////////////////////////////////// 1286d7f5d3SJohn Marino 1386d7f5d3SJohn Marino #ifndef LZMA_STREAM_FLAGS_COMMON_H 1486d7f5d3SJohn Marino #define LZMA_STREAM_FLAGS_COMMON_H 1586d7f5d3SJohn Marino 1686d7f5d3SJohn Marino #include "common.h" 1786d7f5d3SJohn Marino 1886d7f5d3SJohn Marino /// Size of the Stream Flags field 1986d7f5d3SJohn Marino #define LZMA_STREAM_FLAGS_SIZE 2 2086d7f5d3SJohn Marino 2186d7f5d3SJohn Marino extern const uint8_t lzma_header_magic[6]; 2286d7f5d3SJohn Marino extern const uint8_t lzma_footer_magic[2]; 2386d7f5d3SJohn Marino 2486d7f5d3SJohn Marino 2586d7f5d3SJohn Marino static inline bool is_backward_size_valid(const lzma_stream_flags * options)2686d7f5d3SJohn Marinois_backward_size_valid(const lzma_stream_flags *options) 2786d7f5d3SJohn Marino { 2886d7f5d3SJohn Marino return options->backward_size >= LZMA_BACKWARD_SIZE_MIN 2986d7f5d3SJohn Marino && options->backward_size <= LZMA_BACKWARD_SIZE_MAX 3086d7f5d3SJohn Marino && (options->backward_size & 3) == 0; 3186d7f5d3SJohn Marino } 3286d7f5d3SJohn Marino 3386d7f5d3SJohn Marino #endif 34