gnutls_global_init (3) - Linux Manuals

gnutls_global_init: API function


gnutls_global_init - API function


#include <gnutls/gnutls.h>

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 needed.

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 only required in systems that do not support library constructors and static linking. This function also became thread safe.

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 <bugs [at]>.
Home page:


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