xref: /curl/docs/libcurl/curl_mime_addpart.md (revision b935fd4a)
1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: curl_mime_addpart
5Section: 3
6Source: libcurl
7See-also:
8  - curl_mime_data (3)
9  - curl_mime_data_cb (3)
10  - curl_mime_encoder (3)
11  - curl_mime_filedata (3)
12  - curl_mime_filename (3)
13  - curl_mime_headers (3)
14  - curl_mime_init (3)
15  - curl_mime_name (3)
16  - curl_mime_subparts (3)
17  - curl_mime_type (3)
18Protocol:
19  - HTTP
20  - IMAP
21  - SMTP
22---
23
24# NAME
25
26curl_mime_addpart - append a new empty part to a mime structure
27
28# SYNOPSIS
29
30~~~c
31#include <curl/curl.h>
32
33curl_mimepart *curl_mime_addpart(curl_mime *mime);
34~~~
35
36# DESCRIPTION
37
38curl_mime_addpart(3) creates and appends a new empty part to the given
39mime structure and returns a handle to it. The returned part handle can
40subsequently be populated using functions from the mime API.
41
42*mime* is the handle of the mime structure in which the new part must be
43appended.
44
45# EXAMPLE
46
47~~~c
48int main(void)
49{
50  curl_mime *mime;
51  curl_mimepart *part;
52
53  CURL *curl = curl_easy_init();
54  if(curl) {
55    /* create a mime handle */
56    mime = curl_mime_init(curl);
57
58    /* add a part */
59    part = curl_mime_addpart(mime);
60
61    /* continue and set name + data to the part */
62    curl_mime_data(part, "This is the field data", CURL_ZERO_TERMINATED);
63    curl_mime_name(part, "data");
64  }
65}
66~~~
67
68# AVAILABILITY
69
70As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
71
72# RETURN VALUE
73
74A mime part structure handle, or NULL upon failure.
75