.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