147 lines
3.9 KiB
Text
147 lines
3.9 KiB
Text
.\" zip_fdopen.mdoc -- open zip archive using existing file descriptor
|
|
.\" Copyright (C) 2009-2017 Dieter Baron and Thomas Klausner
|
|
.\"
|
|
.\" This file is part of libzip, a library to manipulate ZIP archives.
|
|
.\" The authors can be contacted at <libzip@nih.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 December 18, 2017
|
|
.Dt ZIP_FDOPEN 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm zip_fdopen
|
|
.Nd open zip archive using open file descriptor
|
|
.Sh LIBRARY
|
|
libzip (-lzip)
|
|
.Sh SYNOPSIS
|
|
.In zip.h
|
|
.Ft zip_t *
|
|
.Fn zip_fdopen "int fd" "int flags" "int *errorp"
|
|
.Sh DESCRIPTION
|
|
The zip archive specified by the open file descriptor
|
|
.Ar fd
|
|
is opened and a pointer to a
|
|
.Ft struct zip ,
|
|
used to manipulate the archive, is returned.
|
|
In contrast to
|
|
.Xr zip_open 3 ,
|
|
using
|
|
.Nm zip_fdopen
|
|
the archive can only be opened in read-only mode.
|
|
The
|
|
.Ar fd
|
|
argument may not be used any longer after calling
|
|
.Nm zip_fdopen .
|
|
The
|
|
.Fa flags
|
|
are specified by
|
|
.Em or Ns No 'ing
|
|
the following values, or 0 for none of them.
|
|
.Bl -tag -offset indent -width ZIP_CHECKCONS
|
|
.It Dv ZIP_CHECKCONS
|
|
Perform additional stricter consistency checks on the archive, and
|
|
error if they fail.
|
|
.El
|
|
.Pp
|
|
If an error occurs and
|
|
.Ar errorp
|
|
is
|
|
.No non- Ns Dv NULL ,
|
|
it will be set to the corresponding error code.
|
|
.Sh RETURN VALUES
|
|
Upon successful completion
|
|
.Fn zip_fdopen
|
|
returns a
|
|
.Ft struct zip
|
|
pointer, and
|
|
.Ar fd
|
|
should not be used any longer, nor passed to
|
|
.Xr close 2 .
|
|
Otherwise,
|
|
.Dv NULL
|
|
is returned and
|
|
.Ar *errorp
|
|
is set to indicate the error.
|
|
In the error case,
|
|
.Ar fd
|
|
remains unchanged.
|
|
.Sh ERRORS
|
|
The file specified by
|
|
.Ar fd
|
|
is prepared for use by
|
|
.Xr libzip 3
|
|
unless:
|
|
.Bl -tag -width Er
|
|
.It Bq Er ZIP_ER_INCONS
|
|
Inconsistencies were found in the file specified by
|
|
.Ar path .
|
|
This error is often caused by specifying
|
|
.Dv ZIP_CHECKCONS
|
|
but can also happen without it.
|
|
.It Bq Er ZIP_ER_INVAL
|
|
The
|
|
.Ar flags
|
|
argument is invalid.
|
|
Not all
|
|
.Xr zip_open 3
|
|
flags are allowed for
|
|
.Nm zip_fdopen ,
|
|
see
|
|
.Sx DESCRIPTION .
|
|
.It Bq Er ZIP_ER_MEMORY
|
|
Required memory could not be allocated.
|
|
.It Bq Er ZIP_ER_NOZIP
|
|
The file specified by
|
|
.Ar fd
|
|
is not a zip archive.
|
|
.It Bq Er ZIP_ER_OPEN
|
|
The file specified by
|
|
.Ar fd
|
|
could not be prepared for use by
|
|
.Xr libzip 3 .
|
|
.It Bq Er ZIP_ER_READ
|
|
A read error occurred; see
|
|
.Va errno
|
|
for details.
|
|
.It Bq Er ZIP_ER_SEEK
|
|
The file specified by
|
|
.Ar fd
|
|
does not allow seeks.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr libzip 3 ,
|
|
.Xr zip_close 3 ,
|
|
.Xr zip_error_strerror 3 ,
|
|
.Xr zip_open 3
|
|
.Sh HISTORY
|
|
.Fn zip_fdopen
|
|
was added in libzip 1.0.
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
.An Dieter Baron Aq Mt dillo@nih.at
|
|
and
|
|
.An Thomas Klausner Aq Mt tk@giga.or.at
|