gnutls_supplemental_register — API function


#include <gnutls/gnutls.h>

int gnutls_supplemental_register(const char * name, gnutls_supplemental_data_format_type_t type, gnutls_supp_recv_func recv_func, gnutls_supp_send_func send_func);


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


This function will register a new supplemental data type (rfc4680). The registered data will remain until gnutls_global_deinit() is called. 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.

This function is not thread safe. As supplemental data are not defined under TLS 1.3, this function will disable TLS 1.3 support globally.


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