extern uint32_t adler32_neon(uint32_t adler, const uint8_t *buf, size_t len);
extern uint32_t chunksize_neon(void);
extern uint8_t* chunkmemset_safe_neon(uint8_t *out, unsigned dist, unsigned len, unsigned left);
-extern void inflate_fast_neon(PREFIX3(stream) *strm, uint32_t start);
# ifdef HAVE_BUILTIN_CTZLL
extern uint32_t compare256_neon(const uint8_t *src0, const uint8_t *src1);
# ifdef DEFLATE_H_
extern void slide_hash_neon(deflate_state *s);
# endif
+# ifdef INFLATE_H_
+ extern void inflate_fast_neon(PREFIX3(stream) *strm, uint32_t start);
+# endif
#endif
#ifdef ARM_ACLE
extern uint32_t adler32_c(uint32_t adler, const uint8_t *buf, size_t len);
extern uint32_t chunksize_c(void);
extern uint8_t* chunkmemset_safe_c(uint8_t *out, unsigned dist, unsigned len, unsigned left);
+#ifdef INFLATE_H_
extern void inflate_fast_c(PREFIX3(stream) *strm, uint32_t start);
+#endif
extern uint32_t PREFIX(crc32_braid)(uint32_t crc, const uint8_t *buf, size_t len);
extern uint32_t chunksize_power8(void);
extern uint8_t* chunkmemset_safe_power8(uint8_t *out, unsigned dist, unsigned len, unsigned left);
extern uint32_t crc32_power8(uint32_t crc, const uint8_t *buf, size_t len);
-extern void inflate_fast_power8(PREFIX3(stream) *strm, uint32_t start);
-
# ifdef DEFLATE_H_
extern void slide_hash_power8(deflate_state *s);
# endif
+# ifdef INFLATE_H_
+ extern void inflate_fast_power8(PREFIX3(stream) *strm, uint32_t start);
+# endif
#endif
#ifdef POWER9
extern uint32_t chunksize_rvv(void);
extern uint8_t* chunkmemset_safe_rvv(uint8_t *out, unsigned dist, unsigned len, unsigned left);
extern uint32_t compare256_rvv(const uint8_t *src0, const uint8_t *src1);
-extern void inflate_fast_rvv(PREFIX3(stream) *strm, uint32_t start);
+
# ifdef DEFLATE_H_
extern uint32_t longest_match_rvv(deflate_state *const s, Pos cur_match);
extern uint32_t longest_match_slow_rvv(deflate_state *const s, Pos cur_match);
extern void slide_hash_rvv(deflate_state *s);
# endif
+# ifdef INFLATE_H_
+ extern void inflate_fast_rvv(PREFIX3(stream) *strm, uint32_t start);
+# endif
#endif
#endif
#ifdef X86_SSE2
extern uint32_t chunksize_sse2(void);
extern uint8_t* chunkmemset_safe_sse2(uint8_t *out, unsigned dist, unsigned len, unsigned left);
-extern void inflate_fast_sse2(PREFIX3(stream) *strm, uint32_t start);
# ifdef HAVE_BUILTIN_CTZ
extern uint32_t compare256_sse2(const uint8_t *src0, const uint8_t *src1);
extern void slide_hash_sse2(deflate_state *s);
# endif
# endif
+# ifdef INFLATE_H_
+ extern void inflate_fast_sse2(PREFIX3(stream)* strm, uint32_t start);
+# endif
#endif
#ifdef X86_SSSE3
extern uint32_t adler32_ssse3(uint32_t adler, const uint8_t *buf, size_t len);
extern uint8_t* chunkmemset_safe_ssse3(uint8_t *out, unsigned dist, unsigned len, unsigned left);
-extern void inflate_fast_ssse3(PREFIX3(stream) *strm, uint32_t start);
+# ifdef INFLATE_H_
+ extern void inflate_fast_ssse3(PREFIX3(stream) *strm, uint32_t start);
+# endif
#endif
#ifdef X86_SSE42
extern uint32_t adler32_fold_copy_avx2(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len);
extern uint32_t chunksize_avx2(void);
extern uint8_t* chunkmemset_safe_avx2(uint8_t *out, unsigned dist, unsigned len, unsigned left);
-extern void inflate_fast_avx2(PREFIX3(stream) *strm, uint32_t start);
# ifdef HAVE_BUILTIN_CTZ
extern uint32_t compare256_avx2(const uint8_t *src0, const uint8_t *src1);
extern void slide_hash_avx2(deflate_state *s);
# endif
# endif
+# ifdef INFLATE_H_
+ extern void inflate_fast_avx2(PREFIX3(stream)* strm, uint32_t start);
+# endif
#endif
#ifdef X86_AVX512
extern uint32_t adler32_avx512(uint32_t adler, const uint8_t *buf, size_t len);
#ifndef CPU_FEATURES_H_
#define CPU_FEATURES_H_
-#ifdef ZLIB_COMPAT
-typedef struct z_stream_s z_stream;
-#else
-typedef struct zng_stream_s zng_stream;
-#endif
-
#if defined(X86_FEATURES)
# include "arch/x86/x86_features.h"
#elif defined(ARM_FEATURES)
#include "zbuild.h"
#include "zendian.h"
-#include "crc32_braid_p.h"
-#include "deflate.h"
-#include "deflate_p.h"
#include "functable.h"
#include "cpu_features.h"
#include "deflate.h"
#include "crc32_fold_c.h"
#include "adler32_fold_c.h"
-
-#ifdef ZLIB_COMPAT
-typedef struct z_stream_s z_stream;
-#else
-typedef struct zng_stream_s zng_stream;
-#endif
+#include "inftrees.h"
+#include "inflate.h"
struct functable_s {
void (* force_init) (void);