summaryrefslogtreecommitdiffstats
path: root/doc/functions/gnutls_credentials_set
blob: aabbbb0ac67f15379629fb7e872cf6c2b3704eda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@deftypefun {int} {gnutls_credentials_set} (gnutls_session_t @var{session}, gnutls_credentials_type_t @var{type}, void * @var{cred})
@var{session}: is a @code{gnutls_session_t}  type.

@var{type}: is the type of the credentials

@var{cred}: the credentials to set

Sets the needed credentials for the specified type.  E.g. username,
password - or public and private keys etc.  The  @code{cred} parameter is
a structure that depends on the specified type and on the current
session (client or server).

In order to minimize memory usage, and share credentials between
several threads gnutls keeps a pointer to cred, and not the whole
cred structure.  Thus you will have to keep the structure allocated
until you call @code{gnutls_deinit()} .

For @code{GNUTLS_CRD_ANON} ,  @code{cred} should be
@code{gnutls_anon_client_credentials_t}  in case of a client.  In case of
a server it should be @code{gnutls_anon_server_credentials_t} .

For @code{GNUTLS_CRD_SRP} ,  @code{cred} should be @code{gnutls_srp_client_credentials_t} 
in case of a client, and @code{gnutls_srp_server_credentials_t} , in case
of a server.

For @code{GNUTLS_CRD_CERTIFICATE} ,  @code{cred} should be
@code{gnutls_certificate_credentials_t} .

@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned,
otherwise a negative error code is returned.
@end deftypefun