



@deftypefun {int} {gnutls_session_supplemental_register} (gnutls_session_t @var{session}, const char * @var{name}, gnutls_supplemental_data_format_type_t @var{type}, gnutls_supp_recv_func @var{recv_func}, gnutls_supp_send_func @var{send_func}, unsigned @var{flags})
@var{session}: the session for which this will be registered

@var{name}: the name of the supplemental data to register

@var{type}: the type of the supplemental data format

@var{recv_func}: the function to receive the data

@var{send_func}: the function to send the data

@var{flags}: must be zero

This function will register a new supplemental data type (rfc4680).
The registered supplemental functions will be used for that specific
session. The provided  @code{type} must be an unassigned type in
@code{gnutls_supplemental_data_format_type_t} .

If the type is already registered or handled by GnuTLS internally
@code{GNUTLS_E_ALREADY_REGISTERED}  will be returned.

As supplemental data are not defined under TLS 1.3, this function will
disable TLS 1.3 support for the given session.

@strong{Returns:} @code{GNUTLS_E_SUCCESS}  on success, otherwise a negative error code.

@strong{Since:} 3.5.5
@end deftypefun
