1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file       stream_flags_common.h
4 /// \brief      Common stuff for Stream flags coders
5 //
6 //  Author:     Lasse Collin
7 //
8 //  This file has been put into the public domain.
9 //  You can do whatever you want with this file.
10 //
11 ///////////////////////////////////////////////////////////////////////////////
12 
13 #ifndef LZMA_STREAM_FLAGS_COMMON_H
14 #define LZMA_STREAM_FLAGS_COMMON_H
15 
16 #include "common.h"
17 
18 /// Size of the Stream Flags field
19 #define LZMA_STREAM_FLAGS_SIZE 2
20 
21 lzma_attr_visibility_hidden
22 extern const uint8_t lzma_header_magic[6];
23 
24 lzma_attr_visibility_hidden
25 extern const uint8_t lzma_footer_magic[2];
26 
27 
28 static inline bool
is_backward_size_valid(const lzma_stream_flags * options)29 is_backward_size_valid(const lzma_stream_flags *options)
30 {
31 	return options->backward_size >= LZMA_BACKWARD_SIZE_MIN
32 			&& options->backward_size <= LZMA_BACKWARD_SIZE_MAX
33 			&& (options->backward_size & 3) == 0;
34 }
35 
36 #endif
37