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