<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_register_cancel_callback_with_state.mdoc -- allow cancelling during zip_close
   Copyright (C) 2021 Dieter Baron and Thomas Klausner
  
   This file is part of libzip, a library to manipulate ZIP archives.
   The authors can be contacted at <libzip@nih.at>
  
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:
   1. Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
   2. Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in
      the documentation and/or other materials provided with the
      distribution.
   3. The names of the authors may not be used to endorse or promote
      products derived from this software without specific prior
      written permission.
  
   THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
   IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
   OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   -->
<head>
  <meta charset="utf-8"/>
  <link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/>
  <title>ZIP_REGISTER_CANCEL_CALLBACK_WITH_STATE(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_REGISTER_CANCEL_CALLBACK_WITH_STATE(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_REGISTER_CANCEL_CALLBACK_WITH_STATE(3)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<code class="Nm">zip_register_cancel_callback_with_state</code> &#x2014;
<div class="Nd">allow cancelling during zip_close</div>
</section>
<section class="Sh">
<h1 class="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1>
libzip (-lzip)
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<code class="In">#include &lt;<a class="In">zip.h</a>&gt;</code>
<p class="Pp"><var class="Vt">typedef void (*zip_cancel_callback)(zip_t *,
    double, void *);</var></p>
<p class="Pp"><var class="Ft">void</var>
  <br/>
  <code class="Fn">zip_register_cancel_callback_with_state</code>(<var class="Fa" style="white-space: nowrap;">zip_t
    *archive</var>,
    <var class="Fa" style="white-space: nowrap;">zip_cancel_callback
    callback</var>, <var class="Fa" style="white-space: nowrap;">void
    (*ud_free)(void *)</var>, <var class="Fa" style="white-space: nowrap;">void
    *ud</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
This function can be used to cancel writing of a zip archive during
  <a class="Xr" href="zip_close.html">zip_close(3)</a>.
<p class="Pp">The
    <code class="Fn">zip_register_cancel_callback_with_state</code>() function
    registers a callback function <var class="Ar">callback</var> for the zip
    archive <var class="Ar">archive</var>. The <var class="Ar">ud_free</var>
    function is called during cleanup for deleting the userdata supplied in
    <var class="Ar">ud</var>.</p>
<p class="Pp">The callback function is called during
    <a class="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">archive</var>,
    the current progress state (see
    <a class="Xr" href="zip_register_progress_callback_with_state.html">zip_register_progress_callback_with_state(3)</a>)
    as a <var class="Vt">double</var>, and the user-provided user-data
    <var class="Ar">ud</var> as arguments. The progress state is a
    <var class="Vt">double</var> in the range from 0.0 to 1.0.</p>
<p class="Pp">The callback function should be fast, since it will be called
    often.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<a class="Xr" href="libzip.html">libzip(3)</a>,
  <a class="Xr" href="zip_close.html">zip_close(3)</a>,
  <a class="Xr" href="zip_register_progress_callback_with_state.html">zip_register_progress_callback_with_state(3)</a>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn">zip_register_cancel_callback_with_state</code>() was added in
  libzip 1.6.0.
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An">Dieter Baron</span>
  &lt;<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>&gt; and
  <span class="An">Thomas Klausner</span>
  &lt;<a class="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>&gt;
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">April 6, 2021</td>
    <td class="foot-os">NiH</td>
  </tr>
</table>
</body>
</html>
