



@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
