summary refs log tree commit diff
path: root/doc/zlib/inflateMark.3
blob: 90e2ee0b8cf4657083564decac3faf1eb0dad931 (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 June 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
9ce6467f16749383d6&follow=1'>Miscellaneous code cleanupJune McEnroe 2018-03-05Pass message structs by valueJune McEnroe 2018-03-05Use stdio in merge and metaJune McEnroe 2018-03-05Clean up spawn constantsJune McEnroe 2018-03-05Rename Tile timestamps {create,modify,access}TimeJune McEnroe 2018-03-05Pack message type enumsJune McEnroe 2018-03-05Undef COLOR_ constants in torus.hJune McEnroe 2018-03-05Generate tagsJune McEnroe 2017-10-03Simplify Makefile with pattern ruleJune McEnroe Insert rant about how GNU make handles the .c rule with extra dependencies. Also I don't care that everything links curses now. 2017-09-27Remove leading blank linesJune McEnroe 2017-09-27Add merge.c to READMEJune McEnroe 2017-09-03Assert client coords are valid after movementJune McEnroe 2017-09-03Relicense AGPLJune McEnroe I know it's already published under a permissive license in what is probably its final form, but I want to license it AGPL anyway on principle following some conversations I had about open source, corporations and copyleft. 2017-09-01Revert "Add client readOnly mode"June McEnroe This reverts commit 34f25ae40a3db9369e9d98b3814f2b93bbc21451. 2017-09-01Remove clientRemove call from clientCastJune McEnroe If an error occurs on a client socket during a broadcast, that client will show up in the kqueue loop with EV_EOF and get removed that way. Tested by sending SIGKILL to a client and watching its cursor disappear. 2017-09-01Add client readOnly modeJune McEnroe 2017-08-31Clean up merge toolJune McEnroe Choose the version with the most recent access if the modify times are the same. 2017-08-31Choose B for tiles with equal modify timesJune McEnroe This way newer access counts and times will be preserved. 2017-08-31Add quick data file merge toolJune McEnroe Hopefully I won't have to use it ever again. 2017-08-30Use only foreground color for selecting spawnJune McEnroe 2017-08-29Add four additional spawnsJune McEnroe 2017-08-28Add respawningJune McEnroe 2017-08-26Move license above includesJune McEnroe Why was it down there? 2017-08-26Snapshot metadataJune McEnroe 2017-08-26Add meta.c to READMEJune McEnroe 2017-08-26Use MakefileJune McEnroe