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
tr class='logheader'>2021-01-20Update cgit-causal-agency to 8a10aa5June McEnroe 2021-01-17Update cgit-causal-agencyJune McEnroe 2021-01-17Update scooper to 1.1June McEnroe 2021-01-17Update catgirl to 1.5 (BONUS WEBISODE)June McEnroe 2021-01-15Update litterbox to 1.7June McEnroe 2021-01-15Update pounce to 2.2June McEnroe 2021-01-15Update catgirl to 1.4June McEnroe 2020-12-28Replace cgit-patched with cgit-causal-agencyJune McEnroe 2020-12-18Add notemap portJune McEnroe 2020-12-15Update libretls to 3.3.1June McEnroe 2020-12-15Update catsit to 1.1June McEnroe 2020-12-15Update pounce to 2.1p1June McEnroe 2020-12-15Add imbox portJune McEnroe 2020-11-24Update pounce to 2.1June McEnroe 2020-11-24Update libretls to 3.3.0June McEnroe 2020-11-17Update catgirl to 1.3June McEnroe 2020-11-17Update libretls to 3.2.2June McEnroe 2020-09-29Update libretls to 3.2.1June McEnroe 2020-09-10Update catgirl to 1.2June McEnroe 2020-09-09Add pounce-palaver portJune McEnroe 2020-09-09Update pounce to 2.0June McEnroe 2020-09-09Update litterbox to 1.6June McEnroe 2020-08-23Add scooper portJune McEnroe 2020-08-23Add catsit portJune McEnroe 2020-08-13Update pounce to 1.4p2June McEnroe 2020-08-11Update pounce to 1.4p1June McEnroe 2020-08-10Add litterbox portJune McEnroe 2020-08-10Add missing USES=pkgconfig to pounceJune McEnroe