xref: /freebsd/sys/contrib/zstd/zlibWrapper/gzcompatibility.h (revision 1719886f6d08408b834d270c59ffcfd821c8f63a)
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
14 ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
15 ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
16 ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
17 ZEXTERN 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
32 struct 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 */
43 ZEXTERN 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
64 ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
65                                      gzFile file));
66 ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
67                                       z_size_t nitems, gzFile file));
68 #endif
69