Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

zip_fopen_index (3)

Name

zip_fopen_index - open file in zip archive for reading

Synopsis

#include <zip.h>

zip_file_t *
zip_fopen(zip_t *archive, const char *fname, zip_flags_t flags);

zip_file_t *
zip_fopen_index(zip_t *archive, zip_uint64_t index, zip_flags_t flags);

Description

ZIP_FOPEN(3)             BSD Library Functions Manual             ZIP_FOPEN(3)

NAME
     zip_fopen, zip_fopen_index -- open file in zip archive for reading

LIBRARY
     libzip (-lzip)

SYNOPSIS
     #include <zip.h>

     zip_file_t *
     zip_fopen(zip_t *archive, const char *fname, zip_flags_t flags);

     zip_file_t *
     zip_fopen_index(zip_t *archive, zip_uint64_t index, zip_flags_t flags);

DESCRIPTION
     The zip_fopen() function opens the file name fname in archive.  The flags
     argument specifies how the name lookup should be done, according to the
     values are described in zip_name_locate(3).  Also, the following values
     may be or'ed to it.

           ZIP_FL_COMPRESSED  Read the compressed data.  Otherwise the data is
                              uncompressed by zip_fread().

           ZIP_FL_UNCHANGED   Read the original data from the zip archive,
                              ignoring any changes made to the file.

     The zip_fopen_index() function opens the file at position index.

     If encrypted data is encountered, the functions call
     zip_fopen_encrypted(3) or zip_fopen_index_encrypted(3) respectively,
     using the default password set with zip_set_default_password(3).

RETURN VALUES
     Upon successful completion, a struct zip_file pointer is returned.  Oth-
     erwise, NULL is returned and the error code in archive is set to indicate
     the error.

ERRORS
     [ZIP_ER_CHANGED]   The file data has been changed.

     [ZIP_ER_COMPNOTSUPP]
                        The compression method used is not supported.

     [ZIP_ER_ENCRNOTSUPP]
                        The encryption method used is not supported.

     [ZIP_ER_MEMORY]    Required memory could not be allocated.

     [ZIP_ER_NOPASSWD]  The file is encrypted, but no password has been pro-
                        vided.

     [ZIP_ER_READ]      A file read error occurred.

     [ZIP_ER_SEEK]      A file seek error occurred.

     [ZIP_ER_WRONGPASSWD]
                        The provided password does not match the password used
                        for encryption.  Note that some incorrect passwords
                        are not detected by the check done by zip_fopen().

     [ZIP_ER_ZLIB]      Initializing the zlib stream failed.

     The function zip_fopen() may also fail and set zip_err for any of the
     errors specified for the routine zip_name_locate(3).

     The function zip_fopen_index() may also fail with ZIP_ER_INVAL if index
     is invalid.


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

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

SEE ALSO
     libzip(3), zip_fclose(3), zip_fread(3), zip_fseek(3),
     zip_get_num_entries(3), zip_name_locate(3), zip_set_default_password(3)

HISTORY
     zip_fopen() and zip_fopen_index() 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