????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 18.220.9.180
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/doc/libp11-kit-dev/html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/doc/libp11-kit-dev/html/p11-kit-Future.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Future</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="p11-kit">
<link rel="up" href="reference.html" title="API Reference">
<link rel="prev" href="p11-kit-Utilities.html" title="Utilities">
<link rel="next" href="p11-kit-Deprecated.html" title="Deprecated">
<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="p11-kit-Utilities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="reference.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">p11-kit</th>
<td><a accesskey="n" href="p11-kit-Deprecated.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#p11-kit-Future.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#p11-kit-Future.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="p11-kit-Future"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="p11-kit-Future.top_of_page"></a>Future</span></h2>
<p>Future — Future Unstable API</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="p11-kit-Future.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis"><span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-set-progname" title="p11_kit_set_progname ()">p11_kit_set_progname</a>                (<em class="parameter"><code>const <span class="type">char</span> *progname</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-be-quiet" title="p11_kit_be_quiet ()">p11_kit_be_quiet</a>                    (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-be-loud" title="p11_kit_be_loud ()">p11_kit_be_loud</a>                     (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">void</span>                (<a class="link" href="p11-kit-Future.html#p11-kit-destroyer" title="p11_kit_destroyer ()">*p11_kit_destroyer</a>)                (<em class="parameter"><code><span class="type">void</span> *data</code></em>);
typedef             <a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter">P11KitIter</a>;
typedef             <a class="link" href="p11-kit-Future.html#p11-kit-iter" title="p11_kit_iter">p11_kit_iter</a>;
<a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="returnvalue">P11KitIter</span></a> *        <a class="link" href="p11-kit-Future.html#p11-kit-iter-new" title="p11_kit_iter_new ()">p11_kit_iter_new</a>                    (<em class="parameter"><code><a class="link" href="p11-kit-URIs.html#P11KitUri" title="P11KitUri"><span class="type">P11KitUri</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIterBehavior" title="enum P11KitIterBehavior"><span class="type">P11KitIterBehavior</span></a> behavior</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-iter-set-uri" title="p11_kit_iter_set_uri ()">p11_kit_iter_set_uri</a>                (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-URIs.html#P11KitUri" title="P11KitUri"><span class="type">P11KitUri</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-iter-add-callback" title="p11_kit_iter_add_callback ()">p11_kit_iter_add_callback</a>           (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-Future.html#p11-kit-iter-callback" title="p11_kit_iter_callback ()"><span class="type">p11_kit_iter_callback</span></a> callback</code></em>,
                                                         <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-Future.html#p11-kit-destroyer" title="p11_kit_destroyer ()"><span class="type">p11_kit_destroyer</span></a> callback_destroy</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-iter-add-filter" title="p11_kit_iter_add_filter ()">p11_kit_iter_add_filter</a>             (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><span class="type">CK_ATTRIBUTE</span> *matching</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-ULONG:CAPS"><span class="type">CK_ULONG</span></a> count</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               (<a class="link" href="p11-kit-Future.html#p11-kit-iter-callback" title="p11_kit_iter_callback ()">*p11_kit_iter_callback</a>)            (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-BBOOL:CAPS"><span class="type">CK_BBOOL</span></a> *matches</code></em>,
                                                         <em class="parameter"><code><span class="type">void</span> *data</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-iter-begin" title="p11_kit_iter_begin ()">p11_kit_iter_begin</a>                  (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-FUNCTION-LIST-PTR:CAPS"><span class="type">CK_FUNCTION_LIST_PTR</span></a> *modules</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-iter-begin-with" title="p11_kit_iter_begin_with ()">p11_kit_iter_begin_with</a>             (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-FUNCTION-LIST-PTR:CAPS"><span class="type">CK_FUNCTION_LIST_PTR</span></a> module</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SLOT-ID:CAPS"><span class="type">CK_SLOT_ID</span></a> slot</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SESSION-HANDLE:CAPS"><span class="type">CK_SESSION_HANDLE</span></a> session</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()">p11_kit_iter_next</a>                   (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-FUNCTION-LIST-PTR:CAPS"><span class="returnvalue">CK_FUNCTION_LIST_PTR</span></a> <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-module" title="p11_kit_iter_get_module ()">p11_kit_iter_get_module</a>            (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SLOT-ID:CAPS"><span class="returnvalue">CK_SLOT_ID</span></a>          <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-slot" title="p11_kit_iter_get_slot ()">p11_kit_iter_get_slot</a>               (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<span class="returnvalue">CK_TOKEN_INFO</span> *     <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-token" title="p11_kit_iter_get_token ()">p11_kit_iter_get_token</a>              (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SESSION-HANDLE:CAPS"><span class="returnvalue">CK_SESSION_HANDLE</span></a>   <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-session" title="p11_kit_iter_get_session ()">p11_kit_iter_get_session</a>            (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SESSION-HANDLE:CAPS"><span class="returnvalue">CK_SESSION_HANDLE</span></a>   <a class="link" href="p11-kit-Future.html#p11-kit-iter-keep-session" title="p11_kit_iter_keep_session ()">p11_kit_iter_keep_session</a>           (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-OBJECT-HANDLE:CAPS"><span class="returnvalue">CK_OBJECT_HANDLE</span></a>    <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-object" title="p11_kit_iter_get_object ()">p11_kit_iter_get_object</a>             (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               <a class="link" href="p11-kit-Future.html#p11-kit-iter-load-attributes" title="p11_kit_iter_load_attributes ()">p11_kit_iter_load_attributes</a>        (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><span class="type">CK_ATTRIBUTE</span> *template</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-ULONG:CAPS"><span class="type">CK_ULONG</span></a> count</code></em>);
<a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               <a class="link" href="p11-kit-Future.html#p11-kit-iter-destroy-object" title="p11_kit_iter_destroy_object ()">p11_kit_iter_destroy_object</a>         (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="p11-kit-Future.html#p11-kit-iter-free" title="p11_kit_iter_free ()">p11_kit_iter_free</a>                   (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);
enum                <a class="link" href="p11-kit-Future.html#P11KitIterBehavior" title="enum P11KitIterBehavior">P11KitIterBehavior</a>;
</pre>
</div>
<div class="refsect1">
<a name="p11-kit-Future.description"></a><h2>Description</h2>
<p>
API that is not yet stable enough to be enabled by default. In all likelyhood
this will be included in the next release. To use this API you must define a
MACRO. See the p11-kit.h header for more details.
</p>
</div>
<div class="refsect1">
<a name="p11-kit-Future.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="p11-kit-set-progname"></a><h3>p11_kit_set_progname ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_set_progname                (<em class="parameter"><code>const <span class="type">char</span> *progname</code></em>);</pre>
<p>
Set the program base name that is used by the <code class="literal">enable-in</code>
and <code class="literal">disable-in</code> module configuration options.
</p>
<p>
Normally this is automatically calculated from the program's argument list.
You would usually call this before initializing p11-kit modules.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>progname</code></em> :</span></p></td>
<td>the program base name</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-be-quiet"></a><h3>p11_kit_be_quiet ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_be_quiet                    (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Once this function is called, the p11-kit library will no longer print
failure or warning messages to stderr.
</p>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-be-loud"></a><h3>p11_kit_be_loud ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_be_loud                     (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Tell the p11-kit library will print failure or warning messages to stderr.
This is the default behavior, but can be changed using <a class="link" href="p11-kit-Future.html#p11-kit-be-quiet" title="p11_kit_be_quiet ()"><code class="function">p11_kit_be_quiet()</code></a>.
</p>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-destroyer"></a><h3>p11_kit_destroyer ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                (*p11_kit_destroyer)                (<em class="parameter"><code><span class="type">void</span> *data</code></em>);</pre>
<p>
A callback called to free a resource.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to destroy</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="P11KitIter"></a><h3>P11KitIter</h3>
<pre class="programlisting">typedef struct p11_kit_iter P11KitIter;
</pre>
<p>
Used to iterate over PKCS#11 objects.
</p>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter"></a><h3>p11_kit_iter</h3>
<pre class="programlisting">typedef P11KitIter p11_kit_iter;
</pre>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-new"></a><h3>p11_kit_iter_new ()</h3>
<pre class="programlisting"><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="returnvalue">P11KitIter</span></a> *        p11_kit_iter_new                    (<em class="parameter"><code><a class="link" href="p11-kit-URIs.html#P11KitUri" title="P11KitUri"><span class="type">P11KitUri</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIterBehavior" title="enum P11KitIterBehavior"><span class="type">P11KitIterBehavior</span></a> behavior</code></em>);</pre>
<p>
Create a new PKCS#11 iterator for iterating over objects. Only
objects that match the <em class="parameter"><code>uri</code></em> will be returned by the iterator.
Relevant information in <em class="parameter"><code>uri</code></em> is copied, and you need not keep
<em class="parameter"><code>uri</code></em> around.
</p>
<p>
If no <em class="parameter"><code>uri</code></em> is specified then the iterator will iterate over all
objects, unless otherwise filtered.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a PKCS#11 URI to filter on, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>behavior</code></em> :</span></p></td>
<td>various behavior flags for iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new iterator, which should be freed
with <a class="link" href="p11-kit-Future.html#p11-kit-iter-free" title="p11_kit_iter_free ()"><code class="function">p11_kit_iter_free()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-set-uri"></a><h3>p11_kit_iter_set_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_iter_set_uri                (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-URIs.html#P11KitUri" title="P11KitUri"><span class="type">P11KitUri</span></a> *uri</code></em>);</pre>
<p>
Set the PKCS#11 uri for iterator. Only
objects that match the <em class="parameter"><code>uri</code></em> will be returned by the iterator.
Relevant information in <em class="parameter"><code>uri</code></em> is copied, and you need not keep
<em class="parameter"><code>uri</code></em> around.
</p>
<p>
If no <em class="parameter"><code>uri</code></em> is specified then the iterator will iterate over all
objects, unless otherwise filtered.
</p>
<p>
This function should be called at most once, and should be
called before iterating begins.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a PKCS#11 URI to filter on, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-add-callback"></a><h3>p11_kit_iter_add_callback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_iter_add_callback           (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-Future.html#p11-kit-iter-callback" title="p11_kit_iter_callback ()"><span class="type">p11_kit_iter_callback</span></a> callback</code></em>,
                                                         <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>,
                                                         <em class="parameter"><code><a class="link" href="p11-kit-Future.html#p11-kit-destroyer" title="p11_kit_destroyer ()"><span class="type">p11_kit_destroyer</span></a> callback_destroy</code></em>);</pre>
<p>
Adds a callback to the iterator which will be called each time
that an object is iterated.
</p>
<p>
These callbacks can also perform filtering. If any callback
indicates through it's <code class="literal">matches</code> argument that
the object should not match, then that object will not be iterated
as far as <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> is concerned.
</p>
<p>
The callbacks will be called with the <code class="literal">matches</code>
set to <code class="literal">CK_TRUE</code> and it's up to filters to change
it to <code class="literal">CK_FALSE</code> when necessary.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>a function to call for each iteration</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
<td>data to pass to the function. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback_destroy</code></em> :</span></p></td>
<td>used to cleanup the data. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-add-filter"></a><h3>p11_kit_iter_add_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_iter_add_filter             (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><span class="type">CK_ATTRIBUTE</span> *matching</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-ULONG:CAPS"><span class="type">CK_ULONG</span></a> count</code></em>);</pre>
<p>
Add a filter to limit the objects that the iterator iterates over.
</p>
<p>
Only objects matching the passed in attributes will be iterated.
This function can be called multiple times.
</p>
<p>
The <em class="parameter"><code>matching</code></em> attributes are copied.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>matching</code></em> :</span></p></td>
<td>the attributes that the objects should match. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
<td>the number of attributes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-callback"></a><h3>p11_kit_iter_callback ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               (*p11_kit_iter_callback)            (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-BBOOL:CAPS"><span class="type">CK_BBOOL</span></a> *matches</code></em>,
                                                         <em class="parameter"><code><span class="type">void</span> *data</code></em>);</pre>
<p>
A callback setup with <a class="link" href="p11-kit-Future.html#p11-kit-iter-add-callback" title="p11_kit_iter_add_callback ()"><code class="function">p11_kit_iter_add_callback()</code></a>. This callback is
called for each object iterated.
</p>
<p>
If the callback sets <em class="parameter"><code>matches</code></em> to CK_FALSE, then this object is
skipped and not matched by <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a>. If you return
anything but CKR_OK, then the iteration is stopped, and
<a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> returns the result code.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>matches</code></em> :</span></p></td>
<td>whether to match the current object. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>callback data</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>CKR_OK to continue iterating, CKR_CANCEL to stop, or
anything else to fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-begin"></a><h3>p11_kit_iter_begin ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_iter_begin                  (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-FUNCTION-LIST-PTR:CAPS"><span class="type">CK_FUNCTION_LIST_PTR</span></a> *modules</code></em>);</pre>
<p>
Begin iterating PKCS#11 objects in the given <em class="parameter"><code>modules</code></em>.
</p>
<p>
The <em class="parameter"><code>modules</code></em> arguments should be a null-terminated list of
pointers to the modules' PKCS#11 function pointers.
</p>
<p>
For each module, all initialized slots will be iterated over,
having sessions opened for each of them in turn, and searched
for objects matching the search criteria.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>modules</code></em> :</span></p></td>
<td>null-terminated list of
modules to iterate over. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-begin-with"></a><h3>p11_kit_iter_begin_with ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_iter_begin_with             (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-FUNCTION-LIST-PTR:CAPS"><span class="type">CK_FUNCTION_LIST_PTR</span></a> module</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SLOT-ID:CAPS"><span class="type">CK_SLOT_ID</span></a> slot</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SESSION-HANDLE:CAPS"><span class="type">CK_SESSION_HANDLE</span></a> session</code></em>);</pre>
<p>
Begin iterating PKCS#11 objects in the given <em class="parameter"><code>module</code></em>.
</p>
<p>
If <em class="parameter"><code>slot</code></em> is non-zero then the iteration will be limited to that
slot.
</p>
<p>
If <em class="parameter"><code>session</code></em> is non-zero then the iteration will be limited to
objects visible through that session, which implies that they
are also limited to the slot which the session was opened for.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>module</code></em> :</span></p></td>
<td>the module to iterate over</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>slot</code></em> :</span></p></td>
<td>the slot to iterate objects in, or zero. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
<td>the session to search for objects on, or zero. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-next"></a><h3>p11_kit_iter_next ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               p11_kit_iter_next                   (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Iterate to the next matching object.
</p>
<p>
To access the object, session and so on, use the <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-object" title="p11_kit_iter_get_object ()"><code class="function">p11_kit_iter_get_object()</code></a>,
<a class="link" href="p11-kit-Future.html#p11-kit-iter-get-session" title="p11_kit_iter_get_session ()"><code class="function">p11_kit_iter_get_session()</code></a>, and <a class="link" href="p11-kit-Future.html#p11-kit-iter-get-module" title="p11_kit_iter_get_module ()"><code class="function">p11_kit_iter_get_module()</code></a> functions.
</p>
<p>
This call must only be called after either <a class="link" href="p11-kit-Future.html#p11-kit-iter-begin" title="p11_kit_iter_begin ()"><code class="function">p11_kit_iter_begin()</code></a>
or <a class="link" href="p11-kit-Future.html#p11-kit-iter-begin-with" title="p11_kit_iter_begin_with ()"><code class="function">p11_kit_iter_begin_with()</code></a> have been called.
</p>
<p>
Objects which are skipped by callbacks will not be returned here
as matching objects.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>CKR_OK if an object matched, CKR_CANCEL if no more objects, or another error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-get-module"></a><h3>p11_kit_iter_get_module ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-FUNCTION-LIST-PTR:CAPS"><span class="returnvalue">CK_FUNCTION_LIST_PTR</span></a> p11_kit_iter_get_module            (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Get the module function pointers for the current matching object.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the module which the current matching object is in</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-get-slot"></a><h3>p11_kit_iter_get_slot ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SLOT-ID:CAPS"><span class="returnvalue">CK_SLOT_ID</span></a>          p11_kit_iter_get_slot               (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Get the slot which the current matching object is on.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the slot of the current matching object</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-get-token"></a><h3>p11_kit_iter_get_token ()</h3>
<pre class="programlisting"><span class="returnvalue">CK_TOKEN_INFO</span> *     p11_kit_iter_get_token              (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Get the token info for the token which the current matching object is on.
</p>
<p>
This can only be called after p11_kit_iter_next(0 succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the slot of the current matching object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-get-session"></a><h3>p11_kit_iter_get_session ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SESSION-HANDLE:CAPS"><span class="returnvalue">CK_SESSION_HANDLE</span></a>   p11_kit_iter_get_session            (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Get the session which the current matching object is acessible
through.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<p>
The session may be closed after the next <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> call
unless <a class="link" href="p11-kit-Future.html#p11-kit-iter-keep-session" title="p11_kit_iter_keep_session ()"><code class="function">p11_kit_iter_keep_session()</code></a> is called.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the session used to find the current matching object</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-keep-session"></a><h3>p11_kit_iter_keep_session ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-SESSION-HANDLE:CAPS"><span class="returnvalue">CK_SESSION_HANDLE</span></a>   p11_kit_iter_keep_session           (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
After calling this function the session open for iterating
the current object will not be automatically closed by
the iterator after later calls to <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> or
<a class="link" href="p11-kit-Future.html#p11-kit-iter-free" title="p11_kit_iter_free ()"><code class="function">p11_kit_iter_free()</code></a>.
</p>
<p>
It is the callers responsibility to close this session,
after the iterator has been freed. The session may still be
used by the iterator if further iterations are performed.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the current session</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-get-object"></a><h3>p11_kit_iter_get_object ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-OBJECT-HANDLE:CAPS"><span class="returnvalue">CK_OBJECT_HANDLE</span></a>    p11_kit_iter_get_object             (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Get the current matching object.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the current matching object</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-load-attributes"></a><h3>p11_kit_iter_load_attributes ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               p11_kit_iter_load_attributes        (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><span class="type">CK_ATTRIBUTE</span> *template</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-ULONG:CAPS"><span class="type">CK_ULONG</span></a> count</code></em>);</pre>
<p>
Retrieve attributes for the current matching object.
</p>
<p>
Each attribute in the array will be filled in with the value
of that attribute retrieved from the object. After use the
attribute value memory pointed to by the <code class="literal">pValue</code>
of each attribute should be freed with the <code class="literal">free()</code>
function.
</p>
<p>
If the <code class="literal">pValue</code> of an attribute is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> passed
to this function, then it will be passed to
<code class="literal">realloc()</code> to allocate the correct amount
of space for the attribute value.
</p>
<p>
If any attribute is not present on the object, or is sensitive and
cannot be retrieved, then the <code class="literal">pValue</code> will be NULL.
If <code class="literal">pValue</code> was not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when passed to this function
then it will be freed with <code class="literal">free()</code>. In these
cases <code class="literal">CKR_OK</code> is returned.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>template</code></em> :</span></p></td>
<td>the attributes to load. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
<td>the number of attributes</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>CKR_OK or a failure code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-destroy-object"></a><h3>p11_kit_iter_destroy_object ()</h3>
<pre class="programlisting"><a href="http://developer.gnome.org/gck/stable/pkcs11-links.html#CK-RV:CAPS"><span class="returnvalue">CK_RV</span></a>               p11_kit_iter_destroy_object         (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Destory the current matching object.
</p>
<p>
This can only be called after <a class="link" href="p11-kit-Future.html#p11-kit-iter-next" title="p11_kit_iter_next ()"><code class="function">p11_kit_iter_next()</code></a> succeeds.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>teh iterator</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>CKR_OK or a failure code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="p11-kit-iter-free"></a><h3>p11_kit_iter_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                p11_kit_iter_free                   (<em class="parameter"><code><a class="link" href="p11-kit-Future.html#P11KitIter" title="P11KitIter"><span class="type">P11KitIter</span></a> *iter</code></em>);</pre>
<p>
Frees the iterator and all resources, such as sessions
or callbacks held by the iterator.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>the iterator</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="P11KitIterBehavior"></a><h3>enum P11KitIterBehavior</h3>
<pre class="programlisting">typedef enum {
	P11_KIT_ITER_BUSY_SESSIONS = 1 &lt;&lt; 1,
	P11_KIT_ITER_WANT_WRITABLE = 1 &lt;&lt; 2,
} P11KitIterBehavior;
</pre>
<p>
Various flags controling the behavior of the iterator.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="P11-KIT-ITER-BUSY-SESSIONS:CAPS"></a><span class="term"><code class="literal">P11_KIT_ITER_BUSY_SESSIONS</code></span></p></td>
<td>Allow the iterator's sessions to be
  in a busy state when the iterator returns an object.
</td>
</tr>
<tr>
<td><p><a name="P11-KIT-ITER-WANT-WRITABLE:CAPS"></a><span class="term"><code class="literal">P11_KIT_ITER_WANT_WRITABLE</code></span></p></td>
<td>Try to open read-write sessions when
  iterating over obojects.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.19</div>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit