## NAME

         curl_global_init - Global libcurl initialisation

## SYNOPSIS

         #include <curl/curl.h>

         CURLcode curl_global_init(long flags);

## DESCRIPTION

         This function should only be called once (no matter how many
         threads or libcurl sessions that'll be used) by every appli
         cation that uses libcurl.

         If  this function hasn't been invoked when curl_easy_init is
         called, it will be done automatically by libcurl.

         The flags option is a bit pattern that tells  libcurl  exact
         what  features  to init, as described below. Set the desired
         bits by ORing the values together.

         You must however always use  the  curl_global_cleanup  func
         tion,  as  that  cannot  be  called automatically for you by
         libcurl.

         Calling this function  more  than  once  will  cause  unpre
         dictable results.

         This function was added in libcurl 7.8.

## FLAGS

         CURL_GLOBAL_ALL
              Initialize  everything  possible.  This  sets all known
              bits.

         CURL_GLOBAL_SSL
              Initialize SSL

         CURL_GLOBAL_WIN32
              Initialize  the  Win32  socket  libraries.  (added   in
              libcurl 7.8.1)

         CURL_GLOBAL_NOTHING
              Initialise nothing extra. This sets no bit.

## RETURN VALUE

         If  this function returns non-zero, something went wrong and
         you cannot use the other curl functions.

## SEE ALSO

         curl_global_cleanup(3),

## BUGS

         None.