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

FreeBSD Manual Pages


home | help
ZZIP_DISK_FOPEN(3)	     zziplib Function List	    ZZIP_DISK_FOPEN(3)

       zzip_disk_fopen,	zzip_disk_entry_fopen, zzip_disk_fread,
       zzip_disk_fclose, zzip_disk_feof	- openening a file part	wrapped	within
       a (mmapped) zip archive

       #include	<zzip/mmapped.h>

       zzip__new__ ZZIP_DISK_FILE *
						    zzip_disk_fopen((ZZIP_DISK * disk, char *filename));

       zzip__new__ ZZIP_DISK_FILE *
							  zzip_disk_entry_fopen((ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry));

				   zzip_disk_fread((void *ptr, zzip_size_t sized, zzip_size_t nmemb, ZZIP_DISK_FILE * file));

       int zzip_disk_fclose((ZZIP_DISK_FILE * file));

       int zzip_disk_feof((ZZIP_DISK_FILE * file));

       The zzip_disk_fopen function opens a file found by name,	so it does a
       search into the zip central directory with zzip_disk_findfile and
       whatever	is found first is given	to zzip_disk_entry_fopen

       the ZZIP_DISK_FILE* is rather simple in just encapsulating the
       arguments given to the zzip_disk_entry_fopen function plus a zlib
       deflate buffer. Note that the ZZIP_DISK pointer does already contain
       the full	mmapped	file area of a zip disk, so open()ing a	file part
       within that area	happens	to be a	lookup of its bounds and encoding.
       That information	is memorized on	the ZZIP_DISK_FILE so that subsequent
       _read() operations will be able to get the next data portion or return
       an eof condition	for that file part wrapped in the zip archive.

       The zzip_disk_fread function reads more bytes into the output buffer
       specified as arguments. The return value	is null	on eof or error, the
       stdio-like interface can	not distinguish	between	these so you need to
       check with zzip_disk_feof for the difference.

       The zzip_disk_fclose function releases any zlib decoder info needed for
       decompression and dumps the ZZIP_DISK_FILE* then.

       The zzip_disk_feof function allows to distinguish an error from an eof
       condition. Actually, if we found	an error but we	did already reach eof
       then we just keep on saying that	it was an eof, so the app can just

       o   Guido Draheim <>

       Copyright (c) 2003,2004,2006 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

zziplib				    0.13.62		    ZZIP_DISK_FOPEN(3)


Want to link to this manual page? Use this URL:

home | help