44
37
</tr></table></div>
45
38
<div class="refsynopsisdiv" title="Synopsis">
46
39
<a name="gnutls-crypto.synopsis"></a><h2>Synopsis</h2>
47
<pre class="synopsis">
48
#define <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION--CAPS" title="GNUTLS_CRYPTO_API_VERSION">GNUTLS_CRYPTO_API_VERSION</a>
49
int <a class="link" href="gnutls-crypto.html#init" title="init ()">init</a> (void **ctx);
50
int <a class="link" href="gnutls-crypto.html#setkey" title="setkey ()">setkey</a> (void *ctx,
53
int <a class="link" href="gnutls-crypto.html#setiv" title="setiv ()">setiv</a> (void *ctx,
56
int <a class="link" href="gnutls-crypto.html#encrypt" title="encrypt ()">encrypt</a> (void *ctx,
61
int <a class="link" href="gnutls-crypto.html#decrypt" title="decrypt ()">decrypt</a> (void *ctx,
66
void <a class="link" href="gnutls-crypto.html#deinit" title="deinit ()">deinit</a> (void *ctx);
67
int <a class="link" href="gnutls-crypto.html#hash" title="hash ()">hash</a> (void *ctx,
70
int <a class="link" href="gnutls-crypto.html#copy" title="copy ()">copy</a> (void **dst_ctx,
72
int <a class="link" href="gnutls-crypto.html#output" title="output ()">output</a> (void *src_ctx,
75
typedef <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-st" title="gnutls_crypto_single_digest_st">gnutls_crypto_single_digest_st</a>;
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
<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>);
52
<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>);
53
typedef <a class="link" href="gnutls-crypto.html#gnutls-hash-hd-t" title="gnutls_hash_hd_t">gnutls_hash_hd_t</a>;
54
typedef <a class="link" href="gnutls-crypto.html#gnutls-hmac-hd-t" title="gnutls_hmac_hd_t">gnutls_hmac_hd_t</a>;
55
<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>,
56
<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>,
57
<em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
58
<em class="parameter"><code><span class="type">size_t</span> keylen</code></em>);
59
<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>,
60
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
61
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);
62
<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>,
63
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);
64
<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>,
65
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);
66
<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>);
67
<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>,
68
<em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
69
<em class="parameter"><code><span class="type">size_t</span> keylen</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
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);
73
<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>,
74
<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>);
75
<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>,
76
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
77
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);
78
<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>,
79
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);
80
<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>,
81
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);
82
<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>);
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-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>,
84
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
85
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
86
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);
87
#define <a class="link" href="gnutls-crypto.html#GNUTLS-CRYPTO-API-VERSION:CAPS" title="GNUTLS_CRYPTO_API_VERSION">GNUTLS_CRYPTO_API_VERSION</a>
88
#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>
89
#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>
90
#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>
91
<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>,
92
<em class="parameter"><code><span class="type">void</span> **ctx</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#setkey" title="setkey ()">*setkey</a>) (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>,
94
<em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
95
<em class="parameter"><code><span class="type">size_t</span> keysize</code></em>);
96
<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>,
97
<em class="parameter"><code>const <span class="type">void</span> *iv</code></em>,
98
<em class="parameter"><code><span class="type">size_t</span> ivsize</code></em>);
99
<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>,
100
<em class="parameter"><code>const <span class="type">void</span> *plain</code></em>,
101
<em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>,
102
<em class="parameter"><code><span class="type">void</span> *encr</code></em>,
103
<em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>);
104
<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>,
105
<em class="parameter"><code>const <span class="type">void</span> *encr</code></em>,
106
<em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>,
107
<em class="parameter"><code><span class="type">void</span> *plain</code></em>,
108
<em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>);
109
<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>);
110
<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>,
111
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
112
<em class="parameter"><code><span class="type">size_t</span> textsize</code></em>);
113
<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>,
114
<em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>);
115
<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>,
116
<em class="parameter"><code><span class="type">void</span> *digest</code></em>,
117
<em class="parameter"><code><span class="type">size_t</span> digestsize</code></em>);
76
118
typedef <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-st" title="gnutls_crypto_digest_st">gnutls_crypto_digest_st</a>;
77
119
enum <a class="link" href="gnutls-crypto.html#gnutls-rnd-level-t" title="enum gnutls_rnd_level_t">gnutls_rnd_level_t</a>;
78
120
enum <a class="link" href="gnutls-crypto.html#gnutls-pk-flag-t" title="enum gnutls_pk_flag_t">gnutls_pk_flag_t</a>;
79
int <a class="link" href="gnutls-crypto.html#rnd" title="rnd ()">rnd</a> (void *ctx,
121
<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>,
122
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> level</code></em>,
123
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
124
<em class="parameter"><code><span class="type">size_t</span> datasize</code></em>);
83
125
typedef <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a>;
84
126
enum <a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t">gnutls_bigint_format_t</a>;
85
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-new" title="bigint_new ()">bigint_new</a> (int nbits);
86
void <a class="link" href="gnutls-crypto.html#bigint-release" title="bigint_release ()">bigint_release</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> n);
87
int <a class="link" href="gnutls-crypto.html#bigint-cmp" title="bigint_cmp ()">bigint_cmp</a> (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m1,
88
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m2);
89
int <a class="link" href="gnutls-crypto.html#bigint-cmp-ui" title="bigint_cmp_ui ()">bigint_cmp_ui</a> (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m1,
91
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-mod" title="bigint_mod ()">bigint_mod</a> (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
92
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);
93
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-set" title="bigint_set ()">bigint_set</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
94
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);
95
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-set-ui" title="bigint_set_ui ()">bigint_set_ui</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
97
unsigned int <a class="link" href="gnutls-crypto.html#bigint-get-nbits" title="bigint_get_nbits ()">bigint_get_nbits</a> (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a);
98
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-powm" title="bigint_powm ()">bigint_powm</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
99
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
100
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> e,
101
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);
102
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-addm" title="bigint_addm ()">bigint_addm</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
103
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
104
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
105
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);
106
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-subm" title="bigint_subm ()">bigint_subm</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
107
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
108
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
109
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);
110
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-mulm" title="bigint_mulm ()">bigint_mulm</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
111
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
112
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
113
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);
114
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-mul" title="bigint_mul ()">bigint_mul</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
115
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
116
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);
117
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-add-ui" title="bigint_add_ui ()">bigint_add_ui</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
118
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
120
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-sub-ui" title="bigint_sub_ui ()">bigint_sub_ui</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
121
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
123
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-mul-ui" title="bigint_mul_ui ()">bigint_mul_ui</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
124
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
126
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-div" title="bigint_div ()">bigint_div</a> (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> q,
127
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
128
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);
129
int <a class="link" href="gnutls-crypto.html#bigint-prime-check" title="bigint_prime_check ()">bigint_prime_check</a> (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> pp);
130
int <a class="link" href="gnutls-crypto.html#bigint-generate-group" title="bigint_generate_group ()">bigint_generate_group</a> (gnutls_group_st *gg,
132
<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> <a class="link" href="gnutls-crypto.html#bigint-scan" title="bigint_scan ()">bigint_scan</a> (const void *buf,
134
<a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t">gnutls_bigint_format_t</a> format);
135
int <a class="link" href="gnutls-crypto.html#bigint-print" title="bigint_print ()">bigint_print</a> (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
138
<a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t">gnutls_bigint_format_t</a> format);
139
#define <a class="link" href="gnutls-crypto.html#GNUTLS-MAX-PK-PARAMS--CAPS" title="GNUTLS_MAX_PK_PARAMS">GNUTLS_MAX_PK_PARAMS</a>
140
void <a class="link" href="gnutls-crypto.html#gnutls-pk-params-release" title="gnutls_pk_params_release ()">gnutls_pk_params_release</a> (gnutls_pk_params_st *p);
141
void <a class="link" href="gnutls-crypto.html#gnutls-pk-params-init" title="gnutls_pk_params_init ()">gnutls_pk_params_init</a> (gnutls_pk_params_st *p);
127
<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>);
128
<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>);
129
<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>,
130
<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>);
131
<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>,
132
<em class="parameter"><code><span class="type">unsigned long </span> m2</code></em>);
133
<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>,
134
<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>);
135
<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>,
136
<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>);
137
<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>,
138
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
139
<span class="returnvalue">unsigned</span> <a class="link" href="gnutls-crypto.html#int" title="int ()">int</a> ();
140
<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>,
141
<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>,
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> e</code></em>,
143
<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>);
144
<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>,
145
<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
<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>);
148
<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>,
149
<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>,
150
<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>,
151
<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>);
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-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>,
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> a</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> b</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-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>,
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
<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>,
160
<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>,
161
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
162
<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>,
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> a</code></em>,
164
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);
165
<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>,
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> a</code></em>,
167
<em class="parameter"><code><span class="type">unsigned long </span> b</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-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>,
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#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>);
172
<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>,
173
<em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</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-scan" title="bigint_scan ()">*bigint_scan</a>) (<em class="parameter"><code>const <span class="type">void</span> *buf</code></em>,
175
<em class="parameter"><code><span class="type">size_t</span> buf_size</code></em>,
176
<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>);
177
<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>,
178
<em class="parameter"><code><span class="type">void</span> *buf</code></em>,
179
<em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>,
180
<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>);
181
#define <a class="link" href="gnutls-crypto.html#GNUTLS-MAX-PK-PARAMS:CAPS" title="GNUTLS_MAX_PK_PARAMS">GNUTLS_MAX_PK_PARAMS</a>
182
<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>);
183
<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>);
142
184
enum <a class="link" href="gnutls-crypto.html#gnutls-direction-t" title="enum gnutls_direction_t">gnutls_direction_t</a>;
143
int <a class="link" href="gnutls-crypto.html#sign" title="sign ()">sign</a> (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
144
gnutls_datum_t *signature,
145
const gnutls_datum_t *data,
146
const gnutls_pk_params_st *);
147
int <a class="link" href="gnutls-crypto.html#verify" title="verify ()">verify</a> (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
148
const gnutls_datum_t *data,
149
const gnutls_datum_t *signature,
150
const gnutls_pk_params_st *);
151
int <a class="link" href="gnutls-crypto.html#generate" title="generate ()">generate</a> (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
153
gnutls_pk_params_st *);
154
int <a class="link" href="gnutls-crypto.html#pk-fixup-private-params" title="pk_fixup_private_params ()">pk_fixup_private_params</a> (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
155
<a class="link" href="gnutls-crypto.html#gnutls-direction-t" title="enum gnutls_direction_t">gnutls_direction_t</a> ,
156
gnutls_pk_params_st *);
157
#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, prio, st)
158
#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, prio, st)
159
#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, prio, st)
160
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-cipher-register2" title="gnutls_crypto_single_cipher_register2 ()">gnutls_crypto_single_cipher_register2</a>
161
(<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> algorithm,
164
gnutls_crypto_single_cipher_st *s);
165
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-mac-register2" title="gnutls_crypto_single_mac_register2 ()">gnutls_crypto_single_mac_register2</a> (<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> algorithm,
168
gnutls_crypto_single_mac_st *s);
169
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-register2" title="gnutls_crypto_single_digest_register2 ()">gnutls_crypto_single_digest_register2</a>
170
(<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a> algorithm,
173
<a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-st" title="gnutls_crypto_single_digest_st">gnutls_crypto_single_digest_st</a> *s);
174
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-cipher-register" title="gnutls_crypto_cipher_register()">gnutls_crypto_cipher_register</a> (prio, st)
175
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-mac-register" title="gnutls_crypto_mac_register()">gnutls_crypto_mac_register</a> (prio, st)
176
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register" title="gnutls_crypto_digest_register()">gnutls_crypto_digest_register</a> (prio, st)
177
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-cipher-register2" title="gnutls_crypto_cipher_register2 ()">gnutls_crypto_cipher_register2</a> (int priority,
179
gnutls_crypto_cipher_st *s);
180
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-mac-register2" title="gnutls_crypto_mac_register2 ()">gnutls_crypto_mac_register2</a> (int priority,
182
gnutls_crypto_mac_st *s);
183
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register2" title="gnutls_crypto_digest_register2 ()">gnutls_crypto_digest_register2</a> (int priority,
185
<a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-st" title="gnutls_crypto_digest_st">gnutls_crypto_digest_st</a> *s);
186
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-rnd-register" title="gnutls_crypto_rnd_register()">gnutls_crypto_rnd_register</a> (prio, st)
187
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register" title="gnutls_crypto_pk_register()">gnutls_crypto_pk_register</a> (prio, st)
188
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register" title="gnutls_crypto_bigint_register()">gnutls_crypto_bigint_register</a> (prio, st)
189
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-rnd-register2" title="gnutls_crypto_rnd_register2 ()">gnutls_crypto_rnd_register2</a> (int priority,
191
gnutls_crypto_rnd_st *s);
192
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register2" title="gnutls_crypto_pk_register2 ()">gnutls_crypto_pk_register2</a> (int priority,
194
gnutls_crypto_pk_st *s);
195
int <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register2" title="gnutls_crypto_bigint_register2 ()">gnutls_crypto_bigint_register2</a> (int priority,
197
gnutls_crypto_bigint_st *s);
185
<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>,
186
<em class="parameter"><code><span class="type">gnutls_datum_t</span> *signature</code></em>,
187
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
188
<em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *private</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#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>,
190
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
191
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *signature</code></em>,
192
<em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *public</code></em>);
193
<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>,
194
<em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> nbits</code></em>,
195
<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);
196
<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>,
197
<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>,
198
<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);
199
#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,
202
#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,
205
#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,
208
<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>
209
(<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>,
210
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
211
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
212
<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>);
213
<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>,
214
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
215
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
216
<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>);
217
<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>
218
(<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>,
219
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
220
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
221
<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>);
222
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-cipher-register" title="gnutls_crypto_cipher_register()">gnutls_crypto_cipher_register</a> (prio,
224
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-mac-register" title="gnutls_crypto_mac_register()">gnutls_crypto_mac_register</a> (prio,
226
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-register" title="gnutls_crypto_digest_register()">gnutls_crypto_digest_register</a> (prio,
228
<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>,
229
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
230
<em class="parameter"><code>const <span class="type">gnutls_crypto_cipher_st</span> *s</code></em>);
231
<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>,
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 <span class="type">gnutls_crypto_mac_st</span> *s</code></em>);
234
<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>,
235
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
236
<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-st" title="gnutls_crypto_digest_st"><span class="type">gnutls_crypto_digest_st</span></a> *s</code></em>);
237
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-rnd-register" title="gnutls_crypto_rnd_register()">gnutls_crypto_rnd_register</a> (prio,
239
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-pk-register" title="gnutls_crypto_pk_register()">gnutls_crypto_pk_register</a> (prio,
241
#define <a class="link" href="gnutls-crypto.html#gnutls-crypto-bigint-register" title="gnutls_crypto_bigint_register()">gnutls_crypto_bigint_register</a> (prio,
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-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>,
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_rnd_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-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>,
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_pk_st</span> *s</code></em>);
249
<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>,
250
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
251
<em class="parameter"><code>const <span class="type">gnutls_crypto_bigint_st</span> *s</code></em>);
200
254
<div class="refsect1" title="Description">
201
255
<a name="gnutls-crypto.description"></a><h2>Description</h2>
203
259
<div class="refsect1" title="Details">
204
260
<a name="gnutls-crypto.details"></a><h2>Details</h2>
261
<div class="refsect2" title="gnutls_cipher_hd_t">
262
<a name="gnutls-cipher-hd-t"></a><h3>gnutls_cipher_hd_t</h3>
263
<pre class="programlisting">typedef struct cipher_hd_st *gnutls_cipher_hd_t;
269
<div class="refsect2" title="gnutls_cipher_init ()">
270
<a name="gnutls-cipher-init"></a><h3>gnutls_cipher_init ()</h3>
271
<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>,
272
<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>,
273
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
274
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *iv</code></em>);</pre>
276
This function will initialize an context that can be used for
277
encryption/decryption of data. This will effectively use the
278
current crypto backend in use by gnutls or the cryptographic
279
accelerator in use.</p>
280
<div class="variablelist"><table border="0">
281
<col align="left" valign="top">
284
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
285
<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.
289
<td><p><span class="term"><em class="parameter"><code>cipher</code></em> :</span></p></td>
290
<td>the encryption algorithm to use
294
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
295
<td>The key to be used for encryption
299
<td><p><span class="term"><em class="parameter"><code>iv</code></em> :</span></p></td>
300
<td>The IV to use (if not applicable set NULL)
304
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
305
<td> Zero or a negative value on error.
311
<p class="since">Since 2.10.0</p>
314
<div class="refsect2" title="gnutls_cipher_encrypt ()">
315
<a name="gnutls-cipher-encrypt"></a><h3>gnutls_cipher_encrypt ()</h3>
316
<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>,
317
<em class="parameter"><code><span class="type">void</span> *text</code></em>,
318
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
320
This function will encrypt the given data using the algorithm
321
specified by the context.</p>
322
<div class="variablelist"><table border="0">
323
<col align="left" valign="top">
326
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
327
<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.
331
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
332
<td>the data to encrypt
336
<td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
337
<td>The length of data to encrypt
341
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
342
<td> Zero or a negative value on error.
348
<p class="since">Since 2.10.0</p>
351
<div class="refsect2" title="gnutls_cipher_decrypt ()">
352
<a name="gnutls-cipher-decrypt"></a><h3>gnutls_cipher_decrypt ()</h3>
353
<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>,
354
<em class="parameter"><code><span class="type">void</span> *ciphertext</code></em>,
355
<em class="parameter"><code><span class="type">size_t</span> ciphertextlen</code></em>);</pre>
357
This function will decrypt the given data using the algorithm
358
specified by the context.</p>
359
<div class="variablelist"><table border="0">
360
<col align="left" valign="top">
363
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
364
<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.
368
<td><p><span class="term"><em class="parameter"><code>ciphertext</code></em> :</span></p></td>
369
<td>the data to encrypt
373
<td><p><span class="term"><em class="parameter"><code>ciphertextlen</code></em> :</span></p></td>
374
<td>The length of data to encrypt
378
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
379
<td> Zero or a negative value on error.
385
<p class="since">Since 2.10.0</p>
388
<div class="refsect2" title="gnutls_cipher_deinit ()">
389
<a name="gnutls-cipher-deinit"></a><h3>gnutls_cipher_deinit ()</h3>
390
<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>
392
This function will deinitialize all resources occupied by the given
393
encryption context.</p>
394
<div class="variablelist"><table border="0">
395
<col align="left" valign="top">
397
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
398
<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.
402
<p class="since">Since 2.10.0</p>
405
<div class="refsect2" title="gnutls_cipher_get_block_size ()">
406
<a name="gnutls-cipher-get-block-size"></a><h3>gnutls_cipher_get_block_size ()</h3>
407
<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>
409
Get block size for encryption algorithm.</p>
410
<div class="variablelist"><table border="0">
411
<col align="left" valign="top">
414
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
415
<td>is an encryption algorithm
419
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
420
<td> block size for encryption algorithm.
426
<p class="since">Since 2.10.0</p>
429
<div class="refsect2" title="gnutls_hash_hd_t">
430
<a name="gnutls-hash-hd-t"></a><h3>gnutls_hash_hd_t</h3>
431
<pre class="programlisting">typedef struct hash_hd_st *gnutls_hash_hd_t;
437
<div class="refsect2" title="gnutls_hmac_hd_t">
438
<a name="gnutls-hmac-hd-t"></a><h3>gnutls_hmac_hd_t</h3>
439
<pre class="programlisting">typedef struct hmac_hd_st *gnutls_hmac_hd_t;
445
<div class="refsect2" title="gnutls_hmac_init ()">
446
<a name="gnutls-hmac-init"></a><h3>gnutls_hmac_init ()</h3>
447
<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>,
448
<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>,
449
<em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
450
<em class="parameter"><code><span class="type">size_t</span> keylen</code></em>);</pre>
452
This function will initialize an context that can be used to
453
produce a Message Authentication Code (MAC) of data. This will
454
effectively use the current crypto backend in use by gnutls or the
455
cryptographic accelerator in use.</p>
456
<div class="variablelist"><table border="0">
457
<col align="left" valign="top">
460
<td><p><span class="term"><em class="parameter"><code>dig</code></em> :</span></p></td>
461
<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.
465
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
466
<td>the HMAC algorithm to use
470
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
471
<td>The key to be used for encryption
475
<td><p><span class="term"><em class="parameter"><code>keylen</code></em> :</span></p></td>
476
<td>The length of the key
480
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
481
<td> Zero or a negative value on error.
487
<p class="since">Since 2.10.0</p>
490
<div class="refsect2" title="gnutls_hmac ()">
491
<a name="gnutls-hmac"></a><h3>gnutls_hmac ()</h3>
492
<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>,
493
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
494
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
496
This function will hash the given data using the algorithm
497
specified by the context.</p>
498
<div class="variablelist"><table border="0">
499
<col align="left" valign="top">
502
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
503
<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.
507
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
512
<td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
513
<td>The length of data to hash
517
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
518
<td> Zero or a negative value on error.
524
<p class="since">Since 2.10.0</p>
527
<div class="refsect2" title="gnutls_hmac_output ()">
528
<a name="gnutls-hmac-output"></a><h3>gnutls_hmac_output ()</h3>
529
<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>,
530
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
532
This function will output the current MAC value.</p>
533
<div class="variablelist"><table border="0">
534
<col align="left" valign="top">
537
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
538
<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.
542
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
543
<td>is the output value of the MAC
548
<p class="since">Since 2.10.0</p>
551
<div class="refsect2" title="gnutls_hmac_deinit ()">
552
<a name="gnutls-hmac-deinit"></a><h3>gnutls_hmac_deinit ()</h3>
553
<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>,
554
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
556
This function will deinitialize all resources occupied by
557
the given hmac context.</p>
558
<div class="variablelist"><table border="0">
559
<col align="left" valign="top">
562
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
563
<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.
567
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
568
<td>is the output value of the MAC
573
<p class="since">Since 2.10.0</p>
576
<div class="refsect2" title="gnutls_hmac_get_len ()">
577
<a name="gnutls-hmac-get-len"></a><h3>gnutls_hmac_get_len ()</h3>
578
<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>
580
This function will return the length of the output data
581
of the given hmac algorithm.</p>
582
<div class="variablelist"><table border="0">
583
<col align="left" valign="top">
586
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
587
<td>the hmac algorithm to use
591
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
592
<td> The length or zero on error.
598
<p class="since">Since 2.10.0</p>
601
<div class="refsect2" title="gnutls_hmac_fast ()">
602
<a name="gnutls-hmac-fast"></a><h3>gnutls_hmac_fast ()</h3>
603
<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>,
604
<em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
605
<em class="parameter"><code><span class="type">size_t</span> keylen</code></em>,
606
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
607
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
608
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
610
This convenience function will hash the given data and return output
611
on a single call.</p>
612
<div class="variablelist"><table border="0">
613
<col align="left" valign="top">
616
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
617
<td>the hash algorithm to use
621
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
626
<td><p><span class="term"><em class="parameter"><code>keylen</code></em> :</span></p></td>
627
<td>The length of the key
631
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
636
<td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
637
<td>The length of data to hash
641
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
642
<td>is the output value of the hash
646
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
647
<td> Zero or a negative value on error.
653
<p class="since">Since 2.10.0</p>
656
<div class="refsect2" title="gnutls_hash_init ()">
657
<a name="gnutls-hash-init"></a><h3>gnutls_hash_init ()</h3>
658
<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>,
659
<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>
661
This function will initialize an context that can be used to
662
produce a Message Digest of data. This will effectively use the
663
current crypto backend in use by gnutls or the cryptographic
664
accelerator in use.</p>
665
<div class="variablelist"><table border="0">
666
<col align="left" valign="top">
669
<td><p><span class="term"><em class="parameter"><code>dig</code></em> :</span></p></td>
670
<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.
674
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
675
<td>the hash algorithm to use
679
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
680
<td> Zero or a negative value on error.
686
<p class="since">Since 2.10.0</p>
689
<div class="refsect2" title="gnutls_hash ()">
690
<a name="gnutls-hash"></a><h3>gnutls_hash ()</h3>
691
<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>,
692
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
693
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>);</pre>
695
This function will hash the given data using the algorithm
696
specified by the context.</p>
697
<div class="variablelist"><table border="0">
698
<col align="left" valign="top">
701
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
702
<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.
706
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
711
<td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
712
<td>The length of data to hash
716
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
717
<td> Zero or a negative value on error.
723
<p class="since">Since 2.10.0</p>
726
<div class="refsect2" title="gnutls_hash_output ()">
727
<a name="gnutls-hash-output"></a><h3>gnutls_hash_output ()</h3>
728
<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>,
729
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
731
This function will output the current hash value.</p>
732
<div class="variablelist"><table border="0">
733
<col align="left" valign="top">
736
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
737
<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.
741
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
742
<td>is the output value of the hash
747
<p class="since">Since 2.10.0</p>
750
<div class="refsect2" title="gnutls_hash_deinit ()">
751
<a name="gnutls-hash-deinit"></a><h3>gnutls_hash_deinit ()</h3>
752
<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>,
753
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
755
This function will deinitialize all resources occupied by
756
the given hash context.</p>
757
<div class="variablelist"><table border="0">
758
<col align="left" valign="top">
761
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
762
<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.
766
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
767
<td>is the output value of the hash
772
<p class="since">Since 2.10.0</p>
775
<div class="refsect2" title="gnutls_hash_get_len ()">
776
<a name="gnutls-hash-get-len"></a><h3>gnutls_hash_get_len ()</h3>
777
<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>
779
This function will return the length of the output data
780
of the given hash algorithm.</p>
781
<div class="variablelist"><table border="0">
782
<col align="left" valign="top">
785
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
786
<td>the hash algorithm to use
790
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
791
<td> The length or zero on error.
797
<p class="since">Since 2.10.0</p>
800
<div class="refsect2" title="gnutls_hash_fast ()">
801
<a name="gnutls-hash-fast"></a><h3>gnutls_hash_fast ()</h3>
802
<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>,
803
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
804
<em class="parameter"><code><span class="type">size_t</span> textlen</code></em>,
805
<em class="parameter"><code><span class="type">void</span> *digest</code></em>);</pre>
807
This convenience function will hash the given data and return output
808
on a single call.</p>
809
<div class="variablelist"><table border="0">
810
<col align="left" valign="top">
813
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
814
<td>the hash algorithm to use
818
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
823
<td><p><span class="term"><em class="parameter"><code>textlen</code></em> :</span></p></td>
824
<td>The length of data to hash
828
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
829
<td>is the output value of the hash
833
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
834
<td> Zero or a negative value on error.
840
<p class="since">Since 2.10.0</p>
205
843
<div class="refsect2" title="GNUTLS_CRYPTO_API_VERSION">
206
<a name="GNUTLS-CRYPTO-API-VERSION--CAPS"></a><h3>GNUTLS_CRYPTO_API_VERSION</h3>
207
<pre class="programlisting"># define GNUTLS_CRYPTO_API_VERSION 0x01
844
<a name="GNUTLS-CRYPTO-API-VERSION:CAPS"></a><h3>GNUTLS_CRYPTO_API_VERSION</h3>
845
<pre class="programlisting">#define GNUTLS_CRYPTO_API_VERSION 0x02
851
<div class="refsect2" title="gnutls_crypto_single_cipher_st">
852
<a name="gnutls-crypto-single-cipher-st"></a><h3>gnutls_crypto_single_cipher_st</h3>
853
<pre class="programlisting">#define gnutls_crypto_single_cipher_st gnutls_crypto_cipher_st
859
<div class="refsect2" title="gnutls_crypto_single_mac_st">
860
<a name="gnutls-crypto-single-mac-st"></a><h3>gnutls_crypto_single_mac_st</h3>
861
<pre class="programlisting">#define gnutls_crypto_single_mac_st gnutls_crypto_mac_st
867
<div class="refsect2" title="gnutls_crypto_single_digest_st">
868
<a name="gnutls-crypto-single-digest-st"></a><h3>gnutls_crypto_single_digest_st</h3>
869
<pre class="programlisting">#define gnutls_crypto_single_digest_st gnutls_crypto_digest_st
211
875
<div class="refsect2" title="init ()">
212
876
<a name="init"></a><h3>init ()</h3>
213
<pre class="programlisting">int init (void **ctx);</pre>
877
<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>,
878
<em class="parameter"><code><span class="type">void</span> **ctx</code></em>);</pre>
881
<div class="variablelist"><table border="0">
882
<col align="left" valign="top">
885
<td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td>
890
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
895
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
216
903
<div class="refsect2" title="setkey ()">
217
904
<a name="setkey"></a><h3>setkey ()</h3>
218
<pre class="programlisting">int setkey (void *ctx,
220
size_t keysize);</pre>
905
<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>,
906
<em class="parameter"><code>const <span class="type">void</span> *key</code></em>,
907
<em class="parameter"><code><span class="type">size_t</span> keysize</code></em>);</pre>
910
<div class="variablelist"><table border="0">
911
<col align="left" valign="top">
914
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
919
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
924
<td><p><span class="term"><em class="parameter"><code>keysize</code></em> :</span></p></td>
929
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
223
937
<div class="refsect2" title="setiv ()">
224
938
<a name="setiv"></a><h3>setiv ()</h3>
225
<pre class="programlisting">int setiv (void *ctx,
227
size_t ivsize);</pre>
939
<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>,
940
<em class="parameter"><code>const <span class="type">void</span> *iv</code></em>,
941
<em class="parameter"><code><span class="type">size_t</span> ivsize</code></em>);</pre>
944
<div class="variablelist"><table border="0">
945
<col align="left" valign="top">
948
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
953
<td><p><span class="term"><em class="parameter"><code>iv</code></em> :</span></p></td>
958
<td><p><span class="term"><em class="parameter"><code>ivsize</code></em> :</span></p></td>
963
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
230
971
<div class="refsect2" title="encrypt ()">
231
972
<a name="encrypt"></a><h3>encrypt ()</h3>
232
<pre class="programlisting">int encrypt (void *ctx,
236
size_t encrsize);</pre>
973
<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>,
974
<em class="parameter"><code>const <span class="type">void</span> *plain</code></em>,
975
<em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>,
976
<em class="parameter"><code><span class="type">void</span> *encr</code></em>,
977
<em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>);</pre>
980
<div class="variablelist"><table border="0">
981
<col align="left" valign="top">
984
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
989
<td><p><span class="term"><em class="parameter"><code>plain</code></em> :</span></p></td>
994
<td><p><span class="term"><em class="parameter"><code>plainsize</code></em> :</span></p></td>
999
<td><p><span class="term"><em class="parameter"><code>encr</code></em> :</span></p></td>
1004
<td><p><span class="term"><em class="parameter"><code>encrsize</code></em> :</span></p></td>
1009
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
239
1017
<div class="refsect2" title="decrypt ()">
240
1018
<a name="decrypt"></a><h3>decrypt ()</h3>
241
<pre class="programlisting">int decrypt (void *ctx,
245
size_t plainsize);</pre>
1019
<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>,
1020
<em class="parameter"><code>const <span class="type">void</span> *encr</code></em>,
1021
<em class="parameter"><code><span class="type">size_t</span> encrsize</code></em>,
1022
<em class="parameter"><code><span class="type">void</span> *plain</code></em>,
1023
<em class="parameter"><code><span class="type">size_t</span> plainsize</code></em>);</pre>
1026
<div class="variablelist"><table border="0">
1027
<col align="left" valign="top">
1030
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
1035
<td><p><span class="term"><em class="parameter"><code>encr</code></em> :</span></p></td>
1040
<td><p><span class="term"><em class="parameter"><code>encrsize</code></em> :</span></p></td>
1045
<td><p><span class="term"><em class="parameter"><code>plain</code></em> :</span></p></td>
1050
<td><p><span class="term"><em class="parameter"><code>plainsize</code></em> :</span></p></td>
1055
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
248
1063
<div class="refsect2" title="deinit ()">
249
1064
<a name="deinit"></a><h3>deinit ()</h3>
250
<pre class="programlisting">void deinit (void *ctx);</pre>
1065
<pre class="programlisting"><span class="returnvalue">void</span> (*deinit) (<em class="parameter"><code><span class="type">void</span> *ctx</code></em>);</pre>
1068
<div class="variablelist"><table border="0">
1069
<col align="left" valign="top">
1071
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
253
1078
<div class="refsect2" title="hash ()">
254
1079
<a name="hash"></a><h3>hash ()</h3>
255
<pre class="programlisting">int hash (void *ctx,
257
size_t textsize);</pre>
1080
<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>,
1081
<em class="parameter"><code>const <span class="type">void</span> *text</code></em>,
1082
<em class="parameter"><code><span class="type">size_t</span> textsize</code></em>);</pre>
1085
<div class="variablelist"><table border="0">
1086
<col align="left" valign="top">
1089
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
1094
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
1099
<td><p><span class="term"><em class="parameter"><code>textsize</code></em> :</span></p></td>
1104
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
260
1112
<div class="refsect2" title="copy ()">
261
1113
<a name="copy"></a><h3>copy ()</h3>
262
<pre class="programlisting">int copy (void **dst_ctx,
263
void *src_ctx);</pre>
1114
<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>,
1115
<em class="parameter"><code><span class="type">void</span> *src_ctx</code></em>);</pre>
1118
<div class="variablelist"><table border="0">
1119
<col align="left" valign="top">
1122
<td><p><span class="term"><em class="parameter"><code>dst_ctx</code></em> :</span></p></td>
1127
<td><p><span class="term"><em class="parameter"><code>src_ctx</code></em> :</span></p></td>
1132
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
266
1140
<div class="refsect2" title="output ()">
267
1141
<a name="output"></a><h3>output ()</h3>
268
<pre class="programlisting">int output (void *src_ctx,
270
size_t digestsize);</pre>
273
<div class="refsect2" title="gnutls_crypto_single_digest_st">
274
<a name="gnutls-crypto-single-digest-st"></a><h3>gnutls_crypto_single_digest_st</h3>
275
<pre class="programlisting">typedef gnutls_crypto_single_mac_st gnutls_crypto_single_digest_st;
1142
<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>,
1143
<em class="parameter"><code><span class="type">void</span> *digest</code></em>,
1144
<em class="parameter"><code><span class="type">size_t</span> digestsize</code></em>);</pre>
1147
<div class="variablelist"><table border="0">
1148
<col align="left" valign="top">
1151
<td><p><span class="term"><em class="parameter"><code>src_ctx</code></em> :</span></p></td>
1156
<td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
1161
<td><p><span class="term"><em class="parameter"><code>digestsize</code></em> :</span></p></td>
1166
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
279
1174
<div class="refsect2" title="gnutls_crypto_digest_st">
280
1175
<a name="gnutls-crypto-digest-st"></a><h3>gnutls_crypto_digest_st</h3>
281
1176
<pre class="programlisting">typedef gnutls_crypto_mac_st gnutls_crypto_digest_st;
285
1182
<div class="refsect2" title="enum gnutls_rnd_level_t">
286
1183
<a name="gnutls-rnd-level-t"></a><h3>enum gnutls_rnd_level_t</h3>
287
1184
<pre class="programlisting">typedef enum gnutls_rnd_level
289
/* fatal in parts of session if broken, i.e., vulnerable to
290
statistical analysis */
291
1186
GNUTLS_RND_NONCE = 0,
292
/* fatal in session if broken */
293
1187
GNUTLS_RND_RANDOM = 1,
294
/* fatal in many sessions if broken */
295
1188
GNUTLS_RND_KEY = 2
296
1189
} gnutls_rnd_level_t;
1192
Enumeration of random quality levels.</p>
1193
<div class="variablelist"><table border="0">
1194
<col align="left" valign="top">
1197
<td><p><a name="GNUTLS-RND-NONCE:CAPS"></a><span class="term"><code class="literal">GNUTLS_RND_NONCE</code></span></p></td>
1198
<td>Non-predictable random number. Fatal in parts
1199
of session if broken, i.e., vulnerable to statistical analysis.
1203
<td><p><a name="GNUTLS-RND-RANDOM:CAPS"></a><span class="term"><code class="literal">GNUTLS_RND_RANDOM</code></span></p></td>
1204
<td>Pseudo-random cryptographic random number.
1205
Fatal in session if broken.
1209
<td><p><a name="GNUTLS-RND-KEY:CAPS"></a><span class="term"><code class="literal">GNUTLS_RND_KEY</code></span></p></td>
1210
<td>Fatal in many sessions if broken.
300
1217
<div class="refsect2" title="enum gnutls_pk_flag_t">
332
1293
GNUTLS_MPI_FORMAT_PGP = 2
333
1294
} gnutls_bigint_format_t;
1297
Enumeration of different bignum integer encoding formats.</p>
1298
<div class="variablelist"><table border="0">
1299
<col align="left" valign="top">
1302
<td><p><a name="GNUTLS-MPI-FORMAT-USG:CAPS"></a><span class="term"><code class="literal">GNUTLS_MPI_FORMAT_USG</code></span></p></td>
1303
<td>Raw unsigned integer format.
1307
<td><p><a name="GNUTLS-MPI-FORMAT-STD:CAPS"></a><span class="term"><code class="literal">GNUTLS_MPI_FORMAT_STD</code></span></p></td>
1308
<td>Raw signed integer format, always a leading
1313
<td><p><a name="GNUTLS-MPI-FORMAT-PGP:CAPS"></a><span class="term"><code class="literal">GNUTLS_MPI_FORMAT_PGP</code></span></p></td>
1314
<td>The pgp integer format.
337
1321
<div class="refsect2" title="bigint_new ()">
338
1322
<a name="bigint-new"></a><h3>bigint_new ()</h3>
339
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_new (int nbits);</pre>
1323
<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>
1326
<div class="variablelist"><table border="0">
1327
<col align="left" valign="top">
1330
<td><p><span class="term"><em class="parameter"><code>nbits</code></em> :</span></p></td>
1335
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
342
1343
<div class="refsect2" title="bigint_release ()">
343
1344
<a name="bigint-release"></a><h3>bigint_release ()</h3>
344
<pre class="programlisting">void bigint_release (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> n);</pre>
1345
<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>
1348
<div class="variablelist"><table border="0">
1349
<col align="left" valign="top">
1351
<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
347
1358
<div class="refsect2" title="bigint_cmp ()">
348
1359
<a name="bigint-cmp"></a><h3>bigint_cmp ()</h3>
349
<pre class="programlisting">int bigint_cmp (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m1,
350
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m2);</pre>
1360
<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>,
1361
<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>
1364
<div class="variablelist"><table border="0">
1365
<col align="left" valign="top">
1368
<td><p><span class="term"><em class="parameter"><code>m1</code></em> :</span></p></td>
1373
<td><p><span class="term"><em class="parameter"><code>m2</code></em> :</span></p></td>
1378
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
353
1386
<div class="refsect2" title="bigint_cmp_ui ()">
354
1387
<a name="bigint-cmp-ui"></a><h3>bigint_cmp_ui ()</h3>
355
<pre class="programlisting">int bigint_cmp_ui (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m1,
356
unsigned long m2);</pre>
1388
<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>,
1389
<em class="parameter"><code><span class="type">unsigned long </span> m2</code></em>);</pre>
1392
<div class="variablelist"><table border="0">
1393
<col align="left" valign="top">
1396
<td><p><span class="term"><em class="parameter"><code>m1</code></em> :</span></p></td>
1401
<td><p><span class="term"><em class="parameter"><code>m2</code></em> :</span></p></td>
1406
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
359
1414
<div class="refsect2" title="bigint_mod ()">
360
1415
<a name="bigint-mod"></a><h3>bigint_mod ()</h3>
361
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_mod (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
362
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);</pre>
1416
<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>,
1417
<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>
1420
<div class="variablelist"><table border="0">
1421
<col align="left" valign="top">
1424
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1429
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1434
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
365
1442
<div class="refsect2" title="bigint_set ()">
366
1443
<a name="bigint-set"></a><h3>bigint_set ()</h3>
367
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_set (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
368
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);</pre>
1444
<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>,
1445
<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>
1448
<div class="variablelist"><table border="0">
1449
<col align="left" valign="top">
1452
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1457
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1462
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
371
1470
<div class="refsect2" title="bigint_set_ui ()">
372
1471
<a name="bigint-set-ui"></a><h3>bigint_set_ui ()</h3>
373
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_set_ui (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
374
unsigned long b);</pre>
1472
<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>,
1473
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1476
<div class="variablelist"><table border="0">
1477
<col align="left" valign="top">
1480
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1485
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1490
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
377
<div class="refsect2" title="bigint_get_nbits ()">
378
<a name="bigint-get-nbits"></a><h3>bigint_get_nbits ()</h3>
379
<pre class="programlisting">unsigned int bigint_get_nbits (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a);</pre>
1498
<div class="refsect2" title="int ()">
1499
<a name="int"></a><h3>int ()</h3>
1500
<pre class="programlisting"><span class="returnvalue">unsigned</span> int ();</pre>
1503
<div class="variablelist"><table border="0">
1504
<col align="left" valign="top">
1506
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
382
1513
<div class="refsect2" title="bigint_powm ()">
383
1514
<a name="bigint-powm"></a><h3>bigint_powm ()</h3>
384
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_powm (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
385
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
386
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> e,
387
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);</pre>
1515
<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>,
1516
<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>,
1517
<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>,
1518
<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>
1521
<div class="variablelist"><table border="0">
1522
<col align="left" valign="top">
1525
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1530
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1535
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
1540
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
1545
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
390
1553
<div class="refsect2" title="bigint_addm ()">
391
1554
<a name="bigint-addm"></a><h3>bigint_addm ()</h3>
392
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_addm (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
393
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
394
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
395
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);</pre>
1555
<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>,
1556
<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>,
1557
<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>,
1558
<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>
1561
<div class="variablelist"><table border="0">
1562
<col align="left" valign="top">
1565
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1570
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1575
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1580
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
1585
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
398
1593
<div class="refsect2" title="bigint_subm ()">
399
1594
<a name="bigint-subm"></a><h3>bigint_subm ()</h3>
400
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_subm (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
401
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
402
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
403
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);</pre>
1595
<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>,
1596
<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>,
1597
<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>,
1598
<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>
1601
<div class="variablelist"><table border="0">
1602
<col align="left" valign="top">
1605
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1610
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1615
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1620
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
1625
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
406
1633
<div class="refsect2" title="bigint_mulm ()">
407
1634
<a name="bigint-mulm"></a><h3>bigint_mulm ()</h3>
408
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_mulm (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
409
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
410
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b,
411
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> m);</pre>
1635
<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>,
1636
<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>,
1637
<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>,
1638
<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>
1641
<div class="variablelist"><table border="0">
1642
<col align="left" valign="top">
1645
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1650
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1655
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1660
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
1665
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
414
1673
<div class="refsect2" title="bigint_mul ()">
415
1674
<a name="bigint-mul"></a><h3>bigint_mul ()</h3>
416
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_mul (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
417
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
418
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);</pre>
1675
<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>,
1676
<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>,
1677
<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>
1680
<div class="variablelist"><table border="0">
1681
<col align="left" valign="top">
1684
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1689
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1694
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1699
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
421
1707
<div class="refsect2" title="bigint_add_ui ()">
422
1708
<a name="bigint-add-ui"></a><h3>bigint_add_ui ()</h3>
423
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_add_ui (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
424
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
425
unsigned long b);</pre>
1709
<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>,
1710
<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>,
1711
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1714
<div class="variablelist"><table border="0">
1715
<col align="left" valign="top">
1718
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1723
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1728
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1733
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
428
1741
<div class="refsect2" title="bigint_sub_ui ()">
429
1742
<a name="bigint-sub-ui"></a><h3>bigint_sub_ui ()</h3>
430
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_sub_ui (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
431
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
432
unsigned long b);</pre>
1743
<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>,
1744
<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>,
1745
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1748
<div class="variablelist"><table border="0">
1749
<col align="left" valign="top">
1752
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1757
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1762
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1767
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
435
1775
<div class="refsect2" title="bigint_mul_ui ()">
436
1776
<a name="bigint-mul-ui"></a><h3>bigint_mul_ui ()</h3>
437
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_mul_ui (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> w,
438
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
439
unsigned long b);</pre>
1777
<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>,
1778
<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>,
1779
<em class="parameter"><code><span class="type">unsigned long </span> b</code></em>);</pre>
1782
<div class="variablelist"><table border="0">
1783
<col align="left" valign="top">
1786
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1791
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1796
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1801
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
442
1809
<div class="refsect2" title="bigint_div ()">
443
1810
<a name="bigint-div"></a><h3>bigint_div ()</h3>
444
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_div (<a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> q,
445
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
446
const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> b);</pre>
1811
<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>,
1812
<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>,
1813
<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>
1816
<div class="variablelist"><table border="0">
1817
<col align="left" valign="top">
1820
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
1825
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1830
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1835
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
449
1843
<div class="refsect2" title="bigint_prime_check ()">
450
1844
<a name="bigint-prime-check"></a><h3>bigint_prime_check ()</h3>
451
<pre class="programlisting">int bigint_prime_check (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> pp);</pre>
1845
<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>
1848
<div class="variablelist"><table border="0">
1849
<col align="left" valign="top">
1852
<td><p><span class="term"><em class="parameter"><code>pp</code></em> :</span></p></td>
1857
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
454
1865
<div class="refsect2" title="bigint_generate_group ()">
455
1866
<a name="bigint-generate-group"></a><h3>bigint_generate_group ()</h3>
456
<pre class="programlisting">int bigint_generate_group (gnutls_group_st *gg,
457
unsigned int bits);</pre>
1867
<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>,
1868
<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>
1871
<div class="variablelist"><table border="0">
1872
<col align="left" valign="top">
1875
<td><p><span class="term"><em class="parameter"><code>gg</code></em> :</span></p></td>
1880
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
1885
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
460
1893
<div class="refsect2" title="bigint_scan ()">
461
1894
<a name="bigint-scan"></a><h3>bigint_scan ()</h3>
462
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> bigint_scan (const void *buf,
464
<a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t">gnutls_bigint_format_t</a> format);</pre>
1895
<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>,
1896
<em class="parameter"><code><span class="type">size_t</span> buf_size</code></em>,
1897
<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>
1900
<div class="variablelist"><table border="0">
1901
<col align="left" valign="top">
1904
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
1909
<td><p><span class="term"><em class="parameter"><code>buf_size</code></em> :</span></p></td>
1914
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1919
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
467
1927
<div class="refsect2" title="bigint_print ()">
468
1928
<a name="bigint-print"></a><h3>bigint_print ()</h3>
469
<pre class="programlisting">int bigint_print (const <a class="link" href="gnutls-crypto.html#bigint-t" title="bigint_t">bigint_t</a> a,
472
<a class="link" href="gnutls-crypto.html#gnutls-bigint-format-t" title="enum gnutls_bigint_format_t">gnutls_bigint_format_t</a> format);</pre>
1929
<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>,
1930
<em class="parameter"><code><span class="type">void</span> *buf</code></em>,
1931
<em class="parameter"><code><span class="type">size_t</span> *buf_size</code></em>,
1932
<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>
1935
<div class="variablelist"><table border="0">
1936
<col align="left" valign="top">
1939
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1944
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
1949
<td><p><span class="term"><em class="parameter"><code>buf_size</code></em> :</span></p></td>
1954
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1959
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
475
1967
<div class="refsect2" title="GNUTLS_MAX_PK_PARAMS">
476
<a name="GNUTLS-MAX-PK-PARAMS--CAPS"></a><h3>GNUTLS_MAX_PK_PARAMS</h3>
1968
<a name="GNUTLS-MAX-PK-PARAMS:CAPS"></a><h3>GNUTLS_MAX_PK_PARAMS</h3>
477
1969
<pre class="programlisting">#define GNUTLS_MAX_PK_PARAMS 6
481
1975
<div class="refsect2" title="gnutls_pk_params_release ()">
482
1976
<a name="gnutls-pk-params-release"></a><h3>gnutls_pk_params_release ()</h3>
483
<pre class="programlisting">void gnutls_pk_params_release (gnutls_pk_params_st *p);</pre>
1977
<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>
1980
<div class="variablelist"><table border="0">
1981
<col align="left" valign="top">
1983
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
486
1990
<div class="refsect2" title="gnutls_pk_params_init ()">
487
1991
<a name="gnutls-pk-params-init"></a><h3>gnutls_pk_params_init ()</h3>
488
<pre class="programlisting">void gnutls_pk_params_init (gnutls_pk_params_st *p);</pre>
1992
<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>
1995
<div class="variablelist"><table border="0">
1996
<col align="left" valign="top">
1998
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
491
2005
<div class="refsect2" title="enum gnutls_direction_t">
492
2006
<a name="gnutls-direction-t"></a><h3>enum gnutls_direction_t</h3>
493
2007
<pre class="programlisting">typedef enum
497
2011
} gnutls_direction_t;
2014
Enumeration of different directions.</p>
2015
<div class="variablelist"><table border="0">
2016
<col align="left" valign="top">
2019
<td><p><a name="GNUTLS-IMPORT:CAPS"></a><span class="term"><code class="literal">GNUTLS_IMPORT</code></span></p></td>
2020
<td>Import direction.
2024
<td><p><a name="GNUTLS-EXPORT:CAPS"></a><span class="term"><code class="literal">GNUTLS_EXPORT</code></span></p></td>
2025
<td>Export direction.
501
2032
<div class="refsect2" title="sign ()">
502
2033
<a name="sign"></a><h3>sign ()</h3>
503
<pre class="programlisting">int sign (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
504
gnutls_datum_t *signature,
505
const gnutls_datum_t *data,
506
const gnutls_pk_params_st *);</pre>
2034
<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>,
2035
<em class="parameter"><code><span class="type">gnutls_datum_t</span> *signature</code></em>,
2036
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
2037
<em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *private</code></em>);</pre>
2040
<div class="variablelist"><table border="0">
2041
<col align="left" valign="top">
2044
<td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td>
2049
<td><p><span class="term"><em class="parameter"><code>signature</code></em> :</span></p></td>
2054
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2059
<td><p><span class="term"><em class="parameter"><code>private</code></em> :</span></p></td>
2064
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
509
2072
<div class="refsect2" title="verify ()">
510
2073
<a name="verify"></a><h3>verify ()</h3>
511
<pre class="programlisting">int verify (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
512
const gnutls_datum_t *data,
513
const gnutls_datum_t *signature,
514
const gnutls_pk_params_st *);</pre>
2074
<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>,
2075
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
2076
<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *signature</code></em>,
2077
<em class="parameter"><code>const <span class="type">gnutls_pk_params_st</span> *public</code></em>);</pre>
2080
<div class="variablelist"><table border="0">
2081
<col align="left" valign="top">
2084
<td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td>
2089
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2094
<td><p><span class="term"><em class="parameter"><code>signature</code></em> :</span></p></td>
2099
<td><p><span class="term"><em class="parameter"><code>public</code></em> :</span></p></td>
2104
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
517
2112
<div class="refsect2" title="generate ()">
518
2113
<a name="generate"></a><h3>generate ()</h3>
519
<pre class="programlisting">int generate (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
521
gnutls_pk_params_st *);</pre>
2114
<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>,
2115
<em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> nbits</code></em>,
2116
<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);</pre>
2119
<div class="variablelist"><table border="0">
2120
<col align="left" valign="top">
2123
<td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td>
2128
<td><p><span class="term"><em class="parameter"><code>nbits</code></em> :</span></p></td>
2133
<td><p><span class="term"><em class="parameter"><code>Param3</code></em> :</span></p></td>
2138
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
524
2146
<div class="refsect2" title="pk_fixup_private_params ()">
525
2147
<a name="pk-fixup-private-params"></a><h3>pk_fixup_private_params ()</h3>
526
<pre class="programlisting">int pk_fixup_private_params (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> ,
527
<a class="link" href="gnutls-crypto.html#gnutls-direction-t" title="enum gnutls_direction_t">gnutls_direction_t</a> ,
528
gnutls_pk_params_st *);</pre>
2148
<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>,
2149
<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>,
2150
<em class="parameter"><code><span class="type">gnutls_pk_params_st</span> *Param3</code></em>);</pre>
2153
<div class="variablelist"><table border="0">
2154
<col align="left" valign="top">
2157
<td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td>
2162
<td><p><span class="term"><em class="parameter"><code>Param2</code></em> :</span></p></td>
2167
<td><p><span class="term"><em class="parameter"><code>Param3</code></em> :</span></p></td>
2172
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
531
2180
<div class="refsect2" title="gnutls_crypto_single_cipher_register()">
532
2181
<a name="gnutls-crypto-single-cipher-register"></a><h3>gnutls_crypto_single_cipher_register()</h3>
533
2182
<pre class="programlisting">#define gnutls_crypto_single_cipher_register(algo, prio, st)</pre>
2185
<div class="variablelist"><table border="0">
2186
<col align="left" valign="top">
2189
<td><p><span class="term"><em class="parameter"><code>algo</code></em> :</span></p></td>
2194
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2199
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
536
2207
<div class="refsect2" title="gnutls_crypto_single_mac_register()">
537
2208
<a name="gnutls-crypto-single-mac-register"></a><h3>gnutls_crypto_single_mac_register()</h3>
538
2209
<pre class="programlisting">#define gnutls_crypto_single_mac_register(algo, prio, st)</pre>
2212
<div class="variablelist"><table border="0">
2213
<col align="left" valign="top">
2216
<td><p><span class="term"><em class="parameter"><code>algo</code></em> :</span></p></td>
2221
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2226
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
541
2234
<div class="refsect2" title="gnutls_crypto_single_digest_register()">
542
2235
<a name="gnutls-crypto-single-digest-register"></a><h3>gnutls_crypto_single_digest_register()</h3>
543
2236
<pre class="programlisting">#define gnutls_crypto_single_digest_register(algo, prio, st)</pre>
2239
<div class="variablelist"><table border="0">
2240
<col align="left" valign="top">
2243
<td><p><span class="term"><em class="parameter"><code>algo</code></em> :</span></p></td>
2248
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2253
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
546
2261
<div class="refsect2" title="gnutls_crypto_single_cipher_register2 ()">
547
2262
<a name="gnutls-crypto-single-cipher-register2"></a><h3>gnutls_crypto_single_cipher_register2 ()</h3>
548
<pre class="programlisting">int gnutls_crypto_single_cipher_register2
549
(<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> algorithm,
552
gnutls_crypto_single_cipher_st *s);</pre>
2263
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a> gnutls_crypto_single_cipher_register2
2264
(<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>,
2265
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
2266
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2267
<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>
2269
This function will register a cipher algorithm to be used by
2270
gnutls. Any algorithm registered will override the included
2271
algorithms and by convention kernel implemented algorithms have
2272
priority of 90. The algorithm with the lowest priority will be
2276
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>.
2279
For simplicity you can use the convenience
2280
<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.</p>
2281
<div class="variablelist"><table border="0">
2282
<col align="left" valign="top">
2285
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2286
<td>is the gnutls algorithm identifier
2290
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2291
<td>is the priority of the algorithm
2295
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2296
<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>
2300
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2301
<td>is a structure holding new cipher's data
2305
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2306
<td> <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.
553
2312
<p class="since">Since 2.6.0</p>
556
2315
<div class="refsect2" title="gnutls_crypto_single_mac_register2 ()">
557
2316
<a name="gnutls-crypto-single-mac-register2"></a><h3>gnutls_crypto_single_mac_register2 ()</h3>
558
<pre class="programlisting">int gnutls_crypto_single_mac_register2 (<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> algorithm,
561
gnutls_crypto_single_mac_st *s);</pre>
2317
<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>,
2318
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
2319
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2320
<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>
2322
This function will register a MAC algorithm to be used by gnutls.
2323
Any algorithm registered will override the included algorithms and
2324
by convention kernel implemented algorithms have priority of 90.
2325
The algorithm with the lowest priority will be used by gnutls.
2328
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>.
2331
For simplicity you can use the convenience
2332
<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.</p>
2333
<div class="variablelist"><table border="0">
2334
<col align="left" valign="top">
2337
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2338
<td>is the gnutls algorithm identifier
2342
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2343
<td>is the priority of the algorithm
2347
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2348
<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>
2352
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2353
<td>is a structure holding new algorithms's data
2357
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2358
<td> <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.
562
2364
<p class="since">Since 2.6.0</p>
565
2367
<div class="refsect2" title="gnutls_crypto_single_digest_register2 ()">
566
2368
<a name="gnutls-crypto-single-digest-register2"></a><h3>gnutls_crypto_single_digest_register2 ()</h3>
567
<pre class="programlisting">int gnutls_crypto_single_digest_register2
568
(<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a> algorithm,
571
<a class="link" href="gnutls-crypto.html#gnutls-crypto-single-digest-st" title="gnutls_crypto_single_digest_st">gnutls_crypto_single_digest_st</a> *s);</pre>
2369
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a> gnutls_crypto_single_digest_register2
2370
(<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>,
2371
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> priority</code></em>,
2372
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2373
<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>
2375
This function will register a digest (hash) algorithm to be used by
2376
gnutls. Any algorithm registered will override the included
2377
algorithms and by convention kernel implemented algorithms have
2378
priority of 90. The algorithm with the lowest priority will be
2382
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>.
2385
For simplicity you can use the convenience
2386
<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.</p>
2387
<div class="variablelist"><table border="0">
2388
<col align="left" valign="top">
2391
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2392
<td>is the gnutls algorithm identifier
2396
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2397
<td>is the priority of the algorithm
2401
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2402
<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>
2406
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2407
<td>is a structure holding new algorithms's data
2411
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2412
<td> <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.
572
2418
<p class="since">Since 2.6.0</p>
575
2421
<div class="refsect2" title="gnutls_crypto_cipher_register()">
576
2422
<a name="gnutls-crypto-cipher-register"></a><h3>gnutls_crypto_cipher_register()</h3>
577
2423
<pre class="programlisting">#define gnutls_crypto_cipher_register(prio, st)</pre>
2426
<div class="variablelist"><table border="0">
2427
<col align="left" valign="top">
2430
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2435
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
580
2443
<div class="refsect2" title="gnutls_crypto_mac_register()">
581
2444
<a name="gnutls-crypto-mac-register"></a><h3>gnutls_crypto_mac_register()</h3>
582
2445
<pre class="programlisting">#define gnutls_crypto_mac_register(prio, st)</pre>
2448
<div class="variablelist"><table border="0">
2449
<col align="left" valign="top">
2452
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2457
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
585
2465
<div class="refsect2" title="gnutls_crypto_digest_register()">
586
2466
<a name="gnutls-crypto-digest-register"></a><h3>gnutls_crypto_digest_register()</h3>
587
2467
<pre class="programlisting">#define gnutls_crypto_digest_register(prio, st)</pre>
2470
<div class="variablelist"><table border="0">
2471
<col align="left" valign="top">
2474
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2479
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
590
2487
<div class="refsect2" title="gnutls_crypto_cipher_register2 ()">
591
2488
<a name="gnutls-crypto-cipher-register2"></a><h3>gnutls_crypto_cipher_register2 ()</h3>
592
<pre class="programlisting">int gnutls_crypto_cipher_register2 (int priority,
594
gnutls_crypto_cipher_st *s);</pre>
2489
<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>,
2490
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2491
<em class="parameter"><code>const <span class="type">gnutls_crypto_cipher_st</span> *s</code></em>);</pre>
2493
This function will register a cipher interface to be used by
2494
gnutls. Any interface registered will override the included engine
2495
and by convention kernel implemented interfaces should have
2496
priority of 90. The interface with the lowest priority will be used
2500
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>.
2503
For simplicity you can use the convenience
2504
<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.</p>
2505
<div class="variablelist"><table border="0">
2506
<col align="left" valign="top">
2509
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2510
<td>is the priority of the cipher interface
2514
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2515
<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>
2519
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2520
<td>is a structure holding new interface's data
2524
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2525
<td> <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.
595
2531
<p class="since">Since 2.6.0</p>
598
2534
<div class="refsect2" title="gnutls_crypto_mac_register2 ()">
599
2535
<a name="gnutls-crypto-mac-register2"></a><h3>gnutls_crypto_mac_register2 ()</h3>
600
<pre class="programlisting">int gnutls_crypto_mac_register2 (int priority,
602
gnutls_crypto_mac_st *s);</pre>
2536
<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>,
2537
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2538
<em class="parameter"><code>const <span class="type">gnutls_crypto_mac_st</span> *s</code></em>);</pre>
2540
This function will register a mac interface to be used by
2541
gnutls. Any interface registered will override the included engine
2542
and by convention kernel implemented interfaces should have
2543
priority of 90. The interface with the lowest priority will be used
2547
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>.
2550
For simplicity you can use the convenience
2551
<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.</p>
2552
<div class="variablelist"><table border="0">
2553
<col align="left" valign="top">
2556
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2557
<td>is the priority of the mac interface
2561
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2562
<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>
2566
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2567
<td>is a structure holding new interface's data
2571
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2572
<td> <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.
603
2578
<p class="since">Since 2.6.0</p>
606
2581
<div class="refsect2" title="gnutls_crypto_digest_register2 ()">
607
2582
<a name="gnutls-crypto-digest-register2"></a><h3>gnutls_crypto_digest_register2 ()</h3>
608
<pre class="programlisting">int gnutls_crypto_digest_register2 (int priority,
610
<a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-st" title="gnutls_crypto_digest_st">gnutls_crypto_digest_st</a> *s);</pre>
2583
<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>,
2584
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2585
<em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#gnutls-crypto-digest-st" title="gnutls_crypto_digest_st"><span class="type">gnutls_crypto_digest_st</span></a> *s</code></em>);</pre>
2587
This function will register a digest interface to be used by
2588
gnutls. Any interface registered will override the included engine
2589
and by convention kernel implemented interfaces should have
2590
priority of 90. The interface with the lowest priority will be used
2594
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>.
2597
For simplicity you can use the convenience
2598
<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.</p>
2599
<div class="variablelist"><table border="0">
2600
<col align="left" valign="top">
2603
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2604
<td>is the priority of the digest interface
2608
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2609
<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>
2613
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2614
<td>is a structure holding new interface's data
2618
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2619
<td> <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.
611
2625
<p class="since">Since 2.6.0</p>
614
2628
<div class="refsect2" title="gnutls_crypto_rnd_register()">
615
2629
<a name="gnutls-crypto-rnd-register"></a><h3>gnutls_crypto_rnd_register()</h3>
616
2630
<pre class="programlisting">#define gnutls_crypto_rnd_register(prio, st)</pre>
2633
<div class="variablelist"><table border="0">
2634
<col align="left" valign="top">
2637
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2642
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
619
2650
<div class="refsect2" title="gnutls_crypto_pk_register()">
620
2651
<a name="gnutls-crypto-pk-register"></a><h3>gnutls_crypto_pk_register()</h3>
621
2652
<pre class="programlisting">#define gnutls_crypto_pk_register(prio, st)</pre>
2655
<div class="variablelist"><table border="0">
2656
<col align="left" valign="top">
2659
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2664
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
624
2672
<div class="refsect2" title="gnutls_crypto_bigint_register()">
625
2673
<a name="gnutls-crypto-bigint-register"></a><h3>gnutls_crypto_bigint_register()</h3>
626
2674
<pre class="programlisting">#define gnutls_crypto_bigint_register(prio, st)</pre>
2677
<div class="variablelist"><table border="0">
2678
<col align="left" valign="top">
2681
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
2686
<td><p><span class="term"><em class="parameter"><code>st</code></em> :</span></p></td>
629
2694
<div class="refsect2" title="gnutls_crypto_rnd_register2 ()">
630
2695
<a name="gnutls-crypto-rnd-register2"></a><h3>gnutls_crypto_rnd_register2 ()</h3>
631
<pre class="programlisting">int gnutls_crypto_rnd_register2 (int priority,
633
gnutls_crypto_rnd_st *s);</pre>
2696
<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>,
2697
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2698
<em class="parameter"><code>const <span class="type">gnutls_crypto_rnd_st</span> *s</code></em>);</pre>
2700
This function will register a random generator to be used by
2701
gnutls. Any generator registered will override the included
2702
generator and by convention kernel implemented generators have
2703
priority of 90. The generator with the lowest priority will be
2707
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>.
2710
For simplicity you can use the convenience
2711
<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.</p>
2712
<div class="variablelist"><table border="0">
2713
<col align="left" valign="top">
2716
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2717
<td>is the priority of the generator
2721
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2722
<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>
2726
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2727
<td>is a structure holding new generator's data
2731
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2732
<td> <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.
634
2738
<p class="since">Since 2.6.0</p>
637
2741
<div class="refsect2" title="gnutls_crypto_pk_register2 ()">
638
2742
<a name="gnutls-crypto-pk-register2"></a><h3>gnutls_crypto_pk_register2 ()</h3>
639
<pre class="programlisting">int gnutls_crypto_pk_register2 (int priority,
641
gnutls_crypto_pk_st *s);</pre>
2743
<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>,
2744
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2745
<em class="parameter"><code>const <span class="type">gnutls_crypto_pk_st</span> *s</code></em>);</pre>
2747
This function will register an interface for gnutls to operate
2748
on public key operations. Any interface registered will override
2749
the included interface. The interface with the lowest
2750
priority will be used by gnutls.
2753
Note that the bigint interface must interoperate with the bigint
2754
interface. Thus if this interface is updated the
2755
<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.
2758
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>.
2761
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>
2763
<div class="variablelist"><table border="0">
2764
<col align="left" valign="top">
2767
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2768
<td>is the priority of the interface
2772
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2773
<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>
2777
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2778
<td>is a structure holding new interface's data
2782
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2783
<td> <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.
642
2789
<p class="since">Since 2.6.0</p>
645
2792
<div class="refsect2" title="gnutls_crypto_bigint_register2 ()">
646
2793
<a name="gnutls-crypto-bigint-register2"></a><h3>gnutls_crypto_bigint_register2 ()</h3>
647
<pre class="programlisting">int gnutls_crypto_bigint_register2 (int priority,
649
gnutls_crypto_bigint_st *s);</pre>
2794
<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>,
2795
<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> version</code></em>,
2796
<em class="parameter"><code>const <span class="type">gnutls_crypto_bigint_st</span> *s</code></em>);</pre>
2798
This function will register an interface for gnutls to operate
2799
on big integers. Any interface registered will override
2800
the included interface. The interface with the lowest
2801
priority will be used by gnutls.
2804
Note that the bigint interface must interoperate with the public
2805
key interface. Thus if this interface is updated the
2806
<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.
2809
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>.
2812
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>
2814
<div class="variablelist"><table border="0">
2815
<col align="left" valign="top">
2818
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2819
<td>is the priority of the interface
2823
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2824
<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>
2828
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
2829
<td>is a structure holding new interface's data
2833
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2834
<td> <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.
650
2840
<p class="since">Since 2.6.0</p>
654
2844
<div class="footer">
656
Generated by GTK-Doc V1.11</div>
2846
Generated by GTK-Doc V1.14</div>
b'\\ No newline at end of file'