From 553ae4df24322a4fb019c63b81e98093f2b1a6a2 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Mon, 22 Feb 2016 06:41:00 +0000 Subject: libs/zziplib: New convention git-svn-id: svn://tug.org/texlive/trunk@39816 c570f23f-e606-0410-a88d-b1316a301751 --- .../libs/zziplib/zziplib-src/docs/zzip-zip.htm | 146 +++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 Build/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm (limited to 'Build/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm') diff --git a/Build/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm b/Build/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm new file mode 100644 index 00000000000..141700044a5 --- /dev/null +++ b/Build/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm @@ -0,0 +1,146 @@ +
1. June 2000 +

ZIP Access

Accessing Zip Archives with ZLib Decompression + + + +
+

The Library

+ +

+ The zziplib library offers users the + ability to easily extract data from files archived in a single + zip file. This way, programs that use many "read-only" files from + a program specific source directory can have a single zip + archive +

+

+ This library offers only a (free) subset of compression methods + provided in a full implementation but that is well enough. The + idea here is that zip/unzip utilities can be used + to create archives that will later be read by using this library. + Yet those programmes (or a library with their functionality) + is not needed in that final operation. +

+ +
+

Using A Zip-File

+ +

+ Before a file in the zip-archive is accessed, the application + must first get a handle to the central directory contained in the + zip-file. This is achived by calling + zzip_dir_open + or + zzip_dir_fdopen . + The directory entries in the zip-archives can be obtained + with + zzip_dir_read . + After being done, the zip-dir handle should be closed with + zzip_dir_close . +

+

 ZZIP_DIR* dir = zzip_dir_open("test.zip",0);
+ if (dir) {
+   ZZIP_DIRENT dirent;
+   if (zzip_dir_read(dir,&dirent) {
+     /* show info for first file */
+     print("%s %i/%i", dirent.d_name, dirent.d_csize, dirent.st_size);
+   }
+   zzip_dir_close(dir);
+ }
+

+

+ From the zip-dir handle a compressed file can be opened + for reading. This is achieved by using + zzip_file_open + and providing it with the dir-handle and a name of the file. + The function + zzip_file_read + is used to get pieces of uncompressed data from the file, and + the file-handle should be closed with + zzip_file_close +

+

 ZZIP_FILE* fp = zzip_file_open(dir,"README",0);
+ if (fp) {
+   char buf[10];
+   zzip_ssize_t len = zzip_file_read(fp, buf, 10);
+   if (len) {
+     /* show head of README */
+     write(1, buf, len); 
+   }
+   zzip_file_close(fp);
+ } 
+

+ +
+

Magic Zipped Files

+ +

+ There is actually no need to directly use the zip-centric functions + as described above. Instead there are magic replacements for the + posix calls open/read/close and + opendir/readdir/closedir. The prototypes of these + functions had been the guideline for the design of their magic + counterparts of the + zziplib library. +

+

+ The magic functions are described in a seperated document on + Using Zipped Files . In general, + the functions have a prefix zzip_ and their argument + types have a prefix ZZIP_ where appropriate. Calls + to the magic functions and the direct functions above can + be mixed as long as the magic functions have not been opening + a real file. +

+

+ To detect a real file (or directory), the info functions + zzip_file_real + and + zzip_dir_real + can be used. + If these return a true value, the standard posix functions + are more apropriate. The posix handles can be obtained with + a call to + zzip_realdir and + zzip_realfd respectivly. +

+ +
+

Errors & Infos

+ +

+ There are a set of error and info functions available. To handle + error conditions specific to the + zziplib library + there are these functions: + zzip_error , + zzip_seterror + and their string representations with + zzip_strerror , + zzip_strerror_of . + The magic functions will map any of these specific library + error conditions to the more generic system errno + codes with + zzip_errno . +

+

+ More information on stream can be obtained with + zzip_dir_stat and + zzip_dirhandle. + The latter is used to obtain the dir-handle that every zipped file + handle has even if not explicitly opened. +

+

+ The usage of many functions are shown in the example programs + that come along with the + zziplib library. See the files + zzcat.c and + zzdir.c . The + zziptest.c program needs the + private header file + zzip.h whereas the library installer + will only copy the public include file + zziplib.h to your system's + include directory. +

+
-- cgit v1.2.3