.\" generated by cd2nroff 0.1 from curl_mime_data.md .TH curl_mime_data 3 "2024-04-19" libcurl .SH NAME curl_mime_data \- set a mime part\(aqs body data from memory .SH SYNOPSIS .nf #include CURLcode curl_mime_data(curl_mimepart *part, const char *data, size_t datasize); .fi .SH DESCRIPTION \fIcurl_mime_data(3)\fP sets a mime part\(aqs body content from memory data. \fIpart\fP is the mime part to assign contents to, created with \fIcurl_mime_addpart(3)\fP. \fIdata\fP points to the data that gets copied by this function. The storage may safely be reused after the call. \fIdatasize\fP is the number of bytes \fIdata\fP points to. It can be set to \fICURL_ZERO_TERMINATED\fP to indicate \fIdata\fP is a null\-terminated character string. Setting a part\(aqs contents multiple times is valid: only the value set by the last call is retained. It is possible to unassign part\(aqs contents by setting \fIdata\fP to NULL. Setting large data is memory consuming: one might consider using \fIcurl_mime_data_cb(3)\fP in such a case. .SH PROTOCOLS HTTP, IMAP and SMTP .SH EXAMPLE .nf int main(void) { curl_mime *mime; curl_mimepart *part; CURL *curl = curl_easy_init(); if(curl) { /* create a mime handle */ mime = curl_mime_init(curl); /* add a part */ part = curl_mime_addpart(mime); /* add data to the part */ curl_mime_data(part, "raw contents to send", CURL_ZERO_TERMINATED); } } .fi .SH AVAILABILITY As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0. .SH RETURN VALUE CURLE_OK or a CURL error code upon failure. .SH SEE ALSO .BR curl_mime_addpart (3), .BR curl_mime_data_cb (3), .BR curl_mime_name (3), .BR curl_mime_type (3)