Yann Collet | 32fb407 | 2017-08-18 16:52:05 -0700 | [diff] [blame] | 1 | /* |
Nick Terrell | ac58c8d | 2020-03-26 15:19:05 -0700 | [diff] [blame] | 2 | * Copyright (c) 2016-2020, Przemyslaw Skibinski, Yann Collet, Facebook, Inc. |
Przemyslaw Skibinski | 91437d8 | 2016-11-28 13:25:42 +0100 | [diff] [blame] | 3 | * All rights reserved. |
| 4 | * |
Yann Collet | 32fb407 | 2017-08-18 16:52:05 -0700 | [diff] [blame] | 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). |
Yann Collet | 3128e03 | 2017-09-08 00:09:23 -0700 | [diff] [blame] | 8 | * You may select, at your option, one of the above-listed licenses. |
Przemyslaw Skibinski | 91437d8 | 2016-11-28 13:25:42 +0100 | [diff] [blame] | 9 | */ |
| 10 | |
Przemyslaw Skibinski | c77befe | 2016-11-28 14:09:26 +0100 | [diff] [blame] | 11 | |
Przemyslaw Skibinski | 91437d8 | 2016-11-28 13:25:42 +0100 | [diff] [blame] | 12 | |
| 13 | #if ZLIB_VERNUM <= 0x1240 |
| 14 | ZEXTERN int ZEXPORT gzclose_r OF((gzFile file)); |
| 15 | ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); |
Yann Collet | 32fb407 | 2017-08-18 16:52:05 -0700 | [diff] [blame] | 16 | ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); |
Przemyslaw Skibinski | 91437d8 | 2016-11-28 13:25:42 +0100 | [diff] [blame] | 17 | ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); |
Yann Collet | 32fb407 | 2017-08-18 16:52:05 -0700 | [diff] [blame] | 18 | |
Przemyslaw Skibinski | 91437d8 | 2016-11-28 13:25:42 +0100 | [diff] [blame] | 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) |
Yann Collet | 32fb407 | 2017-08-18 16:52:05 -0700 | [diff] [blame] | 42 | # include <stddef.h> /* for wchar_t */ |
Przemyslaw Skibinski | 91437d8 | 2016-11-28 13:25:42 +0100 | [diff] [blame] | 43 | ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path, |
| 44 | const char *mode)); |
| 45 | #endif |
| 46 | #endif |
Przemyslaw Skibinski | c9512db | 2017-01-18 12:51:44 +0100 | [diff] [blame] | 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 |