.\" Converted with mdoc2man 0.2
.\" from NiH: libzip.mdoc,v 1.8 2006/04/23 16:37:38 wiz Exp 
.\" $NiH: libzip.mdoc,v 1.8 2006/04/23 16:37:38 wiz Exp $
.\"
.\" libzip.mdoc \-- general overview of available functions
.\" Copyright (C) 2005, 2006 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.
.\"
.TH LIBZIP 3 "April 23, 2006" NiH
.SH "NAME"
libzip \- library for manipulating zip archives
.SH "LIBRARY"
libzip (-lzip)
.SH "SYNOPSIS"
#include <zip.h>
.SH "DESCRIPTION"
.B libzip
is a library for reading, creating, and modifying zip archives.
.PP
Below there are two sections listing functions: one for how to read
from zip archives and one for how to create/modify them.
.SH "READING ZIP ARCHIVES"
.SS "open archive"
zip_open(3)
.SS "find files"
zip_name_locate(3)
.SS "read files"
zip_fopen(3)
zip_fopen_index(3)
zip_fread(3)
zip_fclose(3)
.SS "close archive"
zip_close(3)
.SS "miscellaneous"
zip_stat(3)
zip_get_archive_comment(3)
zip_get_file_comment(3)
zip_get_name(3)
zip_get_num_files(3)
.SH "CREATING/MODIFYING ZIP ARCHIVES"
.SS "create/open archive"
zip_open(3)
.SS "add/change files"
zip_add(3)
zip_replace(3)
zip_set_file_comment(3)
zip_source_buffer(3)
zip_source_file(3)
zip_source_filep(3)
zip_source_function(3)
zip_source_zip(3)
zip_source_free(3)
.SS "rename files"
zip_rename(3)
.SS "delete files"
zip_delete(3)
.SS "revert changes"
zip_unchange(3)
zip_unchange_all(3)
zip_unchange_archive(3)
.SS "close archive"
zip_close(3)
.SS "miscellaneous"
zip_set_archive_comment(3)
.SH "ERROR HANDLING"
zip_error_to_str(3)
zip_strerror(3)
zip_file_strerror(3)
zip_error_get(3)
zip_error_get_sys_type(3)
zip_errors(3)
.SH "AUTHORS"

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