gnutls_session_supplemental_register — API function


#include <gnutls/gnutls.h>

int gnutls_session_supplemental_register(gnutls_session_t session, const char * name, gnutls_supplemental_data_format_type_t type, gnutls_supp_recv_func recv_func, gnutls_supp_send_func send_func, unsigned flags);


gnutls_session_t session

the session for which this will be registered

const char * name

the name of the supplemental data to register

gnutls_supplemental_data_format_type_t type

the type of the supplemental data format

gnutls_supp_recv_func recv_func

the function to receive the data

gnutls_supp_send_func send_func

the function to send the data

unsigned 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  type must be an unassigned type in gnutls_supplemental_data_format_type_t.

If the type is already registered or handled by GnuTLS internally 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.


GNUTLS_E_SUCCESS on success, otherwise a negative error code.



Reporting Bugs

Report bugs to <>.
Home page:

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit


3.6.9 gnutls