ZIP_OPEN
Section: C Library Functions (3)
Index
Return to Main Contents
BSD mandoc
NAME
zip_open
zip_open_from_source
- open zip archive
LIBRARY
libzip -lzip)
SYNOPSIS
In zip.h
Ft zip_t *
Fn zip_open const char *path int flags int *errorp
Ft zip_t *
Fn zip_open_from_source zip_source_t *zs int flags zip_error_t *ze
DESCRIPTION
The
Fn zip_open
function opens the zip archive specified by
path
and returns a pointer to a
Ft struct zip ,
used to manipulate the archive.
The
Fa 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.
- ZIP_CREATE
-
Create the archive if it does not exist.
- ZIP_EXCL
-
Error if archive already exists.
- ZIP_TRUNCATE
-
If archive exists, ignore its current contents.
In other words, handle it the same way as an empty archive.
- ZIP_RDONLY
-
Open archive in rea-only mode.
If an error occurs and
errorp
is
no- NULL
it will be set to the corresponding error code.
The
Fn zip_open_from_source
function opens a zip archive encapsulated by the zip_source
Fa zs
using the provided
Fa flags .
In case of error, the zip_error
Fa ze
is filled in.
RETURN VALUES
Upon successful completion
Fn zip_open
and
Fn zip_open_from_source
return a
Ft struct zip
pointer.
Otherwise,
NULL
is returned and
Fn zip_open
sets
*errorp
to indicate the error, while
Fn zip_open_from source
sets
ze
to indicate the error.
EXAMPLES
Here's an example of how you could report errors during
:
zip_t *za;
int err;
if ((za = zip_open(name, 0, &err)) == NULL) {
zip_error_t error;
zip_error_init_with_code(&error, err);
fprintf(stderr, "%s: cannot open zip archive '%s': %sn",
progname, name, zip_error_strerror(&error));
zip_error_fini(&error);
return-1;
}
ERRORS
The archive specified by
path
is opened unless:
- Bq Er ZIP_ER_EXISTS
-
The file specified by
path
exists and
ZIP_EXCL
is set.
- Bq Er 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.
- Bq Er ZIP_ER_INVAL
-
The
path
argument is
NULL
- Bq Er ZIP_ER_MEMORY
-
Required memory could not be allocated.
- Bq Er ZIP_ER_NOENT
-
The file specified by
path
does not exist and
ZIP_CREATE
is not set.
- Bq Er ZIP_ER_NOZIP
-
The file specified by
path
is not a zip archive.
- Bq Er ZIP_ER_OPEN
-
The file specified by
path
could not be opened.
- Bq Er ZIP_ER_READ
-
A read error occurred; see
errno
for details.
- Bq Er ZIP_ER_SEEK
-
The file specified by
path
does not allow seeks.
For newly created archives,
Fn zip_open
does not try to create the file; this is done when calling
zip_close3
and any errors, like missing write permissions, will
be reported then.
SEE ALSO
libzip(3),
zip_close3,
zip_error_strerror3,
zip_fdopen3,
zip_source5
HISTORY
Fn zip_open
and
Fn zip_open_from_source
were added in libzip 1.0.
AUTHORS
An -nosplit
An Dieter Baron Aq Mt
dillo@nih.at
and
An Thomas Klausner Aq Mt
wiz@gatalith.at
Index
- NAME
-
- LIBRARY
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUES
-
- EXAMPLES
-
- ERRORS
-
- SEE ALSO
-
- HISTORY
-
- AUTHORS
-