



@deftypefun {int} {gnutls_alpn_set_protocols} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{protocols}, unsigned @var{protocols_size}, unsigned int @var{flags})
@var{session}: is a @code{gnutls_session_t}  type.

@var{protocols}: is the protocol names to add.

@var{protocols_size}: the number of protocols to add.

@var{flags}: zero or @code{GNUTLS_ALPN_} *

This function is to be used by both clients and servers, to declare
the supported ALPN protocols, which are used during negotiation with peer.

If @code{GNUTLS_ALPN_MAND}  is specified the connection will be aborted
if no matching ALPN protocol is found.

@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned,
otherwise a negative error code is returned.

Since 3.2.0
@end deftypefun
