1/*
2 * Copyright (c) 2016-2021, Przemyslaw Skibinski, Yann Collet, Facebook, Inc.
3 * All rights reserved.
4 *
5 * This source code is licensed under both the BSD-style license (found in the
6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7 * in the COPYING file in the root directory of this source tree).
8 * You may select, at your option, one of the above-listed licenses.
9 */
10
11
12
13#if ZLIB_VERNUM <= 0x1240
14ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
15ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
16ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
17ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
18
19#if !defined(_WIN32) && defined(Z_LARGE64)
20#  define z_off64_t off64_t
21#else
22#  if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
23#    define z_off64_t __int64
24#  else
25#    define z_off64_t z_off_t
26#  endif
27#endif
28#endif
29
30
31#if ZLIB_VERNUM <= 0x1250
32struct gzFile_s {
33    unsigned have;
34    unsigned char *next;
35    z_off64_t pos;
36};
37#endif
38
39
40#if ZLIB_VERNUM <= 0x1270
41#if defined(_WIN32) && !defined(Z_SOLO)
42#    include <stddef.h>         /* for wchar_t */
43ZEXTERN gzFile         ZEXPORT gzopen_w OF((const wchar_t *path,
44                                            const char *mode));
45#endif
46#endif
47
48
49#if ZLIB_VERNUM < 0x12B0
50#ifdef Z_SOLO
51   typedef unsigned long z_size_t;
52#else
53#  define z_longlong long long
54#  if defined(NO_SIZE_T)
55     typedef unsigned NO_SIZE_T z_size_t;
56#  elif defined(STDC)
57#    include <stddef.h>
58     typedef size_t z_size_t;
59#  else
60     typedef unsigned long z_size_t;
61#  endif
62#  undef z_longlong
63#endif
64ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
65                                     gzFile file));
66ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
67                                      z_size_t nitems, gzFile file));
68#endif
69