Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

zip_open_from_source (3)

Name

zip_open_from_source - open zip archive

Synopsis

#include <zip.h>

zip_t *
zip_open(const char *path, int flags, int *errorp);

zip_t *
zip_open_from_source(zip_source_t *zs, int flags, zip_error_t *ze);

Description

ZIP_OPEN(3)              BSD Library Functions Manual              ZIP_OPEN(3)

NAME
     zip_open, zip_open_from_source -- open zip archive

LIBRARY
     libzip (-lzip)

SYNOPSIS
     #include <zip.h>

     zip_t *
     zip_open(const char *path, int flags, int *errorp);

     zip_t *
     zip_open_from_source(zip_source_t *zs, int flags, zip_error_t *ze);

DESCRIPTION
     The zip_open() function opens the zip archive specified by path and
     returns a pointer to a struct zip, used to manipulate the archive.  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.

           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 ar-
                          chive.

           ZIP_RDONLY     Open archive in read-only mode.

     If an error occurs and errorp is non-NULL, it will be set to the corre-
     sponding error code.

     The zip_open_from_source() function opens a zip archive encapsulated by
     the zip_source zs using the provided flags.  In case of error, the
     zip_error ze is filled in.

RETURN VALUES
     Upon successful completion zip_open() and zip_open_from_source() return a
     struct zip pointer.  Otherwise, NULL is returned and zip_open() sets
     *errorp to indicate the error, while zip_open_from(source) sets ze 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.  This error is often caused by specifying
                        ZIP_CHECKCONS but can also happen without it.

     [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.


ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

     +---------------+------------------+
     |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
     +---------------+------------------+
     |Availability   | compress/libzip  |
     +---------------+------------------+
     |Stability      | Volatile         |
     +---------------+------------------+

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

HISTORY
     zip_open() and zip_open_from_source() were added in libzip 1.0.

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



NOTES
     Source code for open source software components in Oracle Solaris can be
     found at https://www.oracle.com/downloads/opensource/solaris-source-code-
     downloads.html.

     This software was built from source available at https://github.com/ora-
     cle/solaris-userland.  The original community source was downloaded from
     https://libzip.org/download/libzip-1.7.3.tar.gz.

     Further information about this software can be found on the open source
     community website at https://libzip.org/.

BSD                            December 18, 2017                           BSD