~ubuntu-branches/ubuntu/maverick/gnutls26/maverick-updates

« back to all changes in this revision

Viewing changes to doc/reference/html/gnutls-extra.html

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Metzler
  • Date: 2010-03-20 15:53:35 UTC
  • mfrom: (1.2.6 upstream)
  • mto: This revision was merged to the branch mainline in revision 21.
  • Revision ID: james.westby@ubuntu.com-20100320155335-9lxxf3r7ildrqs1v
Tags: upstream-2.8.6
Import upstream version 2.8.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
<link rel="up" href="ch01.html" title="GNU TLS API Reference Manual">
9
9
<link rel="prev" href="gnutls-gnutls.html" title="gnutls">
10
10
<link rel="next" href="gnutls-x509.html" title="x509">
11
 
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
 
<link rel="chapter" href="ch01.html" title="GNU TLS API Reference Manual">
14
 
<link rel="index" href="ix01.html" title="Index">
15
 
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
16
 
<link rel="index" href="ix03.html" title="Index of new symbols in 2.4.0">
17
 
<link rel="index" href="ix04.html" title="Index of new symbols in 2.6.0">
18
 
<link rel="index" href="ix05.html" title="Index of new symbols in 2.8.0">
19
13
</head>
20
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
21
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
28
22
</tr>
29
23
<tr><td colspan="5" class="shortcuts">
30
24
<a href="#gnutls-extra.synopsis" class="shortcut">Top</a>
31
 
                 | 
32
 
                <a href="#gnutls-extra.description" class="shortcut">Description</a>
 
25
                   | 
 
26
                  <a href="#gnutls-extra.description" class="shortcut">Description</a>
33
27
</td></tr>
34
28
</table>
35
29
<div class="refentry" title="extra">
43
37
</tr></table></div>
44
38
<div class="refsynopsisdiv" title="Synopsis">
45
39
<a name="gnutls-extra.synopsis"></a><h2>Synopsis</h2>
46
 
<pre class="synopsis">
47
 
#define             <a class="link" href="gnutls-extra.html#GNUTLS-EXTRA-VERSION--CAPS" title="GNUTLS_EXTRA_VERSION">GNUTLS_EXTRA_VERSION</a>
 
40
<pre class="synopsis">#define             <a class="link" href="gnutls-extra.html#GNUTLS-EXTRA-VERSION:CAPS" title="GNUTLS_EXTRA_VERSION">GNUTLS_EXTRA_VERSION</a>
48
41
enum                <a class="link" href="gnutls-extra.html#gnutls-ia-apptype-t" title="enum gnutls_ia_apptype_t">gnutls_ia_apptype_t</a>;
49
 
int                 (<a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()">*gnutls_ia_avp_func</a>)               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
50
 
                                                         void *ptr,
51
 
                                                         const char *last,
52
 
                                                         size_t lastlen,
53
 
                                                         char **next,
54
 
                                                         size_t *nextlen);
55
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-free-client-credentials" title="gnutls_ia_free_client_credentials ()">gnutls_ia_free_client_credentials</a>   (gnutls_ia_client_credentials_t sc);
56
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-allocate-client-credentials" title="gnutls_ia_allocate_client_credentials ()">gnutls_ia_allocate_client_credentials</a>
57
 
                                                        (gnutls_ia_client_credentials_t *sc);
58
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-free-server-credentials" title="gnutls_ia_free_server_credentials ()">gnutls_ia_free_server_credentials</a>   (gnutls_ia_server_credentials_t sc);
59
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-allocate-server-credentials" title="gnutls_ia_allocate_server_credentials ()">gnutls_ia_allocate_server_credentials</a>
60
 
                                                        (gnutls_ia_server_credentials_t *sc);
61
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-set-client-avp-function" title="gnutls_ia_set_client_avp_function ()">gnutls_ia_set_client_avp_function</a>   (gnutls_ia_client_credentials_t cred,
62
 
                                                         <a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()">gnutls_ia_avp_func</a> avp_func);
63
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-set-client-avp-ptr" title="gnutls_ia_set_client_avp_ptr ()">gnutls_ia_set_client_avp_ptr</a>        (gnutls_ia_client_credentials_t cred,
64
 
                                                         void *ptr);
65
 
void *              <a class="link" href="gnutls-extra.html#gnutls-ia-get-client-avp-ptr" title="gnutls_ia_get_client_avp_ptr ()">gnutls_ia_get_client_avp_ptr</a>        (gnutls_ia_client_credentials_t cred);
66
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-set-server-avp-function" title="gnutls_ia_set_server_avp_function ()">gnutls_ia_set_server_avp_function</a>   (gnutls_ia_server_credentials_t cred,
67
 
                                                         <a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()">gnutls_ia_avp_func</a> avp_func);
68
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-set-server-avp-ptr" title="gnutls_ia_set_server_avp_ptr ()">gnutls_ia_set_server_avp_ptr</a>        (gnutls_ia_server_credentials_t cred,
69
 
                                                         void *ptr);
70
 
void *              <a class="link" href="gnutls-extra.html#gnutls-ia-get-server-avp-ptr" title="gnutls_ia_get_server_avp_ptr ()">gnutls_ia_get_server_avp_ptr</a>        (gnutls_ia_server_credentials_t cred);
71
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-handshake-p" title="gnutls_ia_handshake_p ()">gnutls_ia_handshake_p</a>               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
72
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-handshake" title="gnutls_ia_handshake ()">gnutls_ia_handshake</a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
73
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-permute-inner-secret" title="gnutls_ia_permute_inner_secret ()">gnutls_ia_permute_inner_secret</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
74
 
                                                         size_t session_keys_size,
75
 
                                                         const char *session_keys);
76
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-endphase-send" title="gnutls_ia_endphase_send ()">gnutls_ia_endphase_send</a>             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
77
 
                                                         int final_p);
78
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-verify-endphase" title="gnutls_ia_verify_endphase ()">gnutls_ia_verify_endphase</a>           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
79
 
                                                         const char *checksum);
80
 
ssize_t             <a class="link" href="gnutls-extra.html#gnutls-ia-send" title="gnutls_ia_send ()">gnutls_ia_send</a>                      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
81
 
                                                         const char *data,
82
 
                                                         size_t sizeofdata);
83
 
ssize_t             <a class="link" href="gnutls-extra.html#gnutls-ia-recv" title="gnutls_ia_recv ()">gnutls_ia_recv</a>                      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
84
 
                                                         char *data,
85
 
                                                         size_t sizeofdata);
86
 
int                 <a class="link" href="gnutls-extra.html#gnutls-ia-generate-challenge" title="gnutls_ia_generate_challenge ()">gnutls_ia_generate_challenge</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
87
 
                                                         size_t buffer_size,
88
 
                                                         char *buffer);
89
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-extract-inner-secret" title="gnutls_ia_extract_inner_secret ()">gnutls_ia_extract_inner_secret</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
90
 
                                                         char *buffer);
91
 
void                <a class="link" href="gnutls-extra.html#gnutls-ia-enable" title="gnutls_ia_enable ()">gnutls_ia_enable</a>                    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
92
 
                                                         int allow_skip_on_resume);
93
 
int                 <a class="link" href="gnutls-extra.html#gnutls-global-init-extra" title="gnutls_global_init_extra ()">gnutls_global_init_extra</a>            (void);
94
 
int                 <a class="link" href="gnutls-extra.html#gnutls-register-md5-handler" title="gnutls_register_md5_handler ()">gnutls_register_md5_handler</a>         (void);
95
 
const char *        <a class="link" href="gnutls-extra.html#gnutls-extra-check-version" title="gnutls_extra_check_version ()">gnutls_extra_check_version</a>          (const char *req_version);
 
42
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()">*gnutls_ia_avp_func</a>)               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
43
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>,
 
44
                                                         <em class="parameter"><code>const <span class="type">char</span> *last</code></em>,
 
45
                                                         <em class="parameter"><code><span class="type">size_t</span> lastlen</code></em>,
 
46
                                                         <em class="parameter"><code><span class="type">char</span> **next</code></em>,
 
47
                                                         <em class="parameter"><code><span class="type">size_t</span> *nextlen</code></em>);
 
48
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-free-client-credentials" title="gnutls_ia_free_client_credentials ()">gnutls_ia_free_client_credentials</a>   (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> sc</code></em>);
 
49
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-allocate-client-credentials" title="gnutls_ia_allocate_client_credentials ()">gnutls_ia_allocate_client_credentials</a>
 
50
                                                        (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> *sc</code></em>);
 
51
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-free-server-credentials" title="gnutls_ia_free_server_credentials ()">gnutls_ia_free_server_credentials</a>   (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> sc</code></em>);
 
52
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-allocate-server-credentials" title="gnutls_ia_allocate_server_credentials ()">gnutls_ia_allocate_server_credentials</a>
 
53
                                                        (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> *sc</code></em>);
 
54
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-set-client-avp-function" title="gnutls_ia_set_client_avp_function ()">gnutls_ia_set_client_avp_function</a>   (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> cred</code></em>,
 
55
                                                         <em class="parameter"><code><a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()"><span class="type">gnutls_ia_avp_func</span></a> avp_func</code></em>);
 
56
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-set-client-avp-ptr" title="gnutls_ia_set_client_avp_ptr ()">gnutls_ia_set_client_avp_ptr</a>        (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> cred</code></em>,
 
57
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);
 
58
<span class="returnvalue">void</span> *              <a class="link" href="gnutls-extra.html#gnutls-ia-get-client-avp-ptr" title="gnutls_ia_get_client_avp_ptr ()">gnutls_ia_get_client_avp_ptr</a>        (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> cred</code></em>);
 
59
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-set-server-avp-function" title="gnutls_ia_set_server_avp_function ()">gnutls_ia_set_server_avp_function</a>   (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> cred</code></em>,
 
60
                                                         <em class="parameter"><code><a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()"><span class="type">gnutls_ia_avp_func</span></a> avp_func</code></em>);
 
61
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-set-server-avp-ptr" title="gnutls_ia_set_server_avp_ptr ()">gnutls_ia_set_server_avp_ptr</a>        (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> cred</code></em>,
 
62
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);
 
63
<span class="returnvalue">void</span> *              <a class="link" href="gnutls-extra.html#gnutls-ia-get-server-avp-ptr" title="gnutls_ia_get_server_avp_ptr ()">gnutls_ia_get_server_avp_ptr</a>        (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> cred</code></em>);
 
64
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-handshake-p" title="gnutls_ia_handshake_p ()">gnutls_ia_handshake_p</a>               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);
 
65
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-handshake" title="gnutls_ia_handshake ()">gnutls_ia_handshake</a>                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);
 
66
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-permute-inner-secret" title="gnutls_ia_permute_inner_secret ()">gnutls_ia_permute_inner_secret</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
67
                                                         <em class="parameter"><code><span class="type">size_t</span> session_keys_size</code></em>,
 
68
                                                         <em class="parameter"><code>const <span class="type">char</span> *session_keys</code></em>);
 
69
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-endphase-send" title="gnutls_ia_endphase_send ()">gnutls_ia_endphase_send</a>             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
70
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> final_p</code></em>);
 
71
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-verify-endphase" title="gnutls_ia_verify_endphase ()">gnutls_ia_verify_endphase</a>           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
72
                                                         <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);
 
73
<span class="returnvalue">ssize_t</span>             <a class="link" href="gnutls-extra.html#gnutls-ia-send" title="gnutls_ia_send ()">gnutls_ia_send</a>                      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
74
                                                         <em class="parameter"><code>const <span class="type">char</span> *data</code></em>,
 
75
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);
 
76
<span class="returnvalue">ssize_t</span>             <a class="link" href="gnutls-extra.html#gnutls-ia-recv" title="gnutls_ia_recv ()">gnutls_ia_recv</a>                      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
77
                                                         <em class="parameter"><code><span class="type">char</span> *data</code></em>,
 
78
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);
 
79
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-ia-generate-challenge" title="gnutls_ia_generate_challenge ()">gnutls_ia_generate_challenge</a>        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
80
                                                         <em class="parameter"><code><span class="type">size_t</span> buffer_size</code></em>,
 
81
                                                         <em class="parameter"><code><span class="type">char</span> *buffer</code></em>);
 
82
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-extract-inner-secret" title="gnutls_ia_extract_inner_secret ()">gnutls_ia_extract_inner_secret</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
83
                                                         <em class="parameter"><code><span class="type">char</span> *buffer</code></em>);
 
84
<span class="returnvalue">void</span>                <a class="link" href="gnutls-extra.html#gnutls-ia-enable" title="gnutls_ia_enable ()">gnutls_ia_enable</a>                    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
85
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> allow_skip_on_resume</code></em>);
 
86
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-global-init-extra" title="gnutls_global_init_extra ()">gnutls_global_init_extra</a>            (<em class="parameter"><code><span class="type">void</span></code></em>);
 
87
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-extra.html#gnutls-register-md5-handler" title="gnutls_register_md5_handler ()">gnutls_register_md5_handler</a>         (<em class="parameter"><code><span class="type">void</span></code></em>);
 
88
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-extra.html#gnutls-extra-check-version" title="gnutls_extra_check_version ()">gnutls_extra_check_version</a>          (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);
96
89
</pre>
97
90
</div>
98
91
<div class="refsect1" title="Description">
103
96
<div class="refsect1" title="Details">
104
97
<a name="gnutls-extra.details"></a><h2>Details</h2>
105
98
<div class="refsect2" title="GNUTLS_EXTRA_VERSION">
106
 
<a name="GNUTLS-EXTRA-VERSION--CAPS"></a><h3>GNUTLS_EXTRA_VERSION</h3>
 
99
<a name="GNUTLS-EXTRA-VERSION:CAPS"></a><h3>GNUTLS_EXTRA_VERSION</h3>
107
100
<pre class="programlisting">#define GNUTLS_EXTRA_VERSION GNUTLS_VERSION
108
101
</pre>
109
102
<p>
125
118
<hr>
126
119
<div class="refsect2" title="gnutls_ia_avp_func ()">
127
120
<a name="gnutls-ia-avp-func"></a><h3>gnutls_ia_avp_func ()</h3>
128
 
<pre class="programlisting">int                 (*gnutls_ia_avp_func)               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
129
 
                                                         void *ptr,
130
 
                                                         const char *last,
131
 
                                                         size_t lastlen,
132
 
                                                         char **next,
133
 
                                                         size_t *nextlen);</pre>
 
121
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_ia_avp_func)               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
122
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>,
 
123
                                                         <em class="parameter"><code>const <span class="type">char</span> *last</code></em>,
 
124
                                                         <em class="parameter"><code><span class="type">size_t</span> lastlen</code></em>,
 
125
                                                         <em class="parameter"><code><span class="type">char</span> **next</code></em>,
 
126
                                                         <em class="parameter"><code><span class="type">size_t</span> *nextlen</code></em>);</pre>
134
127
<p>
135
128
</p>
136
129
<div class="variablelist"><table border="0">
177
170
<hr>
178
171
<div class="refsect2" title="gnutls_ia_free_client_credentials ()">
179
172
<a name="gnutls-ia-free-client-credentials"></a><h3>gnutls_ia_free_client_credentials ()</h3>
180
 
<pre class="programlisting">void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);</pre>
181
 
<p>
182
 
This structure is complex enough to manipulate directly thus this
183
 
helper function is provided in order to free (deallocate) it.</p>
 
173
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_free_client_credentials   (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> sc</code></em>);</pre>
184
174
<p>
185
175
</p>
186
176
<div class="variablelist"><table border="0">
187
177
<col align="left" valign="top">
188
178
<tbody><tr>
189
179
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
190
 
<td> is a <span class="type">gnutls_ia_client_credentials_t</span> structure.
 
180
<td>
191
181
</td>
192
182
</tr></tbody>
193
183
</table></div>
195
185
<hr>
196
186
<div class="refsect2" title="gnutls_ia_allocate_client_credentials ()">
197
187
<a name="gnutls-ia-allocate-client-credentials"></a><h3>gnutls_ia_allocate_client_credentials ()</h3>
198
 
<pre class="programlisting">int                 gnutls_ia_allocate_client_credentials
199
 
                                                        (gnutls_ia_client_credentials_t *sc);</pre>
200
 
<p>
201
 
This structure is complex enough to manipulate directly thus this
202
 
helper function is provided in order to allocate it.
203
 
</p>
204
 
<p>
205
 
Adding this credential to a session will enable TLS/IA, and will
206
 
require an Application Phase after the TLS handshake (if the server
207
 
support TLS/IA).  Use <code class="function">gnutls_ia_require_inner_phase()</code> to toggle the
208
 
TLS/IA mode.</p>
 
188
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_allocate_client_credentials
 
189
                                                        (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> *sc</code></em>);</pre>
209
190
<p>
210
191
</p>
211
192
<div class="variablelist"><table border="0">
213
194
<tbody>
214
195
<tr>
215
196
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
216
 
<td> is a pointer to a <span class="type">gnutls_ia_server_credentials_t</span> structure.
 
197
<td>
217
198
</td>
218
199
</tr>
219
200
<tr>
220
201
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
221
 
<td> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS--CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise
222
 
  an error code is returned.
 
202
<td>
223
203
</td>
224
204
</tr>
225
205
</tbody>
228
208
<hr>
229
209
<div class="refsect2" title="gnutls_ia_free_server_credentials ()">
230
210
<a name="gnutls-ia-free-server-credentials"></a><h3>gnutls_ia_free_server_credentials ()</h3>
231
 
<pre class="programlisting">void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);</pre>
232
 
<p>
233
 
This structure is complex enough to manipulate directly thus this
234
 
helper function is provided in order to free (deallocate) it.</p>
 
211
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_free_server_credentials   (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> sc</code></em>);</pre>
235
212
<p>
236
213
</p>
237
214
<div class="variablelist"><table border="0">
238
215
<col align="left" valign="top">
239
216
<tbody><tr>
240
217
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
241
 
<td> is a <span class="type">gnutls_ia_server_credentials_t</span> structure.
 
218
<td>
242
219
</td>
243
220
</tr></tbody>
244
221
</table></div>
246
223
<hr>
247
224
<div class="refsect2" title="gnutls_ia_allocate_server_credentials ()">
248
225
<a name="gnutls-ia-allocate-server-credentials"></a><h3>gnutls_ia_allocate_server_credentials ()</h3>
249
 
<pre class="programlisting">int                 gnutls_ia_allocate_server_credentials
250
 
                                                        (gnutls_ia_server_credentials_t *sc);</pre>
251
 
<p>
252
 
This structure is complex enough to manipulate directly thus this
253
 
helper function is provided in order to allocate it.
254
 
</p>
255
 
<p>
256
 
Adding this credential to a session will enable TLS/IA, and will
257
 
require an Application Phase after the TLS handshake (if the client
258
 
support TLS/IA).  Use <code class="function">gnutls_ia_require_inner_phase()</code> to toggle the
259
 
TLS/IA mode.</p>
 
226
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_allocate_server_credentials
 
227
                                                        (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> *sc</code></em>);</pre>
260
228
<p>
261
229
</p>
262
230
<div class="variablelist"><table border="0">
264
232
<tbody>
265
233
<tr>
266
234
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
267
 
<td> is a pointer to a <span class="type">gnutls_ia_server_credentials_t</span> structure.
 
235
<td>
268
236
</td>
269
237
</tr>
270
238
<tr>
271
239
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
272
 
<td> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS--CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise
273
 
  an error code is returned.
 
240
<td>
274
241
</td>
275
242
</tr>
276
243
</tbody>
279
246
<hr>
280
247
<div class="refsect2" title="gnutls_ia_set_client_avp_function ()">
281
248
<a name="gnutls-ia-set-client-avp-function"></a><h3>gnutls_ia_set_client_avp_function ()</h3>
282
 
<pre class="programlisting">void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
283
 
                                                         <a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()">gnutls_ia_avp_func</a> avp_func);</pre>
284
 
<p>
285
 
Set the TLS/IA AVP callback handler used for the session.
286
 
</p>
287
 
<p>
288
 
The AVP callback is called to process AVPs received from the
289
 
server, and to get a new AVP to send to the server.
290
 
</p>
291
 
<p>
292
 
The callback's function form is:
293
 
int (*avp_func) (gnutls_session_t session, void *ptr,
294
 
                 const char *last, size_t lastlen,
295
 
                 char **next, size_t *nextlen);
296
 
</p>
297
 
<p>
298
 
The <em class="parameter"><code>session</code></em> parameter is the <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure
299
 
corresponding to the current session.  The <em class="parameter"><code>ptr</code></em> parameter is the
300
 
application hook pointer, set through
301
 
<a class="link" href="gnutls-extra.html#gnutls-ia-set-client-avp-ptr" title="gnutls_ia_set_client_avp_ptr ()"><code class="function">gnutls_ia_set_client_avp_ptr()</code></a>.  The AVP received from the server
302
 
is present in <em class="parameter"><code>last</code></em> of <em class="parameter"><code>lastlen</code></em> size, which will be <code class="literal">NULL</code> on the
303
 
first invocation.  The newly allocated output AVP to send to the
304
 
server should be placed in *<em class="parameter"><code>next</code></em> of *<em class="parameter"><code>nextlen</code></em> size.
305
 
</p>
306
 
<p>
307
 
The callback may invoke <a class="link" href="gnutls-extra.html#gnutls-ia-permute-inner-secret" title="gnutls_ia_permute_inner_secret ()"><code class="function">gnutls_ia_permute_inner_secret()</code></a> to mix any
308
 
generated session keys with the TLS/IA inner secret.
309
 
</p>
310
 
<p>
311
 
Return 0 (<code class="literal">GNUTLS_IA_APPLICATION_PAYLOAD</code>) on success, or a negative
312
 
error code to abort the TLS/IA handshake.
313
 
</p>
314
 
<p>
315
 
Note that the callback must use allocate the <em class="parameter"><code>next</code></em> parameter using
316
 
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a>, because it is released via <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a> by the
317
 
TLS/IA handshake function.</p>
 
249
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_set_client_avp_function   (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> cred</code></em>,
 
250
                                                         <em class="parameter"><code><a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()"><span class="type">gnutls_ia_avp_func</span></a> avp_func</code></em>);</pre>
318
251
<p>
319
252
</p>
320
253
<div class="variablelist"><table border="0">
322
255
<tbody>
323
256
<tr>
324
257
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
325
 
<td> is a <span class="type">gnutls_ia_client_credentials_t</span> structure.
 
258
<td>
326
259
</td>
327
260
</tr>
328
261
<tr>
329
262
<td><p><span class="term"><em class="parameter"><code>avp_func</code></em> :</span></p></td>
330
 
<td> is the callback function
 
263
<td>
331
264
</td>
332
265
</tr>
333
266
</tbody>
336
269
<hr>
337
270
<div class="refsect2" title="gnutls_ia_set_client_avp_ptr ()">
338
271
<a name="gnutls-ia-set-client-avp-ptr"></a><h3>gnutls_ia_set_client_avp_ptr ()</h3>
339
 
<pre class="programlisting">void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
340
 
                                                         void *ptr);</pre>
341
 
<p>
342
 
Sets the pointer that will be provided to the TLS/IA callback
343
 
function as the first argument.</p>
 
272
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_set_client_avp_ptr        (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> cred</code></em>,
 
273
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre>
344
274
<p>
345
275
</p>
346
276
<div class="variablelist"><table border="0">
348
278
<tbody>
349
279
<tr>
350
280
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
351
 
<td> is a <span class="type">gnutls_ia_client_credentials_t</span> structure.
 
281
<td>
352
282
</td>
353
283
</tr>
354
284
<tr>
355
285
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
356
 
<td> is the pointer
 
286
<td>
357
287
</td>
358
288
</tr>
359
289
</tbody>
362
292
<hr>
363
293
<div class="refsect2" title="gnutls_ia_get_client_avp_ptr ()">
364
294
<a name="gnutls-ia-get-client-avp-ptr"></a><h3>gnutls_ia_get_client_avp_ptr ()</h3>
365
 
<pre class="programlisting">void *              gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_t cred);</pre>
366
 
<p>
367
 
Returns the pointer that will be provided to the TLS/IA callback
368
 
function as the first argument.</p>
 
295
<pre class="programlisting"><span class="returnvalue">void</span> *              gnutls_ia_get_client_avp_ptr        (<em class="parameter"><code><span class="type">gnutls_ia_client_credentials_t</span> cred</code></em>);</pre>
369
296
<p>
370
297
</p>
371
298
<div class="variablelist"><table border="0">
373
300
<tbody>
374
301
<tr>
375
302
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
376
 
<td> is a <span class="type">gnutls_ia_client_credentials_t</span> structure.
 
303
<td>
377
304
</td>
378
305
</tr>
379
306
<tr>
380
307
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
381
 
<td> The client callback data pointer.
 
308
<td>
382
309
</td>
383
310
</tr>
384
311
</tbody>
387
314
<hr>
388
315
<div class="refsect2" title="gnutls_ia_set_server_avp_function ()">
389
316
<a name="gnutls-ia-set-server-avp-function"></a><h3>gnutls_ia_set_server_avp_function ()</h3>
390
 
<pre class="programlisting">void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
391
 
                                                         <a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()">gnutls_ia_avp_func</a> avp_func);</pre>
 
317
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_set_server_avp_function   (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> cred</code></em>,
 
318
                                                         <em class="parameter"><code><a class="link" href="gnutls-extra.html#gnutls-ia-avp-func" title="gnutls_ia_avp_func ()"><span class="type">gnutls_ia_avp_func</span></a> avp_func</code></em>);</pre>
392
319
<p>
393
320
</p>
394
321
<div class="variablelist"><table border="0">
410
337
<hr>
411
338
<div class="refsect2" title="gnutls_ia_set_server_avp_ptr ()">
412
339
<a name="gnutls-ia-set-server-avp-ptr"></a><h3>gnutls_ia_set_server_avp_ptr ()</h3>
413
 
<pre class="programlisting">void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
414
 
                                                         void *ptr);</pre>
415
 
<p>
416
 
Sets the pointer that will be provided to the TLS/IA callback
417
 
function as the first argument.</p>
 
340
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_set_server_avp_ptr        (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> cred</code></em>,
 
341
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre>
418
342
<p>
419
343
</p>
420
344
<div class="variablelist"><table border="0">
422
346
<tbody>
423
347
<tr>
424
348
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
425
 
<td> is a <span class="type">gnutls_ia_client_credentials_t</span> structure.
 
349
<td>
426
350
</td>
427
351
</tr>
428
352
<tr>
429
353
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
430
 
<td> is the pointer
 
354
<td>
431
355
</td>
432
356
</tr>
433
357
</tbody>
436
360
<hr>
437
361
<div class="refsect2" title="gnutls_ia_get_server_avp_ptr ()">
438
362
<a name="gnutls-ia-get-server-avp-ptr"></a><h3>gnutls_ia_get_server_avp_ptr ()</h3>
439
 
<pre class="programlisting">void *              gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_t cred);</pre>
440
 
<p>
441
 
Returns the pointer that will be provided to the TLS/IA callback
442
 
function as the first argument.</p>
 
363
<pre class="programlisting"><span class="returnvalue">void</span> *              gnutls_ia_get_server_avp_ptr        (<em class="parameter"><code><span class="type">gnutls_ia_server_credentials_t</span> cred</code></em>);</pre>
443
364
<p>
444
365
</p>
445
366
<div class="variablelist"><table border="0">
447
368
<tbody>
448
369
<tr>
449
370
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
450
 
<td> is a <span class="type">gnutls_ia_client_credentials_t</span> structure.
 
371
<td>
451
372
</td>
452
373
</tr>
453
374
<tr>
454
375
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
455
 
<td> The server callback data pointer.
 
376
<td>
456
377
</td>
457
378
</tr>
458
379
</tbody>
461
382
<hr>
462
383
<div class="refsect2" title="gnutls_ia_handshake_p ()">
463
384
<a name="gnutls-ia-handshake-p"></a><h3>gnutls_ia_handshake_p ()</h3>
464
 
<pre class="programlisting">int                 gnutls_ia_handshake_p               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
 
385
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_handshake_p               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre>
465
386
<p>
466
387
Predicate to be used after <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> to decide whether to
467
388
invoke <a class="link" href="gnutls-extra.html#gnutls-ia-handshake" title="gnutls_ia_handshake ()"><code class="function">gnutls_ia_handshake()</code></a>.  Usable by both clients and servers.</p>
468
 
<p>
469
 
</p>
470
389
<div class="variablelist"><table border="0">
471
390
<col align="left" valign="top">
472
391
<tbody>
473
392
<tr>
474
393
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
475
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
394
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
476
395
</td>
477
396
</tr>
478
397
<tr>
487
406
<hr>
488
407
<div class="refsect2" title="gnutls_ia_handshake ()">
489
408
<a name="gnutls-ia-handshake"></a><h3>gnutls_ia_handshake ()</h3>
490
 
<pre class="programlisting">int                 gnutls_ia_handshake                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
 
409
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_handshake                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>);</pre>
491
410
<p>
492
411
Perform a TLS/IA handshake.  This should be called after
493
412
<a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> iff <a class="link" href="gnutls-extra.html#gnutls-ia-handshake-p" title="gnutls_ia_handshake_p ()"><code class="function">gnutls_ia_handshake_p()</code></a>.</p>
494
 
<p>
495
 
</p>
496
413
<div class="variablelist"><table border="0">
497
414
<col align="left" valign="top">
498
415
<tbody>
499
416
<tr>
500
417
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
501
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
418
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
502
419
</td>
503
420
</tr>
504
421
<tr>
505
422
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
506
 
<td> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS--CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned,
 
423
<td> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned,
507
424
  otherwise an error code is returned.
508
425
</td>
509
426
</tr>
513
430
<hr>
514
431
<div class="refsect2" title="gnutls_ia_permute_inner_secret ()">
515
432
<a name="gnutls-ia-permute-inner-secret"></a><h3>gnutls_ia_permute_inner_secret ()</h3>
516
 
<pre class="programlisting">int                 gnutls_ia_permute_inner_secret      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
517
 
                                                         size_t session_keys_size,
518
 
                                                         const char *session_keys);</pre>
 
433
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_permute_inner_secret      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
434
                                                         <em class="parameter"><code><span class="type">size_t</span> session_keys_size</code></em>,
 
435
                                                         <em class="parameter"><code>const <span class="type">char</span> *session_keys</code></em>);</pre>
519
436
<p>
520
437
Permute the inner secret using the generated session keys.
521
438
</p>
522
439
<p>
523
440
This can be called in the TLS/IA AVP callback to mix any generated
524
441
session keys with the TLS/IA inner secret.</p>
525
 
<p>
526
 
</p>
527
442
<div class="variablelist"><table border="0">
528
443
<col align="left" valign="top">
529
444
<tbody>
530
445
<tr>
531
446
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
532
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
447
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
533
448
</td>
534
449
</tr>
535
450
<tr>
536
451
<td><p><span class="term"><em class="parameter"><code>session_keys_size</code></em> :</span></p></td>
537
 
<td> Size of generated session keys (0 if none).
 
452
<td>Size of generated session keys (0 if none).
538
453
</td>
539
454
</tr>
540
455
<tr>
541
456
<td><p><span class="term"><em class="parameter"><code>session_keys</code></em> :</span></p></td>
542
 
<td> Generated session keys, used to permute inner secret
 
457
<td>Generated session keys, used to permute inner secret
543
458
               (NULL if none).
544
459
</td>
545
460
</tr>
554
469
<hr>
555
470
<div class="refsect2" title="gnutls_ia_endphase_send ()">
556
471
<a name="gnutls-ia-endphase-send"></a><h3>gnutls_ia_endphase_send ()</h3>
557
 
<pre class="programlisting">int                 gnutls_ia_endphase_send             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
558
 
                                                         int final_p);</pre>
 
472
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_endphase_send             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
473
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> final_p</code></em>);</pre>
559
474
<p>
560
475
Send a TLS/IA end phase message.
561
476
</p>
566
481
<p>
567
482
In the server, this can be called instead of <a class="link" href="gnutls-extra.html#gnutls-ia-send" title="gnutls_ia_send ()"><code class="function">gnutls_ia_send()</code></a> if
568
483
the server wishes to end an application phase.</p>
569
 
<p>
570
 
</p>
571
484
<div class="variablelist"><table border="0">
572
485
<col align="left" valign="top">
573
486
<tbody>
574
487
<tr>
575
488
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
576
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
489
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
577
490
</td>
578
491
</tr>
579
492
<tr>
580
493
<td><p><span class="term"><em class="parameter"><code>final_p</code></em> :</span></p></td>
581
 
<td> Set iff this should signal the final phase.
 
494
<td>Set iff this should signal the final phase.
582
495
</td>
583
496
</tr>
584
497
<tr>
592
505
<hr>
593
506
<div class="refsect2" title="gnutls_ia_verify_endphase ()">
594
507
<a name="gnutls-ia-verify-endphase"></a><h3>gnutls_ia_verify_endphase ()</h3>
595
 
<pre class="programlisting">int                 gnutls_ia_verify_endphase           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
596
 
                                                         const char *checksum);</pre>
 
508
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_verify_endphase           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
509
                                                         <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);</pre>
597
510
<p>
598
511
Verify TLS/IA end phase checksum data.  If verification fails, the
599
512
<code class="literal">GNUTLS_A_INNER_APPLICATION_VERIFICATION</code> alert is sent to the other
601
514
</p>
602
515
<p>
603
516
This function is called when <a class="link" href="gnutls-extra.html#gnutls-ia-recv" title="gnutls_ia_recv ()"><code class="function">gnutls_ia_recv()</code></a> return
604
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</code></a> or
605
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</code></a>.</p>
606
 
<p>
607
 
</p>
 
517
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</code></a> or
 
518
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</code></a>.</p>
608
519
<div class="variablelist"><table border="0">
609
520
<col align="left" valign="top">
610
521
<tbody>
611
522
<tr>
612
523
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
613
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
524
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
614
525
</td>
615
526
</tr>
616
527
<tr>
617
528
<td><p><span class="term"><em class="parameter"><code>checksum</code></em> :</span></p></td>
618
 
<td> 12-byte checksum data, received from <a class="link" href="gnutls-extra.html#gnutls-ia-recv" title="gnutls_ia_recv ()"><code class="function">gnutls_ia_recv()</code></a>.
 
529
<td>12-byte checksum data, received from <a class="link" href="gnutls-extra.html#gnutls-ia-recv" title="gnutls_ia_recv ()"><code class="function">gnutls_ia_recv()</code></a>.
619
530
</td>
620
531
</tr>
621
532
<tr>
622
533
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
623
534
<td> Return 0 on successful verification, or an error
624
535
code.  If the checksum verification of the end phase message fails,
625
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED--CAPS" title="GNUTLS_E_IA_VERIFY_FAILED"><code class="literal">GNUTLS_E_IA_VERIFY_FAILED</code></a> is returned.
 
536
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED:CAPS" title="GNUTLS_E_IA_VERIFY_FAILED"><code class="literal">GNUTLS_E_IA_VERIFY_FAILED</code></a> is returned.
626
537
</td>
627
538
</tr>
628
539
</tbody>
631
542
<hr>
632
543
<div class="refsect2" title="gnutls_ia_send ()">
633
544
<a name="gnutls-ia-send"></a><h3>gnutls_ia_send ()</h3>
634
 
<pre class="programlisting">ssize_t             gnutls_ia_send                      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
635
 
                                                         const char *data,
636
 
                                                         size_t sizeofdata);</pre>
637
 
<p>
638
 
Send TLS/IA application payload data.  This function has the
639
 
similar semantics with <code class="function">send()</code>.  The only difference is that it
640
 
accepts a GnuTLS session, and uses different error codes.
641
 
</p>
642
 
<p>
643
 
The TLS/IA protocol is synchronous, so you cannot send more than
644
 
one packet at a time.  The client always send the first packet.
645
 
</p>
646
 
<p>
647
 
To finish an application phase in the server, use
648
 
<a class="link" href="gnutls-extra.html#gnutls-ia-endphase-send" title="gnutls_ia_endphase_send ()"><code class="function">gnutls_ia_endphase_send()</code></a>.  The client cannot end an application
649
 
phase unilaterally; rather, a client is required to respond with an
650
 
endphase of its own if gnutls_ia_recv indicates that the server has
651
 
sent one.
652
 
</p>
653
 
<p>
654
 
If the EINTR is returned by the internal push function (the default
655
 
is <code class="function">send()</code>} then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> will be returned.  If
656
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> is returned, you must call
657
 
this function again, with the same parameters; alternatively you
658
 
could provide a <code class="literal">NULL</code> pointer for data, and 0 for size.</p>
 
545
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             gnutls_ia_send                      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
546
                                                         <em class="parameter"><code>const <span class="type">char</span> *data</code></em>,
 
547
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);</pre>
659
548
<p>
660
549
</p>
661
550
<div class="variablelist"><table border="0">
663
552
<tbody>
664
553
<tr>
665
554
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
666
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
555
<td>
667
556
</td>
668
557
</tr>
669
558
<tr>
670
559
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
671
 
<td> contains the data to send
 
560
<td>
672
561
</td>
673
562
</tr>
674
563
<tr>
675
564
<td><p><span class="term"><em class="parameter"><code>sizeofdata</code></em> :</span></p></td>
676
 
<td> is the length of the data
 
565
<td>
677
566
</td>
678
567
</tr>
679
568
<tr>
680
569
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
681
 
<td> The number of bytes sent, or a negative error code.
 
570
<td>
682
571
</td>
683
572
</tr>
684
573
</tbody>
687
576
<hr>
688
577
<div class="refsect2" title="gnutls_ia_recv ()">
689
578
<a name="gnutls-ia-recv"></a><h3>gnutls_ia_recv ()</h3>
690
 
<pre class="programlisting">ssize_t             gnutls_ia_recv                      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
691
 
                                                         char *data,
692
 
                                                         size_t sizeofdata);</pre>
693
 
<p>
694
 
Receive TLS/IA data.  This function has the similar semantics with
695
 
<code class="function">recv()</code>.  The only difference is that it accepts a GnuTLS session,
696
 
and uses different error codes.
697
 
</p>
698
 
<p>
699
 
If the server attempt to finish an application phase, this function
700
 
will return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</code></a> or
701
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</code></a>.  The caller should then invoke
702
 
<a class="link" href="gnutls-extra.html#gnutls-ia-verify-endphase" title="gnutls_ia_verify_endphase ()"><code class="function">gnutls_ia_verify_endphase()</code></a>, and if it runs the client side, also
703
 
send an endphase message of its own using gnutls_ia_endphase_send.
704
 
</p>
705
 
<p>
706
 
If EINTR is returned by the internal push function (the default is
707
 
<em class="parameter"><code>code</code></em>{<code class="function">recv()</code>}) then GNUTLS_E_INTERRUPTED will be returned.  If
708
 
GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN is returned, you must call
709
 
this function again, with the same parameters; alternatively you
710
 
could provide a NULL pointer for data, and 0 for size.</p>
 
579
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             gnutls_ia_recv                      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
580
                                                         <em class="parameter"><code><span class="type">char</span> *data</code></em>,
 
581
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);</pre>
711
582
<p>
712
583
</p>
713
584
<div class="variablelist"><table border="0">
715
586
<tbody>
716
587
<tr>
717
588
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
718
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
589
<td>
719
590
</td>
720
591
</tr>
721
592
<tr>
722
593
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
723
 
<td> the buffer that the data will be read into, must hold &gt;= 12 bytes.
 
594
<td>
724
595
</td>
725
596
</tr>
726
597
<tr>
727
598
<td><p><span class="term"><em class="parameter"><code>sizeofdata</code></em> :</span></p></td>
728
 
<td> the number of requested bytes, must be &gt;= 12.
 
599
<td>
729
600
</td>
730
601
</tr>
731
602
<tr>
732
603
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
733
 
<td> The number of bytes received.  A negative error code is
734
 
returned in case of an error.  The
735
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</code></a> and
736
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED"><code class="literal">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</code></a> errors are returned when an
737
 
application phase finished message has been sent by the server.
 
604
<td>
738
605
</td>
739
606
</tr>
740
607
</tbody>
743
610
<hr>
744
611
<div class="refsect2" title="gnutls_ia_generate_challenge ()">
745
612
<a name="gnutls-ia-generate-challenge"></a><h3>gnutls_ia_generate_challenge ()</h3>
746
 
<pre class="programlisting">int                 gnutls_ia_generate_challenge        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
747
 
                                                         size_t buffer_size,
748
 
                                                         char *buffer);</pre>
 
613
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ia_generate_challenge        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
614
                                                         <em class="parameter"><code><span class="type">size_t</span> buffer_size</code></em>,
 
615
                                                         <em class="parameter"><code><span class="type">char</span> *buffer</code></em>);</pre>
749
616
<p>
750
617
Generate an application challenge that the client cannot control or
751
618
predict, based on the TLS/IA inner secret.</p>
752
 
<p>
753
 
</p>
754
619
<div class="variablelist"><table border="0">
755
620
<col align="left" valign="top">
756
621
<tbody>
757
622
<tr>
758
623
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
759
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
624
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
760
625
</td>
761
626
</tr>
762
627
<tr>
763
628
<td><p><span class="term"><em class="parameter"><code>buffer_size</code></em> :</span></p></td>
764
 
<td> size of output buffer.
 
629
<td>size of output buffer.
765
630
</td>
766
631
</tr>
767
632
<tr>
768
633
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
769
 
<td> pre-allocated buffer to contain <em class="parameter"><code>buffer_size</code></em> bytes of output.
 
634
<td>pre-allocated buffer to contain <em class="parameter"><code>buffer_size</code></em> bytes of output.
770
635
</td>
771
636
</tr>
772
637
<tr>
780
645
<hr>
781
646
<div class="refsect2" title="gnutls_ia_extract_inner_secret ()">
782
647
<a name="gnutls-ia-extract-inner-secret"></a><h3>gnutls_ia_extract_inner_secret ()</h3>
783
 
<pre class="programlisting">void                gnutls_ia_extract_inner_secret      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
784
 
                                                         char *buffer);</pre>
 
648
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_extract_inner_secret      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
649
                                                         <em class="parameter"><code><span class="type">char</span> *buffer</code></em>);</pre>
785
650
<p>
786
651
Copy the 48 bytes large inner secret into the specified buffer
787
652
</p>
794
659
secret in the original session.  It is important to include, for
795
660
example, the client and server randomness when deriving a sesssion
796
661
key from the inner secret.</p>
797
 
<p>
798
 
</p>
799
662
<div class="variablelist"><table border="0">
800
663
<col align="left" valign="top">
801
664
<tbody>
802
665
<tr>
803
666
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
804
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
667
<td>is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
805
668
</td>
806
669
</tr>
807
670
<tr>
808
671
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
809
 
<td> pre-allocated buffer to hold 48 bytes of inner secret.
 
672
<td>pre-allocated buffer to hold 48 bytes of inner secret.
810
673
</td>
811
674
</tr>
812
675
</tbody>
815
678
<hr>
816
679
<div class="refsect2" title="gnutls_ia_enable ()">
817
680
<a name="gnutls-ia-enable"></a><h3>gnutls_ia_enable ()</h3>
818
 
<pre class="programlisting">void                gnutls_ia_enable                    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
819
 
                                                         int allow_skip_on_resume);</pre>
820
 
<p>
821
 
Specify whether we must advertise support for the TLS/IA extension
822
 
during the handshake.
823
 
</p>
824
 
<p>
825
 
At the client side, we always advertise TLS/IA if gnutls_ia_enable
826
 
was called before the handshake; at the server side, we also
827
 
require that the client has advertised that it wants to run TLS/IA
828
 
before including the advertisement, as required by the protocol.
829
 
</p>
830
 
<p>
831
 
Similarly, at the client side we always advertise that we allow
832
 
TLS/IA to be skipped for resumed sessions if <em class="parameter"><code>allow_skip_on_resume</code></em>
833
 
is non-zero; at the server side, we also require that the session
834
 
is indeed resumable and that the client has also advertised that it
835
 
allows TLS/IA to be skipped for resumed sessions.
836
 
</p>
837
 
<p>
838
 
After the TLS handshake, call <a class="link" href="gnutls-extra.html#gnutls-ia-handshake-p" title="gnutls_ia_handshake_p ()"><code class="function">gnutls_ia_handshake_p()</code></a> to find out
839
 
whether both parties agreed to do a TLS/IA handshake, before
840
 
calling <a class="link" href="gnutls-extra.html#gnutls-ia-handshake" title="gnutls_ia_handshake ()"><code class="function">gnutls_ia_handshake()</code></a> or one of the lower level gnutls_ia_*
841
 
functions.</p>
 
681
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_ia_enable                    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
682
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> allow_skip_on_resume</code></em>);</pre>
842
683
<p>
843
684
</p>
844
685
<div class="variablelist"><table border="0">
846
687
<tbody>
847
688
<tr>
848
689
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
849
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
690
<td>
850
691
</td>
851
692
</tr>
852
693
<tr>
853
694
<td><p><span class="term"><em class="parameter"><code>allow_skip_on_resume</code></em> :</span></p></td>
854
 
<td> non-zero if local party allows to skip the
855
 
                  TLS/IA application phases for a resumed session.
 
695
<td>
856
696
</td>
857
697
</tr>
858
698
</tbody>
861
701
<hr>
862
702
<div class="refsect2" title="gnutls_global_init_extra ()">
863
703
<a name="gnutls-global-init-extra"></a><h3>gnutls_global_init_extra ()</h3>
864
 
<pre class="programlisting">int                 gnutls_global_init_extra            (void);</pre>
865
 
<p>
866
 
This function initializes the global state of gnutls-extra library
867
 
to defaults.
868
 
</p>
869
 
<p>
870
 
Note that <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a> has to be called before this
871
 
function.  If this function is not called then the gnutls-extra
872
 
library will not be usable.
873
 
</p>
874
 
<p>
875
 
This function is not thread safe, see the discussion for
876
 
<a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a> on how to deal with that.</p>
 
704
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_global_init_extra            (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
877
705
<p>
878
706
</p>
879
707
<div class="variablelist"><table border="0">
880
708
<col align="left" valign="top">
881
709
<tbody><tr>
882
710
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
883
 
<td> On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS--CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned,
884
 
  otherwise an error code is returned.
 
711
<td>
885
712
</td>
886
713
</tr></tbody>
887
714
</table></div>
889
716
<hr>
890
717
<div class="refsect2" title="gnutls_register_md5_handler ()">
891
718
<a name="gnutls-register-md5-handler"></a><h3>gnutls_register_md5_handler ()</h3>
892
 
<pre class="programlisting">int                 gnutls_register_md5_handler         (void);</pre>
 
719
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_register_md5_handler         (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
893
720
<p>
894
721
Register a non-libgcrypt based MD5 and HMAC-MD5 handler.  This is
895
722
useful if you run Libgcrypt in FIPS-mode.  Normally TLS requires
896
723
use of MD5, so without this you cannot use GnuTLS with libgcrypt in
897
724
FIPS mode.</p>
898
 
<p>
899
 
</p>
900
725
<div class="variablelist"><table border="0">
901
726
<col align="left" valign="top">
902
727
<tbody><tr>
903
728
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
904
 
<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.
 
729
<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.
905
730
 
906
731
</td>
907
732
</tr></tbody>
911
736
<hr>
912
737
<div class="refsect2" title="gnutls_extra_check_version ()">
913
738
<a name="gnutls-extra-check-version"></a><h3>gnutls_extra_check_version ()</h3>
914
 
<pre class="programlisting">const char *        gnutls_extra_check_version          (const char *req_version);</pre>
915
 
<p>
916
 
Check GnuTLS Extra Library version.
917
 
</p>
918
 
<p>
919
 
See <a class="link" href="gnutls-extra.html#GNUTLS-EXTRA-VERSION--CAPS" title="GNUTLS_EXTRA_VERSION"><code class="literal">GNUTLS_EXTRA_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em> string.</p>
 
739
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_extra_check_version          (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);</pre>
920
740
<p>
921
741
</p>
922
742
<div class="variablelist"><table border="0">
924
744
<tbody>
925
745
<tr>
926
746
<td><p><span class="term"><em class="parameter"><code>req_version</code></em> :</span></p></td>
927
 
<td> version string to compare with, or <code class="literal">NULL</code>.
 
747
<td>
928
748
</td>
929
749
</tr>
930
750
<tr>
931
751
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
932
 
<td> Check that the version of the library is at
933
 
  minimum the one given as a string in <em class="parameter"><code>req_version</code></em> and return the
934
 
  actual version string of the library; return <code class="literal">NULL</code> if the
935
 
  condition is not met.  If <code class="literal">NULL</code> is passed to this function no
936
 
  check is done and only the version string is returned.
 
752
<td>
937
753
</td>
938
754
</tr>
939
755
</tbody>
943
759
</div>
944
760
<div class="footer">
945
761
<hr>
946
 
          Generated by GTK-Doc V1.11</div>
 
762
          Generated by GTK-Doc V1.14</div>
947
763
</body>
948
 
</html>
 
764
</html>
 
 
b'\\ No newline at end of file'