curl_global_init(3)

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 application that uses libcurl. If this function hasn't been invoked when curl_easy_init(3) is called, it will be done automatically by libcurl. It is adviced that you do not rely on this automatic call, but instead call curl_global_init(3) properly. 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(3) function, as that cannot be called automatically for you by libcurl. Calling this function more than once will cause unpredictable results. If that is not enough, calling this function from more than one thread may also cause unpredictable results.

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.

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_init_mem(3), curl_global_cleanup(3), curl_easy_init(3)