ZIP_SOURCE_FILEP(3) Library Functions Manual ZIP_SOURCE_FILEP(3)

zip_source_filep, zip_source_filep_create
create data source from FILE *

libzip (-lzip)

#include <zip.h>
zip_source_t *
zip_source_filep(zip_t *archive, FILE *file, zip_uint64_t start, zip_int64_t len);
zip_source_t *
zip_source_filep_create(FILE *file, zip_uint64_t start, zip_int64_t len, zip_error_t *error);

The functions zip_source_filep() and zip_source_filep_create() create a zip source from a file stream. They read len bytes from offset start from the open file stream file. If len is 0 or -1, the whole file (starting from start) is used.
If the file stream supports seeking, the source can be used to open a read-only zip archive from.
The file stream is closed when the source is being freed, usually by zip_close(3).

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.

zip_source_filep() fails if:
 
 
[]
file, start, or len are invalid.
 
 
[]
Required memory could not be allocated.

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

zip_source_filep() and zip_source_filep_create() were added in libzip 1.0.

Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>
December 18, 2017 NetBSD 8.99.27