@deftypefun {int} {gnutls_psk_set_client_credentials} (gnutls_psk_client_credentials_t @var{res}, const char * @var{username}, const gnutls_datum_t * @var{key}, gnutls_psk_key_flags @var{flags}) @var{res}: is a @code{gnutls_psk_client_credentials_t} type. @var{username}: is the user's zero-terminated userid @var{key}: is the user's key @var{flags}: indicate the format of the key, either @code{GNUTLS_PSK_KEY_RAW} or @code{GNUTLS_PSK_KEY_HEX} . This function sets the username and password, in a gnutls_psk_client_credentials_t type. Those will be used in PSK authentication. @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 key can be either in raw byte format or in Hex format (without the 0x prefix). @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @end deftypefun