aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/curl_multi_init.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libcurl/curl_multi_init.md')
-rw-r--r--docs/libcurl/curl_multi_init.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/docs/libcurl/curl_multi_init.md b/docs/libcurl/curl_multi_init.md
new file mode 100644
index 000000000..0e91b57c1
--- /dev/null
+++ b/docs/libcurl/curl_multi_init.md
@@ -0,0 +1,57 @@
+---
+c: Copyright (C) Daniel Stenberg, <daniel.se>, et al.
+SPDX-License-Identifier: curl
+Title: curl_multi_init
+Section: 3
+Source: libcurl
+See-also:
+ - curl_easy_init (3)
+ - curl_global_init (3)
+ - curl_multi_add_handle (3)
+ - curl_multi_cleanup (3)
+ - curl_multi_get_handles (3)
+---
+
+# NAME
+
+curl_multi_init - create a multi handle
+
+# SYNOPSIS
+
+~~~c
+#include <curl/curl.h>
+
+CURLM *curl_multi_init();
+~~~
+
+# DESCRIPTION
+
+This function returns a pointer to a *CURLM* handle to be used as input to
+all the other multi-functions, sometimes referred to as a multi handle in some
+places in the documentation. This init call MUST have a corresponding call to
+curl_multi_cleanup(3) when the operation is complete.
+
+# EXAMPLE
+
+~~~c
+int main(void)
+{
+ /* init a multi stack */
+ CURLM *multi = curl_multi_init();
+ CURL *curl = curl_easy_init();
+ CURL *curl2 = curl_easy_init();
+
+ /* add individual transfers */
+ curl_multi_add_handle(multi, curl);
+ curl_multi_add_handle(multi, curl2);
+}
+~~~
+
+# AVAILABILITY
+
+Added in 7.9.6
+
+# RETURN VALUE
+
+If this function returns NULL, something went wrong and you cannot use the
+other curl functions.