gnutls_ext_register man page

gnutls_ext_register — API function

Synopsis

#include <gnutls/gnutls.h>

int gnutls_ext_register(const char * name, int type, 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 type
the numeric 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().

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: http://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

http://www.gnutls.org/manual/

Info

3.5.5 gnutls gnutls