@deftypefun {int} {gnutls_server_name_set} (gnutls_session_t @var{session}, gnutls_server_name_type_t @var{type}, const void * @var{name}, size_t @var{name_length}) @var{session}: is a @code{gnutls_session_t} type. @var{type}: specifies the indicator type @var{name}: is a string that contains the server name. @var{name_length}: holds the length of name excluding the terminating null byte This function is to be used by clients that want to inform (via a TLS extension mechanism) the server of the name they connected to. This should be used by clients that connect to servers that do virtual hosting. The value of @code{name} depends on the @code{type} type. In case of @code{GNUTLS_NAME_DNS} , a UTF-8 null-terminated domain name string, without the trailing dot, is expected. IPv4 or IPv6 addresses are not permitted to be set by this function. If the function is called with a name of @code{name_length} zero it will clear all server names set. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error code is returned. @end deftypefun