.\" generated by cd2nroff 0.1 from curl_mime_subparts.md .TH curl_mime_subparts 3 "2024-07-29" libcurl .SH NAME curl_mime_subparts \- set sub\-parts of a multipart mime part .SH SYNOPSIS .nf #include CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts); .fi .SH DESCRIPTION \fIcurl_mime_subparts(3)\fP sets a multipart mime part\(aqs content from a mime structure. \fIpart\fP is a handle to the multipart part. \fIsubparts\fP is a mime structure handle holding the sub\-parts. After \fIcurl_mime_subparts(3)\fP succeeds, the mime structure handle belongs to the multipart part and must not be freed explicitly. It may however be updated by subsequent calls to mime API functions. Setting a part\(aqs contents multiple times is valid: only the value set by the last call is retained. It is possible to unassign previous part\(aqs contents by setting \fIsubparts\fP to NULL. .SH PROTOCOLS This functionality affects http, imap and smtp .SH EXAMPLE .nf static char *inline_html = "example"; static char *inline_text = "once upon the time"; int main(void) { CURL *curl = curl_easy_init(); if(curl) { struct curl_slist *slist; /* The inline part is an alternative proposing the html and the text versions of the email. */ curl_mime *alt = curl_mime_init(curl); curl_mimepart *part; /* HTML message. */ part = curl_mime_addpart(alt); curl_mime_data(part, inline_html, CURL_ZERO_TERMINATED); curl_mime_type(part, "text/html"); /* Text message. */ part = curl_mime_addpart(alt); curl_mime_data(part, inline_text, CURL_ZERO_TERMINATED); /* Create the inline part. */ part = curl_mime_addpart(alt); curl_mime_subparts(part, alt); curl_mime_type(part, "multipart/alternative"); slist = curl_slist_append(NULL, "Content-Disposition: inline"); curl_mime_headers(part, slist, 1); } } .fi .SH AVAILABILITY Added in curl 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_init (3)