ZIP_SOURCE_ZIP_FILE(3) Introduction to Library Functions
NAME
zip_source_zip_file,
zip_source_zip_file_create - create data source
from zip file
LIBRARY
libzip (-lzip)
SYNOPSIS
#include <zip.h> zip_source_t * zip_source_zip_file(
zip_t *archive,
zip_t *srcarchive,
zip_uint64_t srcidx,
zip_flags_t flags,
zip_uint64_t start,
zip_int64_t length,
const char *password);
zip_source_t * zip_source_zip_file_create(
zip_t *srcarchive,
zip_uint64_t srcidx,
zip_flags_t flags,
zip_uint64_t start,
zip_int64_t length,
const char *password,
zip_error_t *error);
DESCRIPTION
The functions
zip_source_zip_file() and
zip_source_zip_file_create()
create a zip source from a file in a zip archive. The
srcarchive argument is the (open) zip archive containing the source zip file at
index
srcidx.
length bytes from offset
start will be used in the
zip_source. If
length is -1, the rest of the file, starting from
start, is used.
If you intend to copy a file from one archive to another, using the
flag ZIP_FL_COMPRESSED is more efficient, as it avoids recompressing
the file data.
Supported flags are:
ZIP_FL_COMPRESSED Get the compressed data. This is only supported
if the complete file data is requested (
start ==
0 and
length == -1). This is not supported for
changed data. Default is uncompressed.
ZIP_FL_ENCRYPTED Get the encrypted data. (This flag implies
ZIP_FL_COMPRESSED.) This is only supported if the
complete file data is requested (
start == 0 and
length == -1). Default is decrypted.
ZIP_FL_UNCHANGED Try to get the original data without any changes
that may have been made to
srcarchive after
opening it.
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_zip_file() and
zip_source_zip_file_create() fail if:
[ZIP_ER_CHANGED] Unchanged data was requested, but it is not
available.
[ZIP_ER_INVAL]
srcarchive,
srcidx,
start, or
length are invalid.
[ZIP_ER_MEMORY] Required memory could not be allocated.
Additionally, it can return all error codes from
zip_stat_index() and
zip_fopen_index().
SEE ALSO
libzip(3),
zip_file_add(3),
zip_file_replace(3),
zip_source(3)HISTORY
zip_source_zip_file() and
zip_source_zip_file_create() were added in
libzip 1.10.0.
AUTHORS
Dieter Baron <
dillo@nih.at> and Thomas Klausner <
wiz@gatalith.at>
illumos March 10, 2023 illumos