gnutls_ext_register(3)

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.

  1. 6.0
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13
  7. Arch

Reporting bugs

Report bugs to <[email protected]>.
Home page: https://www.gnutls.org

From gnutls 3.8.13-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.