xref: /freebsd/contrib/xz/src/liblzma/common/stream_flags_common.h (revision 3b35e7ee8de9b0260149a2b77e87a2b9c7a36244)
1*3b35e7eeSXin LI // SPDX-License-Identifier: 0BSD
2*3b35e7eeSXin LI 
381ad8388SMartin Matuska ///////////////////////////////////////////////////////////////////////////////
481ad8388SMartin Matuska //
581ad8388SMartin Matuska /// \file       stream_flags_common.h
681ad8388SMartin Matuska /// \brief      Common stuff for Stream flags coders
781ad8388SMartin Matuska //
881ad8388SMartin Matuska //  Author:     Lasse Collin
981ad8388SMartin Matuska //
1081ad8388SMartin Matuska ///////////////////////////////////////////////////////////////////////////////
1181ad8388SMartin Matuska 
1281ad8388SMartin Matuska #ifndef LZMA_STREAM_FLAGS_COMMON_H
1381ad8388SMartin Matuska #define LZMA_STREAM_FLAGS_COMMON_H
1481ad8388SMartin Matuska 
1581ad8388SMartin Matuska #include "common.h"
1681ad8388SMartin Matuska 
1781ad8388SMartin Matuska /// Size of the Stream Flags field
1881ad8388SMartin Matuska #define LZMA_STREAM_FLAGS_SIZE 2
1981ad8388SMartin Matuska 
20ca6a6373SXin LI lzma_attr_visibility_hidden
2181ad8388SMartin Matuska extern const uint8_t lzma_header_magic[6];
22ca6a6373SXin LI 
23ca6a6373SXin LI lzma_attr_visibility_hidden
2481ad8388SMartin Matuska extern const uint8_t lzma_footer_magic[2];
2581ad8388SMartin Matuska 
2681ad8388SMartin Matuska 
2781ad8388SMartin Matuska static inline bool
2881ad8388SMartin Matuska is_backward_size_valid(const lzma_stream_flags *options)
2981ad8388SMartin Matuska {
3081ad8388SMartin Matuska 	return options->backward_size >= LZMA_BACKWARD_SIZE_MIN
3181ad8388SMartin Matuska 			&& options->backward_size <= LZMA_BACKWARD_SIZE_MAX
3281ad8388SMartin Matuska 			&& (options->backward_size & 3) == 0;
3381ad8388SMartin Matuska }
3481ad8388SMartin Matuska 
3581ad8388SMartin Matuska #endif
36