Tizen 2.0 Release
[external/libgnutls26.git] / doc / reference / html / gnutls-crypto.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>crypto</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GnuTLS API Reference Manual">
8 <link rel="up" href="intro.html" title="GnuTLS API Reference Manual">
9 <link rel="prev" href="gnutls-openpgp.html" title="openpgp">
10 <link rel="next" href="gnutls-openssl.html" title="openssl">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gnutls-openpgp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GnuTLS API Reference Manual</th>
21 <td><a accesskey="n" href="gnutls-openssl.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gnutls-crypto.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gnutls-crypto.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gnutls-crypto"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gnutls-crypto.top_of_page"></a>crypto</span></h2>
34 <p>crypto</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="gnutls-crypto.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">typedef             <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t">gnutls_cipher_hd_t</a>;
41 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-cipher-init" title="gnutls_cipher_init ()">gnutls_cipher_init</a>                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> *handle</code></em>,
42                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> cipher</code></em>,
43                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
44                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *iv</code></em>);
45 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt" title="gnutls_cipher_encrypt ()">gnutls_cipher_encrypt</a>               (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
46                                                          <em class="parameter"><code><span class="type">void</span> *text</code></em>,
47                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);
48 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt" title="gnutls_cipher_decrypt ()">gnutls_cipher_decrypt</a>               (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
49                                                          <em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>,
50                                                          <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);
51 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-cipher-decrypt2" title="gnutls_cipher_decrypt2 ()">gnutls_cipher_decrypt2</a>              (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
52                                                          <em class="parameter"><code>const <span class="type">void</span> *ciphertext</code></em>,
53                                                          <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>,
54                                                          <em class="parameter"><code><span class="type">void</span> *text</code></em>,
55                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);
56 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-cipher-encrypt2" title="gnutls_cipher_encrypt2 ()">gnutls_cipher_encrypt2</a>              (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
57                                                          <em class="parameter"><code><span class="type">void</span> *text</code></em>,
58                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
59                                                          <em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>,
60                                                          <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);
61 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-cipher-deinit" title="gnutls_cipher_deinit ()">gnutls_cipher_deinit</a>                (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>);
62 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-cipher-get-block-size" title="gnutls_cipher_get_block_size ()">gnutls_cipher_get_block_size</a>        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> algorithm</code></em>);
63 typedef             <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t">gnutls_hash_hd_t</a>;
64 typedef             <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t">gnutls_hmac_hd_t</a>;
65 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hmac-init" title="gnutls_hmac_init ()">gnutls_hmac_init</a>                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> *dig</code></em>,
66                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>,
67                                                          <em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
68                                                          <em class="parameter"><code><span class="type">size_t</span> keylen</code></em>);
69 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hmac" title="gnutls_hmac ()">gnutls_hmac</a>                         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>,
70                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
71                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);
72 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-hmac-output" title="gnutls_hmac_output ()">gnutls_hmac_output</a>                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>,
73                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);
74 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-hmac-deinit" title="gnutls_hmac_deinit ()">gnutls_hmac_deinit</a>                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>,
75                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);
76 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hmac-get-len" title="gnutls_hmac_get_len ()">gnutls_hmac_get_len</a>                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> algorithm</code></em>);
77 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hmac-fast" title="gnutls_hmac_fast ()">gnutls_hmac_fast</a>                    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> algorithm</code></em>,
78                                                          <em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
79                                                          <em class="parameter"><code><span class="type">size_t</span> keylen</code></em>,
80                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
81                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
82                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);
83 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hash-init" title="gnutls_hash_init ()">gnutls_hash_init</a>                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> *dig</code></em>,
84                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>);
85 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hash" title="gnutls_hash ()">gnutls_hash</a>                         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>,
86                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
87                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);
88 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-hash-output" title="gnutls_hash_output ()">gnutls_hash_output</a>                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>,
89                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);
90 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-hash-deinit" title="gnutls_hash_deinit ()">gnutls_hash_deinit</a>                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>,
91                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);
92 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hash-get-len" title="gnutls_hash_get_len ()">gnutls_hash_get_len</a>                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>);
93 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-hash-fast" title="gnutls_hash_fast ()">gnutls_hash_fast</a>                    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>,
94                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
95                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
96                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);
97 #define             <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION">GNUTLS_CRYPTO_API_VERSION</a>
98 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-st" title="gnutls_crypto_single_cipher_st">gnutls_crypto_single_cipher_st</a>
99 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-st" title="gnutls_crypto_single_mac_st">gnutls_crypto_single_mac_st</a>
100 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-st" title="gnutls_crypto_single_digest_st">gnutls_crypto_single_digest_st</a>
101 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#init" title="init ()">*init</a>)                             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> Param1</code></em>,
102                                                          <em class="parameter"><code><span class="type">void</span> **ctx</code></em>);
103 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#setkey" title="setkey ()">*setkey</a>)                           (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
104                                                          <em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
105                                                          <em class="parameter"><code><span class="type">size_t</span> keysize</code></em>);
106 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#setiv" title="setiv ()">*setiv</a>)                            (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
107                                                          <em class="parameter"><code>const <span class="type">void</span> *iv</code></em>,
108                                                          <em class="parameter"><code><span class="type">size_t</span> ivsize</code></em>);
109 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#encrypt" title="encrypt ()">*encrypt</a>)                          (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
110                                                          <em class="parameter"><code>const <span class="type">void</span> *plain</code></em>,
111                                                          <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>,
112                                                          <em class="parameter"><code><span class="type">void</span> *encr</code></em>,
113                                                          <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>);
114 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#decrypt" title="decrypt ()">*decrypt</a>)                          (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
115                                                          <em class="parameter"><code>const <span class="type">void</span> *encr</code></em>,
116                                                          <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>,
117                                                          <em class="parameter"><code><span class="type">void</span> *plain</code></em>,
118                                                          <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>);
119 <span class="returnvalue">void</span>                (<a class="link" href="gnutls-crypto.html#deinit" title="deinit ()">*deinit</a>)                           (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>);
120 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#hash" title="hash ()">*hash</a>)                             (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
121                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
122                                                          <em class="parameter"><code><span class="type">size_t</span> textsize</code></em>);
123 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#output" title="output ()">*output</a>)                           (<em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>,
124                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>,
125                                                          <em class="parameter"><code><span class="type">size_t</span> digestsize</code></em>);
126 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#copy" title="copy ()">*copy</a>)                             (<em class="parameter"><code><span class="type">void</span> **dst_ctx</code></em>,
127                                                          <em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>);
128 enum                <a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t">gnutls_rnd_level_t</a>;
129 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-rnd" title="gnutls_rnd ()">gnutls_rnd</a>                          (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t"><span class="type">gnutls_rnd_level_t</span></a> level</code></em>,
130                                                          <em class="parameter"><code><span class="type">void</span> *data</code></em>,
131                                                          <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
132 enum                <a class="link" href="gnutls-crypto.html#gnutls-pk-flag-t" title="enum gnutls_pk_flag_t">gnutls_pk_flag_t</a>;
133 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#rnd" title="rnd ()">*rnd</a>)                              (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
134                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> level</code></em>,
135                                                          <em class="parameter"><code><span class="type">void</span> *data</code></em>,
136                                                          <em class="parameter"><code><span class="type">size_t</span> datasize</code></em>);
137 typedef             <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a>;
138 enum                <a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t">gnutls_bigint_format_t</a>;
139 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-new" title="bigint_new ()">*bigint_new</a>)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> nbits</code></em>);
140 <span class="returnvalue">void</span>                (<a class="link" href="gnutls-crypto.html#bigint-release" title="bigint_release ()">*bigint_release</a>)                   (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> n</code></em>);
141 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#bigint-cmp" title="bigint_cmp ()">*bigint_cmp</a>)                       (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m1</code></em>,
142                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m2</code></em>);
143 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#bigint-cmp-ui" title="bigint_cmp_ui ()">*bigint_cmp_ui</a>)                    (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m1</code></em>,
144                                                          <em class="parameter"><code><span class="type">unsigned long </span> m2</code></em>);
145 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-mod" title="bigint_mod ()">*bigint_mod</a>)                       (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
146                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);
147 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-set" title="bigint_set ()">*bigint_set</a>)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
148                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);
149 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-set-ui" title="bigint_set_ui ()">*bigint_set_ui</a>)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
150                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
151 <span class="returnvalue">unsigned</span>            <a class="link" href="gnutls-crypto.html#int" title="int ()">int</a>                                 ();
152 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-powm" title="bigint_powm ()">*bigint_powm</a>)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
153                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
154                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> e</code></em>,
155                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);
156 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-addm" title="bigint_addm ()">*bigint_addm</a>)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
157                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
158                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
159                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);
160 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-subm" title="bigint_subm ()">*bigint_subm</a>)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
161                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
162                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
163                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);
164 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-mulm" title="bigint_mulm ()">*bigint_mulm</a>)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
165                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
166                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
167                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);
168 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-mul" title="bigint_mul ()">*bigint_mul</a>)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
169                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
170                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);
171 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-add-ui" title="bigint_add_ui ()">*bigint_add_ui</a>)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
172                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
173                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
174 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-sub-ui" title="bigint_sub_ui ()">*bigint_sub_ui</a>)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
175                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
176                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
177 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-mul-ui" title="bigint_mul_ui ()">*bigint_mul_ui</a>)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
178                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
179                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
180 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-div" title="bigint_div ()">*bigint_div</a>)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> q</code></em>,
181                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
182                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);
183 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#bigint-prime-check" title="bigint_prime_check ()">*bigint_prime_check</a>)               (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> pp</code></em>);
184 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#bigint-generate-group" title="bigint_generate_group ()">*bigint_generate_group</a>)            (<em class="parameter"><code><span class="type">gnutls_group_st</span> *gg</code></em>,
185                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</code></em>);
186 <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (<a class="link" href="gnutls-crypto.html#bigint-scan" title="bigint_scan ()">*bigint_scan</a>)                      (<em class="parameter"><code>const <span class="type">void</span> *buf</code></em>,
187                                                          <em class="parameter"><code><span class="type">size_t</span> buf_size</code></em>,
188                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t"><span class="type">gnutls_bigint_format_t</span></a> format</code></em>);
189 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#bigint-print" title="bigint_print ()">*bigint_print</a>)                     (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
190                                                          <em class="parameter"><code><span class="type">void</span> *buf</code></em>,
191                                                          <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>,
192                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t"><span class="type">gnutls_bigint_format_t</span></a> format</code></em>);
193 #define             <a class="link" href="gnutls-crypto.html#GNUTLS-MAX-PK-PARAMS:CAPS" title="GNUTLS_MAX_PK_PARAMS">GNUTLS_MAX_PK_PARAMS</a>
194 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-pk-params-release" title="gnutls_pk_params_release ()">gnutls_pk_params_release</a>            (<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *p</code></em>);
195 <span class="returnvalue">void</span>                <a class="link" href="gnutls-crypto.html#gnutls-pk-params-init" title="gnutls_pk_params_init ()">gnutls_pk_params_init</a>               (<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *p</code></em>);
196 enum                <a class="link" href="gnutls-crypto.html#gnutls-direction-t" title="enum gnutls_direction_t">gnutls_direction_t</a>;
197 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#sign" title="sign ()">*sign</a>)                             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
198                                                          <em class="parameter"><code><span class="type">gnutls_datum_t</span> *signature</code></em>,
199                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
200                                                          <em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *priv</code></em>);
201 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#verify" title="verify ()">*verify</a>)                           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
202                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
203                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *signature</code></em>,
204                                                          <em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *pub</code></em>);
205 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#generate" title="generate ()">*generate</a>)                         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
206                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> nbits</code></em>,
207                                                          <em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);
208 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-crypto.html#pk-fixup-private-params" title="pk_fixup_private_params ()">*pk_fixup_private_params</a>)          (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
209                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-direction-t" title="enum gnutls_direction_t"><span class="type">gnutls_direction_t</span></a> Param2</code></em>,
210                                                          <em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);
211 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-register" title="gnutls_crypto_single_cipher_register()">gnutls_crypto_single_cipher_register</a>(algo,
212                                                          prio,
213                                                          st)
214 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-register" title="gnutls_crypto_single_mac_register()">gnutls_crypto_single_mac_register</a>   (algo,
215                                                          prio,
216                                                          st)
217 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-register" title="gnutls_crypto_single_digest_register()">gnutls_crypto_single_digest_register</a>(algo,
218                                                          prio,
219                                                          st)
220 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-register2" title="gnutls_crypto_single_cipher_register2 ()">gnutls_crypto_single_cipher_register2</a>
221                                                         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> algorithm</code></em>,
222                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
223                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
224                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-st" title="gnutls_crypto_single_cipher_st"><span class="type">gnutls_crypto_single_cipher_st</span></a> *s</code></em>);
225 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-register2" title="gnutls_crypto_single_mac_register2 ()">gnutls_crypto_single_mac_register2</a>  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> algorithm</code></em>,
226                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
227                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
228                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-st" title="gnutls_crypto_single_mac_st"><span class="type">gnutls_crypto_single_mac_st</span></a> *s</code></em>);
229 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-register2" title="gnutls_crypto_single_digest_register2 ()">gnutls_crypto_single_digest_register2</a>
230                                                         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>,
231                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
232                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
233                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-st" title="gnutls_crypto_single_digest_st"><span class="type">gnutls_crypto_single_digest_st</span></a> *s</code></em>);
234 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-cipher-register" title="gnutls_crypto_cipher_register()">gnutls_crypto_cipher_register</a>       (prio,
235                                                          st)
236 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-mac-register" title="gnutls_crypto_mac_register()">gnutls_crypto_mac_register</a>          (prio,
237                                                          st)
238 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register" title="gnutls_crypto_digest_register()">gnutls_crypto_digest_register</a>       (prio,
239                                                          st)
240 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-cipher-register2" title="gnutls_crypto_cipher_register2 ()">gnutls_crypto_cipher_register2</a>      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
241                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
242                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_cipher_st</span> *s</code></em>);
243 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-mac-register2" title="gnutls_crypto_mac_register2 ()">gnutls_crypto_mac_register2</a>         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
244                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
245                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_mac_st</span> *s</code></em>);
246 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register2" title="gnutls_crypto_digest_register2 ()">gnutls_crypto_digest_register2</a>      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
247                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
248                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_digest_st</span> *s</code></em>);
249 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-rnd-register" title="gnutls_crypto_rnd_register()">gnutls_crypto_rnd_register</a>          (prio,
250                                                          st)
251 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register" title="gnutls_crypto_pk_register()">gnutls_crypto_pk_register</a>           (prio,
252                                                          st)
253 #define             <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register" title="gnutls_crypto_bigint_register()">gnutls_crypto_bigint_register</a>       (prio,
254                                                          st)
255 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-rnd-register2" title="gnutls_crypto_rnd_register2 ()">gnutls_crypto_rnd_register2</a>         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
256                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
257                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_rnd_st</span> *s</code></em>);
258 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register2" title="gnutls_crypto_pk_register2 ()">gnutls_crypto_pk_register2</a>          (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
259                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
260                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_pk_st</span> *s</code></em>);
261 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register2" title="gnutls_crypto_bigint_register2 ()">gnutls_crypto_bigint_register2</a>      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
262                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
263                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_bigint_st</span> *s</code></em>);
264 </pre>
265 </div>
266 <div class="refsect1">
267 <a name="gnutls-crypto.description"></a><h2>Description</h2>
268 <p>
269 </p>
270 </div>
271 <div class="refsect1">
272 <a name="gnutls-crypto.details"></a><h2>Details</h2>
273 <div class="refsect2">
274 <a name="gnutls-cipher-hd-t"></a><h3>gnutls_cipher_hd_t</h3>
275 <pre class="programlisting">  typedef struct cipher_hd_st *gnutls_cipher_hd_t;
276 </pre>
277 <p>
278 </p>
279 </div>
280 <hr>
281 <div class="refsect2">
282 <a name="gnutls-cipher-init"></a><h3>gnutls_cipher_init ()</h3>
283 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_init                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> *handle</code></em>,
284                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> cipher</code></em>,
285                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
286                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *iv</code></em>);</pre>
287 <p>
288 This function will initialize an context that can be used for
289 encryption/decryption of data. This will effectively use the
290 current crypto backend in use by gnutls or the cryptographic
291 accelerator in use.
292 </p>
293 <div class="variablelist"><table border="0">
294 <col align="left" valign="top">
295 <tbody>
296 <tr>
297 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
298 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
299 </tr>
300 <tr>
301 <td><p><span class="term"><em class="parameter"><code>cipher</code></em> :</span></p></td>
302 <td>the encryption algorithm to use</td>
303 </tr>
304 <tr>
305 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
306 <td>The key to be used for encryption</td>
307 </tr>
308 <tr>
309 <td><p><span class="term"><em class="parameter"><code>iv</code></em> :</span></p></td>
310 <td>The IV to use (if not applicable set NULL)</td>
311 </tr>
312 <tr>
313 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
314 <td>Zero or a negative value on error.</td>
315 </tr>
316 </tbody>
317 </table></div>
318 <p class="since">Since 2.10.0</p>
319 </div>
320 <hr>
321 <div class="refsect2">
322 <a name="gnutls-cipher-encrypt"></a><h3>gnutls_cipher_encrypt ()</h3>
323 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_encrypt               (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
324                                                          <em class="parameter"><code><span class="type">void</span> *text</code></em>,
325                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
326 <p>
327 This function will encrypt the given data using the algorithm
328 specified by the context.
329 </p>
330 <div class="variablelist"><table border="0">
331 <col align="left" valign="top">
332 <tbody>
333 <tr>
334 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
335 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
336 </tr>
337 <tr>
338 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
339 <td>the data to encrypt</td>
340 </tr>
341 <tr>
342 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
343 <td>The length of data to encrypt</td>
344 </tr>
345 <tr>
346 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
347 <td>Zero or a negative value on error.</td>
348 </tr>
349 </tbody>
350 </table></div>
351 <p class="since">Since 2.10.0</p>
352 </div>
353 <hr>
354 <div class="refsect2">
355 <a name="gnutls-cipher-decrypt"></a><h3>gnutls_cipher_decrypt ()</h3>
356 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_decrypt               (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
357                                                          <em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>,
358                                                          <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);</pre>
359 <p>
360 This function will decrypt the given data using the algorithm
361 specified by the context.
362 </p>
363 <div class="variablelist"><table border="0">
364 <col align="left" valign="top">
365 <tbody>
366 <tr>
367 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
368 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
369 </tr>
370 <tr>
371 <td><p><span class="term"><em class="parameter"><code>ciphertext</code></em> :</span></p></td>
372 <td>the data to encrypt</td>
373 </tr>
374 <tr>
375 <td><p><span class="term"><em class="parameter"><code>ciphertextlen</code></em> :</span></p></td>
376 <td>The length of data to encrypt</td>
377 </tr>
378 <tr>
379 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
380 <td>Zero or a negative value on error.</td>
381 </tr>
382 </tbody>
383 </table></div>
384 <p class="since">Since 2.10.0</p>
385 </div>
386 <hr>
387 <div class="refsect2">
388 <a name="gnutls-cipher-decrypt2"></a><h3>gnutls_cipher_decrypt2 ()</h3>
389 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_decrypt2              (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
390                                                          <em class="parameter"><code>const <span class="type">void</span> *ciphertext</code></em>,
391                                                          <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>,
392                                                          <em class="parameter"><code><span class="type">void</span> *text</code></em>,
393                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
394 <p>
395 This function will decrypt the given data using the algorithm
396 specified by the context.
397 </p>
398 <div class="variablelist"><table border="0">
399 <col align="left" valign="top">
400 <tbody>
401 <tr>
402 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
403 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
404 </tr>
405 <tr>
406 <td><p><span class="term"><em class="parameter"><code>ciphertext</code></em> :</span></p></td>
407 <td>the data to encrypt</td>
408 </tr>
409 <tr>
410 <td><p><span class="term"><em class="parameter"><code>ciphertextlen</code></em> :</span></p></td>
411 <td>The length of data to encrypt</td>
412 </tr>
413 <tr>
414 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
415 <td>the decrypted data</td>
416 </tr>
417 <tr>
418 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
419 <td>The available length for decrypted data</td>
420 </tr>
421 <tr>
422 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
423 <td>Zero or a negative value on error.</td>
424 </tr>
425 </tbody>
426 </table></div>
427 <p class="since">Since 2.10.0</p>
428 </div>
429 <hr>
430 <div class="refsect2">
431 <a name="gnutls-cipher-encrypt2"></a><h3>gnutls_cipher_encrypt2 ()</h3>
432 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_encrypt2              (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>,
433                                                          <em class="parameter"><code><span class="type">void</span> *text</code></em>,
434                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
435                                                          <em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>,
436                                                          <em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);</pre>
437 <p>
438 This function will encrypt the given data using the algorithm
439 specified by the context.
440 </p>
441 <div class="variablelist"><table border="0">
442 <col align="left" valign="top">
443 <tbody>
444 <tr>
445 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
446 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
447 </tr>
448 <tr>
449 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
450 <td>the data to encrypt</td>
451 </tr>
452 <tr>
453 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
454 <td>The length of data to encrypt</td>
455 </tr>
456 <tr>
457 <td><p><span class="term"><em class="parameter"><code>ciphertext</code></em> :</span></p></td>
458 <td>the encrypted data</td>
459 </tr>
460 <tr>
461 <td><p><span class="term"><em class="parameter"><code>ciphertextlen</code></em> :</span></p></td>
462 <td>The available length for encrypted data</td>
463 </tr>
464 <tr>
465 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
466 <td>Zero or a negative value on error.</td>
467 </tr>
468 </tbody>
469 </table></div>
470 <p class="since">Since 2.10.0</p>
471 </div>
472 <hr>
473 <div class="refsect2">
474 <a name="gnutls-cipher-deinit"></a><h3>gnutls_cipher_deinit ()</h3>
475 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_cipher_deinit                (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> handle</code></em>);</pre>
476 <p>
477 This function will deinitialize all resources occupied by the given
478 encryption context.
479 </p>
480 <div class="variablelist"><table border="0">
481 <col align="left" valign="top">
482 <tbody><tr>
483 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
484 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
485 </tr></tbody>
486 </table></div>
487 <p class="since">Since 2.10.0</p>
488 </div>
489 <hr>
490 <div class="refsect2">
491 <a name="gnutls-cipher-get-block-size"></a><h3>gnutls_cipher_get_block_size ()</h3>
492 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_get_block_size        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> algorithm</code></em>);</pre>
493 <p>
494 Get block size for encryption algorithm.
495 </p>
496 <div class="variablelist"><table border="0">
497 <col align="left" valign="top">
498 <tbody>
499 <tr>
500 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
501 <td>is an encryption algorithm</td>
502 </tr>
503 <tr>
504 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
505 <td>block size for encryption algorithm.</td>
506 </tr>
507 </tbody>
508 </table></div>
509 <p class="since">Since 2.10.0</p>
510 </div>
511 <hr>
512 <div class="refsect2">
513 <a name="gnutls-hash-hd-t"></a><h3>gnutls_hash_hd_t</h3>
514 <pre class="programlisting">  typedef struct hash_hd_st *gnutls_hash_hd_t;
515 </pre>
516 <p>
517 </p>
518 </div>
519 <hr>
520 <div class="refsect2">
521 <a name="gnutls-hmac-hd-t"></a><h3>gnutls_hmac_hd_t</h3>
522 <pre class="programlisting">  typedef struct hmac_hd_st *gnutls_hmac_hd_t;
523 </pre>
524 <p>
525 </p>
526 </div>
527 <hr>
528 <div class="refsect2">
529 <a name="gnutls-hmac-init"></a><h3>gnutls_hmac_init ()</h3>
530 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hmac_init                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> *dig</code></em>,
531                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>,
532                                                          <em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
533                                                          <em class="parameter"><code><span class="type">size_t</span> keylen</code></em>);</pre>
534 <p>
535 This function will initialize an context that can be used to
536 produce a Message Authentication Code (MAC) of data.  This will
537 effectively use the current crypto backend in use by gnutls or the
538 cryptographic accelerator in use.
539 </p>
540 <div class="variablelist"><table border="0">
541 <col align="left" valign="top">
542 <tbody>
543 <tr>
544 <td><p><span class="term"><em class="parameter"><code>dig</code></em> :</span></p></td>
545 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> structure.</td>
546 </tr>
547 <tr>
548 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
549 <td>the HMAC algorithm to use</td>
550 </tr>
551 <tr>
552 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
553 <td>The key to be used for encryption</td>
554 </tr>
555 <tr>
556 <td><p><span class="term"><em class="parameter"><code>keylen</code></em> :</span></p></td>
557 <td>The length of the key</td>
558 </tr>
559 <tr>
560 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
561 <td>Zero or a negative value on error.</td>
562 </tr>
563 </tbody>
564 </table></div>
565 <p class="since">Since 2.10.0</p>
566 </div>
567 <hr>
568 <div class="refsect2">
569 <a name="gnutls-hmac"></a><h3>gnutls_hmac ()</h3>
570 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hmac                         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>,
571                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
572                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
573 <p>
574 This function will hash the given data using the algorithm
575 specified by the context.
576 </p>
577 <div class="variablelist"><table border="0">
578 <col align="left" valign="top">
579 <tbody>
580 <tr>
581 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
582 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
583 </tr>
584 <tr>
585 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
586 <td>the data to hash</td>
587 </tr>
588 <tr>
589 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
590 <td>The length of data to hash</td>
591 </tr>
592 <tr>
593 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
594 <td>Zero or a negative value on error.</td>
595 </tr>
596 </tbody>
597 </table></div>
598 <p class="since">Since 2.10.0</p>
599 </div>
600 <hr>
601 <div class="refsect2">
602 <a name="gnutls-hmac-output"></a><h3>gnutls_hmac_output ()</h3>
603 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_hmac_output                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>,
604                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
605 <p>
606 This function will output the current MAC value.
607 </p>
608 <div class="variablelist"><table border="0">
609 <col align="left" valign="top">
610 <tbody>
611 <tr>
612 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
613 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> structure.</td>
614 </tr>
615 <tr>
616 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
617 <td>is the output value of the MAC</td>
618 </tr>
619 </tbody>
620 </table></div>
621 <p class="since">Since 2.10.0</p>
622 </div>
623 <hr>
624 <div class="refsect2">
625 <a name="gnutls-hmac-deinit"></a><h3>gnutls_hmac_deinit ()</h3>
626 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_hmac_deinit                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> handle</code></em>,
627                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
628 <p>
629 This function will deinitialize all resources occupied by
630 the given hmac context.
631 </p>
632 <div class="variablelist"><table border="0">
633 <col align="left" valign="top">
634 <tbody>
635 <tr>
636 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
637 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t"><span class="type">gnutls_hmac_hd_t</span></a> structure.</td>
638 </tr>
639 <tr>
640 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
641 <td>is the output value of the MAC</td>
642 </tr>
643 </tbody>
644 </table></div>
645 <p class="since">Since 2.10.0</p>
646 </div>
647 <hr>
648 <div class="refsect2">
649 <a name="gnutls-hmac-get-len"></a><h3>gnutls_hmac_get_len ()</h3>
650 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hmac_get_len                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> algorithm</code></em>);</pre>
651 <p>
652 This function will return the length of the output data
653 of the given hmac algorithm.
654 </p>
655 <div class="variablelist"><table border="0">
656 <col align="left" valign="top">
657 <tbody>
658 <tr>
659 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
660 <td>the hmac algorithm to use</td>
661 </tr>
662 <tr>
663 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
664 <td>The length or zero on error.</td>
665 </tr>
666 </tbody>
667 </table></div>
668 <p class="since">Since 2.10.0</p>
669 </div>
670 <hr>
671 <div class="refsect2">
672 <a name="gnutls-hmac-fast"></a><h3>gnutls_hmac_fast ()</h3>
673 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hmac_fast                    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> algorithm</code></em>,
674                                                          <em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
675                                                          <em class="parameter"><code><span class="type">size_t</span> keylen</code></em>,
676                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
677                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
678                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
679 <p>
680 This convenience function will hash the given data and return output
681 on a single call.
682 </p>
683 <div class="variablelist"><table border="0">
684 <col align="left" valign="top">
685 <tbody>
686 <tr>
687 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
688 <td>the hash algorithm to use</td>
689 </tr>
690 <tr>
691 <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
692 <td>the key to use</td>
693 </tr>
694 <tr>
695 <td><p><span class="term"><em class="parameter"><code>keylen</code></em> :</span></p></td>
696 <td>The length of the key</td>
697 </tr>
698 <tr>
699 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
700 <td>the data to hash</td>
701 </tr>
702 <tr>
703 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
704 <td>The length of data to hash</td>
705 </tr>
706 <tr>
707 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
708 <td>is the output value of the hash</td>
709 </tr>
710 <tr>
711 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
712 <td>Zero or a negative value on error.</td>
713 </tr>
714 </tbody>
715 </table></div>
716 <p class="since">Since 2.10.0</p>
717 </div>
718 <hr>
719 <div class="refsect2">
720 <a name="gnutls-hash-init"></a><h3>gnutls_hash_init ()</h3>
721 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hash_init                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> *dig</code></em>,
722                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>);</pre>
723 <p>
724 This function will initialize an context that can be used to
725 produce a Message Digest of data.  This will effectively use the
726 current crypto backend in use by gnutls or the cryptographic
727 accelerator in use.
728 </p>
729 <div class="variablelist"><table border="0">
730 <col align="left" valign="top">
731 <tbody>
732 <tr>
733 <td><p><span class="term"><em class="parameter"><code>dig</code></em> :</span></p></td>
734 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> structure.</td>
735 </tr>
736 <tr>
737 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
738 <td>the hash algorithm to use</td>
739 </tr>
740 <tr>
741 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
742 <td>Zero or a negative value on error.</td>
743 </tr>
744 </tbody>
745 </table></div>
746 <p class="since">Since 2.10.0</p>
747 </div>
748 <hr>
749 <div class="refsect2">
750 <a name="gnutls-hash"></a><h3>gnutls_hash ()</h3>
751 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hash                         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>,
752                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
753                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
754 <p>
755 This function will hash the given data using the algorithm
756 specified by the context.
757 </p>
758 <div class="variablelist"><table border="0">
759 <col align="left" valign="top">
760 <tbody>
761 <tr>
762 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
763 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-cipher-hd-t" title="gnutls_cipher_hd_t"><span class="type">gnutls_cipher_hd_t</span></a> structure.</td>
764 </tr>
765 <tr>
766 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
767 <td>the data to hash</td>
768 </tr>
769 <tr>
770 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
771 <td>The length of data to hash</td>
772 </tr>
773 <tr>
774 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
775 <td>Zero or a negative value on error.</td>
776 </tr>
777 </tbody>
778 </table></div>
779 <p class="since">Since 2.10.0</p>
780 </div>
781 <hr>
782 <div class="refsect2">
783 <a name="gnutls-hash-output"></a><h3>gnutls_hash_output ()</h3>
784 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_hash_output                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>,
785                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
786 <p>
787 This function will output the current hash value.
788 </p>
789 <div class="variablelist"><table border="0">
790 <col align="left" valign="top">
791 <tbody>
792 <tr>
793 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
794 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> structure.</td>
795 </tr>
796 <tr>
797 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
798 <td>is the output value of the hash</td>
799 </tr>
800 </tbody>
801 </table></div>
802 <p class="since">Since 2.10.0</p>
803 </div>
804 <hr>
805 <div class="refsect2">
806 <a name="gnutls-hash-deinit"></a><h3>gnutls_hash_deinit ()</h3>
807 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_hash_deinit                  (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> handle</code></em>,
808                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
809 <p>
810 This function will deinitialize all resources occupied by
811 the given hash context.
812 </p>
813 <div class="variablelist"><table border="0">
814 <col align="left" valign="top">
815 <tbody>
816 <tr>
817 <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
818 <td>is a <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t"><span class="type">gnutls_hash_hd_t</span></a> structure.</td>
819 </tr>
820 <tr>
821 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
822 <td>is the output value of the hash</td>
823 </tr>
824 </tbody>
825 </table></div>
826 <p class="since">Since 2.10.0</p>
827 </div>
828 <hr>
829 <div class="refsect2">
830 <a name="gnutls-hash-get-len"></a><h3>gnutls_hash_get_len ()</h3>
831 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hash_get_len                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>);</pre>
832 <p>
833 This function will return the length of the output data
834 of the given hash algorithm.
835 </p>
836 <div class="variablelist"><table border="0">
837 <col align="left" valign="top">
838 <tbody>
839 <tr>
840 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
841 <td>the hash algorithm to use</td>
842 </tr>
843 <tr>
844 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
845 <td>The length or zero on error.</td>
846 </tr>
847 </tbody>
848 </table></div>
849 <p class="since">Since 2.10.0</p>
850 </div>
851 <hr>
852 <div class="refsect2">
853 <a name="gnutls-hash-fast"></a><h3>gnutls_hash_fast ()</h3>
854 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hash_fast                    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>,
855                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
856                                                          <em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
857                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
858 <p>
859 This convenience function will hash the given data and return output
860 on a single call.
861 </p>
862 <div class="variablelist"><table border="0">
863 <col align="left" valign="top">
864 <tbody>
865 <tr>
866 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
867 <td>the hash algorithm to use</td>
868 </tr>
869 <tr>
870 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
871 <td>the data to hash</td>
872 </tr>
873 <tr>
874 <td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
875 <td>The length of data to hash</td>
876 </tr>
877 <tr>
878 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
879 <td>is the output value of the hash</td>
880 </tr>
881 <tr>
882 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
883 <td>Zero or a negative value on error.</td>
884 </tr>
885 </tbody>
886 </table></div>
887 <p class="since">Since 2.10.0</p>
888 </div>
889 <hr>
890 <div class="refsect2">
891 <a name="GNUTLS-CRYPTO-API-VERSION:CAPS"></a><h3>GNUTLS_CRYPTO_API_VERSION</h3>
892 <pre class="programlisting">#define GNUTLS_CRYPTO_API_VERSION 0x03
893 </pre>
894 <p>
895 </p>
896 </div>
897 <hr>
898 <div class="refsect2">
899 <a name="gnutls-crypto-single-cipher-st"></a><h3>gnutls_crypto_single_cipher_st</h3>
900 <pre class="programlisting">#define gnutls_crypto_single_cipher_st gnutls_crypto_cipher_st
901 </pre>
902 <p>
903 </p>
904 </div>
905 <hr>
906 <div class="refsect2">
907 <a name="gnutls-crypto-single-mac-st"></a><h3>gnutls_crypto_single_mac_st</h3>
908 <pre class="programlisting">#define gnutls_crypto_single_mac_st gnutls_crypto_mac_st
909 </pre>
910 <p>
911 </p>
912 </div>
913 <hr>
914 <div class="refsect2">
915 <a name="gnutls-crypto-single-digest-st"></a><h3>gnutls_crypto_single_digest_st</h3>
916 <pre class="programlisting">#define gnutls_crypto_single_digest_st gnutls_crypto_digest_st
917 </pre>
918 <p>
919 </p>
920 </div>
921 <hr>
922 <div class="refsect2">
923 <a name="init"></a><h3>init ()</h3>
924 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*init)                             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> Param1</code></em>,
925                                                          <em class="parameter"><code><span class="type">void</span> **ctx</code></em>);</pre>
926 <p>
927 </p>
928 </div>
929 <hr>
930 <div class="refsect2">
931 <a name="setkey"></a><h3>setkey ()</h3>
932 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*setkey)                           (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
933                                                          <em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
934                                                          <em class="parameter"><code><span class="type">size_t</span> keysize</code></em>);</pre>
935 <p>
936 </p>
937 </div>
938 <hr>
939 <div class="refsect2">
940 <a name="setiv"></a><h3>setiv ()</h3>
941 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*setiv)                            (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
942                                                          <em class="parameter"><code>const <span class="type">void</span> *iv</code></em>,
943                                                          <em class="parameter"><code><span class="type">size_t</span> ivsize</code></em>);</pre>
944 <p>
945 </p>
946 </div>
947 <hr>
948 <div class="refsect2">
949 <a name="encrypt"></a><h3>encrypt ()</h3>
950 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*encrypt)                          (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
951                                                          <em class="parameter"><code>const <span class="type">void</span> *plain</code></em>,
952                                                          <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>,
953                                                          <em class="parameter"><code><span class="type">void</span> *encr</code></em>,
954                                                          <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>);</pre>
955 <p>
956 </p>
957 </div>
958 <hr>
959 <div class="refsect2">
960 <a name="decrypt"></a><h3>decrypt ()</h3>
961 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*decrypt)                          (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
962                                                          <em class="parameter"><code>const <span class="type">void</span> *encr</code></em>,
963                                                          <em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>,
964                                                          <em class="parameter"><code><span class="type">void</span> *plain</code></em>,
965                                                          <em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>);</pre>
966 <p>
967 </p>
968 </div>
969 <hr>
970 <div class="refsect2">
971 <a name="deinit"></a><h3>deinit ()</h3>
972 <pre class="programlisting"><span class="returnvalue">void</span>                (*deinit)                           (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>);</pre>
973 <p>
974 </p>
975 </div>
976 <hr>
977 <div class="refsect2">
978 <a name="hash"></a><h3>hash ()</h3>
979 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*hash)                             (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
980                                                          <em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
981                                                          <em class="parameter"><code><span class="type">size_t</span> textsize</code></em>);</pre>
982 <p>
983 </p>
984 </div>
985 <hr>
986 <div class="refsect2">
987 <a name="output"></a><h3>output ()</h3>
988 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*output)                           (<em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>,
989                                                          <em class="parameter"><code><span class="type">void</span> *digest</code></em>,
990                                                          <em class="parameter"><code><span class="type">size_t</span> digestsize</code></em>);</pre>
991 <p>
992 </p>
993 </div>
994 <hr>
995 <div class="refsect2">
996 <a name="copy"></a><h3>copy ()</h3>
997 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*copy)                             (<em class="parameter"><code><span class="type">void</span> **dst_ctx</code></em>,
998                                                          <em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>);</pre>
999 <p>
1000 </p>
1001 </div>
1002 <hr>
1003 <div class="refsect2">
1004 <a name="gnutls-rnd-level-t"></a><h3>enum gnutls_rnd_level_t</h3>
1005 <pre class="programlisting">typedef enum {
1006     GNUTLS_RND_NONCE = 0,
1007     GNUTLS_RND_RANDOM = 1,
1008     GNUTLS_RND_KEY = 2
1009 } gnutls_rnd_level_t;
1010 </pre>
1011 <p>
1012 Enumeration of random quality levels.
1013 </p>
1014 <div class="variablelist"><table border="0">
1015 <col align="left" valign="top">
1016 <tbody>
1017 <tr>
1018 <td><p><a name="GNUTLS-RND-NONCE:CAPS"></a><span class="term"><code class="literal">GNUTLS_RND_NONCE</code></span></p></td>
1019 <td>Non-predictable random number.  Fatal in parts
1020   of session if broken, i.e., vulnerable to statistical analysis.
1021 </td>
1022 </tr>
1023 <tr>
1024 <td><p><a name="GNUTLS-RND-RANDOM:CAPS"></a><span class="term"><code class="literal">GNUTLS_RND_RANDOM</code></span></p></td>
1025 <td>Pseudo-random cryptographic random number.
1026   Fatal in session if broken.
1027 </td>
1028 </tr>
1029 <tr>
1030 <td><p><a name="GNUTLS-RND-KEY:CAPS"></a><span class="term"><code class="literal">GNUTLS_RND_KEY</code></span></p></td>
1031 <td>Fatal in many sessions if broken.
1032 </td>
1033 </tr>
1034 </tbody>
1035 </table></div>
1036 </div>
1037 <hr>
1038 <div class="refsect2">
1039 <a name="gnutls-rnd"></a><h3>gnutls_rnd ()</h3>
1040 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rnd                          (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t"><span class="type">gnutls_rnd_level_t</span></a> level</code></em>,
1041                                                          <em class="parameter"><code><span class="type">void</span> *data</code></em>,
1042                                                          <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
1043 <p>
1044 This function will generate random data and store it
1045 to output buffer.
1046 </p>
1047 <div class="variablelist"><table border="0">
1048 <col align="left" valign="top">
1049 <tbody>
1050 <tr>
1051 <td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
1052 <td>a security level</td>
1053 </tr>
1054 <tr>
1055 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1056 <td>place to store random bytes</td>
1057 </tr>
1058 <tr>
1059 <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1060 <td>The requested size</td>
1061 </tr>
1062 <tr>
1063 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1064 <td>Zero or a negative value on error.</td>
1065 </tr>
1066 </tbody>
1067 </table></div>
1068 </div>
1069 <hr>
1070 <div class="refsect2">
1071 <a name="gnutls-pk-flag-t"></a><h3>enum gnutls_pk_flag_t</h3>
1072 <pre class="programlisting">typedef enum {
1073     GNUTLS_PK_FLAG_NONE = 0
1074 } gnutls_pk_flag_t;
1075 </pre>
1076 <p>
1077 Enumeration of public-key flag.
1078 </p>
1079 <div class="variablelist"><table border="0">
1080 <col align="left" valign="top">
1081 <tbody><tr>
1082 <td><p><a name="GNUTLS-PK-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GNUTLS_PK_FLAG_NONE</code></span></p></td>
1083 <td>No flag.
1084 </td>
1085 </tr></tbody>
1086 </table></div>
1087 </div>
1088 <hr>
1089 <div class="refsect2">
1090 <a name="rnd"></a><h3>rnd ()</h3>
1091 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*rnd)                              (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
1092                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> level</code></em>,
1093                                                          <em class="parameter"><code><span class="type">void</span> *data</code></em>,
1094                                                          <em class="parameter"><code><span class="type">size_t</span> datasize</code></em>);</pre>
1095 <p>
1096 </p>
1097 </div>
1098 <hr>
1099 <div class="refsect2">
1100 <a name="bigint-t"></a><h3>bigint_t</h3>
1101 <pre class="programlisting">  typedef void *bigint_t;
1102 </pre>
1103 <p>
1104 </p>
1105 </div>
1106 <hr>
1107 <div class="refsect2">
1108 <a name="gnutls-bigint-format-t"></a><h3>enum gnutls_bigint_format_t</h3>
1109 <pre class="programlisting">typedef enum {
1110     /* raw unsigned integer format */
1111     GNUTLS_MPI_FORMAT_USG = 0,
1112     /* raw signed integer format - always a leading zero when positive */
1113     GNUTLS_MPI_FORMAT_STD = 1,
1114     /* the pgp integer format */
1115     GNUTLS_MPI_FORMAT_PGP = 2
1116 } gnutls_bigint_format_t;
1117 </pre>
1118 <p>
1119 Enumeration of different bignum integer encoding formats.
1120 </p>
1121 <div class="variablelist"><table border="0">
1122 <col align="left" valign="top">
1123 <tbody>
1124 <tr>
1125 <td><p><a name="GNUTLS-MPI-FORMAT-USG:CAPS"></a><span class="term"><code class="literal">GNUTLS_MPI_FORMAT_USG</code></span></p></td>
1126 <td>Raw unsigned integer format.
1127 </td>
1128 </tr>
1129 <tr>
1130 <td><p><a name="GNUTLS-MPI-FORMAT-STD:CAPS"></a><span class="term"><code class="literal">GNUTLS_MPI_FORMAT_STD</code></span></p></td>
1131 <td>Raw signed integer format, always a leading
1132   zero when positive.
1133 </td>
1134 </tr>
1135 <tr>
1136 <td><p><a name="GNUTLS-MPI-FORMAT-PGP:CAPS"></a><span class="term"><code class="literal">GNUTLS_MPI_FORMAT_PGP</code></span></p></td>
1137 <td>The pgp integer format.
1138 </td>
1139 </tr>
1140 </tbody>
1141 </table></div>
1142 </div>
1143 <hr>
1144 <div class="refsect2">
1145 <a name="bigint-new"></a><h3>bigint_new ()</h3>
1146 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_new)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> nbits</code></em>);</pre>
1147 <p>
1148 </p>
1149 </div>
1150 <hr>
1151 <div class="refsect2">
1152 <a name="bigint-release"></a><h3>bigint_release ()</h3>
1153 <pre class="programlisting"><span class="returnvalue">void</span>                (*bigint_release)                   (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> n</code></em>);</pre>
1154 <p>
1155 </p>
1156 </div>
1157 <hr>
1158 <div class="refsect2">
1159 <a name="bigint-cmp"></a><h3>bigint_cmp ()</h3>
1160 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*bigint_cmp)                       (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m1</code></em>,
1161                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m2</code></em>);</pre>
1162 <p>
1163 </p>
1164 </div>
1165 <hr>
1166 <div class="refsect2">
1167 <a name="bigint-cmp-ui"></a><h3>bigint_cmp_ui ()</h3>
1168 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*bigint_cmp_ui)                    (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m1</code></em>,
1169                                                          <em class="parameter"><code><span class="type">unsigned long </span> m2</code></em>);</pre>
1170 <p>
1171 </p>
1172 </div>
1173 <hr>
1174 <div class="refsect2">
1175 <a name="bigint-mod"></a><h3>bigint_mod ()</h3>
1176 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_mod)                       (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1177                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);</pre>
1178 <p>
1179 </p>
1180 </div>
1181 <hr>
1182 <div class="refsect2">
1183 <a name="bigint-set"></a><h3>bigint_set ()</h3>
1184 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_set)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1185                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);</pre>
1186 <p>
1187 </p>
1188 </div>
1189 <hr>
1190 <div class="refsect2">
1191 <a name="bigint-set-ui"></a><h3>bigint_set_ui ()</h3>
1192 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_set_ui)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1193                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1194 <p>
1195 </p>
1196 </div>
1197 <hr>
1198 <div class="refsect2">
1199 <a name="int"></a><h3>int ()</h3>
1200 <pre class="programlisting"><span class="returnvalue">unsigned</span>            int                                 ();</pre>
1201 <p>
1202 </p>
1203 </div>
1204 <hr>
1205 <div class="refsect2">
1206 <a name="bigint-powm"></a><h3>bigint_powm ()</h3>
1207 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_powm)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1208                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
1209                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> e</code></em>,
1210                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);</pre>
1211 <p>
1212 </p>
1213 </div>
1214 <hr>
1215 <div class="refsect2">
1216 <a name="bigint-addm"></a><h3>bigint_addm ()</h3>
1217 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_addm)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1218                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1219                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
1220                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);</pre>
1221 <p>
1222 </p>
1223 </div>
1224 <hr>
1225 <div class="refsect2">
1226 <a name="bigint-subm"></a><h3>bigint_subm ()</h3>
1227 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_subm)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1228                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1229                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
1230                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);</pre>
1231 <p>
1232 </p>
1233 </div>
1234 <hr>
1235 <div class="refsect2">
1236 <a name="bigint-mulm"></a><h3>bigint_mulm ()</h3>
1237 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_mulm)                      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1238                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1239                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>,
1240                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> m</code></em>);</pre>
1241 <p>
1242 </p>
1243 </div>
1244 <hr>
1245 <div class="refsect2">
1246 <a name="bigint-mul"></a><h3>bigint_mul ()</h3>
1247 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_mul)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1248                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1249                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);</pre>
1250 <p>
1251 </p>
1252 </div>
1253 <hr>
1254 <div class="refsect2">
1255 <a name="bigint-add-ui"></a><h3>bigint_add_ui ()</h3>
1256 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_add_ui)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1257                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1258                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1259 <p>
1260 </p>
1261 </div>
1262 <hr>
1263 <div class="refsect2">
1264 <a name="bigint-sub-ui"></a><h3>bigint_sub_ui ()</h3>
1265 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_sub_ui)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1266                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1267                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1268 <p>
1269 </p>
1270 </div>
1271 <hr>
1272 <div class="refsect2">
1273 <a name="bigint-mul-ui"></a><h3>bigint_mul_ui ()</h3>
1274 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_mul_ui)                    (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> w</code></em>,
1275                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1276                                                          <em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1277 <p>
1278 </p>
1279 </div>
1280 <hr>
1281 <div class="refsect2">
1282 <a name="bigint-div"></a><h3>bigint_div ()</h3>
1283 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_div)                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> q</code></em>,
1284                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1285                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> b</code></em>);</pre>
1286 <p>
1287 </p>
1288 </div>
1289 <hr>
1290 <div class="refsect2">
1291 <a name="bigint-prime-check"></a><h3>bigint_prime_check ()</h3>
1292 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*bigint_prime_check)               (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> pp</code></em>);</pre>
1293 <p>
1294 </p>
1295 </div>
1296 <hr>
1297 <div class="refsect2">
1298 <a name="bigint-generate-group"></a><h3>bigint_generate_group ()</h3>
1299 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*bigint_generate_group)            (<em class="parameter"><code><span class="type">gnutls_group_st</span> *gg</code></em>,
1300                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</code></em>);</pre>
1301 <p>
1302 </p>
1303 </div>
1304 <hr>
1305 <div class="refsect2">
1306 <a name="bigint-scan"></a><h3>bigint_scan ()</h3>
1307 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="returnvalue">bigint_t</span></a>            (*bigint_scan)                      (<em class="parameter"><code>const <span class="type">void</span> *buf</code></em>,
1308                                                          <em class="parameter"><code><span class="type">size_t</span> buf_size</code></em>,
1309                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t"><span class="type">gnutls_bigint_format_t</span></a> format</code></em>);</pre>
1310 <p>
1311 </p>
1312 </div>
1313 <hr>
1314 <div class="refsect2">
1315 <a name="bigint-print"></a><h3>bigint_print ()</h3>
1316 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*bigint_print)                     (<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t"><span class="type">bigint_t</span></a> a</code></em>,
1317                                                          <em class="parameter"><code><span class="type">void</span> *buf</code></em>,
1318                                                          <em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>,
1319                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t"><span class="type">gnutls_bigint_format_t</span></a> format</code></em>);</pre>
1320 <p>
1321 </p>
1322 </div>
1323 <hr>
1324 <div class="refsect2">
1325 <a name="GNUTLS-MAX-PK-PARAMS:CAPS"></a><h3>GNUTLS_MAX_PK_PARAMS</h3>
1326 <pre class="programlisting">#define GNUTLS_MAX_PK_PARAMS 16
1327 </pre>
1328 <p>
1329 </p>
1330 </div>
1331 <hr>
1332 <div class="refsect2">
1333 <a name="gnutls-pk-params-release"></a><h3>gnutls_pk_params_release ()</h3>
1334 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_pk_params_release            (<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *p</code></em>);</pre>
1335 <p>
1336 </p>
1337 </div>
1338 <hr>
1339 <div class="refsect2">
1340 <a name="gnutls-pk-params-init"></a><h3>gnutls_pk_params_init ()</h3>
1341 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_pk_params_init               (<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *p</code></em>);</pre>
1342 <p>
1343 </p>
1344 </div>
1345 <hr>
1346 <div class="refsect2">
1347 <a name="gnutls-direction-t"></a><h3>enum gnutls_direction_t</h3>
1348 <pre class="programlisting">typedef enum {
1349     GNUTLS_IMPORT = 0,
1350     GNUTLS_EXPORT = 1
1351 } gnutls_direction_t;
1352 </pre>
1353 <p>
1354 Enumeration of different directions.
1355 </p>
1356 <div class="variablelist"><table border="0">
1357 <col align="left" valign="top">
1358 <tbody>
1359 <tr>
1360 <td><p><a name="GNUTLS-IMPORT:CAPS"></a><span class="term"><code class="literal">GNUTLS_IMPORT</code></span></p></td>
1361 <td>Import direction.
1362 </td>
1363 </tr>
1364 <tr>
1365 <td><p><a name="GNUTLS-EXPORT:CAPS"></a><span class="term"><code class="literal">GNUTLS_EXPORT</code></span></p></td>
1366 <td>Export direction.
1367 </td>
1368 </tr>
1369 </tbody>
1370 </table></div>
1371 </div>
1372 <hr>
1373 <div class="refsect2">
1374 <a name="sign"></a><h3>sign ()</h3>
1375 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*sign)                             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
1376                                                          <em class="parameter"><code><span class="type">gnutls_datum_t</span> *signature</code></em>,
1377                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
1378                                                          <em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *priv</code></em>);</pre>
1379 <p>
1380 </p>
1381 </div>
1382 <hr>
1383 <div class="refsect2">
1384 <a name="verify"></a><h3>verify ()</h3>
1385 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*verify)                           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
1386                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
1387                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *signature</code></em>,
1388                                                          <em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *pub</code></em>);</pre>
1389 <p>
1390 </p>
1391 </div>
1392 <hr>
1393 <div class="refsect2">
1394 <a name="generate"></a><h3>generate ()</h3>
1395 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*generate)                         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
1396                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> nbits</code></em>,
1397                                                          <em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);</pre>
1398 <p>
1399 </p>
1400 </div>
1401 <hr>
1402 <div class="refsect2">
1403 <a name="pk-fixup-private-params"></a><h3>pk_fixup_private_params ()</h3>
1404 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*pk_fixup_private_params)          (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> Param1</code></em>,
1405                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#gnutls-direction-t" title="enum gnutls_direction_t"><span class="type">gnutls_direction_t</span></a> Param2</code></em>,
1406                                                          <em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);</pre>
1407 <p>
1408 </p>
1409 </div>
1410 <hr>
1411 <div class="refsect2">
1412 <a name="gnutls-crypto-single-cipher-register"></a><h3>gnutls_crypto_single_cipher_register()</h3>
1413 <pre class="programlisting">#define             gnutls_crypto_single_cipher_register(algo, prio, st)</pre>
1414 <p>
1415 </p>
1416 </div>
1417 <hr>
1418 <div class="refsect2">
1419 <a name="gnutls-crypto-single-mac-register"></a><h3>gnutls_crypto_single_mac_register()</h3>
1420 <pre class="programlisting">#define             gnutls_crypto_single_mac_register(algo, prio, st)</pre>
1421 <p>
1422 </p>
1423 </div>
1424 <hr>
1425 <div class="refsect2">
1426 <a name="gnutls-crypto-single-digest-register"></a><h3>gnutls_crypto_single_digest_register()</h3>
1427 <pre class="programlisting">#define             gnutls_crypto_single_digest_register(algo, prio, st)</pre>
1428 <p>
1429 </p>
1430 </div>
1431 <hr>
1432 <div class="refsect2">
1433 <a name="gnutls-crypto-single-cipher-register2"></a><h3>gnutls_crypto_single_cipher_register2 ()</h3>
1434 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_single_cipher_register2
1435                                                         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="type">gnutls_cipher_algorithm_t</span></a> algorithm</code></em>,
1436                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1437                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1438                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-st" title="gnutls_crypto_single_cipher_st"><span class="type">gnutls_crypto_single_cipher_st</span></a> *s</code></em>);</pre>
1439 <p>
1440 This function will register a cipher algorithm to be used by
1441 gnutls.  Any algorithm registered will override the included
1442 algorithms and by convention kernel implemented algorithms have
1443 priority of 90.  The algorithm with the lowest priority will be
1444 used by gnutls.
1445 </p>
1446 <p>
1447 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1448 </p>
1449 <p>
1450 For simplicity you can use the convenience
1451 <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-register" title="gnutls_crypto_single_cipher_register()"><code class="function">gnutls_crypto_single_cipher_register()</code></a> macro.
1452 </p>
1453 <div class="variablelist"><table border="0">
1454 <col align="left" valign="top">
1455 <tbody>
1456 <tr>
1457 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1458 <td>is the gnutls algorithm identifier</td>
1459 </tr>
1460 <tr>
1461 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1462 <td>is the priority of the algorithm</td>
1463 </tr>
1464 <tr>
1465 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1466 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1467 </td>
1468 </tr>
1469 <tr>
1470 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1471 <td>is a structure holding new cipher's data</td>
1472 </tr>
1473 <tr>
1474 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1475 <td>
1476 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1477 </tr>
1478 </tbody>
1479 </table></div>
1480 <p class="since">Since 2.6.0</p>
1481 </div>
1482 <hr>
1483 <div class="refsect2">
1484 <a name="gnutls-crypto-single-mac-register2"></a><h3>gnutls_crypto_single_mac_register2 ()</h3>
1485 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_single_mac_register2  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="type">gnutls_mac_algorithm_t</span></a> algorithm</code></em>,
1486                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1487                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1488                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-st" title="gnutls_crypto_single_mac_st"><span class="type">gnutls_crypto_single_mac_st</span></a> *s</code></em>);</pre>
1489 <p>
1490 This function will register a MAC algorithm to be used by gnutls.
1491 Any algorithm registered will override the included algorithms and
1492 by convention kernel implemented algorithms have priority of 90.
1493 The algorithm with the lowest priority will be used by gnutls.
1494 </p>
1495 <p>
1496 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1497 </p>
1498 <p>
1499 For simplicity you can use the convenience
1500 <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-register" title="gnutls_crypto_single_mac_register()"><code class="function">gnutls_crypto_single_mac_register()</code></a> macro.
1501 </p>
1502 <div class="variablelist"><table border="0">
1503 <col align="left" valign="top">
1504 <tbody>
1505 <tr>
1506 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1507 <td>is the gnutls algorithm identifier</td>
1508 </tr>
1509 <tr>
1510 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1511 <td>is the priority of the algorithm</td>
1512 </tr>
1513 <tr>
1514 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1515 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1516 </td>
1517 </tr>
1518 <tr>
1519 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1520 <td>is a structure holding new algorithms's data</td>
1521 </tr>
1522 <tr>
1523 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1524 <td>
1525 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1526 </tr>
1527 </tbody>
1528 </table></div>
1529 <p class="since">Since 2.6.0</p>
1530 </div>
1531 <hr>
1532 <div class="refsect2">
1533 <a name="gnutls-crypto-single-digest-register2"></a><h3>gnutls_crypto_single_digest_register2 ()</h3>
1534 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_single_digest_register2
1535                                                         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t"><span class="type">gnutls_digest_algorithm_t</span></a> algorithm</code></em>,
1536                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1537                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1538                                                          <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-st" title="gnutls_crypto_single_digest_st"><span class="type">gnutls_crypto_single_digest_st</span></a> *s</code></em>);</pre>
1539 <p>
1540 This function will register a digest (hash) algorithm to be used by
1541 gnutls.  Any algorithm registered will override the included
1542 algorithms and by convention kernel implemented algorithms have
1543 priority of 90.  The algorithm with the lowest priority will be
1544 used by gnutls.
1545 </p>
1546 <p>
1547 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1548 </p>
1549 <p>
1550 For simplicity you can use the convenience
1551 <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-register" title="gnutls_crypto_single_digest_register()"><code class="function">gnutls_crypto_single_digest_register()</code></a> macro.
1552 </p>
1553 <div class="variablelist"><table border="0">
1554 <col align="left" valign="top">
1555 <tbody>
1556 <tr>
1557 <td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1558 <td>is the gnutls algorithm identifier</td>
1559 </tr>
1560 <tr>
1561 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1562 <td>is the priority of the algorithm</td>
1563 </tr>
1564 <tr>
1565 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1566 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1567 </td>
1568 </tr>
1569 <tr>
1570 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1571 <td>is a structure holding new algorithms's data</td>
1572 </tr>
1573 <tr>
1574 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1575 <td>
1576 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1577 </tr>
1578 </tbody>
1579 </table></div>
1580 <p class="since">Since 2.6.0</p>
1581 </div>
1582 <hr>
1583 <div class="refsect2">
1584 <a name="gnutls-crypto-cipher-register"></a><h3>gnutls_crypto_cipher_register()</h3>
1585 <pre class="programlisting">#define             gnutls_crypto_cipher_register(prio, st)</pre>
1586 <p>
1587 </p>
1588 </div>
1589 <hr>
1590 <div class="refsect2">
1591 <a name="gnutls-crypto-mac-register"></a><h3>gnutls_crypto_mac_register()</h3>
1592 <pre class="programlisting">#define             gnutls_crypto_mac_register(prio, st)</pre>
1593 <p>
1594 </p>
1595 </div>
1596 <hr>
1597 <div class="refsect2">
1598 <a name="gnutls-crypto-digest-register"></a><h3>gnutls_crypto_digest_register()</h3>
1599 <pre class="programlisting">#define             gnutls_crypto_digest_register(prio, st)</pre>
1600 <p>
1601 </p>
1602 </div>
1603 <hr>
1604 <div class="refsect2">
1605 <a name="gnutls-crypto-cipher-register2"></a><h3>gnutls_crypto_cipher_register2 ()</h3>
1606 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_cipher_register2      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1607                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1608                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_cipher_st</span> *s</code></em>);</pre>
1609 <p>
1610 This function will register a cipher interface to be used by
1611 gnutls. Any interface registered will override the included engine
1612 and by convention kernel implemented interfaces should have
1613 priority of 90. The interface with the lowest priority will be used
1614 by gnutls.
1615 </p>
1616 <p>
1617 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1618 </p>
1619 <p>
1620 For simplicity you can use the convenience
1621 <a class="link" href="gnutls-crypto.html#gnutls-crypto-cipher-register" title="gnutls_crypto_cipher_register()"><code class="function">gnutls_crypto_cipher_register()</code></a> macro.
1622 </p>
1623 <div class="variablelist"><table border="0">
1624 <col align="left" valign="top">
1625 <tbody>
1626 <tr>
1627 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1628 <td>is the priority of the cipher interface</td>
1629 </tr>
1630 <tr>
1631 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1632 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1633 </td>
1634 </tr>
1635 <tr>
1636 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1637 <td>is a structure holding new interface's data</td>
1638 </tr>
1639 <tr>
1640 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1641 <td>
1642 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1643 </tr>
1644 </tbody>
1645 </table></div>
1646 <p class="since">Since 2.6.0</p>
1647 </div>
1648 <hr>
1649 <div class="refsect2">
1650 <a name="gnutls-crypto-mac-register2"></a><h3>gnutls_crypto_mac_register2 ()</h3>
1651 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_mac_register2         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1652                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1653                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_mac_st</span> *s</code></em>);</pre>
1654 <p>
1655 This function will register a mac interface to be used by
1656 gnutls. Any interface registered will override the included engine
1657 and by convention kernel implemented interfaces should have
1658 priority of 90. The interface with the lowest priority will be used
1659 by gnutls.
1660 </p>
1661 <p>
1662 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1663 </p>
1664 <p>
1665 For simplicity you can use the convenience
1666 <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register" title="gnutls_crypto_digest_register()"><code class="function">gnutls_crypto_digest_register()</code></a> macro.
1667 </p>
1668 <div class="variablelist"><table border="0">
1669 <col align="left" valign="top">
1670 <tbody>
1671 <tr>
1672 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1673 <td>is the priority of the mac interface</td>
1674 </tr>
1675 <tr>
1676 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1677 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1678 </td>
1679 </tr>
1680 <tr>
1681 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1682 <td>is a structure holding new interface's data</td>
1683 </tr>
1684 <tr>
1685 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1686 <td>
1687 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1688 </tr>
1689 </tbody>
1690 </table></div>
1691 <p class="since">Since 2.6.0</p>
1692 </div>
1693 <hr>
1694 <div class="refsect2">
1695 <a name="gnutls-crypto-digest-register2"></a><h3>gnutls_crypto_digest_register2 ()</h3>
1696 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_digest_register2      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1697                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1698                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_digest_st</span> *s</code></em>);</pre>
1699 <p>
1700 This function will register a digest interface to be used by
1701 gnutls. Any interface registered will override the included engine
1702 and by convention kernel implemented interfaces should have
1703 priority of 90. The interface with the lowest priority will be used
1704 by gnutls.
1705 </p>
1706 <p>
1707 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1708 </p>
1709 <p>
1710 For simplicity you can use the convenience
1711 <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register" title="gnutls_crypto_digest_register()"><code class="function">gnutls_crypto_digest_register()</code></a> macro.
1712 </p>
1713 <div class="variablelist"><table border="0">
1714 <col align="left" valign="top">
1715 <tbody>
1716 <tr>
1717 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1718 <td>is the priority of the digest interface</td>
1719 </tr>
1720 <tr>
1721 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1722 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1723 </td>
1724 </tr>
1725 <tr>
1726 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1727 <td>is a structure holding new interface's data</td>
1728 </tr>
1729 <tr>
1730 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1731 <td>
1732 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1733 </tr>
1734 </tbody>
1735 </table></div>
1736 <p class="since">Since 2.6.0</p>
1737 </div>
1738 <hr>
1739 <div class="refsect2">
1740 <a name="gnutls-crypto-rnd-register"></a><h3>gnutls_crypto_rnd_register()</h3>
1741 <pre class="programlisting">#define             gnutls_crypto_rnd_register(prio, st)</pre>
1742 <p>
1743 </p>
1744 </div>
1745 <hr>
1746 <div class="refsect2">
1747 <a name="gnutls-crypto-pk-register"></a><h3>gnutls_crypto_pk_register()</h3>
1748 <pre class="programlisting">#define             gnutls_crypto_pk_register(prio, st)</pre>
1749 <p>
1750 </p>
1751 </div>
1752 <hr>
1753 <div class="refsect2">
1754 <a name="gnutls-crypto-bigint-register"></a><h3>gnutls_crypto_bigint_register()</h3>
1755 <pre class="programlisting">#define             gnutls_crypto_bigint_register(prio, st)</pre>
1756 <p>
1757 </p>
1758 </div>
1759 <hr>
1760 <div class="refsect2">
1761 <a name="gnutls-crypto-rnd-register2"></a><h3>gnutls_crypto_rnd_register2 ()</h3>
1762 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_rnd_register2         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1763                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1764                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_rnd_st</span> *s</code></em>);</pre>
1765 <p>
1766 This function will register a random generator to be used by
1767 gnutls.  Any generator registered will override the included
1768 generator and by convention kernel implemented generators have
1769 priority of 90.  The generator with the lowest priority will be
1770 used by gnutls.
1771 </p>
1772 <p>
1773 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1774 </p>
1775 <p>
1776 For simplicity you can use the convenience
1777 <a class="link" href="gnutls-crypto.html#gnutls-crypto-rnd-register" title="gnutls_crypto_rnd_register()"><code class="function">gnutls_crypto_rnd_register()</code></a> macro.
1778 </p>
1779 <div class="variablelist"><table border="0">
1780 <col align="left" valign="top">
1781 <tbody>
1782 <tr>
1783 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1784 <td>is the priority of the generator</td>
1785 </tr>
1786 <tr>
1787 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1788 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1789 </td>
1790 </tr>
1791 <tr>
1792 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1793 <td>is a structure holding new generator's data</td>
1794 </tr>
1795 <tr>
1796 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1797 <td>
1798 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1799 </tr>
1800 </tbody>
1801 </table></div>
1802 <p class="since">Since 2.6.0</p>
1803 </div>
1804 <hr>
1805 <div class="refsect2">
1806 <a name="gnutls-crypto-pk-register2"></a><h3>gnutls_crypto_pk_register2 ()</h3>
1807 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_pk_register2          (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1808                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1809                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_pk_st</span> *s</code></em>);</pre>
1810 <p>
1811 This function will register an interface for gnutls to operate
1812 on public key operations. Any interface registered will override
1813 the included interface. The interface with the lowest
1814 priority will be used by gnutls.
1815 </p>
1816 <p>
1817 Note that the bigint interface must interoperate with the bigint
1818 interface. Thus if this interface is updated the
1819 <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register" title="gnutls_crypto_bigint_register()"><code class="function">gnutls_crypto_bigint_register()</code></a> should also be used.
1820 </p>
1821 <p>
1822 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1823 </p>
1824 <p>
1825 For simplicity you can use the convenience <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register" title="gnutls_crypto_pk_register()"><code class="function">gnutls_crypto_pk_register()</code></a>
1826 macro.
1827 </p>
1828 <div class="variablelist"><table border="0">
1829 <col align="left" valign="top">
1830 <tbody>
1831 <tr>
1832 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1833 <td>is the priority of the interface</td>
1834 </tr>
1835 <tr>
1836 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1837 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1838 </td>
1839 </tr>
1840 <tr>
1841 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1842 <td>is a structure holding new interface's data</td>
1843 </tr>
1844 <tr>
1845 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1846 <td>
1847 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1848 </tr>
1849 </tbody>
1850 </table></div>
1851 <p class="since">Since 2.6.0</p>
1852 </div>
1853 <hr>
1854 <div class="refsect2">
1855 <a name="gnutls-crypto-bigint-register2"></a><h3>gnutls_crypto_bigint_register2 ()</h3>
1856 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_crypto_bigint_register2      (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
1857                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
1858                                                          <em class="parameter"><code>const <span class="type">gnutls_crypto_bigint_st</span> *s</code></em>);</pre>
1859 <p>
1860 This function will register an interface for gnutls to operate
1861 on big integers. Any interface registered will override
1862 the included interface. The interface with the lowest
1863 priority will be used by gnutls.
1864 </p>
1865 <p>
1866 Note that the bigint interface must interoperate with the public
1867 key interface. Thus if this interface is updated the
1868 <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register" title="gnutls_crypto_pk_register()"><code class="function">gnutls_crypto_pk_register()</code></a> should also be used.
1869 </p>
1870 <p>
1871 This function should be called before <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
1872 </p>
1873 <p>
1874 For simplicity you can use the convenience <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register" title="gnutls_crypto_bigint_register()"><code class="function">gnutls_crypto_bigint_register()</code></a>
1875 macro.
1876 </p>
1877 <div class="variablelist"><table border="0">
1878 <col align="left" valign="top">
1879 <tbody>
1880 <tr>
1881 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1882 <td>is the priority of the interface</td>
1883 </tr>
1884 <tr>
1885 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
1886 <td>should be set to <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION"><code class="literal">GNUTLS_CRYPTO_API_VERSION</code></a>
1887 </td>
1888 </tr>
1889 <tr>
1890 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
1891 <td>is a structure holding new interface's data</td>
1892 </tr>
1893 <tr>
1894 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1895 <td>
1896 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise an error.</td>
1897 </tr>
1898 </tbody>
1899 </table></div>
1900 <p class="since">Since 2.6.0</p>
1901 </div>
1902 </div>
1903 </div>
1904 <div class="footer">
1905 <hr>
1906           Generated by GTK-Doc V1.18</div>
1907 </body>
1908 </html>