Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LIBZIP(3)		    Library Functions Manual		     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	tempo-
       rary 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.

GENERAL	NOTES
       Unless explicitly documented,  functions	 should	 not  be  passed  NULL
       pointers	as arguments.

FILE NAMES
   Encoding
       Names  of files in the host file	system are expected in UTF-8 encoding.
       On Windows, variants for	ASCII and UTF-16 are also available.

       Names of	files inside archives are by default expected in UTF-8	encod-
       ing.    Other   encodings   can	 be   requested	 by  using  the	 flags
       ZIP_FL_ENC_CP437	and ZIP_FL_ENC_RAW.

       For details see the relevant man	pages.

   Directory Separator
       The zip format requires the use of forward  slash  (`/')	 as  directory
       separator.   Since  backslash (`\') can be part of a valid file name on
       Unix systems, libzip does not automatically convert them, even on  Win-
       dows.   It  is  the responsibility of the programmer to ensure that all
       directory separators are	passed as forward slashes to libzip.

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 syn-
       chronize	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_file_is_seekable(3)
          zip_fseek(3)	(uncompressed files only)
          zip_ftell(3)
          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)
          zip_source_pass_to_lower_layer(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_layered(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_delete(3)
          zip_file_extra_field_delete_by_id(3)
          zip_file_extra_field_get(3)
          zip_file_extra_field_get_by_id(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_set(3)
          zip_error_set_from_source(3)
          zip_error_system_type(3)
          zip_errors(3)

AUTHORS
       Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>

FreeBSD	Ports 14.quarterly	August 21, 2024			     LIBZIP(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libzip&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help