ZIP_OPEN(3)

NAME
zip_open - open zip archive

LIBRARY
libzip (-lzip)

SYNOPSIS
#include <zip.h>
struct zip *
zip_open(const char *path, int flags, int *errorp);

DESCRIPTION
The zip archive specified by path is opened and a pointer to a struct zip, used to manipulate the archive, is returned. The flags are specified by or'ing the following values, or 0 for none of them.

ZIP_CREATE
    Create the archive if it does not exist.

ZIP_EXCL
    Error if archive already exists.

ZIP_CHECKCONS
    Perform additional 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_open() returns a struct zip pointer. Otherwise, NULL is returned and *errorp is set to indicate the error.

ERRORS
The archive specified by path is opened unless:

[ZIP_ER_EXISTS]
    The file specified by path exists and ZIP_EXCL is set.

[ZIP_ER_INCONS]
    Inconsistencies were found in the file specified by path and ZIP_CHECKCONS was specified.

[ZIP_ER_INVAL]
    The path argument is NULL.

[ZIP_ER_MEMORY]
    Required memory could not be allocated.

[ZIP_ER_NOENT]
    The file specified by path does not exist and ZIP_CREATE is not set.

[ZIP_ER_NOZIP]
    The file specified by path is not a zip archive.

[ZIP_ER_OPEN]
    The file specified by path could not be opened.

[ZIP_ER_READ]
    A read error occurred; see errno for details.

[ZIP_ER_SEEK]
    The file specified by path does not allow seeks.

SEE ALSO
libzip(3), zip_close(3), zip_error_to_str(3), zip_fdopen(3)

AUTHORS
-nosplit Dieter Baron <dillo@giga.or.at> and Thomas Klausner <tk@giga.or.at>