<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/>
<title>ZIP_REGISTER_PROGRESS_CALLBACK_WITH_STATE(3)</title>
</head>
<body>
<table class="head">
<tr>
<td class="head-ltitle">ZIP_REGISTER_PROGRESS_CALLBACK_WITH_STATE(3)</td>
<td class="head-vol">Library Functions Manual</td>
<td class="head-rtitle">ZIP_REGISTER_PROGRESS_CALLBACK_WITH_STATE(3)</td>
</tr>
</table>
<div class="manual-text">
<h1 class="Sh" title="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<code class="Nm" title="Nm">zip_register_progress_callback_with_state</code>
—
<div class="Nd" title="Nd">provide updates during zip_close</div>
<h1 class="Sh" title="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1>
libzip (-lzip)
<h1 class="Sh" title="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<code class="In" title="In">#include
<<a class="In" title="In">zip.h</a>></code>
<div class="Pp"></div>
<var class="Vt" title="Vt">typedef void (*zip_progress_callback)(zip_t *,
double, void *);</var>
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<code class="Fn" title="Fn">zip_register_progress_callback_with_state</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">zip_t
*archive</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">double
precision</var>,
<var class="Fa" title="Fa" style="white-space: nowrap;">zip_progress_callback
callback</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">void
(*ud_free)(void *)</var>,
<var class="Fa" title="Fa" style="white-space: nowrap;">void *ud</var>);
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The
<code class="Fn" title="Fn">zip_register_progress_callback_with_state</code>()
function registers a callback function
<var class="Ar" title="Ar">callback</var> for the zip archive
<var class="Ar" title="Ar">archive</var>. The
<var class="Ar" title="Ar">precision</var> argument is a double in the range
from 0.00 to 1.0 that defines the smallest change for which the callback
should be called (to avoid too frequent calls). The
<var class="Ar" title="Ar">ud_free</var> function is called during cleanup for
deleting the userdata supplied in <var class="Ar" title="Ar">ud</var>.
<div class="Pp"></div>
The callback function is called during
<a class="Xr" title="Xr" href="zip_close.html">zip_close(3)</a> in regular
intervals (after every zip archive entry that's completely written to disk,
and while writing data for entries) with zip archive
<var class="Ar" title="Ar">archive</var>, the current progression state as a
<var class="Vt" title="Vt">double</var>, and the user-provided user-data
<var class="Ar" title="Ar">ud</var> as arguments. The progression state is a
<var class="Vt" title="Vt">double</var> in the range from 0.0 to 1.0. This can
be used to provide progress indicators for user interfaces.
<h1 class="Sh" title="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<a class="Xr" title="Xr" href="libzip.html">libzip(3)</a>,
<a class="Xr" title="Xr" href="zip_close.html">zip_close(3)</a>
<h1 class="Sh" title="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn" title="Fn">zip_register_progress_callback_with_state</code>()
was added in libzip 1.3.0.
<h1 class="Sh" title="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An" title="An">Dieter Baron</span>
<<a class="Mt" title="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>>
and <span class="An" title="An">Thomas Klausner</span>
<<a class="Mt" title="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>></div>
<table class="foot">
<tr>
<td class="foot-date">December 18, 2017</td>
<td class="foot-os">NetBSD 8.99.27</td>
</tr>
</table>
</body>
</html>