NAME
zip_fdopen —
open zip archive using
open file descriptor
LIBRARY
libzip (-lzip)
SYNOPSIS
#include <zip.h>
zip_t *
zip_fdopen(
int
fd,
int flags,
int *errorp);
DESCRIPTION
The zip archive specified by the open file descriptor
fd
is opened and a pointer to a
struct zip, used to
manipulate the archive, is returned. In contrast to
zip_open(3), using
zip_fdopen the archive can only be opened in read-only mode.
The
fd argument may not be used any longer after calling
zip_fdopen. The
flags are specified by
or'ing the following values, or 0
for none of them.
-
-
ZIP_CHECKCONS
- Perform additional stricter consistency checks on the
archive, and error if they fail.
If an error occurs and
errorp is
non-NULL
, it will be set to
the corresponding error code.
RETURN VALUES
Upon successful completion
zip_fdopen() returns a
struct zip pointer, and
fd should
not be used any longer, nor passed to
close(2). Otherwise,
NULL
is returned and
*errorp is
set to indicate the error. In the error case,
fd remains
unchanged.
ERRORS
The file specified by
fd is prepared for use by
libzip(3) unless:
-
-
- [
ZIP_ER_INCONS
]
- Inconsistencies were found in the file specified by
path. This error is often caused by specifying
ZIP_CHECKCONS
but can also happen without it.
-
-
- [
ZIP_ER_INVAL
]
- The flags argument is invalid. Not
all zip_open(3) flags are allowed
for zip_fdopen, see
DESCRIPTION.
-
-
- [
ZIP_ER_MEMORY
]
- Required memory could not be allocated.
-
-
- [
ZIP_ER_NOZIP
]
- The file specified by fd is not a zip
archive.
-
-
- [
ZIP_ER_OPEN
]
- The file specified by fd could not be
prepared for use by libzip(3).
-
-
- [
ZIP_ER_READ
]
- A read error occurred; see errno for
details.
-
-
- [
ZIP_ER_SEEK
]
- The file specified by fd does not
allow seeks.
SEE ALSO
libzip(3),
zip_close(3),
zip_error_to_str(3),
zip_open(3)
HISTORY
zip_fdopen() was added in libzip 1.0.
AUTHORS
Dieter Baron
<
dillo@nih.at> and
Thomas Klausner
<
tk@giga.or.at>