1--- 2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 3SPDX-License-Identifier: curl 4Title: curl_mime_data 5Section: 3 6Source: libcurl 7See-also: 8 - curl_mime_addpart (3) 9 - curl_mime_data_cb (3) 10 - curl_mime_name (3) 11 - curl_mime_type (3) 12Protocol: 13 - HTTP 14 - IMAP 15 - SMTP 16--- 17 18# NAME 19 20curl_mime_data - set a mime part's body data from memory 21 22# SYNOPSIS 23 24~~~c 25#include <curl/curl.h> 26 27CURLcode curl_mime_data(curl_mimepart *part, const char *data, 28 size_t datasize); 29~~~ 30 31# DESCRIPTION 32 33curl_mime_data(3) sets a mime part's body content from memory data. 34 35*part* is the mime part to assign contents to, created with 36curl_mime_addpart(3). 37 38*data* points to the data that gets copied by this function. The storage 39may safely be reused after the call. 40 41*datasize* is the number of bytes *data* points to. It can be set to 42*CURL_ZERO_TERMINATED* to indicate *data* is a null-terminated 43character string. 44 45Setting a part's contents multiple times is valid: only the value set by the 46last call is retained. It is possible to unassign part's contents by setting 47*data* to NULL. 48 49Setting large data is memory consuming: one might consider using 50curl_mime_data_cb(3) in such a case. 51 52# EXAMPLE 53 54~~~c 55int main(void) 56{ 57 curl_mime *mime; 58 curl_mimepart *part; 59 60 CURL *curl = curl_easy_init(); 61 if(curl) { 62 /* create a mime handle */ 63 mime = curl_mime_init(curl); 64 65 /* add a part */ 66 part = curl_mime_addpart(mime); 67 68 /* add data to the part */ 69 curl_mime_data(part, "raw contents to send", CURL_ZERO_TERMINATED); 70 } 71} 72~~~ 73 74# AVAILABILITY 75 76As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0. 77 78# RETURN VALUE 79 80CURLE_OK or a CURL error code upon failure. 81