~ubuntu-branches/ubuntu/maverick/gnutls26/maverick-security

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Metzler
  • Date: 2010-03-20 15:53:35 UTC
  • mfrom: (1.1.10 upstream) (12.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20100320155335-vk9gkueeb3e4ljxa
Tags: 2.8.6-1
* Use dh_lintian.
* Use dh_makeshlibs for the guile stuff, too. This gets us 
  a) ldconfig in postinst. Closes: #553109
  and
  b) a shlibs file.
  However the shared objects /usr/lib/libguile-gnutls*so* are still not
  designed to be used as libraries (linking) but are dlopened. guile-1.10
  will address this issue by keeping this stuff in a private directory.
* hotfix pkg-config files (proper fix to be included upstream).
* Stop unneeeded linkage against libgpg-error. 16_unnecessarydep.diff

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="ch01.html" title="GNU TLS API Reference Manual">
10
10
<link rel="next" href="gnutls-extra.html" title="extra">
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-gnutls.synopsis" class="shortcut">Top</a>
31
 
                 | 
32
 
                <a href="#gnutls-gnutls.description" class="shortcut">Description</a>
 
25
                   | 
 
26
                  <a href="#gnutls-gnutls.description" class="shortcut">Description</a>
33
27
</td></tr>
34
28
</table>
35
29
<div class="refentry" title="gnutls">
43
37
</tr></table></div>
44
38
<div class="refsynopsisdiv" title="Synopsis">
45
39
<a name="gnutls-gnutls.synopsis"></a><h2>Synopsis</h2>
46
 
<pre class="synopsis">
47
 
#define             <a class="link" href="gnutls-gnutls.html#HAVE-SSIZE-T--CAPS" title="HAVE_SSIZE_T">HAVE_SSIZE_T</a>
48
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION--CAPS" title="GNUTLS_VERSION">GNUTLS_VERSION</a>
49
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MAJOR--CAPS" title="GNUTLS_VERSION_MAJOR">GNUTLS_VERSION_MAJOR</a>
50
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MINOR--CAPS" title="GNUTLS_VERSION_MINOR">GNUTLS_VERSION_MINOR</a>
51
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-PATCH--CAPS" title="GNUTLS_VERSION_PATCH">GNUTLS_VERSION_PATCH</a>
52
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-NUMBER--CAPS" title="GNUTLS_VERSION_NUMBER">GNUTLS_VERSION_NUMBER</a>
53
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-128-CBC--CAPS" title="GNUTLS_CIPHER_RIJNDAEL_128_CBC">GNUTLS_CIPHER_RIJNDAEL_128_CBC</a>
54
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-256-CBC--CAPS" title="GNUTLS_CIPHER_RIJNDAEL_256_CBC">GNUTLS_CIPHER_RIJNDAEL_256_CBC</a>
55
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-CBC--CAPS" title="GNUTLS_CIPHER_RIJNDAEL_CBC">GNUTLS_CIPHER_RIJNDAEL_CBC</a>
56
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR--CAPS" title="GNUTLS_CIPHER_ARCFOUR">GNUTLS_CIPHER_ARCFOUR</a>
 
40
<pre class="synopsis">#define             <a class="link" href="gnutls-gnutls.html#HAVE-SSIZE-T:CAPS" title="HAVE_SSIZE_T">HAVE_SSIZE_T</a>
 
41
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION:CAPS" title="GNUTLS_VERSION">GNUTLS_VERSION</a>
 
42
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MAJOR:CAPS" title="GNUTLS_VERSION_MAJOR">GNUTLS_VERSION_MAJOR</a>
 
43
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-MINOR:CAPS" title="GNUTLS_VERSION_MINOR">GNUTLS_VERSION_MINOR</a>
 
44
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-PATCH:CAPS" title="GNUTLS_VERSION_PATCH">GNUTLS_VERSION_PATCH</a>
 
45
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION-NUMBER:CAPS" title="GNUTLS_VERSION_NUMBER">GNUTLS_VERSION_NUMBER</a>
 
46
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-128-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_128_CBC">GNUTLS_CIPHER_RIJNDAEL_128_CBC</a>
 
47
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-256-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_256_CBC">GNUTLS_CIPHER_RIJNDAEL_256_CBC</a>
 
48
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-RIJNDAEL-CBC:CAPS" title="GNUTLS_CIPHER_RIJNDAEL_CBC">GNUTLS_CIPHER_RIJNDAEL_CBC</a>
 
49
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-CIPHER-ARCFOUR:CAPS" title="GNUTLS_CIPHER_ARCFOUR">GNUTLS_CIPHER_ARCFOUR</a>
57
50
enum                <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a>;
58
51
enum                <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a>;
59
52
enum                <a class="link" href="gnutls-gnutls.html#gnutls-params-type-t" title="enum gnutls_params_type_t">gnutls_params_type_t</a>;
60
53
enum                <a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>;
61
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MAC-SHA--CAPS" title="GNUTLS_MAC_SHA">GNUTLS_MAC_SHA</a>
62
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA--CAPS" title="GNUTLS_DIG_SHA">GNUTLS_DIG_SHA</a>
 
54
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MAC-SHA:CAPS" title="GNUTLS_MAC_SHA">GNUTLS_MAC_SHA</a>
 
55
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-DIG-SHA:CAPS" title="GNUTLS_DIG_SHA">GNUTLS_DIG_SHA</a>
63
56
enum                <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a>;
64
57
enum                <a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a>;
65
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-ALGORITHM-NUM--CAPS" title="GNUTLS_MAX_ALGORITHM_NUM">GNUTLS_MAX_ALGORITHM_NUM</a>
66
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-COMP-ZLIB--CAPS" title="GNUTLS_COMP_ZLIB">GNUTLS_COMP_ZLIB</a>
 
58
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-ALGORITHM-NUM:CAPS" title="GNUTLS_MAX_ALGORITHM_NUM">GNUTLS_MAX_ALGORITHM_NUM</a>
 
59
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-COMP-ZLIB:CAPS" title="GNUTLS_COMP_ZLIB">GNUTLS_COMP_ZLIB</a>
67
60
enum                <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a>;
68
61
enum                <a class="link" href="gnutls-gnutls.html#gnutls-connection-end-t" title="enum gnutls_connection_end_t">gnutls_connection_end_t</a>;
69
62
enum                <a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t">gnutls_alert_level_t</a>;
73
66
enum                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t">gnutls_certificate_request_t</a>;
74
67
enum                <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a>;
75
68
enum                <a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t">gnutls_close_request_t</a>;
76
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-TLS1--CAPS" title="GNUTLS_TLS1">GNUTLS_TLS1</a>
 
69
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-TLS1:CAPS" title="GNUTLS_TLS1">GNUTLS_TLS1</a>
77
70
enum                <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a>;
78
71
enum                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a>;
79
72
enum                <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a>;
80
73
enum                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t">gnutls_certificate_print_formats_t</a>;
81
74
enum                <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a>;
82
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-get-name" title="gnutls_pk_algorithm_get_name ()">gnutls_pk_algorithm_get_name</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> algorithm);
83
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA--CAPS" title="GNUTLS_SIGN_RSA_SHA">GNUTLS_SIGN_RSA_SHA</a>
84
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA--CAPS" title="GNUTLS_SIGN_DSA_SHA">GNUTLS_SIGN_DSA_SHA</a>
 
75
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-get-name" title="gnutls_pk_algorithm_get_name ()">gnutls_pk_algorithm_get_name</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> algorithm</code></em>);
 
76
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-RSA-SHA:CAPS" title="GNUTLS_SIGN_RSA_SHA">GNUTLS_SIGN_RSA_SHA</a>
 
77
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-SIGN-DSA-SHA:CAPS" title="GNUTLS_SIGN_DSA_SHA">GNUTLS_SIGN_DSA_SHA</a>
85
78
enum                <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a>;
86
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get-name" title="gnutls_sign_algorithm_get_name ()">gnutls_sign_algorithm_get_name</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a> sign);
 
79
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-get-name" title="gnutls_sign_algorithm_get_name ()">gnutls_sign_algorithm_get_name</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> sign</code></em>);
87
80
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a>;
88
81
struct              <a class="link" href="gnutls-gnutls.html#gnutls-session-int" title="struct gnutls_session_int">gnutls_session_int</a>;
89
82
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a>;
93
86
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a>;
94
87
struct              <a class="link" href="gnutls-gnutls.html#gnutls-priority-st" title="struct gnutls_priority_st">gnutls_priority_st</a>;
95
88
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a>;
96
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()">gnutls_init</a>                         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> *session,
97
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-connection-end-t" title="enum gnutls_connection_end_t">gnutls_connection_end_t</a> con_end);
98
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()">gnutls_deinit</a>                       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
99
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-bye" title="gnutls_bye ()">gnutls_bye</a>                          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
100
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t">gnutls_close_request_t</a> how);
101
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">gnutls_handshake</a>                    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
102
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rehandshake" title="gnutls_rehandshake ()">gnutls_rehandshake</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
103
 
<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-alert-get" title="gnutls_alert_get ()">gnutls_alert_get</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
104
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-alert-send" title="gnutls_alert_send ()">gnutls_alert_send</a>                   (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
105
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t">gnutls_alert_level_t</a> level,
106
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a> desc);
107
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-alert-send-appropriate" title="gnutls_alert_send_appropriate ()">gnutls_alert_send_appropriate</a>       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
108
 
                                                         int err);
109
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-alert-get-name" title="gnutls_alert_get_name ()">gnutls_alert_get_name</a>               (<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a> alert);
110
 
<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get" title="gnutls_cipher_get ()">gnutls_cipher_get</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
111
 
<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-kx-get" title="gnutls_kx_get ()">gnutls_kx_get</a>                    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
112
 
<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-mac-get" title="gnutls_mac_get ()">gnutls_mac_get</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
113
 
<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-compression-get" title="gnutls_compression_get ()">gnutls_compression_get</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
114
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get" title="gnutls_certificate_type_get ()">gnutls_certificate_type_get</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
115
 
size_t              <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-key-size" title="gnutls_cipher_get_key_size ()">gnutls_cipher_get_key_size</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> algorithm);
116
 
size_t              <a class="link" href="gnutls-gnutls.html#gnutls-mac-get-key-size" title="gnutls_mac_get_key_size ()">gnutls_mac_get_key_size</a>             (<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> algorithm);
117
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-name" title="gnutls_cipher_get_name ()">gnutls_cipher_get_name</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> algorithm);
118
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-mac-get-name" title="gnutls_mac_get_name ()">gnutls_mac_get_name</a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> algorithm);
119
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-compression-get-name" title="gnutls_compression_get_name ()">gnutls_compression_get_name</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a> algorithm);
120
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-kx-get-name" title="gnutls_kx_get_name ()">gnutls_kx_get_name</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> algorithm);
121
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get-name" title="gnutls_certificate_type_get_name ()">gnutls_certificate_type_get_name</a>    (<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a> type);
122
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-pk-get-name" title="gnutls_pk_get_name ()">gnutls_pk_get_name</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> algorithm);
123
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-sign-get-name" title="gnutls_sign_get_name ()">gnutls_sign_get_name</a>                (<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a> algorithm);
124
 
<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-mac-get-id" title="gnutls_mac_get_id ()">gnutls_mac_get_id</a>               (const char *name);
125
 
<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-compression-get-id" title="gnutls_compression_get_id ()">gnutls_compression_get_id</a>  (const char *name);
126
 
<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-id" title="gnutls_cipher_get_id ()">gnutls_cipher_get_id</a>         (const char *name);
127
 
<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-kx-get-id" title="gnutls_kx_get_id ()">gnutls_kx_get_id</a>                 (const char *name);
128
 
<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a>   <a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-id" title="gnutls_protocol_get_id ()">gnutls_protocol_get_id</a>              (const char *name);
129
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get-id" title="gnutls_certificate_type_get_id ()">gnutls_certificate_type_get_id</a>
130
 
                                                        (const char *name);
131
 
<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-pk-get-id" title="gnutls_pk_get_id ()">gnutls_pk_get_id</a>                 (const char *name);
132
 
<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-sign-get-id" title="gnutls_sign_get_id ()">gnutls_sign_get_id</a>             (const char *name);
133
 
const <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-cipher-list" title="gnutls_cipher_list ()">gnutls_cipher_list</a>    (void);
134
 
const <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-mac-list" title="gnutls_mac_list ()">gnutls_mac_list</a>          (void);
135
 
const <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-compression-list" title="gnutls_compression_list ()">gnutls_compression_list</a>
136
 
                                                        (void);
137
 
const <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-protocol-list" title="gnutls_protocol_list ()">gnutls_protocol_list</a>          (void);
138
 
const <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-list" title="gnutls_certificate_type_list ()">gnutls_certificate_type_list</a>
139
 
                                                        (void);
140
 
const <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-kx-list" title="gnutls_kx_list ()">gnutls_kx_list</a>            (void);
141
 
const <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-pk-list" title="gnutls_pk_list ()">gnutls_pk_list</a>            (void);
142
 
const <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a> * <a class="link" href="gnutls-gnutls.html#gnutls-sign-list" title="gnutls_sign_list ()">gnutls_sign_list</a>        (void);
143
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-cipher-suite-info" title="gnutls_cipher_suite_info ()">gnutls_cipher_suite_info</a>            (size_t idx,
144
 
                                                         char *cs_id,
145
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> *kx,
146
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> *cipher,
147
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> *mac,
148
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a> *version);
149
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-error-is-fatal" title="gnutls_error_is_fatal ()">gnutls_error_is_fatal</a>               (int error);
150
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-error-to-alert" title="gnutls_error_to_alert ()">gnutls_error_to_alert</a>               (int err,
151
 
                                                         int *level);
152
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-perror" title="gnutls_perror ()">gnutls_perror</a>                       (int error);
153
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-strerror" title="gnutls_strerror ()">gnutls_strerror</a>                     (int error);
154
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-strerror-name" title="gnutls_strerror_name ()">gnutls_strerror_name</a>                (int error);
155
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-private-extensions" title="gnutls_handshake_set_private_extensions ()">gnutls_handshake_set_private_extensions</a>
156
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
157
 
                                                         int allow);
158
 
<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t">gnutls_handshake_description_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-out" title="gnutls_handshake_get_last_out ()">gnutls_handshake_get_last_out</a>
159
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
160
 
<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t">gnutls_handshake_description_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-in" title="gnutls_handshake_get_last_in ()">gnutls_handshake_get_last_in</a>
161
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
162
 
ssize_t             <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()">gnutls_record_send</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
163
 
                                                         const void *data,
164
 
                                                         size_t sizeofdata);
165
 
ssize_t             <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()">gnutls_record_recv</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
166
 
                                                         void *data,
167
 
                                                         size_t sizeofdata);
 
89
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-init" title="gnutls_init ()">gnutls_init</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>,
 
90
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-connection-end-t" title="enum gnutls_connection_end_t"><span class="type">gnutls_connection_end_t</span></a> con_end</code></em>);
 
91
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()">gnutls_deinit</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>);
 
92
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-bye" title="gnutls_bye ()">gnutls_bye</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>,
 
93
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t"><span class="type">gnutls_close_request_t</span></a> how</code></em>);
 
94
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()">gnutls_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>);
 
95
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rehandshake" title="gnutls_rehandshake ()">gnutls_rehandshake</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>);
 
96
<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="returnvalue">gnutls_alert_description_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-alert-get" title="gnutls_alert_get ()">gnutls_alert_get</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>);
 
97
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-alert-send" title="gnutls_alert_send ()">gnutls_alert_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>,
 
98
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t"><span class="type">gnutls_alert_level_t</span></a> level</code></em>,
 
99
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> desc</code></em>);
 
100
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-alert-send-appropriate" title="gnutls_alert_send_appropriate ()">gnutls_alert_send_appropriate</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>,
 
101
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>);
 
102
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-alert-get-name" title="gnutls_alert_get_name ()">gnutls_alert_get_name</a>               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> alert</code></em>);
 
103
<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get" title="gnutls_cipher_get ()">gnutls_cipher_get</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>);
 
104
<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-kx-get" title="gnutls_kx_get ()">gnutls_kx_get</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>);
 
105
<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-mac-get" title="gnutls_mac_get ()">gnutls_mac_get</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>);
 
106
<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-compression-get" title="gnutls_compression_get ()">gnutls_compression_get</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>);
 
107
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get" title="gnutls_certificate_type_get ()">gnutls_certificate_type_get</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>);
 
108
<span class="returnvalue">size_t</span>              <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-key-size" title="gnutls_cipher_get_key_size ()">gnutls_cipher_get_key_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>);
 
109
<span class="returnvalue">size_t</span>              <a class="link" href="gnutls-gnutls.html#gnutls-mac-get-key-size" title="gnutls_mac_get_key_size ()">gnutls_mac_get_key_size</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>);
 
110
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-name" title="gnutls_cipher_get_name ()">gnutls_cipher_get_name</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>);
 
111
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-mac-get-name" title="gnutls_mac_get_name ()">gnutls_mac_get_name</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>);
 
112
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-compression-get-name" title="gnutls_compression_get_name ()">gnutls_compression_get_name</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> algorithm</code></em>);
 
113
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-kx-get-name" title="gnutls_kx_get_name ()">gnutls_kx_get_name</a>                  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> algorithm</code></em>);
 
114
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get-name" title="gnutls_certificate_type_get_name ()">gnutls_certificate_type_get_name</a>    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> type</code></em>);
 
115
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-pk-get-name" title="gnutls_pk_get_name ()">gnutls_pk_get_name</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> algorithm</code></em>);
 
116
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-sign-get-name" title="gnutls_sign_get_name ()">gnutls_sign_get_name</a>                (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algorithm</code></em>);
 
117
<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-mac-get-id" title="gnutls_mac_get_id ()">gnutls_mac_get_id</a>               (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
118
<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-compression-get-id" title="gnutls_compression_get_id ()">gnutls_compression_get_id</a>  (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
119
<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-cipher-get-id" title="gnutls_cipher_get_id ()">gnutls_cipher_get_id</a>         (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
120
<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-kx-get-id" title="gnutls_kx_get_id ()">gnutls_kx_get_id</a>                 (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
121
<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="returnvalue">gnutls_protocol_t</span></a>   <a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-id" title="gnutls_protocol_get_id ()">gnutls_protocol_get_id</a>              (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
122
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-get-id" title="gnutls_certificate_type_get_id ()">gnutls_certificate_type_get_id</a>
 
123
                                                        (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
124
<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-pk-get-id" title="gnutls_pk_get_id ()">gnutls_pk_get_id</a>                 (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
125
<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="returnvalue">gnutls_sign_algorithm_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-sign-get-id" title="gnutls_sign_get_id ()">gnutls_sign_get_id</a>             (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
 
126
const <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-cipher-list" title="gnutls_cipher_list ()">gnutls_cipher_list</a>    (<em class="parameter"><code><span class="type">void</span></code></em>);
 
127
const <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-mac-list" title="gnutls_mac_list ()">gnutls_mac_list</a>          (<em class="parameter"><code><span class="type">void</span></code></em>);
 
128
const <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-compression-list" title="gnutls_compression_list ()">gnutls_compression_list</a>
 
129
                                                        (<em class="parameter"><code><span class="type">void</span></code></em>);
 
130
const <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="returnvalue">gnutls_protocol_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-protocol-list" title="gnutls_protocol_list ()">gnutls_protocol_list</a>          (<em class="parameter"><code><span class="type">void</span></code></em>);
 
131
const <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-list" title="gnutls_certificate_type_list ()">gnutls_certificate_type_list</a>
 
132
                                                        (<em class="parameter"><code><span class="type">void</span></code></em>);
 
133
const <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-kx-list" title="gnutls_kx_list ()">gnutls_kx_list</a>            (<em class="parameter"><code><span class="type">void</span></code></em>);
 
134
const <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-pk-list" title="gnutls_pk_list ()">gnutls_pk_list</a>            (<em class="parameter"><code><span class="type">void</span></code></em>);
 
135
const <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="returnvalue">gnutls_sign_algorithm_t</span></a> * <a class="link" href="gnutls-gnutls.html#gnutls-sign-list" title="gnutls_sign_list ()">gnutls_sign_list</a>        (<em class="parameter"><code><span class="type">void</span></code></em>);
 
136
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-cipher-suite-info" title="gnutls_cipher_suite_info ()">gnutls_cipher_suite_info</a>            (<em class="parameter"><code><span class="type">size_t</span> idx</code></em>,
 
137
                                                         <em class="parameter"><code><span class="type">char</span> *cs_id</code></em>,
 
138
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> *kx</code></em>,
 
139
                                                         <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>,
 
140
                                                         <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> *mac</code></em>,
 
141
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> *version</code></em>);
 
142
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-error-is-fatal" title="gnutls_error_is_fatal ()">gnutls_error_is_fatal</a>               (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);
 
143
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-error-to-alert" title="gnutls_error_to_alert ()">gnutls_error_to_alert</a>               (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>,
 
144
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *level</code></em>);
 
145
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-perror" title="gnutls_perror ()">gnutls_perror</a>                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);
 
146
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-strerror" title="gnutls_strerror ()">gnutls_strerror</a>                     (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);
 
147
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-strerror-name" title="gnutls_strerror_name ()">gnutls_strerror_name</a>                (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);
 
148
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-private-extensions" title="gnutls_handshake_set_private_extensions ()">gnutls_handshake_set_private_extensions</a>
 
149
                                                        (<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>,
 
150
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> allow</code></em>);
 
151
<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-out" title="gnutls_handshake_get_last_out ()">gnutls_handshake_get_last_out</a>
 
152
                                                        (<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>);
 
153
<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-handshake-get-last-in" title="gnutls_handshake_get_last_in ()">gnutls_handshake_get_last_in</a>
 
154
                                                        (<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>);
 
155
<span class="returnvalue">ssize_t</span>             <a class="link" href="gnutls-gnutls.html#gnutls-record-send" title="gnutls_record_send ()">gnutls_record_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>,
 
156
                                                         <em class="parameter"><code>const <span class="type">void</span> *data</code></em>,
 
157
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);
 
158
<span class="returnvalue">ssize_t</span>             <a class="link" href="gnutls-gnutls.html#gnutls-record-recv" title="gnutls_record_recv ()">gnutls_record_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>,
 
159
                                                         <em class="parameter"><code><span class="type">void</span> *data</code></em>,
 
160
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);
168
161
#define             <a class="link" href="gnutls-gnutls.html#gnutls-read" title="gnutls_read">gnutls_read</a>
169
162
#define             <a class="link" href="gnutls-gnutls.html#gnutls-write" title="gnutls_write">gnutls_write</a>
170
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-session-enable-compatibility-mode" title="gnutls_session_enable_compatibility_mode ()">gnutls_session_enable_compatibility_mode</a>
171
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
172
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-record-disable-padding" title="gnutls_record_disable_padding ()">gnutls_record_disable_padding</a>       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
173
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()">gnutls_record_get_direction</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
174
 
size_t              <a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-size" title="gnutls_record_get_max_size ()">gnutls_record_get_max_size</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
175
 
ssize_t             <a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-size" title="gnutls_record_set_max_size ()">gnutls_record_set_max_size</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
176
 
                                                         size_t size);
177
 
size_t              <a class="link" href="gnutls-gnutls.html#gnutls-record-check-pending" title="gnutls_record_check_pending ()">gnutls_record_check_pending</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
178
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()">gnutls_prf</a>                          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
179
 
                                                         size_t label_size,
180
 
                                                         const char *label,
181
 
                                                         int server_random_first,
182
 
                                                         size_t extra_size,
183
 
                                                         const char *extra,
184
 
                                                         size_t outsize,
185
 
                                                         char *out);
186
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-prf-raw" title="gnutls_prf_raw ()">gnutls_prf_raw</a>                      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
187
 
                                                         size_t label_size,
188
 
                                                         const char *label,
189
 
                                                         size_t seed_size,
190
 
                                                         const char *seed,
191
 
                                                         size_t outsize,
192
 
                                                         char *out);
193
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()">*gnutls_ext_recv_func</a>)             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
194
 
                                                         unsigned char *data,
195
 
                                                         size_t len);
196
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()">*gnutls_ext_send_func</a>)             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
197
 
                                                         unsigned char *data,
198
 
                                                         size_t len);
 
163
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-session-enable-compatibility-mode" title="gnutls_session_enable_compatibility_mode ()">gnutls_session_enable_compatibility_mode</a>
 
164
                                                        (<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>);
 
165
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-record-disable-padding" title="gnutls_record_disable_padding ()">gnutls_record_disable_padding</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>);
 
166
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()">gnutls_record_get_direction</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>);
 
167
<span class="returnvalue">size_t</span>              <a class="link" href="gnutls-gnutls.html#gnutls-record-get-max-size" title="gnutls_record_get_max_size ()">gnutls_record_get_max_size</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>);
 
168
<span class="returnvalue">ssize_t</span>             <a class="link" href="gnutls-gnutls.html#gnutls-record-set-max-size" title="gnutls_record_set_max_size ()">gnutls_record_set_max_size</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>,
 
169
                                                         <em class="parameter"><code><span class="type">size_t</span> size</code></em>);
 
170
<span class="returnvalue">size_t</span>              <a class="link" href="gnutls-gnutls.html#gnutls-record-check-pending" title="gnutls_record_check_pending ()">gnutls_record_check_pending</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>);
 
171
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()">gnutls_prf</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>,
 
172
                                                         <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>,
 
173
                                                         <em class="parameter"><code>const <span class="type">char</span> *label</code></em>,
 
174
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> server_random_first</code></em>,
 
175
                                                         <em class="parameter"><code><span class="type">size_t</span> extra_size</code></em>,
 
176
                                                         <em class="parameter"><code>const <span class="type">char</span> *extra</code></em>,
 
177
                                                         <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>,
 
178
                                                         <em class="parameter"><code><span class="type">char</span> *out</code></em>);
 
179
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-prf-raw" title="gnutls_prf_raw ()">gnutls_prf_raw</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>,
 
180
                                                         <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>,
 
181
                                                         <em class="parameter"><code>const <span class="type">char</span> *label</code></em>,
 
182
                                                         <em class="parameter"><code><span class="type">size_t</span> seed_size</code></em>,
 
183
                                                         <em class="parameter"><code>const <span class="type">char</span> *seed</code></em>,
 
184
                                                         <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>,
 
185
                                                         <em class="parameter"><code><span class="type">char</span> *out</code></em>);
 
186
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()">*gnutls_ext_recv_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>,
 
187
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>,
 
188
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
 
189
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()">*gnutls_ext_send_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>,
 
190
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>,
 
191
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
199
192
enum                <a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t">gnutls_ext_parse_type_t</a>;
200
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-ext-register" title="gnutls_ext_register ()">gnutls_ext_register</a>                 (int type,
201
 
                                                         const char *name,
202
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t">gnutls_ext_parse_type_t</a> parse_type,
203
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()">gnutls_ext_recv_func</a> recv_func,
204
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()">gnutls_ext_send_func</a> send_func);
 
193
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-ext-register" title="gnutls_ext_register ()">gnutls_ext_register</a>                 (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> type</code></em>,
 
194
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
 
195
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t"><span class="type">gnutls_ext_parse_type_t</span></a> parse_type</code></em>,
 
196
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()"><span class="type">gnutls_ext_recv_func</span></a> recv_func</code></em>,
 
197
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()"><span class="type">gnutls_ext_send_func</span></a> send_func</code></em>);
205
198
enum                <a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t">gnutls_server_name_type_t</a>;
206
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-server-name-set" title="gnutls_server_name_set ()">gnutls_server_name_set</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
207
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t">gnutls_server_name_type_t</a> type,
208
 
                                                         const void *name,
209
 
                                                         size_t name_length);
210
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-server-name-get" title="gnutls_server_name_get ()">gnutls_server_name_get</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
211
 
                                                         void *data,
212
 
                                                         size_t *data_length,
213
 
                                                         unsigned int *type,
214
 
                                                         unsigned int indx);
215
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-oprfi-enable-client" title="gnutls_oprfi_enable_client ()">gnutls_oprfi_enable_client</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
216
 
                                                         size_t len,
217
 
                                                         unsigned char *data);
218
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-oprfi-callback-func" title="gnutls_oprfi_callback_func ()">*gnutls_oprfi_callback_func</a>)       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
219
 
                                                         void *userdata,
220
 
                                                         size_t oprfi_len,
221
 
                                                         unsigned char *in_oprfi,
222
 
                                                         unsigned char *out_oprfi);
223
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-oprfi-enable-server" title="gnutls_oprfi_enable_server ()">gnutls_oprfi_enable_server</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
224
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-oprfi-callback-func" title="gnutls_oprfi_callback_func ()">gnutls_oprfi_callback_func</a> cb,
225
 
                                                         void *userdata);
 
199
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-server-name-set" title="gnutls_server_name_set ()">gnutls_server_name_set</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>,
 
200
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t"><span class="type">gnutls_server_name_type_t</span></a> type</code></em>,
 
201
                                                         <em class="parameter"><code>const <span class="type">void</span> *name</code></em>,
 
202
                                                         <em class="parameter"><code><span class="type">size_t</span> name_length</code></em>);
 
203
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-server-name-get" title="gnutls_server_name_get ()">gnutls_server_name_get</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>,
 
204
                                                         <em class="parameter"><code><span class="type">void</span> *data</code></em>,
 
205
                                                         <em class="parameter"><code><span class="type">size_t</span> *data_length</code></em>,
 
206
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *type</code></em>,
 
207
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>);
 
208
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-oprfi-enable-client" title="gnutls_oprfi_enable_client ()">gnutls_oprfi_enable_client</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>,
 
209
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>,
 
210
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>);
 
211
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-oprfi-callback-func" title="gnutls_oprfi_callback_func ()">*gnutls_oprfi_callback_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>,
 
212
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>,
 
213
                                                         <em class="parameter"><code><span class="type">size_t</span> oprfi_len</code></em>,
 
214
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *in_oprfi</code></em>,
 
215
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *out_oprfi</code></em>);
 
216
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-oprfi-enable-server" title="gnutls_oprfi_enable_server ()">gnutls_oprfi_enable_server</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>,
 
217
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-oprfi-callback-func" title="gnutls_oprfi_callback_func ()"><span class="type">gnutls_oprfi_callback_func</span></a> cb</code></em>,
 
218
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);
226
219
enum                <a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t">gnutls_supplemental_data_format_type_t</a>;
227
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-supplemental-get-name" title="gnutls_supplemental_get_name ()">gnutls_supplemental_get_name</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t">gnutls_supplemental_data_format_type_t</a> type);
228
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-cipher-set-priority" title="gnutls_cipher_set_priority ()">gnutls_cipher_set_priority</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
229
 
                                                         const int *list);
230
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-mac-set-priority" title="gnutls_mac_set_priority ()">gnutls_mac_set_priority</a>             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
231
 
                                                         const int *list);
232
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-compression-set-priority" title="gnutls_compression_set_priority ()">gnutls_compression_set_priority</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
233
 
                                                         const int *list);
234
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-kx-set-priority" title="gnutls_kx_set_priority ()">gnutls_kx_set_priority</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
235
 
                                                         const int *list);
236
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-protocol-set-priority" title="gnutls_protocol_set_priority ()">gnutls_protocol_set_priority</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
237
 
                                                         const int *list);
238
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-set-priority" title="gnutls_certificate_type_set_priority ()">gnutls_certificate_type_set_priority</a>
239
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
240
 
                                                         const int *list);
241
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-priority-init" title="gnutls_priority_init ()">gnutls_priority_init</a>                (<a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a> *priority_cache,
242
 
                                                         const char *priorities,
243
 
                                                         const char **err_pos);
244
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-priority-deinit" title="gnutls_priority_deinit ()">gnutls_priority_deinit</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a> priority_cache);
245
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()">gnutls_priority_set</a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
246
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a> priority);
247
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()">gnutls_priority_set_direct</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
248
 
                                                         const char *priorities,
249
 
                                                         const char **err_pos);
250
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority" title="gnutls_set_default_priority ()">gnutls_set_default_priority</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
251
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-set-default-export-priority" title="gnutls_set_default_export_priority ()">gnutls_set_default_export_priority</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
252
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-cipher-suite-get-name" title="gnutls_cipher_suite_get_name ()">gnutls_cipher_suite_get_name</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> kx_algorithm,
253
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> cipher_algorithm,
254
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> mac_algorithm);
255
 
<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a>   <a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-version" title="gnutls_protocol_get_version ()">gnutls_protocol_get_version</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
256
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-name" title="gnutls_protocol_get_name ()">gnutls_protocol_get_name</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a> version);
257
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-session-set-data" title="gnutls_session_set_data ()">gnutls_session_set_data</a>             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
258
 
                                                         const void *session_data,
259
 
                                                         size_t session_data_size);
260
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data" title="gnutls_session_get_data ()">gnutls_session_get_data</a>             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
261
 
                                                         void *session_data,
262
 
                                                         size_t *session_data_size);
263
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data2" title="gnutls_session_get_data2 ()">gnutls_session_get_data2</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
264
 
                                                         gnutls_datum_t *data);
265
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID--CAPS" title="GNUTLS_MAX_SESSION_ID">GNUTLS_MAX_SESSION_ID</a>
266
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-session-get-id" title="gnutls_session_get_id ()">gnutls_session_get_id</a>               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
267
 
                                                         void *session_id,
268
 
                                                         size_t *session_id_size);
269
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MASTER-SIZE--CAPS" title="GNUTLS_MASTER_SIZE">GNUTLS_MASTER_SIZE</a>
270
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-RANDOM-SIZE--CAPS" title="GNUTLS_RANDOM_SIZE">GNUTLS_RANDOM_SIZE</a>
271
 
const void *        <a class="link" href="gnutls-gnutls.html#gnutls-session-get-server-random" title="gnutls_session_get_server_random ()">gnutls_session_get_server_random</a>    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
272
 
const void *        <a class="link" href="gnutls-gnutls.html#gnutls-session-get-client-random" title="gnutls_session_get_client_random ()">gnutls_session_get_client_random</a>    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
273
 
const void *        <a class="link" href="gnutls-gnutls.html#gnutls-session-get-master-secret" title="gnutls_session_get_master_secret ()">gnutls_session_get_master_secret</a>    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
274
 
void                (<a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()">*gnutls_finished_callback_func</a>)    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
275
 
                                                         const void *finished,
276
 
                                                         size_t len);
277
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-session-set-finished-function" title="gnutls_session_set_finished_function ()">gnutls_session_set_finished_function</a>
278
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
279
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()">gnutls_finished_callback_func</a> func);
280
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-session-is-resumed" title="gnutls_session_is_resumed ()">gnutls_session_is_resumed</a>           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
281
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()">*gnutls_db_store_func</a>)             (void *,
282
 
                                                         gnutls_datum_t key,
283
 
                                                         gnutls_datum_t data);
284
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()">*gnutls_db_remove_func</a>)            (void *,
285
 
                                                         gnutls_datum_t key);
286
 
gnutls_datum_t      (<a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()">*gnutls_db_retr_func</a>)              (void *,
287
 
                                                         gnutls_datum_t key);
288
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-cache-expiration" title="gnutls_db_set_cache_expiration ()">gnutls_db_set_cache_expiration</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
289
 
                                                         int seconds);
290
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-db-remove-session" title="gnutls_db_remove_session ()">gnutls_db_remove_session</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
291
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-retrieve-function" title="gnutls_db_set_retrieve_function ()">gnutls_db_set_retrieve_function</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
292
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()">gnutls_db_retr_func</a> retr_func);
293
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-remove-function" title="gnutls_db_set_remove_function ()">gnutls_db_set_remove_function</a>       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
294
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()">gnutls_db_remove_func</a> rem_func);
295
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-store-function" title="gnutls_db_set_store_function ()">gnutls_db_set_store_function</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
296
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()">gnutls_db_store_func</a> store_func);
297
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()">gnutls_db_set_ptr</a>                   (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
298
 
                                                         void *ptr);
299
 
void *              <a class="link" href="gnutls-gnutls.html#gnutls-db-get-ptr" title="gnutls_db_get_ptr ()">gnutls_db_get_ptr</a>                   (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
300
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry" title="gnutls_db_check_entry ()">gnutls_db_check_entry</a>               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
301
 
                                                         gnutls_datum_t session_entry);
302
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func ()">*gnutls_handshake_post_client_hello_func</a>)
303
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> );
304
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-post-client-hello-function" title="gnutls_handshake_set_post_client_hello_function ()">gnutls_handshake_set_post_client_hello_function</a>
305
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
306
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func ()">gnutls_handshake_post_client_hello_func</a> func);
307
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-max-packet-length" title="gnutls_handshake_set_max_packet_length ()">gnutls_handshake_set_max_packet_length</a>
308
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
309
 
                                                         size_t max);
310
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-check-version" title="gnutls_check_version ()">gnutls_check_version</a>                (const char *req_version);
311
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-credentials-clear" title="gnutls_credentials_clear ()">gnutls_credentials_clear</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
312
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-credentials-set" title="gnutls_credentials_set ()">gnutls_credentials_set</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
313
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a> type,
314
 
                                                         void *cred);
 
220
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-supplemental-get-name" title="gnutls_supplemental_get_name ()">gnutls_supplemental_get_name</a>        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t"><span class="type">gnutls_supplemental_data_format_type_t</span></a> type</code></em>);
 
221
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-cipher-set-priority" title="gnutls_cipher_set_priority ()">gnutls_cipher_set_priority</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>,
 
222
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);
 
223
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-mac-set-priority" title="gnutls_mac_set_priority ()">gnutls_mac_set_priority</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>,
 
224
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);
 
225
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-compression-set-priority" title="gnutls_compression_set_priority ()">gnutls_compression_set_priority</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>,
 
226
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);
 
227
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-kx-set-priority" title="gnutls_kx_set_priority ()">gnutls_kx_set_priority</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>,
 
228
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);
 
229
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-protocol-set-priority" title="gnutls_protocol_set_priority ()">gnutls_protocol_set_priority</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>,
 
230
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);
 
231
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-set-priority" title="gnutls_certificate_type_set_priority ()">gnutls_certificate_type_set_priority</a>
 
232
                                                        (<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>,
 
233
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);
 
234
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-priority-init" title="gnutls_priority_init ()">gnutls_priority_init</a>                (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> *priority_cache</code></em>,
 
235
                                                         <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>,
 
236
                                                         <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);
 
237
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-priority-deinit" title="gnutls_priority_deinit ()">gnutls_priority_deinit</a>              (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> priority_cache</code></em>);
 
238
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()">gnutls_priority_set</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>,
 
239
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> priority</code></em>);
 
240
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()">gnutls_priority_set_direct</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>,
 
241
                                                         <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>,
 
242
                                                         <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);
 
243
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-set-default-priority" title="gnutls_set_default_priority ()">gnutls_set_default_priority</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>);
 
244
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-set-default-export-priority" title="gnutls_set_default_export_priority ()">gnutls_set_default_export_priority</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>);
 
245
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-cipher-suite-get-name" title="gnutls_cipher_suite_get_name ()">gnutls_cipher_suite_get_name</a>        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> kx_algorithm</code></em>,
 
246
                                                         <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_algorithm</code></em>,
 
247
                                                         <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> mac_algorithm</code></em>);
 
248
<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="returnvalue">gnutls_protocol_t</span></a>   <a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-version" title="gnutls_protocol_get_version ()">gnutls_protocol_get_version</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>);
 
249
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-protocol-get-name" title="gnutls_protocol_get_name ()">gnutls_protocol_get_name</a>            (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> version</code></em>);
 
250
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-session-set-data" title="gnutls_session_set_data ()">gnutls_session_set_data</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>,
 
251
                                                         <em class="parameter"><code>const <span class="type">void</span> *session_data</code></em>,
 
252
                                                         <em class="parameter"><code><span class="type">size_t</span> session_data_size</code></em>);
 
253
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data" title="gnutls_session_get_data ()">gnutls_session_get_data</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>,
 
254
                                                         <em class="parameter"><code><span class="type">void</span> *session_data</code></em>,
 
255
                                                         <em class="parameter"><code><span class="type">size_t</span> *session_data_size</code></em>);
 
256
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data2" title="gnutls_session_get_data2 ()">gnutls_session_get_data2</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>,
 
257
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *data</code></em>);
 
258
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MAX-SESSION-ID:CAPS" title="GNUTLS_MAX_SESSION_ID">GNUTLS_MAX_SESSION_ID</a>
 
259
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-session-get-id" title="gnutls_session_get_id ()">gnutls_session_get_id</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>,
 
260
                                                         <em class="parameter"><code><span class="type">void</span> *session_id</code></em>,
 
261
                                                         <em class="parameter"><code><span class="type">size_t</span> *session_id_size</code></em>);
 
262
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-MASTER-SIZE:CAPS" title="GNUTLS_MASTER_SIZE">GNUTLS_MASTER_SIZE</a>
 
263
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-RANDOM-SIZE:CAPS" title="GNUTLS_RANDOM_SIZE">GNUTLS_RANDOM_SIZE</a>
 
264
const <span class="returnvalue">void</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-session-get-server-random" title="gnutls_session_get_server_random ()">gnutls_session_get_server_random</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>);
 
265
const <span class="returnvalue">void</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-session-get-client-random" title="gnutls_session_get_client_random ()">gnutls_session_get_client_random</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>);
 
266
const <span class="returnvalue">void</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-session-get-master-secret" title="gnutls_session_get_master_secret ()">gnutls_session_get_master_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>);
 
267
<span class="returnvalue">void</span>                (<a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()">*gnutls_finished_callback_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>,
 
268
                                                         <em class="parameter"><code>const <span class="type">void</span> *finished</code></em>,
 
269
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
 
270
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-session-set-finished-function" title="gnutls_session_set_finished_function ()">gnutls_session_set_finished_function</a>
 
271
                                                        (<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>,
 
272
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()"><span class="type">gnutls_finished_callback_func</span></a> func</code></em>);
 
273
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-session-is-resumed" title="gnutls_session_is_resumed ()">gnutls_session_is_resumed</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>);
 
274
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()">*gnutls_db_store_func</a>)             (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
275
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> key</code></em>,
 
276
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> data</code></em>);
 
277
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()">*gnutls_db_remove_func</a>)            (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
278
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> key</code></em>);
 
279
<span class="returnvalue">gnutls_datum_t</span>      (<a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()">*gnutls_db_retr_func</a>)              (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
280
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> key</code></em>);
 
281
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-cache-expiration" title="gnutls_db_set_cache_expiration ()">gnutls_db_set_cache_expiration</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>,
 
282
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> seconds</code></em>);
 
283
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-db-remove-session" title="gnutls_db_remove_session ()">gnutls_db_remove_session</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>);
 
284
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-retrieve-function" title="gnutls_db_set_retrieve_function ()">gnutls_db_set_retrieve_function</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>,
 
285
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()"><span class="type">gnutls_db_retr_func</span></a> retr_func</code></em>);
 
286
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-remove-function" title="gnutls_db_set_remove_function ()">gnutls_db_set_remove_function</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>,
 
287
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()"><span class="type">gnutls_db_remove_func</span></a> rem_func</code></em>);
 
288
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-store-function" title="gnutls_db_set_store_function ()">gnutls_db_set_store_function</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>,
 
289
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()"><span class="type">gnutls_db_store_func</span></a> store_func</code></em>);
 
290
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()">gnutls_db_set_ptr</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>,
 
291
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);
 
292
<span class="returnvalue">void</span> *              <a class="link" href="gnutls-gnutls.html#gnutls-db-get-ptr" title="gnutls_db_get_ptr ()">gnutls_db_get_ptr</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>);
 
293
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-db-check-entry" title="gnutls_db_check_entry ()">gnutls_db_check_entry</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>,
 
294
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> session_entry</code></em>);
 
295
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func ()">*gnutls_handshake_post_client_hello_func</a>)
 
296
                                                        (<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> Param1</code></em>);
 
297
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-post-client-hello-function" title="gnutls_handshake_set_post_client_hello_function ()">gnutls_handshake_set_post_client_hello_function</a>
 
298
                                                        (<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>,
 
299
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func ()"><span class="type">gnutls_handshake_post_client_hello_func</span></a> func</code></em>);
 
300
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-handshake-set-max-packet-length" title="gnutls_handshake_set_max_packet_length ()">gnutls_handshake_set_max_packet_length</a>
 
301
                                                        (<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>,
 
302
                                                         <em class="parameter"><code><span class="type">size_t</span> max</code></em>);
 
303
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-check-version" title="gnutls_check_version ()">gnutls_check_version</a>                (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);
 
304
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-credentials-clear" title="gnutls_credentials_clear ()">gnutls_credentials_clear</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>);
 
305
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-credentials-set" title="gnutls_credentials_set ()">gnutls_credentials_set</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>,
 
306
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type</code></em>,
 
307
                                                         <em class="parameter"><code><span class="type">void</span> *cred</code></em>);
315
308
#define             <a class="link" href="gnutls-gnutls.html#gnutls-cred-set" title="gnutls_cred_set">gnutls_cred_set</a>
316
309
struct              <a class="link" href="gnutls-gnutls.html#gnutls-certificate-credentials-st" title="struct gnutls_certificate_credentials_st">gnutls_certificate_credentials_st</a>;
317
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-anon-free-server-credentials" title="gnutls_anon_free_server_credentials ()">gnutls_anon_free_server_credentials</a> (gnutls_anon_server_credentials_t sc);
318
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-server-credentials" title="gnutls_anon_allocate_server_credentials ()">gnutls_anon_allocate_server_credentials</a>
319
 
                                                        (gnutls_anon_server_credentials_t *sc);
320
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-dh-params" title="gnutls_anon_set_server_dh_params ()">gnutls_anon_set_server_dh_params</a>    (gnutls_anon_server_credentials_t res,
321
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);
322
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-params-function" title="gnutls_anon_set_server_params_function ()">gnutls_anon_set_server_params_function</a>
323
 
                                                        (gnutls_anon_server_credentials_t res,
324
 
                                                         gnutls_params_function *func);
325
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-anon-free-client-credentials" title="gnutls_anon_free_client_credentials ()">gnutls_anon_free_client_credentials</a> (gnutls_anon_client_credentials_t sc);
326
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-client-credentials" title="gnutls_anon_allocate_client_credentials ()">gnutls_anon_allocate_client_credentials</a>
327
 
                                                        (gnutls_anon_client_credentials_t *sc);
328
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-credentials" title="gnutls_certificate_free_credentials ()">gnutls_certificate_free_credentials</a> (gnutls_certificate_credentials_t sc);
329
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-allocate-credentials" title="gnutls_certificate_allocate_credentials ()">gnutls_certificate_allocate_credentials</a>
330
 
                                                        (gnutls_certificate_credentials_t *res);
331
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-keys" title="gnutls_certificate_free_keys ()">gnutls_certificate_free_keys</a>        (gnutls_certificate_credentials_t sc);
332
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-cas" title="gnutls_certificate_free_cas ()">gnutls_certificate_free_cas</a>         (gnutls_certificate_credentials_t sc);
333
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-ca-names" title="gnutls_certificate_free_ca_names ()">gnutls_certificate_free_ca_names</a>    (gnutls_certificate_credentials_t sc);
334
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-crls" title="gnutls_certificate_free_crls ()">gnutls_certificate_free_crls</a>        (gnutls_certificate_credentials_t sc);
335
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-dh-params" title="gnutls_certificate_set_dh_params ()">gnutls_certificate_set_dh_params</a>    (gnutls_certificate_credentials_t res,
336
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);
337
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-rsa-export-params" title="gnutls_certificate_set_rsa_export_params ()">gnutls_certificate_set_rsa_export_params</a>
338
 
                                                        (gnutls_certificate_credentials_t res,
339
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> rsa_params);
340
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()">gnutls_certificate_set_verify_flags</a> (gnutls_certificate_credentials_t res,
341
 
                                                         unsigned int flags);
342
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()">gnutls_certificate_set_verify_limits</a>
343
 
                                                        (gnutls_certificate_credentials_t res,
344
 
                                                         unsigned int max_bits,
345
 
                                                         unsigned int max_depth);
346
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-file" title="gnutls_certificate_set_x509_trust_file ()">gnutls_certificate_set_x509_trust_file</a>
347
 
                                                        (gnutls_certificate_credentials_t res,
348
 
                                                         const char *cafile,
349
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);
350
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-mem" title="gnutls_certificate_set_x509_trust_mem ()">gnutls_certificate_set_x509_trust_mem</a>
351
 
                                                        (gnutls_certificate_credentials_t res,
352
 
                                                         const gnutls_datum_t *ca,
353
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);
354
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-file" title="gnutls_certificate_set_x509_crl_file ()">gnutls_certificate_set_x509_crl_file</a>
355
 
                                                        (gnutls_certificate_credentials_t res,
356
 
                                                         const char *crlfile,
357
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);
358
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-mem" title="gnutls_certificate_set_x509_crl_mem ()">gnutls_certificate_set_x509_crl_mem</a> (gnutls_certificate_credentials_t res,
359
 
                                                         const gnutls_datum_t *CRL,
360
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);
361
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" title="gnutls_certificate_set_x509_key_file ()">gnutls_certificate_set_x509_key_file</a>
362
 
                                                        (gnutls_certificate_credentials_t res,
363
 
                                                         const char *certfile,
364
 
                                                         const char *keyfile,
365
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);
366
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem" title="gnutls_certificate_set_x509_key_mem ()">gnutls_certificate_set_x509_key_mem</a> (gnutls_certificate_credentials_t res,
367
 
                                                         const gnutls_datum_t *cert,
368
 
                                                         const gnutls_datum_t *key,
369
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);
370
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()">gnutls_certificate_send_x509_rdn_sequence</a>
371
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
372
 
                                                         int status);
373
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-file" title="gnutls_certificate_set_x509_simple_pkcs12_file ()">gnutls_certificate_set_x509_simple_pkcs12_file</a>
374
 
                                                        (gnutls_certificate_credentials_t res,
375
 
                                                         const char *pkcs12file,
376
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type,
377
 
                                                         const char *password);
378
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-mem" title="gnutls_certificate_set_x509_simple_pkcs12_mem ()">gnutls_certificate_set_x509_simple_pkcs12_mem</a>
379
 
                                                        (gnutls_certificate_credentials_t res,
380
 
                                                         const gnutls_datum *p12blob,
381
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type,
382
 
                                                         const char *password);
 
310
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-anon-free-server-credentials" title="gnutls_anon_free_server_credentials ()">gnutls_anon_free_server_credentials</a> (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> sc</code></em>);
 
311
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-server-credentials" title="gnutls_anon_allocate_server_credentials ()">gnutls_anon_allocate_server_credentials</a>
 
312
                                                        (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> *sc</code></em>);
 
313
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-dh-params" title="gnutls_anon_set_server_dh_params ()">gnutls_anon_set_server_dh_params</a>    (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>,
 
314
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);
 
315
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-anon-set-server-params-function" title="gnutls_anon_set_server_params_function ()">gnutls_anon_set_server_params_function</a>
 
316
                                                        (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>,
 
317
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);
 
318
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-anon-free-client-credentials" title="gnutls_anon_free_client_credentials ()">gnutls_anon_free_client_credentials</a> (<em class="parameter"><code><span class="type">gnutls_anon_client_credentials_t</span> sc</code></em>);
 
319
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-anon-allocate-client-credentials" title="gnutls_anon_allocate_client_credentials ()">gnutls_anon_allocate_client_credentials</a>
 
320
                                                        (<em class="parameter"><code><span class="type">gnutls_anon_client_credentials_t</span> *sc</code></em>);
 
321
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-credentials" title="gnutls_certificate_free_credentials ()">gnutls_certificate_free_credentials</a> (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);
 
322
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-allocate-credentials" title="gnutls_certificate_allocate_credentials ()">gnutls_certificate_allocate_credentials</a>
 
323
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> *res</code></em>);
 
324
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-keys" title="gnutls_certificate_free_keys ()">gnutls_certificate_free_keys</a>        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);
 
325
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-cas" title="gnutls_certificate_free_cas ()">gnutls_certificate_free_cas</a>         (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);
 
326
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-ca-names" title="gnutls_certificate_free_ca_names ()">gnutls_certificate_free_ca_names</a>    (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);
 
327
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-free-crls" title="gnutls_certificate_free_crls ()">gnutls_certificate_free_crls</a>        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);
 
328
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-dh-params" title="gnutls_certificate_set_dh_params ()">gnutls_certificate_set_dh_params</a>    (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
329
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);
 
330
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-rsa-export-params" title="gnutls_certificate_set_rsa_export_params ()">gnutls_certificate_set_rsa_export_params</a>
 
331
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
332
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> rsa_params</code></em>);
 
333
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()">gnutls_certificate_set_verify_flags</a> (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
334
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> flags</code></em>);
 
335
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()">gnutls_certificate_set_verify_limits</a>
 
336
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
337
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> max_bits</code></em>,
 
338
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> max_depth</code></em>);
 
339
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-file" title="gnutls_certificate_set_x509_trust_file ()">gnutls_certificate_set_x509_trust_file</a>
 
340
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
341
                                                         <em class="parameter"><code>const <span class="type">char</span> *cafile</code></em>,
 
342
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);
 
343
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust-mem" title="gnutls_certificate_set_x509_trust_mem ()">gnutls_certificate_set_x509_trust_mem</a>
 
344
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
345
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *ca</code></em>,
 
346
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);
 
347
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-file" title="gnutls_certificate_set_x509_crl_file ()">gnutls_certificate_set_x509_crl_file</a>
 
348
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
349
                                                         <em class="parameter"><code>const <span class="type">char</span> *crlfile</code></em>,
 
350
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);
 
351
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl-mem" title="gnutls_certificate_set_x509_crl_mem ()">gnutls_certificate_set_x509_crl_mem</a> (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
352
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *CRL</code></em>,
 
353
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);
 
354
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-file" title="gnutls_certificate_set_x509_key_file ()">gnutls_certificate_set_x509_key_file</a>
 
355
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
356
                                                         <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>,
 
357
                                                         <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>,
 
358
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);
 
359
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key-mem" title="gnutls_certificate_set_x509_key_mem ()">gnutls_certificate_set_x509_key_mem</a> (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
360
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
361
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
362
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);
 
363
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()">gnutls_certificate_send_x509_rdn_sequence</a>
 
364
                                                        (<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>,
 
365
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> status</code></em>);
 
366
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-file" title="gnutls_certificate_set_x509_simple_pkcs12_file ()">gnutls_certificate_set_x509_simple_pkcs12_file</a>
 
367
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
368
                                                         <em class="parameter"><code>const <span class="type">char</span> *pkcs12file</code></em>,
 
369
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>,
 
370
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);
 
371
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-simple-pkcs12-mem" title="gnutls_certificate_set_x509_simple_pkcs12_mem ()">gnutls_certificate_set_x509_simple_pkcs12_mem</a>
 
372
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
373
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum</span> *p12blob</code></em>,
 
374
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>,
 
375
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);
383
376
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t">gnutls_x509_privkey_t</a>;
384
377
struct              <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-int" title="struct gnutls_x509_crl_int">gnutls_x509_crl_int</a>;
385
378
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a>;
387
380
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a>;
388
381
struct              <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-int" title="struct gnutls_openpgp_keyring_int">gnutls_openpgp_keyring_int</a>;
389
382
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t">gnutls_openpgp_keyring_t</a>;
390
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()">gnutls_certificate_set_x509_key</a>     (gnutls_certificate_credentials_t res,
391
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a> *cert_list,
392
 
                                                         int cert_list_size,
393
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t">gnutls_x509_privkey_t</a> key);
394
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust" title="gnutls_certificate_set_x509_trust ()">gnutls_certificate_set_x509_trust</a>   (gnutls_certificate_credentials_t res,
395
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a> *ca_list,
396
 
                                                         int ca_list_size);
397
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl" title="gnutls_certificate_set_x509_crl ()">gnutls_certificate_set_x509_crl</a>     (gnutls_certificate_credentials_t res,
398
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a> *crl_list,
399
 
                                                         int crl_list_size);
400
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-cas" title="gnutls_certificate_get_x509_cas ()">gnutls_certificate_get_x509_cas</a>     (gnutls_certificate_credentials_t sc,
401
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a> **x509_ca_list,
402
 
                                                         unsigned int *ncas);
403
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-crls" title="gnutls_certificate_get_x509_crls ()">gnutls_certificate_get_x509_crls</a>    (gnutls_certificate_credentials_t sc,
404
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a> **x509_crl_list,
405
 
                                                         unsigned int *ncrls);
406
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-openpgp-keyring" title="gnutls_certificate_get_openpgp_keyring ()">gnutls_certificate_get_openpgp_keyring</a>
407
 
                                                        (gnutls_certificate_credentials_t sc,
408
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t">gnutls_openpgp_keyring_t</a> *keyring);
409
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()">gnutls_global_init</a>                  (void);
410
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()">gnutls_global_deinit</a>                (void);
411
 
void *              (<a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">*gnutls_alloc_function</a>)            (size_t );
412
 
void *              (<a class="link" href="gnutls-gnutls.html#gnutls-calloc-function" title="gnutls_calloc_function ()">*gnutls_calloc_function</a>)           (size_t ,
413
 
                                                         size_t );
414
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()">*gnutls_is_secure_function</a>)        (const void *);
415
 
void                (<a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()">*gnutls_free_function</a>)             (void *);
416
 
void *              (<a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()">*gnutls_realloc_function</a>)          (void *,
417
 
                                                         size_t );
418
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-global-set-mem-functions" title="gnutls_global_set_mem_functions ()">gnutls_global_set_mem_functions</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">gnutls_alloc_function</a> alloc_func,
419
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">gnutls_alloc_function</a> secure_alloc_func,
420
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()">gnutls_is_secure_function</a> is_secure_func,
421
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()">gnutls_realloc_function</a> realloc_func,
422
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()">gnutls_free_function</a> free_func);
 
383
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-key" title="gnutls_certificate_set_x509_key ()">gnutls_certificate_set_x509_key</a>     (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
384
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert_list</code></em>,
 
385
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> cert_list_size</code></em>,
 
386
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);
 
387
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-trust" title="gnutls_certificate_set_x509_trust ()">gnutls_certificate_set_x509_trust</a>   (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
388
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *ca_list</code></em>,
 
389
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> ca_list_size</code></em>);
 
390
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-x509-crl" title="gnutls_certificate_set_x509_crl ()">gnutls_certificate_set_x509_crl</a>     (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
391
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl_list</code></em>,
 
392
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> crl_list_size</code></em>);
 
393
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-cas" title="gnutls_certificate_get_x509_cas ()">gnutls_certificate_get_x509_cas</a>     (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>,
 
394
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **x509_ca_list</code></em>,
 
395
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *ncas</code></em>);
 
396
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-x509-crls" title="gnutls_certificate_get_x509_crls ()">gnutls_certificate_get_x509_crls</a>    (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>,
 
397
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> **x509_crl_list</code></em>,
 
398
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *ncrls</code></em>);
 
399
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-openpgp-keyring" title="gnutls_certificate_get_openpgp_keyring ()">gnutls_certificate_get_openpgp_keyring</a>
 
400
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>,
 
401
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> *keyring</code></em>);
 
402
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()">gnutls_global_init</a>                  (<em class="parameter"><code><span class="type">void</span></code></em>);
 
403
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()">gnutls_global_deinit</a>                (<em class="parameter"><code><span class="type">void</span></code></em>);
 
404
<span class="returnvalue">void</span> *              (<a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">*gnutls_alloc_function</a>)            (<em class="parameter"><code><span class="type">size_t</span> Param1</code></em>);
 
405
<span class="returnvalue">void</span> *              (<a class="link" href="gnutls-gnutls.html#gnutls-calloc-function" title="gnutls_calloc_function ()">*gnutls_calloc_function</a>)           (<em class="parameter"><code><span class="type">size_t</span> Param1</code></em>,
 
406
                                                         <em class="parameter"><code><span class="type">size_t</span> Param2</code></em>);
 
407
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()">*gnutls_is_secure_function</a>)        (<em class="parameter"><code>const <span class="type">void</span> *Param1</code></em>);
 
408
<span class="returnvalue">void</span>                (<a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()">*gnutls_free_function</a>)             (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>);
 
409
<span class="returnvalue">void</span> *              (<a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()">*gnutls_realloc_function</a>)          (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
410
                                                         <em class="parameter"><code><span class="type">size_t</span> Param2</code></em>);
 
411
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-global-set-mem-functions" title="gnutls_global_set_mem_functions ()">gnutls_global_set_mem_functions</a>     (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()"><span class="type">gnutls_alloc_function</span></a> alloc_func</code></em>,
 
412
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()"><span class="type">gnutls_alloc_function</span></a> secure_alloc_func</code></em>,
 
413
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()"><span class="type">gnutls_is_secure_function</span></a> is_secure_func</code></em>,
 
414
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()"><span class="type">gnutls_realloc_function</span></a> realloc_func</code></em>,
 
415
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()"><span class="type">gnutls_free_function</span></a> free_func</code></em>);
423
416
extern              gnutls_alloc_function <a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc">gnutls_malloc</a>;
424
417
extern              gnutls_alloc_function <a class="link" href="gnutls-gnutls.html#gnutls-secure-malloc" title="gnutls_secure_malloc">gnutls_secure_malloc</a>;
425
418
extern              gnutls_realloc_function <a class="link" href="gnutls-gnutls.html#gnutls-realloc" title="gnutls_realloc">gnutls_realloc</a>;
426
419
extern              gnutls_calloc_function <a class="link" href="gnutls-gnutls.html#gnutls-calloc" title="gnutls_calloc">gnutls_calloc</a>;
427
420
extern              gnutls_free_function <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free">gnutls_free</a>;
428
 
char *              <a class="link" href="gnutls-gnutls.html#gnutls-strdup" title="gnutls_strdup ()">gnutls_strdup</a>                       (const char *);
429
 
void                (<a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()">*gnutls_log_func</a>)                  (...,
430
 
                                                         const char *);
431
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-function" title="gnutls_global_set_log_function ()">gnutls_global_set_log_function</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()">gnutls_log_func</a> log_func);
432
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-level" title="gnutls_global_set_log_level ()">gnutls_global_set_log_level</a>         (int level);
433
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-init" title="gnutls_dh_params_init ()">gnutls_dh_params_init</a>               (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> *dh_params);
434
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-deinit" title="gnutls_dh_params_deinit ()">gnutls_dh_params_deinit</a>             (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);
435
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw" title="gnutls_dh_params_import_raw ()">gnutls_dh_params_import_raw</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params,
436
 
                                                         const gnutls_datum_t *prime,
437
 
                                                         const gnutls_datum_t *generator);
438
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-pkcs3" title="gnutls_dh_params_import_pkcs3 ()">gnutls_dh_params_import_pkcs3</a>       (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
439
 
                                                         const gnutls_datum_t *pkcs3_params,
440
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format);
441
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-generate2" title="gnutls_dh_params_generate2 ()">gnutls_dh_params_generate2</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
442
 
                                                         unsigned int bits);
443
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-pkcs3" title="gnutls_dh_params_export_pkcs3 ()">gnutls_dh_params_export_pkcs3</a>       (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
444
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format,
445
 
                                                         unsigned char *params_data,
446
 
                                                         size_t *params_data_size);
447
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-raw" title="gnutls_dh_params_export_raw ()">gnutls_dh_params_export_raw</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
448
 
                                                         gnutls_datum_t *prime,
449
 
                                                         gnutls_datum_t *generator,
450
 
                                                         unsigned int *bits);
451
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-cpy" title="gnutls_dh_params_cpy ()">gnutls_dh_params_cpy</a>                (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dst,
452
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> src);
453
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-init" title="gnutls_rsa_params_init ()">gnutls_rsa_params_init</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> *rsa_params);
454
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-deinit" title="gnutls_rsa_params_deinit ()">gnutls_rsa_params_deinit</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> rsa_params);
455
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-cpy" title="gnutls_rsa_params_cpy ()">gnutls_rsa_params_cpy</a>               (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> dst,
456
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> src);
457
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-import-raw" title="gnutls_rsa_params_import_raw ()">gnutls_rsa_params_import_raw</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> rsa_params,
458
 
                                                         const gnutls_datum_t *m,
459
 
                                                         const gnutls_datum_t *e,
460
 
                                                         const gnutls_datum_t *d,
461
 
                                                         const gnutls_datum_t *p,
462
 
                                                         const gnutls_datum_t *q,
463
 
                                                         const gnutls_datum_t *u);
464
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-generate2" title="gnutls_rsa_params_generate2 ()">gnutls_rsa_params_generate2</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
465
 
                                                         unsigned int bits);
466
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-export-raw" title="gnutls_rsa_params_export_raw ()">gnutls_rsa_params_export_raw</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
467
 
                                                         gnutls_datum_t *m,
468
 
                                                         gnutls_datum_t *e,
469
 
                                                         gnutls_datum_t *d,
470
 
                                                         gnutls_datum_t *p,
471
 
                                                         gnutls_datum_t *q,
472
 
                                                         gnutls_datum_t *u,
473
 
                                                         unsigned int *bits);
474
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-export-pkcs1" title="gnutls_rsa_params_export_pkcs1 ()">gnutls_rsa_params_export_pkcs1</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
475
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format,
476
 
                                                         unsigned char *params_data,
477
 
                                                         size_t *params_data_size);
478
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-import-pkcs1" title="gnutls_rsa_params_import_pkcs1 ()">gnutls_rsa_params_import_pkcs1</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
479
 
                                                         const gnutls_datum_t *pkcs1_params,
480
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format);
481
 
ssize_t             (<a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()">*gnutls_pull_func</a>)                 (<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> ,
482
 
                                                         void *,
483
 
                                                         size_t );
484
 
ssize_t             (<a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()">*gnutls_push_func</a>)                 (<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> ,
485
 
                                                         const void *,
486
 
                                                         size_t );
487
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()">gnutls_transport_set_ptr</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
488
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> ptr);
489
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()">gnutls_transport_set_ptr2</a>           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
490
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> recv_ptr,
491
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> send_ptr);
492
 
<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr" title="gnutls_transport_get_ptr ()">gnutls_transport_get_ptr</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
493
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr2" title="gnutls_transport_get_ptr2 ()">gnutls_transport_get_ptr2</a>           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
494
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> *recv_ptr,
495
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> *send_ptr);
496
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-lowat" title="gnutls_transport_set_lowat ()">gnutls_transport_set_lowat</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
497
 
                                                         int num);
498
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()">gnutls_transport_set_push_function</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
499
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()">gnutls_push_func</a> push_func);
500
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-function" title="gnutls_transport_set_pull_function ()">gnutls_transport_set_pull_function</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
501
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()">gnutls_pull_func</a> pull_func);
502
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno" title="gnutls_transport_set_errno ()">gnutls_transport_set_errno</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
503
 
                                                         int err);
504
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-global-errno" title="gnutls_transport_set_global_errno ()">gnutls_transport_set_global_errno</a>   (int err);
505
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-session-set-ptr" title="gnutls_session_set_ptr ()">gnutls_session_set_ptr</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
506
 
                                                         void *ptr);
507
 
void *              <a class="link" href="gnutls-gnutls.html#gnutls-session-get-ptr" title="gnutls_session_get_ptr ()">gnutls_session_get_ptr</a>              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
508
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-send-cert" title="gnutls_openpgp_send_cert ()">gnutls_openpgp_send_cert</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
509
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a> status);
510
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-fingerprint" title="gnutls_fingerprint ()">gnutls_fingerprint</a>                  (<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a> algo,
511
 
                                                         const gnutls_datum_t *data,
512
 
                                                         void *result,
513
 
                                                         size_t *result_size);
514
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-srp-free-client-credentials" title="gnutls_srp_free_client_credentials ()">gnutls_srp_free_client_credentials</a>  (gnutls_srp_client_credentials_t sc);
515
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-client-credentials" title="gnutls_srp_allocate_client_credentials ()">gnutls_srp_allocate_client_credentials</a>
516
 
                                                        (gnutls_srp_client_credentials_t *sc);
517
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials" title="gnutls_srp_set_client_credentials ()">gnutls_srp_set_client_credentials</a>   (gnutls_srp_client_credentials_t res,
518
 
                                                         const char *username,
519
 
                                                         const char *password);
520
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-srp-free-server-credentials" title="gnutls_srp_free_server_credentials ()">gnutls_srp_free_server_credentials</a>  (gnutls_srp_server_credentials_t sc);
521
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-server-credentials" title="gnutls_srp_allocate_server_credentials ()">gnutls_srp_allocate_server_credentials</a>
522
 
                                                        (gnutls_srp_server_credentials_t *sc);
523
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-file" title="gnutls_srp_set_server_credentials_file ()">gnutls_srp_set_server_credentials_file</a>
524
 
                                                        (gnutls_srp_server_credentials_t res,
525
 
                                                         const char *password_file,
526
 
                                                         const char *password_conf_file);
527
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-srp-server-get-username" title="gnutls_srp_server_get_username ()">gnutls_srp_server_get_username</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
528
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-prime-bits" title="gnutls_srp_set_prime_bits ()">gnutls_srp_set_prime_bits</a>           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
529
 
                                                         unsigned int bits);
530
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-verifier" title="gnutls_srp_verifier ()">gnutls_srp_verifier</a>                 (const char *username,
531
 
                                                         const char *password,
532
 
                                                         const gnutls_datum_t *salt,
533
 
                                                         const gnutls_datum_t *generator,
534
 
                                                         const gnutls_datum_t *prime,
535
 
                                                         gnutls_datum_t *res);
 
421
<span class="returnvalue">char</span> *              (<a class="link" href="gnutls-gnutls.html#gnutls-strdup" title="gnutls_strdup ()">*gnutls_strdup</a>)                    (<em class="parameter"><code>const <span class="type">char</span> *Param1</code></em>);
 
422
<span class="returnvalue">void</span>                (<a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()">*gnutls_log_func</a>)                  (<em class="parameter"><code>...</code></em>,
 
423
                                                         <em class="parameter"><code>const <span class="type">char</span> *Param2</code></em>);
 
424
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-function" title="gnutls_global_set_log_function ()">gnutls_global_set_log_function</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()"><span class="type">gnutls_log_func</span></a> log_func</code></em>);
 
425
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-global-set-log-level" title="gnutls_global_set_log_level ()">gnutls_global_set_log_level</a>         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> level</code></em>);
 
426
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-init" title="gnutls_dh_params_init ()">gnutls_dh_params_init</a>               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> *dh_params</code></em>);
 
427
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-deinit" title="gnutls_dh_params_deinit ()">gnutls_dh_params_deinit</a>             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);
 
428
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-raw" title="gnutls_dh_params_import_raw ()">gnutls_dh_params_import_raw</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>,
 
429
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *prime</code></em>,
 
430
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *generator</code></em>);
 
431
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-import-pkcs3" title="gnutls_dh_params_import_pkcs3 ()">gnutls_dh_params_import_pkcs3</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
432
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *pkcs3_params</code></em>,
 
433
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);
 
434
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-generate2" title="gnutls_dh_params_generate2 ()">gnutls_dh_params_generate2</a>          (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
435
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</code></em>);
 
436
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-pkcs3" title="gnutls_dh_params_export_pkcs3 ()">gnutls_dh_params_export_pkcs3</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
437
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
 
438
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *params_data</code></em>,
 
439
                                                         <em class="parameter"><code><span class="type">size_t</span> *params_data_size</code></em>);
 
440
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-export-raw" title="gnutls_dh_params_export_raw ()">gnutls_dh_params_export_raw</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
441
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *prime</code></em>,
 
442
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *generator</code></em>,
 
443
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *bits</code></em>);
 
444
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-cpy" title="gnutls_dh_params_cpy ()">gnutls_dh_params_cpy</a>                (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dst</code></em>,
 
445
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> src</code></em>);
 
446
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-init" title="gnutls_rsa_params_init ()">gnutls_rsa_params_init</a>              (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> *rsa_params</code></em>);
 
447
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-deinit" title="gnutls_rsa_params_deinit ()">gnutls_rsa_params_deinit</a>            (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> rsa_params</code></em>);
 
448
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-cpy" title="gnutls_rsa_params_cpy ()">gnutls_rsa_params_cpy</a>               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> dst</code></em>,
 
449
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> src</code></em>);
 
450
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-import-raw" title="gnutls_rsa_params_import_raw ()">gnutls_rsa_params_import_raw</a>        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> rsa_params</code></em>,
 
451
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *m</code></em>,
 
452
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *e</code></em>,
 
453
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *d</code></em>,
 
454
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *p</code></em>,
 
455
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *q</code></em>,
 
456
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *u</code></em>);
 
457
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-generate2" title="gnutls_rsa_params_generate2 ()">gnutls_rsa_params_generate2</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
458
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</code></em>);
 
459
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-export-raw" title="gnutls_rsa_params_export_raw ()">gnutls_rsa_params_export_raw</a>        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
460
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
461
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>,
 
462
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *d</code></em>,
 
463
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
464
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
465
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *u</code></em>,
 
466
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *bits</code></em>);
 
467
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-export-pkcs1" title="gnutls_rsa_params_export_pkcs1 ()">gnutls_rsa_params_export_pkcs1</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
468
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
 
469
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *params_data</code></em>,
 
470
                                                         <em class="parameter"><code><span class="type">size_t</span> *params_data_size</code></em>);
 
471
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-import-pkcs1" title="gnutls_rsa_params_import_pkcs1 ()">gnutls_rsa_params_import_pkcs1</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
472
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *pkcs1_params</code></em>,
 
473
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);
 
474
<span class="returnvalue">ssize_t</span>             (<a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()">*gnutls_pull_func</a>)                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>,
 
475
                                                         <em class="parameter"><code><span class="type">void</span> *Param2</code></em>,
 
476
                                                         <em class="parameter"><code><span class="type">size_t</span> Param3</code></em>);
 
477
<span class="returnvalue">ssize_t</span>             (<a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()">*gnutls_push_func</a>)                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>,
 
478
                                                         <em class="parameter"><code>const <span class="type">void</span> *Param2</code></em>,
 
479
                                                         <em class="parameter"><code><span class="type">size_t</span> Param3</code></em>);
 
480
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()">gnutls_transport_set_ptr</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>,
 
481
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> ptr</code></em>);
 
482
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()">gnutls_transport_set_ptr2</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>,
 
483
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> recv_ptr</code></em>,
 
484
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> send_ptr</code></em>);
 
485
<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="returnvalue">gnutls_transport_ptr_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr" title="gnutls_transport_get_ptr ()">gnutls_transport_get_ptr</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>);
 
486
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-get-ptr2" title="gnutls_transport_get_ptr2 ()">gnutls_transport_get_ptr2</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>,
 
487
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> *recv_ptr</code></em>,
 
488
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> *send_ptr</code></em>);
 
489
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-lowat" title="gnutls_transport_set_lowat ()">gnutls_transport_set_lowat</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>,
 
490
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> num</code></em>);
 
491
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-push-function" title="gnutls_transport_set_push_function ()">gnutls_transport_set_push_function</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>,
 
492
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()"><span class="type">gnutls_push_func</span></a> push_func</code></em>);
 
493
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-pull-function" title="gnutls_transport_set_pull_function ()">gnutls_transport_set_pull_function</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>,
 
494
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()"><span class="type">gnutls_pull_func</span></a> pull_func</code></em>);
 
495
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno" title="gnutls_transport_set_errno ()">gnutls_transport_set_errno</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>,
 
496
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>);
 
497
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-global-errno" title="gnutls_transport_set_global_errno ()">gnutls_transport_set_global_errno</a>   (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>);
 
498
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-session-set-ptr" title="gnutls_session_set_ptr ()">gnutls_session_set_ptr</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>,
 
499
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);
 
500
<span class="returnvalue">void</span> *              <a class="link" href="gnutls-gnutls.html#gnutls-session-get-ptr" title="gnutls_session_get_ptr ()">gnutls_session_get_ptr</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>);
 
501
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-send-cert" title="gnutls_openpgp_send_cert ()">gnutls_openpgp_send_cert</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>,
 
502
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t"><span class="type">gnutls_openpgp_crt_status_t</span></a> status</code></em>);
 
503
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-fingerprint" title="gnutls_fingerprint ()">gnutls_fingerprint</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> algo</code></em>,
 
504
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
505
                                                         <em class="parameter"><code><span class="type">void</span> *result</code></em>,
 
506
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
507
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-srp-free-client-credentials" title="gnutls_srp_free_client_credentials ()">gnutls_srp_free_client_credentials</a>  (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> sc</code></em>);
 
508
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-client-credentials" title="gnutls_srp_allocate_client_credentials ()">gnutls_srp_allocate_client_credentials</a>
 
509
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> *sc</code></em>);
 
510
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials" title="gnutls_srp_set_client_credentials ()">gnutls_srp_set_client_credentials</a>   (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> res</code></em>,
 
511
                                                         <em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
 
512
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);
 
513
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-srp-free-server-credentials" title="gnutls_srp_free_server_credentials ()">gnutls_srp_free_server_credentials</a>  (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> sc</code></em>);
 
514
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-allocate-server-credentials" title="gnutls_srp_allocate_server_credentials ()">gnutls_srp_allocate_server_credentials</a>
 
515
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> *sc</code></em>);
 
516
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-file" title="gnutls_srp_set_server_credentials_file ()">gnutls_srp_set_server_credentials_file</a>
 
517
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> res</code></em>,
 
518
                                                         <em class="parameter"><code>const <span class="type">char</span> *password_file</code></em>,
 
519
                                                         <em class="parameter"><code>const <span class="type">char</span> *password_conf_file</code></em>);
 
520
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-srp-server-get-username" title="gnutls_srp_server_get_username ()">gnutls_srp_server_get_username</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>);
 
521
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-prime-bits" title="gnutls_srp_set_prime_bits ()">gnutls_srp_set_prime_bits</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>,
 
522
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</code></em>);
 
523
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-verifier" title="gnutls_srp_verifier ()">gnutls_srp_verifier</a>                 (<em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
 
524
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
525
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *salt</code></em>,
 
526
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *generator</code></em>,
 
527
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *prime</code></em>,
 
528
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *res</code></em>);
536
529
extern              const gnutls_datum_t <a class="link" href="gnutls-gnutls.html#gnutls-srp-2048-group-prime" title="gnutls_srp_2048_group_prime">gnutls_srp_2048_group_prime</a>;
537
530
extern              const gnutls_datum_t <a class="link" href="gnutls-gnutls.html#gnutls-srp-2048-group-generator" title="gnutls_srp_2048_group_generator">gnutls_srp_2048_group_generator</a>;
538
531
extern              const gnutls_datum_t <a class="link" href="gnutls-gnutls.html#gnutls-srp-1536-group-prime" title="gnutls_srp_1536_group_prime">gnutls_srp_1536_group_prime</a>;
539
532
extern              const gnutls_datum_t <a class="link" href="gnutls-gnutls.html#gnutls-srp-1536-group-generator" title="gnutls_srp_1536_group_generator">gnutls_srp_1536_group_generator</a>;
540
533
extern              const gnutls_datum_t <a class="link" href="gnutls-gnutls.html#gnutls-srp-1024-group-prime" title="gnutls_srp_1024_group_prime">gnutls_srp_1024_group_prime</a>;
541
534
extern              const gnutls_datum_t <a class="link" href="gnutls-gnutls.html#gnutls-srp-1024-group-generator" title="gnutls_srp_1024_group_generator">gnutls_srp_1024_group_generator</a>;
542
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-function" title="gnutls_srp_set_server_credentials_function ()">gnutls_srp_set_server_credentials_function</a>
543
 
                                                        (gnutls_srp_server_credentials_t cred,
544
 
                                                         gnutls_srp_server_credentials_function *func);
545
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials-function" title="gnutls_srp_set_client_credentials_function ()">gnutls_srp_set_client_credentials_function</a>
546
 
                                                        (gnutls_srp_client_credentials_t cred,
547
 
                                                         gnutls_srp_client_credentials_function *func);
548
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode" title="gnutls_srp_base64_encode ()">gnutls_srp_base64_encode</a>            (const gnutls_datum_t *data,
549
 
                                                         char *result,
550
 
                                                         size_t *result_size);
551
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode-alloc" title="gnutls_srp_base64_encode_alloc ()">gnutls_srp_base64_encode_alloc</a>      (const gnutls_datum_t *data,
552
 
                                                         gnutls_datum_t *result);
553
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode" title="gnutls_srp_base64_decode ()">gnutls_srp_base64_decode</a>            (const gnutls_datum_t *b64_data,
554
 
                                                         char *result,
555
 
                                                         size_t *result_size);
556
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode-alloc" title="gnutls_srp_base64_decode_alloc ()">gnutls_srp_base64_decode_alloc</a>      (const gnutls_datum_t *b64_data,
557
 
                                                         gnutls_datum_t *result);
 
535
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-server-credentials-function" title="gnutls_srp_set_server_credentials_function ()">gnutls_srp_set_server_credentials_function</a>
 
536
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> cred</code></em>,
 
537
                                                         <em class="parameter"><code><span class="type">gnutls_srp_server_credentials_function</span> *func</code></em>);
 
538
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-srp-set-client-credentials-function" title="gnutls_srp_set_client_credentials_function ()">gnutls_srp_set_client_credentials_function</a>
 
539
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> cred</code></em>,
 
540
                                                         <em class="parameter"><code><span class="type">gnutls_srp_client_credentials_function</span> *func</code></em>);
 
541
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode" title="gnutls_srp_base64_encode ()">gnutls_srp_base64_encode</a>            (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
542
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
543
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
544
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-encode-alloc" title="gnutls_srp_base64_encode_alloc ()">gnutls_srp_base64_encode_alloc</a>      (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
545
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);
 
546
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode" title="gnutls_srp_base64_decode ()">gnutls_srp_base64_decode</a>            (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
547
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
548
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
549
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-srp-base64-decode-alloc" title="gnutls_srp_base64_decode_alloc ()">gnutls_srp_base64_decode_alloc</a>      (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
550
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);
558
551
enum                <a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags">gnutls_psk_key_flags</a>;
559
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-free-client-credentials" title="gnutls_psk_free_client_credentials ()">gnutls_psk_free_client_credentials</a>  (gnutls_psk_client_credentials_t sc);
560
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-client-credentials" title="gnutls_psk_allocate_client_credentials ()">gnutls_psk_allocate_client_credentials</a>
561
 
                                                        (gnutls_psk_client_credentials_t *sc);
562
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials" title="gnutls_psk_set_client_credentials ()">gnutls_psk_set_client_credentials</a>   (gnutls_psk_client_credentials_t res,
563
 
                                                         const char *username,
564
 
                                                         const gnutls_datum_t *key,
565
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags">gnutls_psk_key_flags</a> format);
566
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-free-server-credentials" title="gnutls_psk_free_server_credentials ()">gnutls_psk_free_server_credentials</a>  (gnutls_psk_server_credentials_t sc);
567
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-server-credentials" title="gnutls_psk_allocate_server_credentials ()">gnutls_psk_allocate_server_credentials</a>
568
 
                                                        (gnutls_psk_server_credentials_t *sc);
569
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-file" title="gnutls_psk_set_server_credentials_file ()">gnutls_psk_set_server_credentials_file</a>
570
 
                                                        (gnutls_psk_server_credentials_t res,
571
 
                                                         const char *password_file);
572
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-hint" title="gnutls_psk_set_server_credentials_hint ()">gnutls_psk_set_server_credentials_hint</a>
573
 
                                                        (gnutls_psk_server_credentials_t res,
574
 
                                                         const char *hint);
575
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username" title="gnutls_psk_server_get_username ()">gnutls_psk_server_get_username</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
576
 
const char *        <a class="link" href="gnutls-gnutls.html#gnutls-psk-client-get-hint" title="gnutls_psk_client_get_hint ()">gnutls_psk_client_get_hint</a>          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
577
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function" title="gnutls_psk_set_server_credentials_function ()">gnutls_psk_set_server_credentials_function</a>
578
 
                                                        (gnutls_psk_server_credentials_t cred,
579
 
                                                         gnutls_psk_server_credentials_function *func);
580
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function" title="gnutls_psk_set_client_credentials_function ()">gnutls_psk_set_client_credentials_function</a>
581
 
                                                        (gnutls_psk_client_credentials_t cred,
582
 
                                                         gnutls_psk_client_credentials_function *func);
583
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-hex-encode" title="gnutls_hex_encode ()">gnutls_hex_encode</a>                   (const gnutls_datum_t *data,
584
 
                                                         char *result,
585
 
                                                         size_t *result_size);
586
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-hex-decode" title="gnutls_hex_decode ()">gnutls_hex_decode</a>                   (const gnutls_datum_t *hex_data,
587
 
                                                         char *result,
588
 
                                                         size_t *result_size);
589
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-dh-params" title="gnutls_psk_set_server_dh_params ()">gnutls_psk_set_server_dh_params</a>     (gnutls_psk_server_credentials_t res,
590
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);
591
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-params-function" title="gnutls_psk_set_server_params_function ()">gnutls_psk_set_server_params_function</a>
592
 
                                                        (gnutls_psk_server_credentials_t res,
593
 
                                                         gnutls_params_function *func);
594
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-netconf-derive-key" title="gnutls_psk_netconf_derive_key ()">gnutls_psk_netconf_derive_key</a>       (const char *password,
595
 
                                                         const char *psk_identity,
596
 
                                                         const char *psk_identity_hint,
597
 
                                                         gnutls_datum_t *output_key);
 
552
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-free-client-credentials" title="gnutls_psk_free_client_credentials ()">gnutls_psk_free_client_credentials</a>  (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> sc</code></em>);
 
553
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-client-credentials" title="gnutls_psk_allocate_client_credentials ()">gnutls_psk_allocate_client_credentials</a>
 
554
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> *sc</code></em>);
 
555
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials" title="gnutls_psk_set_client_credentials ()">gnutls_psk_set_client_credentials</a>   (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> res</code></em>,
 
556
                                                         <em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
 
557
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
558
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags"><span class="type">gnutls_psk_key_flags</span></a> format</code></em>);
 
559
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-free-server-credentials" title="gnutls_psk_free_server_credentials ()">gnutls_psk_free_server_credentials</a>  (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> sc</code></em>);
 
560
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-allocate-server-credentials" title="gnutls_psk_allocate_server_credentials ()">gnutls_psk_allocate_server_credentials</a>
 
561
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> *sc</code></em>);
 
562
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-file" title="gnutls_psk_set_server_credentials_file ()">gnutls_psk_set_server_credentials_file</a>
 
563
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
564
                                                         <em class="parameter"><code>const <span class="type">char</span> *password_file</code></em>);
 
565
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-hint" title="gnutls_psk_set_server_credentials_hint ()">gnutls_psk_set_server_credentials_hint</a>
 
566
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
567
                                                         <em class="parameter"><code>const <span class="type">char</span> *hint</code></em>);
 
568
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-psk-server-get-username" title="gnutls_psk_server_get_username ()">gnutls_psk_server_get_username</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>);
 
569
const <span class="returnvalue">char</span> *        <a class="link" href="gnutls-gnutls.html#gnutls-psk-client-get-hint" title="gnutls_psk_client_get_hint ()">gnutls_psk_client_get_hint</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>);
 
570
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-credentials-function" title="gnutls_psk_set_server_credentials_function ()">gnutls_psk_set_server_credentials_function</a>
 
571
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> cred</code></em>,
 
572
                                                         <em class="parameter"><code><span class="type">gnutls_psk_server_credentials_function</span> *func</code></em>);
 
573
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-client-credentials-function" title="gnutls_psk_set_client_credentials_function ()">gnutls_psk_set_client_credentials_function</a>
 
574
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> cred</code></em>,
 
575
                                                         <em class="parameter"><code><span class="type">gnutls_psk_client_credentials_function</span> *func</code></em>);
 
576
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-hex-encode" title="gnutls_hex_encode ()">gnutls_hex_encode</a>                   (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
577
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
578
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
579
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-hex-decode" title="gnutls_hex_decode ()">gnutls_hex_decode</a>                   (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *hex_data</code></em>,
 
580
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
581
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
582
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-dh-params" title="gnutls_psk_set_server_dh_params ()">gnutls_psk_set_server_dh_params</a>     (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
583
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);
 
584
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-server-params-function" title="gnutls_psk_set_server_params_function ()">gnutls_psk_set_server_params_function</a>
 
585
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
586
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);
 
587
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-psk-netconf-derive-key" title="gnutls_psk_netconf_derive_key ()">gnutls_psk_netconf_derive_key</a>       (<em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
588
                                                         <em class="parameter"><code>const <span class="type">char</span> *psk_identity</code></em>,
 
589
                                                         <em class="parameter"><code>const <span class="type">char</span> *psk_identity_hint</code></em>,
 
590
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *output_key</code></em>);
598
591
enum                <a class="link" href="gnutls-gnutls.html#gnutls-x509-subject-alt-name-t" title="enum gnutls_x509_subject_alt_name_t">gnutls_x509_subject_alt_name_t</a>;
599
592
struct              <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-int" title="struct gnutls_openpgp_crt_int">gnutls_openpgp_crt_int</a>;
600
593
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t">gnutls_openpgp_crt_t</a>;
601
594
struct              <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-int" title="struct gnutls_openpgp_privkey_int">gnutls_openpgp_privkey_int</a>;
602
595
typedef             <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t">gnutls_openpgp_privkey_t</a>;
603
 
<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-auth-get-type" title="gnutls_auth_get_type ()">gnutls_auth_get_type</a>         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
604
 
<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-auth-server-get-type" title="gnutls_auth_server_get_type ()">gnutls_auth_server_get_type</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
605
 
<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>  <a class="link" href="gnutls-gnutls.html#gnutls-auth-client-get-type" title="gnutls_auth_client_get_type ()">gnutls_auth_client_get_type</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
606
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-dh-set-prime-bits" title="gnutls_dh_set_prime_bits ()">gnutls_dh_set_prime_bits</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
607
 
                                                         unsigned int bits);
608
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-secret-bits" title="gnutls_dh_get_secret_bits ()">gnutls_dh_get_secret_bits</a>           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
609
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-peers-public-bits" title="gnutls_dh_get_peers_public_bits ()">gnutls_dh_get_peers_public_bits</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
610
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-prime-bits" title="gnutls_dh_get_prime_bits ()">gnutls_dh_get_prime_bits</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
611
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-group" title="gnutls_dh_get_group ()">gnutls_dh_get_group</a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
612
 
                                                         gnutls_datum_t *raw_gen,
613
 
                                                         gnutls_datum_t *raw_prime);
614
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-pubkey" title="gnutls_dh_get_pubkey ()">gnutls_dh_get_pubkey</a>                (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
615
 
                                                         gnutls_datum_t *raw_key);
616
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-export-get-pubkey" title="gnutls_rsa_export_get_pubkey ()">gnutls_rsa_export_get_pubkey</a>        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
617
 
                                                         gnutls_datum_t *exponent,
618
 
                                                         gnutls_datum_t *modulus);
619
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-export-get-modulus-bits" title="gnutls_rsa_export_get_modulus_bits ()">gnutls_rsa_export_get_modulus_bits</a>  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
620
 
int                 (<a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()">*gnutls_sign_func</a>)                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
621
 
                                                         void *userdata,
622
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a> cert_type,
623
 
                                                         const gnutls_datum_t *cert,
624
 
                                                         const gnutls_datum_t *hash,
625
 
                                                         gnutls_datum_t *signature);
626
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-sign-callback-set" title="gnutls_sign_callback_set ()">gnutls_sign_callback_set</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
627
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()">gnutls_sign_func</a> sign_func,
628
 
                                                         void *userdata);
629
 
<a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()">gnutls_sign_func</a>    <a class="link" href="gnutls-gnutls.html#gnutls-sign-callback-get" title="gnutls_sign_callback_get ()">gnutls_sign_callback_get</a>            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
630
 
                                                         void **userdata);
631
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-client-set-retrieve-function" title="gnutls_certificate_client_set_retrieve_function ()">gnutls_certificate_client_set_retrieve_function</a>
632
 
                                                        (gnutls_certificate_credentials_t cred,
633
 
                                                         gnutls_certificate_client_retrieve_function *func);
634
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-retrieve-function" title="gnutls_certificate_server_set_retrieve_function ()">gnutls_certificate_server_set_retrieve_function</a>
635
 
                                                        (gnutls_certificate_credentials_t cred,
636
 
                                                         gnutls_certificate_server_retrieve_function *func);
637
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-request" title="gnutls_certificate_server_set_request ()">gnutls_certificate_server_set_request</a>
638
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
639
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t">gnutls_certificate_request_t</a> req);
640
 
const gnutls_datum_t * <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()">gnutls_certificate_get_peers</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
641
 
                                                         unsigned int *list_size);
642
 
const gnutls_datum_t * <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-ours" title="gnutls_certificate_get_ours ()">gnutls_certificate_get_ours</a>      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
643
 
time_t              <a class="link" href="gnutls-gnutls.html#gnutls-certificate-activation-time-peers" title="gnutls_certificate_activation_time_peers ()">gnutls_certificate_activation_time_peers</a>
644
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
645
 
time_t              <a class="link" href="gnutls-gnutls.html#gnutls-certificate-expiration-time-peers" title="gnutls_certificate_expiration_time_peers ()">gnutls_certificate_expiration_time_peers</a>
646
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
647
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-client-get-request-status" title="gnutls_certificate_client_get_request_status ()">gnutls_certificate_client_get_request_status</a>
648
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
649
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()">gnutls_certificate_verify_peers2</a>    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
650
 
                                                         unsigned int *status);
651
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()">gnutls_certificate_verify_peers</a>     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);
652
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode" title="gnutls_pem_base64_encode ()">gnutls_pem_base64_encode</a>            (const char *msg,
653
 
                                                         const gnutls_datum_t *data,
654
 
                                                         char *result,
655
 
                                                         size_t *result_size);
656
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode" title="gnutls_pem_base64_decode ()">gnutls_pem_base64_decode</a>            (const char *header,
657
 
                                                         const gnutls_datum_t *b64_data,
658
 
                                                         unsigned char *result,
659
 
                                                         size_t *result_size);
660
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode-alloc" title="gnutls_pem_base64_encode_alloc ()">gnutls_pem_base64_encode_alloc</a>      (const char *msg,
661
 
                                                         const gnutls_datum_t *data,
662
 
                                                         gnutls_datum_t *result);
663
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode-alloc" title="gnutls_pem_base64_decode_alloc ()">gnutls_pem_base64_decode_alloc</a>      (const char *header,
664
 
                                                         const gnutls_datum_t *b64_data,
665
 
                                                         gnutls_datum_t *result);
666
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE--CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE">GNUTLS_KEY_DIGITAL_SIGNATURE</a>
667
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION--CAPS" title="GNUTLS_KEY_NON_REPUDIATION">GNUTLS_KEY_NON_REPUDIATION</a>
668
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT--CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT">GNUTLS_KEY_KEY_ENCIPHERMENT</a>
669
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT--CAPS" title="GNUTLS_KEY_DATA_ENCIPHERMENT">GNUTLS_KEY_DATA_ENCIPHERMENT</a>
670
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT--CAPS" title="GNUTLS_KEY_KEY_AGREEMENT">GNUTLS_KEY_KEY_AGREEMENT</a>
671
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN--CAPS" title="GNUTLS_KEY_KEY_CERT_SIGN">GNUTLS_KEY_KEY_CERT_SIGN</a>
672
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN--CAPS" title="GNUTLS_KEY_CRL_SIGN">GNUTLS_KEY_CRL_SIGN</a>
673
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY--CAPS" title="GNUTLS_KEY_ENCIPHER_ONLY">GNUTLS_KEY_ENCIPHER_ONLY</a>
674
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY--CAPS" title="GNUTLS_KEY_DECIPHER_ONLY">GNUTLS_KEY_DECIPHER_ONLY</a>
675
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-params-function" title="gnutls_certificate_set_params_function ()">gnutls_certificate_set_params_function</a>
676
 
                                                        (gnutls_certificate_credentials_t res,
677
 
                                                         gnutls_params_function *func);
678
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-anon-set-params-function" title="gnutls_anon_set_params_function ()">gnutls_anon_set_params_function</a>     (gnutls_anon_server_credentials_t res,
679
 
                                                         gnutls_params_function *func);
680
 
void                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-params-function" title="gnutls_psk_set_params_function ()">gnutls_psk_set_params_function</a>      (gnutls_psk_server_credentials_t res,
681
 
                                                         gnutls_params_function *func);
682
 
int                 <a class="link" href="gnutls-gnutls.html#gnutls-hex2bin" title="gnutls_hex2bin ()">gnutls_hex2bin</a>                      (const char *hex_data,
683
 
                                                         size_t hex_size,
684
 
                                                         char *bin_data,
685
 
                                                         size_t *bin_size);
686
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS--CAPS" title="GNUTLS_E_SUCCESS">GNUTLS_E_SUCCESS</a>
687
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM--CAPS" title="GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM">GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</a>
688
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE--CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE">GNUTLS_E_UNKNOWN_CIPHER_TYPE</a>
689
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET--CAPS" title="GNUTLS_E_LARGE_PACKET">GNUTLS_E_LARGE_PACKET</a>
690
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-VERSION-PACKET--CAPS" title="GNUTLS_E_UNSUPPORTED_VERSION_PACKET">GNUTLS_E_UNSUPPORTED_VERSION_PACKET</a>
691
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET-LENGTH--CAPS" title="GNUTLS_E_UNEXPECTED_PACKET_LENGTH">GNUTLS_E_UNEXPECTED_PACKET_LENGTH</a>
692
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-SESSION--CAPS" title="GNUTLS_E_INVALID_SESSION">GNUTLS_E_INVALID_SESSION</a>
693
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED--CAPS" title="GNUTLS_E_FATAL_ALERT_RECEIVED">GNUTLS_E_FATAL_ALERT_RECEIVED</a>
694
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET--CAPS" title="GNUTLS_E_UNEXPECTED_PACKET">GNUTLS_E_UNEXPECTED_PACKET</a>
695
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED--CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED">GNUTLS_E_WARNING_ALERT_RECEIVED</a>
696
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ERROR-IN-FINISHED-PACKET--CAPS" title="GNUTLS_E_ERROR_IN_FINISHED_PACKET">GNUTLS_E_ERROR_IN_FINISHED_PACKET</a>
697
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET--CAPS" title="GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET">GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</a>
698
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-SUITE--CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_SUITE">GNUTLS_E_UNKNOWN_CIPHER_SUITE</a>
699
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNWANTED-ALGORITHM--CAPS" title="GNUTLS_E_UNWANTED_ALGORITHM">GNUTLS_E_UNWANTED_ALGORITHM</a>
700
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-SCAN-FAILED--CAPS" title="GNUTLS_E_MPI_SCAN_FAILED">GNUTLS_E_MPI_SCAN_FAILED</a>
701
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED--CAPS" title="GNUTLS_E_DECRYPTION_FAILED">GNUTLS_E_DECRYPTION_FAILED</a>
702
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MEMORY-ERROR--CAPS" title="GNUTLS_E_MEMORY_ERROR">GNUTLS_E_MEMORY_ERROR</a>
703
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECOMPRESSION-FAILED--CAPS" title="GNUTLS_E_DECOMPRESSION_FAILED">GNUTLS_E_DECOMPRESSION_FAILED</a>
704
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-COMPRESSION-FAILED--CAPS" title="GNUTLS_E_COMPRESSION_FAILED">GNUTLS_E_COMPRESSION_FAILED</a>
705
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN">GNUTLS_E_AGAIN</a>
706
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED--CAPS" title="GNUTLS_E_EXPIRED">GNUTLS_E_EXPIRED</a>
707
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ERROR--CAPS" title="GNUTLS_E_DB_ERROR">GNUTLS_E_DB_ERROR</a>
708
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-ERROR--CAPS" title="GNUTLS_E_SRP_PWD_ERROR">GNUTLS_E_SRP_PWD_ERROR</a>
709
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CREDENTIALS--CAPS" title="GNUTLS_E_INSUFFICIENT_CREDENTIALS">GNUTLS_E_INSUFFICIENT_CREDENTIALS</a>
710
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CREDENTIALS--CAPS" title="GNUTLS_E_INSUFICIENT_CREDENTIALS">GNUTLS_E_INSUFICIENT_CREDENTIALS</a>
711
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CRED--CAPS" title="GNUTLS_E_INSUFFICIENT_CRED">GNUTLS_E_INSUFFICIENT_CRED</a>
712
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CRED--CAPS" title="GNUTLS_E_INSUFICIENT_CRED">GNUTLS_E_INSUFICIENT_CRED</a>
713
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-HASH-FAILED--CAPS" title="GNUTLS_E_HASH_FAILED">GNUTLS_E_HASH_FAILED</a>
714
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-DECODING-ERROR--CAPS" title="GNUTLS_E_BASE64_DECODING_ERROR">GNUTLS_E_BASE64_DECODING_ERROR</a>
715
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-PRINT-FAILED--CAPS" title="GNUTLS_E_MPI_PRINT_FAILED">GNUTLS_E_MPI_PRINT_FAILED</a>
716
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE--CAPS" title="GNUTLS_E_REHANDSHAKE">GNUTLS_E_REHANDSHAKE</a>
717
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA--CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA">GNUTLS_E_GOT_APPLICATION_DATA</a>
718
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-LIMIT-REACHED--CAPS" title="GNUTLS_E_RECORD_LIMIT_REACHED">GNUTLS_E_RECORD_LIMIT_REACHED</a>
719
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ENCRYPTION-FAILED--CAPS" title="GNUTLS_E_ENCRYPTION_FAILED">GNUTLS_E_ENCRYPTION_FAILED</a>
720
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-ENCRYPTION-FAILED--CAPS" title="GNUTLS_E_PK_ENCRYPTION_FAILED">GNUTLS_E_PK_ENCRYPTION_FAILED</a>
721
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-DECRYPTION-FAILED--CAPS" title="GNUTLS_E_PK_DECRYPTION_FAILED">GNUTLS_E_PK_DECRYPTION_FAILED</a>
722
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIGN-FAILED--CAPS" title="GNUTLS_E_PK_SIGN_FAILED">GNUTLS_E_PK_SIGN_FAILED</a>
723
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION--CAPS" title="GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION">GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</a>
724
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEY-USAGE-VIOLATION--CAPS" title="GNUTLS_E_KEY_USAGE_VIOLATION">GNUTLS_E_KEY_USAGE_VIOLATION</a>
725
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND--CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND">GNUTLS_E_NO_CERTIFICATE_FOUND</a>
726
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST--CAPS" title="GNUTLS_E_INVALID_REQUEST">GNUTLS_E_INVALID_REQUEST</a>
727
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER">GNUTLS_E_SHORT_MEMORY_BUFFER</a>
728
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED">GNUTLS_E_INTERRUPTED</a>
729
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PUSH-ERROR--CAPS" title="GNUTLS_E_PUSH_ERROR">GNUTLS_E_PUSH_ERROR</a>
730
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PULL-ERROR--CAPS" title="GNUTLS_E_PULL_ERROR">GNUTLS_E_PULL_ERROR</a>
731
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER--CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER">GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</a>
732
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE--CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</a>
733
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS1-WRONG-PAD--CAPS" title="GNUTLS_E_PKCS1_WRONG_PAD">GNUTLS_E_PKCS1_WRONG_PAD</a>
734
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION--CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION">GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</a>
735
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERNAL-ERROR--CAPS" title="GNUTLS_E_INTERNAL_ERROR">GNUTLS_E_INTERNAL_ERROR</a>
736
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE--CAPS" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE">GNUTLS_E_DH_PRIME_UNACCEPTABLE</a>
737
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-FILE-ERROR--CAPS" title="GNUTLS_E_FILE_ERROR">GNUTLS_E_FILE_ERROR</a>
738
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-EMPTY-PACKETS--CAPS" title="GNUTLS_E_TOO_MANY_EMPTY_PACKETS">GNUTLS_E_TOO_MANY_EMPTY_PACKETS</a>
739
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PK-ALGORITHM--CAPS" title="GNUTLS_E_UNKNOWN_PK_ALGORITHM">GNUTLS_E_UNKNOWN_PK_ALGORITHM</a>
740
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INIT-LIBEXTRA--CAPS" title="GNUTLS_E_INIT_LIBEXTRA">GNUTLS_E_INIT_LIBEXTRA</a>
741
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LIBRARY-VERSION-MISMATCH--CAPS" title="GNUTLS_E_LIBRARY_VERSION_MISMATCH">GNUTLS_E_LIBRARY_VERSION_MISMATCH</a>
742
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-RSA-PARAMS--CAPS" title="GNUTLS_E_NO_TEMPORARY_RSA_PARAMS">GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</a>
743
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LZO-INIT-FAILED--CAPS" title="GNUTLS_E_LZO_INIT_FAILED">GNUTLS_E_LZO_INIT_FAILED</a>
744
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-COMPRESSION-ALGORITHMS--CAPS" title="GNUTLS_E_NO_COMPRESSION_ALGORITHMS">GNUTLS_E_NO_COMPRESSION_ALGORITHMS</a>
745
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CIPHER-SUITES--CAPS" title="GNUTLS_E_NO_CIPHER_SUITES">GNUTLS_E_NO_CIPHER_SUITES</a>
746
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-GETKEY-FAILED--CAPS" title="GNUTLS_E_OPENPGP_GETKEY_FAILED">GNUTLS_E_OPENPGP_GETKEY_FAILED</a>
747
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED--CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED">GNUTLS_E_PK_SIG_VERIFY_FAILED</a>
748
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-SRP-USERNAME--CAPS" title="GNUTLS_E_ILLEGAL_SRP_USERNAME">GNUTLS_E_ILLEGAL_SRP_USERNAME</a>
749
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-PARSING-ERROR--CAPS" title="GNUTLS_E_SRP_PWD_PARSING_ERROR">GNUTLS_E_SRP_PWD_PARSING_ERROR</a>
750
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-DH-PARAMS--CAPS" title="GNUTLS_E_NO_TEMPORARY_DH_PARAMS">GNUTLS_E_NO_TEMPORARY_DH_PARAMS</a>
751
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-ELEMENT-NOT-FOUND--CAPS" title="GNUTLS_E_ASN1_ELEMENT_NOT_FOUND">GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</a>
752
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND--CAPS" title="GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND">GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</a>
753
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-ERROR--CAPS" title="GNUTLS_E_ASN1_DER_ERROR">GNUTLS_E_ASN1_DER_ERROR</a>
754
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND--CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND">GNUTLS_E_ASN1_VALUE_NOT_FOUND</a>
755
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-GENERIC-ERROR--CAPS" title="GNUTLS_E_ASN1_GENERIC_ERROR">GNUTLS_E_ASN1_GENERIC_ERROR</a>
756
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-VALID--CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_VALID">GNUTLS_E_ASN1_VALUE_NOT_VALID</a>
757
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-ERROR--CAPS" title="GNUTLS_E_ASN1_TAG_ERROR">GNUTLS_E_ASN1_TAG_ERROR</a>
758
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-IMPLICIT--CAPS" title="GNUTLS_E_ASN1_TAG_IMPLICIT">GNUTLS_E_ASN1_TAG_IMPLICIT</a>
759
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TYPE-ANY-ERROR--CAPS" title="GNUTLS_E_ASN1_TYPE_ANY_ERROR">GNUTLS_E_ASN1_TYPE_ANY_ERROR</a>
760
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-SYNTAX-ERROR--CAPS" title="GNUTLS_E_ASN1_SYNTAX_ERROR">GNUTLS_E_ASN1_SYNTAX_ERROR</a>
761
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-OVERFLOW--CAPS" title="GNUTLS_E_ASN1_DER_OVERFLOW">GNUTLS_E_ASN1_DER_OVERFLOW</a>
762
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-UID-REVOKED--CAPS" title="GNUTLS_E_OPENPGP_UID_REVOKED">GNUTLS_E_OPENPGP_UID_REVOKED</a>
763
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-ERROR--CAPS" title="GNUTLS_E_CERTIFICATE_ERROR">GNUTLS_E_CERTIFICATE_ERROR</a>
764
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-CERTIFICATE-ERROR--CAPS" title="GNUTLS_E_X509_CERTIFICATE_ERROR">GNUTLS_E_X509_CERTIFICATE_ERROR</a>
765
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH--CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</a>
766
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE--CAPS" title="GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE">GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</a>
767
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNKNOWN-SAN--CAPS" title="GNUTLS_E_X509_UNKNOWN_SAN">GNUTLS_E_X509_UNKNOWN_SAN</a>
768
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED--CAPS" title="GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED">GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</a>
769
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE--CAPS" title="GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE">GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</a>
770
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM--CAPS" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM">GNUTLS_E_UNKNOWN_HASH_ALGORITHM</a>
771
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE--CAPS" title="GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE">GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</a>
772
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE--CAPS" title="GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE">GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</a>
773
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD--CAPS" title="GNUTLS_E_INVALID_PASSWORD">GNUTLS_E_INVALID_PASSWORD</a>
774
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MAC-VERIFY-FAILED--CAPS" title="GNUTLS_E_MAC_VERIFY_FAILED">GNUTLS_E_MAC_VERIFY_FAILED</a>
775
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CONSTRAINT-ERROR--CAPS" title="GNUTLS_E_CONSTRAINT_ERROR">GNUTLS_E_CONSTRAINT_ERROR</a>
776
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</a>
777
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED--CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</a>
778
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED--CAPS" title="GNUTLS_E_IA_VERIFY_FAILED">GNUTLS_E_IA_VERIFY_FAILED</a>
779
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM--CAPS" title="GNUTLS_E_UNKNOWN_ALGORITHM">GNUTLS_E_UNKNOWN_ALGORITHM</a>
780
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-ENCODING-ERROR--CAPS" title="GNUTLS_E_BASE64_ENCODING_ERROR">GNUTLS_E_BASE64_ENCODING_ERROR</a>
781
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY--CAPS" title="GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY">GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</a>
782
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY--CAPS" title="GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY">GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</a>
783
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY--CAPS" title="GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY">GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</a>
784
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-KEYRING-ERROR--CAPS" title="GNUTLS_E_OPENPGP_KEYRING_ERROR">GNUTLS_E_OPENPGP_KEYRING_ERROR</a>
785
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-OID--CAPS" title="GNUTLS_E_X509_UNSUPPORTED_OID">GNUTLS_E_X509_UNSUPPORTED_OID</a>
786
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RANDOM-FAILED--CAPS" title="GNUTLS_E_RANDOM_FAILED">GNUTLS_E_RANDOM_FAILED</a>
787
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR--CAPS" title="GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR">GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</a>
788
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-SUBKEY-ERROR--CAPS" title="GNUTLS_E_OPENPGP_SUBKEY_ERROR">GNUTLS_E_OPENPGP_SUBKEY_ERROR</a>
789
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTO-ALREADY-REGISTERED--CAPS" title="GNUTLS_E_CRYPTO_ALREADY_REGISTERED">GNUTLS_E_CRYPTO_ALREADY_REGISTERED</a>
790
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE--CAPS" title="GNUTLS_E_HANDSHAKE_TOO_LARGE">GNUTLS_E_HANDSHAKE_TOO_LARGE</a>
791
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE--CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE">GNUTLS_E_UNIMPLEMENTED_FEATURE</a>
792
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MAX--CAPS" title="GNUTLS_E_APPLICATION_ERROR_MAX">GNUTLS_E_APPLICATION_ERROR_MAX</a>
793
 
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MIN--CAPS" title="GNUTLS_E_APPLICATION_ERROR_MIN">GNUTLS_E_APPLICATION_ERROR_MIN</a>
 
596
<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="returnvalue">gnutls_credentials_type_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-auth-get-type" title="gnutls_auth_get_type ()">gnutls_auth_get_type</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>);
 
597
<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="returnvalue">gnutls_credentials_type_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-auth-server-get-type" title="gnutls_auth_server_get_type ()">gnutls_auth_server_get_type</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>);
 
598
<a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="returnvalue">gnutls_credentials_type_t</span></a>  <a class="link" href="gnutls-gnutls.html#gnutls-auth-client-get-type" title="gnutls_auth_client_get_type ()">gnutls_auth_client_get_type</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>);
 
599
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-dh-set-prime-bits" title="gnutls_dh_set_prime_bits ()">gnutls_dh_set_prime_bits</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>,
 
600
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> bits</code></em>);
 
601
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-secret-bits" title="gnutls_dh_get_secret_bits ()">gnutls_dh_get_secret_bits</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>);
 
602
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-peers-public-bits" title="gnutls_dh_get_peers_public_bits ()">gnutls_dh_get_peers_public_bits</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>);
 
603
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-prime-bits" title="gnutls_dh_get_prime_bits ()">gnutls_dh_get_prime_bits</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>);
 
604
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-group" title="gnutls_dh_get_group ()">gnutls_dh_get_group</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>,
 
605
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *raw_gen</code></em>,
 
606
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *raw_prime</code></em>);
 
607
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-dh-get-pubkey" title="gnutls_dh_get_pubkey ()">gnutls_dh_get_pubkey</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>,
 
608
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *raw_key</code></em>);
 
609
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-export-get-pubkey" title="gnutls_rsa_export_get_pubkey ()">gnutls_rsa_export_get_pubkey</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>,
 
610
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *exponent</code></em>,
 
611
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *modulus</code></em>);
 
612
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-rsa-export-get-modulus-bits" title="gnutls_rsa_export_get_modulus_bits ()">gnutls_rsa_export_get_modulus_bits</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>);
 
613
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (<a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()">*gnutls_sign_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>,
 
614
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>,
 
615
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> cert_type</code></em>,
 
616
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
617
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *hash</code></em>,
 
618
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *signature</code></em>);
 
619
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-sign-callback-set" title="gnutls_sign_callback_set ()">gnutls_sign_callback_set</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>,
 
620
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()"><span class="type">gnutls_sign_func</span></a> sign_func</code></em>,
 
621
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);
 
622
<a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()"><span class="returnvalue">gnutls_sign_func</span></a>    <a class="link" href="gnutls-gnutls.html#gnutls-sign-callback-get" title="gnutls_sign_callback_get ()">gnutls_sign_callback_get</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>,
 
623
                                                         <em class="parameter"><code><span class="type">void</span> **userdata</code></em>);
 
624
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-client-set-retrieve-function" title="gnutls_certificate_client_set_retrieve_function ()">gnutls_certificate_client_set_retrieve_function</a>
 
625
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>,
 
626
                                                         <em class="parameter"><code><span class="type">gnutls_certificate_client_retrieve_function</span> *func</code></em>);
 
627
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-retrieve-function" title="gnutls_certificate_server_set_retrieve_function ()">gnutls_certificate_server_set_retrieve_function</a>
 
628
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>,
 
629
                                                         <em class="parameter"><code><span class="type">gnutls_certificate_server_retrieve_function</span> *func</code></em>);
 
630
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-server-set-request" title="gnutls_certificate_server_set_request ()">gnutls_certificate_server_set_request</a>
 
631
                                                        (<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>,
 
632
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t"><span class="type">gnutls_certificate_request_t</span></a> req</code></em>);
 
633
const <span class="returnvalue">gnutls_datum_t</span> * <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-peers" title="gnutls_certificate_get_peers ()">gnutls_certificate_get_peers</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>,
 
634
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list_size</code></em>);
 
635
const <span class="returnvalue">gnutls_datum_t</span> * <a class="link" href="gnutls-gnutls.html#gnutls-certificate-get-ours" title="gnutls_certificate_get_ours ()">gnutls_certificate_get_ours</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>);
 
636
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-gnutls.html#gnutls-certificate-activation-time-peers" title="gnutls_certificate_activation_time_peers ()">gnutls_certificate_activation_time_peers</a>
 
637
                                                        (<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>);
 
638
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-gnutls.html#gnutls-certificate-expiration-time-peers" title="gnutls_certificate_expiration_time_peers ()">gnutls_certificate_expiration_time_peers</a>
 
639
                                                        (<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>);
 
640
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-client-get-request-status" title="gnutls_certificate_client_get_request_status ()">gnutls_certificate_client_get_request_status</a>
 
641
                                                        (<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>);
 
642
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()">gnutls_certificate_verify_peers2</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>,
 
643
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *status</code></em>);
 
644
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers" title="gnutls_certificate_verify_peers ()">gnutls_certificate_verify_peers</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>);
 
645
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode" title="gnutls_pem_base64_encode ()">gnutls_pem_base64_encode</a>            (<em class="parameter"><code>const <span class="type">char</span> *msg</code></em>,
 
646
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
647
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
648
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
649
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode" title="gnutls_pem_base64_decode ()">gnutls_pem_base64_decode</a>            (<em class="parameter"><code>const <span class="type">char</span> *header</code></em>,
 
650
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
651
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *result</code></em>,
 
652
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);
 
653
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-encode-alloc" title="gnutls_pem_base64_encode_alloc ()">gnutls_pem_base64_encode_alloc</a>      (<em class="parameter"><code>const <span class="type">char</span> *msg</code></em>,
 
654
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
655
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);
 
656
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-pem-base64-decode-alloc" title="gnutls_pem_base64_decode_alloc ()">gnutls_pem_base64_decode_alloc</a>      (<em class="parameter"><code>const <span class="type">char</span> *header</code></em>,
 
657
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
658
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);
 
659
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE">GNUTLS_KEY_DIGITAL_SIGNATURE</a>
 
660
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-NON-REPUDIATION:CAPS" title="GNUTLS_KEY_NON_REPUDIATION">GNUTLS_KEY_NON_REPUDIATION</a>
 
661
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT">GNUTLS_KEY_KEY_ENCIPHERMENT</a>
 
662
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_DATA_ENCIPHERMENT">GNUTLS_KEY_DATA_ENCIPHERMENT</a>
 
663
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-AGREEMENT:CAPS" title="GNUTLS_KEY_KEY_AGREEMENT">GNUTLS_KEY_KEY_AGREEMENT</a>
 
664
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-CERT-SIGN:CAPS" title="GNUTLS_KEY_KEY_CERT_SIGN">GNUTLS_KEY_KEY_CERT_SIGN</a>
 
665
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-CRL-SIGN:CAPS" title="GNUTLS_KEY_CRL_SIGN">GNUTLS_KEY_CRL_SIGN</a>
 
666
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-ENCIPHER-ONLY:CAPS" title="GNUTLS_KEY_ENCIPHER_ONLY">GNUTLS_KEY_ENCIPHER_ONLY</a>
 
667
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DECIPHER-ONLY:CAPS" title="GNUTLS_KEY_DECIPHER_ONLY">GNUTLS_KEY_DECIPHER_ONLY</a>
 
668
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-params-function" title="gnutls_certificate_set_params_function ()">gnutls_certificate_set_params_function</a>
 
669
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
670
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);
 
671
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-anon-set-params-function" title="gnutls_anon_set_params_function ()">gnutls_anon_set_params_function</a>     (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>,
 
672
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);
 
673
<span class="returnvalue">void</span>                <a class="link" href="gnutls-gnutls.html#gnutls-psk-set-params-function" title="gnutls_psk_set_params_function ()">gnutls_psk_set_params_function</a>      (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
674
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);
 
675
<a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-gnutls.html#gnutls-hex2bin" title="gnutls_hex2bin ()">gnutls_hex2bin</a>                      (<em class="parameter"><code>const <span class="type">char</span> *hex_data</code></em>,
 
676
                                                         <em class="parameter"><code><span class="type">size_t</span> hex_size</code></em>,
 
677
                                                         <em class="parameter"><code><span class="type">char</span> *bin_data</code></em>,
 
678
                                                         <em class="parameter"><code><span class="type">size_t</span> *bin_size</code></em>);
 
679
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS">GNUTLS_E_SUCCESS</a>
 
680
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM">GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</a>
 
681
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE">GNUTLS_E_UNKNOWN_CIPHER_TYPE</a>
 
682
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LARGE-PACKET:CAPS" title="GNUTLS_E_LARGE_PACKET">GNUTLS_E_LARGE_PACKET</a>
 
683
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-VERSION-PACKET:CAPS" title="GNUTLS_E_UNSUPPORTED_VERSION_PACKET">GNUTLS_E_UNSUPPORTED_VERSION_PACKET</a>
 
684
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET-LENGTH:CAPS" title="GNUTLS_E_UNEXPECTED_PACKET_LENGTH">GNUTLS_E_UNEXPECTED_PACKET_LENGTH</a>
 
685
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-SESSION:CAPS" title="GNUTLS_E_INVALID_SESSION">GNUTLS_E_INVALID_SESSION</a>
 
686
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS" title="GNUTLS_E_FATAL_ALERT_RECEIVED">GNUTLS_E_FATAL_ALERT_RECEIVED</a>
 
687
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-PACKET:CAPS" title="GNUTLS_E_UNEXPECTED_PACKET">GNUTLS_E_UNEXPECTED_PACKET</a>
 
688
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED">GNUTLS_E_WARNING_ALERT_RECEIVED</a>
 
689
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ERROR-IN-FINISHED-PACKET:CAPS" title="GNUTLS_E_ERROR_IN_FINISHED_PACKET">GNUTLS_E_ERROR_IN_FINISHED_PACKET</a>
 
690
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET:CAPS" title="GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET">GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</a>
 
691
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS" title="GNUTLS_E_UNKNOWN_CIPHER_SUITE">GNUTLS_E_UNKNOWN_CIPHER_SUITE</a>
 
692
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNWANTED-ALGORITHM:CAPS" title="GNUTLS_E_UNWANTED_ALGORITHM">GNUTLS_E_UNWANTED_ALGORITHM</a>
 
693
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-SCAN-FAILED:CAPS" title="GNUTLS_E_MPI_SCAN_FAILED">GNUTLS_E_MPI_SCAN_FAILED</a>
 
694
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_DECRYPTION_FAILED">GNUTLS_E_DECRYPTION_FAILED</a>
 
695
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MEMORY-ERROR:CAPS" title="GNUTLS_E_MEMORY_ERROR">GNUTLS_E_MEMORY_ERROR</a>
 
696
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DECOMPRESSION-FAILED:CAPS" title="GNUTLS_E_DECOMPRESSION_FAILED">GNUTLS_E_DECOMPRESSION_FAILED</a>
 
697
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-COMPRESSION-FAILED:CAPS" title="GNUTLS_E_COMPRESSION_FAILED">GNUTLS_E_COMPRESSION_FAILED</a>
 
698
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN:CAPS" title="GNUTLS_E_AGAIN">GNUTLS_E_AGAIN</a>
 
699
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED:CAPS" title="GNUTLS_E_EXPIRED">GNUTLS_E_EXPIRED</a>
 
700
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DB-ERROR:CAPS" title="GNUTLS_E_DB_ERROR">GNUTLS_E_DB_ERROR</a>
 
701
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-ERROR:CAPS" title="GNUTLS_E_SRP_PWD_ERROR">GNUTLS_E_SRP_PWD_ERROR</a>
 
702
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CREDENTIALS:CAPS" title="GNUTLS_E_INSUFFICIENT_CREDENTIALS">GNUTLS_E_INSUFFICIENT_CREDENTIALS</a>
 
703
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CREDENTIALS:CAPS" title="GNUTLS_E_INSUFICIENT_CREDENTIALS">GNUTLS_E_INSUFICIENT_CREDENTIALS</a>
 
704
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFFICIENT-CRED:CAPS" title="GNUTLS_E_INSUFFICIENT_CRED">GNUTLS_E_INSUFFICIENT_CRED</a>
 
705
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INSUFICIENT-CRED:CAPS" title="GNUTLS_E_INSUFICIENT_CRED">GNUTLS_E_INSUFICIENT_CRED</a>
 
706
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-HASH-FAILED:CAPS" title="GNUTLS_E_HASH_FAILED">GNUTLS_E_HASH_FAILED</a>
 
707
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-DECODING-ERROR:CAPS" title="GNUTLS_E_BASE64_DECODING_ERROR">GNUTLS_E_BASE64_DECODING_ERROR</a>
 
708
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MPI-PRINT-FAILED:CAPS" title="GNUTLS_E_MPI_PRINT_FAILED">GNUTLS_E_MPI_PRINT_FAILED</a>
 
709
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE:CAPS" title="GNUTLS_E_REHANDSHAKE">GNUTLS_E_REHANDSHAKE</a>
 
710
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA:CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA">GNUTLS_E_GOT_APPLICATION_DATA</a>
 
711
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECORD-LIMIT-REACHED:CAPS" title="GNUTLS_E_RECORD_LIMIT_REACHED">GNUTLS_E_RECORD_LIMIT_REACHED</a>
 
712
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ENCRYPTION-FAILED:CAPS" title="GNUTLS_E_ENCRYPTION_FAILED">GNUTLS_E_ENCRYPTION_FAILED</a>
 
713
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-ENCRYPTION-FAILED:CAPS" title="GNUTLS_E_PK_ENCRYPTION_FAILED">GNUTLS_E_PK_ENCRYPTION_FAILED</a>
 
714
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-DECRYPTION-FAILED:CAPS" title="GNUTLS_E_PK_DECRYPTION_FAILED">GNUTLS_E_PK_DECRYPTION_FAILED</a>
 
715
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIGN-FAILED:CAPS" title="GNUTLS_E_PK_SIGN_FAILED">GNUTLS_E_PK_SIGN_FAILED</a>
 
716
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION">GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</a>
 
717
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-KEY-USAGE-VIOLATION:CAPS" title="GNUTLS_E_KEY_USAGE_VIOLATION">GNUTLS_E_KEY_USAGE_VIOLATION</a>
 
718
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS" title="GNUTLS_E_NO_CERTIFICATE_FOUND">GNUTLS_E_NO_CERTIFICATE_FOUND</a>
 
719
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST">GNUTLS_E_INVALID_REQUEST</a>
 
720
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER">GNUTLS_E_SHORT_MEMORY_BUFFER</a>
 
721
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED:CAPS" title="GNUTLS_E_INTERRUPTED">GNUTLS_E_INTERRUPTED</a>
 
722
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PUSH-ERROR:CAPS" title="GNUTLS_E_PUSH_ERROR">GNUTLS_E_PUSH_ERROR</a>
 
723
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PULL-ERROR:CAPS" title="GNUTLS_E_PULL_ERROR">GNUTLS_E_PULL_ERROR</a>
 
724
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER">GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</a>
 
725
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</a>
 
726
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PKCS1-WRONG-PAD:CAPS" title="GNUTLS_E_PKCS1_WRONG_PAD">GNUTLS_E_PKCS1_WRONG_PAD</a>
 
727
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION:CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION">GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</a>
 
728
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERNAL-ERROR:CAPS" title="GNUTLS_E_INTERNAL_ERROR">GNUTLS_E_INTERNAL_ERROR</a>
 
729
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE">GNUTLS_E_DH_PRIME_UNACCEPTABLE</a>
 
730
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-FILE-ERROR:CAPS" title="GNUTLS_E_FILE_ERROR">GNUTLS_E_FILE_ERROR</a>
 
731
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-TOO-MANY-EMPTY-PACKETS:CAPS" title="GNUTLS_E_TOO_MANY_EMPTY_PACKETS">GNUTLS_E_TOO_MANY_EMPTY_PACKETS</a>
 
732
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PK-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_PK_ALGORITHM">GNUTLS_E_UNKNOWN_PK_ALGORITHM</a>
 
733
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INIT-LIBEXTRA:CAPS" title="GNUTLS_E_INIT_LIBEXTRA">GNUTLS_E_INIT_LIBEXTRA</a>
 
734
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LIBRARY-VERSION-MISMATCH:CAPS" title="GNUTLS_E_LIBRARY_VERSION_MISMATCH">GNUTLS_E_LIBRARY_VERSION_MISMATCH</a>
 
735
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-RSA-PARAMS:CAPS" title="GNUTLS_E_NO_TEMPORARY_RSA_PARAMS">GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</a>
 
736
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-LZO-INIT-FAILED:CAPS" title="GNUTLS_E_LZO_INIT_FAILED">GNUTLS_E_LZO_INIT_FAILED</a>
 
737
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-COMPRESSION-ALGORITHMS:CAPS" title="GNUTLS_E_NO_COMPRESSION_ALGORITHMS">GNUTLS_E_NO_COMPRESSION_ALGORITHMS</a>
 
738
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-CIPHER-SUITES:CAPS" title="GNUTLS_E_NO_CIPHER_SUITES">GNUTLS_E_NO_CIPHER_SUITES</a>
 
739
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-GETKEY-FAILED:CAPS" title="GNUTLS_E_OPENPGP_GETKEY_FAILED">GNUTLS_E_OPENPGP_GETKEY_FAILED</a>
 
740
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS" title="GNUTLS_E_PK_SIG_VERIFY_FAILED">GNUTLS_E_PK_SIG_VERIFY_FAILED</a>
 
741
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ILLEGAL-SRP-USERNAME:CAPS" title="GNUTLS_E_ILLEGAL_SRP_USERNAME">GNUTLS_E_ILLEGAL_SRP_USERNAME</a>
 
742
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SRP-PWD-PARSING-ERROR:CAPS" title="GNUTLS_E_SRP_PWD_PARSING_ERROR">GNUTLS_E_SRP_PWD_PARSING_ERROR</a>
 
743
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-NO-TEMPORARY-DH-PARAMS:CAPS" title="GNUTLS_E_NO_TEMPORARY_DH_PARAMS">GNUTLS_E_NO_TEMPORARY_DH_PARAMS</a>
 
744
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-ELEMENT-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_ELEMENT_NOT_FOUND">GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</a>
 
745
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND">GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</a>
 
746
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-ERROR:CAPS" title="GNUTLS_E_ASN1_DER_ERROR">GNUTLS_E_ASN1_DER_ERROR</a>
 
747
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND">GNUTLS_E_ASN1_VALUE_NOT_FOUND</a>
 
748
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-GENERIC-ERROR:CAPS" title="GNUTLS_E_ASN1_GENERIC_ERROR">GNUTLS_E_ASN1_GENERIC_ERROR</a>
 
749
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-VALUE-NOT-VALID:CAPS" title="GNUTLS_E_ASN1_VALUE_NOT_VALID">GNUTLS_E_ASN1_VALUE_NOT_VALID</a>
 
750
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-ERROR:CAPS" title="GNUTLS_E_ASN1_TAG_ERROR">GNUTLS_E_ASN1_TAG_ERROR</a>
 
751
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TAG-IMPLICIT:CAPS" title="GNUTLS_E_ASN1_TAG_IMPLICIT">GNUTLS_E_ASN1_TAG_IMPLICIT</a>
 
752
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-TYPE-ANY-ERROR:CAPS" title="GNUTLS_E_ASN1_TYPE_ANY_ERROR">GNUTLS_E_ASN1_TYPE_ANY_ERROR</a>
 
753
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-SYNTAX-ERROR:CAPS" title="GNUTLS_E_ASN1_SYNTAX_ERROR">GNUTLS_E_ASN1_SYNTAX_ERROR</a>
 
754
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-ASN1-DER-OVERFLOW:CAPS" title="GNUTLS_E_ASN1_DER_OVERFLOW">GNUTLS_E_ASN1_DER_OVERFLOW</a>
 
755
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-UID-REVOKED:CAPS" title="GNUTLS_E_OPENPGP_UID_REVOKED">GNUTLS_E_OPENPGP_UID_REVOKED</a>
 
756
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-ERROR:CAPS" title="GNUTLS_E_CERTIFICATE_ERROR">GNUTLS_E_CERTIFICATE_ERROR</a>
 
757
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-CERTIFICATE-ERROR:CAPS" title="GNUTLS_E_X509_CERTIFICATE_ERROR">GNUTLS_E_X509_CERTIFICATE_ERROR</a>
 
758
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH">GNUTLS_E_CERTIFICATE_KEY_MISMATCH</a>
 
759
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE:CAPS" title="GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE">GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</a>
 
760
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNKNOWN-SAN:CAPS" title="GNUTLS_E_X509_UNKNOWN_SAN">GNUTLS_E_X509_UNKNOWN_SAN</a>
 
761
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED:CAPS" title="GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED">GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</a>
 
762
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE">GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</a>
 
763
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM">GNUTLS_E_UNKNOWN_HASH_ALGORITHM</a>
 
764
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE">GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</a>
 
765
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE:CAPS" title="GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE">GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</a>
 
766
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-PASSWORD:CAPS" title="GNUTLS_E_INVALID_PASSWORD">GNUTLS_E_INVALID_PASSWORD</a>
 
767
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-MAC-VERIFY-FAILED:CAPS" title="GNUTLS_E_MAC_VERIFY_FAILED">GNUTLS_E_MAC_VERIFY_FAILED</a>
 
768
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CONSTRAINT-ERROR:CAPS" title="GNUTLS_E_CONSTRAINT_ERROR">GNUTLS_E_CONSTRAINT_ERROR</a>
 
769
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED">GNUTLS_E_WARNING_IA_IPHF_RECEIVED</a>
 
770
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED">GNUTLS_E_WARNING_IA_FPHF_RECEIVED</a>
 
771
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-IA-VERIFY-FAILED:CAPS" title="GNUTLS_E_IA_VERIFY_FAILED">GNUTLS_E_IA_VERIFY_FAILED</a>
 
772
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNKNOWN-ALGORITHM:CAPS" title="GNUTLS_E_UNKNOWN_ALGORITHM">GNUTLS_E_UNKNOWN_ALGORITHM</a>
 
773
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-ENCODING-ERROR:CAPS" title="GNUTLS_E_BASE64_ENCODING_ERROR">GNUTLS_E_BASE64_ENCODING_ERROR</a>
 
774
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY">GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</a>
 
775
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY">GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</a>
 
776
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY:CAPS" title="GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY">GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</a>
 
777
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-KEYRING-ERROR:CAPS" title="GNUTLS_E_OPENPGP_KEYRING_ERROR">GNUTLS_E_OPENPGP_KEYRING_ERROR</a>
 
778
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-X509-UNSUPPORTED-OID:CAPS" title="GNUTLS_E_X509_UNSUPPORTED_OID">GNUTLS_E_X509_UNSUPPORTED_OID</a>
 
779
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-RANDOM-FAILED:CAPS" title="GNUTLS_E_RANDOM_FAILED">GNUTLS_E_RANDOM_FAILED</a>
 
780
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR:CAPS" title="GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR">GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</a>
 
781
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-OPENPGP-SUBKEY-ERROR:CAPS" title="GNUTLS_E_OPENPGP_SUBKEY_ERROR">GNUTLS_E_OPENPGP_SUBKEY_ERROR</a>
 
782
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-CRYPTO-ALREADY-REGISTERED:CAPS" title="GNUTLS_E_CRYPTO_ALREADY_REGISTERED">GNUTLS_E_CRYPTO_ALREADY_REGISTERED</a>
 
783
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS" title="GNUTLS_E_HANDSHAKE_TOO_LARGE">GNUTLS_E_HANDSHAKE_TOO_LARGE</a>
 
784
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS" title="GNUTLS_E_UNIMPLEMENTED_FEATURE">GNUTLS_E_UNIMPLEMENTED_FEATURE</a>
 
785
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MAX:CAPS" title="GNUTLS_E_APPLICATION_ERROR_MAX">GNUTLS_E_APPLICATION_ERROR_MAX</a>
 
786
#define             <a class="link" href="gnutls-gnutls.html#GNUTLS-E-APPLICATION-ERROR-MIN:CAPS" title="GNUTLS_E_APPLICATION_ERROR_MIN">GNUTLS_E_APPLICATION_ERROR_MIN</a>
794
787
</pre>
795
788
</div>
796
789
<div class="refsect1" title="Description">
801
794
<div class="refsect1" title="Details">
802
795
<a name="gnutls-gnutls.details"></a><h2>Details</h2>
803
796
<div class="refsect2" title="HAVE_SSIZE_T">
804
 
<a name="HAVE-SSIZE-T--CAPS"></a><h3>HAVE_SSIZE_T</h3>
 
797
<a name="HAVE-SSIZE-T:CAPS"></a><h3>HAVE_SSIZE_T</h3>
805
798
<pre class="programlisting"># define HAVE_SSIZE_T
806
799
</pre>
807
800
<p>
809
802
</div>
810
803
<hr>
811
804
<div class="refsect2" title="GNUTLS_VERSION">
812
 
<a name="GNUTLS-VERSION--CAPS"></a><h3>GNUTLS_VERSION</h3>
813
 
<pre class="programlisting">#define GNUTLS_VERSION "2.8.5"
 
805
<a name="GNUTLS-VERSION:CAPS"></a><h3>GNUTLS_VERSION</h3>
 
806
<pre class="programlisting">#define GNUTLS_VERSION "2.8.6"
814
807
</pre>
815
808
<p>
816
809
</p>
817
810
</div>
818
811
<hr>
819
812
<div class="refsect2" title="GNUTLS_VERSION_MAJOR">
820
 
<a name="GNUTLS-VERSION-MAJOR--CAPS"></a><h3>GNUTLS_VERSION_MAJOR</h3>
 
813
<a name="GNUTLS-VERSION-MAJOR:CAPS"></a><h3>GNUTLS_VERSION_MAJOR</h3>
821
814
<pre class="programlisting">#define GNUTLS_VERSION_MAJOR 2
822
815
</pre>
823
816
<p>
825
818
</div>
826
819
<hr>
827
820
<div class="refsect2" title="GNUTLS_VERSION_MINOR">
828
 
<a name="GNUTLS-VERSION-MINOR--CAPS"></a><h3>GNUTLS_VERSION_MINOR</h3>
 
821
<a name="GNUTLS-VERSION-MINOR:CAPS"></a><h3>GNUTLS_VERSION_MINOR</h3>
829
822
<pre class="programlisting">#define GNUTLS_VERSION_MINOR 8
830
823
</pre>
831
824
<p>
833
826
</div>
834
827
<hr>
835
828
<div class="refsect2" title="GNUTLS_VERSION_PATCH">
836
 
<a name="GNUTLS-VERSION-PATCH--CAPS"></a><h3>GNUTLS_VERSION_PATCH</h3>
837
 
<pre class="programlisting">#define GNUTLS_VERSION_PATCH 5
 
829
<a name="GNUTLS-VERSION-PATCH:CAPS"></a><h3>GNUTLS_VERSION_PATCH</h3>
 
830
<pre class="programlisting">#define GNUTLS_VERSION_PATCH 6
838
831
</pre>
839
832
<p>
840
833
</p>
841
834
</div>
842
835
<hr>
843
836
<div class="refsect2" title="GNUTLS_VERSION_NUMBER">
844
 
<a name="GNUTLS-VERSION-NUMBER--CAPS"></a><h3>GNUTLS_VERSION_NUMBER</h3>
845
 
<pre class="programlisting">#define GNUTLS_VERSION_NUMBER 0x020805
 
837
<a name="GNUTLS-VERSION-NUMBER:CAPS"></a><h3>GNUTLS_VERSION_NUMBER</h3>
 
838
<pre class="programlisting">#define GNUTLS_VERSION_NUMBER 0x020806
846
839
</pre>
847
840
<p>
848
841
</p>
849
842
</div>
850
843
<hr>
851
844
<div class="refsect2" title="GNUTLS_CIPHER_RIJNDAEL_128_CBC">
852
 
<a name="GNUTLS-CIPHER-RIJNDAEL-128-CBC--CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_128_CBC</h3>
 
845
<a name="GNUTLS-CIPHER-RIJNDAEL-128-CBC:CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_128_CBC</h3>
853
846
<pre class="programlisting">#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC
854
847
</pre>
855
848
<p>
857
850
</div>
858
851
<hr>
859
852
<div class="refsect2" title="GNUTLS_CIPHER_RIJNDAEL_256_CBC">
860
 
<a name="GNUTLS-CIPHER-RIJNDAEL-256-CBC--CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_256_CBC</h3>
 
853
<a name="GNUTLS-CIPHER-RIJNDAEL-256-CBC:CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_256_CBC</h3>
861
854
<pre class="programlisting">#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC
862
855
</pre>
863
856
<p>
865
858
</div>
866
859
<hr>
867
860
<div class="refsect2" title="GNUTLS_CIPHER_RIJNDAEL_CBC">
868
 
<a name="GNUTLS-CIPHER-RIJNDAEL-CBC--CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_CBC</h3>
 
861
<a name="GNUTLS-CIPHER-RIJNDAEL-CBC:CAPS"></a><h3>GNUTLS_CIPHER_RIJNDAEL_CBC</h3>
869
862
<pre class="programlisting">#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC
870
863
</pre>
871
864
<p>
873
866
</div>
874
867
<hr>
875
868
<div class="refsect2" title="GNUTLS_CIPHER_ARCFOUR">
876
 
<a name="GNUTLS-CIPHER-ARCFOUR--CAPS"></a><h3>GNUTLS_CIPHER_ARCFOUR</h3>
 
869
<a name="GNUTLS-CIPHER-ARCFOUR:CAPS"></a><h3>GNUTLS_CIPHER_ARCFOUR</h3>
877
870
<pre class="programlisting">#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128
878
871
</pre>
879
872
<p>
962
955
</div>
963
956
<hr>
964
957
<div class="refsect2" title="GNUTLS_MAC_SHA">
965
 
<a name="GNUTLS-MAC-SHA--CAPS"></a><h3>GNUTLS_MAC_SHA</h3>
 
958
<a name="GNUTLS-MAC-SHA:CAPS"></a><h3>GNUTLS_MAC_SHA</h3>
966
959
<pre class="programlisting">#define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1
967
960
</pre>
968
961
<p>
970
963
</div>
971
964
<hr>
972
965
<div class="refsect2" title="GNUTLS_DIG_SHA">
973
 
<a name="GNUTLS-DIG-SHA--CAPS"></a><h3>GNUTLS_DIG_SHA</h3>
 
966
<a name="GNUTLS-DIG-SHA:CAPS"></a><h3>GNUTLS_DIG_SHA</h3>
974
967
<pre class="programlisting">#define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1
975
968
</pre>
976
969
<p>
1018
1011
</div>
1019
1012
<hr>
1020
1013
<div class="refsect2" title="GNUTLS_MAX_ALGORITHM_NUM">
1021
 
<a name="GNUTLS-MAX-ALGORITHM-NUM--CAPS"></a><h3>GNUTLS_MAX_ALGORITHM_NUM</h3>
 
1014
<a name="GNUTLS-MAX-ALGORITHM-NUM:CAPS"></a><h3>GNUTLS_MAX_ALGORITHM_NUM</h3>
1022
1015
<pre class="programlisting">#define GNUTLS_MAX_ALGORITHM_NUM 16
1023
1016
</pre>
1024
1017
<p>
1026
1019
</div>
1027
1020
<hr>
1028
1021
<div class="refsect2" title="GNUTLS_COMP_ZLIB">
1029
 
<a name="GNUTLS-COMP-ZLIB--CAPS"></a><h3>GNUTLS_COMP_ZLIB</h3>
 
1022
<a name="GNUTLS-COMP-ZLIB:CAPS"></a><h3>GNUTLS_COMP_ZLIB</h3>
1030
1023
<pre class="programlisting">#define GNUTLS_COMP_ZLIB GNUTLS_COMP_DEFLATE
1031
1024
</pre>
1032
1025
<p>
1137
1130
<a name="gnutls-certificate-status-t"></a><h3>enum gnutls_certificate_status_t</h3>
1138
1131
<pre class="programlisting">  typedef enum
1139
1132
  {
1140
 
    GNUTLS_CERT_INVALID = 2,    /* will be set if the certificate
 
1133
    GNUTLS_CERT_INVALID = 2, /* will be set if the certificate
1141
1134
                                 * was not verified.
1142
1135
                                 */
1143
 
    GNUTLS_CERT_REVOKED = 32,   /* in X.509 this will be set only if CRLs are checked
 
1136
    GNUTLS_CERT_REVOKED = 32, /* in X.509 this will be set only if CRLs are checked
1144
1137
                                 */
1145
1138
 
1146
1139
    /* Those are extra information about the verification
1199
1192
</div>
1200
1193
<hr>
1201
1194
<div class="refsect2" title="GNUTLS_TLS1">
1202
 
<a name="GNUTLS-TLS1--CAPS"></a><h3>GNUTLS_TLS1</h3>
 
1195
<a name="GNUTLS-TLS1:CAPS"></a><h3>GNUTLS_TLS1</h3>
1203
1196
<pre class="programlisting">#define GNUTLS_TLS1 GNUTLS_TLS1_0
1204
1197
</pre>
1205
1198
<p>
1274
1267
<hr>
1275
1268
<div class="refsect2" title="gnutls_pk_algorithm_get_name ()">
1276
1269
<a name="gnutls-pk-algorithm-get-name"></a><h3>gnutls_pk_algorithm_get_name ()</h3>
1277
 
<pre class="programlisting">const char *        gnutls_pk_algorithm_get_name        (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> algorithm);</pre>
1278
 
<p>
1279
 
Convert a <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> value to a string.</p>
 
1270
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_pk_algorithm_get_name        (<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> algorithm</code></em>);</pre>
1280
1271
<p>
1281
1272
</p>
1282
1273
<div class="variablelist"><table border="0">
1284
1275
<tbody>
1285
1276
<tr>
1286
1277
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1287
 
<td> is a pk algorithm
 
1278
<td>
1288
1279
</td>
1289
1280
</tr>
1290
1281
<tr>
1291
1282
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1292
 
<td> a string that contains the name of the specified public
1293
 
  key algorithm, or <code class="literal">NULL</code>.
 
1283
<td>
1294
1284
</td>
1295
1285
</tr>
1296
1286
</tbody>
1298
1288
</div>
1299
1289
<hr>
1300
1290
<div class="refsect2" title="GNUTLS_SIGN_RSA_SHA">
1301
 
<a name="GNUTLS-SIGN-RSA-SHA--CAPS"></a><h3>GNUTLS_SIGN_RSA_SHA</h3>
 
1291
<a name="GNUTLS-SIGN-RSA-SHA:CAPS"></a><h3>GNUTLS_SIGN_RSA_SHA</h3>
1302
1292
<pre class="programlisting">#define GNUTLS_SIGN_RSA_SHA GNUTLS_SIGN_RSA_SHA1
1303
1293
</pre>
1304
1294
<p>
1306
1296
</div>
1307
1297
<hr>
1308
1298
<div class="refsect2" title="GNUTLS_SIGN_DSA_SHA">
1309
 
<a name="GNUTLS-SIGN-DSA-SHA--CAPS"></a><h3>GNUTLS_SIGN_DSA_SHA</h3>
 
1299
<a name="GNUTLS-SIGN-DSA-SHA:CAPS"></a><h3>GNUTLS_SIGN_DSA_SHA</h3>
1310
1300
<pre class="programlisting">#define GNUTLS_SIGN_DSA_SHA GNUTLS_SIGN_DSA_SHA1
1311
1301
</pre>
1312
1302
<p>
1335
1325
<hr>
1336
1326
<div class="refsect2" title="gnutls_sign_algorithm_get_name ()">
1337
1327
<a name="gnutls-sign-algorithm-get-name"></a><h3>gnutls_sign_algorithm_get_name ()</h3>
1338
 
<pre class="programlisting">const char *        gnutls_sign_algorithm_get_name      (<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a> sign);</pre>
1339
 
<p>
1340
 
Convert a <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> value to a string.</p>
 
1328
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_sign_algorithm_get_name      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> sign</code></em>);</pre>
1341
1329
<p>
1342
1330
</p>
1343
1331
<div class="variablelist"><table border="0">
1345
1333
<tbody>
1346
1334
<tr>
1347
1335
<td><p><span class="term"><em class="parameter"><code>sign</code></em> :</span></p></td>
1348
 
<td> is a sign algorithm
 
1336
<td>
1349
1337
</td>
1350
1338
</tr>
1351
1339
<tr>
1352
1340
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1353
 
<td> a string that contains the name of the specified sign
1354
 
  algorithm, or <code class="literal">NULL</code>.
 
1341
<td>
1355
1342
</td>
1356
1343
</tr>
1357
1344
</tbody>
1428
1415
<hr>
1429
1416
<div class="refsect2" title="gnutls_init ()">
1430
1417
<a name="gnutls-init"></a><h3>gnutls_init ()</h3>
1431
 
<pre class="programlisting">int                 gnutls_init                         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> *session,
1432
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-connection-end-t" title="enum gnutls_connection_end_t">gnutls_connection_end_t</a> con_end);</pre>
1433
 
<p>
1434
 
This function initializes the current session to null. Every
1435
 
session must be initialized before use, so internal structures can
1436
 
be allocated.  This function allocates structures which can only
1437
 
be free'd by calling <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a>.  Returns zero on success.
1438
 
</p>
1439
 
<p>
1440
 
<em class="parameter"><code>con_end</code></em> can be one of <code class="literal">GNUTLS_CLIENT</code> and <code class="literal">GNUTLS_SERVER</code>.</p>
 
1418
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_init                         (<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>,
 
1419
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-connection-end-t" title="enum gnutls_connection_end_t"><span class="type">gnutls_connection_end_t</span></a> con_end</code></em>);</pre>
1441
1420
<p>
1442
1421
</p>
1443
1422
<div class="variablelist"><table border="0">
1445
1424
<tbody>
1446
1425
<tr>
1447
1426
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1448
 
<td> is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
1427
<td>
1449
1428
</td>
1450
1429
</tr>
1451
1430
<tr>
1452
1431
<td><p><span class="term"><em class="parameter"><code>con_end</code></em> :</span></p></td>
1453
 
<td> indicate if this session is to be used for server or client.
 
1432
<td>
1454
1433
</td>
1455
1434
</tr>
1456
1435
<tr>
1457
1436
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1458
 
<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, or an error code.
 
1437
<td>
1459
1438
</td>
1460
1439
</tr>
1461
1440
</tbody>
1464
1443
<hr>
1465
1444
<div class="refsect2" title="gnutls_deinit ()">
1466
1445
<a name="gnutls-deinit"></a><h3>gnutls_deinit ()</h3>
1467
 
<pre class="programlisting">void                gnutls_deinit                       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1468
 
<p>
1469
 
This function clears all buffers associated with the <em class="parameter"><code>session</code></em>.
1470
 
This function will also remove session data from the session
1471
 
database if the session was terminated abnormally.</p>
 
1446
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_deinit                       (<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>
1472
1447
<p>
1473
1448
</p>
1474
1449
<div class="variablelist"><table border="0">
1475
1450
<col align="left" valign="top">
1476
1451
<tbody><tr>
1477
1452
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1478
 
<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.
 
1453
<td>
1479
1454
</td>
1480
1455
</tr></tbody>
1481
1456
</table></div>
1483
1458
<hr>
1484
1459
<div class="refsect2" title="gnutls_bye ()">
1485
1460
<a name="gnutls-bye"></a><h3>gnutls_bye ()</h3>
1486
 
<pre class="programlisting">int                 gnutls_bye                          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
1487
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t">gnutls_close_request_t</a> how);</pre>
1488
 
<p>
1489
 
Terminates the current TLS/SSL connection. The connection should
1490
 
have been initiated using <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a>.  <em class="parameter"><code>how</code></em> should be one
1491
 
of <code class="literal">GNUTLS_SHUT_RDWR</code>, <code class="literal">GNUTLS_SHUT_WR</code>.
1492
 
</p>
1493
 
<p>
1494
 
In case of <code class="literal">GNUTLS_SHUT_RDWR</code> then the TLS connection gets
1495
 
terminated and further receives and sends will be disallowed.  If
1496
 
the return value is zero you may continue using the connection.
1497
 
<code class="literal">GNUTLS_SHUT_RDWR</code> actually sends an alert containing a close
1498
 
request and waits for the peer to reply with the same message.
1499
 
</p>
1500
 
<p>
1501
 
In case of <code class="literal">GNUTLS_SHUT_WR</code> then the TLS connection gets terminated
1502
 
and further sends will be disallowed. In order to reuse the
1503
 
connection you should wait for an EOF from the peer.
1504
 
<code class="literal">GNUTLS_SHUT_WR</code> sends an alert containing a close request.
1505
 
</p>
1506
 
<p>
1507
 
Note that not all implementations will properly terminate a TLS
1508
 
connection.  Some of them, usually for performance reasons, will
1509
 
terminate only the underlying transport layer, thus causing a
1510
 
transmission error to the peer.  This error cannot be
1511
 
distinguished from a malicious party prematurely terminating the
1512
 
session, thus this behavior is not recommended.
1513
 
</p>
1514
 
<p>
1515
 
This function may also return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> or
1516
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>; cf.  <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>.</p>
 
1461
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_bye                          (<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>,
 
1462
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-close-request-t" title="enum gnutls_close_request_t"><span class="type">gnutls_close_request_t</span></a> how</code></em>);</pre>
1517
1463
<p>
1518
1464
</p>
1519
1465
<div class="variablelist"><table border="0">
1521
1467
<tbody>
1522
1468
<tr>
1523
1469
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1524
 
<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.
 
1470
<td>
1525
1471
</td>
1526
1472
</tr>
1527
1473
<tr>
1528
1474
<td><p><span class="term"><em class="parameter"><code>how</code></em> :</span></p></td>
1529
 
<td> is an integer
 
1475
<td>
1530
1476
</td>
1531
1477
</tr>
1532
1478
<tr>
1533
1479
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1534
 
<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, or an error code, see
1535
 
  function documentation for entire semantics.
 
1480
<td>
1536
1481
</td>
1537
1482
</tr>
1538
1483
</tbody>
1541
1486
<hr>
1542
1487
<div class="refsect2" title="gnutls_handshake ()">
1543
1488
<a name="gnutls-handshake"></a><h3>gnutls_handshake ()</h3>
1544
 
<pre class="programlisting">int                 gnutls_handshake                    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1545
 
<p>
1546
 
This function does the handshake of the TLS/SSL protocol, and
1547
 
initializes the TLS connection.
1548
 
</p>
1549
 
<p>
1550
 
This function will fail if any problem is encountered, and will
1551
 
return a negative error code. In case of a client, if the client
1552
 
has asked to resume a session, but the server couldn't, then a
1553
 
full handshake will be performed.
1554
 
</p>
1555
 
<p>
1556
 
The non-fatal errors such as <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> and
1557
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> interrupt the handshake procedure, which
1558
 
should be later be resumed.  Call this function again, until it
1559
 
returns 0; cf.  <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a> and
1560
 
<a class="link" href="gnutls-gnutls.html#gnutls-error-is-fatal" title="gnutls_error_is_fatal ()"><code class="function">gnutls_error_is_fatal()</code></a>.
1561
 
</p>
1562
 
<p>
1563
 
If this function is called by a server after a rehandshake request
1564
 
then <a class="link" href="gnutls-gnutls.html#GNUTLS-E-GOT-APPLICATION-DATA--CAPS" title="GNUTLS_E_GOT_APPLICATION_DATA"><code class="literal">GNUTLS_E_GOT_APPLICATION_DATA</code></a> or
1565
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED--CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED"><code class="literal">GNUTLS_E_WARNING_ALERT_RECEIVED</code></a> may be returned.  Note that these
1566
 
are non fatal errors, only in the specific case of a rehandshake.
1567
 
Their meaning is that the client rejected the rehandshake request.</p>
 
1489
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_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>
1568
1490
<p>
1569
1491
</p>
1570
1492
<div class="variablelist"><table border="0">
1572
1494
<tbody>
1573
1495
<tr>
1574
1496
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1575
 
<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.
 
1497
<td>
1576
1498
</td>
1577
1499
</tr>
1578
1500
<tr>
1579
1501
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1580
 
<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.
1581
 
 
 
1502
<td>
1582
1503
</td>
1583
1504
</tr>
1584
1505
</tbody>
1587
1508
<hr>
1588
1509
<div class="refsect2" title="gnutls_rehandshake ()">
1589
1510
<a name="gnutls-rehandshake"></a><h3>gnutls_rehandshake ()</h3>
1590
 
<pre class="programlisting">int                 gnutls_rehandshake                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1591
 
<p>
1592
 
This function will renegotiate security parameters with the
1593
 
client.  This should only be called in case of a server.
1594
 
</p>
1595
 
<p>
1596
 
This message informs the peer that we want to renegotiate
1597
 
parameters (perform a handshake).
1598
 
</p>
1599
 
<p>
1600
 
If this function succeeds (returns 0), you must call the
1601
 
<a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a> function in order to negotiate the new
1602
 
parameters.
1603
 
</p>
1604
 
<p>
1605
 
If the client does not wish to renegotiate parameters he will
1606
 
should with an alert message, thus the return code will be
1607
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED--CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED"><code class="literal">GNUTLS_E_WARNING_ALERT_RECEIVED</code></a> and the alert will be
1608
 
<code class="literal">GNUTLS_A_NO_RENEGOTIATION</code>.  A client may also choose to ignore
1609
 
this message.</p>
 
1511
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rehandshake                  (<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>
1610
1512
<p>
1611
1513
</p>
1612
1514
<div class="variablelist"><table border="0">
1614
1516
<tbody>
1615
1517
<tr>
1616
1518
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1617
 
<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.
 
1519
<td>
1618
1520
</td>
1619
1521
</tr>
1620
1522
<tr>
1621
1523
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1622
 
<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.
1623
 
 
 
1524
<td>
1624
1525
</td>
1625
1526
</tr>
1626
1527
</tbody>
1629
1530
<hr>
1630
1531
<div class="refsect2" title="gnutls_alert_get ()">
1631
1532
<a name="gnutls-alert-get"></a><h3>gnutls_alert_get ()</h3>
1632
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a>  gnutls_alert_get            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1633
 
<p>
1634
 
This function will return the last alert number received.  This
1635
 
function should be called if <a class="link" href="gnutls-gnutls.html#GNUTLS-E-WARNING-ALERT-RECEIVED--CAPS" title="GNUTLS_E_WARNING_ALERT_RECEIVED"><code class="literal">GNUTLS_E_WARNING_ALERT_RECEIVED</code></a> or
1636
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-FATAL-ALERT-RECEIVED--CAPS" title="GNUTLS_E_FATAL_ALERT_RECEIVED"><code class="literal">GNUTLS_E_FATAL_ALERT_RECEIVED</code></a> has been returned by a gnutls
1637
 
function.  The peer may send alerts if he thinks some things were
1638
 
not right. Check gnutls.h for the available alert descriptions.
1639
 
</p>
1640
 
<p>
1641
 
If no alert has been received the returned value is undefined.</p>
 
1533
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="returnvalue">gnutls_alert_description_t</span></a>  gnutls_alert_get            (<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>
1642
1534
<p>
1643
1535
</p>
1644
1536
<div class="variablelist"><table border="0">
1646
1538
<tbody>
1647
1539
<tr>
1648
1540
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1649
 
<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.
 
1541
<td>
1650
1542
</td>
1651
1543
</tr>
1652
1544
<tr>
1653
1545
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1654
 
<td> returns the last alert received, a
1655
 
  <a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> value.
 
1546
<td>
1656
1547
</td>
1657
1548
</tr>
1658
1549
</tbody>
1661
1552
<hr>
1662
1553
<div class="refsect2" title="gnutls_alert_send ()">
1663
1554
<a name="gnutls-alert-send"></a><h3>gnutls_alert_send ()</h3>
1664
 
<pre class="programlisting">int                 gnutls_alert_send                   (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
1665
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t">gnutls_alert_level_t</a> level,
1666
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a> desc);</pre>
1667
 
<p>
1668
 
This function will send an alert to the peer in order to inform
1669
 
him of something important (eg. his Certificate could not be verified).
1670
 
If the alert level is Fatal then the peer is expected to close the
1671
 
connection, otherwise he may ignore the alert and continue.
1672
 
</p>
1673
 
<p>
1674
 
The error code of the underlying record send function will be
1675
 
returned, so you may also receive <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or
1676
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a> as well.</p>
 
1555
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_alert_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>,
 
1556
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-level-t" title="enum gnutls_alert_level_t"><span class="type">gnutls_alert_level_t</span></a> level</code></em>,
 
1557
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> desc</code></em>);</pre>
1677
1558
<p>
1678
1559
</p>
1679
1560
<div class="variablelist"><table border="0">
1681
1562
<tbody>
1682
1563
<tr>
1683
1564
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1684
 
<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.
 
1565
<td>
1685
1566
</td>
1686
1567
</tr>
1687
1568
<tr>
1688
1569
<td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
1689
 
<td> is the level of the alert
 
1570
<td>
1690
1571
</td>
1691
1572
</tr>
1692
1573
<tr>
1693
1574
<td><p><span class="term"><em class="parameter"><code>desc</code></em> :</span></p></td>
1694
 
<td> is the alert description
 
1575
<td>
1695
1576
</td>
1696
1577
</tr>
1697
1578
<tr>
1698
1579
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1699
 
<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
1700
 
  an error code is returned.
 
1580
<td>
1701
1581
</td>
1702
1582
</tr>
1703
1583
</tbody>
1706
1586
<hr>
1707
1587
<div class="refsect2" title="gnutls_alert_send_appropriate ()">
1708
1588
<a name="gnutls-alert-send-appropriate"></a><h3>gnutls_alert_send_appropriate ()</h3>
1709
 
<pre class="programlisting">int                 gnutls_alert_send_appropriate       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
1710
 
                                                         int err);</pre>
1711
 
<p>
1712
 
Sends an alert to the peer depending on the error code returned by
1713
 
a gnutls function. This function will call <a class="link" href="gnutls-gnutls.html#gnutls-error-to-alert" title="gnutls_error_to_alert ()"><code class="function">gnutls_error_to_alert()</code></a>
1714
 
to determine the appropriate alert to send.
1715
 
</p>
1716
 
<p>
1717
 
This function may also return <a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a>, or
1718
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a>.
1719
 
</p>
1720
 
<p>
1721
 
If the return value is <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST--CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>, then no alert has
1722
 
been sent to the peer.</p>
 
1589
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_alert_send_appropriate       (<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>,
 
1590
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>);</pre>
1723
1591
<p>
1724
1592
</p>
1725
1593
<div class="variablelist"><table border="0">
1727
1595
<tbody>
1728
1596
<tr>
1729
1597
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1730
 
<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.
 
1598
<td>
1731
1599
</td>
1732
1600
</tr>
1733
1601
<tr>
1734
1602
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
1735
 
<td> is an integer
 
1603
<td>
1736
1604
</td>
1737
1605
</tr>
1738
1606
<tr>
1739
1607
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1740
 
<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
1741
 
  an error code is returned.
 
1608
<td>
1742
1609
</td>
1743
1610
</tr>
1744
1611
</tbody>
1747
1614
<hr>
1748
1615
<div class="refsect2" title="gnutls_alert_get_name ()">
1749
1616
<a name="gnutls-alert-get-name"></a><h3>gnutls_alert_get_name ()</h3>
1750
 
<pre class="programlisting">const char *        gnutls_alert_get_name               (<a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t">gnutls_alert_description_t</a> alert);</pre>
1751
 
<p>
1752
 
This function will return a string that describes the given alert
1753
 
number, or <code class="literal">NULL</code>.  See <a class="link" href="gnutls-gnutls.html#gnutls-alert-get" title="gnutls_alert_get ()"><code class="function">gnutls_alert_get()</code></a>.</p>
 
1617
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_alert_get_name               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> alert</code></em>);</pre>
1754
1618
<p>
1755
1619
</p>
1756
1620
<div class="variablelist"><table border="0">
1758
1622
<tbody>
1759
1623
<tr>
1760
1624
<td><p><span class="term"><em class="parameter"><code>alert</code></em> :</span></p></td>
1761
 
<td> is an alert number <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
1625
<td>
1762
1626
</td>
1763
1627
</tr>
1764
1628
<tr>
1765
1629
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1766
 
<td> string corresponding to <a class="link" href="gnutls-gnutls.html#gnutls-alert-description-t" title="enum gnutls_alert_description_t"><span class="type">gnutls_alert_description_t</span></a> value.
 
1630
<td>
1767
1631
</td>
1768
1632
</tr>
1769
1633
</tbody>
1772
1636
<hr>
1773
1637
<div class="refsect2" title="gnutls_cipher_get ()">
1774
1638
<a name="gnutls-cipher-get"></a><h3>gnutls_cipher_get ()</h3>
1775
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a>  gnutls_cipher_get            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1776
 
<p>
1777
 
Get currently used cipher.</p>
 
1639
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a>  gnutls_cipher_get            (<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>
1778
1640
<p>
1779
1641
</p>
1780
1642
<div class="variablelist"><table border="0">
1782
1644
<tbody>
1783
1645
<tr>
1784
1646
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1785
 
<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.
 
1647
<td>
1786
1648
</td>
1787
1649
</tr>
1788
1650
<tr>
1789
1651
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1790
 
<td> the currently used cipher, a <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>
1791
 
  type.
 
1652
<td>
1792
1653
</td>
1793
1654
</tr>
1794
1655
</tbody>
1797
1658
<hr>
1798
1659
<div class="refsect2" title="gnutls_kx_get ()">
1799
1660
<a name="gnutls-kx-get"></a><h3>gnutls_kx_get ()</h3>
1800
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a>  gnutls_kx_get                    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1801
 
<p>
1802
 
Get currently used key exchange algorithm.</p>
 
1661
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a>  gnutls_kx_get                    (<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>
1803
1662
<p>
1804
1663
</p>
1805
1664
<div class="variablelist"><table border="0">
1807
1666
<tbody>
1808
1667
<tr>
1809
1668
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1810
 
<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.
 
1669
<td>
1811
1670
</td>
1812
1671
</tr>
1813
1672
<tr>
1814
1673
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1815
 
<td> the key exchange algorithm used in the last handshake, a
1816
 
  <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> value.
 
1674
<td>
1817
1675
</td>
1818
1676
</tr>
1819
1677
</tbody>
1822
1680
<hr>
1823
1681
<div class="refsect2" title="gnutls_mac_get ()">
1824
1682
<a name="gnutls-mac-get"></a><h3>gnutls_mac_get ()</h3>
1825
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a>  gnutls_mac_get                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1826
 
<p>
1827
 
Get currently used MAC algorithm.</p>
 
1683
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a>  gnutls_mac_get                  (<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>
1828
1684
<p>
1829
1685
</p>
1830
1686
<div class="variablelist"><table border="0">
1832
1688
<tbody>
1833
1689
<tr>
1834
1690
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1835
 
<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.
 
1691
<td>
1836
1692
</td>
1837
1693
</tr>
1838
1694
<tr>
1839
1695
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1840
 
<td> the currently used mac algorithm, a
1841
 
  <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> value.
 
1696
<td>
1842
1697
</td>
1843
1698
</tr>
1844
1699
</tbody>
1847
1702
<hr>
1848
1703
<div class="refsect2" title="gnutls_compression_get ()">
1849
1704
<a name="gnutls-compression-get"></a><h3>gnutls_compression_get ()</h3>
1850
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a>  gnutls_compression_get     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1851
 
<p>
1852
 
Get currently used compression algorithm.</p>
 
1705
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a>  gnutls_compression_get     (<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>
1853
1706
<p>
1854
1707
</p>
1855
1708
<div class="variablelist"><table border="0">
1857
1710
<tbody>
1858
1711
<tr>
1859
1712
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1860
 
<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.
 
1713
<td>
1861
1714
</td>
1862
1715
</tr>
1863
1716
<tr>
1864
1717
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1865
 
<td> the currently used compression method, a
1866
 
  <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> value.
 
1718
<td>
1867
1719
</td>
1868
1720
</tr>
1869
1721
</tbody>
1872
1724
<hr>
1873
1725
<div class="refsect2" title="gnutls_certificate_type_get ()">
1874
1726
<a name="gnutls-certificate-type-get"></a><h3>gnutls_certificate_type_get ()</h3>
1875
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a>  gnutls_certificate_type_get  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
1876
 
<p>
1877
 
The certificate type is by default X.509, unless it is negotiated
1878
 
as a TLS extension.</p>
 
1727
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a>  gnutls_certificate_type_get  (<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>
1879
1728
<p>
1880
1729
</p>
1881
1730
<div class="variablelist"><table border="0">
1883
1732
<tbody>
1884
1733
<tr>
1885
1734
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
1886
 
<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.
 
1735
<td>
1887
1736
</td>
1888
1737
</tr>
1889
1738
<tr>
1890
1739
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1891
 
<td> the currently used <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> certificate
1892
 
  type.
 
1740
<td>
1893
1741
</td>
1894
1742
</tr>
1895
1743
</tbody>
1898
1746
<hr>
1899
1747
<div class="refsect2" title="gnutls_cipher_get_key_size ()">
1900
1748
<a name="gnutls-cipher-get-key-size"></a><h3>gnutls_cipher_get_key_size ()</h3>
1901
 
<pre class="programlisting">size_t              gnutls_cipher_get_key_size          (<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> algorithm);</pre>
1902
 
<p>
1903
 
Get key size for cipher.</p>
 
1749
<pre class="programlisting"><span class="returnvalue">size_t</span>              gnutls_cipher_get_key_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>
1904
1750
<p>
1905
1751
</p>
1906
1752
<div class="variablelist"><table border="0">
1908
1754
<tbody>
1909
1755
<tr>
1910
1756
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1911
 
<td> is an encryption algorithm
 
1757
<td>
1912
1758
</td>
1913
1759
</tr>
1914
1760
<tr>
1915
1761
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1916
 
<td> length (in bytes) of the given cipher's key size, or 0 if
1917
 
  the given cipher is invalid.
 
1762
<td>
1918
1763
</td>
1919
1764
</tr>
1920
1765
</tbody>
1923
1768
<hr>
1924
1769
<div class="refsect2" title="gnutls_mac_get_key_size ()">
1925
1770
<a name="gnutls-mac-get-key-size"></a><h3>gnutls_mac_get_key_size ()</h3>
1926
 
<pre class="programlisting">size_t              gnutls_mac_get_key_size             (<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> algorithm);</pre>
1927
 
<p>
1928
 
Get size of MAC key.</p>
 
1771
<pre class="programlisting"><span class="returnvalue">size_t</span>              gnutls_mac_get_key_size             (<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>
1929
1772
<p>
1930
1773
</p>
1931
1774
<div class="variablelist"><table border="0">
1933
1776
<tbody>
1934
1777
<tr>
1935
1778
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1936
 
<td> is an encryption algorithm
 
1779
<td>
1937
1780
</td>
1938
1781
</tr>
1939
1782
<tr>
1940
1783
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1941
 
<td> length (in bytes) of the given MAC key size, or 0 if the
1942
 
  given MAC algorithm is invalid.
 
1784
<td>
1943
1785
</td>
1944
1786
</tr>
1945
1787
</tbody>
1948
1790
<hr>
1949
1791
<div class="refsect2" title="gnutls_cipher_get_name ()">
1950
1792
<a name="gnutls-cipher-get-name"></a><h3>gnutls_cipher_get_name ()</h3>
1951
 
<pre class="programlisting">const char *        gnutls_cipher_get_name              (<a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> algorithm);</pre>
1952
 
<p>
1953
 
Convert a <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> type to a string.</p>
 
1793
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_cipher_get_name              (<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>
1954
1794
<p>
1955
1795
</p>
1956
1796
<div class="variablelist"><table border="0">
1958
1798
<tbody>
1959
1799
<tr>
1960
1800
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1961
 
<td> is an encryption algorithm
 
1801
<td>
1962
1802
</td>
1963
1803
</tr>
1964
1804
<tr>
1965
1805
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1966
 
<td> a pointer to a string that contains the name of the
1967
 
  specified cipher, or <code class="literal">NULL</code>.
 
1806
<td>
1968
1807
</td>
1969
1808
</tr>
1970
1809
</tbody>
1973
1812
<hr>
1974
1813
<div class="refsect2" title="gnutls_mac_get_name ()">
1975
1814
<a name="gnutls-mac-get-name"></a><h3>gnutls_mac_get_name ()</h3>
1976
 
<pre class="programlisting">const char *        gnutls_mac_get_name                 (<a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> algorithm);</pre>
1977
 
<p>
1978
 
Convert a <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> value to a string.</p>
 
1815
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_mac_get_name                 (<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>
1979
1816
<p>
1980
1817
</p>
1981
1818
<div class="variablelist"><table border="0">
1983
1820
<tbody>
1984
1821
<tr>
1985
1822
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
1986
 
<td> is a MAC algorithm
 
1823
<td>
1987
1824
</td>
1988
1825
</tr>
1989
1826
<tr>
1990
1827
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1991
 
<td> a string that contains the name of the specified MAC
1992
 
  algorithm, or <code class="literal">NULL</code>.
 
1828
<td>
1993
1829
</td>
1994
1830
</tr>
1995
1831
</tbody>
1998
1834
<hr>
1999
1835
<div class="refsect2" title="gnutls_compression_get_name ()">
2000
1836
<a name="gnutls-compression-get-name"></a><h3>gnutls_compression_get_name ()</h3>
2001
 
<pre class="programlisting">const char *        gnutls_compression_get_name         (<a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a> algorithm);</pre>
2002
 
<p>
2003
 
Convert a <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> value to a string.</p>
 
1837
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_compression_get_name         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a> algorithm</code></em>);</pre>
2004
1838
<p>
2005
1839
</p>
2006
1840
<div class="variablelist"><table border="0">
2008
1842
<tbody>
2009
1843
<tr>
2010
1844
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2011
 
<td> is a Compression algorithm
 
1845
<td>
2012
1846
</td>
2013
1847
</tr>
2014
1848
<tr>
2015
1849
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2016
 
<td> a pointer to a string that contains the name of the
2017
 
  specified compression algorithm, or <code class="literal">NULL</code>.
 
1850
<td>
2018
1851
</td>
2019
1852
</tr>
2020
1853
</tbody>
2023
1856
<hr>
2024
1857
<div class="refsect2" title="gnutls_kx_get_name ()">
2025
1858
<a name="gnutls-kx-get-name"></a><h3>gnutls_kx_get_name ()</h3>
2026
 
<pre class="programlisting">const char *        gnutls_kx_get_name                  (<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> algorithm);</pre>
2027
 
<p>
2028
 
Convert a <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> value to a string.</p>
 
1859
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_kx_get_name                  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> algorithm</code></em>);</pre>
2029
1860
<p>
2030
1861
</p>
2031
1862
<div class="variablelist"><table border="0">
2033
1864
<tbody>
2034
1865
<tr>
2035
1866
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2036
 
<td> is a key exchange algorithm
 
1867
<td>
2037
1868
</td>
2038
1869
</tr>
2039
1870
<tr>
2040
1871
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2041
 
<td> a pointer to a string that contains the name of the
2042
 
  specified key exchange algorithm, or <code class="literal">NULL</code>.
 
1872
<td>
2043
1873
</td>
2044
1874
</tr>
2045
1875
</tbody>
2048
1878
<hr>
2049
1879
<div class="refsect2" title="gnutls_certificate_type_get_name ()">
2050
1880
<a name="gnutls-certificate-type-get-name"></a><h3>gnutls_certificate_type_get_name ()</h3>
2051
 
<pre class="programlisting">const char *        gnutls_certificate_type_get_name    (<a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a> type);</pre>
2052
 
<p>
2053
 
Convert a <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> type to a string.</p>
 
1881
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_certificate_type_get_name    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> type</code></em>);</pre>
2054
1882
<p>
2055
1883
</p>
2056
1884
<div class="variablelist"><table border="0">
2058
1886
<tbody>
2059
1887
<tr>
2060
1888
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
2061
 
<td> is a certificate type
 
1889
<td>
2062
1890
</td>
2063
1891
</tr>
2064
1892
<tr>
2065
1893
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2066
 
<td> a string that contains the name of the specified
2067
 
  certificate type, or <code class="literal">NULL</code> in case of unknown types.
 
1894
<td>
2068
1895
</td>
2069
1896
</tr>
2070
1897
</tbody>
2073
1900
<hr>
2074
1901
<div class="refsect2" title="gnutls_pk_get_name ()">
2075
1902
<a name="gnutls-pk-get-name"></a><h3>gnutls_pk_get_name ()</h3>
2076
 
<pre class="programlisting">const char *        gnutls_pk_get_name                  (<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> algorithm);</pre>
2077
 
<p>
2078
 
Convert a <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> value to a string.</p>
 
1903
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_pk_get_name                  (<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> algorithm</code></em>);</pre>
2079
1904
<p>
2080
1905
</p>
2081
1906
<div class="variablelist"><table border="0">
2083
1908
<tbody>
2084
1909
<tr>
2085
1910
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2086
 
<td> is a public key algorithm
 
1911
<td>
2087
1912
</td>
2088
1913
</tr>
2089
1914
<tr>
2090
1915
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2091
 
<td> a pointer to a string that contains the name of the
2092
 
  specified public key algorithm, or <code class="literal">NULL</code>.
2093
 
 
 
1916
<td>
2094
1917
</td>
2095
1918
</tr>
2096
1919
</tbody>
2097
1920
</table></div>
2098
 
<p class="since">Since 2.6.0</p>
2099
1921
</div>
2100
1922
<hr>
2101
1923
<div class="refsect2" title="gnutls_sign_get_name ()">
2102
1924
<a name="gnutls-sign-get-name"></a><h3>gnutls_sign_get_name ()</h3>
2103
 
<pre class="programlisting">const char *        gnutls_sign_get_name                (<a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a> algorithm);</pre>
2104
 
<p>
2105
 
Convert a <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> value to a string.</p>
 
1925
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_sign_get_name                (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> algorithm</code></em>);</pre>
2106
1926
<p>
2107
1927
</p>
2108
1928
<div class="variablelist"><table border="0">
2110
1930
<tbody>
2111
1931
<tr>
2112
1932
<td><p><span class="term"><em class="parameter"><code>algorithm</code></em> :</span></p></td>
2113
 
<td> is a public key signature algorithm
 
1933
<td>
2114
1934
</td>
2115
1935
</tr>
2116
1936
<tr>
2117
1937
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2118
 
<td> a pointer to a string that contains the name of the
2119
 
  specified public key signature algorithm, or <code class="literal">NULL</code>.
2120
 
 
 
1938
<td>
2121
1939
</td>
2122
1940
</tr>
2123
1941
</tbody>
2124
1942
</table></div>
2125
 
<p class="since">Since 2.6.0</p>
2126
1943
</div>
2127
1944
<hr>
2128
1945
<div class="refsect2" title="gnutls_mac_get_id ()">
2129
1946
<a name="gnutls-mac-get-id"></a><h3>gnutls_mac_get_id ()</h3>
2130
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a>  gnutls_mac_get_id               (const char *name);</pre>
2131
 
<p>
2132
 
Convert a string to a <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> value.  The names are
2133
 
compared in a case insensitive way.</p>
 
1947
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a>  gnutls_mac_get_id               (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2134
1948
<p>
2135
1949
</p>
2136
1950
<div class="variablelist"><table border="0">
2138
1952
<tbody>
2139
1953
<tr>
2140
1954
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2141
 
<td> is a MAC algorithm name
 
1955
<td>
2142
1956
</td>
2143
1957
</tr>
2144
1958
<tr>
2145
1959
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2146
 
<td> a <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> id of the specified MAC
2147
 
  algorithm string, or <code class="literal">GNUTLS_MAC_UNKNOWN</code> on failures.
 
1960
<td>
2148
1961
</td>
2149
1962
</tr>
2150
1963
</tbody>
2153
1966
<hr>
2154
1967
<div class="refsect2" title="gnutls_compression_get_id ()">
2155
1968
<a name="gnutls-compression-get-id"></a><h3>gnutls_compression_get_id ()</h3>
2156
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a>  gnutls_compression_get_id  (const char *name);</pre>
2157
 
<p>
2158
 
The names are compared in a case insensitive way.</p>
 
1969
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a>  gnutls_compression_get_id  (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2159
1970
<p>
2160
1971
</p>
2161
1972
<div class="variablelist"><table border="0">
2163
1974
<tbody>
2164
1975
<tr>
2165
1976
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2166
 
<td> is a compression method name
 
1977
<td>
2167
1978
</td>
2168
1979
</tr>
2169
1980
<tr>
2170
1981
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2171
 
<td> an id of the specified in a string compression method, or
2172
 
  <code class="literal">GNUTLS_COMP_UNKNOWN</code> on error.
 
1982
<td>
2173
1983
</td>
2174
1984
</tr>
2175
1985
</tbody>
2178
1988
<hr>
2179
1989
<div class="refsect2" title="gnutls_cipher_get_id ()">
2180
1990
<a name="gnutls-cipher-get-id"></a><h3>gnutls_cipher_get_id ()</h3>
2181
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a>  gnutls_cipher_get_id         (const char *name);</pre>
2182
 
<p>
2183
 
The names are compared in a case insensitive way.</p>
 
1991
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a>  gnutls_cipher_get_id         (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2184
1992
<p>
2185
1993
</p>
2186
1994
<div class="variablelist"><table border="0">
2188
1996
<tbody>
2189
1997
<tr>
2190
1998
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2191
 
<td> is a MAC algorithm name
 
1999
<td>
2192
2000
</td>
2193
2001
</tr>
2194
2002
<tr>
2195
2003
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2196
 
<td> return a <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> value corresponding to
2197
 
  the specified cipher, or <code class="literal">GNUTLS_CIPHER_UNKNOWN</code> on error.
 
2004
<td>
2198
2005
</td>
2199
2006
</tr>
2200
2007
</tbody>
2203
2010
<hr>
2204
2011
<div class="refsect2" title="gnutls_kx_get_id ()">
2205
2012
<a name="gnutls-kx-get-id"></a><h3>gnutls_kx_get_id ()</h3>
2206
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a>  gnutls_kx_get_id                 (const char *name);</pre>
2207
 
<p>
2208
 
Convert a string to a <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> value.  The names are
2209
 
compared in a case insensitive way.</p>
 
2013
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a>  gnutls_kx_get_id                 (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2210
2014
<p>
2211
2015
</p>
2212
2016
<div class="variablelist"><table border="0">
2214
2018
<tbody>
2215
2019
<tr>
2216
2020
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2217
 
<td> is a KX name
 
2021
<td>
2218
2022
</td>
2219
2023
</tr>
2220
2024
<tr>
2221
2025
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2222
 
<td> an id of the specified KX algorithm, or <code class="literal">GNUTLS_KX_UNKNOWN</code>
2223
 
  on error.
 
2026
<td>
2224
2027
</td>
2225
2028
</tr>
2226
2029
</tbody>
2229
2032
<hr>
2230
2033
<div class="refsect2" title="gnutls_protocol_get_id ()">
2231
2034
<a name="gnutls-protocol-get-id"></a><h3>gnutls_protocol_get_id ()</h3>
2232
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a>   gnutls_protocol_get_id              (const char *name);</pre>
2233
 
<p>
2234
 
The names are compared in a case insensitive way.</p>
 
2035
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="returnvalue">gnutls_protocol_t</span></a>   gnutls_protocol_get_id              (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2235
2036
<p>
2236
2037
</p>
2237
2038
<div class="variablelist"><table border="0">
2239
2040
<tbody>
2240
2041
<tr>
2241
2042
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2242
 
<td> is a protocol name
 
2043
<td>
2243
2044
</td>
2244
2045
</tr>
2245
2046
<tr>
2246
2047
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2247
 
<td> an id of the specified protocol, or
2248
 
<code class="literal">GNUTLS_VERSION_UNKNOWN</code> on error.
 
2048
<td>
2249
2049
</td>
2250
2050
</tr>
2251
2051
</tbody>
2254
2054
<hr>
2255
2055
<div class="refsect2" title="gnutls_certificate_type_get_id ()">
2256
2056
<a name="gnutls-certificate-type-get-id"></a><h3>gnutls_certificate_type_get_id ()</h3>
2257
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a>  gnutls_certificate_type_get_id
2258
 
                                                        (const char *name);</pre>
2259
 
<p>
2260
 
The names are compared in a case insensitive way.</p>
 
2057
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a>  gnutls_certificate_type_get_id
 
2058
                                                        (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2261
2059
<p>
2262
2060
</p>
2263
2061
<div class="variablelist"><table border="0">
2265
2063
<tbody>
2266
2064
<tr>
2267
2065
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2268
 
<td> is a certificate type name
 
2066
<td>
2269
2067
</td>
2270
2068
</tr>
2271
2069
<tr>
2272
2070
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2273
 
<td> a <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> for the specified in a
2274
 
  string certificate type, or <code class="literal">GNUTLS_CRT_UNKNOWN</code> on error.
 
2071
<td>
2275
2072
</td>
2276
2073
</tr>
2277
2074
</tbody>
2280
2077
<hr>
2281
2078
<div class="refsect2" title="gnutls_pk_get_id ()">
2282
2079
<a name="gnutls-pk-get-id"></a><h3>gnutls_pk_get_id ()</h3>
2283
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a>  gnutls_pk_get_id                 (const char *name);</pre>
2284
 
<p>
2285
 
Convert a string to a <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> value.  The names are
2286
 
compared in a case insensitive way.  For example,
2287
 
gnutls_pk_get_id("RSA") will return <code class="literal">GNUTLS_PK_RSA</code>.</p>
 
2080
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  gnutls_pk_get_id                 (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2288
2081
<p>
2289
2082
</p>
2290
2083
<div class="variablelist"><table border="0">
2292
2085
<tbody>
2293
2086
<tr>
2294
2087
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2295
 
<td> is a string containing a public key algorithm name.
 
2088
<td>
2296
2089
</td>
2297
2090
</tr>
2298
2091
<tr>
2299
2092
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2300
 
<td> a <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> id of the specified public key
2301
 
  algorithm string, or <code class="literal">GNUTLS_PK_UNKNOWN</code> on failures.
2302
 
 
 
2093
<td>
2303
2094
</td>
2304
2095
</tr>
2305
2096
</tbody>
2306
2097
</table></div>
2307
 
<p class="since">Since 2.6.0</p>
2308
2098
</div>
2309
2099
<hr>
2310
2100
<div class="refsect2" title="gnutls_sign_get_id ()">
2311
2101
<a name="gnutls-sign-get-id"></a><h3>gnutls_sign_get_id ()</h3>
2312
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a>  gnutls_sign_get_id             (const char *name);</pre>
2313
 
<p>
2314
 
The names are compared in a case insensitive way.</p>
 
2102
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="returnvalue">gnutls_sign_algorithm_t</span></a>  gnutls_sign_get_id             (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
2315
2103
<p>
2316
2104
</p>
2317
2105
<div class="variablelist"><table border="0">
2319
2107
<tbody>
2320
2108
<tr>
2321
2109
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
2322
 
<td> is a MAC algorithm name
 
2110
<td>
2323
2111
</td>
2324
2112
</tr>
2325
2113
<tr>
2326
2114
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2327
 
<td> return a <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a> value corresponding to
2328
 
  the specified cipher, or <code class="literal">GNUTLS_SIGN_UNKNOWN</code> on error.
 
2115
<td>
2329
2116
</td>
2330
2117
</tr>
2331
2118
</tbody>
2334
2121
<hr>
2335
2122
<div class="refsect2" title="gnutls_cipher_list ()">
2336
2123
<a name="gnutls-cipher-list"></a><h3>gnutls_cipher_list ()</h3>
2337
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> * gnutls_cipher_list    (void);</pre>
2338
 
<p>
2339
 
Get a list of supported cipher algorithms.  Note that not
2340
 
necessarily all ciphers are supported as TLS cipher suites.  For
2341
 
example, DES is not supported as a cipher suite, but is supported
2342
 
for other purposes (e.g., PKCS<span class="type">8</span> or similar).</p>
 
2124
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t"><span class="returnvalue">gnutls_cipher_algorithm_t</span></a> * gnutls_cipher_list    (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2343
2125
<p>
2344
2126
</p>
2345
2127
<div class="variablelist"><table border="0">
2346
2128
<col align="left" valign="top">
2347
2129
<tbody><tr>
2348
2130
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2349
 
<td> a zero-terminated list of <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>
2350
 
  integers indicating the available ciphers.
2351
 
 
 
2131
<td>
2352
2132
</td>
2353
2133
</tr></tbody>
2354
2134
</table></div>
2356
2136
<hr>
2357
2137
<div class="refsect2" title="gnutls_mac_list ()">
2358
2138
<a name="gnutls-mac-list"></a><h3>gnutls_mac_list ()</h3>
2359
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> * gnutls_mac_list          (void);</pre>
2360
 
<p>
2361
 
Get a list of hash algorithms for use as MACs.  Note that not
2362
 
necessarily all MACs are supported in TLS cipher suites.  For
2363
 
example, MD2 is not supported as a cipher suite, but is supported
2364
 
for other purposes (e.g., X.509 signature verification or similar).</p>
 
2139
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t"><span class="returnvalue">gnutls_mac_algorithm_t</span></a> * gnutls_mac_list          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2365
2140
<p>
2366
2141
</p>
2367
2142
<div class="variablelist"><table border="0">
2368
2143
<col align="left" valign="top">
2369
2144
<tbody><tr>
2370
2145
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2371
 
<td> Return a zero-terminated list of <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>
2372
 
  integers indicating the available MACs.
 
2146
<td>
2373
2147
</td>
2374
2148
</tr></tbody>
2375
2149
</table></div>
2377
2151
<hr>
2378
2152
<div class="refsect2" title="gnutls_compression_list ()">
2379
2153
<a name="gnutls-compression-list"></a><h3>gnutls_compression_list ()</h3>
2380
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t">gnutls_compression_method_t</a> * gnutls_compression_list
2381
 
                                                        (void);</pre>
2382
 
<p>
2383
 
Get a list of compression methods.  Note that to be able to use LZO
2384
 
compression, you must link to libgnutls-extra and call
2385
 
<a class="link" href="gnutls-extra.html#gnutls-global-init-extra" title="gnutls_global_init_extra ()"><code class="function">gnutls_global_init_extra()</code></a>.</p>
 
2154
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="returnvalue">gnutls_compression_method_t</span></a> * gnutls_compression_list
 
2155
                                                        (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2386
2156
<p>
2387
2157
</p>
2388
2158
<div class="variablelist"><table border="0">
2389
2159
<col align="left" valign="top">
2390
2160
<tbody><tr>
2391
2161
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2392
 
<td> a zero-terminated list of <a class="link" href="gnutls-gnutls.html#gnutls-compression-method-t" title="enum gnutls_compression_method_t"><span class="type">gnutls_compression_method_t</span></a>
2393
 
  integers indicating the available compression methods.
 
2162
<td>
2394
2163
</td>
2395
2164
</tr></tbody>
2396
2165
</table></div>
2398
2167
<hr>
2399
2168
<div class="refsect2" title="gnutls_protocol_list ()">
2400
2169
<a name="gnutls-protocol-list"></a><h3>gnutls_protocol_list ()</h3>
2401
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a> * gnutls_protocol_list          (void);</pre>
2402
 
<p>
2403
 
Get a list of supported protocols, e.g. SSL 3.0, TLS 1.0 etc.</p>
 
2170
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="returnvalue">gnutls_protocol_t</span></a> * gnutls_protocol_list          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2404
2171
<p>
2405
2172
</p>
2406
2173
<div class="variablelist"><table border="0">
2407
2174
<col align="left" valign="top">
2408
2175
<tbody><tr>
2409
2176
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2410
 
<td> a zero-terminated list of <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> integers
2411
 
indicating the available protocols.
2412
 
 
 
2177
<td>
2413
2178
</td>
2414
2179
</tr></tbody>
2415
2180
</table></div>
2417
2182
<hr>
2418
2183
<div class="refsect2" title="gnutls_certificate_type_list ()">
2419
2184
<a name="gnutls-certificate-type-list"></a><h3>gnutls_certificate_type_list ()</h3>
2420
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a> * gnutls_certificate_type_list
2421
 
                                                        (void);</pre>
2422
 
<p>
2423
 
Get a list of certificate types.  Note that to be able to use
2424
 
OpenPGP certificates, you must link to libgnutls-extra and call
2425
 
<a class="link" href="gnutls-extra.html#gnutls-global-init-extra" title="gnutls_global_init_extra ()"><code class="function">gnutls_global_init_extra()</code></a>.</p>
 
2185
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="returnvalue">gnutls_certificate_type_t</span></a> * gnutls_certificate_type_list
 
2186
                                                        (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2426
2187
<p>
2427
2188
</p>
2428
2189
<div class="variablelist"><table border="0">
2429
2190
<col align="left" valign="top">
2430
2191
<tbody><tr>
2431
2192
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2432
 
<td> a zero-terminated list of <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a>
2433
 
  integers indicating the available certificate types.
 
2193
<td>
2434
2194
</td>
2435
2195
</tr></tbody>
2436
2196
</table></div>
2438
2198
<hr>
2439
2199
<div class="refsect2" title="gnutls_kx_list ()">
2440
2200
<a name="gnutls-kx-list"></a><h3>gnutls_kx_list ()</h3>
2441
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> * gnutls_kx_list            (void);</pre>
2442
 
<p>
2443
 
Get a list of supported key exchange algorithms.</p>
 
2201
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="returnvalue">gnutls_kx_algorithm_t</span></a> * gnutls_kx_list            (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2444
2202
<p>
2445
2203
</p>
2446
2204
<div class="variablelist"><table border="0">
2447
2205
<col align="left" valign="top">
2448
2206
<tbody><tr>
2449
2207
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2450
 
<td> a zero-terminated list of <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> integers
2451
 
indicating the available key exchange algorithms.
 
2208
<td>
2452
2209
</td>
2453
2210
</tr></tbody>
2454
2211
</table></div>
2456
2213
<hr>
2457
2214
<div class="refsect2" title="gnutls_pk_list ()">
2458
2215
<a name="gnutls-pk-list"></a><h3>gnutls_pk_list ()</h3>
2459
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> * gnutls_pk_list            (void);</pre>
2460
 
<p>
2461
 
Get a list of supported public key algorithms.</p>
 
2216
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a> * gnutls_pk_list            (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2462
2217
<p>
2463
2218
</p>
2464
2219
<div class="variablelist"><table border="0">
2465
2220
<col align="left" valign="top">
2466
2221
<tbody><tr>
2467
2222
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2468
 
<td> a zero-terminated list of <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> integers
2469
 
  indicating the available ciphers.
2470
 
 
 
2223
<td>
2471
2224
</td>
2472
2225
</tr></tbody>
2473
2226
</table></div>
2474
 
<p class="since">Since 2.6.0</p>
2475
2227
</div>
2476
2228
<hr>
2477
2229
<div class="refsect2" title="gnutls_sign_list ()">
2478
2230
<a name="gnutls-sign-list"></a><h3>gnutls_sign_list ()</h3>
2479
 
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t">gnutls_sign_algorithm_t</a> * gnutls_sign_list        (void);</pre>
2480
 
<p>
2481
 
Get a list of supported public key signature algorithms.</p>
 
2231
<pre class="programlisting">const <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="returnvalue">gnutls_sign_algorithm_t</span></a> * gnutls_sign_list        (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2482
2232
<p>
2483
2233
</p>
2484
2234
<div class="variablelist"><table border="0">
2485
2235
<col align="left" valign="top">
2486
2236
<tbody><tr>
2487
2237
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2488
 
<td> a zero-terminated list of <a class="link" href="gnutls-gnutls.html#gnutls-sign-algorithm-t" title="enum gnutls_sign_algorithm_t"><span class="type">gnutls_sign_algorithm_t</span></a>
2489
 
  integers indicating the available ciphers.
2490
 
 
 
2238
<td>
2491
2239
</td>
2492
2240
</tr></tbody>
2493
2241
</table></div>
2495
2243
<hr>
2496
2244
<div class="refsect2" title="gnutls_cipher_suite_info ()">
2497
2245
<a name="gnutls-cipher-suite-info"></a><h3>gnutls_cipher_suite_info ()</h3>
2498
 
<pre class="programlisting">const char *        gnutls_cipher_suite_info            (size_t idx,
2499
 
                                                         char *cs_id,
2500
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> *kx,
2501
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> *cipher,
2502
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> *mac,
2503
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a> *version);</pre>
 
2246
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_cipher_suite_info            (<em class="parameter"><code><span class="type">size_t</span> idx</code></em>,
 
2247
                                                         <em class="parameter"><code><span class="type">char</span> *cs_id</code></em>,
 
2248
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> *kx</code></em>,
 
2249
                                                         <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>,
 
2250
                                                         <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> *mac</code></em>,
 
2251
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> *version</code></em>);</pre>
2504
2252
<p>
2505
2253
Get information about supported cipher suites.  Use the function
2506
2254
iteratively to get information about all supported cipher suites.
2507
2255
Call with idx=0 to get information about first cipher suite, then
2508
2256
idx=1 and so on until the function returns NULL.</p>
2509
 
<p>
2510
 
</p>
2511
2257
<div class="variablelist"><table border="0">
2512
2258
<col align="left" valign="top">
2513
2259
<tbody>
2514
2260
<tr>
2515
2261
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
2516
 
<td> index of cipher suite to get information about, starts on 0.
 
2262
<td>index of cipher suite to get information about, starts on 0.
2517
2263
</td>
2518
2264
</tr>
2519
2265
<tr>
2520
2266
<td><p><span class="term"><em class="parameter"><code>cs_id</code></em> :</span></p></td>
2521
 
<td> output buffer with room for 2 bytes, indicating cipher suite value
 
2267
<td>output buffer with room for 2 bytes, indicating cipher suite value
2522
2268
</td>
2523
2269
</tr>
2524
2270
<tr>
2525
2271
<td><p><span class="term"><em class="parameter"><code>kx</code></em> :</span></p></td>
2526
 
<td> output variable indicating key exchange algorithm, or <code class="literal">NULL</code>.
 
2272
<td>output variable indicating key exchange algorithm, or <code class="literal">NULL</code>.
2527
2273
</td>
2528
2274
</tr>
2529
2275
<tr>
2530
2276
<td><p><span class="term"><em class="parameter"><code>cipher</code></em> :</span></p></td>
2531
 
<td> output variable indicating cipher, or <code class="literal">NULL</code>.
 
2277
<td>output variable indicating cipher, or <code class="literal">NULL</code>.
2532
2278
</td>
2533
2279
</tr>
2534
2280
<tr>
2535
2281
<td><p><span class="term"><em class="parameter"><code>mac</code></em> :</span></p></td>
2536
 
<td> output variable indicating MAC algorithm, or <code class="literal">NULL</code>.
 
2282
<td>output variable indicating MAC algorithm, or <code class="literal">NULL</code>.
2537
2283
</td>
2538
2284
</tr>
2539
2285
<tr>
2540
2286
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
2541
 
<td> output variable indicating TLS protocol version, or <code class="literal">NULL</code>.
 
2287
<td>output variable indicating TLS protocol version, or <code class="literal">NULL</code>.
2542
2288
</td>
2543
2289
</tr>
2544
2290
<tr>
2554
2300
<hr>
2555
2301
<div class="refsect2" title="gnutls_error_is_fatal ()">
2556
2302
<a name="gnutls-error-is-fatal"></a><h3>gnutls_error_is_fatal ()</h3>
2557
 
<pre class="programlisting">int                 gnutls_error_is_fatal               (int error);</pre>
2558
 
<p>
2559
 
If a GnuTLS function returns a negative value you may feed that
2560
 
value to this function to see if the error condition is fatal.
2561
 
</p>
2562
 
<p>
2563
 
Note that you may want to check the error code manually, since some
2564
 
non-fatal errors to the protocol may be fatal for you program.
2565
 
</p>
2566
 
<p>
2567
 
This function is only useful if you are dealing with errors from
2568
 
the record layer or the handshake layer.</p>
 
2303
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_error_is_fatal               (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);</pre>
2569
2304
<p>
2570
2305
</p>
2571
2306
<div class="variablelist"><table border="0">
2573
2308
<tbody>
2574
2309
<tr>
2575
2310
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
2576
 
<td> is a GnuTLS error code, a negative value
 
2311
<td>
2577
2312
</td>
2578
2313
</tr>
2579
2314
<tr>
2580
2315
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2581
 
<td> 1 if the error code is fatal, for positive <em class="parameter"><code>error</code></em> values,
2582
 
  0 is returned.  For unknown <em class="parameter"><code>error</code></em> values, -1 is returned.
 
2316
<td>
2583
2317
</td>
2584
2318
</tr>
2585
2319
</tbody>
2588
2322
<hr>
2589
2323
<div class="refsect2" title="gnutls_error_to_alert ()">
2590
2324
<a name="gnutls-error-to-alert"></a><h3>gnutls_error_to_alert ()</h3>
2591
 
<pre class="programlisting">int                 gnutls_error_to_alert               (int err,
2592
 
                                                         int *level);</pre>
2593
 
<p>
2594
 
Get an alert depending on the error code returned by a gnutls
2595
 
function.  All alerts sent by this function should be considered
2596
 
fatal.  The only exception is when <em class="parameter"><code>err</code></em> is <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE--CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a>,
2597
 
where a warning alert should be sent to the peer indicating that no
2598
 
renegotiation will be performed.
2599
 
</p>
2600
 
<p>
2601
 
If there is no mapping to a valid alert the alert to indicate
2602
 
internal error is returned.</p>
 
2325
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_error_to_alert               (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>,
 
2326
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *level</code></em>);</pre>
2603
2327
<p>
2604
2328
</p>
2605
2329
<div class="variablelist"><table border="0">
2607
2331
<tbody>
2608
2332
<tr>
2609
2333
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
2610
 
<td> is a negative integer
 
2334
<td>
2611
2335
</td>
2612
2336
</tr>
2613
2337
<tr>
2614
2338
<td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
2615
 
<td> the alert level will be stored there
 
2339
<td>
2616
2340
</td>
2617
2341
</tr>
2618
2342
<tr>
2619
2343
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2620
 
<td> the alert code to use for a particular error code.
 
2344
<td>
2621
2345
</td>
2622
2346
</tr>
2623
2347
</tbody>
2626
2350
<hr>
2627
2351
<div class="refsect2" title="gnutls_perror ()">
2628
2352
<a name="gnutls-perror"></a><h3>gnutls_perror ()</h3>
2629
 
<pre class="programlisting">void                gnutls_perror                       (int error);</pre>
2630
 
<p>
2631
 
This function is like <code class="function">perror()</code>. The only difference is that it
2632
 
accepts an error number returned by a gnutls function.</p>
 
2353
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_perror                       (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);</pre>
2633
2354
<p>
2634
2355
</p>
2635
2356
<div class="variablelist"><table border="0">
2636
2357
<col align="left" valign="top">
2637
2358
<tbody><tr>
2638
2359
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
2639
 
<td> is a GnuTLS error code, a negative value
 
2360
<td>
2640
2361
</td>
2641
2362
</tr></tbody>
2642
2363
</table></div>
2644
2365
<hr>
2645
2366
<div class="refsect2" title="gnutls_strerror ()">
2646
2367
<a name="gnutls-strerror"></a><h3>gnutls_strerror ()</h3>
2647
 
<pre class="programlisting">const char *        gnutls_strerror                     (int error);</pre>
2648
 
<p>
2649
 
This function is similar to <code class="function">strerror()</code>.  Differences: it accepts an
2650
 
error number returned by a gnutls function; In case of an unknown
2651
 
error a descriptive string is sent instead of NULL.
2652
 
</p>
2653
 
<p>
2654
 
Error codes are always a negative value.</p>
 
2368
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_strerror                     (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);</pre>
2655
2369
<p>
2656
2370
</p>
2657
2371
<div class="variablelist"><table border="0">
2659
2373
<tbody>
2660
2374
<tr>
2661
2375
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
2662
 
<td> is a GnuTLS error code, a negative value
 
2376
<td>
2663
2377
</td>
2664
2378
</tr>
2665
2379
<tr>
2666
2380
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2667
 
<td> A string explaining the GnuTLS error message.
 
2381
<td>
2668
2382
</td>
2669
2383
</tr>
2670
2384
</tbody>
2673
2387
<hr>
2674
2388
<div class="refsect2" title="gnutls_strerror_name ()">
2675
2389
<a name="gnutls-strerror-name"></a><h3>gnutls_strerror_name ()</h3>
2676
 
<pre class="programlisting">const char *        gnutls_strerror_name                (int error);</pre>
 
2390
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_strerror_name                (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> error</code></em>);</pre>
2677
2391
<p>
2678
2392
Return the GnuTLS error code define as a string.  For example,
2679
2393
gnutls_strerror_name (GNUTLS_E_DH_PRIME_UNACCEPTABLE) will return
2680
2394
the string "GNUTLS_E_DH_PRIME_UNACCEPTABLE".</p>
2681
 
<p>
2682
 
</p>
2683
2395
<div class="variablelist"><table border="0">
2684
2396
<col align="left" valign="top">
2685
2397
<tbody>
2686
2398
<tr>
2687
2399
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
2688
 
<td> is an error returned by a gnutls function.
 
2400
<td>is an error returned by a gnutls function.
2689
2401
</td>
2690
2402
</tr>
2691
2403
<tr>
2702
2414
<hr>
2703
2415
<div class="refsect2" title="gnutls_handshake_set_private_extensions ()">
2704
2416
<a name="gnutls-handshake-set-private-extensions"></a><h3>gnutls_handshake_set_private_extensions ()</h3>
2705
 
<pre class="programlisting">void                gnutls_handshake_set_private_extensions
2706
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
2707
 
                                                         int allow);</pre>
2708
 
<p>
2709
 
This function will enable or disable the use of private cipher
2710
 
suites (the ones that start with 0xFF).  By default or if <em class="parameter"><code>allow</code></em>
2711
 
is 0 then these cipher suites will not be advertized nor used.
2712
 
</p>
2713
 
<p>
2714
 
Unless this function is called with the option to allow (1), then
2715
 
no compression algorithms, like LZO.  That is because these
2716
 
algorithms are not yet defined in any RFC or even internet draft.
2717
 
</p>
2718
 
<p>
2719
 
Enabling the private ciphersuites when talking to other than
2720
 
gnutls servers and clients may cause interoperability problems.</p>
 
2417
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_handshake_set_private_extensions
 
2418
                                                        (<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>,
 
2419
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> allow</code></em>);</pre>
2721
2420
<p>
2722
2421
</p>
2723
2422
<div class="variablelist"><table border="0">
2725
2424
<tbody>
2726
2425
<tr>
2727
2426
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2728
 
<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.
 
2427
<td>
2729
2428
</td>
2730
2429
</tr>
2731
2430
<tr>
2732
2431
<td><p><span class="term"><em class="parameter"><code>allow</code></em> :</span></p></td>
2733
 
<td> is an integer (0 or 1)
 
2432
<td>
2734
2433
</td>
2735
2434
</tr>
2736
2435
</tbody>
2739
2438
<hr>
2740
2439
<div class="refsect2" title="gnutls_handshake_get_last_out ()">
2741
2440
<a name="gnutls-handshake-get-last-out"></a><h3>gnutls_handshake_get_last_out ()</h3>
2742
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t">gnutls_handshake_description_t</a>  gnutls_handshake_get_last_out
2743
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
2744
 
<p>
2745
 
This function is only useful to check where the last performed
2746
 
handshake failed.  If the previous handshake succeed or was not
2747
 
performed at all then no meaningful value will be returned.
2748
 
</p>
2749
 
<p>
2750
 
Check <a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a> in gnutls.h for the
2751
 
available handshake descriptions.</p>
 
2441
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a>  gnutls_handshake_get_last_out
 
2442
                                                        (<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>
2752
2443
<p>
2753
2444
</p>
2754
2445
<div class="variablelist"><table border="0">
2756
2447
<tbody>
2757
2448
<tr>
2758
2449
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2759
 
<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.
 
2450
<td>
2760
2451
</td>
2761
2452
</tr>
2762
2453
<tr>
2763
2454
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2764
 
<td> the last handshake message type sent, a
2765
 
<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a>.
 
2455
<td>
2766
2456
</td>
2767
2457
</tr>
2768
2458
</tbody>
2771
2461
<hr>
2772
2462
<div class="refsect2" title="gnutls_handshake_get_last_in ()">
2773
2463
<a name="gnutls-handshake-get-last-in"></a><h3>gnutls_handshake_get_last_in ()</h3>
2774
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t">gnutls_handshake_description_t</a>  gnutls_handshake_get_last_in
2775
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
2776
 
<p>
2777
 
This function is only useful to check where the last performed
2778
 
handshake failed.  If the previous handshake succeed or was not
2779
 
performed at all then no meaningful value will be returned.
2780
 
</p>
2781
 
<p>
2782
 
Check <a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a> in gnutls.h for the
2783
 
available handshake descriptions.</p>
 
2464
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><span class="returnvalue">gnutls_handshake_description_t</span></a>  gnutls_handshake_get_last_in
 
2465
                                                        (<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>
2784
2466
<p>
2785
2467
</p>
2786
2468
<div class="variablelist"><table border="0">
2788
2470
<tbody>
2789
2471
<tr>
2790
2472
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2791
 
<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.
 
2473
<td>
2792
2474
</td>
2793
2475
</tr>
2794
2476
<tr>
2795
2477
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2796
 
<td> the last handshake message type received, a
2797
 
<a class="link" href="gnutls-gnutls.html#gnutls-handshake-description-t" title="enum gnutls_handshake_description_t"><code class="literal">gnutls_handshake_description_t</code></a>.
 
2478
<td>
2798
2479
</td>
2799
2480
</tr>
2800
2481
</tbody>
2803
2484
<hr>
2804
2485
<div class="refsect2" title="gnutls_record_send ()">
2805
2486
<a name="gnutls-record-send"></a><h3>gnutls_record_send ()</h3>
2806
 
<pre class="programlisting">ssize_t             gnutls_record_send                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
2807
 
                                                         const void *data,
2808
 
                                                         size_t sizeofdata);</pre>
2809
 
<p>
2810
 
This function has the similar semantics with <code class="function">send()</code>.  The only
2811
 
difference is that it accepts a GnuTLS session, and uses different
2812
 
error codes.
2813
 
</p>
2814
 
<p>
2815
 
Note that if the send buffer is full, <code class="function">send()</code> will block this
2816
 
function.  See the <code class="function">send()</code> documentation for full information.  You
2817
 
can replace the default push function by using
2818
 
<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()"><code class="function">gnutls_transport_set_ptr2()</code></a> with a call to <code class="function">send()</code> with a
2819
 
MSG_DONTWAIT flag if blocking is a problem.
2820
 
</p>
2821
 
<p>
2822
 
If the EINTR is returned by the internal push function (the
2823
 
default 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
2824
 
<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
2825
 
call this function again, with the same parameters; alternatively
2826
 
you could provide a <code class="literal">NULL</code> pointer for data, and 0 for
2827
 
size. cf. <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>.</p>
 
2487
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             gnutls_record_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>,
 
2488
                                                         <em class="parameter"><code>const <span class="type">void</span> *data</code></em>,
 
2489
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);</pre>
2828
2490
<p>
2829
2491
</p>
2830
2492
<div class="variablelist"><table border="0">
2832
2494
<tbody>
2833
2495
<tr>
2834
2496
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2835
 
<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.
 
2497
<td>
2836
2498
</td>
2837
2499
</tr>
2838
2500
<tr>
2839
2501
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2840
 
<td> contains the data to send
 
2502
<td>
2841
2503
</td>
2842
2504
</tr>
2843
2505
<tr>
2844
2506
<td><p><span class="term"><em class="parameter"><code>sizeofdata</code></em> :</span></p></td>
2845
 
<td> is the length of the data
 
2507
<td>
2846
2508
</td>
2847
2509
</tr>
2848
2510
<tr>
2849
2511
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2850
 
<td> the number of bytes sent, or a negative error code.  The
2851
 
number of bytes sent might be less than <em class="parameter"><code>sizeofdata</code></em>.  The maximum
2852
 
number of bytes this function can send in a single call depends on
2853
 
the negotiated maximum record size.
 
2512
<td>
2854
2513
</td>
2855
2514
</tr>
2856
2515
</tbody>
2859
2518
<hr>
2860
2519
<div class="refsect2" title="gnutls_record_recv ()">
2861
2520
<a name="gnutls-record-recv"></a><h3>gnutls_record_recv ()</h3>
2862
 
<pre class="programlisting">ssize_t             gnutls_record_recv                  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
2863
 
                                                         void *data,
2864
 
                                                         size_t sizeofdata);</pre>
2865
 
<p>
2866
 
This function has the similar semantics with <code class="function">recv()</code>.  The only
2867
 
difference is that it accepts a GnuTLS session, and uses different
2868
 
error codes.
2869
 
</p>
2870
 
<p>
2871
 
In the special case that a server requests a renegotiation, the
2872
 
client may receive an error code of <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE--CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a>.  This
2873
 
message may be simply ignored, replied with an alert
2874
 
<code class="literal">GNUTLS_A_NO_RENEGOTIATION</code>, or replied with a new handshake,
2875
 
depending on the client's will.
2876
 
</p>
2877
 
<p>
2878
 
If <code class="literal">EINTR</code> is returned by the internal push function (the default
2879
 
is <code class="function">recv()</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
2880
 
<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
2881
 
call this function again to get the data.  See also
2882
 
<a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a>.
2883
 
</p>
2884
 
<p>
2885
 
A server may also receive <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REHANDSHAKE--CAPS" title="GNUTLS_E_REHANDSHAKE"><code class="literal">GNUTLS_E_REHANDSHAKE</code></a> when a client has
2886
 
initiated a handshake. In that case the server can only initiate a
2887
 
handshake or terminate the connection.</p>
 
2521
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             gnutls_record_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>,
 
2522
                                                         <em class="parameter"><code><span class="type">void</span> *data</code></em>,
 
2523
                                                         <em class="parameter"><code><span class="type">size_t</span> sizeofdata</code></em>);</pre>
2888
2524
<p>
2889
2525
</p>
2890
2526
<div class="variablelist"><table border="0">
2892
2528
<tbody>
2893
2529
<tr>
2894
2530
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2895
 
<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.
 
2531
<td>
2896
2532
</td>
2897
2533
</tr>
2898
2534
<tr>
2899
2535
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2900
 
<td> the buffer that the data will be read into
 
2536
<td>
2901
2537
</td>
2902
2538
</tr>
2903
2539
<tr>
2904
2540
<td><p><span class="term"><em class="parameter"><code>sizeofdata</code></em> :</span></p></td>
2905
 
<td> the number of requested bytes
 
2541
<td>
2906
2542
</td>
2907
2543
</tr>
2908
2544
<tr>
2909
2545
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2910
 
<td> the number of bytes received and zero on EOF.  A negative
2911
 
error code is returned in case of an error.  The number of bytes
2912
 
received might be less than <em class="parameter"><code>sizeofdata</code></em>.
 
2546
<td>
2913
2547
</td>
2914
2548
</tr>
2915
2549
</tbody>
2934
2568
<hr>
2935
2569
<div class="refsect2" title="gnutls_session_enable_compatibility_mode ()">
2936
2570
<a name="gnutls-session-enable-compatibility-mode"></a><h3>gnutls_session_enable_compatibility_mode ()</h3>
2937
 
<pre class="programlisting">void                gnutls_session_enable_compatibility_mode
2938
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
2939
 
<p>
2940
 
This function can be used to disable certain (security) features in
2941
 
TLS in order to maintain maximum compatibility with buggy
2942
 
clients. It is equivalent to calling:
2943
 
<a class="link" href="gnutls-gnutls.html#gnutls-record-disable-padding" title="gnutls_record_disable_padding ()"><code class="function">gnutls_record_disable_padding()</code></a>
2944
 
</p>
2945
 
<p>
2946
 
Normally only servers that require maximum compatibility with
2947
 
everything out there, need to call this function.</p>
 
2571
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_session_enable_compatibility_mode
 
2572
                                                        (<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>
2948
2573
<p>
2949
2574
</p>
2950
2575
<div class="variablelist"><table border="0">
2951
2576
<col align="left" valign="top">
2952
2577
<tbody><tr>
2953
2578
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2954
 
<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.
 
2579
<td>
2955
2580
</td>
2956
2581
</tr></tbody>
2957
2582
</table></div>
2959
2584
<hr>
2960
2585
<div class="refsect2" title="gnutls_record_disable_padding ()">
2961
2586
<a name="gnutls-record-disable-padding"></a><h3>gnutls_record_disable_padding ()</h3>
2962
 
<pre class="programlisting">void                gnutls_record_disable_padding       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
2963
 
<p>
2964
 
Used to disabled padding in TLS 1.0 and above.  Normally you do
2965
 
not need to use this function, but there are buggy clients that
2966
 
complain if a server pads the encrypted data.  This of course will
2967
 
disable protection against statistical attacks on the data.
2968
 
</p>
2969
 
<p>
2970
 
Normally only servers that require maximum compatibility with everything
2971
 
out there, need to call this function.</p>
 
2587
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_record_disable_padding       (<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>
2972
2588
<p>
2973
2589
</p>
2974
2590
<div class="variablelist"><table border="0">
2975
2591
<col align="left" valign="top">
2976
2592
<tbody><tr>
2977
2593
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
2978
 
<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.
 
2594
<td>
2979
2595
</td>
2980
2596
</tr></tbody>
2981
2597
</table></div>
2983
2599
<hr>
2984
2600
<div class="refsect2" title="gnutls_record_get_direction ()">
2985
2601
<a name="gnutls-record-get-direction"></a><h3>gnutls_record_get_direction ()</h3>
2986
 
<pre class="programlisting">int                 gnutls_record_get_direction         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
2987
 
<p>
2988
 
This function provides information about the internals of the
2989
 
record protocol and is only useful if a prior gnutls function call
2990
 
(e.g.  <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a>) was interrupted for some reason, that
2991
 
is, if a function returned <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INTERRUPTED--CAPS" title="GNUTLS_E_INTERRUPTED"><code class="literal">GNUTLS_E_INTERRUPTED</code></a> or
2992
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-AGAIN--CAPS" title="GNUTLS_E_AGAIN"><code class="literal">GNUTLS_E_AGAIN</code></a>.  In such a case, you might want to call <code class="function">select()</code>
2993
 
or <code class="function">poll()</code> before calling the interrupted gnutls function again.  To
2994
 
tell you whether a file descriptor should be selected for either
2995
 
reading or writing, <a class="link" href="gnutls-gnutls.html#gnutls-record-get-direction" title="gnutls_record_get_direction ()"><code class="function">gnutls_record_get_direction()</code></a> returns 0 if the
2996
 
interrupted function was trying to read data, and 1 if it was
2997
 
trying to write data.</p>
 
2602
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_record_get_direction         (<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>
2998
2603
<p>
2999
2604
</p>
3000
2605
<div class="variablelist"><table border="0">
3002
2607
<tbody>
3003
2608
<tr>
3004
2609
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3005
 
<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.
 
2610
<td>
3006
2611
</td>
3007
2612
</tr>
3008
2613
<tr>
3009
2614
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3010
 
<td> 0 if trying to read data, 1 if trying to write data.
 
2615
<td>
3011
2616
</td>
3012
2617
</tr>
3013
2618
</tbody>
3016
2621
<hr>
3017
2622
<div class="refsect2" title="gnutls_record_get_max_size ()">
3018
2623
<a name="gnutls-record-get-max-size"></a><h3>gnutls_record_get_max_size ()</h3>
3019
 
<pre class="programlisting">size_t              gnutls_record_get_max_size          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
3020
 
<p>
3021
 
Get the record size.  The maximum record size is negotiated by the
3022
 
client after the first handshake message.</p>
 
2624
<pre class="programlisting"><span class="returnvalue">size_t</span>              gnutls_record_get_max_size          (<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>
3023
2625
<p>
3024
2626
</p>
3025
2627
<div class="variablelist"><table border="0">
3027
2629
<tbody>
3028
2630
<tr>
3029
2631
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3030
 
<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.
 
2632
<td>
3031
2633
</td>
3032
2634
</tr>
3033
2635
<tr>
3034
2636
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3035
 
<td> The maximum record packet size in this connection.
 
2637
<td>
3036
2638
</td>
3037
2639
</tr>
3038
2640
</tbody>
3041
2643
<hr>
3042
2644
<div class="refsect2" title="gnutls_record_set_max_size ()">
3043
2645
<a name="gnutls-record-set-max-size"></a><h3>gnutls_record_set_max_size ()</h3>
3044
 
<pre class="programlisting">ssize_t             gnutls_record_set_max_size          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3045
 
                                                         size_t size);</pre>
3046
 
<p>
3047
 
This function sets the maximum record packet size in this
3048
 
connection.  This property can only be set to clients.  The server
3049
 
may choose not to accept the requested size.
3050
 
</p>
3051
 
<p>
3052
 
Acceptable values are 512(=2^9), 1024(=2^10), 2048(=2^11) and
3053
 
4096(=2^12).  The requested record size does get in effect
3054
 
immediately only while sending data. The receive part will take
3055
 
effect after a successful handshake.
3056
 
</p>
3057
 
<p>
3058
 
This function uses a TLS extension called 'max record size'.  Not
3059
 
all TLS implementations use or even understand this extension.</p>
 
2646
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             gnutls_record_set_max_size          (<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>,
 
2647
                                                         <em class="parameter"><code><span class="type">size_t</span> size</code></em>);</pre>
3060
2648
<p>
3061
2649
</p>
3062
2650
<div class="variablelist"><table border="0">
3064
2652
<tbody>
3065
2653
<tr>
3066
2654
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3067
 
<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.
 
2655
<td>
3068
2656
</td>
3069
2657
</tr>
3070
2658
<tr>
3071
2659
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
3072
 
<td> is the new size
 
2660
<td>
3073
2661
</td>
3074
2662
</tr>
3075
2663
<tr>
3076
2664
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3077
 
<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,
3078
 
  otherwise an error code is returned.
 
2665
<td>
3079
2666
</td>
3080
2667
</tr>
3081
2668
</tbody>
3084
2671
<hr>
3085
2672
<div class="refsect2" title="gnutls_record_check_pending ()">
3086
2673
<a name="gnutls-record-check-pending"></a><h3>gnutls_record_check_pending ()</h3>
3087
 
<pre class="programlisting">size_t              gnutls_record_check_pending         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
3088
 
<p>
3089
 
This function checks if there are any data to receive in the gnutls
3090
 
buffers.
3091
 
</p>
3092
 
<p>
3093
 
Notice that you may also use <code class="function">select()</code> to check for data in a TCP
3094
 
connection, instead of this function.  GnuTLS leaves some data in
3095
 
the tcp buffer in order for select to work.</p>
 
2674
<pre class="programlisting"><span class="returnvalue">size_t</span>              gnutls_record_check_pending         (<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>
3096
2675
<p>
3097
2676
</p>
3098
2677
<div class="variablelist"><table border="0">
3100
2679
<tbody>
3101
2680
<tr>
3102
2681
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3103
 
<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.
 
2682
<td>
3104
2683
</td>
3105
2684
</tr>
3106
2685
<tr>
3107
2686
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3108
 
<td> the size of that data or 0.
 
2687
<td>
3109
2688
</td>
3110
2689
</tr>
3111
2690
</tbody>
3114
2693
<hr>
3115
2694
<div class="refsect2" title="gnutls_prf ()">
3116
2695
<a name="gnutls-prf"></a><h3>gnutls_prf ()</h3>
3117
 
<pre class="programlisting">int                 gnutls_prf                          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3118
 
                                                         size_t label_size,
3119
 
                                                         const char *label,
3120
 
                                                         int server_random_first,
3121
 
                                                         size_t extra_size,
3122
 
                                                         const char *extra,
3123
 
                                                         size_t outsize,
3124
 
                                                         char *out);</pre>
3125
 
<p>
3126
 
Apply the TLS Pseudo-Random-Function (PRF) using the master secret
3127
 
on some data, seeded with the client and server random fields.
3128
 
</p>
3129
 
<p>
3130
 
The <em class="parameter"><code>label</code></em> variable usually contain a string denoting the purpose
3131
 
for the generated data.  The <em class="parameter"><code>server_random_first</code></em> indicate whether
3132
 
the client random field or the server random field should be first
3133
 
in the seed.  Non-0 indicate that the server random field is first,
3134
 
0 that the client random field is first.
3135
 
</p>
3136
 
<p>
3137
 
The <em class="parameter"><code>extra</code></em> variable can be used to add more data to the seed, after
3138
 
the random variables.  It can be used to tie make sure the
3139
 
generated output is strongly connected to some additional data
3140
 
(e.g., a string used in user authentication).
3141
 
</p>
3142
 
<p>
3143
 
The output is placed in *<em class="parameter"><code>OUT</code></em>, which must be pre-allocated.</p>
 
2696
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_prf                          (<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>,
 
2697
                                                         <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>,
 
2698
                                                         <em class="parameter"><code>const <span class="type">char</span> *label</code></em>,
 
2699
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> server_random_first</code></em>,
 
2700
                                                         <em class="parameter"><code><span class="type">size_t</span> extra_size</code></em>,
 
2701
                                                         <em class="parameter"><code>const <span class="type">char</span> *extra</code></em>,
 
2702
                                                         <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>,
 
2703
                                                         <em class="parameter"><code><span class="type">char</span> *out</code></em>);</pre>
3144
2704
<p>
3145
2705
</p>
3146
2706
<div class="variablelist"><table border="0">
3148
2708
<tbody>
3149
2709
<tr>
3150
2710
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3151
 
<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.
 
2711
<td>
3152
2712
</td>
3153
2713
</tr>
3154
2714
<tr>
3155
2715
<td><p><span class="term"><em class="parameter"><code>label_size</code></em> :</span></p></td>
3156
 
<td> length of the <em class="parameter"><code>label</code></em> variable.
 
2716
<td>
3157
2717
</td>
3158
2718
</tr>
3159
2719
<tr>
3160
2720
<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
3161
 
<td> label used in PRF computation, typically a short string.
 
2721
<td>
3162
2722
</td>
3163
2723
</tr>
3164
2724
<tr>
3165
2725
<td><p><span class="term"><em class="parameter"><code>server_random_first</code></em> :</span></p></td>
3166
 
<td> non-0 if server random field should be first in seed
 
2726
<td>
3167
2727
</td>
3168
2728
</tr>
3169
2729
<tr>
3170
2730
<td><p><span class="term"><em class="parameter"><code>extra_size</code></em> :</span></p></td>
3171
 
<td> length of the <em class="parameter"><code>extra</code></em> variable.
 
2731
<td>
3172
2732
</td>
3173
2733
</tr>
3174
2734
<tr>
3175
2735
<td><p><span class="term"><em class="parameter"><code>extra</code></em> :</span></p></td>
3176
 
<td> optional extra data to seed the PRF with.
 
2736
<td>
3177
2737
</td>
3178
2738
</tr>
3179
2739
<tr>
3180
2740
<td><p><span class="term"><em class="parameter"><code>outsize</code></em> :</span></p></td>
3181
 
<td> size of pre-allocated output buffer to hold the output.
 
2741
<td>
3182
2742
</td>
3183
2743
</tr>
3184
2744
<tr>
3185
2745
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
3186
 
<td> pre-allocate buffer to hold the generated data.
 
2746
<td>
3187
2747
</td>
3188
2748
</tr>
3189
2749
<tr>
3190
2750
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3191
 
<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, or an error code.
 
2751
<td>
3192
2752
</td>
3193
2753
</tr>
3194
2754
</tbody>
3197
2757
<hr>
3198
2758
<div class="refsect2" title="gnutls_prf_raw ()">
3199
2759
<a name="gnutls-prf-raw"></a><h3>gnutls_prf_raw ()</h3>
3200
 
<pre class="programlisting">int                 gnutls_prf_raw                      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3201
 
                                                         size_t label_size,
3202
 
                                                         const char *label,
3203
 
                                                         size_t seed_size,
3204
 
                                                         const char *seed,
3205
 
                                                         size_t outsize,
3206
 
                                                         char *out);</pre>
3207
 
<p>
3208
 
Apply the TLS Pseudo-Random-Function (PRF) using the master secret
3209
 
on some data.
3210
 
</p>
3211
 
<p>
3212
 
The <em class="parameter"><code>label</code></em> variable usually contain a string denoting the purpose
3213
 
for the generated data.  The <em class="parameter"><code>seed</code></em> usually contain data such as the
3214
 
client and server random, perhaps together with some additional
3215
 
data that is added to guarantee uniqueness of the output for a
3216
 
particular purpose.
3217
 
</p>
3218
 
<p>
3219
 
Because the output is not guaranteed to be unique for a particular
3220
 
session unless <em class="parameter"><code>seed</code></em> include the client random and server random
3221
 
fields (the PRF would output the same data on another connection
3222
 
resumed from the first one), it is not recommended to use this
3223
 
function directly.  The <a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()"><code class="function">gnutls_prf()</code></a> function seed the PRF with the
3224
 
client and server random fields directly, and is recommended if you
3225
 
want to generate pseudo random data unique for each session.</p>
 
2760
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_prf_raw                      (<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>,
 
2761
                                                         <em class="parameter"><code><span class="type">size_t</span> label_size</code></em>,
 
2762
                                                         <em class="parameter"><code>const <span class="type">char</span> *label</code></em>,
 
2763
                                                         <em class="parameter"><code><span class="type">size_t</span> seed_size</code></em>,
 
2764
                                                         <em class="parameter"><code>const <span class="type">char</span> *seed</code></em>,
 
2765
                                                         <em class="parameter"><code><span class="type">size_t</span> outsize</code></em>,
 
2766
                                                         <em class="parameter"><code><span class="type">char</span> *out</code></em>);</pre>
3226
2767
<p>
3227
2768
</p>
3228
2769
<div class="variablelist"><table border="0">
3230
2771
<tbody>
3231
2772
<tr>
3232
2773
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3233
 
<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.
 
2774
<td>
3234
2775
</td>
3235
2776
</tr>
3236
2777
<tr>
3237
2778
<td><p><span class="term"><em class="parameter"><code>label_size</code></em> :</span></p></td>
3238
 
<td> length of the <em class="parameter"><code>label</code></em> variable.
 
2779
<td>
3239
2780
</td>
3240
2781
</tr>
3241
2782
<tr>
3242
2783
<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
3243
 
<td> label used in PRF computation, typically a short string.
 
2784
<td>
3244
2785
</td>
3245
2786
</tr>
3246
2787
<tr>
3247
2788
<td><p><span class="term"><em class="parameter"><code>seed_size</code></em> :</span></p></td>
3248
 
<td> length of the <em class="parameter"><code>seed</code></em> variable.
 
2789
<td>
3249
2790
</td>
3250
2791
</tr>
3251
2792
<tr>
3252
2793
<td><p><span class="term"><em class="parameter"><code>seed</code></em> :</span></p></td>
3253
 
<td> optional extra data to seed the PRF with.
 
2794
<td>
3254
2795
</td>
3255
2796
</tr>
3256
2797
<tr>
3257
2798
<td><p><span class="term"><em class="parameter"><code>outsize</code></em> :</span></p></td>
3258
 
<td> size of pre-allocated output buffer to hold the output.
 
2799
<td>
3259
2800
</td>
3260
2801
</tr>
3261
2802
<tr>
3262
2803
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
3263
 
<td> pre-allocate buffer to hold the generated data.
 
2804
<td>
3264
2805
</td>
3265
2806
</tr>
3266
2807
<tr>
3267
2808
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3268
 
<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, or an error code.
 
2809
<td>
3269
2810
</td>
3270
2811
</tr>
3271
2812
</tbody>
3274
2815
<hr>
3275
2816
<div class="refsect2" title="gnutls_ext_recv_func ()">
3276
2817
<a name="gnutls-ext-recv-func"></a><h3>gnutls_ext_recv_func ()</h3>
3277
 
<pre class="programlisting">int                 (*gnutls_ext_recv_func)             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3278
 
                                                         unsigned char *data,
3279
 
                                                         size_t len);</pre>
 
2818
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_ext_recv_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>,
 
2819
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>,
 
2820
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
3280
2821
<p>
3281
2822
</p>
3282
2823
<div class="variablelist"><table border="0">
3308
2849
<hr>
3309
2850
<div class="refsect2" title="gnutls_ext_send_func ()">
3310
2851
<a name="gnutls-ext-send-func"></a><h3>gnutls_ext_send_func ()</h3>
3311
 
<pre class="programlisting">int                 (*gnutls_ext_send_func)             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3312
 
                                                         unsigned char *data,
3313
 
                                                         size_t len);</pre>
 
2852
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_ext_send_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>,
 
2853
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>,
 
2854
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
3314
2855
<p>
3315
2856
</p>
3316
2857
<div class="variablelist"><table border="0">
3355
2896
<hr>
3356
2897
<div class="refsect2" title="gnutls_ext_register ()">
3357
2898
<a name="gnutls-ext-register"></a><h3>gnutls_ext_register ()</h3>
3358
 
<pre class="programlisting">int                 gnutls_ext_register                 (int type,
3359
 
                                                         const char *name,
3360
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t">gnutls_ext_parse_type_t</a> parse_type,
3361
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()">gnutls_ext_recv_func</a> recv_func,
3362
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()">gnutls_ext_send_func</a> send_func);</pre>
3363
 
<p>
3364
 
This function is used to register a new TLS extension handler.</p>
 
2899
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_ext_register                 (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> type</code></em>,
 
2900
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
 
2901
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-parse-type-t" title="enum gnutls_ext_parse_type_t"><span class="type">gnutls_ext_parse_type_t</span></a> parse_type</code></em>,
 
2902
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-recv-func" title="gnutls_ext_recv_func ()"><span class="type">gnutls_ext_recv_func</span></a> recv_func</code></em>,
 
2903
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-ext-send-func" title="gnutls_ext_send_func ()"><span class="type">gnutls_ext_send_func</span></a> send_func</code></em>);</pre>
3365
2904
<p>
3366
2905
</p>
3367
2906
<div class="variablelist"><table border="0">
3369
2908
<tbody>
3370
2909
<tr>
3371
2910
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3372
 
<td> the 16-bit integer referring to the extension type
 
2911
<td>
3373
2912
</td>
3374
2913
</tr>
3375
2914
<tr>
3376
2915
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
3377
 
<td> human printable name of the extension used for debugging
 
2916
<td>
3378
2917
</td>
3379
2918
</tr>
3380
2919
<tr>
3381
2920
<td><p><span class="term"><em class="parameter"><code>parse_type</code></em> :</span></p></td>
3382
 
<td> either <span class="type">GNUTLS_EXT_TLS</span> or <code class="literal">GNUTLS_EXT_APPLICATION</code>.
 
2921
<td>
3383
2922
</td>
3384
2923
</tr>
3385
2924
<tr>
3386
2925
<td><p><span class="term"><em class="parameter"><code>recv_func</code></em> :</span></p></td>
3387
 
<td> a function to receive extension data
 
2926
<td>
3388
2927
</td>
3389
2928
</tr>
3390
2929
<tr>
3391
2930
<td><p><span class="term"><em class="parameter"><code>send_func</code></em> :</span></p></td>
3392
 
<td> a function to send extension data
 
2931
<td>
3393
2932
</td>
3394
2933
</tr>
3395
2934
<tr>
3396
2935
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3397
 
<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, or an error code.
3398
 
 
 
2936
<td>
3399
2937
</td>
3400
2938
</tr>
3401
2939
</tbody>
3402
2940
</table></div>
3403
 
<p class="since">Since 2.6.0</p>
3404
2941
</div>
3405
2942
<hr>
3406
2943
<div class="refsect2" title="enum gnutls_server_name_type_t">
3416
2953
<hr>
3417
2954
<div class="refsect2" title="gnutls_server_name_set ()">
3418
2955
<a name="gnutls-server-name-set"></a><h3>gnutls_server_name_set ()</h3>
3419
 
<pre class="programlisting">int                 gnutls_server_name_set              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3420
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t">gnutls_server_name_type_t</a> type,
3421
 
                                                         const void *name,
3422
 
                                                         size_t name_length);</pre>
3423
 
<p>
3424
 
This function is to be used by clients that want to inform (via a
3425
 
TLS extension mechanism) the server of the name they connected to.
3426
 
This should be used by clients that connect to servers that do
3427
 
virtual hosting.
3428
 
</p>
3429
 
<p>
3430
 
The value of <em class="parameter"><code>name</code></em> depends on the <em class="parameter"><code>ind</code></em> type. In case of
3431
 
GNUTLS_NAME_DNS, an ASCII or UTF-8 null terminated string, without
3432
 
the trailing dot, is expected.  IPv4 or IPv6 addresses are not
3433
 
permitted.</p>
 
2956
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_server_name_set              (<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>,
 
2957
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-server-name-type-t" title="enum gnutls_server_name_type_t"><span class="type">gnutls_server_name_type_t</span></a> type</code></em>,
 
2958
                                                         <em class="parameter"><code>const <span class="type">void</span> *name</code></em>,
 
2959
                                                         <em class="parameter"><code><span class="type">size_t</span> name_length</code></em>);</pre>
3434
2960
<p>
3435
2961
</p>
3436
2962
<div class="variablelist"><table border="0">
3438
2964
<tbody>
3439
2965
<tr>
3440
2966
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3441
 
<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.
 
2967
<td>
3442
2968
</td>
3443
2969
</tr>
3444
2970
<tr>
3445
2971
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3446
 
<td> specifies the indicator type
 
2972
<td>
3447
2973
</td>
3448
2974
</tr>
3449
2975
<tr>
3450
2976
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
3451
 
<td> is a string that contains the server name.
 
2977
<td>
3452
2978
</td>
3453
2979
</tr>
3454
2980
<tr>
3455
2981
<td><p><span class="term"><em class="parameter"><code>name_length</code></em> :</span></p></td>
3456
 
<td> holds the length of name
 
2982
<td>
3457
2983
</td>
3458
2984
</tr>
3459
2985
<tr>
3460
2986
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3461
 
<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,
3462
 
  otherwise an error code is returned.
 
2987
<td>
3463
2988
</td>
3464
2989
</tr>
3465
2990
</tbody>
3468
2993
<hr>
3469
2994
<div class="refsect2" title="gnutls_server_name_get ()">
3470
2995
<a name="gnutls-server-name-get"></a><h3>gnutls_server_name_get ()</h3>
3471
 
<pre class="programlisting">int                 gnutls_server_name_get              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3472
 
                                                         void *data,
3473
 
                                                         size_t *data_length,
3474
 
                                                         unsigned int *type,
3475
 
                                                         unsigned int indx);</pre>
3476
 
<p>
3477
 
This function will allow you to get the name indication (if any), a
3478
 
client has sent.  The name indication may be any of the enumeration
3479
 
gnutls_server_name_type_t.
3480
 
</p>
3481
 
<p>
3482
 
If <em class="parameter"><code>type</code></em> is GNUTLS_NAME_DNS, then this function is to be used by
3483
 
servers that support virtual hosting, and the data will be a null
3484
 
terminated UTF-8 string.
3485
 
</p>
3486
 
<p>
3487
 
If <em class="parameter"><code>data</code></em> has not enough size to hold the server name
3488
 
GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and <em class="parameter"><code>data_length</code></em> will
3489
 
hold the required size.
3490
 
</p>
3491
 
<p>
3492
 
<em class="parameter"><code>index</code></em> is used to retrieve more than one server names (if sent by
3493
 
the client).  The first server name has an index of 0, the second 1
3494
 
and so on.  If no name with the given index exists
3495
 
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.</p>
 
2996
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_server_name_get              (<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>,
 
2997
                                                         <em class="parameter"><code><span class="type">void</span> *data</code></em>,
 
2998
                                                         <em class="parameter"><code><span class="type">size_t</span> *data_length</code></em>,
 
2999
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *type</code></em>,
 
3000
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>);</pre>
3496
3001
<p>
3497
3002
</p>
3498
3003
<div class="variablelist"><table border="0">
3500
3005
<tbody>
3501
3006
<tr>
3502
3007
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3503
 
<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.
 
3008
<td>
3504
3009
</td>
3505
3010
</tr>
3506
3011
<tr>
3507
3012
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
3508
 
<td> will hold the data
 
3013
<td>
3509
3014
</td>
3510
3015
</tr>
3511
3016
<tr>
3512
3017
<td><p><span class="term"><em class="parameter"><code>data_length</code></em> :</span></p></td>
3513
 
<td> will hold the data length. Must hold the maximum size of data.
 
3018
<td>
3514
3019
</td>
3515
3020
</tr>
3516
3021
<tr>
3517
3022
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3518
 
<td> will hold the server name indicator type
 
3023
<td>
3519
3024
</td>
3520
3025
</tr>
3521
3026
<tr>
3522
3027
<td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
3523
 
<td> is the index of the server_name
 
3028
<td>
3524
3029
</td>
3525
3030
</tr>
3526
3031
<tr>
3527
3032
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3528
 
<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,
3529
 
  otherwise an error code is returned.
 
3033
<td>
3530
3034
</td>
3531
3035
</tr>
3532
3036
</tbody>
3535
3039
<hr>
3536
3040
<div class="refsect2" title="gnutls_oprfi_enable_client ()">
3537
3041
<a name="gnutls-oprfi-enable-client"></a><h3>gnutls_oprfi_enable_client ()</h3>
3538
 
<pre class="programlisting">void                gnutls_oprfi_enable_client          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3539
 
                                                         size_t len,
3540
 
                                                         unsigned char *data);</pre>
 
3042
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_oprfi_enable_client          (<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>,
 
3043
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>,
 
3044
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>);</pre>
3541
3045
<p>
3542
3046
Request that the client should attempt to negotiate the Opaque PRF
3543
3047
Input TLS extension, using the given data as the client's Opaque
3546
3050
<p>
3547
3051
The data is copied into the session context after this call, so you
3548
3052
may de-allocate it immediately after calling this function.</p>
3549
 
<p>
3550
 
</p>
3551
3053
<div class="variablelist"><table border="0">
3552
3054
<col align="left" valign="top">
3553
3055
<tbody>
3554
3056
<tr>
3555
3057
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3556
 
<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.
 
3058
<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.
3557
3059
</td>
3558
3060
</tr>
3559
3061
<tr>
3560
3062
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
3561
 
<td> length of Opaque PRF data to use in client.
 
3063
<td>length of Opaque PRF data to use in client.
3562
3064
</td>
3563
3065
</tr>
3564
3066
<tr>
3565
3067
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
3566
 
<td> Opaque PRF data to use in client.
 
3068
<td>Opaque PRF data to use in client.
3567
3069
</td>
3568
3070
</tr>
3569
3071
</tbody>
3572
3074
<hr>
3573
3075
<div class="refsect2" title="gnutls_oprfi_callback_func ()">
3574
3076
<a name="gnutls-oprfi-callback-func"></a><h3>gnutls_oprfi_callback_func ()</h3>
3575
 
<pre class="programlisting">int                 (*gnutls_oprfi_callback_func)       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3576
 
                                                         void *userdata,
3577
 
                                                         size_t oprfi_len,
3578
 
                                                         unsigned char *in_oprfi,
3579
 
                                                         unsigned char *out_oprfi);</pre>
 
3077
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_oprfi_callback_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>,
 
3078
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>,
 
3079
                                                         <em class="parameter"><code><span class="type">size_t</span> oprfi_len</code></em>,
 
3080
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *in_oprfi</code></em>,
 
3081
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *out_oprfi</code></em>);</pre>
3580
3082
<p>
3581
3083
</p>
3582
3084
<div class="variablelist"><table border="0">
3618
3120
<hr>
3619
3121
<div class="refsect2" title="gnutls_oprfi_enable_server ()">
3620
3122
<a name="gnutls-oprfi-enable-server"></a><h3>gnutls_oprfi_enable_server ()</h3>
3621
 
<pre class="programlisting">void                gnutls_oprfi_enable_server          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3622
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-oprfi-callback-func" title="gnutls_oprfi_callback_func ()">gnutls_oprfi_callback_func</a> cb,
3623
 
                                                         void *userdata);</pre>
 
3123
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_oprfi_enable_server          (<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>,
 
3124
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-oprfi-callback-func" title="gnutls_oprfi_callback_func ()"><span class="type">gnutls_oprfi_callback_func</span></a> cb</code></em>,
 
3125
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre>
3624
3126
<p>
3625
3127
Request that the server should attempt to accept the Opaque PRF
3626
3128
Input TLS extension.  If the client requests the extension, the
3637
3139
parameters, and specify its own opaque prf input data in the output
3638
3140
variable.  The function must return 0 on success, otherwise the
3639
3141
handshake will be aborted.</p>
3640
 
<p>
3641
 
</p>
3642
3142
<div class="variablelist"><table border="0">
3643
3143
<col align="left" valign="top">
3644
3144
<tbody>
3645
3145
<tr>
3646
3146
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3647
 
<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.
 
3147
<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.
3648
3148
</td>
3649
3149
</tr>
3650
3150
<tr>
3651
3151
<td><p><span class="term"><em class="parameter"><code>cb</code></em> :</span></p></td>
3652
 
<td> function pointer to Opaque PRF extension server callback.
 
3152
<td>function pointer to Opaque PRF extension server callback.
3653
3153
</td>
3654
3154
</tr>
3655
3155
<tr>
3656
3156
<td><p><span class="term"><em class="parameter"><code>userdata</code></em> :</span></p></td>
3657
 
<td> hook passed to callback function for passing application state.
 
3157
<td>hook passed to callback function for passing application state.
3658
3158
</td>
3659
3159
</tr>
3660
3160
</tbody>
3674
3174
<hr>
3675
3175
<div class="refsect2" title="gnutls_supplemental_get_name ()">
3676
3176
<a name="gnutls-supplemental-get-name"></a><h3>gnutls_supplemental_get_name ()</h3>
3677
 
<pre class="programlisting">const char *        gnutls_supplemental_get_name        (<a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t">gnutls_supplemental_data_format_type_t</a> type);</pre>
 
3177
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_supplemental_get_name        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-supplemental-data-format-type-t" title="enum gnutls_supplemental_data_format_type_t"><span class="type">gnutls_supplemental_data_format_type_t</span></a> type</code></em>);</pre>
3678
3178
<p>
3679
3179
</p>
3680
3180
<div class="variablelist"><table border="0">
3696
3196
<hr>
3697
3197
<div class="refsect2" title="gnutls_cipher_set_priority ()">
3698
3198
<a name="gnutls-cipher-set-priority"></a><h3>gnutls_cipher_set_priority ()</h3>
3699
 
<pre class="programlisting">int                 gnutls_cipher_set_priority          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3700
 
                                                         const int *list);</pre>
3701
 
<p>
3702
 
Sets the priority on the ciphers supported by gnutls.
3703
 
Priority is higher for elements specified before others.
3704
 
After specifying the ciphers you want, you must append a 0.
3705
 
Note that the priority is set on the client. The server does
3706
 
not use the algorithm's priority except for disabling
3707
 
algorithms that were not specified.</p>
 
3199
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_cipher_set_priority          (<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>,
 
3200
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);</pre>
3708
3201
<p>
3709
3202
</p>
3710
3203
<div class="variablelist"><table border="0">
3712
3205
<tbody>
3713
3206
<tr>
3714
3207
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3715
 
<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.
 
3208
<td>
3716
3209
</td>
3717
3210
</tr>
3718
3211
<tr>
3719
3212
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
3720
 
<td> is a 0 terminated list of gnutls_cipher_algorithm_t elements.
 
3213
<td>
3721
3214
</td>
3722
3215
</tr>
3723
3216
<tr>
3724
3217
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3725
 
<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, or an error code.
 
3218
<td>
3726
3219
</td>
3727
3220
</tr>
3728
3221
</tbody>
3731
3224
<hr>
3732
3225
<div class="refsect2" title="gnutls_mac_set_priority ()">
3733
3226
<a name="gnutls-mac-set-priority"></a><h3>gnutls_mac_set_priority ()</h3>
3734
 
<pre class="programlisting">int                 gnutls_mac_set_priority             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3735
 
                                                         const int *list);</pre>
3736
 
<p>
3737
 
Sets the priority on the mac algorithms supported by gnutls.
3738
 
Priority is higher for elements specified before others.
3739
 
After specifying the algorithms you want, you must append a 0.
3740
 
Note that the priority is set on the client. The server does
3741
 
not use the algorithm's priority except for disabling
3742
 
algorithms that were not specified.</p>
 
3227
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_mac_set_priority             (<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>,
 
3228
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);</pre>
3743
3229
<p>
3744
3230
</p>
3745
3231
<div class="variablelist"><table border="0">
3747
3233
<tbody>
3748
3234
<tr>
3749
3235
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3750
 
<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.
 
3236
<td>
3751
3237
</td>
3752
3238
</tr>
3753
3239
<tr>
3754
3240
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
3755
 
<td> is a 0 terminated list of gnutls_mac_algorithm_t elements.
 
3241
<td>
3756
3242
</td>
3757
3243
</tr>
3758
3244
<tr>
3759
3245
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3760
 
<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, or an error code.
 
3246
<td>
3761
3247
</td>
3762
3248
</tr>
3763
3249
</tbody>
3766
3252
<hr>
3767
3253
<div class="refsect2" title="gnutls_compression_set_priority ()">
3768
3254
<a name="gnutls-compression-set-priority"></a><h3>gnutls_compression_set_priority ()</h3>
3769
 
<pre class="programlisting">int                 gnutls_compression_set_priority     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3770
 
                                                         const int *list);</pre>
3771
 
<p>
3772
 
Sets the priority on the compression algorithms supported by gnutls.
3773
 
Priority is higher for elements specified before others.
3774
 
After specifying the algorithms you want, you must append a 0.
3775
 
Note that the priority is set on the client. The server does
3776
 
not use the algorithm's priority except for disabling
3777
 
algorithms that were not specified.
3778
 
</p>
3779
 
<p>
3780
 
TLS 1.0 does not define any compression algorithms except
3781
 
NULL. Other compression algorithms are to be considered
3782
 
as gnutls extensions.</p>
 
3255
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_compression_set_priority     (<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>,
 
3256
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);</pre>
3783
3257
<p>
3784
3258
</p>
3785
3259
<div class="variablelist"><table border="0">
3787
3261
<tbody>
3788
3262
<tr>
3789
3263
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3790
 
<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.
 
3264
<td>
3791
3265
</td>
3792
3266
</tr>
3793
3267
<tr>
3794
3268
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
3795
 
<td> is a 0 terminated list of gnutls_compression_method_t elements.
 
3269
<td>
3796
3270
</td>
3797
3271
</tr>
3798
3272
<tr>
3799
3273
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3800
 
<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, or an error code.
 
3274
<td>
3801
3275
</td>
3802
3276
</tr>
3803
3277
</tbody>
3806
3280
<hr>
3807
3281
<div class="refsect2" title="gnutls_kx_set_priority ()">
3808
3282
<a name="gnutls-kx-set-priority"></a><h3>gnutls_kx_set_priority ()</h3>
3809
 
<pre class="programlisting">int                 gnutls_kx_set_priority              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3810
 
                                                         const int *list);</pre>
3811
 
<p>
3812
 
Sets the priority on the key exchange algorithms supported by gnutls.
3813
 
Priority is higher for elements specified before others.
3814
 
After specifying the algorithms you want, you must append a 0.
3815
 
Note that the priority is set on the client. The server does
3816
 
not use the algorithm's priority except for disabling
3817
 
algorithms that were not specified.</p>
 
3283
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_kx_set_priority              (<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>,
 
3284
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);</pre>
3818
3285
<p>
3819
3286
</p>
3820
3287
<div class="variablelist"><table border="0">
3822
3289
<tbody>
3823
3290
<tr>
3824
3291
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3825
 
<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.
 
3292
<td>
3826
3293
</td>
3827
3294
</tr>
3828
3295
<tr>
3829
3296
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
3830
 
<td> is a 0 terminated list of gnutls_kx_algorithm_t elements.
 
3297
<td>
3831
3298
</td>
3832
3299
</tr>
3833
3300
<tr>
3834
3301
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3835
 
<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, or an error code.
 
3302
<td>
3836
3303
</td>
3837
3304
</tr>
3838
3305
</tbody>
3841
3308
<hr>
3842
3309
<div class="refsect2" title="gnutls_protocol_set_priority ()">
3843
3310
<a name="gnutls-protocol-set-priority"></a><h3>gnutls_protocol_set_priority ()</h3>
3844
 
<pre class="programlisting">int                 gnutls_protocol_set_priority        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3845
 
                                                         const int *list);</pre>
3846
 
<p>
3847
 
Sets the priority on the protocol versions supported by gnutls.
3848
 
This function actually enables or disables protocols. Newer protocol
3849
 
versions always have highest priority.</p>
 
3311
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_protocol_set_priority        (<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>,
 
3312
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);</pre>
3850
3313
<p>
3851
3314
</p>
3852
3315
<div class="variablelist"><table border="0">
3854
3317
<tbody>
3855
3318
<tr>
3856
3319
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3857
 
<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.
 
3320
<td>
3858
3321
</td>
3859
3322
</tr>
3860
3323
<tr>
3861
3324
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
3862
 
<td> is a 0 terminated list of gnutls_protocol_t elements.
 
3325
<td>
3863
3326
</td>
3864
3327
</tr>
3865
3328
<tr>
3866
3329
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3867
 
<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, or an error code.
 
3330
<td>
3868
3331
</td>
3869
3332
</tr>
3870
3333
</tbody>
3873
3336
<hr>
3874
3337
<div class="refsect2" title="gnutls_certificate_type_set_priority ()">
3875
3338
<a name="gnutls-certificate-type-set-priority"></a><h3>gnutls_certificate_type_set_priority ()</h3>
3876
 
<pre class="programlisting">int                 gnutls_certificate_type_set_priority
3877
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
3878
 
                                                         const int *list);</pre>
3879
 
<p>
3880
 
Sets the priority on the certificate types supported by gnutls.
3881
 
Priority is higher for elements specified before others.
3882
 
After specifying the types you want, you must append a 0.
3883
 
Note that the certificate type priority is set on the client. 
3884
 
The server does not use the cert type priority except for disabling
3885
 
types that were not specified.</p>
 
3339
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_type_set_priority
 
3340
                                                        (<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>,
 
3341
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list</code></em>);</pre>
3886
3342
<p>
3887
3343
</p>
3888
3344
<div class="variablelist"><table border="0">
3890
3346
<tbody>
3891
3347
<tr>
3892
3348
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
3893
 
<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.
 
3349
<td>
3894
3350
</td>
3895
3351
</tr>
3896
3352
<tr>
3897
3353
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
3898
 
<td> is a 0 terminated list of gnutls_certificate_type_t elements.
 
3354
<td>
3899
3355
</td>
3900
3356
</tr>
3901
3357
<tr>
3902
3358
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3903
 
<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, or an error code.
 
3359
<td>
3904
3360
</td>
3905
3361
</tr>
3906
3362
</tbody>
3909
3365
<hr>
3910
3366
<div class="refsect2" title="gnutls_priority_init ()">
3911
3367
<a name="gnutls-priority-init"></a><h3>gnutls_priority_init ()</h3>
3912
 
<pre class="programlisting">int                 gnutls_priority_init                (<a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a> *priority_cache,
3913
 
                                                         const char *priorities,
3914
 
                                                         const char **err_pos);</pre>
3915
 
<p>
3916
 
Sets priorities for the ciphers, key exchange methods, macs and
3917
 
compression methods. This is to avoid using the
3918
 
gnutls_*<code class="function">_priority()</code> functions.
3919
 
</p>
3920
 
<p>
3921
 
The <span class="type">priorities</span> option allows you to specify a semi-colon
3922
 
separated list of the cipher priorities to enable.
3923
 
</p>
3924
 
<p>
3925
 
Unless the first keyword is "NONE" the defaults (in preference
3926
 
order) are for TLS protocols TLS1.1, TLS1.0, SSL3.0; for
3927
 
compression NULL; for certificate types X.509, OpenPGP.
3928
 
</p>
3929
 
<p>
3930
 
For key exchange algorithms when in NORMAL or SECURE levels the
3931
 
perfect forward secrecy algorithms take precendence of the other
3932
 
protocols.  In all cases all the supported key exchange algorithms
3933
 
are enabled (except for the RSA-EXPORT which is only enabled in
3934
 
EXPORT level).
3935
 
</p>
3936
 
<p>
3937
 
Note that although one can select very long key sizes (such as 256 bits)
3938
 
for symmetric algorithms, to actually increase security the public key
3939
 
algorithms have to use longer key sizes as well.
3940
 
</p>
3941
 
<p>
3942
 
For all the current available algorithms and protocols use
3943
 
"gnutls-cli -l" to get a listing.
3944
 
</p>
3945
 
<p>
3946
 
Common keywords: Some keywords are defined to provide quick access
3947
 
to common preferences.
3948
 
</p>
3949
 
<p>
3950
 
"PERFORMANCE" means all the "secure" ciphersuites are enabled,
3951
 
limited to 128 bit ciphers and sorted by terms of speed
3952
 
performance.
3953
 
</p>
3954
 
<p>
3955
 
"NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are
3956
 
included as a fallback only.  The ciphers are sorted by security
3957
 
margin.
3958
 
</p>
3959
 
<p>
3960
 
"SECURE128" means all "secure" ciphersuites with ciphers up to 128
3961
 
bits, sorted by security margin.
3962
 
</p>
3963
 
<p>
3964
 
"SECURE256" means all "secure" ciphersuites including the 256 bit
3965
 
ciphers, sorted by security margin.
3966
 
</p>
3967
 
<p>
3968
 
"EXPORT" means all ciphersuites are enabled, including the
3969
 
low-security 40 bit ciphers.
3970
 
</p>
3971
 
<p>
3972
 
"NONE" means nothing is enabled.  This disables even protocols and
3973
 
compression methods.
3974
 
</p>
3975
 
<p>
3976
 
Special keywords:
3977
 
"!" or "-" appended with an algorithm will remove this algorithm.
3978
 
</p>
3979
 
<p>
3980
 
"+" appended with an algorithm will add this algorithm.
3981
 
</p>
3982
 
<p>
3983
 
"<code class="literal">COMPAT</code>" will enable compatibility features for a server.
3984
 
</p>
3985
 
<p>
3986
 
"<code class="literal">SSL3_RECORD_VERSION</code>" will use SSL3.0 record version in client hello.
3987
 
</p>
3988
 
<p>
3989
 
"<code class="literal">VERIFY_ALLOW_SIGN_RSA_MD5</code>" will allow RSA-MD5 signatures in
3990
 
certificate chains.
3991
 
</p>
3992
 
<p>
3993
 
"<code class="literal">VERIFY_ALLOW_X509_V1_CA_CRT</code>" will allow V1 CAs in chains.
3994
 
</p>
3995
 
<p>
3996
 
Namespace concern:
3997
 
To avoid collisions in order to specify a compression algorithm in
3998
 
this string you have to prefix it with "COMP-", protocol versions
3999
 
with "VERS-" and certificate types with "CTYPE-". All other
4000
 
algorithms don't need a prefix.
4001
 
</p>
4002
 
<p>
4003
 
Examples:
4004
 
"NORMAL:!AES-128-CBC" means normal ciphers except for AES-128.
4005
 
</p>
4006
 
<p>
4007
 
"EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are
4008
 
enabled, TLS 1.0 is disabled, and libz compression enabled.
4009
 
</p>
4010
 
<p>
4011
 
"NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL", "NORMAL",
4012
 
"<code class="literal">COMPAT</code>".</p>
 
3368
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_priority_init                (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> *priority_cache</code></em>,
 
3369
                                                         <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>,
 
3370
                                                         <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);</pre>
4013
3371
<p>
4014
3372
</p>
4015
3373
<div class="variablelist"><table border="0">
4017
3375
<tbody>
4018
3376
<tr>
4019
3377
<td><p><span class="term"><em class="parameter"><code>priority_cache</code></em> :</span></p></td>
4020
 
<td> is a <span class="type">gnutls_prioritity_t</span> structure.
 
3378
<td>
4021
3379
</td>
4022
3380
</tr>
4023
3381
<tr>
4024
3382
<td><p><span class="term"><em class="parameter"><code>priorities</code></em> :</span></p></td>
4025
 
<td> is a string describing priorities
 
3383
<td>
4026
3384
</td>
4027
3385
</tr>
4028
3386
<tr>
4029
3387
<td><p><span class="term"><em class="parameter"><code>err_pos</code></em> :</span></p></td>
4030
 
<td> In case of an error this will have the position in the string the error occured
 
3388
<td>
4031
3389
</td>
4032
3390
</tr>
4033
3391
<tr>
4034
3392
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4035
 
<td> On syntax error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST--CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned,
4036
 
<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, or an error code.
 
3393
<td>
4037
3394
</td>
4038
3395
</tr>
4039
3396
</tbody>
4042
3399
<hr>
4043
3400
<div class="refsect2" title="gnutls_priority_deinit ()">
4044
3401
<a name="gnutls-priority-deinit"></a><h3>gnutls_priority_deinit ()</h3>
4045
 
<pre class="programlisting">void                gnutls_priority_deinit              (<a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a> priority_cache);</pre>
4046
 
<p>
4047
 
Deinitializes the priority cache.</p>
 
3402
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_priority_deinit              (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> priority_cache</code></em>);</pre>
4048
3403
<p>
4049
3404
</p>
4050
3405
<div class="variablelist"><table border="0">
4051
3406
<col align="left" valign="top">
4052
3407
<tbody><tr>
4053
3408
<td><p><span class="term"><em class="parameter"><code>priority_cache</code></em> :</span></p></td>
4054
 
<td> is a <span class="type">gnutls_prioritity_t</span> structure.
 
3409
<td>
4055
3410
</td>
4056
3411
</tr></tbody>
4057
3412
</table></div>
4059
3414
<hr>
4060
3415
<div class="refsect2" title="gnutls_priority_set ()">
4061
3416
<a name="gnutls-priority-set"></a><h3>gnutls_priority_set ()</h3>
4062
 
<pre class="programlisting">int                 gnutls_priority_set                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4063
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t">gnutls_priority_t</a> priority);</pre>
4064
 
<p>
4065
 
Sets the priorities to use on the ciphers, key exchange methods,
4066
 
macs and compression methods.</p>
 
3417
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_priority_set                 (<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>,
 
3418
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> priority</code></em>);</pre>
4067
3419
<p>
4068
3420
</p>
4069
3421
<div class="variablelist"><table border="0">
4071
3423
<tbody>
4072
3424
<tr>
4073
3425
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4074
 
<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.
 
3426
<td>
4075
3427
</td>
4076
3428
</tr>
4077
3429
<tr>
4078
3430
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
4079
 
<td> is a <a class="link" href="gnutls-gnutls.html#gnutls-priority-t" title="gnutls_priority_t"><span class="type">gnutls_priority_t</span></a> structure.
 
3431
<td>
4080
3432
</td>
4081
3433
</tr>
4082
3434
<tr>
4083
3435
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4084
 
<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, or an error code.
 
3436
<td>
4085
3437
</td>
4086
3438
</tr>
4087
3439
</tbody>
4090
3442
<hr>
4091
3443
<div class="refsect2" title="gnutls_priority_set_direct ()">
4092
3444
<a name="gnutls-priority-set-direct"></a><h3>gnutls_priority_set_direct ()</h3>
4093
 
<pre class="programlisting">int                 gnutls_priority_set_direct          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4094
 
                                                         const char *priorities,
4095
 
                                                         const char **err_pos);</pre>
4096
 
<p>
4097
 
Sets the priorities to use on the ciphers, key exchange methods,
4098
 
macs and compression methods.  This function avoids keeping a
4099
 
priority cache and is used to directly set string priorities to a
4100
 
TLS session.  For documentation check the <a class="link" href="gnutls-gnutls.html#gnutls-priority-init" title="gnutls_priority_init ()"><code class="function">gnutls_priority_init()</code></a>.</p>
 
3445
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_priority_set_direct          (<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>,
 
3446
                                                         <em class="parameter"><code>const <span class="type">char</span> *priorities</code></em>,
 
3447
                                                         <em class="parameter"><code>const <span class="type">char</span> **err_pos</code></em>);</pre>
4101
3448
<p>
4102
3449
</p>
4103
3450
<div class="variablelist"><table border="0">
4105
3452
<tbody>
4106
3453
<tr>
4107
3454
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4108
 
<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.
 
3455
<td>
4109
3456
</td>
4110
3457
</tr>
4111
3458
<tr>
4112
3459
<td><p><span class="term"><em class="parameter"><code>priorities</code></em> :</span></p></td>
4113
 
<td> is a string describing priorities
 
3460
<td>
4114
3461
</td>
4115
3462
</tr>
4116
3463
<tr>
4117
3464
<td><p><span class="term"><em class="parameter"><code>err_pos</code></em> :</span></p></td>
4118
 
<td> In case of an error this will have the position in the string the error occured
 
3465
<td>
4119
3466
</td>
4120
3467
</tr>
4121
3468
<tr>
4122
3469
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4123
 
<td> On syntax error <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST--CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a> is returned,
4124
 
<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, or an error code.
 
3470
<td>
4125
3471
</td>
4126
3472
</tr>
4127
3473
</tbody>
4130
3476
<hr>
4131
3477
<div class="refsect2" title="gnutls_set_default_priority ()">
4132
3478
<a name="gnutls-set-default-priority"></a><h3>gnutls_set_default_priority ()</h3>
4133
 
<pre class="programlisting">int                 gnutls_set_default_priority         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4134
 
<p>
4135
 
Sets some default priority on the ciphers, key exchange methods,
4136
 
macs and compression methods.
4137
 
</p>
4138
 
<p>
4139
 
This is the same as calling:
4140
 
</p>
4141
 
<p>
4142
 
gnutls_priority_set_direct (session, "NORMAL", NULL);
4143
 
</p>
4144
 
<p>
4145
 
This function is kept around for backwards compatibility, but
4146
 
because of its wide use it is still fully supported.  If you wish
4147
 
to allow users to provide a string that specify which ciphers to
4148
 
use (which is recommended), you should use
4149
 
<a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()"><code class="function">gnutls_priority_set_direct()</code></a> or <a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()"><code class="function">gnutls_priority_set()</code></a> instead.</p>
 
3479
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_set_default_priority         (<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>
4150
3480
<p>
4151
3481
</p>
4152
3482
<div class="variablelist"><table border="0">
4154
3484
<tbody>
4155
3485
<tr>
4156
3486
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4157
 
<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.
 
3487
<td>
4158
3488
</td>
4159
3489
</tr>
4160
3490
<tr>
4161
3491
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4162
 
<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, or an error code.
 
3492
<td>
4163
3493
</td>
4164
3494
</tr>
4165
3495
</tbody>
4168
3498
<hr>
4169
3499
<div class="refsect2" title="gnutls_set_default_export_priority ()">
4170
3500
<a name="gnutls-set-default-export-priority"></a><h3>gnutls_set_default_export_priority ()</h3>
4171
 
<pre class="programlisting">int                 gnutls_set_default_export_priority  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4172
 
<p>
4173
 
Sets some default priority on the ciphers, key exchange methods, macs
4174
 
and compression methods.  This function also includes weak algorithms.
4175
 
</p>
4176
 
<p>
4177
 
This is the same as calling:
4178
 
</p>
4179
 
<p>
4180
 
gnutls_priority_set_direct (session, "EXPORT", NULL);
4181
 
</p>
4182
 
<p>
4183
 
This function is kept around for backwards compatibility, but
4184
 
because of its wide use it is still fully supported.  If you wish
4185
 
to allow users to provide a string that specify which ciphers to
4186
 
use (which is recommended), you should use
4187
 
<a class="link" href="gnutls-gnutls.html#gnutls-priority-set-direct" title="gnutls_priority_set_direct ()"><code class="function">gnutls_priority_set_direct()</code></a> or <a class="link" href="gnutls-gnutls.html#gnutls-priority-set" title="gnutls_priority_set ()"><code class="function">gnutls_priority_set()</code></a> instead.</p>
 
3501
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_set_default_export_priority  (<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>
4188
3502
<p>
4189
3503
</p>
4190
3504
<div class="variablelist"><table border="0">
4192
3506
<tbody>
4193
3507
<tr>
4194
3508
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4195
 
<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.
 
3509
<td>
4196
3510
</td>
4197
3511
</tr>
4198
3512
<tr>
4199
3513
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4200
 
<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, or an error code.
 
3514
<td>
4201
3515
</td>
4202
3516
</tr>
4203
3517
</tbody>
4206
3520
<hr>
4207
3521
<div class="refsect2" title="gnutls_cipher_suite_get_name ()">
4208
3522
<a name="gnutls-cipher-suite-get-name"></a><h3>gnutls_cipher_suite_get_name ()</h3>
4209
 
<pre class="programlisting">const char *        gnutls_cipher_suite_get_name        (<a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t">gnutls_kx_algorithm_t</a> kx_algorithm,
4210
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-cipher-algorithm-t" title="enum gnutls_cipher_algorithm_t">gnutls_cipher_algorithm_t</a> cipher_algorithm,
4211
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-mac-algorithm-t" title="enum gnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> mac_algorithm);</pre>
4212
 
<p>
4213
 
Note that the full cipher suite name must be prepended by TLS or
4214
 
SSL depending of the protocol in use.</p>
 
3523
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_cipher_suite_get_name        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-kx-algorithm-t" title="enum gnutls_kx_algorithm_t"><span class="type">gnutls_kx_algorithm_t</span></a> kx_algorithm</code></em>,
 
3524
                                                         <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_algorithm</code></em>,
 
3525
                                                         <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> mac_algorithm</code></em>);</pre>
4215
3526
<p>
4216
3527
</p>
4217
3528
<div class="variablelist"><table border="0">
4219
3530
<tbody>
4220
3531
<tr>
4221
3532
<td><p><span class="term"><em class="parameter"><code>kx_algorithm</code></em> :</span></p></td>
4222
 
<td> is a Key exchange algorithm
 
3533
<td>
4223
3534
</td>
4224
3535
</tr>
4225
3536
<tr>
4226
3537
<td><p><span class="term"><em class="parameter"><code>cipher_algorithm</code></em> :</span></p></td>
4227
 
<td> is a cipher algorithm
 
3538
<td>
4228
3539
</td>
4229
3540
</tr>
4230
3541
<tr>
4231
3542
<td><p><span class="term"><em class="parameter"><code>mac_algorithm</code></em> :</span></p></td>
4232
 
<td> is a MAC algorithm
 
3543
<td>
4233
3544
</td>
4234
3545
</tr>
4235
3546
<tr>
4236
3547
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4237
 
<td> a string that contains the name of a TLS cipher suite,
4238
 
specified by the given algorithms, or <code class="literal">NULL</code>.
 
3548
<td>
4239
3549
</td>
4240
3550
</tr>
4241
3551
</tbody>
4244
3554
<hr>
4245
3555
<div class="refsect2" title="gnutls_protocol_get_version ()">
4246
3556
<a name="gnutls-protocol-get-version"></a><h3>gnutls_protocol_get_version ()</h3>
4247
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a>   gnutls_protocol_get_version         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4248
 
<p>
4249
 
Get TLS version, a <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> value.</p>
 
3557
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="returnvalue">gnutls_protocol_t</span></a>   gnutls_protocol_get_version         (<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>
4250
3558
<p>
4251
3559
</p>
4252
3560
<div class="variablelist"><table border="0">
4254
3562
<tbody>
4255
3563
<tr>
4256
3564
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4257
 
<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.
 
3565
<td>
4258
3566
</td>
4259
3567
</tr>
4260
3568
<tr>
4261
3569
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4262
 
<td> the version of the currently used protocol.
 
3570
<td>
4263
3571
</td>
4264
3572
</tr>
4265
3573
</tbody>
4268
3576
<hr>
4269
3577
<div class="refsect2" title="gnutls_protocol_get_name ()">
4270
3578
<a name="gnutls-protocol-get-name"></a><h3>gnutls_protocol_get_name ()</h3>
4271
 
<pre class="programlisting">const char *        gnutls_protocol_get_name            (<a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t">gnutls_protocol_t</a> version);</pre>
4272
 
<p>
4273
 
Convert a <a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> value to a string.</p>
 
3579
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_protocol_get_name            (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-protocol-t" title="enum gnutls_protocol_t"><span class="type">gnutls_protocol_t</span></a> version</code></em>);</pre>
4274
3580
<p>
4275
3581
</p>
4276
3582
<div class="variablelist"><table border="0">
4278
3584
<tbody>
4279
3585
<tr>
4280
3586
<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
4281
 
<td> is a (gnutls) version number
 
3587
<td>
4282
3588
</td>
4283
3589
</tr>
4284
3590
<tr>
4285
3591
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4286
 
<td> a string that contains the name of the specified TLS
4287
 
  version (e.g., "TLS1.0"), or <code class="literal">NULL</code>.
 
3592
<td>
4288
3593
</td>
4289
3594
</tr>
4290
3595
</tbody>
4293
3598
<hr>
4294
3599
<div class="refsect2" title="gnutls_session_set_data ()">
4295
3600
<a name="gnutls-session-set-data"></a><h3>gnutls_session_set_data ()</h3>
4296
 
<pre class="programlisting">int                 gnutls_session_set_data             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4297
 
                                                         const void *session_data,
4298
 
                                                         size_t session_data_size);</pre>
4299
 
<p>
4300
 
Sets all session parameters, in order to resume a previously
4301
 
established session.  The session data given must be the one
4302
 
returned by <a class="link" href="gnutls-gnutls.html#gnutls-session-get-data" title="gnutls_session_get_data ()"><code class="function">gnutls_session_get_data()</code></a>.  This function should be
4303
 
called before <a class="link" href="gnutls-gnutls.html#gnutls-handshake" title="gnutls_handshake ()"><code class="function">gnutls_handshake()</code></a>.
4304
 
</p>
4305
 
<p>
4306
 
Keep in mind that session resuming is advisory. The server may
4307
 
choose not to resume the session, thus a full handshake will be
4308
 
performed.</p>
 
3601
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_session_set_data             (<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>,
 
3602
                                                         <em class="parameter"><code>const <span class="type">void</span> *session_data</code></em>,
 
3603
                                                         <em class="parameter"><code><span class="type">size_t</span> session_data_size</code></em>);</pre>
4309
3604
<p>
4310
3605
</p>
4311
3606
<div class="variablelist"><table border="0">
4313
3608
<tbody>
4314
3609
<tr>
4315
3610
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4316
 
<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.
 
3611
<td>
4317
3612
</td>
4318
3613
</tr>
4319
3614
<tr>
4320
3615
<td><p><span class="term"><em class="parameter"><code>session_data</code></em> :</span></p></td>
4321
 
<td> is a pointer to space to hold the session.
 
3616
<td>
4322
3617
</td>
4323
3618
</tr>
4324
3619
<tr>
4325
3620
<td><p><span class="term"><em class="parameter"><code>session_data_size</code></em> :</span></p></td>
4326
 
<td> is the session's size
 
3621
<td>
4327
3622
</td>
4328
3623
</tr>
4329
3624
<tr>
4330
3625
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4331
 
<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
4332
 
  an error code is returned.
 
3626
<td>
4333
3627
</td>
4334
3628
</tr>
4335
3629
</tbody>
4338
3632
<hr>
4339
3633
<div class="refsect2" title="gnutls_session_get_data ()">
4340
3634
<a name="gnutls-session-get-data"></a><h3>gnutls_session_get_data ()</h3>
4341
 
<pre class="programlisting">int                 gnutls_session_get_data             (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4342
 
                                                         void *session_data,
4343
 
                                                         size_t *session_data_size);</pre>
4344
 
<p>
4345
 
Returns all session parameters, in order to support resuming.  The
4346
 
client should call this, and keep the returned session, if he
4347
 
wants to resume that current version later by calling
4348
 
<a class="link" href="gnutls-gnutls.html#gnutls-session-set-data" title="gnutls_session_set_data ()"><code class="function">gnutls_session_set_data()</code></a> This function must be called after a
4349
 
successful handshake.
4350
 
</p>
4351
 
<p>
4352
 
Resuming sessions is really useful and speedups connections after
4353
 
a succesful one.</p>
 
3635
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_session_get_data             (<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>,
 
3636
                                                         <em class="parameter"><code><span class="type">void</span> *session_data</code></em>,
 
3637
                                                         <em class="parameter"><code><span class="type">size_t</span> *session_data_size</code></em>);</pre>
4354
3638
<p>
4355
3639
</p>
4356
3640
<div class="variablelist"><table border="0">
4358
3642
<tbody>
4359
3643
<tr>
4360
3644
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4361
 
<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.
 
3645
<td>
4362
3646
</td>
4363
3647
</tr>
4364
3648
<tr>
4365
3649
<td><p><span class="term"><em class="parameter"><code>session_data</code></em> :</span></p></td>
4366
 
<td> is a pointer to space to hold the session.
 
3650
<td>
4367
3651
</td>
4368
3652
</tr>
4369
3653
<tr>
4370
3654
<td><p><span class="term"><em class="parameter"><code>session_data_size</code></em> :</span></p></td>
4371
 
<td> is the session_data's size, or it will be set by the function.
 
3655
<td>
4372
3656
</td>
4373
3657
</tr>
4374
3658
<tr>
4375
3659
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4376
 
<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
4377
 
  an error code is returned.
 
3660
<td>
4378
3661
</td>
4379
3662
</tr>
4380
3663
</tbody>
4383
3666
<hr>
4384
3667
<div class="refsect2" title="gnutls_session_get_data2 ()">
4385
3668
<a name="gnutls-session-get-data2"></a><h3>gnutls_session_get_data2 ()</h3>
4386
 
<pre class="programlisting">int                 gnutls_session_get_data2            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4387
 
                                                         gnutls_datum_t *data);</pre>
4388
 
<p>
4389
 
Returns all session parameters, in order to support resuming.  The
4390
 
client should call this, and keep the returned session, if he wants
4391
 
to resume that current version later by calling
4392
 
<a class="link" href="gnutls-gnutls.html#gnutls-session-set-data" title="gnutls_session_set_data ()"><code class="function">gnutls_session_set_data()</code></a>.  This function must be called after a
4393
 
successful handshake.  The returned datum must be freed with
4394
 
<a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a>.
4395
 
</p>
4396
 
<p>
4397
 
Resuming sessions is really useful and speedups connections after
4398
 
a succesful one.</p>
 
3669
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_session_get_data2            (<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>,
 
3670
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *data</code></em>);</pre>
4399
3671
<p>
4400
3672
</p>
4401
3673
<div class="variablelist"><table border="0">
4403
3675
<tbody>
4404
3676
<tr>
4405
3677
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4406
 
<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.
 
3678
<td>
4407
3679
</td>
4408
3680
</tr>
4409
3681
<tr>
4410
3682
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
4411
 
<td> is a pointer to a datum that will hold the session.
 
3683
<td>
4412
3684
</td>
4413
3685
</tr>
4414
3686
<tr>
4415
3687
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4416
 
<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
4417
 
  an error code is returned.
 
3688
<td>
4418
3689
</td>
4419
3690
</tr>
4420
3691
</tbody>
4422
3693
</div>
4423
3694
<hr>
4424
3695
<div class="refsect2" title="GNUTLS_MAX_SESSION_ID">
4425
 
<a name="GNUTLS-MAX-SESSION-ID--CAPS"></a><h3>GNUTLS_MAX_SESSION_ID</h3>
 
3696
<a name="GNUTLS-MAX-SESSION-ID:CAPS"></a><h3>GNUTLS_MAX_SESSION_ID</h3>
4426
3697
<pre class="programlisting">#define GNUTLS_MAX_SESSION_ID 32
4427
3698
</pre>
4428
3699
<p>
4431
3702
<hr>
4432
3703
<div class="refsect2" title="gnutls_session_get_id ()">
4433
3704
<a name="gnutls-session-get-id"></a><h3>gnutls_session_get_id ()</h3>
4434
 
<pre class="programlisting">int                 gnutls_session_get_id               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4435
 
                                                         void *session_id,
4436
 
                                                         size_t *session_id_size);</pre>
4437
 
<p>
4438
 
Returns the current session id. This can be used if you want to
4439
 
check if the next session you tried to resume was actually
4440
 
resumed.  This is because resumed sessions have the same sessionID
4441
 
with the original session.
4442
 
</p>
4443
 
<p>
4444
 
Session id is some data set by the server, that identify the
4445
 
current session.  In TLS 1.0 and SSL 3.0 session id is always less
4446
 
than 32 bytes.</p>
 
3705
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_session_get_id               (<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>,
 
3706
                                                         <em class="parameter"><code><span class="type">void</span> *session_id</code></em>,
 
3707
                                                         <em class="parameter"><code><span class="type">size_t</span> *session_id_size</code></em>);</pre>
4447
3708
<p>
4448
3709
</p>
4449
3710
<div class="variablelist"><table border="0">
4451
3712
<tbody>
4452
3713
<tr>
4453
3714
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4454
 
<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.
 
3715
<td>
4455
3716
</td>
4456
3717
</tr>
4457
3718
<tr>
4458
3719
<td><p><span class="term"><em class="parameter"><code>session_id</code></em> :</span></p></td>
4459
 
<td> is a pointer to space to hold the session id.
 
3720
<td>
4460
3721
</td>
4461
3722
</tr>
4462
3723
<tr>
4463
3724
<td><p><span class="term"><em class="parameter"><code>session_id_size</code></em> :</span></p></td>
4464
 
<td> is the session id's size, or it will be set by the function.
 
3725
<td>
4465
3726
</td>
4466
3727
</tr>
4467
3728
<tr>
4468
3729
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4469
 
<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
4470
 
  an error code is returned.
 
3730
<td>
4471
3731
</td>
4472
3732
</tr>
4473
3733
</tbody>
4475
3735
</div>
4476
3736
<hr>
4477
3737
<div class="refsect2" title="GNUTLS_MASTER_SIZE">
4478
 
<a name="GNUTLS-MASTER-SIZE--CAPS"></a><h3>GNUTLS_MASTER_SIZE</h3>
 
3738
<a name="GNUTLS-MASTER-SIZE:CAPS"></a><h3>GNUTLS_MASTER_SIZE</h3>
4479
3739
<pre class="programlisting">#define GNUTLS_MASTER_SIZE 48
4480
3740
</pre>
4481
3741
<p>
4483
3743
</div>
4484
3744
<hr>
4485
3745
<div class="refsect2" title="GNUTLS_RANDOM_SIZE">
4486
 
<a name="GNUTLS-RANDOM-SIZE--CAPS"></a><h3>GNUTLS_RANDOM_SIZE</h3>
 
3746
<a name="GNUTLS-RANDOM-SIZE:CAPS"></a><h3>GNUTLS_RANDOM_SIZE</h3>
4487
3747
<pre class="programlisting">#define GNUTLS_RANDOM_SIZE 32
4488
3748
</pre>
4489
3749
<p>
4492
3752
<hr>
4493
3753
<div class="refsect2" title="gnutls_session_get_server_random ()">
4494
3754
<a name="gnutls-session-get-server-random"></a><h3>gnutls_session_get_server_random ()</h3>
4495
 
<pre class="programlisting">const void *        gnutls_session_get_server_random    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4496
 
<p>
4497
 
Return a pointer to the 32-byte server random field used in the
4498
 
session.  The pointer must not be modified or deallocated.
4499
 
</p>
4500
 
<p>
4501
 
If a server random value has not yet been established, the output
4502
 
will be garbage; in particular, a <code class="literal">NULL</code> return value should not be
4503
 
expected.</p>
 
3755
<pre class="programlisting">const <span class="returnvalue">void</span> *        gnutls_session_get_server_random    (<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>
4504
3756
<p>
4505
3757
</p>
4506
3758
<div class="variablelist"><table border="0">
4508
3760
<tbody>
4509
3761
<tr>
4510
3762
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4511
 
<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.
 
3763
<td>
4512
3764
</td>
4513
3765
</tr>
4514
3766
<tr>
4515
3767
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4516
 
<td> pointer to server random data.
 
3768
<td>
4517
3769
</td>
4518
3770
</tr>
4519
3771
</tbody>
4522
3774
<hr>
4523
3775
<div class="refsect2" title="gnutls_session_get_client_random ()">
4524
3776
<a name="gnutls-session-get-client-random"></a><h3>gnutls_session_get_client_random ()</h3>
4525
 
<pre class="programlisting">const void *        gnutls_session_get_client_random    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4526
 
<p>
4527
 
Return a pointer to the 32-byte client random field used in the
4528
 
session.  The pointer must not be modified or deallocated.
4529
 
</p>
4530
 
<p>
4531
 
If a client random value has not yet been established, the output
4532
 
will be garbage; in particular, a <code class="literal">NULL</code> return value should not be
4533
 
expected.</p>
 
3777
<pre class="programlisting">const <span class="returnvalue">void</span> *        gnutls_session_get_client_random    (<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>
4534
3778
<p>
4535
3779
</p>
4536
3780
<div class="variablelist"><table border="0">
4538
3782
<tbody>
4539
3783
<tr>
4540
3784
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4541
 
<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.
 
3785
<td>
4542
3786
</td>
4543
3787
</tr>
4544
3788
<tr>
4545
3789
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4546
 
<td> pointer to client random data.
 
3790
<td>
4547
3791
</td>
4548
3792
</tr>
4549
3793
</tbody>
4552
3796
<hr>
4553
3797
<div class="refsect2" title="gnutls_session_get_master_secret ()">
4554
3798
<a name="gnutls-session-get-master-secret"></a><h3>gnutls_session_get_master_secret ()</h3>
4555
 
<pre class="programlisting">const void *        gnutls_session_get_master_secret    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4556
 
<p>
4557
 
Return a pointer to the 48-byte master secret in the session.  The
4558
 
pointer must not be modified or deallocated.
4559
 
</p>
4560
 
<p>
4561
 
If a master secret value has not yet been established, the output
4562
 
will be garbage; in particular, a <code class="literal">NULL</code> return value should not be
4563
 
expected.
4564
 
</p>
4565
 
<p>
4566
 
Consider using <a class="link" href="gnutls-gnutls.html#gnutls-prf" title="gnutls_prf ()"><code class="function">gnutls_prf()</code></a> rather than extracting the master
4567
 
secret and use it to derive further data.</p>
 
3799
<pre class="programlisting">const <span class="returnvalue">void</span> *        gnutls_session_get_master_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>);</pre>
4568
3800
<p>
4569
3801
</p>
4570
3802
<div class="variablelist"><table border="0">
4572
3804
<tbody>
4573
3805
<tr>
4574
3806
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4575
 
<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.
 
3807
<td>
4576
3808
</td>
4577
3809
</tr>
4578
3810
<tr>
4579
3811
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4580
 
<td> pointer to master secret data.
 
3812
<td>
4581
3813
</td>
4582
3814
</tr>
4583
3815
</tbody>
4586
3818
<hr>
4587
3819
<div class="refsect2" title="gnutls_finished_callback_func ()">
4588
3820
<a name="gnutls-finished-callback-func"></a><h3>gnutls_finished_callback_func ()</h3>
4589
 
<pre class="programlisting">void                (*gnutls_finished_callback_func)    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4590
 
                                                         const void *finished,
4591
 
                                                         size_t len);</pre>
 
3821
<pre class="programlisting"><span class="returnvalue">void</span>                (*gnutls_finished_callback_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>,
 
3822
                                                         <em class="parameter"><code>const <span class="type">void</span> *finished</code></em>,
 
3823
                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
4592
3824
<p>
4593
3825
</p>
4594
3826
<div class="variablelist"><table border="0">
4615
3847
<hr>
4616
3848
<div class="refsect2" title="gnutls_session_set_finished_function ()">
4617
3849
<a name="gnutls-session-set-finished-function"></a><h3>gnutls_session_set_finished_function ()</h3>
4618
 
<pre class="programlisting">void                gnutls_session_set_finished_function
4619
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4620
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()">gnutls_finished_callback_func</a> func);</pre>
 
3850
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_session_set_finished_function
 
3851
                                                        (<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>,
 
3852
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()"><span class="type">gnutls_finished_callback_func</span></a> func</code></em>);</pre>
4621
3853
<p>
4622
3854
Register a callback function for the session that will be called
4623
3855
when a TLS Finished message has been generated.  The function is
4640
3872
It is recommended that the function returns quickly in order to not
4641
3873
delay the handshake.  Use the function to store a copy of the TLS
4642
3874
finished message for later use.</p>
4643
 
<p>
4644
 
</p>
4645
3875
<div class="variablelist"><table border="0">
4646
3876
<col align="left" valign="top">
4647
3877
<tbody>
4648
3878
<tr>
4649
3879
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4650
 
<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.
 
3880
<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.
4651
3881
</td>
4652
3882
</tr>
4653
3883
<tr>
4654
3884
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
4655
 
<td> a <a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()"><span class="type">gnutls_finished_callback_func</span></a> callback.
 
3885
<td>a <a class="link" href="gnutls-gnutls.html#gnutls-finished-callback-func" title="gnutls_finished_callback_func ()"><span class="type">gnutls_finished_callback_func</span></a> callback.
4656
3886
</td>
4657
3887
</tr>
4658
3888
</tbody>
4662
3892
<hr>
4663
3893
<div class="refsect2" title="gnutls_session_is_resumed ()">
4664
3894
<a name="gnutls-session-is-resumed"></a><h3>gnutls_session_is_resumed ()</h3>
4665
 
<pre class="programlisting">int                 gnutls_session_is_resumed           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4666
 
<p>
4667
 
Check whether session is resumed or not.</p>
 
3895
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_session_is_resumed           (<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>
4668
3896
<p>
4669
3897
</p>
4670
3898
<div class="variablelist"><table border="0">
4672
3900
<tbody>
4673
3901
<tr>
4674
3902
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4675
 
<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.
 
3903
<td>
4676
3904
</td>
4677
3905
</tr>
4678
3906
<tr>
4679
3907
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4680
 
<td> non zero if this session is resumed, or a zero if this is
4681
 
  a new session.
 
3908
<td>
4682
3909
</td>
4683
3910
</tr>
4684
3911
</tbody>
4687
3914
<hr>
4688
3915
<div class="refsect2" title="gnutls_db_store_func ()">
4689
3916
<a name="gnutls-db-store-func"></a><h3>gnutls_db_store_func ()</h3>
4690
 
<pre class="programlisting">int                 (*gnutls_db_store_func)             (void *,
4691
 
                                                         gnutls_datum_t key,
4692
 
                                                         gnutls_datum_t data);</pre>
 
3917
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_db_store_func)             (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
3918
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> key</code></em>,
 
3919
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> data</code></em>);</pre>
4693
3920
<p>
4694
3921
</p>
4695
3922
<div class="variablelist"><table border="0">
4721
3948
<hr>
4722
3949
<div class="refsect2" title="gnutls_db_remove_func ()">
4723
3950
<a name="gnutls-db-remove-func"></a><h3>gnutls_db_remove_func ()</h3>
4724
 
<pre class="programlisting">int                 (*gnutls_db_remove_func)            (void *,
4725
 
                                                         gnutls_datum_t key);</pre>
 
3951
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_db_remove_func)            (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
3952
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> key</code></em>);</pre>
4726
3953
<p>
4727
3954
</p>
4728
3955
<div class="variablelist"><table border="0">
4749
3976
<hr>
4750
3977
<div class="refsect2" title="gnutls_db_retr_func ()">
4751
3978
<a name="gnutls-db-retr-func"></a><h3>gnutls_db_retr_func ()</h3>
4752
 
<pre class="programlisting">gnutls_datum_t      (*gnutls_db_retr_func)              (void *,
4753
 
                                                         gnutls_datum_t key);</pre>
 
3979
<pre class="programlisting"><span class="returnvalue">gnutls_datum_t</span>      (*gnutls_db_retr_func)              (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
3980
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> key</code></em>);</pre>
4754
3981
<p>
4755
3982
</p>
4756
3983
<div class="variablelist"><table border="0">
4777
4004
<hr>
4778
4005
<div class="refsect2" title="gnutls_db_set_cache_expiration ()">
4779
4006
<a name="gnutls-db-set-cache-expiration"></a><h3>gnutls_db_set_cache_expiration ()</h3>
4780
 
<pre class="programlisting">void                gnutls_db_set_cache_expiration      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4781
 
                                                         int seconds);</pre>
4782
 
<p>
4783
 
Set the expiration time for resumed sessions. The default is 3600
4784
 
(one hour) at the time writing this.</p>
 
4007
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_db_set_cache_expiration      (<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>,
 
4008
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> seconds</code></em>);</pre>
4785
4009
<p>
4786
4010
</p>
4787
4011
<div class="variablelist"><table border="0">
4789
4013
<tbody>
4790
4014
<tr>
4791
4015
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4792
 
<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.
 
4016
<td>
4793
4017
</td>
4794
4018
</tr>
4795
4019
<tr>
4796
4020
<td><p><span class="term"><em class="parameter"><code>seconds</code></em> :</span></p></td>
4797
 
<td> is the number of seconds.
 
4021
<td>
4798
4022
</td>
4799
4023
</tr>
4800
4024
</tbody>
4803
4027
<hr>
4804
4028
<div class="refsect2" title="gnutls_db_remove_session ()">
4805
4029
<a name="gnutls-db-remove-session"></a><h3>gnutls_db_remove_session ()</h3>
4806
 
<pre class="programlisting">void                gnutls_db_remove_session            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4807
 
<p>
4808
 
This function will remove the current session data from the
4809
 
session database.  This will prevent future handshakes reusing
4810
 
these session data.  This function should be called if a session
4811
 
was terminated abnormally, and before <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a> is called.
4812
 
</p>
4813
 
<p>
4814
 
Normally <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a> will remove abnormally terminated
4815
 
sessions.</p>
 
4030
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_db_remove_session            (<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>
4816
4031
<p>
4817
4032
</p>
4818
4033
<div class="variablelist"><table border="0">
4819
4034
<col align="left" valign="top">
4820
4035
<tbody><tr>
4821
4036
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4822
 
<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.
 
4037
<td>
4823
4038
</td>
4824
4039
</tr></tbody>
4825
4040
</table></div>
4827
4042
<hr>
4828
4043
<div class="refsect2" title="gnutls_db_set_retrieve_function ()">
4829
4044
<a name="gnutls-db-set-retrieve-function"></a><h3>gnutls_db_set_retrieve_function ()</h3>
4830
 
<pre class="programlisting">void                gnutls_db_set_retrieve_function     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4831
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()">gnutls_db_retr_func</a> retr_func);</pre>
4832
 
<p>
4833
 
Sets the function that will be used to retrieve data from the
4834
 
resumed sessions database.  This function must return a
4835
 
gnutls_datum_t containing the data on success, or a gnutls_datum_t
4836
 
containing null and 0 on failure.
4837
 
</p>
4838
 
<p>
4839
 
The datum's data must be allocated using the function
4840
 
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a>.
4841
 
</p>
4842
 
<p>
4843
 
The first argument to <code class="function">retr_func()</code> will be null unless
4844
 
<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()"><code class="function">gnutls_db_set_ptr()</code></a> has been called.</p>
 
4045
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_db_set_retrieve_function     (<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>,
 
4046
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-retr-func" title="gnutls_db_retr_func ()"><span class="type">gnutls_db_retr_func</span></a> retr_func</code></em>);</pre>
4845
4047
<p>
4846
4048
</p>
4847
4049
<div class="variablelist"><table border="0">
4849
4051
<tbody>
4850
4052
<tr>
4851
4053
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4852
 
<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.
 
4054
<td>
4853
4055
</td>
4854
4056
</tr>
4855
4057
<tr>
4856
4058
<td><p><span class="term"><em class="parameter"><code>retr_func</code></em> :</span></p></td>
4857
 
<td> is the function.
 
4059
<td>
4858
4060
</td>
4859
4061
</tr>
4860
4062
</tbody>
4863
4065
<hr>
4864
4066
<div class="refsect2" title="gnutls_db_set_remove_function ()">
4865
4067
<a name="gnutls-db-set-remove-function"></a><h3>gnutls_db_set_remove_function ()</h3>
4866
 
<pre class="programlisting">void                gnutls_db_set_remove_function       (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4867
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()">gnutls_db_remove_func</a> rem_func);</pre>
4868
 
<p>
4869
 
Sets the function that will be used to remove data from the
4870
 
resumed sessions database. This function must return 0 on success.
4871
 
</p>
4872
 
<p>
4873
 
The first argument to <code class="function">rem_func()</code> will be null unless
4874
 
<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()"><code class="function">gnutls_db_set_ptr()</code></a> has been called.</p>
 
4068
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_db_set_remove_function       (<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>,
 
4069
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-remove-func" title="gnutls_db_remove_func ()"><span class="type">gnutls_db_remove_func</span></a> rem_func</code></em>);</pre>
4875
4070
<p>
4876
4071
</p>
4877
4072
<div class="variablelist"><table border="0">
4879
4074
<tbody>
4880
4075
<tr>
4881
4076
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4882
 
<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.
 
4077
<td>
4883
4078
</td>
4884
4079
</tr>
4885
4080
<tr>
4886
4081
<td><p><span class="term"><em class="parameter"><code>rem_func</code></em> :</span></p></td>
4887
 
<td> is the function.
 
4082
<td>
4888
4083
</td>
4889
4084
</tr>
4890
4085
</tbody>
4893
4088
<hr>
4894
4089
<div class="refsect2" title="gnutls_db_set_store_function ()">
4895
4090
<a name="gnutls-db-set-store-function"></a><h3>gnutls_db_set_store_function ()</h3>
4896
 
<pre class="programlisting">void                gnutls_db_set_store_function        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4897
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()">gnutls_db_store_func</a> store_func);</pre>
4898
 
<p>
4899
 
Sets the function that will be used to store data from the resumed
4900
 
sessions database. This function must remove 0 on success.
4901
 
</p>
4902
 
<p>
4903
 
The first argument to <code class="function">store_func()</code> will be null unless
4904
 
<a class="link" href="gnutls-gnutls.html#gnutls-db-set-ptr" title="gnutls_db_set_ptr ()"><code class="function">gnutls_db_set_ptr()</code></a> has been called.</p>
 
4091
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_db_set_store_function        (<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>,
 
4092
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-db-store-func" title="gnutls_db_store_func ()"><span class="type">gnutls_db_store_func</span></a> store_func</code></em>);</pre>
4905
4093
<p>
4906
4094
</p>
4907
4095
<div class="variablelist"><table border="0">
4909
4097
<tbody>
4910
4098
<tr>
4911
4099
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4912
 
<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.
 
4100
<td>
4913
4101
</td>
4914
4102
</tr>
4915
4103
<tr>
4916
4104
<td><p><span class="term"><em class="parameter"><code>store_func</code></em> :</span></p></td>
4917
 
<td> is the function
 
4105
<td>
4918
4106
</td>
4919
4107
</tr>
4920
4108
</tbody>
4923
4111
<hr>
4924
4112
<div class="refsect2" title="gnutls_db_set_ptr ()">
4925
4113
<a name="gnutls-db-set-ptr"></a><h3>gnutls_db_set_ptr ()</h3>
4926
 
<pre class="programlisting">void                gnutls_db_set_ptr                   (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4927
 
                                                         void *ptr);</pre>
4928
 
<p>
4929
 
Sets the pointer that will be provided to db store, retrieve and
4930
 
delete functions, as the first argument.</p>
 
4114
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_db_set_ptr                   (<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>,
 
4115
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre>
4931
4116
<p>
4932
4117
</p>
4933
4118
<div class="variablelist"><table border="0">
4935
4120
<tbody>
4936
4121
<tr>
4937
4122
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4938
 
<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.
 
4123
<td>
4939
4124
</td>
4940
4125
</tr>
4941
4126
<tr>
4942
4127
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
4943
 
<td> is the pointer
 
4128
<td>
4944
4129
</td>
4945
4130
</tr>
4946
4131
</tbody>
4949
4134
<hr>
4950
4135
<div class="refsect2" title="gnutls_db_get_ptr ()">
4951
4136
<a name="gnutls-db-get-ptr"></a><h3>gnutls_db_get_ptr ()</h3>
4952
 
<pre class="programlisting">void *              gnutls_db_get_ptr                   (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
4953
 
<p>
4954
 
Get db function pointer.</p>
 
4137
<pre class="programlisting"><span class="returnvalue">void</span> *              gnutls_db_get_ptr                   (<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>
4955
4138
<p>
4956
4139
</p>
4957
4140
<div class="variablelist"><table border="0">
4959
4142
<tbody>
4960
4143
<tr>
4961
4144
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4962
 
<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.
 
4145
<td>
4963
4146
</td>
4964
4147
</tr>
4965
4148
<tr>
4966
4149
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
4967
 
<td> the pointer that will be sent to db store, retrieve and
4968
 
  delete functions, as the first argument.
 
4150
<td>
4969
4151
</td>
4970
4152
</tr>
4971
4153
</tbody>
4974
4156
<hr>
4975
4157
<div class="refsect2" title="gnutls_db_check_entry ()">
4976
4158
<a name="gnutls-db-check-entry"></a><h3>gnutls_db_check_entry ()</h3>
4977
 
<pre class="programlisting">int                 gnutls_db_check_entry               (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
4978
 
                                                         gnutls_datum_t session_entry);</pre>
4979
 
<p>
4980
 
Check if database entry has expired.  This function is to be used
4981
 
when you want to clear unnesessary session which occupy space in
4982
 
your backend.</p>
 
4159
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_db_check_entry               (<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>,
 
4160
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> session_entry</code></em>);</pre>
4983
4161
<p>
4984
4162
</p>
4985
4163
<div class="variablelist"><table border="0">
4987
4165
<tbody>
4988
4166
<tr>
4989
4167
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
4990
 
<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.
 
4168
<td>
4991
4169
</td>
4992
4170
</tr>
4993
4171
<tr>
4994
4172
<td><p><span class="term"><em class="parameter"><code>session_entry</code></em> :</span></p></td>
4995
 
<td> is the session data (not key)
 
4173
<td>
4996
4174
</td>
4997
4175
</tr>
4998
4176
<tr>
4999
4177
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5000
 
<td> Returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-EXPIRED--CAPS" title="GNUTLS_E_EXPIRED"><code class="literal">GNUTLS_E_EXPIRED</code></a>, if the database entry has
5001
 
  expired or 0 otherwise.
 
4178
<td>
5002
4179
</td>
5003
4180
</tr>
5004
4181
</tbody>
5007
4184
<hr>
5008
4185
<div class="refsect2" title="gnutls_handshake_post_client_hello_func ()">
5009
4186
<a name="gnutls-handshake-post-client-hello-func"></a><h3>gnutls_handshake_post_client_hello_func ()</h3>
5010
 
<pre class="programlisting">int                 (*gnutls_handshake_post_client_hello_func)
5011
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> );</pre>
 
4187
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_handshake_post_client_hello_func)
 
4188
                                                        (<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> Param1</code></em>);</pre>
5012
4189
<p>
5013
4190
</p>
5014
4191
<div class="variablelist"><table border="0">
5030
4207
<hr>
5031
4208
<div class="refsect2" title="gnutls_handshake_set_post_client_hello_function ()">
5032
4209
<a name="gnutls-handshake-set-post-client-hello-function"></a><h3>gnutls_handshake_set_post_client_hello_function ()</h3>
5033
 
<pre class="programlisting">void                gnutls_handshake_set_post_client_hello_function
5034
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
5035
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func ()">gnutls_handshake_post_client_hello_func</a> func);</pre>
5036
 
<p>
5037
 
This function will set a callback to be called after the client
5038
 
hello has been received (callback valid in server side only). This
5039
 
allows the server to adjust settings based on received extensions.
5040
 
</p>
5041
 
<p>
5042
 
Those settings could be ciphersuites, requesting certificate, or
5043
 
anything else except for version negotiation (this is done before
5044
 
the hello message is parsed).
5045
 
</p>
5046
 
<p>
5047
 
This callback must return 0 on success or a gnutls error code to
5048
 
terminate the handshake.
5049
 
</p>
5050
 
<p>
5051
 
Warning: You should not use this function to terminate the
5052
 
handshake based on client input unless you know what you are
5053
 
doing. Before the handshake is finished there is no way to know if
5054
 
there is a man-in-the-middle attack being performed.</p>
 
4210
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_handshake_set_post_client_hello_function
 
4211
                                                        (<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>,
 
4212
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-handshake-post-client-hello-func" title="gnutls_handshake_post_client_hello_func ()"><span class="type">gnutls_handshake_post_client_hello_func</span></a> func</code></em>);</pre>
5055
4213
<p>
5056
4214
</p>
5057
4215
<div class="variablelist"><table border="0">
5059
4217
<tbody>
5060
4218
<tr>
5061
4219
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
5062
 
<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.
 
4220
<td>
5063
4221
</td>
5064
4222
</tr>
5065
4223
<tr>
5066
4224
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
5067
 
<td> is the function to be called
 
4225
<td>
5068
4226
</td>
5069
4227
</tr>
5070
4228
</tbody>
5073
4231
<hr>
5074
4232
<div class="refsect2" title="gnutls_handshake_set_max_packet_length ()">
5075
4233
<a name="gnutls-handshake-set-max-packet-length"></a><h3>gnutls_handshake_set_max_packet_length ()</h3>
5076
 
<pre class="programlisting">void                gnutls_handshake_set_max_packet_length
5077
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
5078
 
                                                         size_t max);</pre>
5079
 
<p>
5080
 
This function will set the maximum size of all handshake messages.
5081
 
Handshakes over this size are rejected with
5082
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-HANDSHAKE-TOO-LARGE--CAPS" title="GNUTLS_E_HANDSHAKE_TOO_LARGE"><code class="literal">GNUTLS_E_HANDSHAKE_TOO_LARGE</code></a> error code.  The default value is
5083
 
48kb which is typically large enough.  Set this to 0 if you do not
5084
 
want to set an upper limit.
5085
 
</p>
5086
 
<p>
5087
 
The reason for restricting the handshake message sizes are to
5088
 
limit Denial of Service attacks.</p>
 
4234
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_handshake_set_max_packet_length
 
4235
                                                        (<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>,
 
4236
                                                         <em class="parameter"><code><span class="type">size_t</span> max</code></em>);</pre>
5089
4237
<p>
5090
4238
</p>
5091
4239
<div class="variablelist"><table border="0">
5093
4241
<tbody>
5094
4242
<tr>
5095
4243
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
5096
 
<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.
 
4244
<td>
5097
4245
</td>
5098
4246
</tr>
5099
4247
<tr>
5100
4248
<td><p><span class="term"><em class="parameter"><code>max</code></em> :</span></p></td>
5101
 
<td> is the maximum number.
 
4249
<td>
5102
4250
</td>
5103
4251
</tr>
5104
4252
</tbody>
5107
4255
<hr>
5108
4256
<div class="refsect2" title="gnutls_check_version ()">
5109
4257
<a name="gnutls-check-version"></a><h3>gnutls_check_version ()</h3>
5110
 
<pre class="programlisting">const char *        gnutls_check_version                (const char *req_version);</pre>
5111
 
<p>
5112
 
Check GnuTLS Library version.
5113
 
</p>
5114
 
<p>
5115
 
See <a class="link" href="gnutls-gnutls.html#GNUTLS-VERSION--CAPS" title="GNUTLS_VERSION"><code class="literal">GNUTLS_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em> string.</p>
 
4258
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_check_version                (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);</pre>
5116
4259
<p>
5117
4260
</p>
5118
4261
<div class="variablelist"><table border="0">
5120
4263
<tbody>
5121
4264
<tr>
5122
4265
<td><p><span class="term"><em class="parameter"><code>req_version</code></em> :</span></p></td>
5123
 
<td> version string to compare with, or <code class="literal">NULL</code>.
 
4266
<td>
5124
4267
</td>
5125
4268
</tr>
5126
4269
<tr>
5127
4270
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5128
 
<td> Check that the version of the library is at
5129
 
  minimum the one given as a string in <em class="parameter"><code>req_version</code></em> and return the
5130
 
  actual version string of the library; return <code class="literal">NULL</code> if the
5131
 
  condition is not met.  If <code class="literal">NULL</code> is passed to this function no
5132
 
  check is done and only the version string is returned.
 
4271
<td>
5133
4272
</td>
5134
4273
</tr>
5135
4274
</tbody>
5138
4277
<hr>
5139
4278
<div class="refsect2" title="gnutls_credentials_clear ()">
5140
4279
<a name="gnutls-credentials-clear"></a><h3>gnutls_credentials_clear ()</h3>
5141
 
<pre class="programlisting">void                gnutls_credentials_clear            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
5142
 
<p>
5143
 
Clears all the credentials previously set in this session.</p>
 
4280
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_credentials_clear            (<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>
5144
4281
<p>
5145
4282
</p>
5146
4283
<div class="variablelist"><table border="0">
5147
4284
<col align="left" valign="top">
5148
4285
<tbody><tr>
5149
4286
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
5150
 
<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.
 
4287
<td>
5151
4288
</td>
5152
4289
</tr></tbody>
5153
4290
</table></div>
5155
4292
<hr>
5156
4293
<div class="refsect2" title="gnutls_credentials_set ()">
5157
4294
<a name="gnutls-credentials-set"></a><h3>gnutls_credentials_set ()</h3>
5158
 
<pre class="programlisting">int                 gnutls_credentials_set              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
5159
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a> type,
5160
 
                                                         void *cred);</pre>
5161
 
<p>
5162
 
Sets the needed credentials for the specified type.  Eg username,
5163
 
password - or public and private keys etc.  The <em class="parameter"><code>cred</code></em> parameter is
5164
 
a structure that depends on the specified type and on the current
5165
 
session (client or server).
5166
 
</p>
5167
 
<p>
5168
 
In order to minimize memory usage, and share credentials between
5169
 
several threads gnutls keeps a pointer to cred, and not the whole
5170
 
cred structure.  Thus you will have to keep the structure allocated
5171
 
until you call <a class="link" href="gnutls-gnutls.html#gnutls-deinit" title="gnutls_deinit ()"><code class="function">gnutls_deinit()</code></a>.
5172
 
</p>
5173
 
<p>
5174
 
For <code class="literal">GNUTLS_CRD_ANON</code>, <em class="parameter"><code>cred</code></em> should be
5175
 
<span class="type">gnutls_anon_client_credentials_t</span> in case of a client.  In case of
5176
 
a server it should be <span class="type">gnutls_anon_server_credentials_t</span>.
5177
 
</p>
5178
 
<p>
5179
 
For <code class="literal">GNUTLS_CRD_SRP</code>, <em class="parameter"><code>cred</code></em> should be <span class="type">gnutls_srp_client_credentials_t</span>
5180
 
in case of a client, and <span class="type">gnutls_srp_server_credentials_t</span>, in case
5181
 
of a server.
5182
 
</p>
5183
 
<p>
5184
 
For <code class="literal">GNUTLS_CRD_CERTIFICATE</code>, <em class="parameter"><code>cred</code></em> should be
5185
 
<span class="type">gnutls_certificate_credentials_t</span>.</p>
 
4295
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_credentials_set              (<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>,
 
4296
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type</code></em>,
 
4297
                                                         <em class="parameter"><code><span class="type">void</span> *cred</code></em>);</pre>
5186
4298
<p>
5187
4299
</p>
5188
4300
<div class="variablelist"><table border="0">
5190
4302
<tbody>
5191
4303
<tr>
5192
4304
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
5193
 
<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.
 
4305
<td>
5194
4306
</td>
5195
4307
</tr>
5196
4308
<tr>
5197
4309
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5198
 
<td> is the type of the credentials
 
4310
<td>
5199
4311
</td>
5200
4312
</tr>
5201
4313
<tr>
5202
4314
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
5203
 
<td> is a pointer to a structure.
 
4315
<td>
5204
4316
</td>
5205
4317
</tr>
5206
4318
<tr>
5207
4319
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5208
 
<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,
5209
 
  otherwise an error code is returned.
 
4320
<td>
5210
4321
</td>
5211
4322
</tr>
5212
4323
</tbody>
5215
4326
<hr>
5216
4327
<div class="refsect2" title="gnutls_cred_set">
5217
4328
<a name="gnutls-cred-set"></a><h3>gnutls_cred_set</h3>
5218
 
<pre class="programlisting">#define gnutls_cred_set     gnutls_credentials_set
 
4329
<pre class="programlisting">#define gnutls_cred_set gnutls_credentials_set
5219
4330
</pre>
5220
4331
<p>
5221
4332
</p>
5230
4341
<hr>
5231
4342
<div class="refsect2" title="gnutls_anon_free_server_credentials ()">
5232
4343
<a name="gnutls-anon-free-server-credentials"></a><h3>gnutls_anon_free_server_credentials ()</h3>
5233
 
<pre class="programlisting">void                gnutls_anon_free_server_credentials (gnutls_anon_server_credentials_t sc);</pre>
5234
 
<p>
5235
 
This structure is complex enough to manipulate directly thus this
5236
 
helper function is provided in order to free (deallocate) it.</p>
 
4344
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_anon_free_server_credentials (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> sc</code></em>);</pre>
5237
4345
<p>
5238
4346
</p>
5239
4347
<div class="variablelist"><table border="0">
5240
4348
<col align="left" valign="top">
5241
4349
<tbody><tr>
5242
4350
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5243
 
<td> is a <span class="type">gnutls_anon_server_credentials_t</span> structure.
 
4351
<td>
5244
4352
</td>
5245
4353
</tr></tbody>
5246
4354
</table></div>
5248
4356
<hr>
5249
4357
<div class="refsect2" title="gnutls_anon_allocate_server_credentials ()">
5250
4358
<a name="gnutls-anon-allocate-server-credentials"></a><h3>gnutls_anon_allocate_server_credentials ()</h3>
5251
 
<pre class="programlisting">int                 gnutls_anon_allocate_server_credentials
5252
 
                                                        (gnutls_anon_server_credentials_t *sc);</pre>
5253
 
<p>
5254
 
This structure is complex enough to manipulate directly thus this
5255
 
helper function is provided in order to allocate it.</p>
 
4359
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_anon_allocate_server_credentials
 
4360
                                                        (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> *sc</code></em>);</pre>
5256
4361
<p>
5257
4362
</p>
5258
4363
<div class="variablelist"><table border="0">
5260
4365
<tbody>
5261
4366
<tr>
5262
4367
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5263
 
<td> is a pointer to a <span class="type">gnutls_anon_server_credentials_t</span> structure.
 
4368
<td>
5264
4369
</td>
5265
4370
</tr>
5266
4371
<tr>
5267
4372
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5268
 
<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, or an error code.
 
4373
<td>
5269
4374
</td>
5270
4375
</tr>
5271
4376
</tbody>
5274
4379
<hr>
5275
4380
<div class="refsect2" title="gnutls_anon_set_server_dh_params ()">
5276
4381
<a name="gnutls-anon-set-server-dh-params"></a><h3>gnutls_anon_set_server_dh_params ()</h3>
5277
 
<pre class="programlisting">void                gnutls_anon_set_server_dh_params    (gnutls_anon_server_credentials_t res,
5278
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);</pre>
5279
 
<p>
5280
 
This function will set the Diffie-Hellman parameters for an
5281
 
anonymous server to use.  These parameters will be used in
5282
 
Anonymous Diffie-Hellman cipher suites.</p>
 
4382
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_anon_set_server_dh_params    (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>,
 
4383
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre>
5283
4384
<p>
5284
4385
</p>
5285
4386
<div class="variablelist"><table border="0">
5287
4388
<tbody>
5288
4389
<tr>
5289
4390
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5290
 
<td> is a gnutls_anon_server_credentials_t structure
 
4391
<td>
5291
4392
</td>
5292
4393
</tr>
5293
4394
<tr>
5294
4395
<td><p><span class="term"><em class="parameter"><code>dh_params</code></em> :</span></p></td>
5295
 
<td> is a structure that holds Diffie-Hellman parameters.
 
4396
<td>
5296
4397
</td>
5297
4398
</tr>
5298
4399
</tbody>
5301
4402
<hr>
5302
4403
<div class="refsect2" title="gnutls_anon_set_server_params_function ()">
5303
4404
<a name="gnutls-anon-set-server-params-function"></a><h3>gnutls_anon_set_server_params_function ()</h3>
5304
 
<pre class="programlisting">void                gnutls_anon_set_server_params_function
5305
 
                                                        (gnutls_anon_server_credentials_t res,
5306
 
                                                         gnutls_params_function *func);</pre>
5307
 
<p>
5308
 
This function will set a callback in order for the server to get
5309
 
the Diffie-Hellman parameters for anonymous authentication.  The
5310
 
callback should return zero on success.</p>
 
4405
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_anon_set_server_params_function
 
4406
                                                        (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>,
 
4407
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre>
5311
4408
<p>
5312
4409
</p>
5313
4410
<div class="variablelist"><table border="0">
5315
4412
<tbody>
5316
4413
<tr>
5317
4414
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5318
 
<td> is a gnutls_certificate_credentials_t structure
 
4415
<td>
5319
4416
</td>
5320
4417
</tr>
5321
4418
<tr>
5322
4419
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
5323
 
<td> is the function to be called
 
4420
<td>
5324
4421
</td>
5325
4422
</tr>
5326
4423
</tbody>
5329
4426
<hr>
5330
4427
<div class="refsect2" title="gnutls_anon_free_client_credentials ()">
5331
4428
<a name="gnutls-anon-free-client-credentials"></a><h3>gnutls_anon_free_client_credentials ()</h3>
5332
 
<pre class="programlisting">void                gnutls_anon_free_client_credentials (gnutls_anon_client_credentials_t sc);</pre>
5333
 
<p>
5334
 
This structure is complex enough to manipulate directly thus this
5335
 
helper function is provided in order to free (deallocate) it.</p>
 
4429
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_anon_free_client_credentials (<em class="parameter"><code><span class="type">gnutls_anon_client_credentials_t</span> sc</code></em>);</pre>
5336
4430
<p>
5337
4431
</p>
5338
4432
<div class="variablelist"><table border="0">
5339
4433
<col align="left" valign="top">
5340
4434
<tbody><tr>
5341
4435
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5342
 
<td> is a <span class="type">gnutls_anon_client_credentials_t</span> structure.
 
4436
<td>
5343
4437
</td>
5344
4438
</tr></tbody>
5345
4439
</table></div>
5347
4441
<hr>
5348
4442
<div class="refsect2" title="gnutls_anon_allocate_client_credentials ()">
5349
4443
<a name="gnutls-anon-allocate-client-credentials"></a><h3>gnutls_anon_allocate_client_credentials ()</h3>
5350
 
<pre class="programlisting">int                 gnutls_anon_allocate_client_credentials
5351
 
                                                        (gnutls_anon_client_credentials_t *sc);</pre>
5352
 
<p>
5353
 
This structure is complex enough to manipulate directly thus
5354
 
this helper function is provided in order to allocate it.</p>
 
4444
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_anon_allocate_client_credentials
 
4445
                                                        (<em class="parameter"><code><span class="type">gnutls_anon_client_credentials_t</span> *sc</code></em>);</pre>
5355
4446
<p>
5356
4447
</p>
5357
4448
<div class="variablelist"><table border="0">
5359
4450
<tbody>
5360
4451
<tr>
5361
4452
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5362
 
<td> is a pointer to a <span class="type">gnutls_anon_client_credentials_t</span> structure.
 
4453
<td>
5363
4454
</td>
5364
4455
</tr>
5365
4456
<tr>
5366
4457
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5367
 
<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, or an error code.
 
4458
<td>
5368
4459
</td>
5369
4460
</tr>
5370
4461
</tbody>
5373
4464
<hr>
5374
4465
<div class="refsect2" title="gnutls_certificate_free_credentials ()">
5375
4466
<a name="gnutls-certificate-free-credentials"></a><h3>gnutls_certificate_free_credentials ()</h3>
5376
 
<pre class="programlisting">void                gnutls_certificate_free_credentials (gnutls_certificate_credentials_t sc);</pre>
5377
 
<p>
5378
 
This structure is complex enough to manipulate directly thus
5379
 
this helper function is provided in order to free (deallocate) it.
5380
 
</p>
5381
 
<p>
5382
 
This function does not free any temporary parameters associated
5383
 
with this structure (ie RSA and DH parameters are not freed by
5384
 
this function).</p>
 
4467
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_free_credentials (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre>
5385
4468
<p>
5386
4469
</p>
5387
4470
<div class="variablelist"><table border="0">
5388
4471
<col align="left" valign="top">
5389
4472
<tbody><tr>
5390
4473
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5391
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4474
<td>
5392
4475
</td>
5393
4476
</tr></tbody>
5394
4477
</table></div>
5396
4479
<hr>
5397
4480
<div class="refsect2" title="gnutls_certificate_allocate_credentials ()">
5398
4481
<a name="gnutls-certificate-allocate-credentials"></a><h3>gnutls_certificate_allocate_credentials ()</h3>
5399
 
<pre class="programlisting">int                 gnutls_certificate_allocate_credentials
5400
 
                                                        (gnutls_certificate_credentials_t *res);</pre>
5401
 
<p>
5402
 
This structure is complex enough to manipulate directly thus this
5403
 
helper function is provided in order to allocate it.</p>
 
4482
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_allocate_credentials
 
4483
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> *res</code></em>);</pre>
5404
4484
<p>
5405
4485
</p>
5406
4486
<div class="variablelist"><table border="0">
5408
4488
<tbody>
5409
4489
<tr>
5410
4490
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5411
 
<td> is a pointer to a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4491
<td>
5412
4492
</td>
5413
4493
</tr>
5414
4494
<tr>
5415
4495
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5416
 
<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, or an error code.
 
4496
<td>
5417
4497
</td>
5418
4498
</tr>
5419
4499
</tbody>
5422
4502
<hr>
5423
4503
<div class="refsect2" title="gnutls_certificate_free_keys ()">
5424
4504
<a name="gnutls-certificate-free-keys"></a><h3>gnutls_certificate_free_keys ()</h3>
5425
 
<pre class="programlisting">void                gnutls_certificate_free_keys        (gnutls_certificate_credentials_t sc);</pre>
5426
 
<p>
5427
 
This function will delete all the keys and the certificates associated
5428
 
with the given credentials. This function must not be called when a
5429
 
TLS negotiation that uses the credentials is in progress.</p>
 
4505
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_free_keys        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre>
5430
4506
<p>
5431
4507
</p>
5432
4508
<div class="variablelist"><table border="0">
5433
4509
<col align="left" valign="top">
5434
4510
<tbody><tr>
5435
4511
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5436
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4512
<td>
5437
4513
</td>
5438
4514
</tr></tbody>
5439
4515
</table></div>
5441
4517
<hr>
5442
4518
<div class="refsect2" title="gnutls_certificate_free_cas ()">
5443
4519
<a name="gnutls-certificate-free-cas"></a><h3>gnutls_certificate_free_cas ()</h3>
5444
 
<pre class="programlisting">void                gnutls_certificate_free_cas         (gnutls_certificate_credentials_t sc);</pre>
5445
 
<p>
5446
 
This function will delete all the CAs associated
5447
 
with the given credentials. Servers that do not use
5448
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a> may call this to
5449
 
save some memory.</p>
 
4520
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_free_cas         (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre>
5450
4521
<p>
5451
4522
</p>
5452
4523
<div class="variablelist"><table border="0">
5453
4524
<col align="left" valign="top">
5454
4525
<tbody><tr>
5455
4526
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5456
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4527
<td>
5457
4528
</td>
5458
4529
</tr></tbody>
5459
4530
</table></div>
5461
4532
<hr>
5462
4533
<div class="refsect2" title="gnutls_certificate_free_ca_names ()">
5463
4534
<a name="gnutls-certificate-free-ca-names"></a><h3>gnutls_certificate_free_ca_names ()</h3>
5464
 
<pre class="programlisting">void                gnutls_certificate_free_ca_names    (gnutls_certificate_credentials_t sc);</pre>
5465
 
<p>
5466
 
This function will delete all the CA name in the
5467
 
given credentials. Clients may call this to save some memory
5468
 
since in client side the CA names are not used.
5469
 
</p>
5470
 
<p>
5471
 
CA names are used by servers to advertize the CAs they
5472
 
support to clients.</p>
 
4535
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_free_ca_names    (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre>
5473
4536
<p>
5474
4537
</p>
5475
4538
<div class="variablelist"><table border="0">
5476
4539
<col align="left" valign="top">
5477
4540
<tbody><tr>
5478
4541
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5479
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4542
<td>
5480
4543
</td>
5481
4544
</tr></tbody>
5482
4545
</table></div>
5484
4547
<hr>
5485
4548
<div class="refsect2" title="gnutls_certificate_free_crls ()">
5486
4549
<a name="gnutls-certificate-free-crls"></a><h3>gnutls_certificate_free_crls ()</h3>
5487
 
<pre class="programlisting">void                gnutls_certificate_free_crls        (gnutls_certificate_credentials_t sc);</pre>
5488
 
<p>
5489
 
This function will delete all the CRLs associated
5490
 
with the given credentials.</p>
 
4550
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_free_crls        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>);</pre>
5491
4551
<p>
5492
4552
</p>
5493
4553
<div class="variablelist"><table border="0">
5494
4554
<col align="left" valign="top">
5495
4555
<tbody><tr>
5496
4556
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
5497
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4557
<td>
5498
4558
</td>
5499
4559
</tr></tbody>
5500
4560
</table></div>
5502
4562
<hr>
5503
4563
<div class="refsect2" title="gnutls_certificate_set_dh_params ()">
5504
4564
<a name="gnutls-certificate-set-dh-params"></a><h3>gnutls_certificate_set_dh_params ()</h3>
5505
 
<pre class="programlisting">void                gnutls_certificate_set_dh_params    (gnutls_certificate_credentials_t res,
5506
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);</pre>
5507
 
<p>
5508
 
This function will set the Diffie-Hellman parameters for a
5509
 
certificate server to use. These parameters will be used in
5510
 
Ephemeral Diffie-Hellman cipher suites.  Note that only a pointer
5511
 
to the parameters are stored in the certificate handle, so if you
5512
 
deallocate the parameters before the certificate is deallocated,
5513
 
you must change the parameters stored in the certificate first.</p>
 
4565
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_set_dh_params    (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4566
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre>
5514
4567
<p>
5515
4568
</p>
5516
4569
<div class="variablelist"><table border="0">
5518
4571
<tbody>
5519
4572
<tr>
5520
4573
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5521
 
<td> is a gnutls_certificate_credentials_t structure
 
4574
<td>
5522
4575
</td>
5523
4576
</tr>
5524
4577
<tr>
5525
4578
<td><p><span class="term"><em class="parameter"><code>dh_params</code></em> :</span></p></td>
5526
 
<td> is a structure that holds Diffie-Hellman parameters.
 
4579
<td>
5527
4580
</td>
5528
4581
</tr>
5529
4582
</tbody>
5532
4585
<hr>
5533
4586
<div class="refsect2" title="gnutls_certificate_set_rsa_export_params ()">
5534
4587
<a name="gnutls-certificate-set-rsa-export-params"></a><h3>gnutls_certificate_set_rsa_export_params ()</h3>
5535
 
<pre class="programlisting">void                gnutls_certificate_set_rsa_export_params
5536
 
                                                        (gnutls_certificate_credentials_t res,
5537
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> rsa_params);</pre>
5538
 
<p>
5539
 
This function will set the temporary RSA parameters for a
5540
 
certificate server to use.  These parameters will be used in
5541
 
RSA-EXPORT cipher suites.</p>
 
4588
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_set_rsa_export_params
 
4589
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4590
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> rsa_params</code></em>);</pre>
5542
4591
<p>
5543
4592
</p>
5544
4593
<div class="variablelist"><table border="0">
5546
4595
<tbody>
5547
4596
<tr>
5548
4597
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5549
 
<td> is a gnutls_certificate_credentials_t structure
 
4598
<td>
5550
4599
</td>
5551
4600
</tr>
5552
4601
<tr>
5553
4602
<td><p><span class="term"><em class="parameter"><code>rsa_params</code></em> :</span></p></td>
5554
 
<td> is a structure that holds temporary RSA parameters.
 
4603
<td>
5555
4604
</td>
5556
4605
</tr>
5557
4606
</tbody>
5560
4609
<hr>
5561
4610
<div class="refsect2" title="gnutls_certificate_set_verify_flags ()">
5562
4611
<a name="gnutls-certificate-set-verify-flags"></a><h3>gnutls_certificate_set_verify_flags ()</h3>
5563
 
<pre class="programlisting">void                gnutls_certificate_set_verify_flags (gnutls_certificate_credentials_t res,
5564
 
                                                         unsigned int flags);</pre>
5565
 
<p>
5566
 
This function will set the flags to be used at verification of the
5567
 
certificates.  Flags must be OR of the
5568
 
<a class="link" href="gnutls-x509.html#gnutls-certificate-verify-flags" title="enum gnutls_certificate_verify_flags"><span class="type">gnutls_certificate_verify_flags</span></a> enumerations.</p>
 
4612
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_set_verify_flags (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4613
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> flags</code></em>);</pre>
5569
4614
<p>
5570
4615
</p>
5571
4616
<div class="variablelist"><table border="0">
5573
4618
<tbody>
5574
4619
<tr>
5575
4620
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5576
 
<td> is a gnutls_certificate_credentials_t structure
 
4621
<td>
5577
4622
</td>
5578
4623
</tr>
5579
4624
<tr>
5580
4625
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
5581
 
<td> are the flags
 
4626
<td>
5582
4627
</td>
5583
4628
</tr>
5584
4629
</tbody>
5587
4632
<hr>
5588
4633
<div class="refsect2" title="gnutls_certificate_set_verify_limits ()">
5589
4634
<a name="gnutls-certificate-set-verify-limits"></a><h3>gnutls_certificate_set_verify_limits ()</h3>
5590
 
<pre class="programlisting">void                gnutls_certificate_set_verify_limits
5591
 
                                                        (gnutls_certificate_credentials_t res,
5592
 
                                                         unsigned int max_bits,
5593
 
                                                         unsigned int max_depth);</pre>
5594
 
<p>
5595
 
This function will set some upper limits for the default
5596
 
verification function, <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>, to avoid
5597
 
denial of service attacks.  You can set them to zero to disable
5598
 
limits.</p>
 
4635
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_set_verify_limits
 
4636
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4637
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> max_bits</code></em>,
 
4638
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> max_depth</code></em>);</pre>
5599
4639
<p>
5600
4640
</p>
5601
4641
<div class="variablelist"><table border="0">
5603
4643
<tbody>
5604
4644
<tr>
5605
4645
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5606
 
<td> is a gnutls_certificate_credentials structure
 
4646
<td>
5607
4647
</td>
5608
4648
</tr>
5609
4649
<tr>
5610
4650
<td><p><span class="term"><em class="parameter"><code>max_bits</code></em> :</span></p></td>
5611
 
<td> is the number of bits of an acceptable certificate (default 8200)
 
4651
<td>
5612
4652
</td>
5613
4653
</tr>
5614
4654
<tr>
5615
4655
<td><p><span class="term"><em class="parameter"><code>max_depth</code></em> :</span></p></td>
5616
 
<td> is maximum depth of the verification of a certificate chain (default 5)
 
4656
<td>
5617
4657
</td>
5618
4658
</tr>
5619
4659
</tbody>
5622
4662
<hr>
5623
4663
<div class="refsect2" title="gnutls_certificate_set_x509_trust_file ()">
5624
4664
<a name="gnutls-certificate-set-x509-trust-file"></a><h3>gnutls_certificate_set_x509_trust_file ()</h3>
5625
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_trust_file
5626
 
                                                        (gnutls_certificate_credentials_t res,
5627
 
                                                         const char *cafile,
5628
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);</pre>
5629
 
<p>
5630
 
This function adds the trusted CAs in order to verify client or
5631
 
server certificates. In case of a client this is not required to
5632
 
be called if the certificates are not verified using
5633
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>.  This function may be called
5634
 
multiple times.
5635
 
</p>
5636
 
<p>
5637
 
In case of a server the names of the CAs set here will be sent to
5638
 
the client if a certificate request is sent. This can be disabled
5639
 
using <a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()"><code class="function">gnutls_certificate_send_x509_rdn_sequence()</code></a>.</p>
 
4665
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_trust_file
 
4666
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4667
                                                         <em class="parameter"><code>const <span class="type">char</span> *cafile</code></em>,
 
4668
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre>
5640
4669
<p>
5641
4670
</p>
5642
4671
<div class="variablelist"><table border="0">
5644
4673
<tbody>
5645
4674
<tr>
5646
4675
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5647
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4676
<td>
5648
4677
</td>
5649
4678
</tr>
5650
4679
<tr>
5651
4680
<td><p><span class="term"><em class="parameter"><code>cafile</code></em> :</span></p></td>
5652
 
<td> is a file containing the list of trusted CAs (DER or PEM list)
 
4681
<td>
5653
4682
</td>
5654
4683
</tr>
5655
4684
<tr>
5656
4685
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5657
 
<td> is PEM or DER
 
4686
<td>
5658
4687
</td>
5659
4688
</tr>
5660
4689
<tr>
5661
4690
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5662
 
<td> number of certificates processed, or a negative value on
5663
 
error.
 
4691
<td>
5664
4692
</td>
5665
4693
</tr>
5666
4694
</tbody>
5669
4697
<hr>
5670
4698
<div class="refsect2" title="gnutls_certificate_set_x509_trust_mem ()">
5671
4699
<a name="gnutls-certificate-set-x509-trust-mem"></a><h3>gnutls_certificate_set_x509_trust_mem ()</h3>
5672
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_trust_mem
5673
 
                                                        (gnutls_certificate_credentials_t res,
5674
 
                                                         const gnutls_datum_t *ca,
5675
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);</pre>
5676
 
<p>
5677
 
This function adds the trusted CAs in order to verify client or
5678
 
server certificates. In case of a client this is not required to
5679
 
be called if the certificates are not verified using
5680
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>.  This function may be called
5681
 
multiple times.
5682
 
</p>
5683
 
<p>
5684
 
In case of a server the CAs set here will be sent to the client if
5685
 
a certificate request is sent. This can be disabled using
5686
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()"><code class="function">gnutls_certificate_send_x509_rdn_sequence()</code></a>.</p>
 
4700
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_trust_mem
 
4701
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4702
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *ca</code></em>,
 
4703
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre>
5687
4704
<p>
5688
4705
</p>
5689
4706
<div class="variablelist"><table border="0">
5691
4708
<tbody>
5692
4709
<tr>
5693
4710
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5694
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4711
<td>
5695
4712
</td>
5696
4713
</tr>
5697
4714
<tr>
5698
4715
<td><p><span class="term"><em class="parameter"><code>ca</code></em> :</span></p></td>
5699
 
<td> is a list of trusted CAs or a DER certificate
 
4716
<td>
5700
4717
</td>
5701
4718
</tr>
5702
4719
<tr>
5703
4720
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5704
 
<td> is DER or PEM
 
4721
<td>
5705
4722
</td>
5706
4723
</tr>
5707
4724
<tr>
5708
4725
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5709
 
<td> the number of certificates processed or a negative value
5710
 
on error.
 
4726
<td>
5711
4727
</td>
5712
4728
</tr>
5713
4729
</tbody>
5716
4732
<hr>
5717
4733
<div class="refsect2" title="gnutls_certificate_set_x509_crl_file ()">
5718
4734
<a name="gnutls-certificate-set-x509-crl-file"></a><h3>gnutls_certificate_set_x509_crl_file ()</h3>
5719
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_crl_file
5720
 
                                                        (gnutls_certificate_credentials_t res,
5721
 
                                                         const char *crlfile,
5722
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);</pre>
5723
 
<p>
5724
 
This function adds the trusted CRLs in order to verify client or server
5725
 
certificates.  In case of a client this is not required
5726
 
to be called if the certificates are not verified using
5727
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>.
5728
 
This function may be called multiple times.</p>
 
4735
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_crl_file
 
4736
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4737
                                                         <em class="parameter"><code>const <span class="type">char</span> *crlfile</code></em>,
 
4738
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre>
5729
4739
<p>
5730
4740
</p>
5731
4741
<div class="variablelist"><table border="0">
5733
4743
<tbody>
5734
4744
<tr>
5735
4745
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5736
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4746
<td>
5737
4747
</td>
5738
4748
</tr>
5739
4749
<tr>
5740
4750
<td><p><span class="term"><em class="parameter"><code>crlfile</code></em> :</span></p></td>
5741
 
<td> is a file containing the list of verified CRLs (DER or PEM list)
 
4751
<td>
5742
4752
</td>
5743
4753
</tr>
5744
4754
<tr>
5745
4755
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5746
 
<td> is PEM or DER
 
4756
<td>
5747
4757
</td>
5748
4758
</tr>
5749
4759
<tr>
5750
4760
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5751
 
<td> number of CRLs processed or a negative value on error.
 
4761
<td>
5752
4762
</td>
5753
4763
</tr>
5754
4764
</tbody>
5757
4767
<hr>
5758
4768
<div class="refsect2" title="gnutls_certificate_set_x509_crl_mem ()">
5759
4769
<a name="gnutls-certificate-set-x509-crl-mem"></a><h3>gnutls_certificate_set_x509_crl_mem ()</h3>
5760
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_crl_mem (gnutls_certificate_credentials_t res,
5761
 
                                                         const gnutls_datum_t *CRL,
5762
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);</pre>
5763
 
<p>
5764
 
This function adds the trusted CRLs in order to verify client or
5765
 
server certificates.  In case of a client this is not required to
5766
 
be called if the certificates are not verified using
5767
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>.  This function may be called
5768
 
multiple times.</p>
 
4770
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_crl_mem (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4771
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *CRL</code></em>,
 
4772
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre>
5769
4773
<p>
5770
4774
</p>
5771
4775
<div class="variablelist"><table border="0">
5773
4777
<tbody>
5774
4778
<tr>
5775
4779
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5776
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4780
<td>
5777
4781
</td>
5778
4782
</tr>
5779
4783
<tr>
5780
4784
<td><p><span class="term"><em class="parameter"><code>CRL</code></em> :</span></p></td>
5781
 
<td> is a list of trusted CRLs. They should have been verified before.
 
4785
<td>
5782
4786
</td>
5783
4787
</tr>
5784
4788
<tr>
5785
4789
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5786
 
<td> is DER or PEM
 
4790
<td>
5787
4791
</td>
5788
4792
</tr>
5789
4793
<tr>
5790
4794
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5791
 
<td> number of CRLs processed, or a negative value on error.
 
4795
<td>
5792
4796
</td>
5793
4797
</tr>
5794
4798
</tbody>
5797
4801
<hr>
5798
4802
<div class="refsect2" title="gnutls_certificate_set_x509_key_file ()">
5799
4803
<a name="gnutls-certificate-set-x509-key-file"></a><h3>gnutls_certificate_set_x509_key_file ()</h3>
5800
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_key_file
5801
 
                                                        (gnutls_certificate_credentials_t res,
5802
 
                                                         const char *certfile,
5803
 
                                                         const char *keyfile,
5804
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);</pre>
5805
 
<p>
5806
 
This function sets a certificate/private key pair in the
5807
 
gnutls_certificate_credentials_t structure.  This function may be
5808
 
called more than once (in case multiple keys/certificates exist
5809
 
for the server).
5810
 
</p>
5811
 
<p>
5812
 
Currently only PKCS-1 encoded RSA and DSA private keys are accepted by
5813
 
this function.</p>
 
4804
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_key_file
 
4805
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4806
                                                         <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>,
 
4807
                                                         <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>,
 
4808
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre>
5814
4809
<p>
5815
4810
</p>
5816
4811
<div class="variablelist"><table border="0">
5818
4813
<tbody>
5819
4814
<tr>
5820
4815
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5821
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4816
<td>
5822
4817
</td>
5823
4818
</tr>
5824
4819
<tr>
5825
4820
<td><p><span class="term"><em class="parameter"><code>certfile</code></em> :</span></p></td>
5826
 
<td> is a file that containing the certificate list (path) for
5827
 
  the specified private key, in PKCS7 format, or a list of certificates
 
4821
<td>
5828
4822
</td>
5829
4823
</tr>
5830
4824
<tr>
5831
4825
<td><p><span class="term"><em class="parameter"><code>keyfile</code></em> :</span></p></td>
5832
 
<td> is a file that contains the private key
 
4826
<td>
5833
4827
</td>
5834
4828
</tr>
5835
4829
<tr>
5836
4830
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5837
 
<td> is PEM or DER
 
4831
<td>
5838
4832
</td>
5839
4833
</tr>
5840
4834
<tr>
5841
4835
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5842
 
<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, or an error code.
 
4836
<td>
5843
4837
</td>
5844
4838
</tr>
5845
4839
</tbody>
5848
4842
<hr>
5849
4843
<div class="refsect2" title="gnutls_certificate_set_x509_key_mem ()">
5850
4844
<a name="gnutls-certificate-set-x509-key-mem"></a><h3>gnutls_certificate_set_x509_key_mem ()</h3>
5851
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_key_mem (gnutls_certificate_credentials_t res,
5852
 
                                                         const gnutls_datum_t *cert,
5853
 
                                                         const gnutls_datum_t *key,
5854
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type);</pre>
5855
 
<p>
5856
 
This function sets a certificate/private key pair in the
5857
 
gnutls_certificate_credentials_t structure. This function may be called
5858
 
more than once (in case multiple keys/certificates exist for the
5859
 
server).
5860
 
</p>
5861
 
<p>
5862
 
Currently are supported: RSA PKCS-1 encoded private keys,
5863
 
DSA private keys.
5864
 
</p>
5865
 
<p>
5866
 
DSA private keys are encoded the OpenSSL way, which is an ASN.1
5867
 
DER sequence of 6 INTEGERs - version, p, q, g, pub, priv.
5868
 
</p>
5869
 
<p>
5870
 
Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates
5871
 
is supported. This means that certificates intended for signing cannot
5872
 
be used for ciphersuites that require encryption.
5873
 
</p>
5874
 
<p>
5875
 
If the certificate and the private key are given in PEM encoding
5876
 
then the strings that hold their values must be null terminated.
5877
 
</p>
5878
 
<p>
5879
 
The <em class="parameter"><code>key</code></em> may be <code class="literal">NULL</code> if you are using a sign callback, see
5880
 
<a class="link" href="gnutls-gnutls.html#gnutls-sign-callback-set" title="gnutls_sign_callback_set ()"><code class="function">gnutls_sign_callback_set()</code></a>.</p>
 
4845
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_key_mem (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4846
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
4847
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
4848
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>);</pre>
5881
4849
<p>
5882
4850
</p>
5883
4851
<div class="variablelist"><table border="0">
5885
4853
<tbody>
5886
4854
<tr>
5887
4855
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5888
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4856
<td>
5889
4857
</td>
5890
4858
</tr>
5891
4859
<tr>
5892
4860
<td><p><span class="term"><em class="parameter"><code>cert</code></em> :</span></p></td>
5893
 
<td> contains a certificate list (path) for the specified private key
 
4861
<td>
5894
4862
</td>
5895
4863
</tr>
5896
4864
<tr>
5897
4865
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
5898
 
<td> is the private key, or <code class="literal">NULL</code>
 
4866
<td>
5899
4867
</td>
5900
4868
</tr>
5901
4869
<tr>
5902
4870
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
5903
 
<td> is PEM or DER
 
4871
<td>
5904
4872
</td>
5905
4873
</tr>
5906
4874
<tr>
5907
4875
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
5908
 
<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, or an error code.
 
4876
<td>
5909
4877
</td>
5910
4878
</tr>
5911
4879
</tbody>
5914
4882
<hr>
5915
4883
<div class="refsect2" title="gnutls_certificate_send_x509_rdn_sequence ()">
5916
4884
<a name="gnutls-certificate-send-x509-rdn-sequence"></a><h3>gnutls_certificate_send_x509_rdn_sequence ()</h3>
5917
 
<pre class="programlisting">void                gnutls_certificate_send_x509_rdn_sequence
5918
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
5919
 
                                                         int status);</pre>
5920
 
<p>
5921
 
If status is non zero, this function will order gnutls not to send
5922
 
the rdnSequence in the certificate request message. That is the
5923
 
server will not advertize it's trusted CAs to the peer. If status
5924
 
is zero then the default behaviour will take effect, which is to
5925
 
advertize the server's trusted CAs.
5926
 
</p>
5927
 
<p>
5928
 
This function has no effect in clients, and in authentication
5929
 
methods other than certificate with X.509 certificates.</p>
 
4885
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_send_x509_rdn_sequence
 
4886
                                                        (<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>,
 
4887
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> status</code></em>);</pre>
5930
4888
<p>
5931
4889
</p>
5932
4890
<div class="variablelist"><table border="0">
5934
4892
<tbody>
5935
4893
<tr>
5936
4894
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
5937
 
<td> is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
4895
<td>
5938
4896
</td>
5939
4897
</tr>
5940
4898
<tr>
5941
4899
<td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
5942
 
<td> is 0 or 1
 
4900
<td>
5943
4901
</td>
5944
4902
</tr>
5945
4903
</tbody>
5948
4906
<hr>
5949
4907
<div class="refsect2" title="gnutls_certificate_set_x509_simple_pkcs12_file ()">
5950
4908
<a name="gnutls-certificate-set-x509-simple-pkcs12-file"></a><h3>gnutls_certificate_set_x509_simple_pkcs12_file ()</h3>
5951
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_simple_pkcs12_file
5952
 
                                                        (gnutls_certificate_credentials_t res,
5953
 
                                                         const char *pkcs12file,
5954
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type,
5955
 
                                                         const char *password);</pre>
 
4909
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_simple_pkcs12_file
 
4910
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4911
                                                         <em class="parameter"><code>const <span class="type">char</span> *pkcs12file</code></em>,
 
4912
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>,
 
4913
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre>
5956
4914
<p>
5957
4915
This function sets a certificate/private key pair and/or a CRL in
5958
4916
the gnutls_certificate_credentials_t structure.  This function may
5961
4919
</p>
5962
4920
<p>
5963
4921
MAC:ed PKCS<span class="type">12</span> files are supported.  Encrypted PKCS<span class="type">12</span> bags are
5964
 
supported.  Encrypted PKCS<span class="type">8</span> private keys are supported.  However,
 
4922
supported.  Encrypted PKCS#8 private keys are supported.  However,
5965
4923
only password based security, and the same password for all
5966
4924
operations, are supported.
5967
4925
</p>
5968
4926
<p>
5969
 
The private keys may be RSA PKCS<span class="type">1</span> or DSA private keys encoded in
 
4927
The private keys may be RSA PKCS#1 or DSA private keys encoded in
5970
4928
the OpenSSL way.
5971
4929
</p>
5972
4930
<p>
5980
4938
for most usage, and that any more flexibility would introduce
5981
4939
complexity that would make it harder to use this functionality at
5982
4940
all.</p>
5983
 
<p>
5984
 
</p>
5985
4941
<div class="variablelist"><table border="0">
5986
4942
<col align="left" valign="top">
5987
4943
<tbody>
5988
4944
<tr>
5989
4945
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
5990
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
4946
<td>is a <span class="type">gnutls_certificate_credentials_t</span> structure.
5991
4947
</td>
5992
4948
</tr>
5993
4949
<tr>
5994
4950
<td><p><span class="term"><em class="parameter"><code>pkcs12file</code></em> :</span></p></td>
5995
 
<td> filename of file containing PKCS<span class="type">12</span> blob.
 
4951
<td>filename of file containing PKCS<span class="type">12</span> blob.
5996
4952
</td>
5997
4953
</tr>
5998
4954
<tr>
5999
4955
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
6000
 
<td> is PEM or DER of the <em class="parameter"><code>pkcs12file</code></em>.
 
4956
<td>is PEM or DER of the <em class="parameter"><code>pkcs12file</code></em>.
6001
4957
</td>
6002
4958
</tr>
6003
4959
<tr>
6004
4960
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
6005
 
<td> optional password used to decrypt PKCS<span class="type">12</span> file, bags and keys.
 
4961
<td>optional password used to decrypt PKCS<span class="type">12</span> file, bags and keys.
6006
4962
</td>
6007
4963
</tr>
6008
4964
<tr>
6009
4965
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6010
 
<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, or an error code.
 
4966
<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, or an error code.
6011
4967
</td>
6012
4968
</tr>
6013
4969
</tbody>
6016
4972
<hr>
6017
4973
<div class="refsect2" title="gnutls_certificate_set_x509_simple_pkcs12_mem ()">
6018
4974
<a name="gnutls-certificate-set-x509-simple-pkcs12-mem"></a><h3>gnutls_certificate_set_x509_simple_pkcs12_mem ()</h3>
6019
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_simple_pkcs12_mem
6020
 
                                                        (gnutls_certificate_credentials_t res,
6021
 
                                                         const gnutls_datum *p12blob,
6022
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> type,
6023
 
                                                         const char *password);</pre>
 
4975
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_simple_pkcs12_mem
 
4976
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
4977
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum</span> *p12blob</code></em>,
 
4978
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> type</code></em>,
 
4979
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre>
6024
4980
<p>
6025
4981
This function sets a certificate/private key pair and/or a CRL in
6026
4982
the gnutls_certificate_credentials_t structure.  This function may
6029
4985
</p>
6030
4986
<p>
6031
4987
MAC:ed PKCS<span class="type">12</span> files are supported.  Encrypted PKCS<span class="type">12</span> bags are
6032
 
supported.  Encrypted PKCS<span class="type">8</span> private keys are supported.  However,
 
4988
supported.  Encrypted PKCS#8 private keys are supported.  However,
6033
4989
only password based security, and the same password for all
6034
4990
operations, are supported.
6035
4991
</p>
6036
4992
<p>
6037
 
The private keys may be RSA PKCS<span class="type">1</span> or DSA private keys encoded in
 
4993
The private keys may be RSA PKCS#1 or DSA private keys encoded in
6038
4994
the OpenSSL way.
6039
4995
</p>
6040
4996
<p>
6048
5004
for most usage, and that any more flexibility would introduce
6049
5005
complexity that would make it harder to use this functionality at
6050
5006
all.</p>
6051
 
<p>
6052
 
</p>
6053
5007
<div class="variablelist"><table border="0">
6054
5008
<col align="left" valign="top">
6055
5009
<tbody>
6056
5010
<tr>
6057
5011
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
6058
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5012
<td>is a <span class="type">gnutls_certificate_credentials_t</span> structure.
6059
5013
</td>
6060
5014
</tr>
6061
5015
<tr>
6062
5016
<td><p><span class="term"><em class="parameter"><code>p12blob</code></em> :</span></p></td>
6063
 
<td> the PKCS<span class="type">12</span> blob.
 
5017
<td>the PKCS<span class="type">12</span> blob.
6064
5018
</td>
6065
5019
</tr>
6066
5020
<tr>
6067
5021
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
6068
 
<td> is PEM or DER of the <em class="parameter"><code>pkcs12file</code></em>.
 
5022
<td>is PEM or DER of the <em class="parameter"><code>pkcs12file</code></em>.
6069
5023
</td>
6070
5024
</tr>
6071
5025
<tr>
6072
5026
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
6073
 
<td> optional password used to decrypt PKCS<span class="type">12</span> file, bags and keys.
 
5027
<td>optional password used to decrypt PKCS<span class="type">12</span> file, bags and keys.
6074
5028
</td>
6075
5029
</tr>
6076
5030
<tr>
6077
5031
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6078
 
<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, or an error code.
 
5032
<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, or an error code.
6079
5033
 
6080
5034
</td>
6081
5035
</tr>
6139
5093
<hr>
6140
5094
<div class="refsect2" title="gnutls_certificate_set_x509_key ()">
6141
5095
<a name="gnutls-certificate-set-x509-key"></a><h3>gnutls_certificate_set_x509_key ()</h3>
6142
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_key     (gnutls_certificate_credentials_t res,
6143
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a> *cert_list,
6144
 
                                                         int cert_list_size,
6145
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t">gnutls_x509_privkey_t</a> key);</pre>
6146
 
<p>
6147
 
This function sets a certificate/private key pair in the
6148
 
gnutls_certificate_credentials_t structure.  This function may be
6149
 
called more than once (in case multiple keys/certificates exist
6150
 
for the server).</p>
 
5096
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_key     (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
5097
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *cert_list</code></em>,
 
5098
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> cert_list_size</code></em>,
 
5099
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-privkey-t" title="gnutls_x509_privkey_t"><span class="type">gnutls_x509_privkey_t</span></a> key</code></em>);</pre>
6151
5100
<p>
6152
5101
</p>
6153
5102
<div class="variablelist"><table border="0">
6155
5104
<tbody>
6156
5105
<tr>
6157
5106
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
6158
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5107
<td>
6159
5108
</td>
6160
5109
</tr>
6161
5110
<tr>
6162
5111
<td><p><span class="term"><em class="parameter"><code>cert_list</code></em> :</span></p></td>
6163
 
<td> contains a certificate list (path) for the specified private key
 
5112
<td>
6164
5113
</td>
6165
5114
</tr>
6166
5115
<tr>
6167
5116
<td><p><span class="term"><em class="parameter"><code>cert_list_size</code></em> :</span></p></td>
6168
 
<td> holds the size of the certificate list
 
5117
<td>
6169
5118
</td>
6170
5119
</tr>
6171
5120
<tr>
6172
5121
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
6173
 
<td> is a gnutls_x509_privkey_t key
 
5122
<td>
6174
5123
</td>
6175
5124
</tr>
6176
5125
<tr>
6177
5126
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6178
 
<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, or an error code.
6179
 
 
 
5127
<td>
6180
5128
</td>
6181
5129
</tr>
6182
5130
</tbody>
6183
5131
</table></div>
6184
 
<p class="since">Since 2.4.0</p>
6185
5132
</div>
6186
5133
<hr>
6187
5134
<div class="refsect2" title="gnutls_certificate_set_x509_trust ()">
6188
5135
<a name="gnutls-certificate-set-x509-trust"></a><h3>gnutls_certificate_set_x509_trust ()</h3>
6189
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_trust   (gnutls_certificate_credentials_t res,
6190
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a> *ca_list,
6191
 
                                                         int ca_list_size);</pre>
6192
 
<p>
6193
 
This function adds the trusted CAs in order to verify client
6194
 
or server certificates. In case of a client this is not required
6195
 
to be called if the certificates are not verified using
6196
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>.
6197
 
This function may be called multiple times.
6198
 
</p>
6199
 
<p>
6200
 
In case of a server the CAs set here will be sent to the client if
6201
 
a certificate request is sent. This can be disabled using
6202
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-send-x509-rdn-sequence" title="gnutls_certificate_send_x509_rdn_sequence ()"><code class="function">gnutls_certificate_send_x509_rdn_sequence()</code></a>.</p>
 
5136
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_trust   (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
5137
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> *ca_list</code></em>,
 
5138
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> ca_list_size</code></em>);</pre>
6203
5139
<p>
6204
5140
</p>
6205
5141
<div class="variablelist"><table border="0">
6207
5143
<tbody>
6208
5144
<tr>
6209
5145
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
6210
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5146
<td>
6211
5147
</td>
6212
5148
</tr>
6213
5149
<tr>
6214
5150
<td><p><span class="term"><em class="parameter"><code>ca_list</code></em> :</span></p></td>
6215
 
<td> is a list of trusted CAs
 
5151
<td>
6216
5152
</td>
6217
5153
</tr>
6218
5154
<tr>
6219
5155
<td><p><span class="term"><em class="parameter"><code>ca_list_size</code></em> :</span></p></td>
6220
 
<td> holds the size of the CA list
 
5156
<td>
6221
5157
</td>
6222
5158
</tr>
6223
5159
<tr>
6224
5160
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6225
 
<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, or an error code.
6226
 
 
 
5161
<td>
6227
5162
</td>
6228
5163
</tr>
6229
5164
</tbody>
6230
5165
</table></div>
6231
 
<p class="since">Since 2.4.0</p>
6232
5166
</div>
6233
5167
<hr>
6234
5168
<div class="refsect2" title="gnutls_certificate_set_x509_crl ()">
6235
5169
<a name="gnutls-certificate-set-x509-crl"></a><h3>gnutls_certificate_set_x509_crl ()</h3>
6236
 
<pre class="programlisting">int                 gnutls_certificate_set_x509_crl     (gnutls_certificate_credentials_t res,
6237
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a> *crl_list,
6238
 
                                                         int crl_list_size);</pre>
6239
 
<p>
6240
 
This function adds the trusted CRLs in order to verify client or
6241
 
server certificates.  In case of a client this is not required to
6242
 
be called if the certificates are not verified using
6243
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a>.  This function may be called
6244
 
multiple times.</p>
 
5170
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_set_x509_crl     (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
5171
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> *crl_list</code></em>,
 
5172
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> crl_list_size</code></em>);</pre>
6245
5173
<p>
6246
5174
</p>
6247
5175
<div class="variablelist"><table border="0">
6249
5177
<tbody>
6250
5178
<tr>
6251
5179
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
6252
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5180
<td>
6253
5181
</td>
6254
5182
</tr>
6255
5183
<tr>
6256
5184
<td><p><span class="term"><em class="parameter"><code>crl_list</code></em> :</span></p></td>
6257
 
<td> is a list of trusted CRLs. They should have been verified before.
 
5185
<td>
6258
5186
</td>
6259
5187
</tr>
6260
5188
<tr>
6261
5189
<td><p><span class="term"><em class="parameter"><code>crl_list_size</code></em> :</span></p></td>
6262
 
<td> holds the size of the crl_list
 
5190
<td>
6263
5191
</td>
6264
5192
</tr>
6265
5193
<tr>
6266
5194
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6267
 
<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, or an error code.
6268
 
 
 
5195
<td>
6269
5196
</td>
6270
5197
</tr>
6271
5198
</tbody>
6272
5199
</table></div>
6273
 
<p class="since">Since 2.4.0</p>
6274
5200
</div>
6275
5201
<hr>
6276
5202
<div class="refsect2" title="gnutls_certificate_get_x509_cas ()">
6277
5203
<a name="gnutls-certificate-get-x509-cas"></a><h3>gnutls_certificate_get_x509_cas ()</h3>
6278
 
<pre class="programlisting">void                gnutls_certificate_get_x509_cas     (gnutls_certificate_credentials_t sc,
6279
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t">gnutls_x509_crt_t</a> **x509_ca_list,
6280
 
                                                         unsigned int *ncas);</pre>
6281
 
<p>
6282
 
This function will export all the CAs associated
6283
 
with the given credentials.</p>
 
5204
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_get_x509_cas     (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>,
 
5205
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> **x509_ca_list</code></em>,
 
5206
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *ncas</code></em>);</pre>
6284
5207
<p>
6285
5208
</p>
6286
5209
<div class="variablelist"><table border="0">
6288
5211
<tbody>
6289
5212
<tr>
6290
5213
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
6291
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5214
<td>
6292
5215
</td>
6293
5216
</tr>
6294
5217
<tr>
6295
5218
<td><p><span class="term"><em class="parameter"><code>x509_ca_list</code></em> :</span></p></td>
6296
 
<td> will point to the CA list. Should be treated as constant
 
5219
<td>
6297
5220
</td>
6298
5221
</tr>
6299
5222
<tr>
6300
5223
<td><p><span class="term"><em class="parameter"><code>ncas</code></em> :</span></p></td>
6301
 
<td> the number of CAs
 
5224
<td>
6302
5225
</td>
6303
5226
</tr>
6304
5227
</tbody>
6305
5228
</table></div>
6306
 
<p class="since">Since 2.4.0</p>
6307
5229
</div>
6308
5230
<hr>
6309
5231
<div class="refsect2" title="gnutls_certificate_get_x509_crls ()">
6310
5232
<a name="gnutls-certificate-get-x509-crls"></a><h3>gnutls_certificate_get_x509_crls ()</h3>
6311
 
<pre class="programlisting">void                gnutls_certificate_get_x509_crls    (gnutls_certificate_credentials_t sc,
6312
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t">gnutls_x509_crl_t</a> **x509_crl_list,
6313
 
                                                         unsigned int *ncrls);</pre>
6314
 
<p>
6315
 
This function will export all the CRLs associated with the given
6316
 
credentials.</p>
 
5233
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_get_x509_crls    (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>,
 
5234
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> **x509_crl_list</code></em>,
 
5235
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *ncrls</code></em>);</pre>
6317
5236
<p>
6318
5237
</p>
6319
5238
<div class="variablelist"><table border="0">
6321
5240
<tbody>
6322
5241
<tr>
6323
5242
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
6324
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5243
<td>
6325
5244
</td>
6326
5245
</tr>
6327
5246
<tr>
6328
5247
<td><p><span class="term"><em class="parameter"><code>x509_crl_list</code></em> :</span></p></td>
6329
 
<td> the exported CRL list. Should be treated as constant
 
5248
<td>
6330
5249
</td>
6331
5250
</tr>
6332
5251
<tr>
6333
5252
<td><p><span class="term"><em class="parameter"><code>ncrls</code></em> :</span></p></td>
6334
 
<td> the number of exported CRLs
 
5253
<td>
6335
5254
</td>
6336
5255
</tr>
6337
5256
</tbody>
6338
5257
</table></div>
6339
 
<p class="since">Since 2.4.0</p>
6340
5258
</div>
6341
5259
<hr>
6342
5260
<div class="refsect2" title="gnutls_certificate_get_openpgp_keyring ()">
6343
5261
<a name="gnutls-certificate-get-openpgp-keyring"></a><h3>gnutls_certificate_get_openpgp_keyring ()</h3>
6344
 
<pre class="programlisting">void                gnutls_certificate_get_openpgp_keyring
6345
 
                                                        (gnutls_certificate_credentials_t sc,
6346
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t">gnutls_openpgp_keyring_t</a> *keyring);</pre>
6347
 
<p>
6348
 
This function will export the OpenPGP keyring associated with the
6349
 
given credentials.</p>
 
5262
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_get_openpgp_keyring
 
5263
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> sc</code></em>,
 
5264
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> *keyring</code></em>);</pre>
6350
5265
<p>
6351
5266
</p>
6352
5267
<div class="variablelist"><table border="0">
6354
5269
<tbody>
6355
5270
<tr>
6356
5271
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
6357
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
5272
<td>
6358
5273
</td>
6359
5274
</tr>
6360
5275
<tr>
6361
5276
<td><p><span class="term"><em class="parameter"><code>keyring</code></em> :</span></p></td>
6362
 
<td> the exported keyring. Should be treated as constant
 
5277
<td>
6363
5278
</td>
6364
5279
</tr>
6365
5280
</tbody>
6366
5281
</table></div>
6367
 
<p class="since">Since 2.4.0</p>
6368
5282
</div>
6369
5283
<hr>
6370
5284
<div class="refsect2" title="gnutls_global_init ()">
6371
5285
<a name="gnutls-global-init"></a><h3>gnutls_global_init ()</h3>
6372
 
<pre class="programlisting">int                 gnutls_global_init                  (void);</pre>
6373
 
<p>
6374
 
This function initializes the global data to defaults.  Every
6375
 
gnutls application has a global data which holds common parameters
6376
 
shared by gnutls session structures.  You should call
6377
 
<a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a> when gnutls usage is no longer needed
6378
 
</p>
6379
 
<p>
6380
 
Note that this function will also initialize libgcrypt, if it has
6381
 
not been initialized before.  Thus if you want to manually
6382
 
initialize libgcrypt you must do it before calling this function.
6383
 
This is useful in cases you want to disable libgcrypt's internal
6384
 
lockings etc.
6385
 
</p>
6386
 
<p>
6387
 
This function increment a global counter, so that
6388
 
<a class="link" href="gnutls-gnutls.html#gnutls-global-deinit" title="gnutls_global_deinit ()"><code class="function">gnutls_global_deinit()</code></a> only releases resources when it has been
6389
 
called as many times as <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.  This is useful when
6390
 
GnuTLS is used by more than one library in an application.  This
6391
 
function can be called many times, but will only do something the
6392
 
first time.
6393
 
</p>
6394
 
<p>
6395
 
Note!  This function is not thread safe.  If two threads call this
6396
 
function simultaneously, they can cause a race between checking
6397
 
the global counter and incrementing it, causing both threads to
6398
 
execute the library initialization code.  That would lead to a
6399
 
memory leak.  To handle this, your application could invoke this
6400
 
function after aquiring a thread mutex.  To ignore the potential
6401
 
memory leak is also an option.</p>
 
5286
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_global_init                  (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
6402
5287
<p>
6403
5288
</p>
6404
5289
<div class="variablelist"><table border="0">
6405
5290
<col align="left" valign="top">
6406
5291
<tbody><tr>
6407
5292
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6408
 
<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,
6409
 
  otherwise an error code is returned.
 
5293
<td>
6410
5294
</td>
6411
5295
</tr></tbody>
6412
5296
</table></div>
6414
5298
<hr>
6415
5299
<div class="refsect2" title="gnutls_global_deinit ()">
6416
5300
<a name="gnutls-global-deinit"></a><h3>gnutls_global_deinit ()</h3>
6417
 
<pre class="programlisting">void                gnutls_global_deinit                (void);</pre>
6418
 
<p>
6419
 
This function deinitializes the global data, that were initialized
6420
 
using <a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a>.
6421
 
</p>
6422
 
<p>
6423
 
Note!  This function is not thread safe.  See the discussion for
6424
 
<a class="link" href="gnutls-gnutls.html#gnutls-global-init" title="gnutls_global_init ()"><code class="function">gnutls_global_init()</code></a> for more information.</p>
 
5301
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_global_deinit                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
6425
5302
<p>
6426
5303
</p>
6427
5304
</div>
6428
5305
<hr>
6429
5306
<div class="refsect2" title="gnutls_alloc_function ()">
6430
5307
<a name="gnutls-alloc-function"></a><h3>gnutls_alloc_function ()</h3>
6431
 
<pre class="programlisting">void *              (*gnutls_alloc_function)            (size_t );</pre>
 
5308
<pre class="programlisting"><span class="returnvalue">void</span> *              (*gnutls_alloc_function)            (<em class="parameter"><code><span class="type">size_t</span> Param1</code></em>);</pre>
6432
5309
<p>
6433
5310
</p>
6434
5311
<div class="variablelist"><table border="0">
6450
5327
<hr>
6451
5328
<div class="refsect2" title="gnutls_calloc_function ()">
6452
5329
<a name="gnutls-calloc-function"></a><h3>gnutls_calloc_function ()</h3>
6453
 
<pre class="programlisting">void *              (*gnutls_calloc_function)           (size_t ,
6454
 
                                                         size_t );</pre>
 
5330
<pre class="programlisting"><span class="returnvalue">void</span> *              (*gnutls_calloc_function)           (<em class="parameter"><code><span class="type">size_t</span> Param1</code></em>,
 
5331
                                                         <em class="parameter"><code><span class="type">size_t</span> Param2</code></em>);</pre>
6455
5332
<p>
6456
5333
</p>
6457
5334
<div class="variablelist"><table border="0">
6478
5355
<hr>
6479
5356
<div class="refsect2" title="gnutls_is_secure_function ()">
6480
5357
<a name="gnutls-is-secure-function"></a><h3>gnutls_is_secure_function ()</h3>
6481
 
<pre class="programlisting">int                 (*gnutls_is_secure_function)        (const void *);</pre>
 
5358
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_is_secure_function)        (<em class="parameter"><code>const <span class="type">void</span> *Param1</code></em>);</pre>
6482
5359
<p>
6483
5360
</p>
6484
5361
<div class="variablelist"><table border="0">
6500
5377
<hr>
6501
5378
<div class="refsect2" title="gnutls_free_function ()">
6502
5379
<a name="gnutls-free-function"></a><h3>gnutls_free_function ()</h3>
6503
 
<pre class="programlisting">void                (*gnutls_free_function)             (void *);</pre>
 
5380
<pre class="programlisting"><span class="returnvalue">void</span>                (*gnutls_free_function)             (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>);</pre>
6504
5381
<p>
6505
5382
</p>
6506
5383
<div class="variablelist"><table border="0">
6515
5392
<hr>
6516
5393
<div class="refsect2" title="gnutls_realloc_function ()">
6517
5394
<a name="gnutls-realloc-function"></a><h3>gnutls_realloc_function ()</h3>
6518
 
<pre class="programlisting">void *              (*gnutls_realloc_function)          (void *,
6519
 
                                                         size_t );</pre>
 
5395
<pre class="programlisting"><span class="returnvalue">void</span> *              (*gnutls_realloc_function)          (<em class="parameter"><code><span class="type">void</span> *Param1</code></em>,
 
5396
                                                         <em class="parameter"><code><span class="type">size_t</span> Param2</code></em>);</pre>
6520
5397
<p>
6521
5398
</p>
6522
5399
<div class="variablelist"><table border="0">
6543
5420
<hr>
6544
5421
<div class="refsect2" title="gnutls_global_set_mem_functions ()">
6545
5422
<a name="gnutls-global-set-mem-functions"></a><h3>gnutls_global_set_mem_functions ()</h3>
6546
 
<pre class="programlisting">void                gnutls_global_set_mem_functions     (<a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">gnutls_alloc_function</a> alloc_func,
6547
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()">gnutls_alloc_function</a> secure_alloc_func,
6548
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()">gnutls_is_secure_function</a> is_secure_func,
6549
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()">gnutls_realloc_function</a> realloc_func,
6550
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()">gnutls_free_function</a> free_func);</pre>
6551
 
<p>
6552
 
This is the function were you set the memory allocation functions
6553
 
gnutls is going to use. By default the libc's allocation functions
6554
 
(<code class="function">malloc()</code>, <code class="function">free()</code>), are used by gnutls, to allocate both sensitive
6555
 
and not sensitive data.  This function is provided to set the
6556
 
memory allocation functions to something other than the defaults
6557
 
(ie the gcrypt allocation functions).
6558
 
</p>
6559
 
<p>
6560
 
This function must 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> is called.
6561
 
This function is not thread safe.</p>
 
5423
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_global_set_mem_functions     (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()"><span class="type">gnutls_alloc_function</span></a> alloc_func</code></em>,
 
5424
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-alloc-function" title="gnutls_alloc_function ()"><span class="type">gnutls_alloc_function</span></a> secure_alloc_func</code></em>,
 
5425
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-is-secure-function" title="gnutls_is_secure_function ()"><span class="type">gnutls_is_secure_function</span></a> is_secure_func</code></em>,
 
5426
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-realloc-function" title="gnutls_realloc_function ()"><span class="type">gnutls_realloc_function</span></a> realloc_func</code></em>,
 
5427
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-free-function" title="gnutls_free_function ()"><span class="type">gnutls_free_function</span></a> free_func</code></em>);</pre>
6562
5428
<p>
6563
5429
</p>
6564
5430
<div class="variablelist"><table border="0">
6566
5432
<tbody>
6567
5433
<tr>
6568
5434
<td><p><span class="term"><em class="parameter"><code>alloc_func</code></em> :</span></p></td>
6569
 
<td> it's the default memory allocation function. Like <code class="function">malloc()</code>.
 
5435
<td>
6570
5436
</td>
6571
5437
</tr>
6572
5438
<tr>
6573
5439
<td><p><span class="term"><em class="parameter"><code>secure_alloc_func</code></em> :</span></p></td>
6574
 
<td> This is the memory allocation function that will be used for sensitive data.
 
5440
<td>
6575
5441
</td>
6576
5442
</tr>
6577
5443
<tr>
6578
5444
<td><p><span class="term"><em class="parameter"><code>is_secure_func</code></em> :</span></p></td>
6579
 
<td> a function that returns 0 if the memory given is not secure. May be NULL.
 
5445
<td>
6580
5446
</td>
6581
5447
</tr>
6582
5448
<tr>
6583
5449
<td><p><span class="term"><em class="parameter"><code>realloc_func</code></em> :</span></p></td>
6584
 
<td> A realloc function
 
5450
<td>
6585
5451
</td>
6586
5452
</tr>
6587
5453
<tr>
6588
5454
<td><p><span class="term"><em class="parameter"><code>free_func</code></em> :</span></p></td>
6589
 
<td> The function that frees allocated data. Must accept a NULL pointer.
 
5455
<td>
6590
5456
</td>
6591
5457
</tr>
6592
5458
</tbody>
6598
5464
<pre class="programlisting">  extern gnutls_alloc_function gnutls_malloc;
6599
5465
</pre>
6600
5466
<p>
6601
 
This function will allocate 's' bytes data, and
6602
 
return a pointer to memory. This function is supposed
6603
 
to be used by callbacks.
6604
 
</p>
6605
 
<p>
6606
 
The allocation function used is the one set by <a class="link" href="gnutls-gnutls.html#gnutls-global-set-mem-functions" title="gnutls_global_set_mem_functions ()"><code class="function">gnutls_global_set_mem_functions()</code></a>.</p>
6607
 
<p>
6608
5467
</p>
6609
5468
</div>
6610
5469
<hr>
6637
5496
<pre class="programlisting">  extern gnutls_free_function gnutls_free;
6638
5497
</pre>
6639
5498
<p>
6640
 
This function will free data pointed by ptr.
6641
 
</p>
6642
 
<p>
6643
 
The deallocation function used is the one set by <a class="link" href="gnutls-gnutls.html#gnutls-global-set-mem-functions" title="gnutls_global_set_mem_functions ()"><code class="function">gnutls_global_set_mem_functions()</code></a>.</p>
6644
 
<p>
6645
5499
</p>
6646
5500
</div>
6647
5501
<hr>
6648
5502
<div class="refsect2" title="gnutls_strdup ()">
6649
5503
<a name="gnutls-strdup"></a><h3>gnutls_strdup ()</h3>
6650
 
<pre class="programlisting">char *              gnutls_strdup                       (const char *);</pre>
 
5504
<pre class="programlisting"><span class="returnvalue">char</span> *              (*gnutls_strdup)                    (<em class="parameter"><code>const <span class="type">char</span> *Param1</code></em>);</pre>
6651
5505
<p>
6652
5506
</p>
6653
5507
<div class="variablelist"><table border="0">
6669
5523
<hr>
6670
5524
<div class="refsect2" title="gnutls_log_func ()">
6671
5525
<a name="gnutls-log-func"></a><h3>gnutls_log_func ()</h3>
6672
 
<pre class="programlisting">void                (*gnutls_log_func)                  (...,
6673
 
                                                         const char *);</pre>
 
5526
<pre class="programlisting"><span class="returnvalue">void</span>                (*gnutls_log_func)                  (<em class="parameter"><code>...</code></em>,
 
5527
                                                         <em class="parameter"><code>const <span class="type">char</span> *Param2</code></em>);</pre>
6674
5528
<p>
6675
5529
</p>
6676
5530
<div class="variablelist"><table border="0">
6692
5546
<hr>
6693
5547
<div class="refsect2" title="gnutls_global_set_log_function ()">
6694
5548
<a name="gnutls-global-set-log-function"></a><h3>gnutls_global_set_log_function ()</h3>
6695
 
<pre class="programlisting">void                gnutls_global_set_log_function      (<a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()">gnutls_log_func</a> log_func);</pre>
6696
 
<p>
6697
 
This is the function where you set the logging function gnutls is
6698
 
going to use.  This function only accepts a character array.
6699
 
Normally you may not use this function since it is only used for
6700
 
debugging purposes.
6701
 
</p>
6702
 
<p>
6703
 
gnutls_log_func is of the form,
6704
 
void (*gnutls_log_func)( int level, const char*);</p>
 
5549
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_global_set_log_function      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-log-func" title="gnutls_log_func ()"><span class="type">gnutls_log_func</span></a> log_func</code></em>);</pre>
6705
5550
<p>
6706
5551
</p>
6707
5552
<div class="variablelist"><table border="0">
6708
5553
<col align="left" valign="top">
6709
5554
<tbody><tr>
6710
5555
<td><p><span class="term"><em class="parameter"><code>log_func</code></em> :</span></p></td>
6711
 
<td> it's a log function
 
5556
<td>
6712
5557
</td>
6713
5558
</tr></tbody>
6714
5559
</table></div>
6716
5561
<hr>
6717
5562
<div class="refsect2" title="gnutls_global_set_log_level ()">
6718
5563
<a name="gnutls-global-set-log-level"></a><h3>gnutls_global_set_log_level ()</h3>
6719
 
<pre class="programlisting">void                gnutls_global_set_log_level         (int level);</pre>
6720
 
<p>
6721
 
This is the function that allows you to set the log level.  The
6722
 
level is an integer between 0 and 9.  Higher values mean more
6723
 
verbosity. The default value is 0.  Larger values should only be
6724
 
used with care, since they may reveal sensitive information.
6725
 
</p>
6726
 
<p>
6727
 
Use a log level over 10 to enable all debugging options.</p>
 
5564
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_global_set_log_level         (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> level</code></em>);</pre>
6728
5565
<p>
6729
5566
</p>
6730
5567
<div class="variablelist"><table border="0">
6731
5568
<col align="left" valign="top">
6732
5569
<tbody><tr>
6733
5570
<td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
6734
 
<td> it's an integer from 0 to 9.
 
5571
<td>
6735
5572
</td>
6736
5573
</tr></tbody>
6737
5574
</table></div>
6739
5576
<hr>
6740
5577
<div class="refsect2" title="gnutls_dh_params_init ()">
6741
5578
<a name="gnutls-dh-params-init"></a><h3>gnutls_dh_params_init ()</h3>
6742
 
<pre class="programlisting">int                 gnutls_dh_params_init               (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> *dh_params);</pre>
6743
 
<p>
6744
 
This function will initialize the DH parameters structure.</p>
 
5579
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_init               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> *dh_params</code></em>);</pre>
6745
5580
<p>
6746
5581
</p>
6747
5582
<div class="variablelist"><table border="0">
6749
5584
<tbody>
6750
5585
<tr>
6751
5586
<td><p><span class="term"><em class="parameter"><code>dh_params</code></em> :</span></p></td>
6752
 
<td> Is a structure that will hold the prime numbers
 
5587
<td>
6753
5588
</td>
6754
5589
</tr>
6755
5590
<tr>
6756
5591
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6757
 
<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,
6758
 
  otherwise an error code is returned.
 
5592
<td>
6759
5593
</td>
6760
5594
</tr>
6761
5595
</tbody>
6764
5598
<hr>
6765
5599
<div class="refsect2" title="gnutls_dh_params_deinit ()">
6766
5600
<a name="gnutls-dh-params-deinit"></a><h3>gnutls_dh_params_deinit ()</h3>
6767
 
<pre class="programlisting">void                gnutls_dh_params_deinit             (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);</pre>
6768
 
<p>
6769
 
This function will deinitialize the DH parameters structure.</p>
 
5601
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_dh_params_deinit             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre>
6770
5602
<p>
6771
5603
</p>
6772
5604
<div class="variablelist"><table border="0">
6773
5605
<col align="left" valign="top">
6774
5606
<tbody><tr>
6775
5607
<td><p><span class="term"><em class="parameter"><code>dh_params</code></em> :</span></p></td>
6776
 
<td> Is a structure that holds the prime numbers
 
5608
<td>
6777
5609
</td>
6778
5610
</tr></tbody>
6779
5611
</table></div>
6781
5613
<hr>
6782
5614
<div class="refsect2" title="gnutls_dh_params_import_raw ()">
6783
5615
<a name="gnutls-dh-params-import-raw"></a><h3>gnutls_dh_params_import_raw ()</h3>
6784
 
<pre class="programlisting">int                 gnutls_dh_params_import_raw         (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params,
6785
 
                                                         const gnutls_datum_t *prime,
6786
 
                                                         const gnutls_datum_t *generator);</pre>
6787
 
<p>
6788
 
This function will replace the pair of prime and generator for use
6789
 
in the Diffie-Hellman key exchange.  The new parameters should be
6790
 
stored in the appropriate gnutls_datum.</p>
 
5616
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_import_raw         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>,
 
5617
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *prime</code></em>,
 
5618
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *generator</code></em>);</pre>
6791
5619
<p>
6792
5620
</p>
6793
5621
<div class="variablelist"><table border="0">
6795
5623
<tbody>
6796
5624
<tr>
6797
5625
<td><p><span class="term"><em class="parameter"><code>dh_params</code></em> :</span></p></td>
6798
 
<td> Is a structure that will hold the prime numbers
 
5626
<td>
6799
5627
</td>
6800
5628
</tr>
6801
5629
<tr>
6802
5630
<td><p><span class="term"><em class="parameter"><code>prime</code></em> :</span></p></td>
6803
 
<td> holds the new prime
 
5631
<td>
6804
5632
</td>
6805
5633
</tr>
6806
5634
<tr>
6807
5635
<td><p><span class="term"><em class="parameter"><code>generator</code></em> :</span></p></td>
6808
 
<td> holds the new generator
 
5636
<td>
6809
5637
</td>
6810
5638
</tr>
6811
5639
<tr>
6812
5640
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6813
 
<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,
6814
 
  otherwise an error code is returned.
 
5641
<td>
6815
5642
</td>
6816
5643
</tr>
6817
5644
</tbody>
6820
5647
<hr>
6821
5648
<div class="refsect2" title="gnutls_dh_params_import_pkcs3 ()">
6822
5649
<a name="gnutls-dh-params-import-pkcs3"></a><h3>gnutls_dh_params_import_pkcs3 ()</h3>
6823
 
<pre class="programlisting">int                 gnutls_dh_params_import_pkcs3       (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
6824
 
                                                         const gnutls_datum_t *pkcs3_params,
6825
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format);</pre>
6826
 
<p>
6827
 
This function will extract the DHParams found in a PKCS3 formatted
6828
 
structure. This is the format generated by "openssl dhparam" tool.
6829
 
</p>
6830
 
<p>
6831
 
If the structure is PEM encoded, it should have a header
6832
 
of "BEGIN DH PARAMETERS".</p>
 
5650
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_import_pkcs3       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
5651
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *pkcs3_params</code></em>,
 
5652
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre>
6833
5653
<p>
6834
5654
</p>
6835
5655
<div class="variablelist"><table border="0">
6837
5657
<tbody>
6838
5658
<tr>
6839
5659
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
6840
 
<td> A structure where the parameters will be copied to
 
5660
<td>
6841
5661
</td>
6842
5662
</tr>
6843
5663
<tr>
6844
5664
<td><p><span class="term"><em class="parameter"><code>pkcs3_params</code></em> :</span></p></td>
6845
 
<td> should contain a PKCS3 DHParams structure PEM or DER encoded
 
5665
<td>
6846
5666
</td>
6847
5667
</tr>
6848
5668
<tr>
6849
5669
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
6850
 
<td> the format of params. PEM or DER.
 
5670
<td>
6851
5671
</td>
6852
5672
</tr>
6853
5673
<tr>
6854
5674
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6855
 
<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,
6856
 
  otherwise an error code is returned.
 
5675
<td>
6857
5676
</td>
6858
5677
</tr>
6859
5678
</tbody>
6862
5681
<hr>
6863
5682
<div class="refsect2" title="gnutls_dh_params_generate2 ()">
6864
5683
<a name="gnutls-dh-params-generate2"></a><h3>gnutls_dh_params_generate2 ()</h3>
6865
 
<pre class="programlisting">int                 gnutls_dh_params_generate2          (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
6866
 
                                                         unsigned int bits);</pre>
6867
 
<p>
6868
 
This function will generate a new pair of prime and generator for use in
6869
 
the Diffie-Hellman key exchange. The new parameters will be allocated using
6870
 
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
6871
 
This function is normally slow.
6872
 
</p>
6873
 
<p>
6874
 
Note that the bits value should be one of 768, 1024, 2048, 3072 or 4096.
6875
 
Also note that the DH parameters are only useful to servers.
6876
 
Since clients use the parameters sent by the server, it's of
6877
 
no use to call this in client side.</p>
 
5684
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_generate2          (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
5685
                                                         <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>
6878
5686
<p>
6879
5687
</p>
6880
5688
<div class="variablelist"><table border="0">
6882
5690
<tbody>
6883
5691
<tr>
6884
5692
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
6885
 
<td> Is the structure that the DH parameters will be stored
 
5693
<td>
6886
5694
</td>
6887
5695
</tr>
6888
5696
<tr>
6889
5697
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
6890
 
<td> is the prime's number of bits
 
5698
<td>
6891
5699
</td>
6892
5700
</tr>
6893
5701
<tr>
6894
5702
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6895
 
<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,
6896
 
  otherwise an error code is returned.
 
5703
<td>
6897
5704
</td>
6898
5705
</tr>
6899
5706
</tbody>
6902
5709
<hr>
6903
5710
<div class="refsect2" title="gnutls_dh_params_export_pkcs3 ()">
6904
5711
<a name="gnutls-dh-params-export-pkcs3"></a><h3>gnutls_dh_params_export_pkcs3 ()</h3>
6905
 
<pre class="programlisting">int                 gnutls_dh_params_export_pkcs3       (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
6906
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format,
6907
 
                                                         unsigned char *params_data,
6908
 
                                                         size_t *params_data_size);</pre>
6909
 
<p>
6910
 
This function will export the given dh parameters to a PKCS3
6911
 
DHParams structure. This is the format generated by "openssl dhparam" tool.
6912
 
If the buffer provided is not long enough to hold the output, then
6913
 
GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.
6914
 
</p>
6915
 
<p>
6916
 
If the structure is PEM encoded, it will have a header
6917
 
of "BEGIN DH PARAMETERS".</p>
 
5712
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_export_pkcs3       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
5713
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
 
5714
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *params_data</code></em>,
 
5715
                                                         <em class="parameter"><code><span class="type">size_t</span> *params_data_size</code></em>);</pre>
6918
5716
<p>
6919
5717
</p>
6920
5718
<div class="variablelist"><table border="0">
6922
5720
<tbody>
6923
5721
<tr>
6924
5722
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
6925
 
<td> Holds the DH parameters
 
5723
<td>
6926
5724
</td>
6927
5725
</tr>
6928
5726
<tr>
6929
5727
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
6930
 
<td> the format of output params. One of PEM or DER.
 
5728
<td>
6931
5729
</td>
6932
5730
</tr>
6933
5731
<tr>
6934
5732
<td><p><span class="term"><em class="parameter"><code>params_data</code></em> :</span></p></td>
6935
 
<td> will contain a PKCS3 DHParams structure PEM or DER encoded
 
5733
<td>
6936
5734
</td>
6937
5735
</tr>
6938
5736
<tr>
6939
5737
<td><p><span class="term"><em class="parameter"><code>params_data_size</code></em> :</span></p></td>
6940
 
<td> holds the size of params_data (and will be replaced by the actual size of parameters)
 
5738
<td>
6941
5739
</td>
6942
5740
</tr>
6943
5741
<tr>
6944
5742
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6945
 
<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,
6946
 
  otherwise an error code is returned.
 
5743
<td>
6947
5744
</td>
6948
5745
</tr>
6949
5746
</tbody>
6952
5749
<hr>
6953
5750
<div class="refsect2" title="gnutls_dh_params_export_raw ()">
6954
5751
<a name="gnutls-dh-params-export-raw"></a><h3>gnutls_dh_params_export_raw ()</h3>
6955
 
<pre class="programlisting">int                 gnutls_dh_params_export_raw         (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> params,
6956
 
                                                         gnutls_datum_t *prime,
6957
 
                                                         gnutls_datum_t *generator,
6958
 
                                                         unsigned int *bits);</pre>
6959
 
<p>
6960
 
This function will export the pair of prime and generator for use
6961
 
in the Diffie-Hellman key exchange.  The new parameters will be
6962
 
allocated using <a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the
6963
 
appropriate datum.</p>
 
5752
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_export_raw         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> params</code></em>,
 
5753
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *prime</code></em>,
 
5754
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *generator</code></em>,
 
5755
                                                         <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>
6964
5756
<p>
6965
5757
</p>
6966
5758
<div class="variablelist"><table border="0">
6968
5760
<tbody>
6969
5761
<tr>
6970
5762
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
6971
 
<td> Holds the DH parameters
 
5763
<td>
6972
5764
</td>
6973
5765
</tr>
6974
5766
<tr>
6975
5767
<td><p><span class="term"><em class="parameter"><code>prime</code></em> :</span></p></td>
6976
 
<td> will hold the new prime
 
5768
<td>
6977
5769
</td>
6978
5770
</tr>
6979
5771
<tr>
6980
5772
<td><p><span class="term"><em class="parameter"><code>generator</code></em> :</span></p></td>
6981
 
<td> will hold the new generator
 
5773
<td>
6982
5774
</td>
6983
5775
</tr>
6984
5776
<tr>
6985
5777
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
6986
 
<td> if non null will hold is the prime's number of bits
 
5778
<td>
6987
5779
</td>
6988
5780
</tr>
6989
5781
<tr>
6990
5782
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
6991
 
<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,
6992
 
  otherwise an error code is returned.
 
5783
<td>
6993
5784
</td>
6994
5785
</tr>
6995
5786
</tbody>
6998
5789
<hr>
6999
5790
<div class="refsect2" title="gnutls_dh_params_cpy ()">
7000
5791
<a name="gnutls-dh-params-cpy"></a><h3>gnutls_dh_params_cpy ()</h3>
7001
 
<pre class="programlisting">int                 gnutls_dh_params_cpy                (<a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dst,
7002
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> src);</pre>
7003
 
<p>
7004
 
This function will copy the DH parameters structure from source
7005
 
to destination.</p>
 
5792
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_params_cpy                (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dst</code></em>,
 
5793
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> src</code></em>);</pre>
7006
5794
<p>
7007
5795
</p>
7008
5796
<div class="variablelist"><table border="0">
7010
5798
<tbody>
7011
5799
<tr>
7012
5800
<td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td>
7013
 
<td> Is the destination structure, which should be initialized.
 
5801
<td>
7014
5802
</td>
7015
5803
</tr>
7016
5804
<tr>
7017
5805
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
7018
 
<td> Is the source structure
 
5806
<td>
7019
5807
</td>
7020
5808
</tr>
7021
5809
<tr>
7022
5810
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7023
 
<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,
7024
 
  otherwise an error code is returned.
 
5811
<td>
7025
5812
</td>
7026
5813
</tr>
7027
5814
</tbody>
7030
5817
<hr>
7031
5818
<div class="refsect2" title="gnutls_rsa_params_init ()">
7032
5819
<a name="gnutls-rsa-params-init"></a><h3>gnutls_rsa_params_init ()</h3>
7033
 
<pre class="programlisting">int                 gnutls_rsa_params_init              (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> *rsa_params);</pre>
7034
 
<p>
7035
 
This function will initialize the temporary RSA parameters structure.</p>
 
5820
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_init              (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> *rsa_params</code></em>);</pre>
7036
5821
<p>
7037
5822
</p>
7038
5823
<div class="variablelist"><table border="0">
7040
5825
<tbody>
7041
5826
<tr>
7042
5827
<td><p><span class="term"><em class="parameter"><code>rsa_params</code></em> :</span></p></td>
7043
 
<td> Is a structure that will hold the parameters
 
5828
<td>
7044
5829
</td>
7045
5830
</tr>
7046
5831
<tr>
7047
5832
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7048
 
<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, or an negative error code.
 
5833
<td>
7049
5834
</td>
7050
5835
</tr>
7051
5836
</tbody>
7054
5839
<hr>
7055
5840
<div class="refsect2" title="gnutls_rsa_params_deinit ()">
7056
5841
<a name="gnutls-rsa-params-deinit"></a><h3>gnutls_rsa_params_deinit ()</h3>
7057
 
<pre class="programlisting">void                gnutls_rsa_params_deinit            (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> rsa_params);</pre>
7058
 
<p>
7059
 
This function will deinitialize the RSA parameters structure.</p>
 
5842
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_rsa_params_deinit            (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> rsa_params</code></em>);</pre>
7060
5843
<p>
7061
5844
</p>
7062
5845
<div class="variablelist"><table border="0">
7063
5846
<col align="left" valign="top">
7064
5847
<tbody><tr>
7065
5848
<td><p><span class="term"><em class="parameter"><code>rsa_params</code></em> :</span></p></td>
7066
 
<td> Is a structure that holds the parameters
 
5849
<td>
7067
5850
</td>
7068
5851
</tr></tbody>
7069
5852
</table></div>
7071
5854
<hr>
7072
5855
<div class="refsect2" title="gnutls_rsa_params_cpy ()">
7073
5856
<a name="gnutls-rsa-params-cpy"></a><h3>gnutls_rsa_params_cpy ()</h3>
7074
 
<pre class="programlisting">int                 gnutls_rsa_params_cpy               (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> dst,
7075
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> src);</pre>
7076
 
<p>
7077
 
This function will copy the RSA parameters structure from source
7078
 
to destination.</p>
 
5857
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_cpy               (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> dst</code></em>,
 
5858
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> src</code></em>);</pre>
7079
5859
<p>
7080
5860
</p>
7081
5861
<div class="variablelist"><table border="0">
7083
5863
<tbody>
7084
5864
<tr>
7085
5865
<td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td>
7086
 
<td> Is the destination structure, which should be initialized.
 
5866
<td>
7087
5867
</td>
7088
5868
</tr>
7089
5869
<tr>
7090
5870
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
7091
 
<td> Is the source structure
 
5871
<td>
7092
5872
</td>
7093
5873
</tr>
7094
5874
<tr>
7095
5875
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7096
 
<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, or an negative error code.
 
5876
<td>
7097
5877
</td>
7098
5878
</tr>
7099
5879
</tbody>
7102
5882
<hr>
7103
5883
<div class="refsect2" title="gnutls_rsa_params_import_raw ()">
7104
5884
<a name="gnutls-rsa-params-import-raw"></a><h3>gnutls_rsa_params_import_raw ()</h3>
7105
 
<pre class="programlisting">int                 gnutls_rsa_params_import_raw        (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> rsa_params,
7106
 
                                                         const gnutls_datum_t *m,
7107
 
                                                         const gnutls_datum_t *e,
7108
 
                                                         const gnutls_datum_t *d,
7109
 
                                                         const gnutls_datum_t *p,
7110
 
                                                         const gnutls_datum_t *q,
7111
 
                                                         const gnutls_datum_t *u);</pre>
7112
 
<p>
7113
 
This function will replace the parameters in the given structure.
7114
 
The new parameters should be stored in the appropriate
7115
 
gnutls_datum.</p>
 
5885
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_import_raw        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> rsa_params</code></em>,
 
5886
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *m</code></em>,
 
5887
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *e</code></em>,
 
5888
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *d</code></em>,
 
5889
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *p</code></em>,
 
5890
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *q</code></em>,
 
5891
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *u</code></em>);</pre>
7116
5892
<p>
7117
5893
</p>
7118
5894
<div class="variablelist"><table border="0">
7120
5896
<tbody>
7121
5897
<tr>
7122
5898
<td><p><span class="term"><em class="parameter"><code>rsa_params</code></em> :</span></p></td>
7123
 
<td> Is a structure will hold the parameters
 
5899
<td>
7124
5900
</td>
7125
5901
</tr>
7126
5902
<tr>
7127
5903
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
7128
 
<td> holds the modulus
 
5904
<td>
7129
5905
</td>
7130
5906
</tr>
7131
5907
<tr>
7132
5908
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
7133
 
<td> holds the public exponent
 
5909
<td>
7134
5910
</td>
7135
5911
</tr>
7136
5912
<tr>
7137
5913
<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
7138
 
<td> holds the private exponent
 
5914
<td>
7139
5915
</td>
7140
5916
</tr>
7141
5917
<tr>
7142
5918
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
7143
 
<td> holds the first prime (p)
 
5919
<td>
7144
5920
</td>
7145
5921
</tr>
7146
5922
<tr>
7147
5923
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
7148
 
<td> holds the second prime (q)
 
5924
<td>
7149
5925
</td>
7150
5926
</tr>
7151
5927
<tr>
7152
5928
<td><p><span class="term"><em class="parameter"><code>u</code></em> :</span></p></td>
7153
 
<td> holds the coefficient
 
5929
<td>
7154
5930
</td>
7155
5931
</tr>
7156
5932
<tr>
7157
5933
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7158
 
<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, or an negative error code.
 
5934
<td>
7159
5935
</td>
7160
5936
</tr>
7161
5937
</tbody>
7164
5940
<hr>
7165
5941
<div class="refsect2" title="gnutls_rsa_params_generate2 ()">
7166
5942
<a name="gnutls-rsa-params-generate2"></a><h3>gnutls_rsa_params_generate2 ()</h3>
7167
 
<pre class="programlisting">int                 gnutls_rsa_params_generate2         (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
7168
 
                                                         unsigned int bits);</pre>
7169
 
<p>
7170
 
This function will generate new temporary RSA parameters for use in
7171
 
RSA-EXPORT ciphersuites.  This function is normally slow.
7172
 
</p>
7173
 
<p>
7174
 
Note that if the parameters are to be used in export cipher suites the
7175
 
bits value should be 512 or less.
7176
 
Also note that the generation of new RSA parameters is only useful
7177
 
to servers. Clients use the parameters sent by the server, thus it's
7178
 
no use calling this in client side.</p>
 
5943
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_generate2         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
5944
                                                         <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>
7179
5945
<p>
7180
5946
</p>
7181
5947
<div class="variablelist"><table border="0">
7183
5949
<tbody>
7184
5950
<tr>
7185
5951
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
7186
 
<td> The structure where the parameters will be stored
 
5952
<td>
7187
5953
</td>
7188
5954
</tr>
7189
5955
<tr>
7190
5956
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
7191
 
<td> is the prime's number of bits
 
5957
<td>
7192
5958
</td>
7193
5959
</tr>
7194
5960
<tr>
7195
5961
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7196
 
<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, or an negative error code.
 
5962
<td>
7197
5963
</td>
7198
5964
</tr>
7199
5965
</tbody>
7202
5968
<hr>
7203
5969
<div class="refsect2" title="gnutls_rsa_params_export_raw ()">
7204
5970
<a name="gnutls-rsa-params-export-raw"></a><h3>gnutls_rsa_params_export_raw ()</h3>
7205
 
<pre class="programlisting">int                 gnutls_rsa_params_export_raw        (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
7206
 
                                                         gnutls_datum_t *m,
7207
 
                                                         gnutls_datum_t *e,
7208
 
                                                         gnutls_datum_t *d,
7209
 
                                                         gnutls_datum_t *p,
7210
 
                                                         gnutls_datum_t *q,
7211
 
                                                         gnutls_datum_t *u,
7212
 
                                                         unsigned int *bits);</pre>
7213
 
<p>
7214
 
This function will export the RSA parameters found in the given
7215
 
structure. The new parameters will be allocated using
7216
 
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.</p>
 
5971
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_export_raw        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
5972
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
5973
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>,
 
5974
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *d</code></em>,
 
5975
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
5976
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
5977
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *u</code></em>,
 
5978
                                                         <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>
7217
5979
<p>
7218
5980
</p>
7219
5981
<div class="variablelist"><table border="0">
7221
5983
<tbody>
7222
5984
<tr>
7223
5985
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
7224
 
<td> a structure that holds the rsa parameters
 
5986
<td>
7225
5987
</td>
7226
5988
</tr>
7227
5989
<tr>
7228
5990
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
7229
 
<td> will hold the modulus
 
5991
<td>
7230
5992
</td>
7231
5993
</tr>
7232
5994
<tr>
7233
5995
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
7234
 
<td> will hold the public exponent
 
5996
<td>
7235
5997
</td>
7236
5998
</tr>
7237
5999
<tr>
7238
6000
<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
7239
 
<td> will hold the private exponent
 
6001
<td>
7240
6002
</td>
7241
6003
</tr>
7242
6004
<tr>
7243
6005
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
7244
 
<td> will hold the first prime (p)
 
6006
<td>
7245
6007
</td>
7246
6008
</tr>
7247
6009
<tr>
7248
6010
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
7249
 
<td> will hold the second prime (q)
 
6011
<td>
7250
6012
</td>
7251
6013
</tr>
7252
6014
<tr>
7253
6015
<td><p><span class="term"><em class="parameter"><code>u</code></em> :</span></p></td>
7254
 
<td> will hold the coefficient
 
6016
<td>
7255
6017
</td>
7256
6018
</tr>
7257
6019
<tr>
7258
6020
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
7259
 
<td> if non null will hold the prime's number of bits
 
6021
<td>
7260
6022
</td>
7261
6023
</tr>
7262
6024
<tr>
7263
6025
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7264
 
<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, or an negative error code.
 
6026
<td>
7265
6027
</td>
7266
6028
</tr>
7267
6029
</tbody>
7270
6032
<hr>
7271
6033
<div class="refsect2" title="gnutls_rsa_params_export_pkcs1 ()">
7272
6034
<a name="gnutls-rsa-params-export-pkcs1"></a><h3>gnutls_rsa_params_export_pkcs1 ()</h3>
7273
 
<pre class="programlisting">int                 gnutls_rsa_params_export_pkcs1      (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
7274
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format,
7275
 
                                                         unsigned char *params_data,
7276
 
                                                         size_t *params_data_size);</pre>
7277
 
<p>
7278
 
This function will export the given RSA parameters to a PKCS1
7279
 
RSAPublicKey structure. If the buffer provided is not long enough to
7280
 
hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.
7281
 
</p>
7282
 
<p>
7283
 
If the structure is PEM encoded, it will have a header
7284
 
of "BEGIN RSA PRIVATE KEY".</p>
 
6035
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_export_pkcs1      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
6036
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
 
6037
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *params_data</code></em>,
 
6038
                                                         <em class="parameter"><code><span class="type">size_t</span> *params_data_size</code></em>);</pre>
7285
6039
<p>
7286
6040
</p>
7287
6041
<div class="variablelist"><table border="0">
7289
6043
<tbody>
7290
6044
<tr>
7291
6045
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
7292
 
<td> Holds the RSA parameters
 
6046
<td>
7293
6047
</td>
7294
6048
</tr>
7295
6049
<tr>
7296
6050
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
7297
 
<td> the format of output params. One of PEM or DER.
 
6051
<td>
7298
6052
</td>
7299
6053
</tr>
7300
6054
<tr>
7301
6055
<td><p><span class="term"><em class="parameter"><code>params_data</code></em> :</span></p></td>
7302
 
<td> will contain a PKCS1 RSAPublicKey structure PEM or DER encoded
 
6056
<td>
7303
6057
</td>
7304
6058
</tr>
7305
6059
<tr>
7306
6060
<td><p><span class="term"><em class="parameter"><code>params_data_size</code></em> :</span></p></td>
7307
 
<td> holds the size of params_data (and will be replaced by the actual size of parameters)
 
6061
<td>
7308
6062
</td>
7309
6063
</tr>
7310
6064
<tr>
7311
6065
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7312
 
<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, or an negative error code.
 
6066
<td>
7313
6067
</td>
7314
6068
</tr>
7315
6069
</tbody>
7318
6072
<hr>
7319
6073
<div class="refsect2" title="gnutls_rsa_params_import_pkcs1 ()">
7320
6074
<a name="gnutls-rsa-params-import-pkcs1"></a><h3>gnutls_rsa_params_import_pkcs1 ()</h3>
7321
 
<pre class="programlisting">int                 gnutls_rsa_params_import_pkcs1      (<a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t">gnutls_rsa_params_t</a> params,
7322
 
                                                         const gnutls_datum_t *pkcs1_params,
7323
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t">gnutls_x509_crt_fmt_t</a> format);</pre>
7324
 
<p>
7325
 
This function will extract the RSAPublicKey found in a PKCS1 formatted
7326
 
structure.
7327
 
</p>
7328
 
<p>
7329
 
If the structure is PEM encoded, it should have a header
7330
 
of "BEGIN RSA PRIVATE KEY".</p>
 
6075
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_params_import_pkcs1      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-rsa-params-t" title="gnutls_rsa_params_t"><span class="type">gnutls_rsa_params_t</span></a> params</code></em>,
 
6076
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *pkcs1_params</code></em>,
 
6077
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>);</pre>
7331
6078
<p>
7332
6079
</p>
7333
6080
<div class="variablelist"><table border="0">
7335
6082
<tbody>
7336
6083
<tr>
7337
6084
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
7338
 
<td> A structure where the parameters will be copied to
 
6085
<td>
7339
6086
</td>
7340
6087
</tr>
7341
6088
<tr>
7342
6089
<td><p><span class="term"><em class="parameter"><code>pkcs1_params</code></em> :</span></p></td>
7343
 
<td> should contain a PKCS1 RSAPublicKey structure PEM or DER encoded
 
6090
<td>
7344
6091
</td>
7345
6092
</tr>
7346
6093
<tr>
7347
6094
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
7348
 
<td> the format of params. PEM or DER.
 
6095
<td>
7349
6096
</td>
7350
6097
</tr>
7351
6098
<tr>
7352
6099
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7353
 
<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, or an negative error code.
 
6100
<td>
7354
6101
</td>
7355
6102
</tr>
7356
6103
</tbody>
7359
6106
<hr>
7360
6107
<div class="refsect2" title="gnutls_pull_func ()">
7361
6108
<a name="gnutls-pull-func"></a><h3>gnutls_pull_func ()</h3>
7362
 
<pre class="programlisting">ssize_t             (*gnutls_pull_func)                 (<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> ,
7363
 
                                                         void *,
7364
 
                                                         size_t );</pre>
 
6109
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             (*gnutls_pull_func)                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>,
 
6110
                                                         <em class="parameter"><code><span class="type">void</span> *Param2</code></em>,
 
6111
                                                         <em class="parameter"><code><span class="type">size_t</span> Param3</code></em>);</pre>
7365
6112
<p>
7366
6113
</p>
7367
6114
<div class="variablelist"><table border="0">
7393
6140
<hr>
7394
6141
<div class="refsect2" title="gnutls_push_func ()">
7395
6142
<a name="gnutls-push-func"></a><h3>gnutls_push_func ()</h3>
7396
 
<pre class="programlisting">ssize_t             (*gnutls_push_func)                 (<a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> ,
7397
 
                                                         const void *,
7398
 
                                                         size_t );</pre>
 
6143
<pre class="programlisting"><span class="returnvalue">ssize_t</span>             (*gnutls_push_func)                 (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> Param1</code></em>,
 
6144
                                                         <em class="parameter"><code>const <span class="type">void</span> *Param2</code></em>,
 
6145
                                                         <em class="parameter"><code><span class="type">size_t</span> Param3</code></em>);</pre>
7399
6146
<p>
7400
6147
</p>
7401
6148
<div class="variablelist"><table border="0">
7427
6174
<hr>
7428
6175
<div class="refsect2" title="gnutls_transport_set_ptr ()">
7429
6176
<a name="gnutls-transport-set-ptr"></a><h3>gnutls_transport_set_ptr ()</h3>
7430
 
<pre class="programlisting">void                gnutls_transport_set_ptr            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7431
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> ptr);</pre>
7432
 
<p>
7433
 
Used to set the first argument of the transport function (like
7434
 
PUSH and PULL).  In berkeley style sockets this function will set
7435
 
the connection handle.</p>
 
6177
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_ptr            (<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>,
 
6178
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> ptr</code></em>);</pre>
7436
6179
<p>
7437
6180
</p>
7438
6181
<div class="variablelist"><table border="0">
7440
6183
<tbody>
7441
6184
<tr>
7442
6185
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7443
 
<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.
 
6186
<td>
7444
6187
</td>
7445
6188
</tr>
7446
6189
<tr>
7447
6190
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
7448
 
<td> is the value.
 
6191
<td>
7449
6192
</td>
7450
6193
</tr>
7451
6194
</tbody>
7454
6197
<hr>
7455
6198
<div class="refsect2" title="gnutls_transport_set_ptr2 ()">
7456
6199
<a name="gnutls-transport-set-ptr2"></a><h3>gnutls_transport_set_ptr2 ()</h3>
7457
 
<pre class="programlisting">void                gnutls_transport_set_ptr2           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7458
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> recv_ptr,
7459
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> send_ptr);</pre>
7460
 
<p>
7461
 
Used to set the first argument of the transport function (like
7462
 
PUSH and PULL). In berkeley style sockets this function will set
7463
 
the connection handle.  With this function you can use two
7464
 
different pointers for receiving and sending.</p>
 
6200
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_ptr2           (<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>,
 
6201
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> recv_ptr</code></em>,
 
6202
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> send_ptr</code></em>);</pre>
7465
6203
<p>
7466
6204
</p>
7467
6205
<div class="variablelist"><table border="0">
7469
6207
<tbody>
7470
6208
<tr>
7471
6209
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7472
 
<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.
 
6210
<td>
7473
6211
</td>
7474
6212
</tr>
7475
6213
<tr>
7476
6214
<td><p><span class="term"><em class="parameter"><code>recv_ptr</code></em> :</span></p></td>
7477
 
<td> is the value for the pull function
 
6215
<td>
7478
6216
</td>
7479
6217
</tr>
7480
6218
<tr>
7481
6219
<td><p><span class="term"><em class="parameter"><code>send_ptr</code></em> :</span></p></td>
7482
 
<td> is the value for the push function
 
6220
<td>
7483
6221
</td>
7484
6222
</tr>
7485
6223
</tbody>
7488
6226
<hr>
7489
6227
<div class="refsect2" title="gnutls_transport_get_ptr ()">
7490
6228
<a name="gnutls-transport-get-ptr"></a><h3>gnutls_transport_get_ptr ()</h3>
7491
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a>  gnutls_transport_get_ptr        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
7492
 
<p>
7493
 
Used to get the first argument of the transport function (like
7494
 
PUSH and PULL).  This must have been set using
7495
 
<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr" title="gnutls_transport_set_ptr ()"><code class="function">gnutls_transport_set_ptr()</code></a>.</p>
 
6229
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="returnvalue">gnutls_transport_ptr_t</span></a>  gnutls_transport_get_ptr        (<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>
7496
6230
<p>
7497
6231
</p>
7498
6232
<div class="variablelist"><table border="0">
7500
6234
<tbody>
7501
6235
<tr>
7502
6236
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7503
 
<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.
 
6237
<td>
7504
6238
</td>
7505
6239
</tr>
7506
6240
<tr>
7507
6241
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7508
 
<td> first argument of the transport function.
 
6242
<td>
7509
6243
</td>
7510
6244
</tr>
7511
6245
</tbody>
7514
6248
<hr>
7515
6249
<div class="refsect2" title="gnutls_transport_get_ptr2 ()">
7516
6250
<a name="gnutls-transport-get-ptr2"></a><h3>gnutls_transport_get_ptr2 ()</h3>
7517
 
<pre class="programlisting">void                gnutls_transport_get_ptr2           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7518
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> *recv_ptr,
7519
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t">gnutls_transport_ptr_t</a> *send_ptr);</pre>
7520
 
<p>
7521
 
Used to get the arguments of the transport functions (like PUSH
7522
 
and PULL).  These should have been set using
7523
 
<a class="link" href="gnutls-gnutls.html#gnutls-transport-set-ptr2" title="gnutls_transport_set_ptr2 ()"><code class="function">gnutls_transport_set_ptr2()</code></a>.</p>
 
6251
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_get_ptr2           (<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>,
 
6252
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> *recv_ptr</code></em>,
 
6253
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-transport-ptr-t" title="gnutls_transport_ptr_t"><span class="type">gnutls_transport_ptr_t</span></a> *send_ptr</code></em>);</pre>
7524
6254
<p>
7525
6255
</p>
7526
6256
<div class="variablelist"><table border="0">
7528
6258
<tbody>
7529
6259
<tr>
7530
6260
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7531
 
<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.
 
6261
<td>
7532
6262
</td>
7533
6263
</tr>
7534
6264
<tr>
7535
6265
<td><p><span class="term"><em class="parameter"><code>recv_ptr</code></em> :</span></p></td>
7536
 
<td> will hold the value for the pull function
 
6266
<td>
7537
6267
</td>
7538
6268
</tr>
7539
6269
<tr>
7540
6270
<td><p><span class="term"><em class="parameter"><code>send_ptr</code></em> :</span></p></td>
7541
 
<td> will hold the value for the push function
 
6271
<td>
7542
6272
</td>
7543
6273
</tr>
7544
6274
</tbody>
7547
6277
<hr>
7548
6278
<div class="refsect2" title="gnutls_transport_set_lowat ()">
7549
6279
<a name="gnutls-transport-set-lowat"></a><h3>gnutls_transport_set_lowat ()</h3>
7550
 
<pre class="programlisting">void                gnutls_transport_set_lowat          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7551
 
                                                         int num);</pre>
7552
 
<p>
7553
 
Used to set the lowat value in order for select to check if there
7554
 
are pending data to socket buffer. Used only if you have changed
7555
 
the default low water value (default is 1).  Normally you will not
7556
 
need that function.  This function is only useful if using
7557
 
berkeley style sockets.  Otherwise it must be called and set lowat
7558
 
to zero.</p>
 
6280
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_lowat          (<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>,
 
6281
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> num</code></em>);</pre>
7559
6282
<p>
7560
6283
</p>
7561
6284
<div class="variablelist"><table border="0">
7563
6286
<tbody>
7564
6287
<tr>
7565
6288
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7566
 
<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.
 
6289
<td>
7567
6290
</td>
7568
6291
</tr>
7569
6292
<tr>
7570
6293
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
7571
 
<td> is the low water value.
 
6294
<td>
7572
6295
</td>
7573
6296
</tr>
7574
6297
</tbody>
7577
6300
<hr>
7578
6301
<div class="refsect2" title="gnutls_transport_set_push_function ()">
7579
6302
<a name="gnutls-transport-set-push-function"></a><h3>gnutls_transport_set_push_function ()</h3>
7580
 
<pre class="programlisting">void                gnutls_transport_set_push_function  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7581
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()">gnutls_push_func</a> push_func);</pre>
7582
 
<p>
7583
 
This is the function where you set a push function for gnutls to
7584
 
use in order to send data.  If you are going to use berkeley style
7585
 
sockets, you do not need to use this function since the default
7586
 
(send(2)) will probably be ok.  Otherwise you should specify this
7587
 
function for gnutls to be able to send data.
7588
 
</p>
7589
 
<p>
7590
 
PUSH_FUNC is of the form,
7591
 
ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t);</p>
 
6303
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_push_function  (<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>,
 
6304
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-push-func" title="gnutls_push_func ()"><span class="type">gnutls_push_func</span></a> push_func</code></em>);</pre>
7592
6305
<p>
7593
6306
</p>
7594
6307
<div class="variablelist"><table border="0">
7596
6309
<tbody>
7597
6310
<tr>
7598
6311
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7599
 
<td> gnutls session
 
6312
<td>
7600
6313
</td>
7601
6314
</tr>
7602
6315
<tr>
7603
6316
<td><p><span class="term"><em class="parameter"><code>push_func</code></em> :</span></p></td>
7604
 
<td> a callback function similar to <code class="function">write()</code>
 
6317
<td>
7605
6318
</td>
7606
6319
</tr>
7607
6320
</tbody>
7610
6323
<hr>
7611
6324
<div class="refsect2" title="gnutls_transport_set_pull_function ()">
7612
6325
<a name="gnutls-transport-set-pull-function"></a><h3>gnutls_transport_set_pull_function ()</h3>
7613
 
<pre class="programlisting">void                gnutls_transport_set_pull_function  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7614
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()">gnutls_pull_func</a> pull_func);</pre>
7615
 
<p>
7616
 
This is the function where you set a function for gnutls to receive
7617
 
data.  Normally, if you use berkeley style sockets, do not need to
7618
 
use this function since the default (recv(2)) will probably be ok.
7619
 
</p>
7620
 
<p>
7621
 
PULL_FUNC is of the form,
7622
 
ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t);</p>
 
6326
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_pull_function  (<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>,
 
6327
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-pull-func" title="gnutls_pull_func ()"><span class="type">gnutls_pull_func</span></a> pull_func</code></em>);</pre>
7623
6328
<p>
7624
6329
</p>
7625
6330
<div class="variablelist"><table border="0">
7627
6332
<tbody>
7628
6333
<tr>
7629
6334
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7630
 
<td> gnutls session
 
6335
<td>
7631
6336
</td>
7632
6337
</tr>
7633
6338
<tr>
7634
6339
<td><p><span class="term"><em class="parameter"><code>pull_func</code></em> :</span></p></td>
7635
 
<td> a callback function similar to <code class="function">read()</code>
 
6340
<td>
7636
6341
</td>
7637
6342
</tr>
7638
6343
</tbody>
7641
6346
<hr>
7642
6347
<div class="refsect2" title="gnutls_transport_set_errno ()">
7643
6348
<a name="gnutls-transport-set-errno"></a><h3>gnutls_transport_set_errno ()</h3>
7644
 
<pre class="programlisting">void                gnutls_transport_set_errno          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7645
 
                                                         int err);</pre>
 
6349
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_errno          (<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>,
 
6350
                                                         <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>);</pre>
7646
6351
<p>
7647
6352
Store <em class="parameter"><code>err</code></em> in the session-specific errno variable.  Useful values
7648
6353
for <em class="parameter"><code>err</code></em> is EAGAIN and EINTR, other values are treated will be
7660
6365
If you don't have the <em class="parameter"><code>session</code></em> variable easily accessible from the
7661
6366
push/pull function, and don't worry about thread conflicts, you can
7662
6367
also use <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-global-errno" title="gnutls_transport_set_global_errno ()"><code class="function">gnutls_transport_set_global_errno()</code></a>.</p>
7663
 
<p>
7664
 
</p>
7665
6368
<div class="variablelist"><table border="0">
7666
6369
<col align="left" valign="top">
7667
6370
<tbody>
7668
6371
<tr>
7669
6372
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7670
 
<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.
 
6373
<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.
7671
6374
</td>
7672
6375
</tr>
7673
6376
<tr>
7674
6377
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
7675
 
<td> error value to store in session-specific errno variable.
 
6378
<td>error value to store in session-specific errno variable.
7676
6379
</td>
7677
6380
</tr>
7678
6381
</tbody>
7681
6384
<hr>
7682
6385
<div class="refsect2" title="gnutls_transport_set_global_errno ()">
7683
6386
<a name="gnutls-transport-set-global-errno"></a><h3>gnutls_transport_set_global_errno ()</h3>
7684
 
<pre class="programlisting">void                gnutls_transport_set_global_errno   (int err);</pre>
 
6387
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_transport_set_global_errno   (<em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> err</code></em>);</pre>
7685
6388
<p>
7686
6389
Store <em class="parameter"><code>err</code></em> in the global errno variable.  Useful values for <em class="parameter"><code>err</code></em> is
7687
6390
EAGAIN and EINTR, other values are treated will be treated as real
7700
6403
global variable errno is thread safe, some system libraries make it
7701
6404
a thread-local variable.  When feasible, using the guaranteed
7702
6405
thread-safe <a class="link" href="gnutls-gnutls.html#gnutls-transport-set-errno" title="gnutls_transport_set_errno ()"><code class="function">gnutls_transport_set_errno()</code></a> may be better.</p>
7703
 
<p>
7704
 
</p>
7705
6406
<div class="variablelist"><table border="0">
7706
6407
<col align="left" valign="top">
7707
6408
<tbody><tr>
7708
6409
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
7709
 
<td> error value to store in global errno variable.
 
6410
<td>error value to store in global errno variable.
7710
6411
</td>
7711
6412
</tr></tbody>
7712
6413
</table></div>
7714
6415
<hr>
7715
6416
<div class="refsect2" title="gnutls_session_set_ptr ()">
7716
6417
<a name="gnutls-session-set-ptr"></a><h3>gnutls_session_set_ptr ()</h3>
7717
 
<pre class="programlisting">void                gnutls_session_set_ptr              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7718
 
                                                         void *ptr);</pre>
7719
 
<p>
7720
 
This function will set (associate) the user given pointer <em class="parameter"><code>ptr</code></em> to
7721
 
the session structure.  This is pointer can be accessed with
7722
 
<a class="link" href="gnutls-gnutls.html#gnutls-session-get-ptr" title="gnutls_session_get_ptr ()"><code class="function">gnutls_session_get_ptr()</code></a>.</p>
 
6418
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_session_set_ptr              (<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>,
 
6419
                                                         <em class="parameter"><code><span class="type">void</span> *ptr</code></em>);</pre>
7723
6420
<p>
7724
6421
</p>
7725
6422
<div class="variablelist"><table border="0">
7727
6424
<tbody>
7728
6425
<tr>
7729
6426
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7730
 
<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.
 
6427
<td>
7731
6428
</td>
7732
6429
</tr>
7733
6430
<tr>
7734
6431
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
7735
 
<td> is the user pointer
 
6432
<td>
7736
6433
</td>
7737
6434
</tr>
7738
6435
</tbody>
7741
6438
<hr>
7742
6439
<div class="refsect2" title="gnutls_session_get_ptr ()">
7743
6440
<a name="gnutls-session-get-ptr"></a><h3>gnutls_session_get_ptr ()</h3>
7744
 
<pre class="programlisting">void *              gnutls_session_get_ptr              (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
7745
 
<p>
7746
 
Get user pointer for session.  Useful in callbacks.  This is the
7747
 
  pointer set with <a class="link" href="gnutls-gnutls.html#gnutls-session-set-ptr" title="gnutls_session_set_ptr ()"><code class="function">gnutls_session_set_ptr()</code></a>.</p>
 
6441
<pre class="programlisting"><span class="returnvalue">void</span> *              gnutls_session_get_ptr              (<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>
7748
6442
<p>
7749
6443
</p>
7750
6444
<div class="variablelist"><table border="0">
7752
6446
<tbody>
7753
6447
<tr>
7754
6448
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7755
 
<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.
 
6449
<td>
7756
6450
</td>
7757
6451
</tr>
7758
6452
<tr>
7759
6453
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7760
 
<td> the user given pointer from the session structure, or
7761
 
  <code class="literal">NULL</code> if it was never set.
 
6454
<td>
7762
6455
</td>
7763
6456
</tr>
7764
6457
</tbody>
7767
6460
<hr>
7768
6461
<div class="refsect2" title="gnutls_openpgp_send_cert ()">
7769
6462
<a name="gnutls-openpgp-send-cert"></a><h3>gnutls_openpgp_send_cert ()</h3>
7770
 
<pre class="programlisting">void                gnutls_openpgp_send_cert            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
7771
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a> status);</pre>
7772
 
<p>
7773
 
This function will order gnutls to send the key fingerprint
7774
 
instead of the key in the initial handshake procedure. This should
7775
 
be used with care and only when there is indication or knowledge
7776
 
that the server can obtain the client's key.</p>
 
6463
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_openpgp_send_cert            (<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>,
 
6464
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-status-t" title="enum gnutls_openpgp_crt_status_t"><span class="type">gnutls_openpgp_crt_status_t</span></a> status</code></em>);</pre>
7777
6465
<p>
7778
6466
</p>
7779
6467
<div class="variablelist"><table border="0">
7781
6469
<tbody>
7782
6470
<tr>
7783
6471
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
7784
 
<td> is a pointer to a <a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> structure.
 
6472
<td>
7785
6473
</td>
7786
6474
</tr>
7787
6475
<tr>
7788
6476
<td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
7789
 
<td> is one of GNUTLS_OPENPGP_CERT, or GNUTLS_OPENPGP_CERT_FINGERPRINT
 
6477
<td>
7790
6478
</td>
7791
6479
</tr>
7792
6480
</tbody>
7795
6483
<hr>
7796
6484
<div class="refsect2" title="gnutls_fingerprint ()">
7797
6485
<a name="gnutls-fingerprint"></a><h3>gnutls_fingerprint ()</h3>
7798
 
<pre class="programlisting">int                 gnutls_fingerprint                  (<a class="link" href="gnutls-gnutls.html#gnutls-digest-algorithm-t" title="enum gnutls_digest_algorithm_t">gnutls_digest_algorithm_t</a> algo,
7799
 
                                                         const gnutls_datum_t *data,
7800
 
                                                         void *result,
7801
 
                                                         size_t *result_size);</pre>
7802
 
<p>
7803
 
This function will calculate a fingerprint (actually a hash), of
7804
 
the given data.  The result is not printable data.  You should
7805
 
convert it to hex, or to something else printable.
7806
 
</p>
7807
 
<p>
7808
 
This is the usual way to calculate a fingerprint of an X.509 DER
7809
 
encoded certificate.  Note however that the fingerprint of an
7810
 
OpenPGP is not just a hash and cannot be calculated with this
7811
 
function.</p>
 
6486
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_fingerprint                  (<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> algo</code></em>,
 
6487
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
6488
                                                         <em class="parameter"><code><span class="type">void</span> *result</code></em>,
 
6489
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
7812
6490
<p>
7813
6491
</p>
7814
6492
<div class="variablelist"><table border="0">
7816
6494
<tbody>
7817
6495
<tr>
7818
6496
<td><p><span class="term"><em class="parameter"><code>algo</code></em> :</span></p></td>
7819
 
<td> is a digest algorithm
 
6497
<td>
7820
6498
</td>
7821
6499
</tr>
7822
6500
<tr>
7823
6501
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
7824
 
<td> is the data
 
6502
<td>
7825
6503
</td>
7826
6504
</tr>
7827
6505
<tr>
7828
6506
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
7829
 
<td> is the place where the result will be copied (may be null).
 
6507
<td>
7830
6508
</td>
7831
6509
</tr>
7832
6510
<tr>
7833
6511
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
7834
 
<td> should hold the size of the result. The actual size
7835
 
of the returned result will also be copied there.
 
6512
<td>
7836
6513
</td>
7837
6514
</tr>
7838
6515
<tr>
7839
6516
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7840
 
<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
7841
 
  an error code is returned.
 
6517
<td>
7842
6518
</td>
7843
6519
</tr>
7844
6520
</tbody>
7847
6523
<hr>
7848
6524
<div class="refsect2" title="gnutls_srp_free_client_credentials ()">
7849
6525
<a name="gnutls-srp-free-client-credentials"></a><h3>gnutls_srp_free_client_credentials ()</h3>
7850
 
<pre class="programlisting">void                gnutls_srp_free_client_credentials  (gnutls_srp_client_credentials_t sc);</pre>
7851
 
<p>
7852
 
This structure is complex enough to manipulate directly thus
7853
 
this helper function is provided in order to free (deallocate) it.</p>
 
6526
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_srp_free_client_credentials  (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> sc</code></em>);</pre>
7854
6527
<p>
7855
6528
</p>
7856
6529
<div class="variablelist"><table border="0">
7857
6530
<col align="left" valign="top">
7858
6531
<tbody><tr>
7859
6532
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
7860
 
<td> is a <span class="type">gnutls_srp_client_credentials_t</span> structure.
 
6533
<td>
7861
6534
</td>
7862
6535
</tr></tbody>
7863
6536
</table></div>
7865
6538
<hr>
7866
6539
<div class="refsect2" title="gnutls_srp_allocate_client_credentials ()">
7867
6540
<a name="gnutls-srp-allocate-client-credentials"></a><h3>gnutls_srp_allocate_client_credentials ()</h3>
7868
 
<pre class="programlisting">int                 gnutls_srp_allocate_client_credentials
7869
 
                                                        (gnutls_srp_client_credentials_t *sc);</pre>
7870
 
<p>
7871
 
This structure is complex enough to manipulate directly thus
7872
 
this helper function is provided in order to allocate it.</p>
 
6541
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_allocate_client_credentials
 
6542
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> *sc</code></em>);</pre>
7873
6543
<p>
7874
6544
</p>
7875
6545
<div class="variablelist"><table border="0">
7877
6547
<tbody>
7878
6548
<tr>
7879
6549
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
7880
 
<td> is a pointer to a <span class="type">gnutls_srp_server_credentials_t</span> structure.
 
6550
<td>
7881
6551
</td>
7882
6552
</tr>
7883
6553
<tr>
7884
6554
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7885
 
<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, or an
7886
 
  error code.
 
6555
<td>
7887
6556
</td>
7888
6557
</tr>
7889
6558
</tbody>
7892
6561
<hr>
7893
6562
<div class="refsect2" title="gnutls_srp_set_client_credentials ()">
7894
6563
<a name="gnutls-srp-set-client-credentials"></a><h3>gnutls_srp_set_client_credentials ()</h3>
7895
 
<pre class="programlisting">int                 gnutls_srp_set_client_credentials   (gnutls_srp_client_credentials_t res,
7896
 
                                                         const char *username,
7897
 
                                                         const char *password);</pre>
7898
 
<p>
7899
 
This function sets the username and password, in a
7900
 
<span class="type">gnutls_srp_client_credentials_t</span> structure.  Those will be used in
7901
 
SRP authentication.  <em class="parameter"><code>username</code></em> and <em class="parameter"><code>password</code></em> should be ASCII
7902
 
strings or UTF-8 strings prepared using the "SASLprep" profile of
7903
 
"stringprep".</p>
 
6564
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_set_client_credentials   (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> res</code></em>,
 
6565
                                                         <em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
 
6566
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre>
7904
6567
<p>
7905
6568
</p>
7906
6569
<div class="variablelist"><table border="0">
7908
6571
<tbody>
7909
6572
<tr>
7910
6573
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
7911
 
<td> is a <span class="type">gnutls_srp_client_credentials_t</span> structure.
 
6574
<td>
7912
6575
</td>
7913
6576
</tr>
7914
6577
<tr>
7915
6578
<td><p><span class="term"><em class="parameter"><code>username</code></em> :</span></p></td>
7916
 
<td> is the user's userid
 
6579
<td>
7917
6580
</td>
7918
6581
</tr>
7919
6582
<tr>
7920
6583
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
7921
 
<td> is the user's password
 
6584
<td>
7922
6585
</td>
7923
6586
</tr>
7924
6587
<tr>
7925
6588
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7926
 
<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, or an
7927
 
  error code.
 
6589
<td>
7928
6590
</td>
7929
6591
</tr>
7930
6592
</tbody>
7933
6595
<hr>
7934
6596
<div class="refsect2" title="gnutls_srp_free_server_credentials ()">
7935
6597
<a name="gnutls-srp-free-server-credentials"></a><h3>gnutls_srp_free_server_credentials ()</h3>
7936
 
<pre class="programlisting">void                gnutls_srp_free_server_credentials  (gnutls_srp_server_credentials_t sc);</pre>
7937
 
<p>
7938
 
This structure is complex enough to manipulate directly thus
7939
 
this helper function is provided in order to free (deallocate) it.</p>
 
6598
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_srp_free_server_credentials  (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> sc</code></em>);</pre>
7940
6599
<p>
7941
6600
</p>
7942
6601
<div class="variablelist"><table border="0">
7943
6602
<col align="left" valign="top">
7944
6603
<tbody><tr>
7945
6604
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
7946
 
<td> is a <span class="type">gnutls_srp_server_credentials_t</span> structure.
 
6605
<td>
7947
6606
</td>
7948
6607
</tr></tbody>
7949
6608
</table></div>
7951
6610
<hr>
7952
6611
<div class="refsect2" title="gnutls_srp_allocate_server_credentials ()">
7953
6612
<a name="gnutls-srp-allocate-server-credentials"></a><h3>gnutls_srp_allocate_server_credentials ()</h3>
7954
 
<pre class="programlisting">int                 gnutls_srp_allocate_server_credentials
7955
 
                                                        (gnutls_srp_server_credentials_t *sc);</pre>
7956
 
<p>
7957
 
This structure is complex enough to manipulate directly thus this
7958
 
helper function is provided in order to allocate it.</p>
 
6613
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_allocate_server_credentials
 
6614
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> *sc</code></em>);</pre>
7959
6615
<p>
7960
6616
</p>
7961
6617
<div class="variablelist"><table border="0">
7963
6619
<tbody>
7964
6620
<tr>
7965
6621
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
7966
 
<td> is a pointer to a <span class="type">gnutls_srp_server_credentials_t</span> structure.
 
6622
<td>
7967
6623
</td>
7968
6624
</tr>
7969
6625
<tr>
7970
6626
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
7971
 
<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, or an
7972
 
  error code.
 
6627
<td>
7973
6628
</td>
7974
6629
</tr>
7975
6630
</tbody>
7978
6633
<hr>
7979
6634
<div class="refsect2" title="gnutls_srp_set_server_credentials_file ()">
7980
6635
<a name="gnutls-srp-set-server-credentials-file"></a><h3>gnutls_srp_set_server_credentials_file ()</h3>
7981
 
<pre class="programlisting">int                 gnutls_srp_set_server_credentials_file
7982
 
                                                        (gnutls_srp_server_credentials_t res,
7983
 
                                                         const char *password_file,
7984
 
                                                         const char *password_conf_file);</pre>
7985
 
<p>
7986
 
This function sets the password files, in a
7987
 
<span class="type">gnutls_srp_server_credentials_t</span> structure.  Those password files
7988
 
hold usernames and verifiers and will be used for SRP
7989
 
authentication.</p>
 
6636
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_set_server_credentials_file
 
6637
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> res</code></em>,
 
6638
                                                         <em class="parameter"><code>const <span class="type">char</span> *password_file</code></em>,
 
6639
                                                         <em class="parameter"><code>const <span class="type">char</span> *password_conf_file</code></em>);</pre>
7990
6640
<p>
7991
6641
</p>
7992
6642
<div class="variablelist"><table border="0">
7994
6644
<tbody>
7995
6645
<tr>
7996
6646
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
7997
 
<td> is a <span class="type">gnutls_srp_server_credentials_t</span> structure.
 
6647
<td>
7998
6648
</td>
7999
6649
</tr>
8000
6650
<tr>
8001
6651
<td><p><span class="term"><em class="parameter"><code>password_file</code></em> :</span></p></td>
8002
 
<td> is the SRP password file (tpasswd)
 
6652
<td>
8003
6653
</td>
8004
6654
</tr>
8005
6655
<tr>
8006
6656
<td><p><span class="term"><em class="parameter"><code>password_conf_file</code></em> :</span></p></td>
8007
 
<td> is the SRP password conf file (tpasswd.conf)
 
6657
<td>
8008
6658
</td>
8009
6659
</tr>
8010
6660
<tr>
8011
6661
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8012
 
<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, or an
8013
 
  error code.
 
6662
<td>
8014
6663
</td>
8015
6664
</tr>
8016
6665
</tbody>
8019
6668
<hr>
8020
6669
<div class="refsect2" title="gnutls_srp_server_get_username ()">
8021
6670
<a name="gnutls-srp-server-get-username"></a><h3>gnutls_srp_server_get_username ()</h3>
8022
 
<pre class="programlisting">const char *        gnutls_srp_server_get_username      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
8023
 
<p>
8024
 
This function will return the username of the peer.  This should
8025
 
only be called in case of SRP authentication and in case of a
8026
 
server.  Returns NULL in case of an error.</p>
 
6671
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_srp_server_get_username      (<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>
8027
6672
<p>
8028
6673
</p>
8029
6674
<div class="variablelist"><table border="0">
8031
6676
<tbody>
8032
6677
<tr>
8033
6678
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
8034
 
<td> is a gnutls session
 
6679
<td>
8035
6680
</td>
8036
6681
</tr>
8037
6682
<tr>
8038
6683
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8039
 
<td> SRP username of the peer, or NULL in case of error.
 
6684
<td>
8040
6685
</td>
8041
6686
</tr>
8042
6687
</tbody>
8045
6690
<hr>
8046
6691
<div class="refsect2" title="gnutls_srp_set_prime_bits ()">
8047
6692
<a name="gnutls-srp-set-prime-bits"></a><h3>gnutls_srp_set_prime_bits ()</h3>
8048
 
<pre class="programlisting">void                gnutls_srp_set_prime_bits           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
8049
 
                                                         unsigned int bits);</pre>
8050
 
<p>
8051
 
This function sets the minimum accepted number of bits, for use in
8052
 
an SRP key exchange.  If zero, the default 2048 bits will be used.
8053
 
</p>
8054
 
<p>
8055
 
In the client side it sets the minimum accepted number of bits.  If
8056
 
a server sends a prime with less bits than that
8057
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER--CAPS" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER"><code class="literal">GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</code></a> will be returned by the
8058
 
handshake.
8059
 
</p>
8060
 
<p>
8061
 
This function has no effect in server side.</p>
 
6693
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_srp_set_prime_bits           (<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>,
 
6694
                                                         <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>
8062
6695
<p>
8063
6696
</p>
8064
6697
<div class="variablelist"><table border="0">
8066
6699
<tbody>
8067
6700
<tr>
8068
6701
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
8069
 
<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.
 
6702
<td>
8070
6703
</td>
8071
6704
</tr>
8072
6705
<tr>
8073
6706
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
8074
 
<td> is the number of bits
 
6707
<td>
8075
6708
</td>
8076
6709
</tr>
8077
6710
</tbody>
8078
6711
</table></div>
8079
 
<p class="since">Since 2.6.0</p>
8080
6712
</div>
8081
6713
<hr>
8082
6714
<div class="refsect2" title="gnutls_srp_verifier ()">
8083
6715
<a name="gnutls-srp-verifier"></a><h3>gnutls_srp_verifier ()</h3>
8084
 
<pre class="programlisting">int                 gnutls_srp_verifier                 (const char *username,
8085
 
                                                         const char *password,
8086
 
                                                         const gnutls_datum_t *salt,
8087
 
                                                         const gnutls_datum_t *generator,
8088
 
                                                         const gnutls_datum_t *prime,
8089
 
                                                         gnutls_datum_t *res);</pre>
8090
 
<p>
8091
 
This function will create an SRP verifier, as specified in
8092
 
RFC2945.  The <em class="parameter"><code>prime</code></em> and <em class="parameter"><code>generator</code></em> should be one of the static
8093
 
parameters defined in gnutls/extra.h or may be generated using the
8094
 
libgcrypt functions <code class="function">gcry_prime_generate()</code> and
8095
 
<code class="function">gcry_prime_group_generator()</code>.
8096
 
</p>
8097
 
<p>
8098
 
The verifier will be allocated with <em class="parameter"><code>malloc</code></em> and will be stored in
8099
 
<em class="parameter"><code>res</code></em> using binary format.</p>
 
6716
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_verifier                 (<em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
 
6717
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
6718
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *salt</code></em>,
 
6719
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *generator</code></em>,
 
6720
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *prime</code></em>,
 
6721
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *res</code></em>);</pre>
8100
6722
<p>
8101
6723
</p>
8102
6724
<div class="variablelist"><table border="0">
8104
6726
<tbody>
8105
6727
<tr>
8106
6728
<td><p><span class="term"><em class="parameter"><code>username</code></em> :</span></p></td>
8107
 
<td> is the user's name
 
6729
<td>
8108
6730
</td>
8109
6731
</tr>
8110
6732
<tr>
8111
6733
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
8112
 
<td> is the user's password
 
6734
<td>
8113
6735
</td>
8114
6736
</tr>
8115
6737
<tr>
8116
6738
<td><p><span class="term"><em class="parameter"><code>salt</code></em> :</span></p></td>
8117
 
<td> should be some randomly generated bytes
 
6739
<td>
8118
6740
</td>
8119
6741
</tr>
8120
6742
<tr>
8121
6743
<td><p><span class="term"><em class="parameter"><code>generator</code></em> :</span></p></td>
8122
 
<td> is the generator of the group
 
6744
<td>
8123
6745
</td>
8124
6746
</tr>
8125
6747
<tr>
8126
6748
<td><p><span class="term"><em class="parameter"><code>prime</code></em> :</span></p></td>
8127
 
<td> is the group's prime
 
6749
<td>
8128
6750
</td>
8129
6751
</tr>
8130
6752
<tr>
8131
6753
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
8132
 
<td> where the verifier will be stored.
 
6754
<td>
8133
6755
</td>
8134
6756
</tr>
8135
6757
<tr>
8136
6758
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8137
 
<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, or an
8138
 
  error code.
 
6759
<td>
8139
6760
</td>
8140
6761
</tr>
8141
6762
</tbody>
8192
6813
<hr>
8193
6814
<div class="refsect2" title="gnutls_srp_set_server_credentials_function ()">
8194
6815
<a name="gnutls-srp-set-server-credentials-function"></a><h3>gnutls_srp_set_server_credentials_function ()</h3>
8195
 
<pre class="programlisting">void                gnutls_srp_set_server_credentials_function
8196
 
                                                        (gnutls_srp_server_credentials_t cred,
8197
 
                                                         gnutls_srp_server_credentials_function *func);</pre>
8198
 
<p>
8199
 
This function can be used to set a callback to retrieve the user's SRP credentials.
8200
 
The callback's function form is:
8201
 
int (*callback)(gnutls_session_t, const char* username,
8202
 
 gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* g,
8203
 
 gnutls_datum_t* n);
8204
 
</p>
8205
 
<p>
8206
 
<em class="parameter"><code>username</code></em> contains the actual username. 
8207
 
The <em class="parameter"><code>salt</code></em>, <em class="parameter"><code>verifier</code></em>, <em class="parameter"><code>generator</code></em> and <em class="parameter"><code>prime</code></em> must be filled
8208
 
in using the <a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a>. For convenience <em class="parameter"><code>prime</code></em> and <em class="parameter"><code>generator</code></em> 
8209
 
may also be one of the static parameters defined in extra.h.
8210
 
</p>
8211
 
<p>
8212
 
In case the callback returned a negative number then gnutls will
8213
 
assume that the username does not exist.
8214
 
</p>
8215
 
<p>
8216
 
In order to prevent attackers from guessing valid usernames,
8217
 
if a user does not exist, g and n values should be filled in
8218
 
using a random user's parameters. In that case the callback must
8219
 
return the special value (1).
8220
 
</p>
8221
 
<p>
8222
 
The callback function will only be called once per handshake.
8223
 
The callback function should return 0 on success, while
8224
 
-1 indicates an error.</p>
 
6816
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_srp_set_server_credentials_function
 
6817
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_server_credentials_t</span> cred</code></em>,
 
6818
                                                         <em class="parameter"><code><span class="type">gnutls_srp_server_credentials_function</span> *func</code></em>);</pre>
8225
6819
<p>
8226
6820
</p>
8227
6821
<div class="variablelist"><table border="0">
8229
6823
<tbody>
8230
6824
<tr>
8231
6825
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
8232
 
<td> is a <span class="type">gnutls_srp_server_credentials_t</span> structure.
 
6826
<td>
8233
6827
</td>
8234
6828
</tr>
8235
6829
<tr>
8236
6830
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
8237
 
<td> is the callback function
 
6831
<td>
8238
6832
</td>
8239
6833
</tr>
8240
6834
</tbody>
8243
6837
<hr>
8244
6838
<div class="refsect2" title="gnutls_srp_set_client_credentials_function ()">
8245
6839
<a name="gnutls-srp-set-client-credentials-function"></a><h3>gnutls_srp_set_client_credentials_function ()</h3>
8246
 
<pre class="programlisting">void                gnutls_srp_set_client_credentials_function
8247
 
                                                        (gnutls_srp_client_credentials_t cred,
8248
 
                                                         gnutls_srp_client_credentials_function *func);</pre>
8249
 
<p>
8250
 
This function can be used to set a callback to retrieve the username and
8251
 
password for client SRP authentication.
8252
 
</p>
8253
 
<p>
8254
 
The callback's function form is:
8255
 
</p>
8256
 
<p>
8257
 
int (*callback)(gnutls_session_t, char** username, char**password);
8258
 
</p>
8259
 
<p>
8260
 
The <em class="parameter"><code>username</code></em> and <em class="parameter"><code>password</code></em> must be allocated using
8261
 
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a>.  <em class="parameter"><code>username</code></em> and <em class="parameter"><code>password</code></em> should be ASCII strings
8262
 
or UTF-8 strings prepared using the "SASLprep" profile of
8263
 
"stringprep".
8264
 
</p>
8265
 
<p>
8266
 
The callback function will be called once per handshake before the
8267
 
initial hello message is sent.
8268
 
</p>
8269
 
<p>
8270
 
The callback should not return a negative error code the second
8271
 
time called, since the handshake procedure will be aborted.
8272
 
</p>
8273
 
<p>
8274
 
The callback function should return 0 on success.
8275
 
-1 indicates an error.</p>
 
6840
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_srp_set_client_credentials_function
 
6841
                                                        (<em class="parameter"><code><span class="type">gnutls_srp_client_credentials_t</span> cred</code></em>,
 
6842
                                                         <em class="parameter"><code><span class="type">gnutls_srp_client_credentials_function</span> *func</code></em>);</pre>
8276
6843
<p>
8277
6844
</p>
8278
6845
<div class="variablelist"><table border="0">
8280
6847
<tbody>
8281
6848
<tr>
8282
6849
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
8283
 
<td> is a <span class="type">gnutls_srp_server_credentials_t</span> structure.
 
6850
<td>
8284
6851
</td>
8285
6852
</tr>
8286
6853
<tr>
8287
6854
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
8288
 
<td> is the callback function
 
6855
<td>
8289
6856
</td>
8290
6857
</tr>
8291
6858
</tbody>
8294
6861
<hr>
8295
6862
<div class="refsect2" title="gnutls_srp_base64_encode ()">
8296
6863
<a name="gnutls-srp-base64-encode"></a><h3>gnutls_srp_base64_encode ()</h3>
8297
 
<pre class="programlisting">int                 gnutls_srp_base64_encode            (const gnutls_datum_t *data,
8298
 
                                                         char *result,
8299
 
                                                         size_t *result_size);</pre>
8300
 
<p>
8301
 
This function will convert the given data to printable data, using
8302
 
the base64 encoding, as used in the libsrp.  This is the encoding
8303
 
used in SRP password files.  If the provided buffer is not long
8304
 
enough GNUTLS_E_SHORT_MEMORY_BUFFER is returned.
8305
 
</p>
8306
 
<p>
8307
 
Warning!  This base64 encoding is not the "standard" encoding, so
8308
 
do not use it for non-SRP purposes.</p>
 
6864
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_base64_encode            (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
6865
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
6866
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
8309
6867
<p>
8310
6868
</p>
8311
6869
<div class="variablelist"><table border="0">
8313
6871
<tbody>
8314
6872
<tr>
8315
6873
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
8316
 
<td> contain the raw data
 
6874
<td>
8317
6875
</td>
8318
6876
</tr>
8319
6877
<tr>
8320
6878
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
8321
 
<td> the place where base64 data will be copied
 
6879
<td>
8322
6880
</td>
8323
6881
</tr>
8324
6882
<tr>
8325
6883
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
8326
 
<td> holds the size of the result
 
6884
<td>
8327
6885
</td>
8328
6886
</tr>
8329
6887
<tr>
8330
6888
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8331
 
<td> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not
8332
 
long enough, or 0 on success.
 
6889
<td>
8333
6890
</td>
8334
6891
</tr>
8335
6892
</tbody>
8338
6895
<hr>
8339
6896
<div class="refsect2" title="gnutls_srp_base64_encode_alloc ()">
8340
6897
<a name="gnutls-srp-base64-encode-alloc"></a><h3>gnutls_srp_base64_encode_alloc ()</h3>
8341
 
<pre class="programlisting">int                 gnutls_srp_base64_encode_alloc      (const gnutls_datum_t *data,
8342
 
                                                         gnutls_datum_t *result);</pre>
8343
 
<p>
8344
 
This function will convert the given data to printable data, using
8345
 
the base64 encoding.  This is the encoding used in SRP password
8346
 
files.  This function will allocate the required memory to hold
8347
 
the encoded data.
8348
 
</p>
8349
 
<p>
8350
 
You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a> to free the returned data.
8351
 
</p>
8352
 
<p>
8353
 
Warning!  This base64 encoding is not the "standard" encoding, so
8354
 
do not use it for non-SRP purposes.</p>
 
6898
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_base64_encode_alloc      (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
6899
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);</pre>
8355
6900
<p>
8356
6901
</p>
8357
6902
<div class="variablelist"><table border="0">
8359
6904
<tbody>
8360
6905
<tr>
8361
6906
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
8362
 
<td> contains the raw data
 
6907
<td>
8363
6908
</td>
8364
6909
</tr>
8365
6910
<tr>
8366
6911
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
8367
 
<td> will hold the newly allocated encoded data
 
6912
<td>
8368
6913
</td>
8369
6914
</tr>
8370
6915
<tr>
8371
6916
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8372
 
<td> 0 on success, or an error code.
 
6917
<td>
8373
6918
</td>
8374
6919
</tr>
8375
6920
</tbody>
8378
6923
<hr>
8379
6924
<div class="refsect2" title="gnutls_srp_base64_decode ()">
8380
6925
<a name="gnutls-srp-base64-decode"></a><h3>gnutls_srp_base64_decode ()</h3>
8381
 
<pre class="programlisting">int                 gnutls_srp_base64_decode            (const gnutls_datum_t *b64_data,
8382
 
                                                         char *result,
8383
 
                                                         size_t *result_size);</pre>
8384
 
<p>
8385
 
This function will decode the given encoded data, using the base64
8386
 
encoding found in libsrp.
8387
 
</p>
8388
 
<p>
8389
 
Note that b64_data should be null terminated.
8390
 
</p>
8391
 
<p>
8392
 
Warning!  This base64 encoding is not the "standard" encoding, so
8393
 
do not use it for non-SRP purposes.</p>
 
6926
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_base64_decode            (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
6927
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
6928
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
8394
6929
<p>
8395
6930
</p>
8396
6931
<div class="variablelist"><table border="0">
8398
6933
<tbody>
8399
6934
<tr>
8400
6935
<td><p><span class="term"><em class="parameter"><code>b64_data</code></em> :</span></p></td>
8401
 
<td> contain the encoded data
 
6936
<td>
8402
6937
</td>
8403
6938
</tr>
8404
6939
<tr>
8405
6940
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
8406
 
<td> the place where decoded data will be copied
 
6941
<td>
8407
6942
</td>
8408
6943
</tr>
8409
6944
<tr>
8410
6945
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
8411
 
<td> holds the size of the result
 
6946
<td>
8412
6947
</td>
8413
6948
</tr>
8414
6949
<tr>
8415
6950
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8416
 
<td> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not
8417
 
long enough, or 0 on success.
 
6951
<td>
8418
6952
</td>
8419
6953
</tr>
8420
6954
</tbody>
8423
6957
<hr>
8424
6958
<div class="refsect2" title="gnutls_srp_base64_decode_alloc ()">
8425
6959
<a name="gnutls-srp-base64-decode-alloc"></a><h3>gnutls_srp_base64_decode_alloc ()</h3>
8426
 
<pre class="programlisting">int                 gnutls_srp_base64_decode_alloc      (const gnutls_datum_t *b64_data,
8427
 
                                                         gnutls_datum_t *result);</pre>
8428
 
<p>
8429
 
This function will decode the given encoded data. The decoded data
8430
 
will be allocated, and stored into result.  It will decode using
8431
 
the base64 algorithm as used in libsrp.
8432
 
</p>
8433
 
<p>
8434
 
You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a> to free the returned data.
8435
 
</p>
8436
 
<p>
8437
 
Warning!  This base64 encoding is not the "standard" encoding, so
8438
 
do not use it for non-SRP purposes.</p>
 
6960
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_srp_base64_decode_alloc      (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
6961
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);</pre>
8439
6962
<p>
8440
6963
</p>
8441
6964
<div class="variablelist"><table border="0">
8443
6966
<tbody>
8444
6967
<tr>
8445
6968
<td><p><span class="term"><em class="parameter"><code>b64_data</code></em> :</span></p></td>
8446
 
<td> contains the encoded data
 
6969
<td>
8447
6970
</td>
8448
6971
</tr>
8449
6972
<tr>
8450
6973
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
8451
 
<td> the place where decoded data lie
 
6974
<td>
8452
6975
</td>
8453
6976
</tr>
8454
6977
<tr>
8455
6978
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8456
 
<td> 0 on success, or an error code.
 
6979
<td>
8457
6980
</td>
8458
6981
</tr>
8459
6982
</tbody>
8474
6997
<hr>
8475
6998
<div class="refsect2" title="gnutls_psk_free_client_credentials ()">
8476
6999
<a name="gnutls-psk-free-client-credentials"></a><h3>gnutls_psk_free_client_credentials ()</h3>
8477
 
<pre class="programlisting">void                gnutls_psk_free_client_credentials  (gnutls_psk_client_credentials_t sc);</pre>
8478
 
<p>
8479
 
This structure is complex enough to manipulate directly thus this
8480
 
helper function is provided in order to free (deallocate) it.</p>
 
7000
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_free_client_credentials  (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> sc</code></em>);</pre>
8481
7001
<p>
8482
7002
</p>
8483
7003
<div class="variablelist"><table border="0">
8484
7004
<col align="left" valign="top">
8485
7005
<tbody><tr>
8486
7006
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
8487
 
<td> is a <span class="type">gnutls_psk_client_credentials_t</span> structure.
 
7007
<td>
8488
7008
</td>
8489
7009
</tr></tbody>
8490
7010
</table></div>
8492
7012
<hr>
8493
7013
<div class="refsect2" title="gnutls_psk_allocate_client_credentials ()">
8494
7014
<a name="gnutls-psk-allocate-client-credentials"></a><h3>gnutls_psk_allocate_client_credentials ()</h3>
8495
 
<pre class="programlisting">int                 gnutls_psk_allocate_client_credentials
8496
 
                                                        (gnutls_psk_client_credentials_t *sc);</pre>
8497
 
<p>
8498
 
This structure is complex enough to manipulate directly thus this
8499
 
helper function is provided in order to allocate it.</p>
 
7015
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_psk_allocate_client_credentials
 
7016
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> *sc</code></em>);</pre>
8500
7017
<p>
8501
7018
</p>
8502
7019
<div class="variablelist"><table border="0">
8504
7021
<tbody>
8505
7022
<tr>
8506
7023
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
8507
 
<td> is a pointer to a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7024
<td>
8508
7025
</td>
8509
7026
</tr>
8510
7027
<tr>
8511
7028
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8512
 
<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, or an error code.
 
7029
<td>
8513
7030
</td>
8514
7031
</tr>
8515
7032
</tbody>
8518
7035
<hr>
8519
7036
<div class="refsect2" title="gnutls_psk_set_client_credentials ()">
8520
7037
<a name="gnutls-psk-set-client-credentials"></a><h3>gnutls_psk_set_client_credentials ()</h3>
8521
 
<pre class="programlisting">int                 gnutls_psk_set_client_credentials   (gnutls_psk_client_credentials_t res,
8522
 
                                                         const char *username,
8523
 
                                                         const gnutls_datum_t *key,
8524
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags">gnutls_psk_key_flags</a> format);</pre>
8525
 
<p>
8526
 
This function sets the username and password, in a
8527
 
gnutls_psk_client_credentials_t structure.  Those will be used in
8528
 
PSK authentication. <em class="parameter"><code>username</code></em> should be an ASCII string or UTF-8
8529
 
strings prepared using the "SASLprep" profile of "stringprep".
8530
 
The key can be either in raw byte format or in Hex (not with the
8531
 
'0x' prefix).</p>
 
7038
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_psk_set_client_credentials   (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> res</code></em>,
 
7039
                                                         <em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
 
7040
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
7041
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-psk-key-flags" title="enum gnutls_psk_key_flags"><span class="type">gnutls_psk_key_flags</span></a> format</code></em>);</pre>
8532
7042
<p>
8533
7043
</p>
8534
7044
<div class="variablelist"><table border="0">
8536
7046
<tbody>
8537
7047
<tr>
8538
7048
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
8539
 
<td> is a <span class="type">gnutls_psk_client_credentials_t</span> structure.
 
7049
<td>
8540
7050
</td>
8541
7051
</tr>
8542
7052
<tr>
8543
7053
<td><p><span class="term"><em class="parameter"><code>username</code></em> :</span></p></td>
8544
 
<td> is the user's zero-terminated userid
 
7054
<td>
8545
7055
</td>
8546
7056
</tr>
8547
7057
<tr>
8548
7058
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
8549
 
<td> is the user's key
 
7059
<td>
8550
7060
</td>
8551
7061
</tr>
8552
7062
<tr>
8553
7063
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
8554
 
<td> indicate the format of the key, either
8555
 
<code class="literal">GNUTLS_PSK_KEY_RAW</code> or <code class="literal">GNUTLS_PSK_KEY_HEX</code>.
 
7064
<td>
8556
7065
</td>
8557
7066
</tr>
8558
7067
<tr>
8559
7068
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8560
 
<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, or an error code.
 
7069
<td>
8561
7070
</td>
8562
7071
</tr>
8563
7072
</tbody>
8566
7075
<hr>
8567
7076
<div class="refsect2" title="gnutls_psk_free_server_credentials ()">
8568
7077
<a name="gnutls-psk-free-server-credentials"></a><h3>gnutls_psk_free_server_credentials ()</h3>
8569
 
<pre class="programlisting">void                gnutls_psk_free_server_credentials  (gnutls_psk_server_credentials_t sc);</pre>
8570
 
<p>
8571
 
This structure is complex enough to manipulate directly thus this
8572
 
helper function is provided in order to free (deallocate) it.</p>
 
7078
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_free_server_credentials  (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> sc</code></em>);</pre>
8573
7079
<p>
8574
7080
</p>
8575
7081
<div class="variablelist"><table border="0">
8576
7082
<col align="left" valign="top">
8577
7083
<tbody><tr>
8578
7084
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
8579
 
<td> is a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7085
<td>
8580
7086
</td>
8581
7087
</tr></tbody>
8582
7088
</table></div>
8584
7090
<hr>
8585
7091
<div class="refsect2" title="gnutls_psk_allocate_server_credentials ()">
8586
7092
<a name="gnutls-psk-allocate-server-credentials"></a><h3>gnutls_psk_allocate_server_credentials ()</h3>
8587
 
<pre class="programlisting">int                 gnutls_psk_allocate_server_credentials
8588
 
                                                        (gnutls_psk_server_credentials_t *sc);</pre>
8589
 
<p>
8590
 
This structure is complex enough to manipulate directly thus this
8591
 
helper function is provided in order to allocate it.</p>
 
7093
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_psk_allocate_server_credentials
 
7094
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> *sc</code></em>);</pre>
8592
7095
<p>
8593
7096
</p>
8594
7097
<div class="variablelist"><table border="0">
8596
7099
<tbody>
8597
7100
<tr>
8598
7101
<td><p><span class="term"><em class="parameter"><code>sc</code></em> :</span></p></td>
8599
 
<td> is a pointer to a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7102
<td>
8600
7103
</td>
8601
7104
</tr>
8602
7105
<tr>
8603
7106
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8604
 
<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, or an error code.
 
7107
<td>
8605
7108
</td>
8606
7109
</tr>
8607
7110
</tbody>
8610
7113
<hr>
8611
7114
<div class="refsect2" title="gnutls_psk_set_server_credentials_file ()">
8612
7115
<a name="gnutls-psk-set-server-credentials-file"></a><h3>gnutls_psk_set_server_credentials_file ()</h3>
8613
 
<pre class="programlisting">int                 gnutls_psk_set_server_credentials_file
8614
 
                                                        (gnutls_psk_server_credentials_t res,
8615
 
                                                         const char *password_file);</pre>
8616
 
<p>
8617
 
This function sets the password file, in a
8618
 
<code class="literal">gnutls_psk_server_credentials_t</code> structure.  This password file
8619
 
holds usernames and keys and will be used for PSK authentication.</p>
 
7116
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_psk_set_server_credentials_file
 
7117
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
7118
                                                         <em class="parameter"><code>const <span class="type">char</span> *password_file</code></em>);</pre>
8620
7119
<p>
8621
7120
</p>
8622
7121
<div class="variablelist"><table border="0">
8624
7123
<tbody>
8625
7124
<tr>
8626
7125
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
8627
 
<td> is a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7126
<td>
8628
7127
</td>
8629
7128
</tr>
8630
7129
<tr>
8631
7130
<td><p><span class="term"><em class="parameter"><code>password_file</code></em> :</span></p></td>
8632
 
<td> is the PSK password file (passwd.psk)
 
7131
<td>
8633
7132
</td>
8634
7133
</tr>
8635
7134
<tr>
8636
7135
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8637
 
<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, or an error code.
 
7136
<td>
8638
7137
</td>
8639
7138
</tr>
8640
7139
</tbody>
8643
7142
<hr>
8644
7143
<div class="refsect2" title="gnutls_psk_set_server_credentials_hint ()">
8645
7144
<a name="gnutls-psk-set-server-credentials-hint"></a><h3>gnutls_psk_set_server_credentials_hint ()</h3>
8646
 
<pre class="programlisting">int                 gnutls_psk_set_server_credentials_hint
8647
 
                                                        (gnutls_psk_server_credentials_t res,
8648
 
                                                         const char *hint);</pre>
8649
 
<p>
8650
 
This function sets the identity hint, in a
8651
 
<code class="literal">gnutls_psk_server_credentials_t</code> structure.  This hint is sent to
8652
 
the client to help it chose a good PSK credential (i.e., username
8653
 
and password).</p>
 
7145
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_psk_set_server_credentials_hint
 
7146
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
7147
                                                         <em class="parameter"><code>const <span class="type">char</span> *hint</code></em>);</pre>
8654
7148
<p>
8655
7149
</p>
8656
7150
<div class="variablelist"><table border="0">
8658
7152
<tbody>
8659
7153
<tr>
8660
7154
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
8661
 
<td> is a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7155
<td>
8662
7156
</td>
8663
7157
</tr>
8664
7158
<tr>
8665
7159
<td><p><span class="term"><em class="parameter"><code>hint</code></em> :</span></p></td>
8666
 
<td> is the PSK identity hint string
 
7160
<td>
8667
7161
</td>
8668
7162
</tr>
8669
7163
<tr>
8670
7164
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8671
 
<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, or an error code.
8672
 
 
 
7165
<td>
8673
7166
</td>
8674
7167
</tr>
8675
7168
</tbody>
8676
7169
</table></div>
8677
 
<p class="since">Since 2.4.0</p>
8678
7170
</div>
8679
7171
<hr>
8680
7172
<div class="refsect2" title="gnutls_psk_server_get_username ()">
8681
7173
<a name="gnutls-psk-server-get-username"></a><h3>gnutls_psk_server_get_username ()</h3>
8682
 
<pre class="programlisting">const char *        gnutls_psk_server_get_username      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
8683
 
<p>
8684
 
This should only be called in case of PSK authentication and in
8685
 
case of a server.</p>
 
7174
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_psk_server_get_username      (<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>
8686
7175
<p>
8687
7176
</p>
8688
7177
<div class="variablelist"><table border="0">
8690
7179
<tbody>
8691
7180
<tr>
8692
7181
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
8693
 
<td> is a gnutls session
 
7182
<td>
8694
7183
</td>
8695
7184
</tr>
8696
7185
<tr>
8697
7186
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8698
 
<td> the username of the peer, or <code class="literal">NULL</code> in case of an error.
 
7187
<td>
8699
7188
</td>
8700
7189
</tr>
8701
7190
</tbody>
8704
7193
<hr>
8705
7194
<div class="refsect2" title="gnutls_psk_client_get_hint ()">
8706
7195
<a name="gnutls-psk-client-get-hint"></a><h3>gnutls_psk_client_get_hint ()</h3>
8707
 
<pre class="programlisting">const char *        gnutls_psk_client_get_hint          (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
8708
 
<p>
8709
 
The PSK identity hint may give the client help in deciding which
8710
 
username to use.  This should only be called in case of PSK
8711
 
authentication and in case of a client.</p>
 
7196
<pre class="programlisting">const <span class="returnvalue">char</span> *        gnutls_psk_client_get_hint          (<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>
8712
7197
<p>
8713
7198
</p>
8714
7199
<div class="variablelist"><table border="0">
8716
7201
<tbody>
8717
7202
<tr>
8718
7203
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
8719
 
<td> is a gnutls session
 
7204
<td>
8720
7205
</td>
8721
7206
</tr>
8722
7207
<tr>
8723
7208
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8724
 
<td> the identity hint of the peer, or <code class="literal">NULL</code> in case of an error.
8725
 
 
 
7209
<td>
8726
7210
</td>
8727
7211
</tr>
8728
7212
</tbody>
8729
7213
</table></div>
8730
 
<p class="since">Since 2.4.0</p>
8731
7214
</div>
8732
7215
<hr>
8733
7216
<div class="refsect2" title="gnutls_psk_set_server_credentials_function ()">
8734
7217
<a name="gnutls-psk-set-server-credentials-function"></a><h3>gnutls_psk_set_server_credentials_function ()</h3>
8735
 
<pre class="programlisting">void                gnutls_psk_set_server_credentials_function
8736
 
                                                        (gnutls_psk_server_credentials_t cred,
8737
 
                                                         gnutls_psk_server_credentials_function *func);</pre>
8738
 
<p>
8739
 
This function can be used to set a callback to retrieve the user's PSK credentials.
8740
 
The callback's function form is:
8741
 
int (*callback)(gnutls_session_t, const char* username,
8742
 
 gnutls_datum_t* key);
8743
 
</p>
8744
 
<p>
8745
 
<em class="parameter"><code>username</code></em> contains the actual username.
8746
 
The <em class="parameter"><code>key</code></em> must be filled in using the <a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a>.
8747
 
</p>
8748
 
<p>
8749
 
In case the callback returned a negative number then gnutls will
8750
 
assume that the username does not exist.
8751
 
</p>
8752
 
<p>
8753
 
The callback function will only be called once per handshake.  The
8754
 
callback function should return 0 on success, while -1 indicates
8755
 
an error.</p>
 
7218
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_set_server_credentials_function
 
7219
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> cred</code></em>,
 
7220
                                                         <em class="parameter"><code><span class="type">gnutls_psk_server_credentials_function</span> *func</code></em>);</pre>
8756
7221
<p>
8757
7222
</p>
8758
7223
<div class="variablelist"><table border="0">
8760
7225
<tbody>
8761
7226
<tr>
8762
7227
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
8763
 
<td> is a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7228
<td>
8764
7229
</td>
8765
7230
</tr>
8766
7231
<tr>
8767
7232
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
8768
 
<td> is the callback function
 
7233
<td>
8769
7234
</td>
8770
7235
</tr>
8771
7236
</tbody>
8774
7239
<hr>
8775
7240
<div class="refsect2" title="gnutls_psk_set_client_credentials_function ()">
8776
7241
<a name="gnutls-psk-set-client-credentials-function"></a><h3>gnutls_psk_set_client_credentials_function ()</h3>
8777
 
<pre class="programlisting">void                gnutls_psk_set_client_credentials_function
8778
 
                                                        (gnutls_psk_client_credentials_t cred,
8779
 
                                                         gnutls_psk_client_credentials_function *func);</pre>
8780
 
<p>
8781
 
This function can be used to set a callback to retrieve the username and
8782
 
password for client PSK authentication.
8783
 
The callback's function form is:
8784
 
int (*callback)(gnutls_session_t, char** username,
8785
 
 gnutls_datum_t* key);
8786
 
</p>
8787
 
<p>
8788
 
The <em class="parameter"><code>username</code></em> and <em class="parameter"><code>key-&gt;data</code></em> must be allocated using <a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a>.
8789
 
<em class="parameter"><code>username</code></em> should be ASCII strings or UTF-8 strings prepared using
8790
 
the "SASLprep" profile of "stringprep".
8791
 
</p>
8792
 
<p>
8793
 
The callback function will be called once per handshake.
8794
 
</p>
8795
 
<p>
8796
 
The callback function should return 0 on success.
8797
 
-1 indicates an error.</p>
 
7242
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_set_client_credentials_function
 
7243
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_client_credentials_t</span> cred</code></em>,
 
7244
                                                         <em class="parameter"><code><span class="type">gnutls_psk_client_credentials_function</span> *func</code></em>);</pre>
8798
7245
<p>
8799
7246
</p>
8800
7247
<div class="variablelist"><table border="0">
8802
7249
<tbody>
8803
7250
<tr>
8804
7251
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
8805
 
<td> is a <span class="type">gnutls_psk_server_credentials_t</span> structure.
 
7252
<td>
8806
7253
</td>
8807
7254
</tr>
8808
7255
<tr>
8809
7256
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
8810
 
<td> is the callback function
 
7257
<td>
8811
7258
</td>
8812
7259
</tr>
8813
7260
</tbody>
8816
7263
<hr>
8817
7264
<div class="refsect2" title="gnutls_hex_encode ()">
8818
7265
<a name="gnutls-hex-encode"></a><h3>gnutls_hex_encode ()</h3>
8819
 
<pre class="programlisting">int                 gnutls_hex_encode                   (const gnutls_datum_t *data,
8820
 
                                                         char *result,
8821
 
                                                         size_t *result_size);</pre>
8822
 
<p>
8823
 
This function will convert the given data to printable data, using
8824
 
the hex encoding, as used in the PSK password files.</p>
 
7266
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hex_encode                   (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
7267
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
7268
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
8825
7269
<p>
8826
7270
</p>
8827
7271
<div class="variablelist"><table border="0">
8829
7273
<tbody>
8830
7274
<tr>
8831
7275
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
8832
 
<td> contain the raw data
 
7276
<td>
8833
7277
</td>
8834
7278
</tr>
8835
7279
<tr>
8836
7280
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
8837
 
<td> the place where hex data will be copied
 
7281
<td>
8838
7282
</td>
8839
7283
</tr>
8840
7284
<tr>
8841
7285
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
8842
 
<td> holds the size of the result
 
7286
<td>
8843
7287
</td>
8844
7288
</tr>
8845
7289
<tr>
8846
7290
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8847
 
<td> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not
8848
 
long enough, or 0 on success.
 
7291
<td>
8849
7292
</td>
8850
7293
</tr>
8851
7294
</tbody>
8854
7297
<hr>
8855
7298
<div class="refsect2" title="gnutls_hex_decode ()">
8856
7299
<a name="gnutls-hex-decode"></a><h3>gnutls_hex_decode ()</h3>
8857
 
<pre class="programlisting">int                 gnutls_hex_decode                   (const gnutls_datum_t *hex_data,
8858
 
                                                         char *result,
8859
 
                                                         size_t *result_size);</pre>
8860
 
<p>
8861
 
This function will decode the given encoded data, using the hex encoding
8862
 
used by PSK password files.
8863
 
</p>
8864
 
<p>
8865
 
Note that hex_data should be null terminated.</p>
 
7300
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hex_decode                   (<em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *hex_data</code></em>,
 
7301
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
7302
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
8866
7303
<p>
8867
7304
</p>
8868
7305
<div class="variablelist"><table border="0">
8870
7307
<tbody>
8871
7308
<tr>
8872
7309
<td><p><span class="term"><em class="parameter"><code>hex_data</code></em> :</span></p></td>
8873
 
<td> contain the encoded data
 
7310
<td>
8874
7311
</td>
8875
7312
</tr>
8876
7313
<tr>
8877
7314
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
8878
 
<td> the place where decoded data will be copied
 
7315
<td>
8879
7316
</td>
8880
7317
</tr>
8881
7318
<tr>
8882
7319
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
8883
 
<td> holds the size of the result
 
7320
<td>
8884
7321
</td>
8885
7322
</tr>
8886
7323
<tr>
8887
7324
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8888
 
<td> <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> if the buffer given is not
8889
 
  long enough, or 0 on success.
 
7325
<td>
8890
7326
</td>
8891
7327
</tr>
8892
7328
</tbody>
8895
7331
<hr>
8896
7332
<div class="refsect2" title="gnutls_psk_set_server_dh_params ()">
8897
7333
<a name="gnutls-psk-set-server-dh-params"></a><h3>gnutls_psk_set_server_dh_params ()</h3>
8898
 
<pre class="programlisting">void                gnutls_psk_set_server_dh_params     (gnutls_psk_server_credentials_t res,
8899
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t">gnutls_dh_params_t</a> dh_params);</pre>
8900
 
<p>
8901
 
This function will set the Diffie-Hellman parameters for an
8902
 
anonymous server to use. These parameters will be used in
8903
 
Diffie-Hellman exchange with PSK cipher suites.</p>
 
7334
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_set_server_dh_params     (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
7335
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-dh-params-t" title="gnutls_dh_params_t"><span class="type">gnutls_dh_params_t</span></a> dh_params</code></em>);</pre>
8904
7336
<p>
8905
7337
</p>
8906
7338
<div class="variablelist"><table border="0">
8908
7340
<tbody>
8909
7341
<tr>
8910
7342
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
8911
 
<td> is a gnutls_psk_server_credentials_t structure
 
7343
<td>
8912
7344
</td>
8913
7345
</tr>
8914
7346
<tr>
8915
7347
<td><p><span class="term"><em class="parameter"><code>dh_params</code></em> :</span></p></td>
8916
 
<td> is a structure that holds Diffie-Hellman parameters.
 
7348
<td>
8917
7349
</td>
8918
7350
</tr>
8919
7351
</tbody>
8922
7354
<hr>
8923
7355
<div class="refsect2" title="gnutls_psk_set_server_params_function ()">
8924
7356
<a name="gnutls-psk-set-server-params-function"></a><h3>gnutls_psk_set_server_params_function ()</h3>
8925
 
<pre class="programlisting">void                gnutls_psk_set_server_params_function
8926
 
                                                        (gnutls_psk_server_credentials_t res,
8927
 
                                                         gnutls_params_function *func);</pre>
8928
 
<p>
8929
 
This function will set a callback in order for the server to get
8930
 
the Diffie-Hellman parameters for PSK authentication.  The callback
8931
 
should return zero on success.</p>
 
7357
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_set_server_params_function
 
7358
                                                        (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
7359
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre>
8932
7360
<p>
8933
7361
</p>
8934
7362
<div class="variablelist"><table border="0">
8936
7364
<tbody>
8937
7365
<tr>
8938
7366
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
8939
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure
 
7367
<td>
8940
7368
</td>
8941
7369
</tr>
8942
7370
<tr>
8943
7371
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
8944
 
<td> is the function to be called
 
7372
<td>
8945
7373
</td>
8946
7374
</tr>
8947
7375
</tbody>
8950
7378
<hr>
8951
7379
<div class="refsect2" title="gnutls_psk_netconf_derive_key ()">
8952
7380
<a name="gnutls-psk-netconf-derive-key"></a><h3>gnutls_psk_netconf_derive_key ()</h3>
8953
 
<pre class="programlisting">int                 gnutls_psk_netconf_derive_key       (const char *password,
8954
 
                                                         const char *psk_identity,
8955
 
                                                         const char *psk_identity_hint,
8956
 
                                                         gnutls_datum_t *output_key);</pre>
8957
 
<p>
8958
 
This function will derive a PSK key from a password, for use with
8959
 
the Netconf protocol.</p>
 
7381
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_psk_netconf_derive_key       (<em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
7382
                                                         <em class="parameter"><code>const <span class="type">char</span> *psk_identity</code></em>,
 
7383
                                                         <em class="parameter"><code>const <span class="type">char</span> *psk_identity_hint</code></em>,
 
7384
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *output_key</code></em>);</pre>
8960
7385
<p>
8961
7386
</p>
8962
7387
<div class="variablelist"><table border="0">
8964
7389
<tbody>
8965
7390
<tr>
8966
7391
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
8967
 
<td> zero terminated string containing password.
 
7392
<td>
8968
7393
</td>
8969
7394
</tr>
8970
7395
<tr>
8971
7396
<td><p><span class="term"><em class="parameter"><code>psk_identity</code></em> :</span></p></td>
8972
 
<td> zero terminated string with PSK identity.
 
7397
<td>
8973
7398
</td>
8974
7399
</tr>
8975
7400
<tr>
8976
7401
<td><p><span class="term"><em class="parameter"><code>psk_identity_hint</code></em> :</span></p></td>
8977
 
<td> zero terminated string with PSK identity hint.
 
7402
<td>
8978
7403
</td>
8979
7404
</tr>
8980
7405
<tr>
8981
7406
<td><p><span class="term"><em class="parameter"><code>output_key</code></em> :</span></p></td>
8982
 
<td> output variable, contains newly allocated *data pointer.
 
7407
<td>
8983
7408
</td>
8984
7409
</tr>
8985
7410
<tr>
8986
7411
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
8987
 
<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, or an error code.
8988
 
 
 
7412
<td>
8989
7413
</td>
8990
7414
</tr>
8991
7415
</tbody>
8992
7416
</table></div>
8993
 
<p class="since">Since 2.4.0</p>
8994
7417
</div>
8995
7418
<hr>
8996
7419
<div class="refsect2" title="enum gnutls_x509_subject_alt_name_t">
9045
7468
<hr>
9046
7469
<div class="refsect2" title="gnutls_auth_get_type ()">
9047
7470
<a name="gnutls-auth-get-type"></a><h3>gnutls_auth_get_type ()</h3>
9048
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>  gnutls_auth_get_type         (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9049
 
<p>
9050
 
Returns type of credentials for the current authentication schema.
9051
 
The returned information is to be used to distinguish the function used
9052
 
to access authentication data.
9053
 
</p>
9054
 
<p>
9055
 
Eg. for CERTIFICATE ciphersuites (key exchange algorithms:
9056
 
<code class="literal">GNUTLS_KX_RSA</code>, <code class="literal">GNUTLS_KX_DHE_RSA</code>), the same function are to be
9057
 
used to access the authentication data.</p>
 
7471
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="returnvalue">gnutls_credentials_type_t</span></a>  gnutls_auth_get_type         (<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>
9058
7472
<p>
9059
7473
</p>
9060
7474
<div class="variablelist"><table border="0">
9062
7476
<tbody>
9063
7477
<tr>
9064
7478
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9065
 
<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.
 
7479
<td>
9066
7480
</td>
9067
7481
</tr>
9068
7482
<tr>
9069
7483
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9070
 
<td> The type of credentials for the current authentication
9071
 
  schema, a <a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type.
 
7484
<td>
9072
7485
</td>
9073
7486
</tr>
9074
7487
</tbody>
9077
7490
<hr>
9078
7491
<div class="refsect2" title="gnutls_auth_server_get_type ()">
9079
7492
<a name="gnutls-auth-server-get-type"></a><h3>gnutls_auth_server_get_type ()</h3>
9080
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>  gnutls_auth_server_get_type  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9081
 
<p>
9082
 
Returns the type of credentials that were used for server authentication.
9083
 
The returned information is to be used to distinguish the function used
9084
 
to access authentication data.</p>
 
7493
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="returnvalue">gnutls_credentials_type_t</span></a>  gnutls_auth_server_get_type  (<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>
9085
7494
<p>
9086
7495
</p>
9087
7496
<div class="variablelist"><table border="0">
9089
7498
<tbody>
9090
7499
<tr>
9091
7500
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9092
 
<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.
 
7501
<td>
9093
7502
</td>
9094
7503
</tr>
9095
7504
<tr>
9096
7505
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9097
 
<td> The type of credentials for the server authentication
9098
 
  schema, a <a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type.
 
7506
<td>
9099
7507
</td>
9100
7508
</tr>
9101
7509
</tbody>
9104
7512
<hr>
9105
7513
<div class="refsect2" title="gnutls_auth_client_get_type ()">
9106
7514
<a name="gnutls-auth-client-get-type"></a><h3>gnutls_auth_client_get_type ()</h3>
9107
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t">gnutls_credentials_type_t</a>  gnutls_auth_client_get_type  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9108
 
<p>
9109
 
Returns the type of credentials that were used for client authentication.
9110
 
The returned information is to be used to distinguish the function used
9111
 
to access authentication data.</p>
 
7515
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="returnvalue">gnutls_credentials_type_t</span></a>  gnutls_auth_client_get_type  (<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>
9112
7516
<p>
9113
7517
</p>
9114
7518
<div class="variablelist"><table border="0">
9116
7520
<tbody>
9117
7521
<tr>
9118
7522
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9119
 
<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.
 
7523
<td>
9120
7524
</td>
9121
7525
</tr>
9122
7526
<tr>
9123
7527
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9124
 
<td> The type of credentials for the client authentication
9125
 
  schema, a <a class="link" href="gnutls-gnutls.html#gnutls-credentials-type-t" title="enum gnutls_credentials_type_t"><span class="type">gnutls_credentials_type_t</span></a> type.
 
7528
<td>
9126
7529
</td>
9127
7530
</tr>
9128
7531
</tbody>
9131
7534
<hr>
9132
7535
<div class="refsect2" title="gnutls_dh_set_prime_bits ()">
9133
7536
<a name="gnutls-dh-set-prime-bits"></a><h3>gnutls_dh_set_prime_bits ()</h3>
9134
 
<pre class="programlisting">void                gnutls_dh_set_prime_bits            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9135
 
                                                         unsigned int bits);</pre>
9136
 
<p>
9137
 
This function sets the number of bits, for use in an Diffie-Hellman
9138
 
key exchange.  This is used both in DH ephemeral and DH anonymous
9139
 
cipher suites.  This will set the minimum size of the prime that
9140
 
will be used for the handshake.
9141
 
</p>
9142
 
<p>
9143
 
In the client side it sets the minimum accepted number of bits.  If
9144
 
a server sends a prime with less bits than that
9145
 
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-DH-PRIME-UNACCEPTABLE--CAPS" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE"><code class="literal">GNUTLS_E_DH_PRIME_UNACCEPTABLE</code></a> will be returned by the handshake.
9146
 
</p>
9147
 
<p>
9148
 
This function has no effect in server side.</p>
 
7537
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_dh_set_prime_bits            (<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>,
 
7538
                                                         <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>
9149
7539
<p>
9150
7540
</p>
9151
7541
<div class="variablelist"><table border="0">
9153
7543
<tbody>
9154
7544
<tr>
9155
7545
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9156
 
<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.
 
7546
<td>
9157
7547
</td>
9158
7548
</tr>
9159
7549
<tr>
9160
7550
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
9161
 
<td> is the number of bits
 
7551
<td>
9162
7552
</td>
9163
7553
</tr>
9164
7554
</tbody>
9167
7557
<hr>
9168
7558
<div class="refsect2" title="gnutls_dh_get_secret_bits ()">
9169
7559
<a name="gnutls-dh-get-secret-bits"></a><h3>gnutls_dh_get_secret_bits ()</h3>
9170
 
<pre class="programlisting">int                 gnutls_dh_get_secret_bits           (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9171
 
<p>
9172
 
This function will return the bits used in the last Diffie-Hellman
9173
 
authentication with the peer.  Should be used for both anonymous
9174
 
and ephemeral Diffie-Hellman.</p>
 
7560
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_get_secret_bits           (<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>
9175
7561
<p>
9176
7562
</p>
9177
7563
<div class="variablelist"><table border="0">
9179
7565
<tbody>
9180
7566
<tr>
9181
7567
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9182
 
<td> is a gnutls session
 
7568
<td>
9183
7569
</td>
9184
7570
</tr>
9185
7571
<tr>
9186
7572
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9187
 
<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
9188
 
  an error code is returned.
 
7573
<td>
9189
7574
</td>
9190
7575
</tr>
9191
7576
</tbody>
9194
7579
<hr>
9195
7580
<div class="refsect2" title="gnutls_dh_get_peers_public_bits ()">
9196
7581
<a name="gnutls-dh-get-peers-public-bits"></a><h3>gnutls_dh_get_peers_public_bits ()</h3>
9197
 
<pre class="programlisting">int                 gnutls_dh_get_peers_public_bits     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9198
 
<p>
9199
 
Get the Diffie-Hellman public key bit size.  Can be used for both
9200
 
anonymous and ephemeral Diffie-Hellman.</p>
 
7582
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_get_peers_public_bits     (<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>
9201
7583
<p>
9202
7584
</p>
9203
7585
<div class="variablelist"><table border="0">
9205
7587
<tbody>
9206
7588
<tr>
9207
7589
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9208
 
<td> is a gnutls session
 
7590
<td>
9209
7591
</td>
9210
7592
</tr>
9211
7593
<tr>
9212
7594
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9213
 
<td> the public key bit size used in the last Diffie-Hellman
9214
 
authentication with the peer, or a negative value in case of error.
 
7595
<td>
9215
7596
</td>
9216
7597
</tr>
9217
7598
</tbody>
9220
7601
<hr>
9221
7602
<div class="refsect2" title="gnutls_dh_get_prime_bits ()">
9222
7603
<a name="gnutls-dh-get-prime-bits"></a><h3>gnutls_dh_get_prime_bits ()</h3>
9223
 
<pre class="programlisting">int                 gnutls_dh_get_prime_bits            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9224
 
<p>
9225
 
This function will return the bits of the prime used in the last
9226
 
Diffie-Hellman authentication with the peer.  Should be used for
9227
 
both anonymous and ephemeral Diffie-Hellman.  Note that some
9228
 
ciphers, like RSA and DSA without DHE, does not use a
9229
 
Diffie-Hellman exchange, and then this function will return 0.</p>
 
7604
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_get_prime_bits            (<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>
9230
7605
<p>
9231
7606
</p>
9232
7607
<div class="variablelist"><table border="0">
9234
7609
<tbody>
9235
7610
<tr>
9236
7611
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9237
 
<td> is a gnutls session
 
7612
<td>
9238
7613
</td>
9239
7614
</tr>
9240
7615
<tr>
9241
7616
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9242
 
<td> The Diffie-Hellman bit strength is returned, or 0 if no
9243
 
  Diffie-Hellman exchange was done, or a negative error code on
9244
 
  failure.
 
7617
<td>
9245
7618
</td>
9246
7619
</tr>
9247
7620
</tbody>
9250
7623
<hr>
9251
7624
<div class="refsect2" title="gnutls_dh_get_group ()">
9252
7625
<a name="gnutls-dh-get-group"></a><h3>gnutls_dh_get_group ()</h3>
9253
 
<pre class="programlisting">int                 gnutls_dh_get_group                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9254
 
                                                         gnutls_datum_t *raw_gen,
9255
 
                                                         gnutls_datum_t *raw_prime);</pre>
9256
 
<p>
9257
 
This function will return the group parameters used in the last
9258
 
Diffie-Hellman authentication with the peer.  These are the prime
9259
 
and the generator used.  This function should be used for both
9260
 
anonymous and ephemeral Diffie-Hellman.  The output parameters must
9261
 
be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a>.</p>
 
7626
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_get_group                 (<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>,
 
7627
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *raw_gen</code></em>,
 
7628
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *raw_prime</code></em>);</pre>
9262
7629
<p>
9263
7630
</p>
9264
7631
<div class="variablelist"><table border="0">
9266
7633
<tbody>
9267
7634
<tr>
9268
7635
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9269
 
<td> is a gnutls session
 
7636
<td>
9270
7637
</td>
9271
7638
</tr>
9272
7639
<tr>
9273
7640
<td><p><span class="term"><em class="parameter"><code>raw_gen</code></em> :</span></p></td>
9274
 
<td> will hold the generator.
 
7641
<td>
9275
7642
</td>
9276
7643
</tr>
9277
7644
<tr>
9278
7645
<td><p><span class="term"><em class="parameter"><code>raw_prime</code></em> :</span></p></td>
9279
 
<td> will hold the prime.
 
7646
<td>
9280
7647
</td>
9281
7648
</tr>
9282
7649
<tr>
9283
7650
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9284
 
<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
9285
 
  an error code is returned.
 
7651
<td>
9286
7652
</td>
9287
7653
</tr>
9288
7654
</tbody>
9291
7657
<hr>
9292
7658
<div class="refsect2" title="gnutls_dh_get_pubkey ()">
9293
7659
<a name="gnutls-dh-get-pubkey"></a><h3>gnutls_dh_get_pubkey ()</h3>
9294
 
<pre class="programlisting">int                 gnutls_dh_get_pubkey                (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9295
 
                                                         gnutls_datum_t *raw_key);</pre>
9296
 
<p>
9297
 
This function will return the peer's public key used in the last
9298
 
Diffie-Hellman authentication.  This function should be used for
9299
 
both anonymous and ephemeral Diffie-Hellman.  The output parameters
9300
 
must be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a>.</p>
 
7660
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_dh_get_pubkey                (<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>,
 
7661
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *raw_key</code></em>);</pre>
9301
7662
<p>
9302
7663
</p>
9303
7664
<div class="variablelist"><table border="0">
9305
7666
<tbody>
9306
7667
<tr>
9307
7668
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9308
 
<td> is a gnutls session
 
7669
<td>
9309
7670
</td>
9310
7671
</tr>
9311
7672
<tr>
9312
7673
<td><p><span class="term"><em class="parameter"><code>raw_key</code></em> :</span></p></td>
9313
 
<td> will hold the public key.
 
7674
<td>
9314
7675
</td>
9315
7676
</tr>
9316
7677
<tr>
9317
7678
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9318
 
<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
9319
 
  an error code is returned.
 
7679
<td>
9320
7680
</td>
9321
7681
</tr>
9322
7682
</tbody>
9325
7685
<hr>
9326
7686
<div class="refsect2" title="gnutls_rsa_export_get_pubkey ()">
9327
7687
<a name="gnutls-rsa-export-get-pubkey"></a><h3>gnutls_rsa_export_get_pubkey ()</h3>
9328
 
<pre class="programlisting">int                 gnutls_rsa_export_get_pubkey        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9329
 
                                                         gnutls_datum_t *exponent,
9330
 
                                                         gnutls_datum_t *modulus);</pre>
9331
 
<p>
9332
 
This function will return the peer's public key exponent and
9333
 
modulus used in the last RSA-EXPORT authentication.  The output
9334
 
parameters must be freed with <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a>.</p>
 
7688
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_export_get_pubkey        (<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>,
 
7689
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *exponent</code></em>,
 
7690
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *modulus</code></em>);</pre>
9335
7691
<p>
9336
7692
</p>
9337
7693
<div class="variablelist"><table border="0">
9339
7695
<tbody>
9340
7696
<tr>
9341
7697
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9342
 
<td> is a gnutls session
 
7698
<td>
9343
7699
</td>
9344
7700
</tr>
9345
7701
<tr>
9346
7702
<td><p><span class="term"><em class="parameter"><code>exponent</code></em> :</span></p></td>
9347
 
<td> will hold the exponent.
 
7703
<td>
9348
7704
</td>
9349
7705
</tr>
9350
7706
<tr>
9351
7707
<td><p><span class="term"><em class="parameter"><code>modulus</code></em> :</span></p></td>
9352
 
<td> will hold the modulus.
 
7708
<td>
9353
7709
</td>
9354
7710
</tr>
9355
7711
<tr>
9356
7712
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9357
 
<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
9358
 
  an error code is returned.
 
7713
<td>
9359
7714
</td>
9360
7715
</tr>
9361
7716
</tbody>
9364
7719
<hr>
9365
7720
<div class="refsect2" title="gnutls_rsa_export_get_modulus_bits ()">
9366
7721
<a name="gnutls-rsa-export-get-modulus-bits"></a><h3>gnutls_rsa_export_get_modulus_bits ()</h3>
9367
 
<pre class="programlisting">int                 gnutls_rsa_export_get_modulus_bits  (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9368
 
<p>
9369
 
Get the export RSA parameter's modulus size.</p>
 
7722
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_rsa_export_get_modulus_bits  (<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>
9370
7723
<p>
9371
7724
</p>
9372
7725
<div class="variablelist"><table border="0">
9374
7727
<tbody>
9375
7728
<tr>
9376
7729
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9377
 
<td> is a gnutls session
 
7730
<td>
9378
7731
</td>
9379
7732
</tr>
9380
7733
<tr>
9381
7734
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9382
 
<td> the bits used in the last RSA-EXPORT key exchange with the
9383
 
  peer, or a negative value in case of error.
 
7735
<td>
9384
7736
</td>
9385
7737
</tr>
9386
7738
</tbody>
9389
7741
<hr>
9390
7742
<div class="refsect2" title="gnutls_sign_func ()">
9391
7743
<a name="gnutls-sign-func"></a><h3>gnutls_sign_func ()</h3>
9392
 
<pre class="programlisting">int                 (*gnutls_sign_func)                 (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9393
 
                                                         void *userdata,
9394
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t">gnutls_certificate_type_t</a> cert_type,
9395
 
                                                         const gnutls_datum_t *cert,
9396
 
                                                         const gnutls_datum_t *hash,
9397
 
                                                         gnutls_datum_t *signature);</pre>
 
7744
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 (*gnutls_sign_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>,
 
7745
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>,
 
7746
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-type-t" title="enum gnutls_certificate_type_t"><span class="type">gnutls_certificate_type_t</span></a> cert_type</code></em>,
 
7747
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
7748
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *hash</code></em>,
 
7749
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *signature</code></em>);</pre>
9398
7750
<p>
9399
7751
</p>
9400
7752
<div class="variablelist"><table border="0">
9441
7793
<hr>
9442
7794
<div class="refsect2" title="gnutls_sign_callback_set ()">
9443
7795
<a name="gnutls-sign-callback-set"></a><h3>gnutls_sign_callback_set ()</h3>
9444
 
<pre class="programlisting">void                gnutls_sign_callback_set            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9445
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()">gnutls_sign_func</a> sign_func,
9446
 
                                                         void *userdata);</pre>
 
7796
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_sign_callback_set            (<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>,
 
7797
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()"><span class="type">gnutls_sign_func</span></a> sign_func</code></em>,
 
7798
                                                         <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre>
9447
7799
<p>
9448
7800
Set the callback function.  The function must have this prototype:
9449
7801
</p>
9459
7811
The <em class="parameter"><code>userdata</code></em> parameter is passed to the <em class="parameter"><code>sign_func</code></em> verbatim, and
9460
7812
can be used to store application-specific data needed in the
9461
7813
callback function.  See also <a class="link" href="gnutls-gnutls.html#gnutls-sign-callback-get" title="gnutls_sign_callback_get ()"><code class="function">gnutls_sign_callback_get()</code></a>.</p>
9462
 
<p>
9463
 
</p>
9464
7814
<div class="variablelist"><table border="0">
9465
7815
<col align="left" valign="top">
9466
7816
<tbody>
9467
7817
<tr>
9468
7818
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9469
 
<td> is a gnutls session
 
7819
<td>is a gnutls session
9470
7820
</td>
9471
7821
</tr>
9472
7822
<tr>
9473
7823
<td><p><span class="term"><em class="parameter"><code>sign_func</code></em> :</span></p></td>
9474
 
<td> function pointer to application's sign callback.
 
7824
<td>function pointer to application's sign callback.
9475
7825
</td>
9476
7826
</tr>
9477
7827
<tr>
9478
7828
<td><p><span class="term"><em class="parameter"><code>userdata</code></em> :</span></p></td>
9479
 
<td> void pointer that will be passed to sign callback.
 
7829
<td>void pointer that will be passed to sign callback.
9480
7830
</td>
9481
7831
</tr>
9482
7832
</tbody>
9485
7835
<hr>
9486
7836
<div class="refsect2" title="gnutls_sign_callback_get ()">
9487
7837
<a name="gnutls-sign-callback-get"></a><h3>gnutls_sign_callback_get ()</h3>
9488
 
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()">gnutls_sign_func</a>    gnutls_sign_callback_get            (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9489
 
                                                         void **userdata);</pre>
 
7838
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-sign-func" title="gnutls_sign_func ()"><span class="returnvalue">gnutls_sign_func</span></a>    gnutls_sign_callback_get            (<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>,
 
7839
                                                         <em class="parameter"><code><span class="type">void</span> **userdata</code></em>);</pre>
9490
7840
<p>
9491
7841
Retrieve the callback function, and its userdata pointer.</p>
9492
 
<p>
9493
 
</p>
9494
7842
<div class="variablelist"><table border="0">
9495
7843
<col align="left" valign="top">
9496
7844
<tbody>
9497
7845
<tr>
9498
7846
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9499
 
<td> is a gnutls session
 
7847
<td>is a gnutls session
9500
7848
</td>
9501
7849
</tr>
9502
7850
<tr>
9503
7851
<td><p><span class="term"><em class="parameter"><code>userdata</code></em> :</span></p></td>
9504
 
<td> if non-<code class="literal">NULL</code>, will be set to abstract callback pointer.
 
7852
<td>if non-<code class="literal">NULL</code>, will be set to abstract callback pointer.
9505
7853
</td>
9506
7854
</tr>
9507
7855
<tr>
9516
7864
<hr>
9517
7865
<div class="refsect2" title="gnutls_certificate_client_set_retrieve_function ()">
9518
7866
<a name="gnutls-certificate-client-set-retrieve-function"></a><h3>gnutls_certificate_client_set_retrieve_function ()</h3>
9519
 
<pre class="programlisting">void                gnutls_certificate_client_set_retrieve_function
9520
 
                                                        (gnutls_certificate_credentials_t cred,
9521
 
                                                         gnutls_certificate_client_retrieve_function *func);</pre>
9522
 
<p>
9523
 
This function sets a callback to be called in order to retrieve the certificate
9524
 
to be used in the handshake.
9525
 
The callback's function prototype is:
9526
 
int (*callback)(gnutls_session_t, const gnutls_datum_t* req_ca_dn, int nreqs, 
9527
 
const gnutls_pk_algorithm_t* pk_algos, int pk_algos_length, gnutls_retr_st* st);
9528
 
</p>
9529
 
<p>
9530
 
<em class="parameter"><code>req_ca_cert</code></em> is only used in X.509 certificates. 
9531
 
Contains a list with the CA names that the server considers trusted. 
9532
 
Normally we should send a certificate that is signed
9533
 
by one of these CAs. These names are DER encoded. To get a more
9534
 
meaningful value use the function <a class="link" href="gnutls-x509.html#gnutls-x509-rdn-get" title="gnutls_x509_rdn_get ()"><code class="function">gnutls_x509_rdn_get()</code></a>.
9535
 
</p>
9536
 
<p>
9537
 
<em class="parameter"><code>pk_algos</code></em> contains a list with server's acceptable signature algorithms.
9538
 
The certificate returned should support the server's given algorithms.
9539
 
</p>
9540
 
<p>
9541
 
<em class="parameter"><code>st</code></em> should contain the certificates and private keys.
9542
 
</p>
9543
 
<p>
9544
 
If the callback function is provided then gnutls will call it, in the
9545
 
handshake, after the certificate request message has been received.
9546
 
</p>
9547
 
<p>
9548
 
The callback function should set the certificate list to be sent, and
9549
 
return 0 on success. If no certificate was selected then the number of certificates
9550
 
should be set to zero. The value (-1) indicates error and the handshake
9551
 
will be terminated.</p>
 
7867
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_client_set_retrieve_function
 
7868
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>,
 
7869
                                                         <em class="parameter"><code><span class="type">gnutls_certificate_client_retrieve_function</span> *func</code></em>);</pre>
9552
7870
<p>
9553
7871
</p>
9554
7872
<div class="variablelist"><table border="0">
9556
7874
<tbody>
9557
7875
<tr>
9558
7876
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
9559
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
7877
<td>
9560
7878
</td>
9561
7879
</tr>
9562
7880
<tr>
9563
7881
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
9564
 
<td> is the callback function
 
7882
<td>
9565
7883
</td>
9566
7884
</tr>
9567
7885
</tbody>
9570
7888
<hr>
9571
7889
<div class="refsect2" title="gnutls_certificate_server_set_retrieve_function ()">
9572
7890
<a name="gnutls-certificate-server-set-retrieve-function"></a><h3>gnutls_certificate_server_set_retrieve_function ()</h3>
9573
 
<pre class="programlisting">void                gnutls_certificate_server_set_retrieve_function
9574
 
                                                        (gnutls_certificate_credentials_t cred,
9575
 
                                                         gnutls_certificate_server_retrieve_function *func);</pre>
9576
 
<p>
9577
 
This function sets a callback to be called in order to retrieve the certificate
9578
 
to be used in the handshake.
9579
 
The callback's function prototype is:
9580
 
int (*callback)(gnutls_session_t, gnutls_retr_st* st);
9581
 
</p>
9582
 
<p>
9583
 
<em class="parameter"><code>st</code></em> should contain the certificates and private keys.
9584
 
</p>
9585
 
<p>
9586
 
If the callback function is provided then gnutls will call it, in the
9587
 
handshake, after the certificate request message has been received.
9588
 
</p>
9589
 
<p>
9590
 
The callback function should set the certificate list to be sent, and
9591
 
return 0 on success.  The value (-1) indicates error and the handshake
9592
 
will be terminated.</p>
 
7891
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_server_set_retrieve_function
 
7892
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> cred</code></em>,
 
7893
                                                         <em class="parameter"><code><span class="type">gnutls_certificate_server_retrieve_function</span> *func</code></em>);</pre>
9593
7894
<p>
9594
7895
</p>
9595
7896
<div class="variablelist"><table border="0">
9597
7898
<tbody>
9598
7899
<tr>
9599
7900
<td><p><span class="term"><em class="parameter"><code>cred</code></em> :</span></p></td>
9600
 
<td> is a <span class="type">gnutls_certificate_credentials_t</span> structure.
 
7901
<td>
9601
7902
</td>
9602
7903
</tr>
9603
7904
<tr>
9604
7905
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
9605
 
<td> is the callback function
 
7906
<td>
9606
7907
</td>
9607
7908
</tr>
9608
7909
</tbody>
9611
7912
<hr>
9612
7913
<div class="refsect2" title="gnutls_certificate_server_set_request ()">
9613
7914
<a name="gnutls-certificate-server-set-request"></a><h3>gnutls_certificate_server_set_request ()</h3>
9614
 
<pre class="programlisting">void                gnutls_certificate_server_set_request
9615
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9616
 
                                                         <a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t">gnutls_certificate_request_t</a> req);</pre>
9617
 
<p>
9618
 
This function specifies if we (in case of a server) are going
9619
 
to send a certificate request message to the client. If <em class="parameter"><code>req</code></em>
9620
 
is GNUTLS_CERT_REQUIRE then the server will return an error if
9621
 
the peer does not provide a certificate. If you do not
9622
 
call this function then the client will not be asked to
9623
 
send a certificate.</p>
 
7915
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_server_set_request
 
7916
                                                        (<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>,
 
7917
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-request-t" title="enum gnutls_certificate_request_t"><span class="type">gnutls_certificate_request_t</span></a> req</code></em>);</pre>
9624
7918
<p>
9625
7919
</p>
9626
7920
<div class="variablelist"><table border="0">
9628
7922
<tbody>
9629
7923
<tr>
9630
7924
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9631
 
<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.
 
7925
<td>
9632
7926
</td>
9633
7927
</tr>
9634
7928
<tr>
9635
7929
<td><p><span class="term"><em class="parameter"><code>req</code></em> :</span></p></td>
9636
 
<td> is one of GNUTLS_CERT_REQUEST, GNUTLS_CERT_REQUIRE
 
7930
<td>
9637
7931
</td>
9638
7932
</tr>
9639
7933
</tbody>
9642
7936
<hr>
9643
7937
<div class="refsect2" title="gnutls_certificate_get_peers ()">
9644
7938
<a name="gnutls-certificate-get-peers"></a><h3>gnutls_certificate_get_peers ()</h3>
9645
 
<pre class="programlisting">const gnutls_datum_t * gnutls_certificate_get_peers     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9646
 
                                                         unsigned int *list_size);</pre>
9647
 
<p>
9648
 
Get the peer's raw certificate (chain) as sent by the peer.  These
9649
 
certificates are in raw format (DER encoded for X.509).  In case of
9650
 
a X.509 then a certificate list may be present.  The first
9651
 
certificate in the list is the peer's certificate, following the
9652
 
issuer's certificate, then the issuer's issuer etc.
9653
 
</p>
9654
 
<p>
9655
 
In case of OpenPGP keys a single key will be returned in raw
9656
 
format.</p>
 
7939
<pre class="programlisting">const <span class="returnvalue">gnutls_datum_t</span> * gnutls_certificate_get_peers     (<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>,
 
7940
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *list_size</code></em>);</pre>
9657
7941
<p>
9658
7942
</p>
9659
7943
<div class="variablelist"><table border="0">
9661
7945
<tbody>
9662
7946
<tr>
9663
7947
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9664
 
<td> is a gnutls session
 
7948
<td>
9665
7949
</td>
9666
7950
</tr>
9667
7951
<tr>
9668
7952
<td><p><span class="term"><em class="parameter"><code>list_size</code></em> :</span></p></td>
9669
 
<td> is the length of the certificate list
 
7953
<td>
9670
7954
</td>
9671
7955
</tr>
9672
7956
<tr>
9673
7957
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9674
 
<td> return a pointer to a <span class="type">gnutls_datum_t</span> containing our
9675
 
  certificates, or <code class="literal">NULL</code> in case of an error or if no certificate
9676
 
  was used.
 
7958
<td>
9677
7959
</td>
9678
7960
</tr>
9679
7961
</tbody>
9682
7964
<hr>
9683
7965
<div class="refsect2" title="gnutls_certificate_get_ours ()">
9684
7966
<a name="gnutls-certificate-get-ours"></a><h3>gnutls_certificate_get_ours ()</h3>
9685
 
<pre class="programlisting">const gnutls_datum_t * gnutls_certificate_get_ours      (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9686
 
<p>
9687
 
Get the certificate as sent to the peer, in the last handshake.
9688
 
These certificates are in raw format.  In X.509 this is a
9689
 
certificate list. In OpenPGP this is a single certificate.</p>
 
7967
<pre class="programlisting">const <span class="returnvalue">gnutls_datum_t</span> * gnutls_certificate_get_ours      (<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>
9690
7968
<p>
9691
7969
</p>
9692
7970
<div class="variablelist"><table border="0">
9694
7972
<tbody>
9695
7973
<tr>
9696
7974
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9697
 
<td> is a gnutls session
 
7975
<td>
9698
7976
</td>
9699
7977
</tr>
9700
7978
<tr>
9701
7979
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9702
 
<td> return a pointer to a <span class="type">gnutls_datum_t</span> containing our
9703
 
  certificates, or <code class="literal">NULL</code> in case of an error or if no certificate
9704
 
  was used.
 
7980
<td>
9705
7981
</td>
9706
7982
</tr>
9707
7983
</tbody>
9710
7986
<hr>
9711
7987
<div class="refsect2" title="gnutls_certificate_activation_time_peers ()">
9712
7988
<a name="gnutls-certificate-activation-time-peers"></a><h3>gnutls_certificate_activation_time_peers ()</h3>
9713
 
<pre class="programlisting">time_t              gnutls_certificate_activation_time_peers
9714
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9715
 
<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
9716
 
<h3 class="title">Warning</h3>
9717
 
<p><code class="literal">gnutls_certificate_activation_time_peers</code> is deprecated and should not be used in newly-written code. <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a> now verifies activation times.</p>
9718
 
</div>
9719
 
<p>
9720
 
This function will return the peer's certificate activation time.
9721
 
This is the creation time for openpgp keys.</p>
 
7989
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_certificate_activation_time_peers
 
7990
                                                        (<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>
9722
7991
<p>
9723
7992
</p>
9724
7993
<div class="variablelist"><table border="0">
9726
7995
<tbody>
9727
7996
<tr>
9728
7997
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9729
 
<td> is a gnutls session
 
7998
<td>
9730
7999
</td>
9731
8000
</tr>
9732
8001
<tr>
9733
8002
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9734
 
<td> (time_t)-1 on error.
9735
 
 
 
8003
<td>
9736
8004
</td>
9737
8005
</tr>
9738
8006
</tbody>
9741
8009
<hr>
9742
8010
<div class="refsect2" title="gnutls_certificate_expiration_time_peers ()">
9743
8011
<a name="gnutls-certificate-expiration-time-peers"></a><h3>gnutls_certificate_expiration_time_peers ()</h3>
9744
 
<pre class="programlisting">time_t              gnutls_certificate_expiration_time_peers
9745
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9746
 
<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
9747
 
<h3 class="title">Warning</h3>
9748
 
<p><code class="literal">gnutls_certificate_expiration_time_peers</code> is deprecated and should not be used in newly-written code. <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a> now verifies expiration times.</p>
9749
 
</div>
9750
 
<p>
9751
 
This function will return the peer's certificate expiration time.</p>
 
8012
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_certificate_expiration_time_peers
 
8013
                                                        (<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>
9752
8014
<p>
9753
8015
</p>
9754
8016
<div class="variablelist"><table border="0">
9756
8018
<tbody>
9757
8019
<tr>
9758
8020
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9759
 
<td> is a gnutls session
 
8021
<td>
9760
8022
</td>
9761
8023
</tr>
9762
8024
<tr>
9763
8025
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9764
 
<td> (time_t)-1 on error.
9765
 
 
 
8026
<td>
9766
8027
</td>
9767
8028
</tr>
9768
8029
</tbody>
9771
8032
<hr>
9772
8033
<div class="refsect2" title="gnutls_certificate_client_get_request_status ()">
9773
8034
<a name="gnutls-certificate-client-get-request-status"></a><h3>gnutls_certificate_client_get_request_status ()</h3>
9774
 
<pre class="programlisting">int                 gnutls_certificate_client_get_request_status
9775
 
                                                        (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9776
 
<p>
9777
 
Get whether client certificate is requested or not.</p>
 
8035
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_client_get_request_status
 
8036
                                                        (<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>
9778
8037
<p>
9779
8038
</p>
9780
8039
<div class="variablelist"><table border="0">
9782
8041
<tbody>
9783
8042
<tr>
9784
8043
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9785
 
<td> is a gnutls session
 
8044
<td>
9786
8045
</td>
9787
8046
</tr>
9788
8047
<tr>
9789
8048
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9790
 
<td> 0 if the peer (server) did not request client
9791
 
authentication or 1 otherwise, or a negative value in case of
9792
 
error.
 
8049
<td>
9793
8050
</td>
9794
8051
</tr>
9795
8052
</tbody>
9798
8055
<hr>
9799
8056
<div class="refsect2" title="gnutls_certificate_verify_peers2 ()">
9800
8057
<a name="gnutls-certificate-verify-peers2"></a><h3>gnutls_certificate_verify_peers2 ()</h3>
9801
 
<pre class="programlisting">int                 gnutls_certificate_verify_peers2    (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session,
9802
 
                                                         unsigned int *status);</pre>
9803
 
<p>
9804
 
This function will try to verify the peer's certificate and return
9805
 
its status (trusted, invalid etc.).  The value of <em class="parameter"><code>status</code></em> should
9806
 
be one or more of the gnutls_certificate_status_t enumerated
9807
 
elements bitwise or'd. To avoid denial of service attacks some
9808
 
default upper limits regarding the certificate key size and chain
9809
 
size are set. To override them use
9810
 
<a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-limits" title="gnutls_certificate_set_verify_limits ()"><code class="function">gnutls_certificate_set_verify_limits()</code></a>.
9811
 
</p>
9812
 
<p>
9813
 
Note that you must also check the peer's name in order to check if
9814
 
the verified certificate belongs to the actual peer.
9815
 
</p>
9816
 
<p>
9817
 
This function uses <a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-verify" title="gnutls_x509_crt_list_verify ()"><code class="function">gnutls_x509_crt_list_verify()</code></a> with the CAs in
9818
 
the credentials as trusted CAs.
9819
 
</p>
9820
 
<p>
9821
 
Note that some commonly used X.509 Certificate Authorities are
9822
 
still using Version 1 certificates.  If you want to accept them,
9823
 
you need to call <a class="link" href="gnutls-gnutls.html#gnutls-certificate-set-verify-flags" title="gnutls_certificate_set_verify_flags ()"><code class="function">gnutls_certificate_set_verify_flags()</code></a> with, e.g.,
9824
 
<code class="literal">GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT</code> parameter.</p>
 
8058
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_verify_peers2    (<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>,
 
8059
                                                         <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> *status</code></em>);</pre>
9825
8060
<p>
9826
8061
</p>
9827
8062
<div class="variablelist"><table border="0">
9829
8064
<tbody>
9830
8065
<tr>
9831
8066
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9832
 
<td> is a gnutls session
 
8067
<td>
9833
8068
</td>
9834
8069
</tr>
9835
8070
<tr>
9836
8071
<td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
9837
 
<td> is the output of the verification
 
8072
<td>
9838
8073
</td>
9839
8074
</tr>
9840
8075
<tr>
9841
8076
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9842
 
<td> a negative error code on error and zero on success.
 
8077
<td>
9843
8078
</td>
9844
8079
</tr>
9845
8080
</tbody>
9848
8083
<hr>
9849
8084
<div class="refsect2" title="gnutls_certificate_verify_peers ()">
9850
8085
<a name="gnutls-certificate-verify-peers"></a><h3>gnutls_certificate_verify_peers ()</h3>
9851
 
<pre class="programlisting">int                 gnutls_certificate_verify_peers     (<a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t">gnutls_session_t</a> session);</pre>
9852
 
<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
9853
 
<h3 class="title">Warning</h3>
9854
 
<p><code class="literal">gnutls_certificate_verify_peers</code> is deprecated and should not be used in newly-written code. Use <a class="link" href="gnutls-gnutls.html#gnutls-certificate-verify-peers2" title="gnutls_certificate_verify_peers2 ()"><code class="function">gnutls_certificate_verify_peers2()</code></a> instead.</p>
9855
 
</div>
9856
 
<p>
9857
 
This function will try to verify the peer's certificate and return
9858
 
its status (trusted, invalid etc.).  However you must also check
9859
 
the peer's name in order to check if the verified certificate
9860
 
belongs to the actual peer.
9861
 
</p>
9862
 
<p>
9863
 
This function uses <a class="link" href="gnutls-x509.html#gnutls-x509-crt-list-verify" title="gnutls_x509_crt_list_verify ()"><code class="function">gnutls_x509_crt_list_verify()</code></a>.</p>
 
8086
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_certificate_verify_peers     (<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>
9864
8087
<p>
9865
8088
</p>
9866
8089
<div class="variablelist"><table border="0">
9868
8091
<tbody>
9869
8092
<tr>
9870
8093
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
9871
 
<td> is a gnutls session
 
8094
<td>
9872
8095
</td>
9873
8096
</tr>
9874
8097
<tr>
9875
8098
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9876
 
<td> one or more of the <a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t"><span class="type">gnutls_certificate_status_t</span></a>
9877
 
enumerated elements bitwise or'd, or a negative value on error.
9878
 
 
 
8099
<td>
9879
8100
</td>
9880
8101
</tr>
9881
8102
</tbody>
9884
8105
<hr>
9885
8106
<div class="refsect2" title="gnutls_pem_base64_encode ()">
9886
8107
<a name="gnutls-pem-base64-encode"></a><h3>gnutls_pem_base64_encode ()</h3>
9887
 
<pre class="programlisting">int                 gnutls_pem_base64_encode            (const char *msg,
9888
 
                                                         const gnutls_datum_t *data,
9889
 
                                                         char *result,
9890
 
                                                         size_t *result_size);</pre>
9891
 
<p>
9892
 
This function will convert the given data to printable data, using
9893
 
the base64 encoding. This is the encoding used in PEM messages.
9894
 
</p>
9895
 
<p>
9896
 
The output string will be null terminated, although the size will
9897
 
not include the terminating null.</p>
 
8108
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pem_base64_encode            (<em class="parameter"><code>const <span class="type">char</span> *msg</code></em>,
 
8109
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
8110
                                                         <em class="parameter"><code><span class="type">char</span> *result</code></em>,
 
8111
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
9898
8112
<p>
9899
8113
</p>
9900
8114
<div class="variablelist"><table border="0">
9902
8116
<tbody>
9903
8117
<tr>
9904
8118
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
9905
 
<td> is a message to be put in the header
 
8119
<td>
9906
8120
</td>
9907
8121
</tr>
9908
8122
<tr>
9909
8123
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
9910
 
<td> contain the raw data
 
8124
<td>
9911
8125
</td>
9912
8126
</tr>
9913
8127
<tr>
9914
8128
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
9915
 
<td> the place where base64 data will be copied
 
8129
<td>
9916
8130
</td>
9917
8131
</tr>
9918
8132
<tr>
9919
8133
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
9920
 
<td> holds the size of the result
 
8134
<td>
9921
8135
</td>
9922
8136
</tr>
9923
8137
<tr>
9924
8138
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9925
 
<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,
9926
 
  <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned if the buffer given is
9927
 
  not long enough, or 0 on success.
 
8139
<td>
9928
8140
</td>
9929
8141
</tr>
9930
8142
</tbody>
9933
8145
<hr>
9934
8146
<div class="refsect2" title="gnutls_pem_base64_decode ()">
9935
8147
<a name="gnutls-pem-base64-decode"></a><h3>gnutls_pem_base64_decode ()</h3>
9936
 
<pre class="programlisting">int                 gnutls_pem_base64_decode            (const char *header,
9937
 
                                                         const gnutls_datum_t *b64_data,
9938
 
                                                         unsigned char *result,
9939
 
                                                         size_t *result_size);</pre>
9940
 
<p>
9941
 
This function will decode the given encoded data.  If the header
9942
 
given is non null this function will search for "-----BEGIN header"
9943
 
and decode only this part.  Otherwise it will decode the first PEM
9944
 
packet found.</p>
 
8148
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pem_base64_decode            (<em class="parameter"><code>const <span class="type">char</span> *header</code></em>,
 
8149
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
8150
                                                         <em class="parameter"><code>unsigned <span class="type">char</span> *result</code></em>,
 
8151
                                                         <em class="parameter"><code><span class="type">size_t</span> *result_size</code></em>);</pre>
9945
8152
<p>
9946
8153
</p>
9947
8154
<div class="variablelist"><table border="0">
9949
8156
<tbody>
9950
8157
<tr>
9951
8158
<td><p><span class="term"><em class="parameter"><code>header</code></em> :</span></p></td>
9952
 
<td> A null terminated string with the PEM header (eg. CERTIFICATE)
 
8159
<td>
9953
8160
</td>
9954
8161
</tr>
9955
8162
<tr>
9956
8163
<td><p><span class="term"><em class="parameter"><code>b64_data</code></em> :</span></p></td>
9957
 
<td> contain the encoded data
 
8164
<td>
9958
8165
</td>
9959
8166
</tr>
9960
8167
<tr>
9961
8168
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
9962
 
<td> the place where decoded data will be copied
 
8169
<td>
9963
8170
</td>
9964
8171
</tr>
9965
8172
<tr>
9966
8173
<td><p><span class="term"><em class="parameter"><code>result_size</code></em> :</span></p></td>
9967
 
<td> holds the size of the result
 
8174
<td>
9968
8175
</td>
9969
8176
</tr>
9970
8177
<tr>
9971
8178
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
9972
 
<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,
9973
 
  <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> is returned if the buffer given is
9974
 
  not long enough, or 0 on success.
 
8179
<td>
9975
8180
</td>
9976
8181
</tr>
9977
8182
</tbody>
9980
8185
<hr>
9981
8186
<div class="refsect2" title="gnutls_pem_base64_encode_alloc ()">
9982
8187
<a name="gnutls-pem-base64-encode-alloc"></a><h3>gnutls_pem_base64_encode_alloc ()</h3>
9983
 
<pre class="programlisting">int                 gnutls_pem_base64_encode_alloc      (const char *msg,
9984
 
                                                         const gnutls_datum_t *data,
9985
 
                                                         gnutls_datum_t *result);</pre>
9986
 
<p>
9987
 
This function will convert the given data to printable data, using
9988
 
the base64 encoding.  This is the encoding used in PEM messages.
9989
 
This function will allocate the required memory to hold the encoded
9990
 
data.
9991
 
</p>
9992
 
<p>
9993
 
You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a> to free the returned data.</p>
 
8188
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pem_base64_encode_alloc      (<em class="parameter"><code>const <span class="type">char</span> *msg</code></em>,
 
8189
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
8190
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);</pre>
9994
8191
<p>
9995
8192
</p>
9996
8193
<div class="variablelist"><table border="0">
9998
8195
<tbody>
9999
8196
<tr>
10000
8197
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
10001
 
<td> is a message to be put in the encoded header
 
8198
<td>
10002
8199
</td>
10003
8200
</tr>
10004
8201
<tr>
10005
8202
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
10006
 
<td> contains the raw data
 
8203
<td>
10007
8204
</td>
10008
8205
</tr>
10009
8206
<tr>
10010
8207
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
10011
 
<td> will hold the newly allocated encoded data
 
8208
<td>
10012
8209
</td>
10013
8210
</tr>
10014
8211
<tr>
10015
8212
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
10016
 
<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
10017
 
  an error code is returned.
 
8213
<td>
10018
8214
</td>
10019
8215
</tr>
10020
8216
</tbody>
10023
8219
<hr>
10024
8220
<div class="refsect2" title="gnutls_pem_base64_decode_alloc ()">
10025
8221
<a name="gnutls-pem-base64-decode-alloc"></a><h3>gnutls_pem_base64_decode_alloc ()</h3>
10026
 
<pre class="programlisting">int                 gnutls_pem_base64_decode_alloc      (const char *header,
10027
 
                                                         const gnutls_datum_t *b64_data,
10028
 
                                                         gnutls_datum_t *result);</pre>
10029
 
<p>
10030
 
This function will decode the given encoded data. The decoded data
10031
 
will be allocated, and stored into result.  If the header given is
10032
 
non null this function will search for "-----BEGIN header" and
10033
 
decode only this part. Otherwise it will decode the first PEM
10034
 
packet found.
10035
 
</p>
10036
 
<p>
10037
 
You should use <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a> to free the returned data.</p>
 
8222
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pem_base64_decode_alloc      (<em class="parameter"><code>const <span class="type">char</span> *header</code></em>,
 
8223
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *b64_data</code></em>,
 
8224
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *result</code></em>);</pre>
10038
8225
<p>
10039
8226
</p>
10040
8227
<div class="variablelist"><table border="0">
10042
8229
<tbody>
10043
8230
<tr>
10044
8231
<td><p><span class="term"><em class="parameter"><code>header</code></em> :</span></p></td>
10045
 
<td> The PEM header (eg. CERTIFICATE)
 
8232
<td>
10046
8233
</td>
10047
8234
</tr>
10048
8235
<tr>
10049
8236
<td><p><span class="term"><em class="parameter"><code>b64_data</code></em> :</span></p></td>
10050
 
<td> contains the encoded data
 
8237
<td>
10051
8238
</td>
10052
8239
</tr>
10053
8240
<tr>
10054
8241
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
10055
 
<td> the place where decoded data lie
 
8242
<td>
10056
8243
</td>
10057
8244
</tr>
10058
8245
<tr>
10059
8246
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
10060
 
<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
10061
 
  an error code is returned.
 
8247
<td>
10062
8248
</td>
10063
8249
</tr>
10064
8250
</tbody>
10066
8252
</div>
10067
8253
<hr>
10068
8254
<div class="refsect2" title="GNUTLS_KEY_DIGITAL_SIGNATURE">
10069
 
<a name="GNUTLS-KEY-DIGITAL-SIGNATURE--CAPS"></a><h3>GNUTLS_KEY_DIGITAL_SIGNATURE</h3>
10070
 
<pre class="programlisting">#define GNUTLS_KEY_DIGITAL_SIGNATURE        128
 
8255
<a name="GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS"></a><h3>GNUTLS_KEY_DIGITAL_SIGNATURE</h3>
 
8256
<pre class="programlisting">#define GNUTLS_KEY_DIGITAL_SIGNATURE 128
10071
8257
</pre>
10072
8258
<p>
10073
8259
</p>
10074
8260
</div>
10075
8261
<hr>
10076
8262
<div class="refsect2" title="GNUTLS_KEY_NON_REPUDIATION">
10077
 
<a name="GNUTLS-KEY-NON-REPUDIATION--CAPS"></a><h3>GNUTLS_KEY_NON_REPUDIATION</h3>
10078
 
<pre class="programlisting">#define GNUTLS_KEY_NON_REPUDIATION  64
 
8263
<a name="GNUTLS-KEY-NON-REPUDIATION:CAPS"></a><h3>GNUTLS_KEY_NON_REPUDIATION</h3>
 
8264
<pre class="programlisting">#define GNUTLS_KEY_NON_REPUDIATION 64
10079
8265
</pre>
10080
8266
<p>
10081
8267
</p>
10082
8268
</div>
10083
8269
<hr>
10084
8270
<div class="refsect2" title="GNUTLS_KEY_KEY_ENCIPHERMENT">
10085
 
<a name="GNUTLS-KEY-KEY-ENCIPHERMENT--CAPS"></a><h3>GNUTLS_KEY_KEY_ENCIPHERMENT</h3>
10086
 
<pre class="programlisting">#define GNUTLS_KEY_KEY_ENCIPHERMENT 32
 
8271
<a name="GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS"></a><h3>GNUTLS_KEY_KEY_ENCIPHERMENT</h3>
 
8272
<pre class="programlisting">#define GNUTLS_KEY_KEY_ENCIPHERMENT 32
10087
8273
</pre>
10088
8274
<p>
10089
8275
</p>
10090
8276
</div>
10091
8277
<hr>
10092
8278
<div class="refsect2" title="GNUTLS_KEY_DATA_ENCIPHERMENT">
10093
 
<a name="GNUTLS-KEY-DATA-ENCIPHERMENT--CAPS"></a><h3>GNUTLS_KEY_DATA_ENCIPHERMENT</h3>
10094
 
<pre class="programlisting">#define GNUTLS_KEY_DATA_ENCIPHERMENT        16
 
8279
<a name="GNUTLS-KEY-DATA-ENCIPHERMENT:CAPS"></a><h3>GNUTLS_KEY_DATA_ENCIPHERMENT</h3>
 
8280
<pre class="programlisting">#define GNUTLS_KEY_DATA_ENCIPHERMENT 16
10095
8281
</pre>
10096
8282
<p>
10097
8283
</p>
10098
8284
</div>
10099
8285
<hr>
10100
8286
<div class="refsect2" title="GNUTLS_KEY_KEY_AGREEMENT">
10101
 
<a name="GNUTLS-KEY-KEY-AGREEMENT--CAPS"></a><h3>GNUTLS_KEY_KEY_AGREEMENT</h3>
10102
 
<pre class="programlisting">#define GNUTLS_KEY_KEY_AGREEMENT    8
 
8287
<a name="GNUTLS-KEY-KEY-AGREEMENT:CAPS"></a><h3>GNUTLS_KEY_KEY_AGREEMENT</h3>
 
8288
<pre class="programlisting">#define GNUTLS_KEY_KEY_AGREEMENT 8
10103
8289
</pre>
10104
8290
<p>
10105
8291
</p>
10106
8292
</div>
10107
8293
<hr>
10108
8294
<div class="refsect2" title="GNUTLS_KEY_KEY_CERT_SIGN">
10109
 
<a name="GNUTLS-KEY-KEY-CERT-SIGN--CAPS"></a><h3>GNUTLS_KEY_KEY_CERT_SIGN</h3>
10110
 
<pre class="programlisting">#define GNUTLS_KEY_KEY_CERT_SIGN    4
 
8295
<a name="GNUTLS-KEY-KEY-CERT-SIGN:CAPS"></a><h3>GNUTLS_KEY_KEY_CERT_SIGN</h3>
 
8296
<pre class="programlisting">#define GNUTLS_KEY_KEY_CERT_SIGN 4
10111
8297
</pre>
10112
8298
<p>
10113
8299
</p>
10114
8300
</div>
10115
8301
<hr>
10116
8302
<div class="refsect2" title="GNUTLS_KEY_CRL_SIGN">
10117
 
<a name="GNUTLS-KEY-CRL-SIGN--CAPS"></a><h3>GNUTLS_KEY_CRL_SIGN</h3>
 
8303
<a name="GNUTLS-KEY-CRL-SIGN:CAPS"></a><h3>GNUTLS_KEY_CRL_SIGN</h3>
10118
8304
<pre class="programlisting">#define GNUTLS_KEY_CRL_SIGN         2
10119
8305
</pre>
10120
8306
<p>
10122
8308
</div>
10123
8309
<hr>
10124
8310
<div class="refsect2" title="GNUTLS_KEY_ENCIPHER_ONLY">
10125
 
<a name="GNUTLS-KEY-ENCIPHER-ONLY--CAPS"></a><h3>GNUTLS_KEY_ENCIPHER_ONLY</h3>
10126
 
<pre class="programlisting">#define GNUTLS_KEY_ENCIPHER_ONLY    1
 
8311
<a name="GNUTLS-KEY-ENCIPHER-ONLY:CAPS"></a><h3>GNUTLS_KEY_ENCIPHER_ONLY</h3>
 
8312
<pre class="programlisting">#define GNUTLS_KEY_ENCIPHER_ONLY 1
10127
8313
</pre>
10128
8314
<p>
10129
8315
</p>
10130
8316
</div>
10131
8317
<hr>
10132
8318
<div class="refsect2" title="GNUTLS_KEY_DECIPHER_ONLY">
10133
 
<a name="GNUTLS-KEY-DECIPHER-ONLY--CAPS"></a><h3>GNUTLS_KEY_DECIPHER_ONLY</h3>
10134
 
<pre class="programlisting">#define GNUTLS_KEY_DECIPHER_ONLY    32768
 
8319
<a name="GNUTLS-KEY-DECIPHER-ONLY:CAPS"></a><h3>GNUTLS_KEY_DECIPHER_ONLY</h3>
 
8320
<pre class="programlisting">#define GNUTLS_KEY_DECIPHER_ONLY 32768
10135
8321
</pre>
10136
8322
<p>
10137
8323
</p>
10139
8325
<hr>
10140
8326
<div class="refsect2" title="gnutls_certificate_set_params_function ()">
10141
8327
<a name="gnutls-certificate-set-params-function"></a><h3>gnutls_certificate_set_params_function ()</h3>
10142
 
<pre class="programlisting">void                gnutls_certificate_set_params_function
10143
 
                                                        (gnutls_certificate_credentials_t res,
10144
 
                                                         gnutls_params_function *func);</pre>
10145
 
<p>
10146
 
This function will set a callback in order for the server to get
10147
 
the Diffie-Hellman or RSA parameters for certificate
10148
 
authentication.  The callback should return zero on success.</p>
 
8328
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_certificate_set_params_function
 
8329
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
8330
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre>
10149
8331
<p>
10150
8332
</p>
10151
8333
<div class="variablelist"><table border="0">
10153
8335
<tbody>
10154
8336
<tr>
10155
8337
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
10156
 
<td> is a gnutls_certificate_credentials_t structure
 
8338
<td>
10157
8339
</td>
10158
8340
</tr>
10159
8341
<tr>
10160
8342
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
10161
 
<td> is the function to be called
 
8343
<td>
10162
8344
</td>
10163
8345
</tr>
10164
8346
</tbody>
10167
8349
<hr>
10168
8350
<div class="refsect2" title="gnutls_anon_set_params_function ()">
10169
8351
<a name="gnutls-anon-set-params-function"></a><h3>gnutls_anon_set_params_function ()</h3>
10170
 
<pre class="programlisting">void                gnutls_anon_set_params_function     (gnutls_anon_server_credentials_t res,
10171
 
                                                         gnutls_params_function *func);</pre>
10172
 
<p>
10173
 
This function will set a callback in order for the server to get
10174
 
the Diffie-Hellman or RSA parameters for anonymous authentication.
10175
 
The callback should return zero on success.</p>
 
8352
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_anon_set_params_function     (<em class="parameter"><code><span class="type">gnutls_anon_server_credentials_t</span> res</code></em>,
 
8353
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre>
10176
8354
<p>
10177
8355
</p>
10178
8356
<div class="variablelist"><table border="0">
10180
8358
<tbody>
10181
8359
<tr>
10182
8360
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
10183
 
<td> is a gnutls_anon_server_credentials_t structure
 
8361
<td>
10184
8362
</td>
10185
8363
</tr>
10186
8364
<tr>
10187
8365
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
10188
 
<td> is the function to be called
 
8366
<td>
10189
8367
</td>
10190
8368
</tr>
10191
8369
</tbody>
10194
8372
<hr>
10195
8373
<div class="refsect2" title="gnutls_psk_set_params_function ()">
10196
8374
<a name="gnutls-psk-set-params-function"></a><h3>gnutls_psk_set_params_function ()</h3>
10197
 
<pre class="programlisting">void                gnutls_psk_set_params_function      (gnutls_psk_server_credentials_t res,
10198
 
                                                         gnutls_params_function *func);</pre>
10199
 
<p>
10200
 
This function will set a callback in order for the server to get
10201
 
the Diffie-Hellman or RSA parameters for psk authentication.  The
10202
 
callback should return zero on success.</p>
 
8375
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_psk_set_params_function      (<em class="parameter"><code><span class="type">gnutls_psk_server_credentials_t</span> res</code></em>,
 
8376
                                                         <em class="parameter"><code><span class="type">gnutls_params_function</span> *func</code></em>);</pre>
10203
8377
<p>
10204
8378
</p>
10205
8379
<div class="variablelist"><table border="0">
10207
8381
<tbody>
10208
8382
<tr>
10209
8383
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
10210
 
<td> is a gnutls_psk_server_credentials_t structure
 
8384
<td>
10211
8385
</td>
10212
8386
</tr>
10213
8387
<tr>
10214
8388
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
10215
 
<td> is the function to be called
 
8389
<td>
10216
8390
</td>
10217
8391
</tr>
10218
8392
</tbody>
10221
8395
<hr>
10222
8396
<div class="refsect2" title="gnutls_hex2bin ()">
10223
8397
<a name="gnutls-hex2bin"></a><h3>gnutls_hex2bin ()</h3>
10224
 
<pre class="programlisting">int                 gnutls_hex2bin                      (const char *hex_data,
10225
 
                                                         size_t hex_size,
10226
 
                                                         char *bin_data,
10227
 
                                                         size_t *bin_size);</pre>
10228
 
<p>
10229
 
Convert a buffer with hex data to binary data.</p>
 
8398
<pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_hex2bin                      (<em class="parameter"><code>const <span class="type">char</span> *hex_data</code></em>,
 
8399
                                                         <em class="parameter"><code><span class="type">size_t</span> hex_size</code></em>,
 
8400
                                                         <em class="parameter"><code><span class="type">char</span> *bin_data</code></em>,
 
8401
                                                         <em class="parameter"><code><span class="type">size_t</span> *bin_size</code></em>);</pre>
10230
8402
<p>
10231
8403
</p>
10232
8404
<div class="variablelist"><table border="0">
10234
8406
<tbody>
10235
8407
<tr>
10236
8408
<td><p><span class="term"><em class="parameter"><code>hex_data</code></em> :</span></p></td>
10237
 
<td> string with data in hex format
 
8409
<td>
10238
8410
</td>
10239
8411
</tr>
10240
8412
<tr>
10241
8413
<td><p><span class="term"><em class="parameter"><code>hex_size</code></em> :</span></p></td>
10242
 
<td> size of hex data
 
8414
<td>
10243
8415
</td>
10244
8416
</tr>
10245
8417
<tr>
10246
8418
<td><p><span class="term"><em class="parameter"><code>bin_data</code></em> :</span></p></td>
10247
 
<td> output array with binary data
 
8419
<td>
10248
8420
</td>
10249
8421
</tr>
10250
8422
<tr>
10251
8423
<td><p><span class="term"><em class="parameter"><code>bin_size</code></em> :</span></p></td>
10252
 
<td> when calling *<em class="parameter"><code>bin_size</code></em> should hold size of <em class="parameter"><code>bin_data</code></em>,
10253
 
           on return will hold actual size of <em class="parameter"><code>bin_data</code></em>.
 
8424
<td>
10254
8425
</td>
10255
8426
</tr>
10256
8427
<tr>
10257
8428
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
10258
 
<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.
10259
 
 
 
8429
<td>
10260
8430
</td>
10261
8431
</tr>
10262
8432
</tbody>
10263
8433
</table></div>
10264
 
<p class="since">Since 2.4.0</p>
10265
8434
</div>
10266
8435
<hr>
10267
8436
<div class="refsect2" title="GNUTLS_E_SUCCESS">
10268
 
<a name="GNUTLS-E-SUCCESS--CAPS"></a><h3>GNUTLS_E_SUCCESS</h3>
 
8437
<a name="GNUTLS-E-SUCCESS:CAPS"></a><h3>GNUTLS_E_SUCCESS</h3>
10269
8438
<pre class="programlisting">#define GNUTLS_E_SUCCESS 0
10270
8439
</pre>
10271
8440
<p>
10273
8442
</div>
10274
8443
<hr>
10275
8444
<div class="refsect2" title="GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM">
10276
 
<a name="GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM--CAPS"></a><h3>GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</h3>
10277
 
<pre class="programlisting">#define     GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3
 
8445
<a name="GNUTLS-E-UNKNOWN-COMPRESSION-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM</h3>
 
8446
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3
10278
8447
</pre>
10279
8448
<p>
10280
8449
</p>
10281
8450
</div>
10282
8451
<hr>
10283
8452
<div class="refsect2" title="GNUTLS_E_UNKNOWN_CIPHER_TYPE">
10284
 
<a name="GNUTLS-E-UNKNOWN-CIPHER-TYPE--CAPS"></a><h3>GNUTLS_E_UNKNOWN_CIPHER_TYPE</h3>
10285
 
<pre class="programlisting">#define     GNUTLS_E_UNKNOWN_CIPHER_TYPE -6
 
8453
<a name="GNUTLS-E-UNKNOWN-CIPHER-TYPE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_CIPHER_TYPE</h3>
 
8454
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6
10286
8455
</pre>
10287
8456
<p>
10288
8457
</p>
10289
8458
</div>
10290
8459
<hr>
10291
8460
<div class="refsect2" title="GNUTLS_E_LARGE_PACKET">
10292
 
<a name="GNUTLS-E-LARGE-PACKET--CAPS"></a><h3>GNUTLS_E_LARGE_PACKET</h3>
10293
 
<pre class="programlisting">#define     GNUTLS_E_LARGE_PACKET -7
 
8461
<a name="GNUTLS-E-LARGE-PACKET:CAPS"></a><h3>GNUTLS_E_LARGE_PACKET</h3>
 
8462
<pre class="programlisting">#define GNUTLS_E_LARGE_PACKET -7
10294
8463
</pre>
10295
8464
<p>
10296
8465
</p>
10297
8466
</div>
10298
8467
<hr>
10299
8468
<div class="refsect2" title="GNUTLS_E_UNSUPPORTED_VERSION_PACKET">
10300
 
<a name="GNUTLS-E-UNSUPPORTED-VERSION-PACKET--CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_VERSION_PACKET</h3>
10301
 
<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8      /* GNUTLS_A_PROTOCOL_VERSION */
 
8469
<a name="GNUTLS-E-UNSUPPORTED-VERSION-PACKET:CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_VERSION_PACKET</h3>
 
8470
<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */
10302
8471
</pre>
10303
8472
<p>
10304
8473
</p>
10305
8474
</div>
10306
8475
<hr>
10307
8476
<div class="refsect2" title="GNUTLS_E_UNEXPECTED_PACKET_LENGTH">
10308
 
<a name="GNUTLS-E-UNEXPECTED-PACKET-LENGTH--CAPS"></a><h3>GNUTLS_E_UNEXPECTED_PACKET_LENGTH</h3>
10309
 
<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9        /* GNUTLS_A_RECORD_OVERFLOW */
 
8477
<a name="GNUTLS-E-UNEXPECTED-PACKET-LENGTH:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_PACKET_LENGTH</h3>
 
8478
<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_RECORD_OVERFLOW */
10310
8479
</pre>
10311
8480
<p>
10312
8481
</p>
10313
8482
</div>
10314
8483
<hr>
10315
8484
<div class="refsect2" title="GNUTLS_E_INVALID_SESSION">
10316
 
<a name="GNUTLS-E-INVALID-SESSION--CAPS"></a><h3>GNUTLS_E_INVALID_SESSION</h3>
 
8485
<a name="GNUTLS-E-INVALID-SESSION:CAPS"></a><h3>GNUTLS_E_INVALID_SESSION</h3>
10317
8486
<pre class="programlisting">#define GNUTLS_E_INVALID_SESSION -10
10318
8487
</pre>
10319
8488
<p>
10321
8490
</div>
10322
8491
<hr>
10323
8492
<div class="refsect2" title="GNUTLS_E_FATAL_ALERT_RECEIVED">
10324
 
<a name="GNUTLS-E-FATAL-ALERT-RECEIVED--CAPS"></a><h3>GNUTLS_E_FATAL_ALERT_RECEIVED</h3>
 
8493
<a name="GNUTLS-E-FATAL-ALERT-RECEIVED:CAPS"></a><h3>GNUTLS_E_FATAL_ALERT_RECEIVED</h3>
10325
8494
<pre class="programlisting">#define GNUTLS_E_FATAL_ALERT_RECEIVED -12
10326
8495
</pre>
10327
8496
<p>
10329
8498
</div>
10330
8499
<hr>
10331
8500
<div class="refsect2" title="GNUTLS_E_UNEXPECTED_PACKET">
10332
 
<a name="GNUTLS-E-UNEXPECTED-PACKET--CAPS"></a><h3>GNUTLS_E_UNEXPECTED_PACKET</h3>
10333
 
<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_PACKET -15      /* GNUTLS_A_UNEXPECTED_MESSAGE */
 
8501
<a name="GNUTLS-E-UNEXPECTED-PACKET:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_PACKET</h3>
 
8502
<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */
10334
8503
</pre>
10335
8504
<p>
10336
8505
</p>
10337
8506
</div>
10338
8507
<hr>
10339
8508
<div class="refsect2" title="GNUTLS_E_WARNING_ALERT_RECEIVED">
10340
 
<a name="GNUTLS-E-WARNING-ALERT-RECEIVED--CAPS"></a><h3>GNUTLS_E_WARNING_ALERT_RECEIVED</h3>
 
8509
<a name="GNUTLS-E-WARNING-ALERT-RECEIVED:CAPS"></a><h3>GNUTLS_E_WARNING_ALERT_RECEIVED</h3>
10341
8510
<pre class="programlisting">#define GNUTLS_E_WARNING_ALERT_RECEIVED -16
10342
8511
</pre>
10343
8512
<p>
10345
8514
</div>
10346
8515
<hr>
10347
8516
<div class="refsect2" title="GNUTLS_E_ERROR_IN_FINISHED_PACKET">
10348
 
<a name="GNUTLS-E-ERROR-IN-FINISHED-PACKET--CAPS"></a><h3>GNUTLS_E_ERROR_IN_FINISHED_PACKET</h3>
 
8517
<a name="GNUTLS-E-ERROR-IN-FINISHED-PACKET:CAPS"></a><h3>GNUTLS_E_ERROR_IN_FINISHED_PACKET</h3>
10349
8518
<pre class="programlisting">#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18
10350
8519
</pre>
10351
8520
<p>
10353
8522
</div>
10354
8523
<hr>
10355
8524
<div class="refsect2" title="GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET">
10356
 
<a name="GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET--CAPS"></a><h3>GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</h3>
 
8525
<a name="GNUTLS-E-UNEXPECTED-HANDSHAKE-PACKET:CAPS"></a><h3>GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET</h3>
10357
8526
<pre class="programlisting">#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19
10358
8527
</pre>
10359
8528
<p>
10361
8530
</div>
10362
8531
<hr>
10363
8532
<div class="refsect2" title="GNUTLS_E_UNKNOWN_CIPHER_SUITE">
10364
 
<a name="GNUTLS-E-UNKNOWN-CIPHER-SUITE--CAPS"></a><h3>GNUTLS_E_UNKNOWN_CIPHER_SUITE</h3>
10365
 
<pre class="programlisting">#define     GNUTLS_E_UNKNOWN_CIPHER_SUITE -21       /* GNUTLS_A_HANDSHAKE_FAILURE */
 
8533
<a name="GNUTLS-E-UNKNOWN-CIPHER-SUITE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_CIPHER_SUITE</h3>
 
8534
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21 /* GNUTLS_A_HANDSHAKE_FAILURE */
10366
8535
</pre>
10367
8536
<p>
10368
8537
</p>
10369
8538
</div>
10370
8539
<hr>
10371
8540
<div class="refsect2" title="GNUTLS_E_UNWANTED_ALGORITHM">
10372
 
<a name="GNUTLS-E-UNWANTED-ALGORITHM--CAPS"></a><h3>GNUTLS_E_UNWANTED_ALGORITHM</h3>
10373
 
<pre class="programlisting">#define     GNUTLS_E_UNWANTED_ALGORITHM -22
 
8541
<a name="GNUTLS-E-UNWANTED-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNWANTED_ALGORITHM</h3>
 
8542
<pre class="programlisting">#define GNUTLS_E_UNWANTED_ALGORITHM -22
10374
8543
</pre>
10375
8544
<p>
10376
8545
</p>
10377
8546
</div>
10378
8547
<hr>
10379
8548
<div class="refsect2" title="GNUTLS_E_MPI_SCAN_FAILED">
10380
 
<a name="GNUTLS-E-MPI-SCAN-FAILED--CAPS"></a><h3>GNUTLS_E_MPI_SCAN_FAILED</h3>
10381
 
<pre class="programlisting">#define     GNUTLS_E_MPI_SCAN_FAILED -23
 
8549
<a name="GNUTLS-E-MPI-SCAN-FAILED:CAPS"></a><h3>GNUTLS_E_MPI_SCAN_FAILED</h3>
 
8550
<pre class="programlisting">#define GNUTLS_E_MPI_SCAN_FAILED -23
10382
8551
</pre>
10383
8552
<p>
10384
8553
</p>
10385
8554
</div>
10386
8555
<hr>
10387
8556
<div class="refsect2" title="GNUTLS_E_DECRYPTION_FAILED">
10388
 
<a name="GNUTLS-E-DECRYPTION-FAILED--CAPS"></a><h3>GNUTLS_E_DECRYPTION_FAILED</h3>
10389
 
<pre class="programlisting">#define GNUTLS_E_DECRYPTION_FAILED -24      /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */
 
8557
<a name="GNUTLS-E-DECRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_DECRYPTION_FAILED</h3>
 
8558
<pre class="programlisting">#define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */
10390
8559
</pre>
10391
8560
<p>
10392
8561
</p>
10393
8562
</div>
10394
8563
<hr>
10395
8564
<div class="refsect2" title="GNUTLS_E_MEMORY_ERROR">
10396
 
<a name="GNUTLS-E-MEMORY-ERROR--CAPS"></a><h3>GNUTLS_E_MEMORY_ERROR</h3>
 
8565
<a name="GNUTLS-E-MEMORY-ERROR:CAPS"></a><h3>GNUTLS_E_MEMORY_ERROR</h3>
10397
8566
<pre class="programlisting">#define GNUTLS_E_MEMORY_ERROR -25
10398
8567
</pre>
10399
8568
<p>
10401
8570
</div>
10402
8571
<hr>
10403
8572
<div class="refsect2" title="GNUTLS_E_DECOMPRESSION_FAILED">
10404
 
<a name="GNUTLS-E-DECOMPRESSION-FAILED--CAPS"></a><h3>GNUTLS_E_DECOMPRESSION_FAILED</h3>
10405
 
<pre class="programlisting">#define GNUTLS_E_DECOMPRESSION_FAILED -26   /* GNUTLS_A_DECOMPRESSION_FAILURE */
 
8573
<a name="GNUTLS-E-DECOMPRESSION-FAILED:CAPS"></a><h3>GNUTLS_E_DECOMPRESSION_FAILED</h3>
 
8574
<pre class="programlisting">#define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */
10406
8575
</pre>
10407
8576
<p>
10408
8577
</p>
10409
8578
</div>
10410
8579
<hr>
10411
8580
<div class="refsect2" title="GNUTLS_E_COMPRESSION_FAILED">
10412
 
<a name="GNUTLS-E-COMPRESSION-FAILED--CAPS"></a><h3>GNUTLS_E_COMPRESSION_FAILED</h3>
 
8581
<a name="GNUTLS-E-COMPRESSION-FAILED:CAPS"></a><h3>GNUTLS_E_COMPRESSION_FAILED</h3>
10413
8582
<pre class="programlisting">#define GNUTLS_E_COMPRESSION_FAILED -27
10414
8583
</pre>
10415
8584
<p>
10417
8586
</div>
10418
8587
<hr>
10419
8588
<div class="refsect2" title="GNUTLS_E_AGAIN">
10420
 
<a name="GNUTLS-E-AGAIN--CAPS"></a><h3>GNUTLS_E_AGAIN</h3>
 
8589
<a name="GNUTLS-E-AGAIN:CAPS"></a><h3>GNUTLS_E_AGAIN</h3>
10421
8590
<pre class="programlisting">#define GNUTLS_E_AGAIN -28
10422
8591
</pre>
10423
8592
<p>
10425
8594
</div>
10426
8595
<hr>
10427
8596
<div class="refsect2" title="GNUTLS_E_EXPIRED">
10428
 
<a name="GNUTLS-E-EXPIRED--CAPS"></a><h3>GNUTLS_E_EXPIRED</h3>
 
8597
<a name="GNUTLS-E-EXPIRED:CAPS"></a><h3>GNUTLS_E_EXPIRED</h3>
10429
8598
<pre class="programlisting">#define GNUTLS_E_EXPIRED -29
10430
8599
</pre>
10431
8600
<p>
10433
8602
</div>
10434
8603
<hr>
10435
8604
<div class="refsect2" title="GNUTLS_E_DB_ERROR">
10436
 
<a name="GNUTLS-E-DB-ERROR--CAPS"></a><h3>GNUTLS_E_DB_ERROR</h3>
 
8605
<a name="GNUTLS-E-DB-ERROR:CAPS"></a><h3>GNUTLS_E_DB_ERROR</h3>
10437
8606
<pre class="programlisting">#define GNUTLS_E_DB_ERROR -30
10438
8607
</pre>
10439
8608
<p>
10441
8610
</div>
10442
8611
<hr>
10443
8612
<div class="refsect2" title="GNUTLS_E_SRP_PWD_ERROR">
10444
 
<a name="GNUTLS-E-SRP-PWD-ERROR--CAPS"></a><h3>GNUTLS_E_SRP_PWD_ERROR</h3>
 
8613
<a name="GNUTLS-E-SRP-PWD-ERROR:CAPS"></a><h3>GNUTLS_E_SRP_PWD_ERROR</h3>
10445
8614
<pre class="programlisting">#define GNUTLS_E_SRP_PWD_ERROR -31
10446
8615
</pre>
10447
8616
<p>
10449
8618
</div>
10450
8619
<hr>
10451
8620
<div class="refsect2" title="GNUTLS_E_INSUFFICIENT_CREDENTIALS">
10452
 
<a name="GNUTLS-E-INSUFFICIENT-CREDENTIALS--CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_CREDENTIALS</h3>
 
8621
<a name="GNUTLS-E-INSUFFICIENT-CREDENTIALS:CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_CREDENTIALS</h3>
10453
8622
<pre class="programlisting">#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32
10454
8623
</pre>
10455
8624
<p>
10457
8626
</div>
10458
8627
<hr>
10459
8628
<div class="refsect2" title="GNUTLS_E_INSUFICIENT_CREDENTIALS">
10460
 
<a name="GNUTLS-E-INSUFICIENT-CREDENTIALS--CAPS"></a><h3>GNUTLS_E_INSUFICIENT_CREDENTIALS</h3>
10461
 
<pre class="programlisting">#define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS  /* for backwards compatibility only */
 
8629
<a name="GNUTLS-E-INSUFICIENT-CREDENTIALS:CAPS"></a><h3>GNUTLS_E_INSUFICIENT_CREDENTIALS</h3>
 
8630
<pre class="programlisting">#define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
10462
8631
</pre>
10463
8632
<p>
10464
8633
</p>
10465
8634
</div>
10466
8635
<hr>
10467
8636
<div class="refsect2" title="GNUTLS_E_INSUFFICIENT_CRED">
10468
 
<a name="GNUTLS-E-INSUFFICIENT-CRED--CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_CRED</h3>
 
8637
<a name="GNUTLS-E-INSUFFICIENT-CRED:CAPS"></a><h3>GNUTLS_E_INSUFFICIENT_CRED</h3>
10469
8638
<pre class="programlisting">#define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS
10470
8639
</pre>
10471
8640
<p>
10473
8642
</div>
10474
8643
<hr>
10475
8644
<div class="refsect2" title="GNUTLS_E_INSUFICIENT_CRED">
10476
 
<a name="GNUTLS-E-INSUFICIENT-CRED--CAPS"></a><h3>GNUTLS_E_INSUFICIENT_CRED</h3>
10477
 
<pre class="programlisting">#define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
 
8645
<a name="GNUTLS-E-INSUFICIENT-CRED:CAPS"></a><h3>GNUTLS_E_INSUFICIENT_CRED</h3>
 
8646
<pre class="programlisting">#define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
10478
8647
</pre>
10479
8648
<p>
10480
8649
</p>
10481
8650
</div>
10482
8651
<hr>
10483
8652
<div class="refsect2" title="GNUTLS_E_HASH_FAILED">
10484
 
<a name="GNUTLS-E-HASH-FAILED--CAPS"></a><h3>GNUTLS_E_HASH_FAILED</h3>
 
8653
<a name="GNUTLS-E-HASH-FAILED:CAPS"></a><h3>GNUTLS_E_HASH_FAILED</h3>
10485
8654
<pre class="programlisting">#define GNUTLS_E_HASH_FAILED -33
10486
8655
</pre>
10487
8656
<p>
10489
8658
</div>
10490
8659
<hr>
10491
8660
<div class="refsect2" title="GNUTLS_E_BASE64_DECODING_ERROR">
10492
 
<a name="GNUTLS-E-BASE64-DECODING-ERROR--CAPS"></a><h3>GNUTLS_E_BASE64_DECODING_ERROR</h3>
 
8661
<a name="GNUTLS-E-BASE64-DECODING-ERROR:CAPS"></a><h3>GNUTLS_E_BASE64_DECODING_ERROR</h3>
10493
8662
<pre class="programlisting">#define GNUTLS_E_BASE64_DECODING_ERROR -34
10494
8663
</pre>
10495
8664
<p>
10497
8666
</div>
10498
8667
<hr>
10499
8668
<div class="refsect2" title="GNUTLS_E_MPI_PRINT_FAILED">
10500
 
<a name="GNUTLS-E-MPI-PRINT-FAILED--CAPS"></a><h3>GNUTLS_E_MPI_PRINT_FAILED</h3>
10501
 
<pre class="programlisting">#define     GNUTLS_E_MPI_PRINT_FAILED -35
 
8669
<a name="GNUTLS-E-MPI-PRINT-FAILED:CAPS"></a><h3>GNUTLS_E_MPI_PRINT_FAILED</h3>
 
8670
<pre class="programlisting">#define GNUTLS_E_MPI_PRINT_FAILED -35
10502
8671
</pre>
10503
8672
<p>
10504
8673
</p>
10505
8674
</div>
10506
8675
<hr>
10507
8676
<div class="refsect2" title="GNUTLS_E_REHANDSHAKE">
10508
 
<a name="GNUTLS-E-REHANDSHAKE--CAPS"></a><h3>GNUTLS_E_REHANDSHAKE</h3>
10509
 
<pre class="programlisting">#define GNUTLS_E_REHANDSHAKE -37    /* GNUTLS_A_NO_RENEGOTIATION */
 
8677
<a name="GNUTLS-E-REHANDSHAKE:CAPS"></a><h3>GNUTLS_E_REHANDSHAKE</h3>
 
8678
<pre class="programlisting">#define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */
10510
8679
</pre>
10511
8680
<p>
10512
8681
</p>
10513
8682
</div>
10514
8683
<hr>
10515
8684
<div class="refsect2" title="GNUTLS_E_GOT_APPLICATION_DATA">
10516
 
<a name="GNUTLS-E-GOT-APPLICATION-DATA--CAPS"></a><h3>GNUTLS_E_GOT_APPLICATION_DATA</h3>
 
8685
<a name="GNUTLS-E-GOT-APPLICATION-DATA:CAPS"></a><h3>GNUTLS_E_GOT_APPLICATION_DATA</h3>
10517
8686
<pre class="programlisting">#define GNUTLS_E_GOT_APPLICATION_DATA -38
10518
8687
</pre>
10519
8688
<p>
10521
8690
</div>
10522
8691
<hr>
10523
8692
<div class="refsect2" title="GNUTLS_E_RECORD_LIMIT_REACHED">
10524
 
<a name="GNUTLS-E-RECORD-LIMIT-REACHED--CAPS"></a><h3>GNUTLS_E_RECORD_LIMIT_REACHED</h3>
 
8693
<a name="GNUTLS-E-RECORD-LIMIT-REACHED:CAPS"></a><h3>GNUTLS_E_RECORD_LIMIT_REACHED</h3>
10525
8694
<pre class="programlisting">#define GNUTLS_E_RECORD_LIMIT_REACHED -39
10526
8695
</pre>
10527
8696
<p>
10529
8698
</div>
10530
8699
<hr>
10531
8700
<div class="refsect2" title="GNUTLS_E_ENCRYPTION_FAILED">
10532
 
<a name="GNUTLS-E-ENCRYPTION-FAILED--CAPS"></a><h3>GNUTLS_E_ENCRYPTION_FAILED</h3>
 
8701
<a name="GNUTLS-E-ENCRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_ENCRYPTION_FAILED</h3>
10533
8702
<pre class="programlisting">#define GNUTLS_E_ENCRYPTION_FAILED -40
10534
8703
</pre>
10535
8704
<p>
10537
8706
</div>
10538
8707
<hr>
10539
8708
<div class="refsect2" title="GNUTLS_E_PK_ENCRYPTION_FAILED">
10540
 
<a name="GNUTLS-E-PK-ENCRYPTION-FAILED--CAPS"></a><h3>GNUTLS_E_PK_ENCRYPTION_FAILED</h3>
 
8709
<a name="GNUTLS-E-PK-ENCRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_PK_ENCRYPTION_FAILED</h3>
10541
8710
<pre class="programlisting">#define GNUTLS_E_PK_ENCRYPTION_FAILED -44
10542
8711
</pre>
10543
8712
<p>
10545
8714
</div>
10546
8715
<hr>
10547
8716
<div class="refsect2" title="GNUTLS_E_PK_DECRYPTION_FAILED">
10548
 
<a name="GNUTLS-E-PK-DECRYPTION-FAILED--CAPS"></a><h3>GNUTLS_E_PK_DECRYPTION_FAILED</h3>
 
8717
<a name="GNUTLS-E-PK-DECRYPTION-FAILED:CAPS"></a><h3>GNUTLS_E_PK_DECRYPTION_FAILED</h3>
10549
8718
<pre class="programlisting">#define GNUTLS_E_PK_DECRYPTION_FAILED -45
10550
8719
</pre>
10551
8720
<p>
10553
8722
</div>
10554
8723
<hr>
10555
8724
<div class="refsect2" title="GNUTLS_E_PK_SIGN_FAILED">
10556
 
<a name="GNUTLS-E-PK-SIGN-FAILED--CAPS"></a><h3>GNUTLS_E_PK_SIGN_FAILED</h3>
 
8725
<a name="GNUTLS-E-PK-SIGN-FAILED:CAPS"></a><h3>GNUTLS_E_PK_SIGN_FAILED</h3>
10557
8726
<pre class="programlisting">#define GNUTLS_E_PK_SIGN_FAILED -46
10558
8727
</pre>
10559
8728
<p>
10561
8730
</div>
10562
8731
<hr>
10563
8732
<div class="refsect2" title="GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION">
10564
 
<a name="GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION--CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</h3>
 
8733
<a name="GNUTLS-E-X509-UNSUPPORTED-CRITICAL-EXTENSION:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION</h3>
10565
8734
<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47
10566
8735
</pre>
10567
8736
<p>
10569
8738
</div>
10570
8739
<hr>
10571
8740
<div class="refsect2" title="GNUTLS_E_KEY_USAGE_VIOLATION">
10572
 
<a name="GNUTLS-E-KEY-USAGE-VIOLATION--CAPS"></a><h3>GNUTLS_E_KEY_USAGE_VIOLATION</h3>
 
8741
<a name="GNUTLS-E-KEY-USAGE-VIOLATION:CAPS"></a><h3>GNUTLS_E_KEY_USAGE_VIOLATION</h3>
10573
8742
<pre class="programlisting">#define GNUTLS_E_KEY_USAGE_VIOLATION -48
10574
8743
</pre>
10575
8744
<p>
10577
8746
</div>
10578
8747
<hr>
10579
8748
<div class="refsect2" title="GNUTLS_E_NO_CERTIFICATE_FOUND">
10580
 
<a name="GNUTLS-E-NO-CERTIFICATE-FOUND--CAPS"></a><h3>GNUTLS_E_NO_CERTIFICATE_FOUND</h3>
10581
 
<pre class="programlisting">#define GNUTLS_E_NO_CERTIFICATE_FOUND -49   /* GNUTLS_A_BAD_CERTIFICATE */
 
8749
<a name="GNUTLS-E-NO-CERTIFICATE-FOUND:CAPS"></a><h3>GNUTLS_E_NO_CERTIFICATE_FOUND</h3>
 
8750
<pre class="programlisting">#define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */
10582
8751
</pre>
10583
8752
<p>
10584
8753
</p>
10585
8754
</div>
10586
8755
<hr>
10587
8756
<div class="refsect2" title="GNUTLS_E_INVALID_REQUEST">
10588
 
<a name="GNUTLS-E-INVALID-REQUEST--CAPS"></a><h3>GNUTLS_E_INVALID_REQUEST</h3>
 
8757
<a name="GNUTLS-E-INVALID-REQUEST:CAPS"></a><h3>GNUTLS_E_INVALID_REQUEST</h3>
10589
8758
<pre class="programlisting">#define GNUTLS_E_INVALID_REQUEST -50
10590
8759
</pre>
10591
8760
<p>
10593
8762
</div>
10594
8763
<hr>
10595
8764
<div class="refsect2" title="GNUTLS_E_SHORT_MEMORY_BUFFER">
10596
 
<a name="GNUTLS-E-SHORT-MEMORY-BUFFER--CAPS"></a><h3>GNUTLS_E_SHORT_MEMORY_BUFFER</h3>
 
8765
<a name="GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS"></a><h3>GNUTLS_E_SHORT_MEMORY_BUFFER</h3>
10597
8766
<pre class="programlisting">#define GNUTLS_E_SHORT_MEMORY_BUFFER -51
10598
8767
</pre>
10599
8768
<p>
10601
8770
</div>
10602
8771
<hr>
10603
8772
<div class="refsect2" title="GNUTLS_E_INTERRUPTED">
10604
 
<a name="GNUTLS-E-INTERRUPTED--CAPS"></a><h3>GNUTLS_E_INTERRUPTED</h3>
 
8773
<a name="GNUTLS-E-INTERRUPTED:CAPS"></a><h3>GNUTLS_E_INTERRUPTED</h3>
10605
8774
<pre class="programlisting">#define GNUTLS_E_INTERRUPTED -52
10606
8775
</pre>
10607
8776
<p>
10609
8778
</div>
10610
8779
<hr>
10611
8780
<div class="refsect2" title="GNUTLS_E_PUSH_ERROR">
10612
 
<a name="GNUTLS-E-PUSH-ERROR--CAPS"></a><h3>GNUTLS_E_PUSH_ERROR</h3>
 
8781
<a name="GNUTLS-E-PUSH-ERROR:CAPS"></a><h3>GNUTLS_E_PUSH_ERROR</h3>
10613
8782
<pre class="programlisting">#define GNUTLS_E_PUSH_ERROR -53
10614
8783
</pre>
10615
8784
<p>
10617
8786
</div>
10618
8787
<hr>
10619
8788
<div class="refsect2" title="GNUTLS_E_PULL_ERROR">
10620
 
<a name="GNUTLS-E-PULL-ERROR--CAPS"></a><h3>GNUTLS_E_PULL_ERROR</h3>
 
8789
<a name="GNUTLS-E-PULL-ERROR:CAPS"></a><h3>GNUTLS_E_PULL_ERROR</h3>
10621
8790
<pre class="programlisting">#define GNUTLS_E_PULL_ERROR -54
10622
8791
</pre>
10623
8792
<p>
10625
8794
</div>
10626
8795
<hr>
10627
8796
<div class="refsect2" title="GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER">
10628
 
<a name="GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER--CAPS"></a><h3>GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</h3>
10629
 
<pre class="programlisting">#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55     /* GNUTLS_A_ILLEGAL_PARAMETER */
 
8797
<a name="GNUTLS-E-RECEIVED-ILLEGAL-PARAMETER:CAPS"></a><h3>GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER</h3>
 
8798
<pre class="programlisting">#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */
10630
8799
</pre>
10631
8800
<p>
10632
8801
</p>
10633
8802
</div>
10634
8803
<hr>
10635
8804
<div class="refsect2" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE">
10636
 
<a name="GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE--CAPS"></a><h3>GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</h3>
 
8805
<a name="GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS"></a><h3>GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</h3>
10637
8806
<pre class="programlisting">#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56
10638
8807
</pre>
10639
8808
<p>
10641
8810
</div>
10642
8811
<hr>
10643
8812
<div class="refsect2" title="GNUTLS_E_PKCS1_WRONG_PAD">
10644
 
<a name="GNUTLS-E-PKCS1-WRONG-PAD--CAPS"></a><h3>GNUTLS_E_PKCS1_WRONG_PAD</h3>
 
8813
<a name="GNUTLS-E-PKCS1-WRONG-PAD:CAPS"></a><h3>GNUTLS_E_PKCS1_WRONG_PAD</h3>
10645
8814
<pre class="programlisting">#define GNUTLS_E_PKCS1_WRONG_PAD -57
10646
8815
</pre>
10647
8816
<p>
10649
8818
</div>
10650
8819
<hr>
10651
8820
<div class="refsect2" title="GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION">
10652
 
<a name="GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION--CAPS"></a><h3>GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</h3>
 
8821
<a name="GNUTLS-E-RECEIVED-ILLEGAL-EXTENSION:CAPS"></a><h3>GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION</h3>
10653
8822
<pre class="programlisting">#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58
10654
8823
</pre>
10655
8824
<p>
10657
8826
</div>
10658
8827
<hr>
10659
8828
<div class="refsect2" title="GNUTLS_E_INTERNAL_ERROR">
10660
 
<a name="GNUTLS-E-INTERNAL-ERROR--CAPS"></a><h3>GNUTLS_E_INTERNAL_ERROR</h3>
 
8829
<a name="GNUTLS-E-INTERNAL-ERROR:CAPS"></a><h3>GNUTLS_E_INTERNAL_ERROR</h3>
10661
8830
<pre class="programlisting">#define GNUTLS_E_INTERNAL_ERROR -59
10662
8831
</pre>
10663
8832
<p>
10665
8834
</div>
10666
8835
<hr>
10667
8836
<div class="refsect2" title="GNUTLS_E_DH_PRIME_UNACCEPTABLE">
10668
 
<a name="GNUTLS-E-DH-PRIME-UNACCEPTABLE--CAPS"></a><h3>GNUTLS_E_DH_PRIME_UNACCEPTABLE</h3>
 
8837
<a name="GNUTLS-E-DH-PRIME-UNACCEPTABLE:CAPS"></a><h3>GNUTLS_E_DH_PRIME_UNACCEPTABLE</h3>
10669
8838
<pre class="programlisting">#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63
10670
8839
</pre>
10671
8840
<p>
10673
8842
</div>
10674
8843
<hr>
10675
8844
<div class="refsect2" title="GNUTLS_E_FILE_ERROR">
10676
 
<a name="GNUTLS-E-FILE-ERROR--CAPS"></a><h3>GNUTLS_E_FILE_ERROR</h3>
 
8845
<a name="GNUTLS-E-FILE-ERROR:CAPS"></a><h3>GNUTLS_E_FILE_ERROR</h3>
10677
8846
<pre class="programlisting">#define GNUTLS_E_FILE_ERROR -64
10678
8847
</pre>
10679
8848
<p>
10681
8850
</div>
10682
8851
<hr>
10683
8852
<div class="refsect2" title="GNUTLS_E_TOO_MANY_EMPTY_PACKETS">
10684
 
<a name="GNUTLS-E-TOO-MANY-EMPTY-PACKETS--CAPS"></a><h3>GNUTLS_E_TOO_MANY_EMPTY_PACKETS</h3>
 
8853
<a name="GNUTLS-E-TOO-MANY-EMPTY-PACKETS:CAPS"></a><h3>GNUTLS_E_TOO_MANY_EMPTY_PACKETS</h3>
10685
8854
<pre class="programlisting">#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78
10686
8855
</pre>
10687
8856
<p>
10689
8858
</div>
10690
8859
<hr>
10691
8860
<div class="refsect2" title="GNUTLS_E_UNKNOWN_PK_ALGORITHM">
10692
 
<a name="GNUTLS-E-UNKNOWN-PK-ALGORITHM--CAPS"></a><h3>GNUTLS_E_UNKNOWN_PK_ALGORITHM</h3>
 
8861
<a name="GNUTLS-E-UNKNOWN-PK-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_PK_ALGORITHM</h3>
10693
8862
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80
10694
8863
</pre>
10695
8864
<p>
10697
8866
</div>
10698
8867
<hr>
10699
8868
<div class="refsect2" title="GNUTLS_E_INIT_LIBEXTRA">
10700
 
<a name="GNUTLS-E-INIT-LIBEXTRA--CAPS"></a><h3>GNUTLS_E_INIT_LIBEXTRA</h3>
 
8869
<a name="GNUTLS-E-INIT-LIBEXTRA:CAPS"></a><h3>GNUTLS_E_INIT_LIBEXTRA</h3>
10701
8870
<pre class="programlisting">#define GNUTLS_E_INIT_LIBEXTRA -82
10702
8871
</pre>
10703
8872
<p>
10705
8874
</div>
10706
8875
<hr>
10707
8876
<div class="refsect2" title="GNUTLS_E_LIBRARY_VERSION_MISMATCH">
10708
 
<a name="GNUTLS-E-LIBRARY-VERSION-MISMATCH--CAPS"></a><h3>GNUTLS_E_LIBRARY_VERSION_MISMATCH</h3>
 
8877
<a name="GNUTLS-E-LIBRARY-VERSION-MISMATCH:CAPS"></a><h3>GNUTLS_E_LIBRARY_VERSION_MISMATCH</h3>
10709
8878
<pre class="programlisting">#define GNUTLS_E_LIBRARY_VERSION_MISMATCH -83
10710
8879
</pre>
10711
8880
<p>
10713
8882
</div>
10714
8883
<hr>
10715
8884
<div class="refsect2" title="GNUTLS_E_NO_TEMPORARY_RSA_PARAMS">
10716
 
<a name="GNUTLS-E-NO-TEMPORARY-RSA-PARAMS--CAPS"></a><h3>GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</h3>
 
8885
<a name="GNUTLS-E-NO-TEMPORARY-RSA-PARAMS:CAPS"></a><h3>GNUTLS_E_NO_TEMPORARY_RSA_PARAMS</h3>
10717
8886
<pre class="programlisting">#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84
10718
8887
</pre>
10719
8888
<p>
10721
8890
</div>
10722
8891
<hr>
10723
8892
<div class="refsect2" title="GNUTLS_E_LZO_INIT_FAILED">
10724
 
<a name="GNUTLS-E-LZO-INIT-FAILED--CAPS"></a><h3>GNUTLS_E_LZO_INIT_FAILED</h3>
 
8893
<a name="GNUTLS-E-LZO-INIT-FAILED:CAPS"></a><h3>GNUTLS_E_LZO_INIT_FAILED</h3>
10725
8894
<pre class="programlisting">#define GNUTLS_E_LZO_INIT_FAILED -85
10726
8895
</pre>
10727
8896
<p>
10729
8898
</div>
10730
8899
<hr>
10731
8900
<div class="refsect2" title="GNUTLS_E_NO_COMPRESSION_ALGORITHMS">
10732
 
<a name="GNUTLS-E-NO-COMPRESSION-ALGORITHMS--CAPS"></a><h3>GNUTLS_E_NO_COMPRESSION_ALGORITHMS</h3>
 
8901
<a name="GNUTLS-E-NO-COMPRESSION-ALGORITHMS:CAPS"></a><h3>GNUTLS_E_NO_COMPRESSION_ALGORITHMS</h3>
10733
8902
<pre class="programlisting">#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86
10734
8903
</pre>
10735
8904
<p>
10737
8906
</div>
10738
8907
<hr>
10739
8908
<div class="refsect2" title="GNUTLS_E_NO_CIPHER_SUITES">
10740
 
<a name="GNUTLS-E-NO-CIPHER-SUITES--CAPS"></a><h3>GNUTLS_E_NO_CIPHER_SUITES</h3>
 
8909
<a name="GNUTLS-E-NO-CIPHER-SUITES:CAPS"></a><h3>GNUTLS_E_NO_CIPHER_SUITES</h3>
10741
8910
<pre class="programlisting">#define GNUTLS_E_NO_CIPHER_SUITES -87
10742
8911
</pre>
10743
8912
<p>
10745
8914
</div>
10746
8915
<hr>
10747
8916
<div class="refsect2" title="GNUTLS_E_OPENPGP_GETKEY_FAILED">
10748
 
<a name="GNUTLS-E-OPENPGP-GETKEY-FAILED--CAPS"></a><h3>GNUTLS_E_OPENPGP_GETKEY_FAILED</h3>
 
8917
<a name="GNUTLS-E-OPENPGP-GETKEY-FAILED:CAPS"></a><h3>GNUTLS_E_OPENPGP_GETKEY_FAILED</h3>
10749
8918
<pre class="programlisting">#define GNUTLS_E_OPENPGP_GETKEY_FAILED -88
10750
8919
</pre>
10751
8920
<p>
10753
8922
</div>
10754
8923
<hr>
10755
8924
<div class="refsect2" title="GNUTLS_E_PK_SIG_VERIFY_FAILED">
10756
 
<a name="GNUTLS-E-PK-SIG-VERIFY-FAILED--CAPS"></a><h3>GNUTLS_E_PK_SIG_VERIFY_FAILED</h3>
 
8925
<a name="GNUTLS-E-PK-SIG-VERIFY-FAILED:CAPS"></a><h3>GNUTLS_E_PK_SIG_VERIFY_FAILED</h3>
10757
8926
<pre class="programlisting">#define GNUTLS_E_PK_SIG_VERIFY_FAILED -89
10758
8927
</pre>
10759
8928
<p>
10761
8930
</div>
10762
8931
<hr>
10763
8932
<div class="refsect2" title="GNUTLS_E_ILLEGAL_SRP_USERNAME">
10764
 
<a name="GNUTLS-E-ILLEGAL-SRP-USERNAME--CAPS"></a><h3>GNUTLS_E_ILLEGAL_SRP_USERNAME</h3>
 
8933
<a name="GNUTLS-E-ILLEGAL-SRP-USERNAME:CAPS"></a><h3>GNUTLS_E_ILLEGAL_SRP_USERNAME</h3>
10765
8934
<pre class="programlisting">#define GNUTLS_E_ILLEGAL_SRP_USERNAME -90
10766
8935
</pre>
10767
8936
<p>
10769
8938
</div>
10770
8939
<hr>
10771
8940
<div class="refsect2" title="GNUTLS_E_SRP_PWD_PARSING_ERROR">
10772
 
<a name="GNUTLS-E-SRP-PWD-PARSING-ERROR--CAPS"></a><h3>GNUTLS_E_SRP_PWD_PARSING_ERROR</h3>
 
8941
<a name="GNUTLS-E-SRP-PWD-PARSING-ERROR:CAPS"></a><h3>GNUTLS_E_SRP_PWD_PARSING_ERROR</h3>
10773
8942
<pre class="programlisting">#define GNUTLS_E_SRP_PWD_PARSING_ERROR -91
10774
8943
</pre>
10775
8944
<p>
10777
8946
</div>
10778
8947
<hr>
10779
8948
<div class="refsect2" title="GNUTLS_E_NO_TEMPORARY_DH_PARAMS">
10780
 
<a name="GNUTLS-E-NO-TEMPORARY-DH-PARAMS--CAPS"></a><h3>GNUTLS_E_NO_TEMPORARY_DH_PARAMS</h3>
 
8949
<a name="GNUTLS-E-NO-TEMPORARY-DH-PARAMS:CAPS"></a><h3>GNUTLS_E_NO_TEMPORARY_DH_PARAMS</h3>
10781
8950
<pre class="programlisting">#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93
10782
8951
</pre>
10783
8952
<p>
10785
8954
</div>
10786
8955
<hr>
10787
8956
<div class="refsect2" title="GNUTLS_E_ASN1_ELEMENT_NOT_FOUND">
10788
 
<a name="GNUTLS-E-ASN1-ELEMENT-NOT-FOUND--CAPS"></a><h3>GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</h3>
 
8957
<a name="GNUTLS-E-ASN1-ELEMENT-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_ASN1_ELEMENT_NOT_FOUND</h3>
10789
8958
<pre class="programlisting">#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67
10790
8959
</pre>
10791
8960
<p>
10793
8962
</div>
10794
8963
<hr>
10795
8964
<div class="refsect2" title="GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND">
10796
 
<a name="GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND--CAPS"></a><h3>GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</h3>
 
8965
<a name="GNUTLS-E-ASN1-IDENTIFIER-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND</h3>
10797
8966
<pre class="programlisting">#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68
10798
8967
</pre>
10799
8968
<p>
10801
8970
</div>
10802
8971
<hr>
10803
8972
<div class="refsect2" title="GNUTLS_E_ASN1_DER_ERROR">
10804
 
<a name="GNUTLS-E-ASN1-DER-ERROR--CAPS"></a><h3>GNUTLS_E_ASN1_DER_ERROR</h3>
 
8973
<a name="GNUTLS-E-ASN1-DER-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_DER_ERROR</h3>
10805
8974
<pre class="programlisting">#define GNUTLS_E_ASN1_DER_ERROR -69
10806
8975
</pre>
10807
8976
<p>
10809
8978
</div>
10810
8979
<hr>
10811
8980
<div class="refsect2" title="GNUTLS_E_ASN1_VALUE_NOT_FOUND">
10812
 
<a name="GNUTLS-E-ASN1-VALUE-NOT-FOUND--CAPS"></a><h3>GNUTLS_E_ASN1_VALUE_NOT_FOUND</h3>
 
8981
<a name="GNUTLS-E-ASN1-VALUE-NOT-FOUND:CAPS"></a><h3>GNUTLS_E_ASN1_VALUE_NOT_FOUND</h3>
10813
8982
<pre class="programlisting">#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70
10814
8983
</pre>
10815
8984
<p>
10817
8986
</div>
10818
8987
<hr>
10819
8988
<div class="refsect2" title="GNUTLS_E_ASN1_GENERIC_ERROR">
10820
 
<a name="GNUTLS-E-ASN1-GENERIC-ERROR--CAPS"></a><h3>GNUTLS_E_ASN1_GENERIC_ERROR</h3>
 
8989
<a name="GNUTLS-E-ASN1-GENERIC-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_GENERIC_ERROR</h3>
10821
8990
<pre class="programlisting">#define GNUTLS_E_ASN1_GENERIC_ERROR -71
10822
8991
</pre>
10823
8992
<p>
10825
8994
</div>
10826
8995
<hr>
10827
8996
<div class="refsect2" title="GNUTLS_E_ASN1_VALUE_NOT_VALID">
10828
 
<a name="GNUTLS-E-ASN1-VALUE-NOT-VALID--CAPS"></a><h3>GNUTLS_E_ASN1_VALUE_NOT_VALID</h3>
 
8997
<a name="GNUTLS-E-ASN1-VALUE-NOT-VALID:CAPS"></a><h3>GNUTLS_E_ASN1_VALUE_NOT_VALID</h3>
10829
8998
<pre class="programlisting">#define GNUTLS_E_ASN1_VALUE_NOT_VALID -72
10830
8999
</pre>
10831
9000
<p>
10833
9002
</div>
10834
9003
<hr>
10835
9004
<div class="refsect2" title="GNUTLS_E_ASN1_TAG_ERROR">
10836
 
<a name="GNUTLS-E-ASN1-TAG-ERROR--CAPS"></a><h3>GNUTLS_E_ASN1_TAG_ERROR</h3>
 
9005
<a name="GNUTLS-E-ASN1-TAG-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_TAG_ERROR</h3>
10837
9006
<pre class="programlisting">#define GNUTLS_E_ASN1_TAG_ERROR -73
10838
9007
</pre>
10839
9008
<p>
10841
9010
</div>
10842
9011
<hr>
10843
9012
<div class="refsect2" title="GNUTLS_E_ASN1_TAG_IMPLICIT">
10844
 
<a name="GNUTLS-E-ASN1-TAG-IMPLICIT--CAPS"></a><h3>GNUTLS_E_ASN1_TAG_IMPLICIT</h3>
 
9013
<a name="GNUTLS-E-ASN1-TAG-IMPLICIT:CAPS"></a><h3>GNUTLS_E_ASN1_TAG_IMPLICIT</h3>
10845
9014
<pre class="programlisting">#define GNUTLS_E_ASN1_TAG_IMPLICIT -74
10846
9015
</pre>
10847
9016
<p>
10849
9018
</div>
10850
9019
<hr>
10851
9020
<div class="refsect2" title="GNUTLS_E_ASN1_TYPE_ANY_ERROR">
10852
 
<a name="GNUTLS-E-ASN1-TYPE-ANY-ERROR--CAPS"></a><h3>GNUTLS_E_ASN1_TYPE_ANY_ERROR</h3>
 
9021
<a name="GNUTLS-E-ASN1-TYPE-ANY-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_TYPE_ANY_ERROR</h3>
10853
9022
<pre class="programlisting">#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75
10854
9023
</pre>
10855
9024
<p>
10857
9026
</div>
10858
9027
<hr>
10859
9028
<div class="refsect2" title="GNUTLS_E_ASN1_SYNTAX_ERROR">
10860
 
<a name="GNUTLS-E-ASN1-SYNTAX-ERROR--CAPS"></a><h3>GNUTLS_E_ASN1_SYNTAX_ERROR</h3>
 
9029
<a name="GNUTLS-E-ASN1-SYNTAX-ERROR:CAPS"></a><h3>GNUTLS_E_ASN1_SYNTAX_ERROR</h3>
10861
9030
<pre class="programlisting">#define GNUTLS_E_ASN1_SYNTAX_ERROR -76
10862
9031
</pre>
10863
9032
<p>
10865
9034
</div>
10866
9035
<hr>
10867
9036
<div class="refsect2" title="GNUTLS_E_ASN1_DER_OVERFLOW">
10868
 
<a name="GNUTLS-E-ASN1-DER-OVERFLOW--CAPS"></a><h3>GNUTLS_E_ASN1_DER_OVERFLOW</h3>
 
9037
<a name="GNUTLS-E-ASN1-DER-OVERFLOW:CAPS"></a><h3>GNUTLS_E_ASN1_DER_OVERFLOW</h3>
10869
9038
<pre class="programlisting">#define GNUTLS_E_ASN1_DER_OVERFLOW -77
10870
9039
</pre>
10871
9040
<p>
10873
9042
</div>
10874
9043
<hr>
10875
9044
<div class="refsect2" title="GNUTLS_E_OPENPGP_UID_REVOKED">
10876
 
<a name="GNUTLS-E-OPENPGP-UID-REVOKED--CAPS"></a><h3>GNUTLS_E_OPENPGP_UID_REVOKED</h3>
 
9045
<a name="GNUTLS-E-OPENPGP-UID-REVOKED:CAPS"></a><h3>GNUTLS_E_OPENPGP_UID_REVOKED</h3>
10877
9046
<pre class="programlisting">#define GNUTLS_E_OPENPGP_UID_REVOKED -79
10878
9047
</pre>
10879
9048
<p>
10881
9050
</div>
10882
9051
<hr>
10883
9052
<div class="refsect2" title="GNUTLS_E_CERTIFICATE_ERROR">
10884
 
<a name="GNUTLS-E-CERTIFICATE-ERROR--CAPS"></a><h3>GNUTLS_E_CERTIFICATE_ERROR</h3>
 
9053
<a name="GNUTLS-E-CERTIFICATE-ERROR:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_ERROR</h3>
10885
9054
<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_ERROR -43
10886
9055
</pre>
10887
9056
<p>
10889
9058
</div>
10890
9059
<hr>
10891
9060
<div class="refsect2" title="GNUTLS_E_X509_CERTIFICATE_ERROR">
10892
 
<a name="GNUTLS-E-X509-CERTIFICATE-ERROR--CAPS"></a><h3>GNUTLS_E_X509_CERTIFICATE_ERROR</h3>
 
9061
<a name="GNUTLS-E-X509-CERTIFICATE-ERROR:CAPS"></a><h3>GNUTLS_E_X509_CERTIFICATE_ERROR</h3>
10893
9062
<pre class="programlisting">#define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR
10894
9063
</pre>
10895
9064
<p>
10897
9066
</div>
10898
9067
<hr>
10899
9068
<div class="refsect2" title="GNUTLS_E_CERTIFICATE_KEY_MISMATCH">
10900
 
<a name="GNUTLS-E-CERTIFICATE-KEY-MISMATCH--CAPS"></a><h3>GNUTLS_E_CERTIFICATE_KEY_MISMATCH</h3>
 
9069
<a name="GNUTLS-E-CERTIFICATE-KEY-MISMATCH:CAPS"></a><h3>GNUTLS_E_CERTIFICATE_KEY_MISMATCH</h3>
10901
9070
<pre class="programlisting">#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60
10902
9071
</pre>
10903
9072
<p>
10905
9074
</div>
10906
9075
<hr>
10907
9076
<div class="refsect2" title="GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE">
10908
 
<a name="GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE--CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</h3>
10909
 
<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61   /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */
 
9077
<a name="GNUTLS-E-UNSUPPORTED-CERTIFICATE-TYPE:CAPS"></a><h3>GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE</h3>
 
9078
<pre class="programlisting">#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */
10910
9079
</pre>
10911
9080
<p>
10912
9081
</p>
10913
9082
</div>
10914
9083
<hr>
10915
9084
<div class="refsect2" title="GNUTLS_E_X509_UNKNOWN_SAN">
10916
 
<a name="GNUTLS-E-X509-UNKNOWN-SAN--CAPS"></a><h3>GNUTLS_E_X509_UNKNOWN_SAN</h3>
 
9085
<a name="GNUTLS-E-X509-UNKNOWN-SAN:CAPS"></a><h3>GNUTLS_E_X509_UNKNOWN_SAN</h3>
10917
9086
<pre class="programlisting">#define GNUTLS_E_X509_UNKNOWN_SAN -62
10918
9087
</pre>
10919
9088
<p>
10921
9090
</div>
10922
9091
<hr>
10923
9092
<div class="refsect2" title="GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED">
10924
 
<a name="GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED--CAPS"></a><h3>GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</h3>
 
9093
<a name="GNUTLS-E-OPENPGP-FINGERPRINT-UNSUPPORTED:CAPS"></a><h3>GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED</h3>
10925
9094
<pre class="programlisting">#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94
10926
9095
</pre>
10927
9096
<p>
10929
9098
</div>
10930
9099
<hr>
10931
9100
<div class="refsect2" title="GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE">
10932
 
<a name="GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE--CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</h3>
 
9101
<a name="GNUTLS-E-X509-UNSUPPORTED-ATTRIBUTE:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE</h3>
10933
9102
<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95
10934
9103
</pre>
10935
9104
<p>
10937
9106
</div>
10938
9107
<hr>
10939
9108
<div class="refsect2" title="GNUTLS_E_UNKNOWN_HASH_ALGORITHM">
10940
 
<a name="GNUTLS-E-UNKNOWN-HASH-ALGORITHM--CAPS"></a><h3>GNUTLS_E_UNKNOWN_HASH_ALGORITHM</h3>
 
9109
<a name="GNUTLS-E-UNKNOWN-HASH-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_HASH_ALGORITHM</h3>
10941
9110
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96
10942
9111
</pre>
10943
9112
<p>
10945
9114
</div>
10946
9115
<hr>
10947
9116
<div class="refsect2" title="GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE">
10948
 
<a name="GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE--CAPS"></a><h3>GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</h3>
 
9117
<a name="GNUTLS-E-UNKNOWN-PKCS-CONTENT-TYPE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE</h3>
10949
9118
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97
10950
9119
</pre>
10951
9120
<p>
10953
9122
</div>
10954
9123
<hr>
10955
9124
<div class="refsect2" title="GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE">
10956
 
<a name="GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE--CAPS"></a><h3>GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</h3>
 
9125
<a name="GNUTLS-E-UNKNOWN-PKCS-BAG-TYPE:CAPS"></a><h3>GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE</h3>
10957
9126
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98
10958
9127
</pre>
10959
9128
<p>
10961
9130
</div>
10962
9131
<hr>
10963
9132
<div class="refsect2" title="GNUTLS_E_INVALID_PASSWORD">
10964
 
<a name="GNUTLS-E-INVALID-PASSWORD--CAPS"></a><h3>GNUTLS_E_INVALID_PASSWORD</h3>
 
9133
<a name="GNUTLS-E-INVALID-PASSWORD:CAPS"></a><h3>GNUTLS_E_INVALID_PASSWORD</h3>
10965
9134
<pre class="programlisting">#define GNUTLS_E_INVALID_PASSWORD -99
10966
9135
</pre>
10967
9136
<p>
10969
9138
</div>
10970
9139
<hr>
10971
9140
<div class="refsect2" title="GNUTLS_E_MAC_VERIFY_FAILED">
10972
 
<a name="GNUTLS-E-MAC-VERIFY-FAILED--CAPS"></a><h3>GNUTLS_E_MAC_VERIFY_FAILED</h3>
10973
 
<pre class="programlisting">#define GNUTLS_E_MAC_VERIFY_FAILED -100     /* for PKCS #12 MAC */
 
9141
<a name="GNUTLS-E-MAC-VERIFY-FAILED:CAPS"></a><h3>GNUTLS_E_MAC_VERIFY_FAILED</h3>
 
9142
<pre class="programlisting">#define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */
10974
9143
</pre>
10975
9144
<p>
10976
9145
</p>
10977
9146
</div>
10978
9147
<hr>
10979
9148
<div class="refsect2" title="GNUTLS_E_CONSTRAINT_ERROR">
10980
 
<a name="GNUTLS-E-CONSTRAINT-ERROR--CAPS"></a><h3>GNUTLS_E_CONSTRAINT_ERROR</h3>
 
9149
<a name="GNUTLS-E-CONSTRAINT-ERROR:CAPS"></a><h3>GNUTLS_E_CONSTRAINT_ERROR</h3>
10981
9150
<pre class="programlisting">#define GNUTLS_E_CONSTRAINT_ERROR -101
10982
9151
</pre>
10983
9152
<p>
10985
9154
</div>
10986
9155
<hr>
10987
9156
<div class="refsect2" title="GNUTLS_E_WARNING_IA_IPHF_RECEIVED">
10988
 
<a name="GNUTLS-E-WARNING-IA-IPHF-RECEIVED--CAPS"></a><h3>GNUTLS_E_WARNING_IA_IPHF_RECEIVED</h3>
 
9157
<a name="GNUTLS-E-WARNING-IA-IPHF-RECEIVED:CAPS"></a><h3>GNUTLS_E_WARNING_IA_IPHF_RECEIVED</h3>
10989
9158
<pre class="programlisting">#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102
10990
9159
</pre>
10991
9160
<p>
10993
9162
</div>
10994
9163
<hr>
10995
9164
<div class="refsect2" title="GNUTLS_E_WARNING_IA_FPHF_RECEIVED">
10996
 
<a name="GNUTLS-E-WARNING-IA-FPHF-RECEIVED--CAPS"></a><h3>GNUTLS_E_WARNING_IA_FPHF_RECEIVED</h3>
 
9165
<a name="GNUTLS-E-WARNING-IA-FPHF-RECEIVED:CAPS"></a><h3>GNUTLS_E_WARNING_IA_FPHF_RECEIVED</h3>
10997
9166
<pre class="programlisting">#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103
10998
9167
</pre>
10999
9168
<p>
11001
9170
</div>
11002
9171
<hr>
11003
9172
<div class="refsect2" title="GNUTLS_E_IA_VERIFY_FAILED">
11004
 
<a name="GNUTLS-E-IA-VERIFY-FAILED--CAPS"></a><h3>GNUTLS_E_IA_VERIFY_FAILED</h3>
 
9173
<a name="GNUTLS-E-IA-VERIFY-FAILED:CAPS"></a><h3>GNUTLS_E_IA_VERIFY_FAILED</h3>
11005
9174
<pre class="programlisting">#define GNUTLS_E_IA_VERIFY_FAILED -104
11006
9175
</pre>
11007
9176
<p>
11009
9178
</div>
11010
9179
<hr>
11011
9180
<div class="refsect2" title="GNUTLS_E_UNKNOWN_ALGORITHM">
11012
 
<a name="GNUTLS-E-UNKNOWN-ALGORITHM--CAPS"></a><h3>GNUTLS_E_UNKNOWN_ALGORITHM</h3>
 
9181
<a name="GNUTLS-E-UNKNOWN-ALGORITHM:CAPS"></a><h3>GNUTLS_E_UNKNOWN_ALGORITHM</h3>
11013
9182
<pre class="programlisting">#define GNUTLS_E_UNKNOWN_ALGORITHM -105
11014
9183
</pre>
11015
9184
<p>
11017
9186
</div>
11018
9187
<hr>
11019
9188
<div class="refsect2" title="GNUTLS_E_BASE64_ENCODING_ERROR">
11020
 
<a name="GNUTLS-E-BASE64-ENCODING-ERROR--CAPS"></a><h3>GNUTLS_E_BASE64_ENCODING_ERROR</h3>
 
9189
<a name="GNUTLS-E-BASE64-ENCODING-ERROR:CAPS"></a><h3>GNUTLS_E_BASE64_ENCODING_ERROR</h3>
11021
9190
<pre class="programlisting">#define GNUTLS_E_BASE64_ENCODING_ERROR -201
11022
9191
</pre>
11023
9192
<p>
11025
9194
</div>
11026
9195
<hr>
11027
9196
<div class="refsect2" title="GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY">
11028
 
<a name="GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY--CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</h3>
11029
 
<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202   /* obsolete */
 
9197
<a name="GNUTLS-E-INCOMPATIBLE-GCRYPT-LIBRARY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY</h3>
 
9198
<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */
11030
9199
</pre>
11031
9200
<p>
11032
9201
</p>
11033
9202
</div>
11034
9203
<hr>
11035
9204
<div class="refsect2" title="GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY">
11036
 
<a name="GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY--CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</h3>
 
9205
<a name="GNUTLS-E-INCOMPATIBLE-CRYPTO-LIBRARY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY</h3>
11037
9206
<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202
11038
9207
</pre>
11039
9208
<p>
11041
9210
</div>
11042
9211
<hr>
11043
9212
<div class="refsect2" title="GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY">
11044
 
<a name="GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY--CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</h3>
 
9213
<a name="GNUTLS-E-INCOMPATIBLE-LIBTASN1-LIBRARY:CAPS"></a><h3>GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY</h3>
11045
9214
<pre class="programlisting">#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203
11046
9215
</pre>
11047
9216
<p>
11049
9218
</div>
11050
9219
<hr>
11051
9220
<div class="refsect2" title="GNUTLS_E_OPENPGP_KEYRING_ERROR">
11052
 
<a name="GNUTLS-E-OPENPGP-KEYRING-ERROR--CAPS"></a><h3>GNUTLS_E_OPENPGP_KEYRING_ERROR</h3>
 
9221
<a name="GNUTLS-E-OPENPGP-KEYRING-ERROR:CAPS"></a><h3>GNUTLS_E_OPENPGP_KEYRING_ERROR</h3>
11053
9222
<pre class="programlisting">#define GNUTLS_E_OPENPGP_KEYRING_ERROR -204
11054
9223
</pre>
11055
9224
<p>
11057
9226
</div>
11058
9227
<hr>
11059
9228
<div class="refsect2" title="GNUTLS_E_X509_UNSUPPORTED_OID">
11060
 
<a name="GNUTLS-E-X509-UNSUPPORTED-OID--CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_OID</h3>
 
9229
<a name="GNUTLS-E-X509-UNSUPPORTED-OID:CAPS"></a><h3>GNUTLS_E_X509_UNSUPPORTED_OID</h3>
11061
9230
<pre class="programlisting">#define GNUTLS_E_X509_UNSUPPORTED_OID -205
11062
9231
</pre>
11063
9232
<p>
11065
9234
</div>
11066
9235
<hr>
11067
9236
<div class="refsect2" title="GNUTLS_E_RANDOM_FAILED">
11068
 
<a name="GNUTLS-E-RANDOM-FAILED--CAPS"></a><h3>GNUTLS_E_RANDOM_FAILED</h3>
 
9237
<a name="GNUTLS-E-RANDOM-FAILED:CAPS"></a><h3>GNUTLS_E_RANDOM_FAILED</h3>
11069
9238
<pre class="programlisting">#define GNUTLS_E_RANDOM_FAILED -206
11070
9239
</pre>
11071
9240
<p>
11073
9242
</div>
11074
9243
<hr>
11075
9244
<div class="refsect2" title="GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR">
11076
 
<a name="GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR--CAPS"></a><h3>GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</h3>
 
9245
<a name="GNUTLS-E-BASE64-UNEXPECTED-HEADER-ERROR:CAPS"></a><h3>GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR</h3>
11077
9246
<pre class="programlisting">#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207
11078
9247
</pre>
11079
9248
<p>
11081
9250
</div>
11082
9251
<hr>
11083
9252
<div class="refsect2" title="GNUTLS_E_OPENPGP_SUBKEY_ERROR">
11084
 
<a name="GNUTLS-E-OPENPGP-SUBKEY-ERROR--CAPS"></a><h3>GNUTLS_E_OPENPGP_SUBKEY_ERROR</h3>
 
9253
<a name="GNUTLS-E-OPENPGP-SUBKEY-ERROR:CAPS"></a><h3>GNUTLS_E_OPENPGP_SUBKEY_ERROR</h3>
11085
9254
<pre class="programlisting">#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208
11086
9255
</pre>
11087
9256
<p>
11089
9258
</div>
11090
9259
<hr>
11091
9260
<div class="refsect2" title="GNUTLS_E_CRYPTO_ALREADY_REGISTERED">
11092
 
<a name="GNUTLS-E-CRYPTO-ALREADY-REGISTERED--CAPS"></a><h3>GNUTLS_E_CRYPTO_ALREADY_REGISTERED</h3>
 
9261
<a name="GNUTLS-E-CRYPTO-ALREADY-REGISTERED:CAPS"></a><h3>GNUTLS_E_CRYPTO_ALREADY_REGISTERED</h3>
11093
9262
<pre class="programlisting">#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED -209
11094
9263
</pre>
11095
9264
<p>
11097
9266
</div>
11098
9267
<hr>
11099
9268
<div class="refsect2" title="GNUTLS_E_HANDSHAKE_TOO_LARGE">
11100
 
<a name="GNUTLS-E-HANDSHAKE-TOO-LARGE--CAPS"></a><h3>GNUTLS_E_HANDSHAKE_TOO_LARGE</h3>
 
9269
<a name="GNUTLS-E-HANDSHAKE-TOO-LARGE:CAPS"></a><h3>GNUTLS_E_HANDSHAKE_TOO_LARGE</h3>
11101
9270
<pre class="programlisting">#define GNUTLS_E_HANDSHAKE_TOO_LARGE -210
11102
9271
</pre>
11103
9272
<p>
11105
9274
</div>
11106
9275
<hr>
11107
9276
<div class="refsect2" title="GNUTLS_E_UNIMPLEMENTED_FEATURE">
11108
 
<a name="GNUTLS-E-UNIMPLEMENTED-FEATURE--CAPS"></a><h3>GNUTLS_E_UNIMPLEMENTED_FEATURE</h3>
 
9277
<a name="GNUTLS-E-UNIMPLEMENTED-FEATURE:CAPS"></a><h3>GNUTLS_E_UNIMPLEMENTED_FEATURE</h3>
11109
9278
<pre class="programlisting">#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250
11110
9279
</pre>
11111
9280
<p>
11113
9282
</div>
11114
9283
<hr>
11115
9284
<div class="refsect2" title="GNUTLS_E_APPLICATION_ERROR_MAX">
11116
 
<a name="GNUTLS-E-APPLICATION-ERROR-MAX--CAPS"></a><h3>GNUTLS_E_APPLICATION_ERROR_MAX</h3>
 
9285
<a name="GNUTLS-E-APPLICATION-ERROR-MAX:CAPS"></a><h3>GNUTLS_E_APPLICATION_ERROR_MAX</h3>
11117
9286
<pre class="programlisting">#define GNUTLS_E_APPLICATION_ERROR_MAX -65000
11118
9287
</pre>
11119
9288
<p>
11121
9290
</div>
11122
9291
<hr>
11123
9292
<div class="refsect2" title="GNUTLS_E_APPLICATION_ERROR_MIN">
11124
 
<a name="GNUTLS-E-APPLICATION-ERROR-MIN--CAPS"></a><h3>GNUTLS_E_APPLICATION_ERROR_MIN</h3>
 
9293
<a name="GNUTLS-E-APPLICATION-ERROR-MIN:CAPS"></a><h3>GNUTLS_E_APPLICATION_ERROR_MIN</h3>
11125
9294
<pre class="programlisting">#define GNUTLS_E_APPLICATION_ERROR_MIN -65500
11126
9295
</pre>
11127
9296
<p>
11131
9300
</div>
11132
9301
<div class="footer">
11133
9302
<hr>
11134
 
          Generated by GTK-Doc V1.11</div>
 
9303
          Generated by GTK-Doc V1.14</div>
11135
9304
</body>
11136
 
</html>
 
9305
</html>
 
 
b'\\ No newline at end of file'