You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gnucash/lib/libgsf-1.12.3/doc/html/gsf-Zip.html

1080 lines
36 KiB

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Zip</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="index.html" title="GSF Reference Manual">
<link rel="up" href="parsers.html" title="Stream Parsers">
<link rel="prev" href="gsf-XML-and-libxml.html" title="XML and libxml">
<link rel="next" href="gsf-Compression.html" title="Compression">
<meta name="generator" content="GTK-Doc V1.4 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="into.html" title="Part&#160;I.&#160;GSF Overview">
<link rel="part" href="api.html" title="Part&#160;II.&#160;API Reference">
<link rel="chapter" href="io.html" title="Basic Input/Output">
<link rel="chapter" href="sources.html" title="Stream Sources">
<link rel="chapter" href="parsers.html" title="Stream Parsers">
<link rel="chapter" href="misc.html" title="Miscellaneous">
<link rel="index" href="ix01.html" title="Index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="gsf-XML-and-libxml.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="parsers.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GSF Reference Manual</th>
<td><a accesskey="n" href="gsf-Compression.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry" lang="en">
<a name="gsf-Zip"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle">Zip</span></h2>
<p>Zip &#8212; </p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<a name="GsfInfileZip"></a><a name="GsfOutfileZip"></a><pre class="synopsis">
<a href="gsf-Zip.html#GsfInfileZip-struct">GsfInfileZip</a>;
<a href="gsf-Infile-reading-structed-files.html#GsfInfile">GsfInfile</a>* <a href="gsf-Zip.html#gsf-infile-zip-new">gsf_infile_zip_new</a> (<a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a> *source,
GError **err);
<a href="gsf-Zip.html#GsfOutfileZip-struct">GsfOutfileZip</a>;
<a href="gsf-Outfile-writing-structed-files.html#GsfOutfile">GsfOutfile</a>* <a href="gsf-Zip.html#gsf-outfile-zip-new">gsf_outfile_zip_new</a> (<a href="gsf-Output-to-unstructured-files.html#GsfOutput">GsfOutput</a> *sink,
GError **err);
gboolean <a href="gsf-Zip.html#gsf-outfile-zip-set-compression-method">gsf_outfile_zip_set_compression_method</a>
(<a href="gsf-Zip.html#GsfOutfileZip">GsfOutfileZip</a> *zip,
<a href="gsf-Zip.html#GsfZipCompressionMethod">GsfZipCompressionMethod</a> method);
<a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a>;
<a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a>* <a href="gsf-Zip.html#gsf-zip-dirent-new">gsf_zip_dirent_new</a> (void);
void <a href="gsf-Zip.html#gsf-zip-dirent-free">gsf_zip_dirent_free</a> (<a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a> *dirent);
<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a>;
void <a href="gsf-Zip.html#gsf-vdir-free">gsf_vdir_free</a> (<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a> *vdir,
gboolean free_dirent);
<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a>* <a href="gsf-Zip.html#gsf-vdir-new">gsf_vdir_new</a> (char const *name,
gboolean is_directory,
<a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a> *dirent);
void <a href="gsf-Zip.html#gsf-vdir-add-child">gsf_vdir_add_child</a> (<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a> *vdir,
<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a> *child);
#define <a href="gsf-Zip.html#ZIP-DIRENT-USIZE:CAPS">ZIP_DIRENT_USIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-OFFSET:CAPS">ZIP_DIRENT_OFFSET</a>
enum <a href="gsf-Zip.html#GsfZipCompressionMethod">GsfZipCompressionMethod</a>;
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-NAME-SIZE:CAPS">ZIP_FILE_HEADER_NAME_SIZE</a>
#define <a href="gsf-Zip.html#ZZIP-IS-STREAMED:CAPS">ZZIP_IS_STREAMED</a> (p)
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-EXTRACT:CAPS">ZIP_FILE_HEADER_EXTRACT</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-SIZE:CAPS">ZIP_TRAILER_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-TIME:CAPS">ZIP_HEADER_TIME</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-SIZE:CAPS">ZIP_FILE_HEADER_SIZE</a>
#define <a href="gsf-Zip.html#ZZIP-IS-ENCRYPTED:CAPS">ZZIP_IS_ENCRYPTED</a> (p)
#define <a href="gsf-Zip.html#ZIP-HEADER-VERSION:CAPS">ZIP_HEADER_VERSION</a>
#define <a href="gsf-Zip.html#ZIP-BUF-SIZE:CAPS">ZIP_BUF_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-CRC32:CAPS">ZIP_DIRENT_CRC32</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-COMP-SIZE:CAPS">ZIP_HEADER_COMP_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-COMPR-METHOD:CAPS">ZIP_DIRENT_COMPR_METHOD</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-FILE-TYPE:CAPS">ZIP_DIRENT_FILE_TYPE</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-EXTRAS-SIZE:CAPS">ZIP_FILE_HEADER_EXTRAS_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-EXTRACT:CAPS">ZIP_DIRENT_EXTRACT</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-FILE-MODE:CAPS">ZIP_DIRENT_FILE_MODE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-FLAGS:CAPS">ZIP_DIRENT_FLAGS</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-CSIZE:CAPS">ZIP_FILE_HEADER_CSIZE</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-DIR-SIZE:CAPS">ZIP_TRAILER_DIR_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-COMMENT-SIZE:CAPS">ZIP_TRAILER_COMMENT_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-ENTRIES:CAPS">ZIP_TRAILER_ENTRIES</a>
#define <a href="gsf-Zip.html#ZIP-NAME-SEPARATOR:CAPS">ZIP_NAME_SEPARATOR</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-SIZE:CAPS">ZIP_HEADER_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-CRC:CAPS">ZIP_HEADER_CRC</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-FLAGS:CAPS">ZIP_FILE_HEADER_FLAGS</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-EXTRAS-SIZE:CAPS">ZIP_DIRENT_EXTRAS_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-COMP-METHOD:CAPS">ZIP_HEADER_COMP_METHOD</a>
#define <a href="gsf-Zip.html#ZZIP-IS-COMPRLEVEL:CAPS">ZZIP_IS_COMPRLEVEL</a> (p)
#define <a href="gsf-Zip.html#ZIP-DIRENT-DOSTIME:CAPS">ZIP_DIRENT_DOSTIME</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-ENCODER:CAPS">ZIP_DIRENT_ENCODER</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-OS:CAPS">ZIP_HEADER_OS</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-COMMENT-SIZE:CAPS">ZIP_DIRENT_COMMENT_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-CRC32:CAPS">ZIP_FILE_HEADER_CRC32</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-FLAGS:CAPS">ZIP_HEADER_FLAGS</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-DISK:CAPS">ZIP_TRAILER_DISK</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-USIZE:CAPS">ZIP_FILE_HEADER_USIZE</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-TOTAL-ENTRIES:CAPS">ZIP_TRAILER_TOTAL_ENTRIES</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-NAME-LEN:CAPS">ZIP_HEADER_NAME_LEN</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-UNCOMP-SIZE:CAPS">ZIP_HEADER_UNCOMP_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-DIR-DISK:CAPS">ZIP_TRAILER_DIR_DISK</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-CSIZE:CAPS">ZIP_DIRENT_CSIZE</a>
#define <a href="gsf-Zip.html#ZIP-TRAILER-DIR-POS:CAPS">ZIP_TRAILER_DIR_POS</a>
#define <a href="gsf-Zip.html#ZIP-BLOCK-SIZE:CAPS">ZIP_BLOCK_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-NAME-SIZE:CAPS">ZIP_DIRENT_NAME_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-SIZE:CAPS">ZIP_DIRENT_SIZE</a>
#define <a href="gsf-Zip.html#ZIP-DIRENT-DISKSTART:CAPS">ZIP_DIRENT_DISKSTART</a>
#define <a href="gsf-Zip.html#ZIP-HEADER-EXTRA-LEN:CAPS">ZIP_HEADER_EXTRA_LEN</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-COMPR-METHOD:CAPS">ZIP_FILE_HEADER_COMPR_METHOD</a>
#define <a href="gsf-Zip.html#ZIP-FILE-HEADER-DOSTIME:CAPS">ZIP_FILE_HEADER_DOSTIME</a>
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2549250"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
GObject
+----<a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a>
+----<a href="gsf-Infile-reading-structed-files.html#GsfInfile">GsfInfile</a>
+----GsfInfileZip
</pre>
<pre class="synopsis">
GObject
+----<a href="gsf-Output-to-unstructured-files.html#GsfOutput">GsfOutput</a>
+----<a href="gsf-Outfile-writing-structed-files.html#GsfOutfile">GsfOutfile</a>
+----GsfOutfileZip
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2549310"></a><h2>Properties</h2>
<pre class="synopsis">
"<a href="gsf-Zip.html#GsfInfileZip--compression-level">compression-level</a>" gint : Read
"<a href="gsf-Zip.html#GsfInfileZip--internal-parent">internal-parent</a>" <a href="gsf-Zip.html#GsfInfileZip">GsfInfileZip</a> : Write / Construct Only
"<a href="gsf-Zip.html#GsfInfileZip--source">source</a>" <a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a> : Read / Write / Construct Only
"<a href="gsf-Zip.html#GsfOutfileZip--compression-level">compression-level</a>" gint : Read / Write / Construct Only
"<a href="gsf-Zip.html#GsfOutfileZip--entry-name">entry-name</a>" gchararray : Read / Write / Construct Only
"<a href="gsf-Zip.html#GsfOutfileZip--sink">sink</a>" <a href="gsf-Output-to-unstructured-files.html#GsfOutput">GsfOutput</a> : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2549428"></a><h2>Description</h2>
<p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549437"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2549443"></a><h3>
<a name="GsfInfileZip-struct"></a>GsfInfileZip</h3>
<a class="indexterm" name="id2549453"></a><pre class="programlisting">typedef struct _GsfInfileZip GsfInfileZip;</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549469"></a><h3>
<a name="gsf-infile-zip-new"></a>gsf_infile_zip_new ()</h3>
<a class="indexterm" name="id2549480"></a><pre class="programlisting"><a href="gsf-Infile-reading-structed-files.html#GsfInfile">GsfInfile</a>* gsf_infile_zip_new (<a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a> *source,
GError **err);</pre>
<p>
Opens the root directory of a Zip file.
NOTE : adds a reference to <em class="parameter"><code>source</code></em></p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>source</code></em>&#160;:</span></td>
<td> A base <a href="gsf-Input-from-unstructured-files.html#GsfInput"><span class="type">GsfInput</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>err</code></em>&#160;:</span></td>
<td> A <span class="type">GError</span>, optionally <code class="literal">null</code>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td>: the new zip file handler
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549588"></a><h3>
<a name="GsfOutfileZip-struct"></a>GsfOutfileZip</h3>
<a class="indexterm" name="id2549599"></a><pre class="programlisting">typedef struct _GsfOutfileZip GsfOutfileZip;</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549615"></a><h3>
<a name="gsf-outfile-zip-new"></a>gsf_outfile_zip_new ()</h3>
<a class="indexterm" name="id2549625"></a><pre class="programlisting"><a href="gsf-Outfile-writing-structed-files.html#GsfOutfile">GsfOutfile</a>* gsf_outfile_zip_new (<a href="gsf-Output-to-unstructured-files.html#GsfOutput">GsfOutput</a> *sink,
GError **err);</pre>
<p>
Creates the root directory of a Zip file and manages the addition of
children.
</p>
<p>
NOTE : adds a reference to <em class="parameter"><code>sink</code></em></p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>sink</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>err</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td>: the new zip file handler
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549715"></a><h3>
<a name="gsf-outfile-zip-set-compression-method"></a>gsf_outfile_zip_set_compression_method ()</h3>
<a class="indexterm" name="id2549726"></a><pre class="programlisting">gboolean gsf_outfile_zip_set_compression_method
(<a href="gsf-Zip.html#GsfOutfileZip">GsfOutfileZip</a> *zip,
<a href="gsf-Zip.html#GsfZipCompressionMethod">GsfZipCompressionMethod</a> method);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>zip</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>method</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549806"></a><h3>
<a name="GsfZipDirent"></a>GsfZipDirent</h3>
<a class="indexterm" name="id2549816"></a><pre class="programlisting">typedef struct {
char *name;
GsfZipCompressionMethod compr_method;
guint32 crc32;
size_t csize;
size_t usize;
gsf_off_t offset;
gsf_off_t data_offset;
guint32 dostime;
} GsfZipDirent;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549836"></a><h3>
<a name="gsf-zip-dirent-new"></a>gsf_zip_dirent_new ()</h3>
<a class="indexterm" name="id2549846"></a><pre class="programlisting"><a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a>* gsf_zip_dirent_new (void);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549882"></a><h3>
<a name="gsf-zip-dirent-free"></a>gsf_zip_dirent_free ()</h3>
<a class="indexterm" name="id2549893"></a><pre class="programlisting">void gsf_zip_dirent_free (<a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a> *dirent);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>dirent</code></em>&#160;:</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549939"></a><h3>
<a name="GsfZipVDir"></a>GsfZipVDir</h3>
<a class="indexterm" name="id2549949"></a><pre class="programlisting">typedef struct {
char *name;
gboolean is_directory;
GsfZipDirent *dirent;
GSList *children, *last_child;
} GsfZipVDir;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2549966"></a><h3>
<a name="gsf-vdir-free"></a>gsf_vdir_free ()</h3>
<a class="indexterm" name="id2549976"></a><pre class="programlisting">void gsf_vdir_free (<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a> *vdir,
gboolean free_dirent);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>vdir</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>free_dirent</code></em>&#160;:</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550043"></a><h3>
<a name="gsf-vdir-new"></a>gsf_vdir_new ()</h3>
<a class="indexterm" name="id2550054"></a><pre class="programlisting"><a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a>* gsf_vdir_new (char const *name,
gboolean is_directory,
<a href="gsf-Zip.html#GsfZipDirent">GsfZipDirent</a> *dirent);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>is_directory</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dirent</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550152"></a><h3>
<a name="gsf-vdir-add-child"></a>gsf_vdir_add_child ()</h3>
<a class="indexterm" name="id2550164"></a><pre class="programlisting">void gsf_vdir_add_child (<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a> *vdir,
<a href="gsf-Zip.html#GsfZipVDir">GsfZipVDir</a> *child);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>vdir</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>child</code></em>&#160;:</span></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550230"></a><h3>
<a name="ZIP-DIRENT-USIZE:CAPS"></a>ZIP_DIRENT_USIZE</h3>
<a class="indexterm" name="id2550241"></a><pre class="programlisting">#define ZIP_DIRENT_USIZE 24
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550257"></a><h3>
<a name="ZIP-DIRENT-OFFSET:CAPS"></a>ZIP_DIRENT_OFFSET</h3>
<a class="indexterm" name="id2550267"></a><pre class="programlisting">#define ZIP_DIRENT_OFFSET 42
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550283"></a><h3>
<a name="GsfZipCompressionMethod"></a>enum GsfZipCompressionMethod</h3>
<a class="indexterm" name="id2550293"></a><pre class="programlisting">typedef enum {
GSF_ZIP_STORED = 0, /* supported for export */
GSF_ZIP_SHRUNK = 1,
GSF_ZIP_REDUCEDx1 = 2,
GSF_ZIP_REDUCEDx2 = 3,
GSF_ZIP_REDUCEDx3 = 4,
GSF_ZIP_REDUCEDx4 = 5,
GSF_ZIP_IMPLODED = 6,
GSF_ZIP_TOKENIZED = 7,
GSF_ZIP_DEFLATED = 8, /* supported for export */
GSF_ZIP_DEFLATED_BETTER = 9,
GSF_ZIP_IMPLODED_BETTER = 10
} GsfZipCompressionMethod;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550315"></a><h3>
<a name="ZIP-FILE-HEADER-NAME-SIZE:CAPS"></a>ZIP_FILE_HEADER_NAME_SIZE</h3>
<a class="indexterm" name="id2550326"></a><pre class="programlisting">#define ZIP_FILE_HEADER_NAME_SIZE 26
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550342"></a><h3>
<a name="ZZIP-IS-STREAMED:CAPS"></a>ZZIP_IS_STREAMED()</h3>
<a class="indexterm" name="id2550353"></a><pre class="programlisting">#define ZZIP_IS_STREAMED(p) (((*(unsigned char*)p)&gt;&gt;3)&amp;1)
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em>&#160;:</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550388"></a><h3>
<a name="ZIP-FILE-HEADER-EXTRACT:CAPS"></a>ZIP_FILE_HEADER_EXTRACT</h3>
<a class="indexterm" name="id2550398"></a><pre class="programlisting">#define ZIP_FILE_HEADER_EXTRACT 4
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550414"></a><h3>
<a name="ZIP-TRAILER-SIZE:CAPS"></a>ZIP_TRAILER_SIZE</h3>
<a class="indexterm" name="id2550426"></a><pre class="programlisting">#define ZIP_TRAILER_SIZE 22
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550440"></a><h3>
<a name="ZIP-HEADER-TIME:CAPS"></a>ZIP_HEADER_TIME</h3>
<a class="indexterm" name="id2550451"></a><pre class="programlisting">#define ZIP_HEADER_TIME 10
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550467"></a><h3>
<a name="ZIP-FILE-HEADER-SIZE:CAPS"></a>ZIP_FILE_HEADER_SIZE</h3>
<a class="indexterm" name="id2550477"></a><pre class="programlisting">#define ZIP_FILE_HEADER_SIZE 30
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550493"></a><h3>
<a name="ZZIP-IS-ENCRYPTED:CAPS"></a>ZZIP_IS_ENCRYPTED()</h3>
<a class="indexterm" name="id2550504"></a><pre class="programlisting">#define ZZIP_IS_ENCRYPTED(p) ((*(unsigned char*)p)&amp;1)
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em>&#160;:</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550538"></a><h3>
<a name="ZIP-HEADER-VERSION:CAPS"></a>ZIP_HEADER_VERSION</h3>
<a class="indexterm" name="id2550548"></a><pre class="programlisting">#define ZIP_HEADER_VERSION 4
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550564"></a><h3>
<a name="ZIP-BUF-SIZE:CAPS"></a>ZIP_BUF_SIZE</h3>
<a class="indexterm" name="id2550573"></a><pre class="programlisting">#define ZIP_BUF_SIZE 512
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550588"></a><h3>
<a name="ZIP-DIRENT-CRC32:CAPS"></a>ZIP_DIRENT_CRC32</h3>
<a class="indexterm" name="id2550600"></a><pre class="programlisting">#define ZIP_DIRENT_CRC32 16
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550615"></a><h3>
<a name="ZIP-HEADER-COMP-SIZE:CAPS"></a>ZIP_HEADER_COMP_SIZE</h3>
<a class="indexterm" name="id2550626"></a><pre class="programlisting">#define ZIP_HEADER_COMP_SIZE 18
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550641"></a><h3>
<a name="ZIP-DIRENT-COMPR-METHOD:CAPS"></a>ZIP_DIRENT_COMPR_METHOD</h3>
<a class="indexterm" name="id2550653"></a><pre class="programlisting">#define ZIP_DIRENT_COMPR_METHOD 10
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550668"></a><h3>
<a name="ZIP-DIRENT-FILE-TYPE:CAPS"></a>ZIP_DIRENT_FILE_TYPE</h3>
<a class="indexterm" name="id2550679"></a><pre class="programlisting">#define ZIP_DIRENT_FILE_TYPE 36
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550695"></a><h3>
<a name="ZIP-FILE-HEADER-EXTRAS-SIZE:CAPS"></a>ZIP_FILE_HEADER_EXTRAS_SIZE</h3>
<a class="indexterm" name="id2550706"></a><pre class="programlisting">#define ZIP_FILE_HEADER_EXTRAS_SIZE 28
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550722"></a><h3>
<a name="ZIP-DIRENT-EXTRACT:CAPS"></a>ZIP_DIRENT_EXTRACT</h3>
<a class="indexterm" name="id2550733"></a><pre class="programlisting">#define ZIP_DIRENT_EXTRACT 6
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550748"></a><h3>
<a name="ZIP-DIRENT-FILE-MODE:CAPS"></a>ZIP_DIRENT_FILE_MODE</h3>
<a class="indexterm" name="id2550759"></a><pre class="programlisting">#define ZIP_DIRENT_FILE_MODE 38
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550775"></a><h3>
<a name="ZIP-DIRENT-FLAGS:CAPS"></a>ZIP_DIRENT_FLAGS</h3>
<a class="indexterm" name="id2550786"></a><pre class="programlisting">#define ZIP_DIRENT_FLAGS 8
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550802"></a><h3>
<a name="ZIP-FILE-HEADER-CSIZE:CAPS"></a>ZIP_FILE_HEADER_CSIZE</h3>
<a class="indexterm" name="id2550812"></a><pre class="programlisting">#define ZIP_FILE_HEADER_CSIZE 18
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550827"></a><h3>
<a name="ZIP-TRAILER-DIR-SIZE:CAPS"></a>ZIP_TRAILER_DIR_SIZE</h3>
<a class="indexterm" name="id2550838"></a><pre class="programlisting">#define ZIP_TRAILER_DIR_SIZE 12
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550853"></a><h3>
<a name="ZIP-TRAILER-COMMENT-SIZE:CAPS"></a>ZIP_TRAILER_COMMENT_SIZE</h3>
<a class="indexterm" name="id2550865"></a><pre class="programlisting">#define ZIP_TRAILER_COMMENT_SIZE 20
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550881"></a><h3>
<a name="ZIP-TRAILER-ENTRIES:CAPS"></a>ZIP_TRAILER_ENTRIES</h3>
<a class="indexterm" name="id2550892"></a><pre class="programlisting">#define ZIP_TRAILER_ENTRIES 8
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550907"></a><h3>
<a name="ZIP-NAME-SEPARATOR:CAPS"></a>ZIP_NAME_SEPARATOR</h3>
<a class="indexterm" name="id2550918"></a><pre class="programlisting">#define ZIP_NAME_SEPARATOR '/'
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550933"></a><h3>
<a name="ZIP-HEADER-SIZE:CAPS"></a>ZIP_HEADER_SIZE</h3>
<a class="indexterm" name="id2550944"></a><pre class="programlisting">#define ZIP_HEADER_SIZE 30
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550959"></a><h3>
<a name="ZIP-HEADER-CRC:CAPS"></a>ZIP_HEADER_CRC</h3>
<a class="indexterm" name="id2550969"></a><pre class="programlisting">#define ZIP_HEADER_CRC 14
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2550985"></a><h3>
<a name="ZIP-FILE-HEADER-FLAGS:CAPS"></a>ZIP_FILE_HEADER_FLAGS</h3>
<a class="indexterm" name="id2550996"></a><pre class="programlisting">#define ZIP_FILE_HEADER_FLAGS 6
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551011"></a><h3>
<a name="ZIP-DIRENT-EXTRAS-SIZE:CAPS"></a>ZIP_DIRENT_EXTRAS_SIZE</h3>
<a class="indexterm" name="id2551022"></a><pre class="programlisting">#define ZIP_DIRENT_EXTRAS_SIZE 30
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551038"></a><h3>
<a name="ZIP-HEADER-COMP-METHOD:CAPS"></a>ZIP_HEADER_COMP_METHOD</h3>
<a class="indexterm" name="id2551049"></a><pre class="programlisting">#define ZIP_HEADER_COMP_METHOD 8
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551065"></a><h3>
<a name="ZZIP-IS-COMPRLEVEL:CAPS"></a>ZZIP_IS_COMPRLEVEL()</h3>
<a class="indexterm" name="id2551075"></a><pre class="programlisting">#define ZZIP_IS_COMPRLEVEL(p) (((*(unsigned char*)p)&gt;&gt;1)&amp;3)
</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>p</code></em>&#160;:</span></td>
<td>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551110"></a><h3>
<a name="ZIP-DIRENT-DOSTIME:CAPS"></a>ZIP_DIRENT_DOSTIME</h3>
<a class="indexterm" name="id2551121"></a><pre class="programlisting">#define ZIP_DIRENT_DOSTIME 12
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551136"></a><h3>
<a name="ZIP-DIRENT-ENCODER:CAPS"></a>ZIP_DIRENT_ENCODER</h3>
<a class="indexterm" name="id2551147"></a><pre class="programlisting">#define ZIP_DIRENT_ENCODER 4
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551162"></a><h3>
<a name="ZIP-HEADER-OS:CAPS"></a>ZIP_HEADER_OS</h3>
<a class="indexterm" name="id2551172"></a><pre class="programlisting">#define ZIP_HEADER_OS 5
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551187"></a><h3>
<a name="ZIP-DIRENT-COMMENT-SIZE:CAPS"></a>ZIP_DIRENT_COMMENT_SIZE</h3>
<a class="indexterm" name="id2551199"></a><pre class="programlisting">#define ZIP_DIRENT_COMMENT_SIZE 32
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551215"></a><h3>
<a name="ZIP-FILE-HEADER-CRC32:CAPS"></a>ZIP_FILE_HEADER_CRC32</h3>
<a class="indexterm" name="id2551226"></a><pre class="programlisting">#define ZIP_FILE_HEADER_CRC32 14
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551242"></a><h3>
<a name="ZIP-HEADER-FLAGS:CAPS"></a>ZIP_HEADER_FLAGS</h3>
<a class="indexterm" name="id2551253"></a><pre class="programlisting">#define ZIP_HEADER_FLAGS 6
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551268"></a><h3>
<a name="ZIP-TRAILER-DISK:CAPS"></a>ZIP_TRAILER_DISK</h3>
<a class="indexterm" name="id2551279"></a><pre class="programlisting">#define ZIP_TRAILER_DISK 4
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551294"></a><h3>
<a name="ZIP-FILE-HEADER-USIZE:CAPS"></a>ZIP_FILE_HEADER_USIZE</h3>
<a class="indexterm" name="id2551305"></a><pre class="programlisting">#define ZIP_FILE_HEADER_USIZE 22
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551320"></a><h3>
<a name="ZIP-TRAILER-TOTAL-ENTRIES:CAPS"></a>ZIP_TRAILER_TOTAL_ENTRIES</h3>
<a class="indexterm" name="id2551332"></a><pre class="programlisting">#define ZIP_TRAILER_TOTAL_ENTRIES 10
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551347"></a><h3>
<a name="ZIP-HEADER-NAME-LEN:CAPS"></a>ZIP_HEADER_NAME_LEN</h3>
<a class="indexterm" name="id2551359"></a><pre class="programlisting">#define ZIP_HEADER_NAME_LEN 26
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551373"></a><h3>
<a name="ZIP-HEADER-UNCOMP-SIZE:CAPS"></a>ZIP_HEADER_UNCOMP_SIZE</h3>
<a class="indexterm" name="id2551384"></a><pre class="programlisting">#define ZIP_HEADER_UNCOMP_SIZE 22
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551400"></a><h3>
<a name="ZIP-TRAILER-DIR-DISK:CAPS"></a>ZIP_TRAILER_DIR_DISK</h3>
<a class="indexterm" name="id2551411"></a><pre class="programlisting">#define ZIP_TRAILER_DIR_DISK 6
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551426"></a><h3>
<a name="ZIP-DIRENT-CSIZE:CAPS"></a>ZIP_DIRENT_CSIZE</h3>
<a class="indexterm" name="id2551438"></a><pre class="programlisting">#define ZIP_DIRENT_CSIZE 20
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551453"></a><h3>
<a name="ZIP-TRAILER-DIR-POS:CAPS"></a>ZIP_TRAILER_DIR_POS</h3>
<a class="indexterm" name="id2551464"></a><pre class="programlisting">#define ZIP_TRAILER_DIR_POS 16
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551479"></a><h3>
<a name="ZIP-BLOCK-SIZE:CAPS"></a>ZIP_BLOCK_SIZE</h3>
<a class="indexterm" name="id2551489"></a><pre class="programlisting">#define ZIP_BLOCK_SIZE 32768
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551504"></a><h3>
<a name="ZIP-DIRENT-NAME-SIZE:CAPS"></a>ZIP_DIRENT_NAME_SIZE</h3>
<a class="indexterm" name="id2551515"></a><pre class="programlisting">#define ZIP_DIRENT_NAME_SIZE 28
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551530"></a><h3>
<a name="ZIP-DIRENT-SIZE:CAPS"></a>ZIP_DIRENT_SIZE</h3>
<a class="indexterm" name="id2551542"></a><pre class="programlisting">#define ZIP_DIRENT_SIZE 46
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551557"></a><h3>
<a name="ZIP-DIRENT-DISKSTART:CAPS"></a>ZIP_DIRENT_DISKSTART</h3>
<a class="indexterm" name="id2551567"></a><pre class="programlisting">#define ZIP_DIRENT_DISKSTART 34
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551583"></a><h3>
<a name="ZIP-HEADER-EXTRA-LEN:CAPS"></a>ZIP_HEADER_EXTRA_LEN</h3>
<a class="indexterm" name="id2551594"></a><pre class="programlisting">#define ZIP_HEADER_EXTRA_LEN 28
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551609"></a><h3>
<a name="ZIP-FILE-HEADER-COMPR-METHOD:CAPS"></a>ZIP_FILE_HEADER_COMPR_METHOD</h3>
<a class="indexterm" name="id2551620"></a><pre class="programlisting">#define ZIP_FILE_HEADER_COMPR_METHOD 8
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551636"></a><h3>
<a name="ZIP-FILE-HEADER-DOSTIME:CAPS"></a>ZIP_FILE_HEADER_DOSTIME</h3>
<a class="indexterm" name="id2551648"></a><pre class="programlisting">#define ZIP_FILE_HEADER_DOSTIME 10
</pre>
<p>
</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id2551665"></a><h2>Properties</h2>
<div class="refsect2" lang="en">
<a name="id2551670"></a><h3>
<a name="GsfInfileZip--compression-level"></a>The "<code class="literal">compression-level</code>" property</h3>
<pre class="programlisting"> "compression-level" gint : Read</pre>
<p>The level of compression used, zero meaning none.</p>
<p>Allowed values: [0,10]</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551711"></a><h3>
<a name="GsfInfileZip--internal-parent"></a>The "<code class="literal">internal-parent</code>" property</h3>
<pre class="programlisting"> "internal-parent" <a href="gsf-Zip.html#GsfInfileZip">GsfInfileZip</a> : Write / Construct Only</pre>
<p>Internal use only.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551744"></a><h3>
<a name="GsfInfileZip--source"></a>The "<code class="literal">source</code>" property</h3>
<pre class="programlisting"> "source" <a href="gsf-Input-from-unstructured-files.html#GsfInput">GsfInput</a> : Read / Write / Construct Only</pre>
<p>The archive being interpreted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551779"></a><h3>
<a name="GsfOutfileZip--compression-level"></a>The "<code class="literal">compression-level</code>" property</h3>
<pre class="programlisting"> "compression-level" gint : Read / Write / Construct Only</pre>
<p>The level of compression used, zero meaning none.</p>
<p>Allowed values: [0,10]</p>
<p>Default value: 8</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551821"></a><h3>
<a name="GsfOutfileZip--entry-name"></a>The "<code class="literal">entry-name</code>" property</h3>
<pre class="programlisting"> "entry-name" gchararray : Read / Write / Construct Only</pre>
<p>The filename of this member in the archive without path.</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2551859"></a><h3>
<a name="GsfOutfileZip--sink"></a>The "<code class="literal">sink</code>" property</h3>
<pre class="programlisting"> "sink" <a href="gsf-Output-to-unstructured-files.html#GsfOutput">GsfOutput</a> : Read / Write / Construct Only</pre>
<p>Where the archive is written.</p>
</div>
</div>
</div>
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle">
<td align="left"><a accesskey="p" href="gsf-XML-and-libxml.html"><b>&lt;&lt;&#160;XML and libxml</b></a></td>
<td align="right"><a accesskey="n" href="gsf-Compression.html"><b>Compression&#160;&gt;&gt;</b></a></td>
</tr></table>
</body>
</html>