ZIP_SOURCE_WIN32HANDLE(3)

ZIP_SOURCE_WIN32HANDLE(3) | Library Functions Manual | ZIP_SOURCE_WIN32HANDLE(3)

# NAME

zip_source_win32handle, zip_source_win32handle_create — create data source from a Windows file handle

# LIBRARY

libzip (-lzip)

# SYNOPSIS

#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);

# DESCRIPTION

The functions zip_source_win32handle() and zip_source_win32handle_create() create a zip source from a Windows file handle. 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_w32handle() and zip_source_w32handle_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_add(3), zip_replace(3), zip_source(3), zip_source_win32a(3), zip_source_win32w(3)

# HISTORY

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

# AUTHORS

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

December 18, 2017 | NetBSD 8.99.14