Man Linux: Main Page and Category List

NAME

       gnutls_global_init - initialize the global data to defaults.

SYNOPSIS

       #include <gnutls/gnutls.h>

       int gnutls_global_init( void);

ARGUMENTS

        void

DESCRIPTION

       This  function  initializes  the global data to defaults.  Every gnutls
       application has a global data which holds common parameters  shared  by
       gnutls session structures.  You should call gnutls_global_deinit() when
       gnutls usage is no longer needed

       Note that this function will also initialize libgcrypt, if it  has  not
       been  initialized  before.   Thus  if  you  want to manually initialize
       libgcrypt you must do it before calling this function.  This is  useful
       in cases you want to disable libgcrypt’s internal lockings etc.

       This     function    increment    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.

       Note!   This  function  is  not  thread safe.  If two threads call this
       function simultaneously, they can cause a  race  between  checking  the
       global counter and incrementing it, causing both threads to execute the
       library initialization code.  That would lead to  a  memory  leak.   To
       handle this, your application could invoke this function after aquiring
       a thread mutex.  To ignore the potential memory leak is also an option.

RETURNS

       On  success,  GNUTLS_E_SUCCESS  (zero)  is returned, otherwise an error
       code is returned.

REPORTING BUGS

       Report   bugs   to    <bug-gnutls@gnu.org>.     GnuTLS    home    page:
       http://www.gnu.org/software/gnutls/  General  help  using GNU software:
       http://www.gnu.org/gethelp/

COPYRIGHT

       Copyright © 2008 Free Software Foundation.
       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  info  and gnutls programs are properly installed at your site,
       the command

              info gnutls

       should give you access to the complete manual.