Remove the PROTOCOLS section from the source files completely and instead generate them based on the header data in the curldown files. It also generates TLS backend information for options marked for TLS as protocol. Closes #13175
60 lines
1.1 KiB
Markdown
60 lines
1.1 KiB
Markdown
---
|
|
c: Copyright (C) Daniel Stenberg, <daniel@haxx.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)
|
|
Protocol:
|
|
- All
|
|
---
|
|
|
|
# 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.
|