.\" zip_source.mdoc -- description of zip data source
.\" Copyright (C) 2014 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 October 24, 2015
.Dt ZIP_SOURCE 3
.Os
.Sh NAME
.Nm zip_source
.Nd zip data source structure
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Vt zip_source_t *zs ;
.Sh DESCRIPTION
A
.Vt struct zip_source
is a data source used by
.Xr libzip 3
for adding or replacing file contents for a file in a zip archive.
If the source supports seeking, it can also be used to open zip archives from.
It is created by calling one of
.Xr zip_source_buffer 3 ,
.Xr zip_source_buffer_create 3 ,
.Xr zip_source_file 3 ,
.Xr zip_source_file_create 3 ,
.Xr zip_source_filep 3 ,
.Xr zip_source_filep_create 3 ,
.Xr zip_source_function 3 ,
.Xr zip_source_function_create 3 ,
or
.Xr zip_source_zip 3 .
.Vt zip_source_t
is reference counted, and created with a reference count of 1.
.Xr zip_open_from_source 3 ,
.Xr zip_file_add 3 ,
and
.Xr zip_file_replace 3
will decrement the reference count of the
.Vt zip_source_t
when they are done using it, so
.Xr zip_source_free 3
only needs to be called when these functions return an error.
Use
.Xr zip_source_keep 3
to increase the reference count, for example if you need the source after
.Xr zip_close 3 .
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_source_buffer 3 ,
.Xr zip_source_file 3 ,
.Xr zip_source_filep 3 ,
.Xr zip_source_free 3 ,
.Xr zip_source_function 3 ,
.Xr zip_source_zip 3
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq Mt dillo@nih.at
and
.An Thomas Klausner Aq Mt tk@giga.or.at
