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

FreeBSD Manual Pages

  
 
  

home | help
ZIP_SOURCE(5)		      File Formats Manual		 ZIP_SOURCE(5)

NAME
       zip_source -- zip data source structure

LIBRARY
       libzip (-lzip)

SYNOPSIS
       #include	<zip.h>

       zip_source_t *source;

DESCRIPTION
       A  zip_source_t	represents a data source (or destination when used for
       writing).  libzip(3) uses it for	adding or replacing file contents  for
       a  file	in a zip archive.  If the source supports seeking, it can also
       be used to open zip archives from.

       Data   can   come   from	  a   file   on	  disk	  (zip_source_file(3),
       zip_source_file_create(3),	     zip_source_filep(3),	    or
       zip_source_filep_create(3)),	  memory	(zip_source_buffer(3),
       zip_source_buffer_create(3),	 zip_source_buffer_fragment(3),	    or
       zip_source_buffer_fragment_create(3)),  a  file	 inside	  an   archive
       (zip_source_zip(3)),    or    provided	 via   a   callback   function
       (zip_source_function(3)	     or	       zip_source_function_create(3)).
       zip_source_window(3)  or	 zip_source_window_create(3)  can  be used re-
       strict access to	a part of the contained	data.

       It can also be used as a	filter to process the data provided by an  un-
       derlying	 zip_source_t  (e.g.,  to  compress it or compute a checksum),
       created with zip_source_layered(3) or zip_source_layered_create(3)).

       Sources are freed with zip_source_free(3).

       Sources must support reading, and can optionally	 support  seeking  and
       writing.

       zip_source_t  is	 reference counted, and	created	with a reference count
       of     1.       zip_open_from_source(3),	     zip_file_add(3),	   and
       zip_file_replace(3) will	take ownership of the passed source (decrement
       the reference count when	they are done using it), so zip_source_free(3)
       only  needs to be called	when these functions return an error.  The un-
       derlying	data (file or buffer) must remain valid	until the  archive  is
       closed.	 Use  zip_source_keep(3)  to increase the reference count, for
       example if you need the source after zip_close(3).

SEE ALSO
       libzip(3),	   zip_source_buffer(3),	   zip_source_file(3),
       zip_source_filep(3),	zip_source_free(3),    zip_source_function(3),
       zip_source_keep(3), zip_source_window(3), zip_source_zip(3)

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

FreeBSD	ports 15.quarterly	  May 5, 2025			 ZIP_SOURCE(5)

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

home | help