about summary refs log tree commit diff homepage
path: root/gzdirect.3
blob: 478db6d44cd1a418e7fb0fff92beace12414ab41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.Dd November 13, 2018
.Dt GZDIRECT 3
.Os
.
.Sh NAME
.Nm gzdirect
.Nd check direct copy
.
.Sh LIBRARY
.Lb libz
.
.Sh SYNOPSIS
.In zlib.h
.Ft int
.Fn gzdirect "gzFile file"
.
.Sh DESCRIPTION
Returns true (1) if
.Fa file
is being copied directly while reading,
or false (0) if
.Fa file
is a gzip stream being decompressed.
.
.Pp
If the input file is empty,
.Fn gzdirect
will return true,
since the input does not contain a gzip stream.
.
.Pp
If
.Fn gzdirect
is used immediately after
.Xr gzopen 3
or
.Xr gzdopen 3
it will cause buffers to be allocated
to allow reading the file
to determine if it is a gzip file.
Therefore if
.Xr gzbuffer 3
is used,
it should be called before
.Fn gzdirect .
.
.Pp
When writing,
.Fn gzdirect
returns true (1)
if transparent writing was requested
.Po
.Dq wT
for the
.Xr gzopen 3
mode
.Pc ,
or false (0) otherwise.
.Po
Note:
.Fn gzdirect
is not needed when writing.
Transparent writing
must be explicitly requested,
so the application already knows the answer.
When linking statically,
using
.Fn gzdirect
will include all of the zlib code
for gzip file reading and decompression,
which may not be desired.
.Pc