.\" generated by cd2nroff 0.1 from curl_multi_init.md
.TH curl_multi_init 3 "2024-09-18" libcurl
.SH NAME
curl_multi_init \- create a multi handle
.SH SYNOPSIS
.nf
#include <curl/curl.h>

CURLM *curl_multi_init();
.fi
.SH DESCRIPTION
This function returns a pointer to a \fICURLM\fP 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
\fIcurl_multi_cleanup(3)\fP when the operation is complete.
.SH PROTOCOLS
This functionality affects all supported protocols
.SH EXAMPLE
.nf
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);
}
.fi
.SH AVAILABILITY
Added in curl 7.9.6
.SH RETURN VALUE
If this function returns NULL, something went wrong and you cannot use the
other curl functions.
.SH SEE ALSO
.BR curl_easy_init (3),
.BR curl_global_init (3),
.BR curl_multi_add_handle (3),
.BR curl_multi_cleanup (3),
.BR curl_multi_get_handles (3)
