about summary refs log tree commit diff homepage
path: root/gzseek.3
blob: dd69a5cb4f08269e822ba8cf66c4c03ef078a087 (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
89
90
91
92
93
.Dd November 13, 2018
.Dt GZSEEK 3
.Os
.
.Sh NAME
.Nm gzseek ,
.Nm gzrewind ,
.Nm gztell
.Nd seek compressed file
.
.Sh LIBRARY
.Lb libz
.
.Sh SYNOPSIS
.In zlib.h
.Ft z_off_t
.Fn gzseek "gzFile file" "z_off_t offset" "int whence"
.Ft int
.Fn gzrewind "gzFile file"
.Ft z_off_t
.Fn gztell "gzFile file"
.
.Sh DESCRIPTION
Sets the starting position
for the next
.Xr gzread 3
or
.Xr gzwrite 3
on the given compressed file.
The
.Fa offset
represents a number of bytes
in the uncompressed data stream.
The
.Fa whence
parameter
is defined as in
.Xr lseek 2 ;
the value
.Dv SEEK_END
is not supported.
.
.Pp
If the file is opened for reading,
this function is emulated
but can be extremely slow.
If the file is opened for writing,
only forward seeks are supported;
.Fn gzseek
then compresses a sequence of zeroes
up to the new starting position.
.
.Pp
.Fn gzrewind
rewinds the given file.
This function is supported
only for reading.
.
.Pp
.Fn gzrewind file
is equivalent to
.Li (int) Ns Fn gzseek file 0L SEEK_SET .
.
.Pp
.Fn gztell
returns the starting position
for the next
.Xr gzread 3
or
.Xr gzwrite 3
on the given compressed file.
This position represents a number of bytes
in the uncompressed data stream,
and is zero when starting,
even if appending or reading
a gzip stream from the middle of a file using
.Xr gzdopen 3 .
.
.Pp
.Fn gztell file
is equivalent to
.Fn gzseek file 0L SEEK_CUR .
.
.Sh RETURN VALUES
.Fn gzseek
returns the resulting offset location
as measured in bytes
from the beginning of the uncompressed stream,
or -1 in case of error,
in particular if the file
is opened for writing
and the new starting position
would be before the current position.
terp functionJune McEnroe Short-circuits for b = 8. 2018-02-05Rename gfxx space indexed and add palette samplingJune McEnroe 2018-02-05Take scale into account for when to stop drawing in gfxxJune McEnroe 2018-02-05Always skip most significant bits in gfxxJune McEnroe This works for CARDS.DLL but might not for other things. We'll see. 2018-02-05Set title in gfcocoaJune McEnroe 2018-02-05Double-buffer gfb frontendJune McEnroe Still not vsync (seems like a newer DRM-fbdev implementation handles FBIO_WAITFORVSYNC but my kernel doesn't), but avoids flicker from clearing to black for each frame. 2018-02-05Rewrite gfxx bit handlingJune McEnroe Specifies how many bits for each of "alpha" (ignored), red, green, blue. Separates byte-order and bit-order. Much more flexible, but now won't render CARDS.DLL graphics properly due to the skip bit being not where it expects. Also mmaps the file instead of reading it all in. And the default palette and sampling got removed again for now, since it's too awkward to use. 2018-02-05Add flip option to gfxxJune McEnroe This handles upside-down graphics much better than reverse did. 2018-02-05Remove gfxx reverse optionJune McEnroe 2018-02-04Fix gfxx draw stop conditionJune McEnroe Would not draw the last partially visible column when mirrored. 2018-02-04Reuse CGColorSpace and CGDataProvider in gfcocoaJune McEnroe 2018-02-04Mark mac target phonyJune McEnroe 2018-02-04Set up Makefile for gfxx-cocoa or gfxx-fbJune McEnroe 2018-02-04Avoid doing excessive work in gfxxJune McEnroe By stopping when the next column would be off the edge of the buffer. 2018-02-04Handle window resizing in gfcocoaJune McEnroe 2018-02-04Set cinoptionsJune McEnroe 2018-02-04Tweak colorscheme moreJune McEnroe 2018-02-04Color MatchParen DarkYellowJune McEnroe White is not obvious enough. 2018-02-04Add palette sampling to gfxxJune McEnroe 2018-02-04Add 4-bit RGB to gfxxJune McEnroe Replace default palette with alternating black and white. 2018-02-04Add Quit menu item to gfcocoaJune McEnroe 2018-02-04Switch back to sane Objective-C styleJune McEnroe 2018-02-04Quit gfcocoa when window closesJune McEnroe 2018-02-03Apparently this is how people write Objective-CJune McEnroe