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

FreeBSD Manual Pages

  
 
  

home | help
ZIP_FILE_EXTRA_FIELD_GET(3)  Library Functions ManualZIP_FILE_EXTRA_FIELD_GET(3)

NAME
     zip_file_extra_field_get, zip_file_extra_field_get_by_id -- get extra field
     for file in zip

LIBRARY
     libzip (-lzip)

SYNOPSIS
     #include <zip.h>

     const zip_uint8_t *
     zip_file_extra_field_get(zip_t *archive, zip_uint64_t index,
	 zip_uint16_t extra_field_index, zip_uint16_t *idp, zip_uint16_t *lenp,
	 zip_flags_t flags);

     const zip_uint8_t *
     zip_file_extra_field_get_by_id(zip_t *archive, zip_uint64_t index,
	 zip_uint16_t extra_field_id, zip_uint16_t extra_field_index,
	 zip_uint16_t *lenp, zip_flags_t flags);

DESCRIPTION
     The  zip_file_extra_field_get() function returns the extra field with index
     extra_field_index for the file at position index in the zip archive.   This
     pointer  should  not  be  modified  or  free(3)'d, and becomes invalid when
     archive is closed.  If idp is not NULL, the integer to which it points will
     be set to the ID (two-byte signature) of the selected extra field.  If lenp
     is not NULL, the integer to which it points will be set to  the  length  of
     the  extra  field.  Generally speaking, lenp and idp should be passed since
     only the extra field data is returned (i.e., neither the ID nor the length,
     if the idp and lenp arguments are not provided).

     The following flags are supported:

	   ZIP_FL_CENTRAL      Return extra fields from  the  archive's  central
			       directory.

	   ZIP_FL_LOCAL        Return extra fields from the local file headers.

	   ZIP_FL_UNCHANGED    Return  the  original unchanged extra fields, ig-
			       noring any changes made.

     The zip_file_extra_field_get_by_id() function returns the extra field  with
     ID  (two-byte  signature)	extra_field_id	and  index extra_field_index (in
     other words, the extra_field_index'th extra field with  ID  extra_field_id)
     The other arguments are the same as for zip_file_extra_field_get().

RETURN VALUES
     Upon  successful  completion,  a  pointer to an extra field is returned, or
     NULL if there is no extra field with that extra_field_index  for  the  file
     with index index.	In case of an error, NULL is returned and the error code
     in archive is set to indicate the error.

ERRORS
     zip_file_extra_field_get() and zip_file_extra_field_get_by_id() fail if:

     [ZIP_ER_NOENT]	index	is  not  a  valid  file  index	in  archive,  or
			extra_field_index is not a valid extra file  index  (for
			ID extra_field_id).

SEE ALSO
     libzip(3),   zip_file_extra_field_delete(3),   zip_file_extra_field_set(3),
     zip_file_extra_fields_count(3)

HISTORY
     zip_file_extra_field_get() and zip_file_extra_field_get_by_id() were  added
     in libzip 0.11.

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

CAVEATS
     Please  note that the extra field IDs 0x0001 (ZIP64 extension), 0x6375 (In-
     fozip UTF-8 comment), and 0x7075 (Infozip UTF-8 file name) can not be  read
     using  zip_file_extra_field_get()	since  they are used by libzip(3) inter-
     nally.

FreeBSD ports 15.quarterly	December 18, 2017    ZIP_FILE_EXTRA_FIELD_GET(3)

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

home | help