Provided by: gnutls-doc_3.5.18-1ubuntu1.6_all bug

NAME

       gnutls_session_ext_register - API function

SYNOPSIS

       #include <gnutls/gnutls.h>

       int  gnutls_session_ext_register(gnutls_session_t  session,  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, unsigned flags);

ARGUMENTS

       gnutls_session_t session
                   the session for which this extension will be set

       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

       unsigned flags
                   must be zero or flags from gnutls_ext_flags_t

DESCRIPTION

       This function will register a new extension type. The extension will be only usable within
       the  registered  session.   If   the   extension   type   is   already   registered   then
       GNUTLS_E_ALREADY_REGISTERED      will      be      returned,      unless      the     flag
       GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL is specified. The latter flag when specified can be used
       to  override  certain  extensions  introduced  after  3.5.12. It is expected to be used by
       applications which handle custom extensions that are not currently  supported  in  GnuTLS,
       but direct support for them may be added in the future.

       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().

RETURNS

       GNUTLS_E_SUCCESS on success, otherwise a negative error code.

SINCE

       3.5.5

REPORTING BUGS

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

COPYRIGHT

       Copyright © 2001-2022 Free Software Foundation, Inc., and others.
       Copying and distribution of this file, with or without modification, are permitted in  any
       medium without royalty provided the copyright notice and this notice are preserved.

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/