zip_source_function man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

ZIP_SOURCE_FUNCTION(3)	   Library Functions Manual	ZIP_SOURCE_FUNCTION(3)

NAME
       zip_source_function - create data source from function

LIBRARY
       libzip (-lzip)

SYNOPSIS
       #include <zip.h>

       struct zip_source *
       zip_source_function(struct zip *archive, zip_source_callback fn, void
       *userdata);

DESCRIPTION
       The function zip_source_function() creates a zip source from the user-
       provided function fn, which must be of the following type:

       typedef zip_int64_t (*zip_source_callback)(void *state,
	   void *data, zip_uint64_t len, enum zip_source_cmd cmd);

       When called by the library, the first argument is the userdata argument
       supplied to zip_source_function().  The next two arguments are a buffer
       data of size len when data is expected to be returned, or else NULL and
       0.  The last argument, cmd, specifies which action the function should
       perform:

	     ZIP_SOURCE_OPEN	  Prepare for reading.	Return 0 on success,
				  -1 on error.

	     ZIP_SOURCE_READ	  Read data into the buffer data of size len.
				  Return the number of bytes placed into data
				  on success, -1 on error.

	     ZIP_SOURCE_CLOSE	  Reading is done.  Return 0.

	     ZIP_SOURCE_STAT	  Get meta information for the input data.
				  data points to an allocated struct zip_stat,
				  which should be initialized using
				  zip_stat_init(3) and then filled in.
				  Information only available after the source
				  has been read (e.g. size) can be omitted in
				  an earlier call.  Return sizeof(struct
				  zip_stat) on success, -1 on error.  NOTE:
				  zip_source_function() may be called with
				  this argument even after being called with
				  ZIP_SOURCE_CLOSE.

	     ZIP_SOURCE_ERROR	  Get error information.  data points to an
				  array of two ints, which should be filled
				  with the libzip error code and the
				  corresponding system error code for the
				  error that occurred.	See zip_errors(3) for
				  details on the error codes.  Return return(2
				  * sizeof(int)).

	     ZIP_SOURCE_FREE	  Clean up and free all resources.  Return 0.

       The library will always issue ZIP_SOURCE_OPEN before issuing
       ZIP_SOURCE_READ.	 When it no longer wishes to read from this source, it
       will issue ZIP_SOURCE_CLOSE.  If the library wishes to read the data
       again, it will issue ZIP_SOURCE_OPEN a second time.  If the function is
       unable to provide the data again, it should return -1.

       ZIP_SOURCE_STAT can be issued at any time.  ZIP_SOURCE_ERROR will only
       be issued in response to the function returning -1.  ZIP_SOURCE_FREE
       will be the last command issued; if ZIP_SOURCE_OPEN was called and
       succeeded, ZIP_SOURCE_CLOSE will be called before ZIP_SOURCE_FREE.

RETURN VALUES
       Upon successful completion, the created source is returned.  Otherwise,
       NULL is returned and the error code in archive is set to indicate the
       error.

ERRORS
       zip_source_function() fails if:

       [ZIP_ER_MEMORY]	  Required memory could not be allocated.

SEE ALSO
       libzip(3), zip_add(3), zip_replace(3), zip_source_buffer(3),
       zip_source_file(3), zip_source_filep(3), zip_source_free(3),
       zip_source_zip(3), zip_stat_init(3)

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

NiH			      September 22, 2013	ZIP_SOURCE_FUNCTION(3)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net