.\" zip_source_win32w.mdoc -- create data source using a win32 Unicode name
.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner
.\"
.\" This file is part of libzip, a library to manipulate ZIP archives.
.\" The authors can be contacted at <libzip@nih.at>
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in
.\"    the documentation and/or other materials provided with the
.\"    distribution.
.\" 3. The names of the authors may not be used to endorse or promote
.\"    products derived from this software without specific prior
.\"    written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd June 22, 2018
.Dt ZIP_SOURCE_WIN32W 3
.Os
.Sh NAME
.Nm zip_source_win32w ,
.Nm zip_source_win32w_create
.Nd create data source from a Windows Unicode file name
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft zip_source_t *
.Fn zip_source_win32w "zip_t *archive" "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len"
.Ft zip_source_t *
.Fn zip_source_win32w_create "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error"
.Sh DESCRIPTION
The functions
.Fn zip_source_win32w
and
.Fn zip_source_win32w_create
create a zip source on Windows using a Windows Unicode name.
They open
.Ar fname
and read
.Ar len
bytes from offset
.Ar start
from it.
If
.Ar len
is 0 or \-1, the whole file (starting from
.Ar start )
is used.
.Pp
If the file supports seek, the source can be used to open a zip archive from.
.Pp
The file is opened and read when the data from the source is used, usually by
.Fn zip_close
or
.Fn zip_open_from_source .
.Sh RETURN VALUES
Upon successful completion, the created source is returned.
Otherwise,
.Dv NULL
is returned and the error code in
.Ar archive
or
.Ar error
is set to indicate the error.
.Sh ERRORS
.Fn zip_source_win32w
and
.Fn zip_source_win32w_create
fail if:
.Bl -tag -width Er
.It Bq Er ZIP_ER_INVAL
.Ar fname ,
.Ar start ,
or
.Ar len
are invalid.
.It Bq Er ZIP_ER_MEMORY
Required memory could not be allocated.
.It Bq Er ZIP_ER_OPEN
Opening
.Ar fname
failed.
.El
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_file_add 3 ,
.Xr zip_file_replace 3 ,
.Xr zip_source 3 ,
.Xr zip_source_win32a 3 ,
.Xr zip_source_win32handle 3
.Sh HISTORY
.Fn zip_source_win32w
was added in libzip 1.0.
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq Mt dillo@nih.at
and
.An Thomas Klausner Aq Mt tk@giga.or.at
