curl_mime_subparts(3) Introduction to Library Functions

NAME


curl_mime_subparts - set sub-parts of a multipart mime part

SYNOPSIS


#include <curl/curl.h>

CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts);

DESCRIPTION


curl_mime_subparts(3) sets a multipart mime part's content from a
mime structure.

part is a handle to the multipart part.

subparts is a mime structure handle holding the sub-parts. After
curl_mime_subparts(3) 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's contents multiple times is valid: only the value set
by the last call is retained. It is possible to unassign previous
part's contents by setting subparts to NULL.

PROTOCOLS


This functionality affects http, imap and smtp

EXAMPLE



static char *inline_html = "<title>example</title>";
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);
}
}

AVAILABILITY


Added in curl 7.56.0

RETURN VALUE


This function returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error
occurred, see libcurl-errors(3). If CURLOPT_ERRORBUFFER(3) was set
with curl_easy_setopt(3) there can be an error message stored in the
error buffer when non-zero is returned.

SEE ALSO


curl_mime_addpart(3), curl_mime_init(3)

libcurl 2025-02-25 curl_mime_subparts(3)

tribblix@gmail.com :: GitHub :: Privacy