| <!DOCTYPE html> |
| <html> |
| <!-- This is an automatically generated file. Do not edit. |
| libzip.mdoc -- general overview of available functions |
| Copyright (C) 2005-2020 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. |
| --> |
| <head> |
| <meta charset="utf-8"/> |
| <link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/> |
| <title>LIBZIP(3)</title> |
| </head> |
| <body> |
| <table class="head"> |
| <tr> |
| <td class="head-ltitle">LIBZIP(3)</td> |
| <td class="head-vol">Library Functions Manual</td> |
| <td class="head-rtitle">LIBZIP(3)</td> |
| </tr> |
| </table> |
| <div class="manual-text"> |
| <section class="Sh"> |
| <h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> |
| <code class="Nm">libzip</code> — |
| <div class="Nd">library for manipulating zip archives</div> |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1> |
| libzip (-lzip) |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> |
| <code class="In">#include <<a class="In">zip.h</a>></code> |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> |
| <code class="Nm">libzip</code> is a library for reading, creating, and modifying |
| zip archives. |
| <p class="Pp">The main design criteria for <code class="Nm">libzip</code> |
| were:</p> |
| <ul class="Bl-bullet Bl-compact"> |
| <li>Do not create corrupt files, even in case of errors.</li> |
| <li>Do not delete data.</li> |
| <li>Be efficient.</li> |
| </ul> |
| <p class="Pp">For this reason, when modifying zip archives, |
| <code class="Nm">libzip</code> writes to a temporary file and replaces the |
| original zip archive atomically.</p> |
| <p class="Pp">Below there are two sections listing functions: one for how to |
| read from zip archives and one for how to create/modify them.</p> |
| <section class="Ss"> |
| <h2 class="Ss" id="THREAD_SAFETY"><a class="permalink" href="#THREAD_SAFETY">THREAD |
| SAFETY</a></h2> |
| In general, different zip archives opened by <code class="Nm">libzip</code> are |
| independent of each other and can be used by parallel-running threads without |
| locking. If you want to use an archive from multiple threads, you have to |
| synchronize access to it yourself. If you use an archive as a source for |
| <a class="Xr" href="zip_file_add.html">zip_file_add(3)</a> or |
| <a class="Xr" href="zip_file_replace.html">zip_file_replace(3)</a>, access to |
| the target archive must be synchronized with access to the source archive as |
| well. |
| </section> |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="READING_ZIP_ARCHIVES"><a class="permalink" href="#READING_ZIP_ARCHIVES">READING |
| ZIP ARCHIVES</a></h1> |
| <section class="Ss"> |
| <h2 class="Ss" id="open_archive"><a class="permalink" href="#open_archive">open |
| archive</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_open.html">zip_open(3)</a></li> |
| <li><a class="Xr" href="zip_fdopen.html">zip_fdopen(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="find_files"><a class="permalink" href="#find_files">find |
| files</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_name_locate.html">zip_name_locate(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="read_files"><a class="permalink" href="#read_files">read |
| files</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_fopen.html">zip_fopen(3)</a></li> |
| <li><a class="Xr" href="zip_fopen_encrypted.html">zip_fopen_encrypted(3)</a></li> |
| <li><a class="Xr" href="zip_fopen_index.html">zip_fopen_index(3)</a></li> |
| <li><a class="Xr" href="zip_fopen_index_encrypted.html">zip_fopen_index_encrypted(3)</a></li> |
| <li><a class="Xr" href="zip_fread.html">zip_fread(3)</a></li> |
| <li><a class="Xr" href="zip_fseek.html">zip_fseek(3)</a> (uncompressed files |
| only)</li> |
| <li><a class="Xr" href="zip_ftell.html">zip_ftell(3)</a> (uncompressed files |
| only)</li> |
| <li><a class="Xr" href="zip_fclose.html">zip_fclose(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="close_archive"><a class="permalink" href="#close_archive">close |
| archive</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_close.html">zip_close(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="miscellaneous"><a class="permalink" href="#miscellaneous">miscellaneous</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_stat.html">zip_stat(3)</a></li> |
| <li><a class="Xr" href="zip_compression_method_supported.html">zip_compression_method_supported(3)</a></li> |
| <li><a class="Xr" href="zip_encryption_method_supported.html">zip_encryption_method_supported(3)</a></li> |
| <li><a class="Xr" href="zip_file_get_comment.html">zip_file_get_comment(3)</a></li> |
| <li><a class="Xr" href="zip_file_get_external_attributes.html">zip_file_get_external_attributes(3)</a></li> |
| <li><a class="Xr" href="zip_get_archive_comment.html">zip_get_archive_comment(3)</a></li> |
| <li><a class="Xr" href="zip_get_archive_flag.html">zip_get_archive_flag(3)</a></li> |
| <li><a class="Xr" href="zip_get_name.html">zip_get_name(3)</a></li> |
| <li><a class="Xr" href="zip_get_num_entries.html">zip_get_num_entries(3)</a></li> |
| <li><a class="Xr" href="zip_set_default_password.html">zip_set_default_password(3)</a></li> |
| </ul> |
| </section> |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="CREATING/MODIFYING_ZIP_ARCHIVES"><a class="permalink" href="#CREATING/MODIFYING_ZIP_ARCHIVES">CREATING/MODIFYING |
| ZIP ARCHIVES</a></h1> |
| <section class="Ss"> |
| <h2 class="Ss" id="create/open_archive"><a class="permalink" href="#create/open_archive">create/open |
| archive</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_open.html">zip_open(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="add/change_files_and_directories"><a class="permalink" href="#add/change_files_and_directories">add/change |
| files and directories</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_dir_add.html">zip_dir_add(3)</a></li> |
| <li><a class="Xr" href="zip_file_add.html">zip_file_add(3)</a></li> |
| <li><a class="Xr" href="zip_file_replace.html">zip_file_replace(3)</a></li> |
| <li><a class="Xr" href="zip_file_set_comment.html">zip_file_set_comment(3)</a></li> |
| <li><a class="Xr" href="zip_file_set_dostime.html">zip_file_set_dostime(3)</a></li> |
| <li><a class="Xr" href="zip_file_set_external_attributes.html">zip_file_set_external_attributes(3)</a></li> |
| <li><a class="Xr" href="zip_file_set_encryption.html">zip_file_set_encryption(3)</a></li> |
| <li><a class="Xr" href="zip_file_set_mtime.html">zip_file_set_mtime(3)</a></li> |
| <li><a class="Xr" href="zip_set_file_compression.html">zip_set_file_compression(3)</a></li> |
| <li><a class="Xr" href="zip_source_buffer.html">zip_source_buffer(3)</a></li> |
| <li><a class="Xr" href="zip_source_file.html">zip_source_file(3)</a></li> |
| <li><a class="Xr" href="zip_source_filep.html">zip_source_filep(3)</a></li> |
| <li><a class="Xr" href="zip_source_free.html">zip_source_free(3)</a></li> |
| <li><a class="Xr" href="zip_source_function.html">zip_source_function(3)</a></li> |
| <li><a class="Xr" href="zip_source_zip.html">zip_source_zip(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="rename_files"><a class="permalink" href="#rename_files">rename |
| files</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_rename.html">zip_rename(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="delete_files"><a class="permalink" href="#delete_files">delete |
| files</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_delete.html">zip_delete(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="revert_changes"><a class="permalink" href="#revert_changes">revert |
| changes</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_unchange.html">zip_unchange(3)</a></li> |
| <li><a class="Xr" href="zip_unchange_all.html">zip_unchange_all(3)</a></li> |
| <li><a class="Xr" href="zip_unchange_archive.html">zip_unchange_archive(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="read/modify_extra_fields"><a class="permalink" href="#read/modify_extra_fields">read/modify |
| extra fields</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_file_extra_field_by_id.html">zip_file_extra_field_by_id(3)</a></li> |
| <li><a class="Xr" href="zip_file_extra_field_delete.html">zip_file_extra_field_delete(3)</a></li> |
| <li><a class="Xr" href="zip_file_extra_field_delete_by_id.html">zip_file_extra_field_delete_by_id(3)</a></li> |
| <li><a class="Xr" href="zip_file_extra_field_get.html">zip_file_extra_field_get(3)</a></li> |
| <li><a class="Xr" href="zip_file_extra_field_set.html">zip_file_extra_field_set(3)</a></li> |
| <li><a class="Xr" href="zip_file_extra_fields_count.html">zip_file_extra_fields_count(3)</a></li> |
| <li><a class="Xr" href="zip_file_extra_fields_count_by_id.html">zip_file_extra_fields_count_by_id(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="close_archive_(writing)"><a class="permalink" href="#close_archive_(writing)">close |
| archive (writing)</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_close.html">zip_close(3)</a></li> |
| <li><a class="Xr" href="zip_discard.html">zip_discard(3)</a></li> |
| </ul> |
| </section> |
| <section class="Ss"> |
| <h2 class="Ss" id="miscellaneous_(writing)"><a class="permalink" href="#miscellaneous_(writing)">miscellaneous |
| (writing)</a></h2> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_file_attributes_init.html">zip_file_attributes_init(3)</a></li> |
| <li><a class="Xr" href="zip_libzip_version.html">zip_libzip_version(3)</a></li> |
| <li><a class="Xr" href="zip_register_progress_callback_with_state.html">zip_register_progress_callback_with_state(3)</a></li> |
| <li><a class="Xr" href="zip_set_archive_comment.html">zip_set_archive_comment(3)</a></li> |
| <li><a class="Xr" href="zip_set_archive_flag.html">zip_set_archive_flag(3)</a></li> |
| <li><a class="Xr" href="zip_source.html">zip_source(3)</a></li> |
| </ul> |
| </section> |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="ERROR_HANDLING"><a class="permalink" href="#ERROR_HANDLING">ERROR |
| HANDLING</a></h1> |
| <ul class="Bl-bullet Bl-compact"> |
| <li><a class="Xr" href="zip_error_strerror.html">zip_error_strerror(3)</a></li> |
| <li><a class="Xr" href="zip_strerror.html">zip_strerror(3)</a></li> |
| <li><a class="Xr" href="zip_file_strerror.html">zip_file_strerror(3)</a></li> |
| <li><a class="Xr" href="zip_file_get_error.html">zip_file_get_error(3)</a></li> |
| <li><a class="Xr" href="zip_get_error.html">zip_get_error(3)</a></li> |
| <li><a class="Xr" href="zip_error_init_with_code.html">zip_error_init_with_code(3)</a></li> |
| <li><a class="Xr" href="zip_error_system_type.html">zip_error_system_type(3)</a></li> |
| <li><a class="Xr" href="zip_errors.html">zip_errors(3)</a></li> |
| </ul> |
| </section> |
| <section class="Sh"> |
| <h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> |
| <span class="An">Dieter Baron</span> |
| <<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>> and |
| <span class="An">Thomas Klausner</span> |
| <<a class="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>> |
| </section> |
| </div> |
| <table class="foot"> |
| <tr> |
| <td class="foot-date">September 15, 2020</td> |
| <td class="foot-os">NiH</td> |
| </tr> |
| </table> |
| </body> |
| </html> |