ZIP_SOURCE_BUFFER_FRAGMENT(3) Introduction to Library Functions

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

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 <wiz@gatalith.at>

illumos December 18, 2017 illumos

tribblix@gmail.com :: GitHub :: Privacy