diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | gzseek.3 | 70 |
2 files changed, 72 insertions, 0 deletions
diff --git a/Makefile b/Makefile index 0518b4b..45081d8 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,7 @@ MAN += gzprintf.3 MAN += gzputc.3 MAN += gzputs.3 MAN += gzread.3 +MAN += gzseek.3 MAN += gzsetparams.3 MAN += gzungetc.3 MAN += gzwrite.3 @@ -55,6 +56,7 @@ MLINKS += adler32.3 adler32_z.3 MLINKS += compress.3 compress2.3 MLINKS += crc32.3 crc32_z.3 MLINKS += gzopen.3 gzdopen.3 +MLINKS += gzseek.3 gzrewind.3 MLINKS += inflateReset.3 inflateReset2.3 MLINKS += uncompress.3 uncompress2.3 diff --git a/gzseek.3 b/gzseek.3 new file mode 100644 index 0000000..cf1bc71 --- /dev/null +++ b/gzseek.3 @@ -0,0 +1,70 @@ +.Dd November 13, 2018 +.Dt GZSEEK 3 +.Os +. +.Sh NAME +.Nm gzseek , +.Nm gzrewind +.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" +. +.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 . +. +.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. |