about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--inflatePrime.360
2 files changed, 61 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 0127b46..d6d81eb 100644
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,7 @@ MAN += inflateEnd.3
 MAN += inflateGetDictionary.3
 MAN += inflateInit.3
 MAN += inflateInit2.3
+MAN += inflatePrime.3
 MAN += inflateReset.3
 MAN += inflateSetDictionary.3
 MAN += inflateSync.3
diff --git a/inflatePrime.3 b/inflatePrime.3
new file mode 100644
index 0000000..34d3169
--- /dev/null
+++ b/inflatePrime.3
@@ -0,0 +1,60 @@
+.Dd November 11, 2018
+.Dt INFLATEPRIME 3
+.Os
+.
+.Sh NAME
+.Nm inflatePrime
+.Nd insert bits in inflate stream
+.
+.Sh LIBRARY
+.Lb libz
+.
+.Sh SYNOPSIS
+.In zlib.h
+.Ft int
+.Fn inflatePrime "z_streamp strm" "int bits" "int value"
+.
+.Sh DESCRIPTION
+This function inserts bits
+in the inflate input stream.
+The intent is that this function
+is used to start inflating
+at a bit position
+in the middle of a byte.
+The provided bits will be used
+before any bytes are used from
+.Fa next_in .
+This function should only be used with raw inflate,
+and should be used before the first
+.Xr inflate 3
+call after
+.Xr inflateInit2 3
+or
+.Xr inflateReset 3 .
+.Fa bits
+must be less than or equal to 16,
+and that many of the least significant bits of
+.Fa value
+will be inserted in the input.
+.
+.Pp
+If
+.Fa bits
+is negative,
+then the input stream bit buffer is emptied.
+Then
+.Fn inflatePrime
+can be called again
+to put bits in the buffer.
+This is used to clear out bits leftover
+after feeding inflate a block description
+prior to feeding inflate codes.
+.
+.Sh RETURN VALUES
+.Fn inflatePrime
+returns
+.Dv Z_OK
+if success,
+or
+.Dv Z_STREAM_ERROR
+if the source stream state was inconsistent.