1.\" Copyright (c) 2014 Xin Li <delphij@FreeBSD.org> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd March 5, 2014 28.Dt ZOPEN 3 29.Os 30.Sh NAME 31.Nm zopen 32.Nd open a gzip compressed stream 33.Sh LIBRARY 34.Lb libz 35.Sh SYNOPSIS 36.Ft FILE * 37.Fn zopen "const char *path" "const char *mode" 38.Sh DESCRIPTION 39The 40.Fn zopen 41opens a gzip file whose name is the string pointed to by 42.Fa path 43and associates a stream with it. 44It is a wrapper around 45.Xr zlib 3 46and standard stream I/O APIs. 47.Pp 48The argument 49.Fa mode 50have the same meaning as it does in 51.Xr fopen 3 . 52.Pp 53The 54.Nm 55function will associate read, write, seek and close 56functions of 57.Xr zlib 3 58after successfully opened a file with 59.Xr funopen 3 60so that they will be used to read or write the new stream. 61.Sh RETURN VALUES 62Upon successful completion 63.Nm 64returns a 65.Tn FILE 66pointer. 67Otherwise, 68.Dv NULL 69is returned and the global variable 70.Va errno 71is set to indicate the error. 72.Sh ERRORS 73In addition to the errors documented for 74.Xr fopen 3 , 75the 76.Nm 77function may also fail for: 78.Bl -tag -width Er 79.It Bq Er ENOMEM 80Insufficient memory is available. 81.El 82.Sh COMPATIBILITY 83This implementation of 84.Nm 85function first appeared in 86.Nx 1.6 87and 88.Fx 4.5 . 89The 90.Nm 91function may not be portable to systems other than 92.Fx . 93.Sh SEE ALSO 94.Xr fopen 3 , 95.Xr funopen 3 , 96.Xr zlib 3 97