1 .\" You can view this file with:
3 .\" $Id: curl_global_init.3,v 1.6 2006-07-26 22:19:42 bagder Exp $
5 .TH curl_global_init 3 "11 May 2004" "libcurl 7.12" "libcurl Manual"
7 curl_global_init - Global libcurl initialisation
9 .B #include <curl/curl.h>
11 .BI "CURLcode curl_global_init(long " flags ");"
14 This function sets up the program environment that libcurl needs. Think of it
15 as an extension of the library loader.
17 This function must be called at least once within a program (a program is all
18 the code that shares a memory space) before the program calls any other
19 function in libcurl. The environment it sets up is constant for the life of
20 the program and is the same for every program, so multiple calls have the same
23 The flags option is a bit pattern that tells libcurl exactly what features to
24 init, as described below. Set the desired bits by ORing the values together.
25 In normal operation, you must specify CURL_GLOBAL_ALL. Don't use any other
26 value unless you are familiar with and mean to control internal operations of
29 \fBThis function is not thread safe.\fP You must not call it when any other
30 thread in the program (i.e. a thread sharing the same memory) is running.
31 This doesn't just mean no other thread that is using libcurl. Because
32 \fIcurl_global_init()\fP calls functions of other libraries that are similarly
33 thread unsafe, it could conflict with any other thread that uses these other
36 See the description in \fBlibcurl\fP(3) of global environment requirements for
37 details of how to use this function.
42 Initialize everything possible. This sets all known bits.
48 Initialize the Win32 socket libraries.
50 .B CURL_GLOBAL_NOTHING
51 Initialise nothing extra. This sets no bit.
53 If this function returns non-zero, something went wrong and you cannot use the
56 .BR curl_global_init_mem "(3), "
57 .BR curl_global_cleanup "(3), "
58 .BR curl_easy_init "(3) "