Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

zip_fdopen (3)

Name

zip_fdopen - open zip archive using open file descriptor

Synopsis

#include <zip.h>

zip_t *
zip_fdopen(int fd, int flags, int *errorp);

Description

ZIP_FDOPEN(3)            BSD Library Functions Manual            ZIP_FDOPEN(3)

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 val-
     ues, 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 corre-
     sponding 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.


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_open(3)

HISTORY
     zip_fdopen() was 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