xref: /dflybsd-src/contrib/xz/src/liblzma/common/stream_flags_common.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
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 Marino is_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