int gnutls_credentials_set(gnutls_session_t session, gnutls_credentials_type_t type, void * cred);
is a gnutls_session_t structure.
is the type of the credentials
void * cred
is a pointer to a structure.
Sets the needed credentials for the specified type. Eg username,
password - or public and private keys etc. The 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 gnutls_deinit().
For GNUTLS_CRD_ANON, cred should be
gnutls_anon_client_credentials_t in case of a client. In case of
a server it should be gnutls_anon_server_credentials_t.
For GNUTLS_CRD_SRP, cred should be gnutls_srp_client_credentials_t
in case of a client, and gnutls_srp_server_credentials_t, in case
of a server.
For GNUTLS_CRD_CERTIFICATE, cred should be
On success, GNUTLS_E_SUCCESS (zero) is returned,
otherwise an error code is returned.