gnutls_ext_register3
Api function
Usage
#include <gnutls/gnutls.h>
int gnutls_ext_register(const char * name, int id, gnutls_ext_parse_type_t parse_point, 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_point
-
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
Overview
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
Releases
7 releases since Debian 6.0 (Squeeze); the text changed 6 times.