gnutls_global_init − API function


);int gnutls_global_init( void


This function performs any required precalculations, detects
the supported CPU capabilities and initializes the
underlying cryptographic backend. In order to free any
resources taken by this call you should
gnutls_global_deinit() when gnutls usage is no longer

This function increments a global counter, so that
gnutls_global_deinit() only releases resources when it has
been called as many times as gnutls_global_init().  This is
useful when GnuTLS is used by more than one library in an
application.  This function can be called many times, but
will only do something the first time.

Since GnuTLS 3.3.0 this function is automatically called on
library constructor. Since the same version this function is
also thread safe.  The automatic initialization can be
avoided if the environment variable GNUTLS_NO_EXPLICIT_INIT
is set to be 1.

A subsequent call of this function if the initial has failed
will return the same error code.

On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a
negative error code is returned.

Report bugs to <>.
Home page:

Copyright © 2001‐2016 Free Software Foundation, Inc., and
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.

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