.\" $NiH: zip_source_function.mdoc,v 1.1 2004/11/18 16:48:08 wiz Exp $
.\"
.\" zip_source_function.mdoc -- create data source from function
.\" Copyright (C) 2004 Dieter Baron and Thomas Klausner
.\"
.\" This file is part of libzip, a library to manipulate ZIP archives.
.\" The authors can be contacted at <nih@giga.or.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 November 4, 2004
.Dt ZIP_SOURCE_FUNCTION 3
.Os
.Sh NAME
.Nm zip_source_function
.Nd create data source from function
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft int
.Fn zip_source_function "struct zip *archive" "zip_read_func fn" "void *userdata"
.Sh DESCRIPTION
The function
.Fn zip_source_function
creates a zip source from an arbitrary given function
.Ar fn .
.Ar fn
is a user-supplied function of the following type:
.Bd -literal
typedef ssize_t (*zip_read_func)(void *state,
    void *data, size_t len, enum zip_cmd cmd);
.Ed
.Pp
.Ar fn
will be called by the library with the
.Fn zip_source
.Ar state
argument as the first argument, a buffer
.Ar data
of size
.Ar len
for the data as second and third arguments when actually
reading data, and
.Ar cmd
as the fourth argument.
.Ar cmd
can be any of the following:
.Bl -tag -width XZIPXCMDXCLOSEXX -offset indent
.It Dv ZIP_CMD_OPEN
Prepare for reading.
.It Dv ZIP_CMD_READ
Read data into the buffer
.Ar data
of size
.Ar len.
.It Dv ZIP_CMD_CLOSE
Reading is done, close the input file.
.It Dv ZIP_CMD_STAT
Get meta information for the input file.
.\" XXX: format?
.It Dv ZIP_CMD_ERROR
Get error information.
.\" XXX: more detail
.It Dv ZIP_CMD_FREE
Cleanup and free resources.
.\" XXX: more detail when this is called
.El
.El
.Sh RETURN VALUES
Upon successful completion, the created source is returned.
Otherwise,
.Dv NULL
is returned and the error code in
.Ar archive
is set to indicate the error.
.Sh ERRORS
.Fn zip_source_function
fails if:
.Bl -tag -width Er
.It Bq Er ZIP_ER_MEMORY
Required memory could not be allocated.
.El
.Sh SEE ALSO
.Xr zip_add 3 ,
.Xr zip_replace 3 ,
.Xr zip_source_buffer 3 ,
.Xr zip_source_file 3 ,
.Xr zip_source_filep 3 ,
.Xr zip_source_free 3 ,
.Xr zip_source_zip 3
