ZIP_SOURCE_WIN32HANDLE(3) Library Functions Manual ZIP_SOURCE_WIN32HANDLE(3)

zip_source_win32handle, zip_source_win32handle_createcreate data source from a Windows file handle

libzip (-lzip)

#include <zip.h>

zip_source_t *
zip_source_win32handle(zip_t *archive, HANDLE h, zip_uint64_t start, zip_int64_t len);

zip_source_t *
zip_source_win32handle_create(HANDLE h, zip_uint64_t start, zip_int64_t len, zip_error_t *error);

The functions () and () create a zip source from a Windows file handle. They 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 () or ().

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_w32handle() and zip_source_w32handle_create() fail if:

[]
h, 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_win32a(3), zip_source_win32w(3)

zip_source_win32handle() and zip_source_win32handle_create() were added in libzip 1.0.

Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>

May 14, 2024 Linux 6.11.5-arch1-1