Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

zip_source_buffer_fragment (3)

Name

zip_source_buffer_fragment - create zip data source from multiple buffer

Synopsis

#include <zip.h>

zip_source_t *
zip_source_buffer_fragment(zip_t *archive,
zip_buffer_fragment_t *fragments, zip_uint64_t nfragments,
int freep);

zip_source_t *
zip_source_buffer_fragment_create(zip_buffer_fragment_t *fragments,
zip_uint64_t nfragments, int freep, zip_error_t *error);

Description

ZIP_SOURCE_BUFFER_FRA... BSD Library Functions Manual ZIP_SOURCE_BUFFER_FRA...

NAME
     zip_source_buffer_fragment, zip_source_buffer_fragment_create -- create
     zip data source from multiple buffer

LIBRARY
     libzip (-lzip)

SYNOPSIS
     #include <zip.h>

     zip_source_t *
     zip_source_buffer_fragment(zip_t *archive,
         zip_buffer_fragment_t *fragments, zip_uint64_t nfragments,
         int freep);

     zip_source_t *
     zip_source_buffer_fragment_create(zip_buffer_fragment_t *fragments,
         zip_uint64_t nfragments, int freep, zip_error_t *error);

DESCRIPTION
     The functions zip_source_buffer_fragment() and
     zip_source_buffer_fragment_create() create a zip source from the data in
     fragments.  nfragments specifies the number of fragments.  If freep is
     non-zero, the data will be freed when it is no longer needed.

     struct zip_stat {
         zip_uint8_t *data;    /* pointer to the actual data */
         zip_uint64_t length;  /* length of this fragment */
     };

     The data fragments point to must remain valid for the lifetime of the
     created source.  fragments itself can be discarded once the source is
     created.

     The source can be used to open a zip archive from.

RETURN VALUES
     Upon successful completion, the created source is returned.  Otherwise,
     NULL is returned and the error code in archive or error is set to indi-
     cate the error.

ERRORS
     zip_source_buffer() and zip_source_buffer_create() fail if:

     [ZIP_ER_INVAL]     nfragments is greater than zero and fragments is NULL.

     [ZIP_ER_MEMORY]    Required memory could not be allocated.


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

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

SEE ALSO
     libzip(3), zip_file_add(3), zip_file_replace(3), zip_open_from_source(3),
     zip_source(3)

HISTORY
     zip_source_buffer_fragment() and zip_source_buffer_fragment_create() were
     added in libzip 1.4.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