LIBZIP(3)

NAME
libzip - library for manipulating zip archives

LIBRARY
libzip (-lzip)

SYNOPSIS
#include <zip.h>

DESCRIPTION
libzip is a library for reading, creating, and modifying zip archives.

The main design criteria for libzip were:
•   Do not create corrupt files, even in case of errors.
•   Do not delete data.
•   Be efficient.

For this reason, when modifying zip archives, libzip writes to a temporary file and replaces the original zip archive atomically.

Below there are two sections listing functions: one for how to read from zip archives and one for how to create/modify them.

  THREAD SAFETY
In general, different zip archives opened by libzip 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 zip_file_add(3) or zip_file_replace(3), access to the target archive must be synchronized with access to the source archive as well.

READING ZIP ARCHIVES

  open archive
•   zip_open(3)
•   zip_fdopen(3)

  find files
•   zip_name_locate(3)

  read files
•   zip_fopen(3)
•   zip_fopen_encrypted(3)
•   zip_fopen_index(3)
•   zip_fopen_index_encrypted(3)
•   zip_fread(3)
•   zip_fseek(3) (uncompressed files only)
•   zip_ftell(3) (uncompressed files only)
•   zip_fclose(3)

  close archive
•   zip_close(3)

  miscellaneous
•   zip_stat(3)
•   zip_compression_method_supported(3)
•   zip_encryption_method_supported(3)
•   zip_file_get_comment(3)
•   zip_file_get_external_attributes(3)
•   zip_get_archive_comment(3)
•   zip_get_archive_flag(3)
•   zip_get_name(3)
•   zip_get_num_entries(3)
•   zip_set_default_password(3)

CREATING/MODIFYING ZIP ARCHIVES

  create/open archive
•   zip_open(3)

  add/change files and directories
•   zip_dir_add(3)
•   zip_file_add(3)
•   zip_file_replace(3)
•   zip_file_set_comment(3)
•   zip_file_set_dostime(3)
•   zip_file_set_external_attributes(3)
•   zip_file_set_encryption(3)
•   zip_file_set_mtime(3)
•   zip_set_file_compression(3)
•   zip_source_buffer(3)
•   zip_source_file(3)
•   zip_source_filep(3)
•   zip_source_free(3)
•   zip_source_function(3)
•   zip_source_zip(3)

  rename files
•   zip_rename(3)

  delete files
•   zip_delete(3)

  revert changes
•   zip_unchange(3)
•   zip_unchange_all(3)
•   zip_unchange_archive(3)

  read/modify extra fields
•   zip_file_extra_field_by_id(3)
•   zip_file_extra_field_delete(3)
•   zip_file_extra_field_delete_by_id(3)
•   zip_file_extra_field_get(3)
•   zip_file_extra_field_set(3)
•   zip_file_extra_fields_count(3)
•   zip_file_extra_fields_count_by_id(3)

  close archive (writing)
•   zip_close(3)
•   zip_discard(3)

  miscellaneous (writing)
•   zip_file_attributes_init(3)
•   zip_libzip_version(3)
•   zip_register_cancel_callback_with_state(3)
•   zip_register_progress_callback_with_state(3)
•   zip_set_archive_comment(3)
•   zip_set_archive_flag(3)
•   zip_source(3)

ERROR HANDLING
•   zip_error_strerror(3)
•   zip_strerror(3)
•   zip_file_strerror(3)
•   zip_file_get_error(3)
•   zip_get_error(3)
•   zip_error_init_with_code(3)
•   zip_error_system_type(3)
•   zip_errors(3)

AUTHORS
-nosplit Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>