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

FreeBSD Manual Pages

  
 
  

home | help
ZIP_FILE_EXTRA_FIELD_GET(3) Library Functions ManuaZIP_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 se-
       lected extra field.  If lenp is not  NULL,  the	integer	 to  which  it
       points  will be set to the length of the	extra field.  Generally	speak-
       ing, 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 ar-
       guments are not provided).

       The following flags are supported:

	     ZIP_FL_CENTRAL	 Return	extra fields from the  archive's  cen-
				 tral directory.

	     ZIP_FL_LOCAL	 Return	extra fields from the local file head-
				 ers.

	     ZIP_FL_UNCHANGED	 Return	 the  original unchanged extra fields,
				 ignoring 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
       (Infozip	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) internally.

FreeBSD	Ports 14.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+14.3.quarterly>

home | help