.\" $NiH: zip_fopen.mdoc,v 1.13 2005/06/09 21:13:12 wiz Exp $
.\"
.\" zip_fopen.mdoc -- open file in zip archive for reading
.\" Copyright (C) 2003, 2004, 2005 Dieter Baron and Thomas Klausner
.\"
.\" This file is part of libzip, a library to manipulate ZIP archives.
.\" The authors can be contacted at <nih@giga.or.at>
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in
.\"    the documentation and/or other materials provided with the
.\"    distribution.
.\" 3. The names of the authors may not be used to endorse or promote
.\"    products derived from this software without specific prior
.\"    written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd April 14, 2004
.Dt ZIP_FOPEN 3
.Os
.Sh NAME
.Nm zip_fopen ,
.Nm zip_fopen_index
.Nd open file in zip archive for reading
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft struct zip_file *
.Fn zip_fopen "struct zip *archive" "const char *fname" "int flags"
.Ft struct zip_file *
.Fn zip_fopen_index "struct zip *archive" "int index" "int flags"
.Sh DESCRIPTION
The
.Fn zip_fopen
function opens the file name
.Ar fname
in
.Ar archive .
The
.Ar flags
argument specifies how the name lookup should be done, according to
the values are described in
.Xr zip_name_locate 3 .
Also, the following values may be
.Em or Ns No 'ed
to it.
.Bl -tag -offset indent -width ZIP_FL_COMPRESSED
.It Dv ZIP_FL_COMPRESSED
Read the compressed data.
Otherwise the data is uncompressed by
.Fn zip_fread .
.It Dv ZIP_FL_UNCHANGED
Read the original data from the zip archive, ignoring any changes made
to the file.
.El
.Pp
The
.Fn zip_fopen_index
function opens the file at position
.Ar index .
.Sh RETURN VALUES
Upon successful completion, a
.Ft struct zip_file
pointer is returned.
Otherwise,
.Dv NULL
is returned and the error code in
.Ar archive
is set to indicate the error.
.Sh ERRORS
.Bl -tag -width Er
.It Bq Er ZIP_ER_CHANGED
The file data has been changed.
.It Bq Er ZIP_ER_COMPNOTSUPP
The compression method used is not supported.
.It Bq Er ZIP_ER_MEMORY
Required memory could not be allocated.
.It Bq Er ZIP_ER_READ
A file read error occurred.
.It Bq Er ZIP_ER_SEEK
A file seek error occurred.
.It Bq Er ZIP_ER_ZLIB
Initializing the zlib stream failed.
.El
.Pp
The function
.Fn zip_fopen
may also fail and set
.Va zip_err
for any of the errors specified for the routine
.Xr zip_name_locate 3 .
.Pp
The function
.Fn zip_fopen_index
may also fail with
.Er ZIP_ER_INVAL
if
.Ar index
is invalid.
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_fclose 3 ,
.Xr zip_fread 3 ,
.Xr zip_name_locate 3
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq dillo@giga.or.at
and
.An Thomas Klausner Aq tk@giga.or.at
