Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curl_mime_subparts(3)	   Library Functions Manual	 curl_mime_subparts(3)

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-06-03		 curl_mime_subparts(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curl_mime_subparts&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help