.\" generated by cd2nroff 0.1 from curl_multi_init.md .TH curl_multi_init 3 "2024-08-02" libcurl .SH NAME curl_multi_init \- create a multi handle .SH SYNOPSIS .nf #include 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)