gnutls_ext_register — API function

Synopsis

#include <gnutls/gnutls.h>

int gnutls_ext_register(const char * name, int id, gnutls_ext_parse_type_t parse_type, gnutls_ext_recv_func recv_func, gnutls_ext_send_func send_func, gnutls_ext_deinit_data_func deinit_func, gnutls_ext_pack_func pack_func, gnutls_ext_unpack_func unpack_func);

Arguments

const char * name

the name of the extension to register

int id

the numeric TLS id of the extension

gnutls_ext_parse_type_t parse_type

the parse type of the extension (see gnutls_ext_parse_type_t)

gnutls_ext_recv_func recv_func

a function to receive the data

gnutls_ext_send_func send_func

a function to send the data

gnutls_ext_deinit_data_func deinit_func

a function deinitialize any private data

gnutls_ext_pack_func pack_func

a function which serializes the extension's private data (used on session packing for resumption)

gnutls_ext_unpack_func unpack_func

a function which will deserialize the extension's private data

Description

This function will register a new extension type. The extension will remain registered until gnutls_global_deinit() is called. If the extension type is already registered then GNUTLS_E_ALREADY_REGISTERED will be returned.

Each registered extension can store temporary data into the gnutls_session_t structure using gnutls_ext_set_data(), and they can be retrieved using gnutls_ext_get_data().

Any extensions registered with this function are valid for the client and TLS1.2 server hello (or encrypted extensions for TLS1.3).

This function is not thread safe.

Returns

GNUTLS_E_SUCCESS on success, otherwise a negative error code.

Since

3.4.0

Reporting Bugs

Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org

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

https://www.gnutls.org/manual/

Info

3.6.9 gnutls