summary refs log tree commit diff
path: root/doc/zlib/inflateMark.3
blob: 2d15993d71f697ea867fa612ad0318c4dd0f097d (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
.Dd January 15, 2017
.Dt INFLATEMARK 3
.Os
.
.Sh NAME
.Nm inflateMark
.Nd mark location for random access
.
.Sh LIBRARY
.Lb libz
.
.Sh SYNOPSIS
.In zlib.h
.Ft long
.Fn inflateMark "z_streamp strm"
.
.Sh DESCRIPTION
This function returns two values,
one in the lower 16 bits of the return value,
and the other in the remaining upper bits,
obtained by shifting the return value down 16 bits.
If the upper value is -1
and the lower value is zero,
then
.Xr inflate 3
is currently decoding information outside of a block.
If the upper value is -1
and the lower value is non-zero,
then
.Xr inflate 3
is in the middle of a stored block,
with the lower value equaling
the number of bytes from the input remaining to copy.
If the upper value is not -1,
then it is the number of bits
back from the current bit position
in the input of the code
(literal of length/distance pair)
currently being processed.
In that case the lower value
is the number of bytes
already emitted for that code.
.
.Pp
A code is being processed if
.Xr inflate 3
is waiting for more input to complete
decoding of the code,
or if it has completed decoding
but is waiting for more output space
to write the literal or match data.
.
.Pp
.Fn inflateMark
is used to mark locations in the input data
for random access,
which may be at bit positions,
and to note those cases where
the output of a code may span boundaries
of random access blocks.
The current location in the input stream
can be determined from
.Fa avail_in
and
.Fa data_type
as noted in the description for the
.Dv Z_BLOCK
.Fa flush
parameter for
.Xr inflate 3 .
.
.Sh RETURN VALUES
.Fn inflateMark
returns the value noted above,
or -65536 if the provided source stream state was inconsistent.
.
.Sh SEE ALSO
.Xr inflate 3
.
.Sh HISTORY
This manual page was converted from
.In zlib.h
to mdoc format by
.An C. McEnroe Aq Mt june@causal.agency .
.
.Sh AUTHORS
.An Jean-loup Gailly Aq Mt jloup@gzip.org
.An Mark Adler Aq Mt madler@alumni.caltech.edu