zzip_entry_data_offset (3) - Linux Manuals

zzip_entry_data_offset: helper functions for (fseeko) zip access api


zzip_entry_data_offset, zzip_entry_fread_file_header, zzip_entry_strdup_name - helper functions for (fseeko) zip access api


#include <zzip/fseeko.h>
zzip_off_t zzip_entry_data_offset((ZZIP_ENTRY entry));
static zzip_off_t zzip_entry_fread_file_header((ZZIP_ENTRY entry, struct zzip_file_header *file_header));
zzip__new__ char * zzip_entry_strdup_name((ZZIP_ENTRY entry));


The zzip_entry_data_offset functions returns the seekval offset of the data portion of the file referenced by the given zzip_entry. It requires an intermediate check of the file_header structure (i.e. it reads it from disk). After this call, the contained diskfile readposition is already set to the data_offset returned here. On error -1 is returned.

The zzip_entry_fread_file_header functions read the correspoding struct zzip_file_header from the zip disk of the given "entry". The returned off_t points to the end of the file_header where the current fseek pointer has stopped. This is used to immediatly parse out any filename/extras block following the file_header. The return value is null on error.

The zzip_entry_strdup_name function is a big helper despite its little name: in a zip file the encoded filenames are usually NOT zero-terminated but for common usage with libc we need it that way. Secondly, the filename SHOULD be present in the zip central directory but if not then we fallback to the filename given in the file_header of each compressed data portion.


• Guido Draheim <guidod [at] gmx.de>


Copyright (c) 2003,2004 Guido Draheim All rights reserved, use under the restrictions of the Lesser GNU General Public License or alternatively the restrictions of the Mozilla Public License 1.1