



@deftypefun {void} {gnutls_psk_set_client_credentials_function2} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function2 * @var{func})
@var{cred}: is a @code{gnutls_psk_server_credentials_t}  type.

@var{func}: is the callback function

This function can be used to set a callback to retrieve the username and
password for client PSK authentication.
The callback's function form is:
int (*callback)(gnutls_session_t, gnutls_datum_t* username,
gnutls_datum_t* key);

This callback function has the same semantics as that of @code{gnutls_psk_set_client_credentials_function()} ,
but it allows non-string usernames to be used.

The  @code{username} and  @code{key} ->data must be allocated using @code{gnutls_malloc()} .
The  @code{username} should be an ASCII string or UTF-8
string. In case of a UTF-8 string it is recommended to be following
the PRECIS framework for usernames (rfc8265).

The callback function will be called once per handshake.

The callback function should return 0 on success.
-1 indicates an error.
@end deftypefun
