ZIP_SOURCE_FILE(3)

NAME
zip_source_file, zip_source_file_create - create data source from a file

LIBRARY
libzip (-lzip)

SYNOPSIS
#include <zip.h>

zip_source_t *
zip_source_file(zip_t *archive, const char *fname, zip_uint64_t start, zip_int64_t len);

zip_source_t *
zip_source_file_create(const char *fname, zip_uint64_t start, zip_int64_t len, zip_error_t *error);

DESCRIPTION
The functions zip_source_file() and zip_source_file_create() create a zip source from a file. They open fname and read len bytes from offset start from it. If len is 0 or -1, the whole file (starting from start) is used.

If the file supports seek, the source can be used to open a zip archive from.

The file is opened and read when the data from the source is used, usually by zip_close() or zip_open_from_source().

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_file() and zip_source_file_create() fail if:

[ZIP_ER_INVAL]
    fname, start, or len are invalid.

[ZIP_ER_MEMORY]
    Required memory could not be allocated.

[ZIP_ER_OPEN]
    Opening fname failed.

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

HISTORY
zip_source_file() and zip_source_file_create() were added in libzip 1.0.

AUTHORS
Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>